插件窝 干货文章 如何设置强制访问控制以限制用户对文件和目录的权限

如何设置强制访问控制以限制用户对文件和目录的权限

文件 设置 AppArmor 使用 1014    来源:    2025-04-16

强制访问控制(MAC)设置指南

强制访问控制(Mandatory Access Control, MAC)是一种比传统自主访问控制(DAC)更严格的安全机制,它通过系统级策略限制用户对文件和目录的访问权限。以下是几种主流系统中设置MAC的方法:

Linux系统(SELinux/AppArmor)

SELinux (Security-Enhanced Linux)

  1. 检查SELinux状态

    sestatus
    getenforce
    
  2. 启用/禁用SELinux

    • 临时修改:setenforce 1 (强制模式) 或 setenforce 0 (宽松模式)
    • 永久修改:编辑/etc/selinux/config文件
  3. 设置文件安全上下文

    # 查看文件上下文
    ls -Z /path/to/file
    
    # 修改文件上下文
    chcon -t httpd_sys_content_t /var/www/html/index.html
    
    # 恢复默认上下文
    restorecon -v /path/to/file
    
  4. 管理策略

    # 查看布尔值设置
    getsebool -a
    
    # 修改布尔值
    setsebool -P httpd_can_network_connect on
    

AppArmor

  1. 检查状态

    apparmor_status
    
  2. 管理配置文件

    # 启用配置文件
    aa-enforce /etc/apparmor.d/profile.name
    
    # 禁用配置文件
    aa-disable /etc/apparmor.d/profile.name
    
  3. 创建自定义配置文件

    • 使用aa-genprof生成新配置文件
    • 手动编辑/etc/apparmor.d/目录下的配置文件

macOS系统

macOS使用SIP(System Integrity Protection)和TCC(Transparency, Consent, and Control)框架:

  1. 系统完整性保护(SIP)

    • 在恢复模式下使用csrutil命令管理
    • csrutil enable 启用保护
    • csrutil disable 禁用保护
  2. TCC权限管理

    • 通过系统偏好设置 > 安全性与隐私 > 隐私选项卡管理
    • 或使用tccutil命令行工具

Windows系统

Windows使用强制完整性控制(MIC):

  1. 查看文件完整性级别

    icacls 文件路径
    
  2. 设置完整性级别

    icacls 文件路径 /setintegritylevel (Low|Medium|High|System)
    
  3. 组策略设置

    • 使用gpedit.msc配置软件限制策略
    • 设置路径规则、哈希规则或证书规则

最佳实践

  1. 最小权限原则:只授予必要的访问权限
  2. 定期审计:检查系统日志和权限设置
  3. 测试变更:在生产环境应用前充分测试
  4. 文档记录:记录所有MAC策略变更
  5. 组合使用:MAC应与DAC和其他安全措施结合使用

故障排除

  1. 权限被拒绝但DAC允许:检查MAC策略(SELinux/AppArmor)
  2. 查看审计日志
    • SELinux: /var/log/audit/audit.log
    • AppArmor: /var/log/syslog
  3. 临时切换模式:在SELinux中使用setenforce 0进行测试

通过合理配置强制访问控制,可以显著提高系统安全性,防止未经授权的访问和权限提升攻击。