- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
如何給Apache新站點目錄配置SELinux
歡迎來到藍隊云技術小課堂,每天分享一個技術小知識。
在 web 服務器管理領域,確保服務器環境的安全性至關重要。SELinux (Security-Enhanced Linux) 是保護 Linux 服務器最有效的工具之一,它是一種強制訪問控制 (MAC = mandatory access control) 安全機制。當使用最流行的 web 服務器 Apache 提供 web 內容時,正確配置 SELinux 對安全性和功能都至關重要。
接下來我們將學習了解配置 SELinux 以允許 Apache 服務新目錄的步驟,確保您的 web 內容既安全又可訪問。
在深入研究配置之前,有必要了解 SELinux 上下文。SELinux 為系統中的每個進程和文件分配安全上下文。這些上下文用于定義管理訪問控制的策略。要使 Apache 訪問和提供來自新目錄的內容,該目錄及其內容必須具有適當的 SELinux 上下文。
對于 Apache 來說,相關的 SELinux 上下文以 httpd 作為前綴。具體來說,Apache 可以訪問的文件通常被標記為 httpd_sys_content_t 上下文。如果你正在處理 CGI 腳本或其他可執行內容,它們可能需要不同的上下文,比如 httpd_sys_script_exec_t。
首先,確定應用于 Web 內容目錄的默認上下文,
Apache默認內容目錄通常是 /var/www/html,使用 ls -Z 命令查看 Selinux 上下文:
ls -Z /var/www/html
該命令將顯示默認 web 目錄的 SELinux 上下文,您需要將其應用到新目錄。
確定正確的上下文后,創建新目錄并設置其 SELinux 上下文。例如,創建一個名為 /var/www/newsite 的新目錄,您將使用以下命令:
mkdir -p /var/www/newsite
semanage fcontext -a -t httpd_sys_content_t "/var/www/newsite(/.*)?"
restorecon -Rv /var/www/newsite
semanage fcontext 命令添加一條策略規則,將 httpd_sys_content_t 上下文分配給新目錄及其內容。然后,restorerecon 命令根據策略規則應用此上下文。
默認情況下,SELinux 可能會阻止 Apache 進行網絡連接,這可能是您的 web 應用程序所必需的。為此,您需要調整 SELinux 策略,允許 Apache 進程發起網絡連接。
setsebool -P httpd_can_network_connect on
在配置 SELinux 之后,重要的是要驗證 Apache 確實可以從新目錄提供內容。在新目錄中創建一個簡單的測試文件,并嘗試通過 web 瀏覽器訪問它。此外,可以使用 ausearch -m avc -ts recent 命令檢查任何 SELinux 拒絕訪問,這可以幫助您更好的解決問題。
藍隊云官網上擁有完善的技術支持庫可供參考,大家可自行查閱,更多技術問題,可以直接咨詢。同時,藍隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。
更多技術知識,藍隊云期待與你一起探索。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP