温馨提示×

debian apache如何防攻击

小樊
41
2026-09-30 15:37:42
栏目: 网络安全

在 Debian 上运行 Apache 时,防护攻击需要从系统层、Apache 配置层、应用层、监控与运维四个方面来做。下面给你一份实用、可落地的方案。


一、系统层加固(基础)

1. 及时更新系统

apt update && apt upgrade -y

开启自动安全更新:

apt install unattended-upgrades
dpkg-reconfigure unattended-upgrades

2. 使用防火墙(强烈推荐)

apt install ufw
ufw default deny incoming
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

3. 限制 SSH 攻击

  • 禁用 root 登录
sed -i 's/^PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
  • 使用密钥登录
  • 修改 SSH 端口(可选)

二、Apache 本身安全配置

1. 隐藏版本信息(防信息收集)

编辑:

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

设置:

ServerTokens Prod
ServerSignature Off

2. 禁用不必要的模块

a2dismod autoindex status cgi

常用可关闭:

  • autoindex(目录浏览)
  • status
  • cgi

3. 限制请求大小和连接

<Directory /var/www/html>
    AllowOverride None
    Options -Indexes
</Directory>

LimitRequestBody 10485760

4. 防止目录遍历

确保:

Options -Indexes

三、防常见 Web 攻击(重点)

1. 安装 ModSecurity(Web 防火墙)

apt install libapache2-mod-security2
a2enmod security2

启用规则:

cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /etc/modsecurity/modsecurity.conf

可选:

  • OWASP ModSecurity Core Rule Set (CRS)

2. 防 DDoS / 请求洪水

启用并配置 mod_evasive:

apt install libapache2-mod-evasive

示例配置:

<IfModule mod_evasive20.c>
    DOSHashTableSize 3097
    DOSPageCount 10
    DOSSiteCount 50
    DOSPageInterval 1
    DOSSiteInterval 1
    DOSBlockingPeriod 60
</IfModule>

3. 限制并发连接(mod_qos)

apt install libapache2-mod-qos

四、HTTPS 与证书安全

1. 强制 HTTPS

a2enmod rewrite ssl
<VirtualHost *:80>
    RewriteEngine On
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
</VirtualHost>

2. 使用 Let’s Encrypt

apt install certbot python3-certbot-apache
certbot --apache

五、日志与入侵检测

1. 分析 Apache 日志

tail -f /var/log/apache2/access.log

2. 使用 fail2ban

apt install fail2ban

可保护:

  • SSH
  • Apache 错误请求
  • 404 扫描

六、应用层防护(非常重要)

即使 Apache 安全,应用漏洞仍会被攻破:

  • 及时更新 PHP / WordPress / 框架
  • 不使用弱密码
  • 文件上传限制类型与大小
  • 数据库最小权限

七、推荐最小安全清单 ✅

  • [ ] 系统更新
  • [ ] UFW 防火墙
  • [ ] Apache 隐藏版本
  • [ ] ModSecurity
  • [ ] HTTPS 强制
  • [ ] fail2ban
  • [ ] 日志监控

如果你愿意,可以告诉我:

  • Debian 版本
  • Apache 用途(WordPress / API / 静态站)
  • 是否公网暴露

我可以给你一份针对性配置示例。

0 踩