sepgsql
基于SELinux标签的强制访问控制
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
sepgsql | - | SEC | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 7960 | sepgsql | 否 | 是 | 是 | 否 | 否 | 否 | - |
版本
| PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|
| - | - | - | - | - |
安装
提示:这是 PostgreSQL 内核自带的 contrib 扩展
用法
sepgsql 基于 SELinux 安全策略提供基于标签的强制访问控制(MAC)。它在 PostgreSQL 标准 SQL 权限之上增加了额外的安全检查层。
配置参数
| 参数 | 默认值 | 描述 |
|---|---|---|
sepgsql.permissive | off | 无论系统 SELinux 设置如何都启用宽容模式 |
sepgsql.debug_audit | off | 无论策略如何都强制记录所有可能的日志 |
函数
| 函数 | 返回类型 | 描述 |
|---|---|---|
sepgsql_getcon() | text | 获取当前客户端安全标签 |
sepgsql_setcon(text) | boolean | 将客户端域切换到新标签(NULL 恢复) |
sepgsql_mcstrans_in(text) | text | 将限定 MLS/MCS 范围转换为原始格式 |
sepgsql_mcstrans_out(text) | text | 将原始 MLS/MCS 范围转换为限定格式 |
sepgsql_restorecon(text) | boolean | 为数据库中所有对象设置初始安全标签 |
安全标签
可以为模式、表、列、序列、视图和函数分配安全标签:
SQL
动态域转换
SQL
可信过程
SQL
权限类别
DML 操作检查:db_table:{select|insert|update|delete} 和 db_column:{select|update|insert}。
DDL 操作检查:create、drop、setattr、add_name、remove_name。
模式访问需要:db_schema:search。