溫馨提示×

Ubuntu Apache配置中如何提高安全性

小樊
42
2025-10-10 13:12:12
欄目: 智能運維

1. 更新系統與Apache軟件包
定期更新系統和Apache至最新版本,及時修補已知安全漏洞,是安全配置的基礎。執行以下命令完成更新:

sudo apt update && sudo apt upgrade -y

2. 配置防火墻限制訪問
使用UFW(Uncomplicated Firewall)僅允許必要的端口(HTTP 80、HTTPS 443)通過,阻斷非法IP的訪問:

sudo apt install ufw -y
sudo ufw allow 'Apache Full'  # 允許HTTP和HTTPS
sudo ufw enable               # 啟用防火墻

3. 禁用不必要的Apache模塊
禁用未使用的模塊(如mod_php、mod_status等),減少攻擊面。通過以下命令查看并禁用模塊:

# 查看已啟用模塊
apache2ctl -M
# 禁用指定模塊(如mod_php)
sudo a2dismod php7.x
sudo systemctl restart apache2

4. 隱藏Apache敏感信息
修改配置文件隱藏服務器版本號和操作系統信息,防止攻擊者利用已知漏洞針對性攻擊:

sudo nano /etc/apache2/apache2.conf
# 添加或修改以下兩行
ServerTokens Prod    # 不顯示版本信息
ServerSignature Off  # 不顯示服務器簽名
sudo systemctl restart apache2

5. 啟用SSL/TLS加密通信
使用Let’s Encrypt免費證書或自有證書啟用HTTPS,加密客戶端與服務器之間的數據傳輸:

# 安裝Certbot及Apache插件
sudo apt install certbot python3-certbot-apache -y
# 自動獲取并配置證書
sudo certbot --apache -d yourdomain.com
# 可選:重定向HTTP到HTTPS(編輯000-default.conf)
sudo nano /etc/apache2/sites-available/000-default.conf
# 在<VirtualHost *:80>中添加
Redirect permanent / https://yourdomain.com/
sudo systemctl restart apache2

6. 禁用目錄列表功能
防止當目錄下無默認索引文件(如index.html)時,Apache自動列出目錄內容,避免敏感文件泄露:

sudo nano /etc/apache2/mods-available/dir.conf
# 修改Options指令,移除Indexes
<Directory /var/www/html>
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
sudo systemctl restart apache2

7. 使用mod_security防范Web攻擊
安裝mod_security模塊(開源Web應用防火墻),實時檢測并攔截SQL注入、跨站腳本(XSS)等常見攻擊:

sudo apt install libapache2-mod-security2 -y
sudo a2enmod security2
# 啟用OWASP核心規則集(可選,需下載規則文件)
sudo cp -r /path/to/owasp-modsecurity-crs /etc/apache2/modsecurity.d/
sudo nano /etc/apache2/modsecurity.d/owasp-modsecurity-crs/crs-setup.conf
# 調整規則配置(如啟用更多防護)
sudo systemctl restart apache2

8. 限制訪問敏感目錄
通過配置文件限制對/var/www/html等敏感目錄的訪問,僅允許授權用戶或IP訪問:

sudo nano /etc/apache2/sites-available/yourdomain.conf
# 在<Directory>塊中添加授權規則
<Directory /var/www/html>
    Require ip 192.168.1.100  # 僅允許特定IP
    # 或要求基本認證(需創建用戶)
    AuthType Basic
    AuthName "Restricted Access"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
# 創建認證用戶(如需)
sudo htpasswd -c /etc/apache2/.htpasswd username
sudo systemctl restart apache2

9. 定期監控與審計日志
通過日志分析工具(如fail2ban、logwatch)監控Apache訪問日志(/var/log/apache2/access.log)和錯誤日志(/var/log/apache2/error.log),及時發現異常行為(如大量404請求、暴力破解):

# 安裝fail2ban(防止暴力破解)
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
# 安裝logwatch(定期發送日志報告)
sudo apt install logwatch -y
sudo cp /usr/share/logwatch/default.conf/logwatch.conf /etc/logwatch/conf/logwatch.conf
sudo logwatch --output mail --mailto your@email.com --service apache

10. 強化SSH訪問安全(間接提升Apache安全性)
若通過SSH管理服務器,需強化SSH配置,防止攻擊者通過SSH入侵后進一步攻擊Apache:

sudo nano /etc/ssh/sshd_config
# 修改以下配置
Port 2222                # 更改默認端口
PermitRootLogin no       # 禁止root登錄
PasswordAuthentication no # 禁用密碼認證(僅允許密鑰)
# 重啟SSH服務
sudo systemctl restart sshd

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