溫馨提示×

ubuntu如何確保selinux配置正確

小樊
44
2025-09-27 10:24:27
欄目: 智能運維

1. 安裝SELinux及相關工具
Ubuntu默認未包含SELinux,需先通過以下命令安裝核心組件及工具:

sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd setools selinux-policy-dev

這些工具用于激活SELinux、管理策略及查看日志。

2. 激活SELinux
安裝完成后,通過selinux-activate命令激活SELinux,系統會在啟動時加載security=selinux內核參數:

sudo selinux-activate

激活后需重啟系統使內核參數生效。

3. 配置SELinux模式(關鍵步驟)
SELinux有三種運行模式,需通過/etc/selinux/config文件永久設置:

  • Disabled:完全禁用SELinux(不推薦,無法后續啟用);
  • Permissive:僅記錄違反策略的行為(不阻止),用于調試;
  • Enforcing:強制執行策略(推薦生產環境使用)。

編輯配置文件:

sudo nano /etc/selinux/config

修改以下行(以Enforcing為例):

SELINUX=enforcing
SELINUXTYPE=default  # 策略類型,默認即可

保存后重啟系統:

sudo reboot

臨時切換模式(無需重啟):

  • 切換至Permissive:sudo setenforce 0;
  • 切換至Enforcing:sudo setenforce 1。

4. 驗證SELinux狀態
通過以下命令確認SELinux是否啟用及運行模式:

  • 查看詳細狀態(包括模式、策略類型):
    sestatus
    
  • 快速查看當前運行模式:
    getenforce
    

若輸出為Enforcing,則表示配置成功。

5. 管理SELinux策略(確保配置正確)

  • 查看文件/進程上下文:使用ls -Z(文件)、ps -Z(進程)查看安全上下文,確保其符合預期(如Web文件應為httpd_sys_content_t);
  • 修改文件上下文
    • 臨時修改(重啟失效):sudo chcon -t httpd_sys_content_t /path/to/file;
    • 永久修改:先通過semanage fcontext添加規則,再用restorecon恢復:
      sudo semanage fcontext -a -t httpd_sys_content_t "/path/to/dir(/.*)?"
      sudo restorecon -RvvF /path/to/dir
      
  • 調整布爾值:針對服務(如Apache、MySQL)的特殊需求,使用setsebool修改布爾值(永久生效需加-P):
    sudo setsebool -P httpd_enable_homedirs 1  # 允許Apache訪問用戶主目錄
    
  • 自定義策略:若遇到AVC拒絕(訪問被阻止),通過日志分析生成自定義策略:
    grep avc /var/log/audit/audit.log | audit2allow -M mypolicy  # 生成策略模塊
    sudo semodule -i mypolicy.pp  # 加載模塊
    ```。
    
    
    

6. 監控與調試SELinux

  • 查看SELinux日志:日志位于/var/log/audit/audit.log,使用以下工具分析:
    sudo ausearch -m avc -ts recent  # 查找最近的AVC拒絕事件
    sudo aureport -m avc  # 生成AVC報告
    
  • 調試工具:若配置錯誤導致服務異常,可通過ausearch定位具體拒絕規則,再用audit2why分析原因。

注意事項

  • 生產環境務必啟用Enforcing模式,避免安全漏洞;
  • 修改配置前備份/etc/selinux/config及重要數據;
  • 若與AppArmor沖突,需禁用AppArmor(sudo systemctl disable apparmor);
  • 自定義策略需謹慎,建議在測試環境驗證后再應用于生產。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女