温馨提示×

如何加固ubuntu apache2

小樊
37
2026-09-26 10:36:25
栏目: 智能运维

下面从系统层、Apache 层、应用层三个维度,给你一套Ubuntu + Apache2 加固清单,适合生产服务器使用。


一、系统层面加固

1. 系统更新

sudo apt update
sudo apt upgrade -y

保持内核和安全补丁最新。

2. 禁用 root 登录 & 使用 SSH 密钥

sudo nano /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
sudo systemctl restart ssh

3. 配置防火墙(UFW)

sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable

4. 启用 Fail2Ban

sudo apt install fail2ban -y
sudo systemctl enable fail2ban

二、Apache2 安全加固

1. 隐藏 Apache 版本信息

sudo nano /etc/apache2/conf-enabled/security.conf

修改:

ServerTokens Prod
ServerSignature Off

重启:

sudo systemctl restart apache2

2. 禁用目录浏览

<Directory /var/www/>
    Options -Indexes
</Directory>

3. 限制不必要的模块

查看已加载模块:

apache2ctl -M

禁用示例:

sudo a2dismod autoindex status
sudo systemctl restart apache2

4. 使用专用用户运行

默认已使用 www-data,确保网站目录权限正确:

sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www

5. 限制 IP 或访问路径(示例)

<Location /admin>
    Require ip 192.168.1.0/24
</Location>

三、HTTPS & 加密加固

1. 启用 HTTPS(Let’s Encrypt)

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

2. 强制 HTTPS

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</VirtualHost>

3. 加强 SSL 配置

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite HIGH:!aNULL:!MD5

四、防止常见攻击

1. 防点击劫持

Header always append X-Frame-Options "SAMEORIGIN"

2. 防 XSS

Header set X-XSS-Protection "1; mode=block"

3. 防 MIME 嗅探

Header set X-Content-Type-Options "nosniff"

4. 启用 ModSecurity(WAF)

sudo apt install libapache2-mod-security2 -y
sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sudo a2enmod security2
sudo systemctl restart apache2

五、日志与监控

# 访问日志
/var/log/apache2/access.log

# 错误日志
/var/log/apache2/error.log

建议:

  • 使用 logrotate
  • 接入监控(如 Prometheus / ELK)

六、最小权限原则(重要)

  • Web 目录不允许写脚本
  • 上传目录禁止执行
<Directory /var/www/html/uploads>
    php_flag engine off
</Directory>

如果你愿意,我可以:

  • ✅ 给你一份 可直接用的 apache 配置模板
  • ✅ 针对 WordPress / Laravel / 静态站 单独加固
  • ✅ 做一份 安全自查清单(checklist)

你现在的 Ubuntu 版本和 Apache 用途是什么?

0 踩