next up previous contents
Next: 自訂 SELinux 政策一 Up: CHROOT Previous: apache sudo chroot   Contents

安全機制

  1. SELinux 布林值 httpd_ssi_exec 啟動才可執行 shell_exec()
    [root@dywang tmp]# setsebool -P httpd_ssi_exec=1
    
  2. SELinux 布林值 httpd_can_sendmail 啟動才可寄信。
    [root@dywang tmp]# setsebool -P httpd_can_sendmail=1
    

  3. SELinux 限制 apache 執行 sudo,必須自訂政策。
    1. 關閉 SELinux,此時 SELinux 雖不工作,但 auditd 仍可記錄安全風險。
      [root@dywang tmp]# setenforce 0
      [root@dywang tmp]# getenforce 
      Permissive
      
    2. 清除 audit.log 內容後重新啟動。
      [root@dywang tmp]# echo '' > /var/log/audit/audit.log
      [root@dywang tmp]# /etc/init.d/auditd restart
      
    3. 打開網頁執行原被 SELinux 限制的網頁動作,此時應可正常工作。
       <run the javac from web>
      
    4. 此時 audit.log 已記錄安全風險,重新啟動 SELinux。
      [root@dywang tmp]# setenforce 1
      
    5. 將審查的安全風險記錄,轉成 SELinux 允許的政策模組。
      [root@dywang tmp]# cat /var/log/audit/audit.log|audit2allow -M httpjava
      
    6. 加入新產生的 SELinux 政策模組。
      [root@dywang tmp]# semodule -i httpjava.pp
      
    7. 查詢 SELinux 模組
      [root@dywang tmp]# semodule -l | grep http
      httpdsudo	1.0	
      httpjava	1.0
      
    8. 刪除 SELinux 模組
      [root@dywang tmp]# semodule -r httpjava.pp
      



De-Yu Wang 2018-08-08