溫馨提示×

如何提升CentOS Apache的安全性

小樊
34
2025-10-15 06:56:06
欄目: 智能運維

1. 定期更新系統與Apache軟件包
保持系統和Apache的最新狀態是修復已知安全漏洞的關鍵。使用sudo yum update -y命令更新所有系統組件和Apache,確保運行的是最新穩定版本,減少被已知攻擊利用的風險。

2. 配置防火墻限制訪問
使用firewalld(CentOS默認防火墻工具)僅允許必要的HTTP(80端口)和HTTPS(443端口)流量,阻止非法IP訪問。執行以下命令:

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

如需進一步限制,可添加IP白名單(如僅允許公司IP訪問):

sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
sudo firewall-cmd --reload

3. 禁用不必要的Apache模塊
Apache默認加載的模塊可能包含未使用的功能,增加攻擊面。通過編輯/etc/httpd/conf.modules.d/00-base.conf(或其他模塊配置文件),注釋或刪除不需要的模塊(如mod_cgi、mod_php,若未使用PHP),僅保留必需模塊(如mod_ssl用于HTTPS)。修改后重啟Apache:sudo systemctl restart httpd。

4. 隱藏Apache版本與敏感信息
修改Apache配置文件(/etc/httpd/conf/httpd.conf),設置以下參數:

ServerTokens Prod  # 隱藏Apache版本號,僅顯示“Apache”
ServerSignature Off  # 關閉錯誤頁面中的服務器版本信息

這可防止攻擊者通過版本信息查找針對性漏洞。

5. 強化SSL/TLS加密通信
啟用HTTPS加密客戶端與服務器之間的數據傳輸,避免明文泄露。首先安裝mod_ssl模塊:sudo yum install mod_ssl -y,然后生成自簽名證書(生產環境建議使用CA簽發證書):

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt

編輯/etc/httpd/conf.d/ssl.conf,配置SSL參數:

<VirtualHost *:443>
    DocumentRoot "/var/www/html"
    ServerName yourdomain.com
    SSLEngine on
    SSLCertificateFile /etc/pki/tls/certs/apache-selfsigned.crt
    SSLCertificateKeyFile /etc/pki/tls/private/apache-selfsigned.key
    SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1  # 禁用舊版不安全協議
    SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256  # 使用強加密套件
</VirtualHost>

重啟Apache使配置生效:sudo systemctl restart httpd。

6. 限制訪問權限
通過配置文件或.htaccess文件限制對敏感目錄(如網站根目錄/var/www/html)的訪問:

<Directory "/var/www/html">
    Options FollowSymLinks  # 禁用目錄瀏覽
    AllowOverride None  # 禁用.htaccess覆蓋(提升性能)
    Require ip 192.168.1.0/24  # 僅允許指定IP段訪問
</Directory>

若需允許普通用戶訪問,可將Require ip改為Require all granted,但仍建議結合防火墻限制。

7. 啟用SELinux保護
SELinux(Security-Enhanced Linux)可限制Apache進程的權限,防止越權訪問。確保SELinux處于Enforcing模式(getenforce命令查看),并配置相關布爾值:

sudo setsebool -P httpd_can_network_connect 1  # 允許Apache訪問網絡(如數據庫)
sudo setsebool -P httpd_can_sendmail 1  # 允許Apache發送郵件

若網站目錄權限不足,可使用chcon命令修改SELinux上下文:

sudo chcon -Rt httpd_sys_content_t /var/www/html  # 設置目錄為HTTP內容類型

8. 監控與日志審計
啟用詳細的日志記錄,定期檢查日志以發現異常行為。Apache默認日志路徑為/var/log/httpd/error_log(錯誤日志)和/var/log/httpd/access_log(訪問日志)??赏ㄟ^tail -f /var/log/httpd/error_log實時監控錯誤日志,或使用工具(如fail2ban)自動封禁頻繁攻擊的IP。

9. 防止目錄瀏覽與信息泄露
禁用目錄瀏覽功能,避免攻擊者查看網站目錄結構。在Apache配置文件中設置:

<Directory "/var/www/html">
    Options -Indexes  # 禁用目錄索引
</Directory>

若需允許特定目錄瀏覽,可單獨配置(如AllowOverride None確保安全)。

10. 使用安全模塊增強防護
安裝并配置mod_security模塊(Web應用防火墻),防止SQL注入、跨站腳本(XSS)等常見攻擊。執行以下命令安裝:

sudo yum install mod_security -y

編輯/etc/httpd/conf.d/mod_security.conf,啟用模塊并配置規則(可根據需求調整規則集):

<IfModule mod_security2.c>
    SecRuleEngine On  # 開啟規則引擎
    Include conf/modsecurity.d/*.conf  # 加載默認規則
</IfModule>

重啟Apache使配置生效:sudo systemctl restart httpd。

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