ubuntu

Ubuntu SELinux如何安全加固

小樊
54
2025-09-12 18:36:20
栏目: 智能运维

在Ubuntu上启用SELinux需谨慎,其与默认的AppArmor可能存在兼容性问题,以下是安全加固的关键步骤及注意事项:

一、安装与基础配置

  1. 安装SELinux相关包

    sudo apt install selinux-basics selinux-policy-default auditd setools  
    
  2. 激活SELinux

    sudo selinux-activate  
    

    (需重启系统生效)

  3. 设置强制模式
    编辑 /etc/selinux/config,将 SELINUX=disabled 改为 SELINUX=enforcing,并指定策略类型(如 default)。
    注意:建议先测试 permissive 模式(仅记录违规,不阻止),确认无异常后再切换至 enforcing

二、策略与上下文管理

  1. 查看系统状态

    sestatus  # 查看SELinux运行状态  
    ls -Z     # 查看文件/进程的安全上下文  
    
  2. 配置安全上下文

    • 临时修改文件上下文
      sudo chcon -t httpd_sys_content_t /var/www/html/index.html  
      
    • 永久修改文件上下文
      sudo semanage fcontext -a -t httpd_sys_content_t '/var/www/html(/.*)?'  
      sudo restorecon -Rv /var/www/html  
      
  3. 管理布尔值策略
    通过 setsebool 调整服务权限(如允许HTTP服务访问数据库):

    sudo setsebool -P httpd_can_network_connect_db on  
    

三、高级安全加固

  1. 定制策略模块
    若需为特定应用(如自定义服务)添加规则,可编写策略模块(需了解SELinux策略语言):

    # 示例:生成策略模块并安装  
    audit2allow -a > myapp.te  
    checkmodule -M -m -o myapp.mod myapp.te  
    semodule_package -o myapp.pp -m myapp.mod  
    sudo semodule -i myapp.pp  
    
  2. 日志监控与分析
    定期查看 /var/log/audit/audit.log,使用工具分析违规记录:

    sudo ausearch -m avc -ts recent  # 查看最近的访问控制违规  
    sudo audit2allow -m recent      # 生成对应的策略模块(仅限测试环境)  
    

四、注意事项

参考来源

0
看了该问题的人还看了