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服務器的安全性。