强制访问控制(Mandatory Access Control, MAC)是一种比传统自主访问控制(DAC)更严格的安全机制,它通过系统级策略限制用户对文件和目录的访问权限。以下是几种主流系统中设置MAC的方法:
检查SELinux状态:
sestatus
getenforce
启用/禁用SELinux:
setenforce 1
(强制模式) 或 setenforce 0
(宽松模式)/etc/selinux/config
文件设置文件安全上下文:
# 查看文件上下文
ls -Z /path/to/file
# 修改文件上下文
chcon -t httpd_sys_content_t /var/www/html/index.html
# 恢复默认上下文
restorecon -v /path/to/file
管理策略:
# 查看布尔值设置
getsebool -a
# 修改布尔值
setsebool -P httpd_can_network_connect on
检查状态:
apparmor_status
管理配置文件:
# 启用配置文件
aa-enforce /etc/apparmor.d/profile.name
# 禁用配置文件
aa-disable /etc/apparmor.d/profile.name
创建自定义配置文件:
aa-genprof
生成新配置文件/etc/apparmor.d/
目录下的配置文件macOS使用SIP(System Integrity Protection)和TCC(Transparency, Consent, and Control)框架:
系统完整性保护(SIP):
csrutil
命令管理csrutil enable
启用保护csrutil disable
禁用保护TCC权限管理:
tccutil
命令行工具Windows使用强制完整性控制(MIC):
查看文件完整性级别:
icacls 文件路径
设置完整性级别:
icacls 文件路径 /setintegritylevel (Low|Medium|High|System)
组策略设置:
gpedit.msc
配置软件限制策略/var/log/audit/audit.log
/var/log/syslog
setenforce 0
进行测试通过合理配置强制访问控制,可以显著提高系统安全性,防止未经授权的访问和权限提升攻击。