阅读量:75
在Ubuntu Apache中设置防盗攻击可通过以下方式实现:
-
防盗链(防止资源盗用)
- 方法1:使用
.htaccess文件
在网站根目录创建/编辑.htaccess,添加规则限制非指定域名访问资源(如图片):替换RewriteEngine On RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F,L]yourdomain.com为实际域名。 - 方法2:使用
mod_rewrite模块
启用模块并配置规则(需在Apache配置文件中操作)。
- 方法1:使用
-
限制访问频率(防DDoS/恶意刷访问)
- 使用
mod_evasive模块
安装并启用模块,配置参数如请求次数、封锁时间等:
编辑配置文件(如sudo apt install libapache2-mod-evasive sudo a2enmod evasive/etc/apache2/apache2.conf)设置DOSPageCount(单页请求限制)、DOSBlockingPeriod(封锁时长)等。
- 使用
-
Web应用防火墙(WAF)
- 使用
mod_security模块
安装模块并启用,默认规则集可拦截常见攻击(如SQL注入、XSS):
配置规则文件(如sudo apt install libapache2-mod-security2 sudo a2enmod security2/etc/modsecurity/modsecurity.conf),可自定义规则或集成OWASP规则集。
- 使用
-
其他基础防护
- 修改默认端口:编辑
/etc/apache2/ports.conf,将Listen 80改为非标准端口(需同时修改防火墙规则)。 - 禁用不必要的模块:使用
a2dismod命令禁用不需要的模块(如mod_php),减少攻击面。 - 启用SSL/TLS:安装证书并配置HTTPS,加密数据传输(需配置
/etc/apache2/sites-available/ssl.conf)。
- 修改默认端口:编辑
注意:配置后需重启Apache生效(sudo systemctl restart apache2),并定期查看日志(/var/log/apache2/)监控异常访问。以上措施可组合使用,根据实际需求调整参数。