CentOS Apache安全設置的要點主要包括以下幾個方面:
定期更新系統和軟件:
yum update httpd命令更新Apache。設置和保護SSH:
禁用未使用的服務和端口:
service --status-all和iptables -L命令查看服務和端口狀態。禁用不必要的Apache模塊:
httpd.conf文件,禁用不需要的模塊。使用指定的用戶和組運行Apache:
nobody。httpd.conf文件,設置User和Group指令。防止信息泄露:
httpd.conf文件,設置ServerSignature和ServerTokens指令為Off或Prod。隱藏PHP版本信息:
php.ini文件,將expose_php參數設置為Off。禁用自動索引模塊:
強化用戶口令:
/etc/login.defs文件,設置PASS_MIN_LEN和PASS_MAX_DAYS參數。保護口令文件:
chattr命令給/etc/passwd, /etc/shadow, /etc/group, 和/etc/gshadow文件加上不可更改屬性。chattr +i /etc/passwd。設置root賬戶自動注銷時限:
/etc/profile文件中的TMOUT參數,設置root賬戶的自動注銷時限。TMOUT=300。限制su命令:
/etc/pam.d/su文件,限制只有特定組的用戶才能使用su命令切換到root。usermod –G wheel username。禁用ctrl+alt+delete重啟命令:
/etc/inittab文件,禁用ctrl+alt+delete組合鍵重啟機器的命令。設置開機啟動服務權限:
/etc/rc.d/init.d/目錄下所有文件的權限,確保只有root用戶可以操作這些服務。防止IP欺騙和DoS攻擊:
host.conf文件和設置資源限制,如最大進程數和內存使用量。tcp_max_syn_backlog, tcp_syncookies, tcp_synack_retries和tcp_syn_retries。啟用HTTPS:
限制HTTP方法和POST數據大小:
Limit或LimitExcept指令限制不必要的HTTP方法,如PUT, DELETE等。LimitRequestBody指令限制POST請求的數據大小。配置訪問控制和認證:
.htaccess文件或全局配置中的AuthType, AuthName, AuthUserFile, 和Require指令實施認證。錯誤頁面定制:
ErrorDocument 404 /errors/404.html。日志監控和審計:
禁用服務器簽名:
ServerSignature Off和ServerTokens Prod以隱藏服務器的版本信息。優化文件和目錄權限:
防火墻規則:
禁用或限制使用.htaccess文件:
AllowOverride None,以提高性能并減少潛在的安全風險。使用ModSecurity或其他WAF:
通過這些安全配置方法,可以顯著提高CentOS上Apache Web服務器的安全性。