Ubuntu Apache防盗链与防攻击配置方法
先说几句:在Ubuntu上运行Apache时,如果忽视安全防护,无异于敞开大门迎客——总有人会顺手牵羊,甚至往屋里扔砖头。下面这套方案,从限制请求频率到基础认证,再到安全审计,基本覆盖了常见的攻击场景。按顺序执行,每一项都是硬核手段。1 限制请求频率(防刷单 CC攻击)CC攻击和刷单的本质都是高频
先说几句:在Ubuntu上运行Apache时,如果忽视安全防护,无异于敞开大门迎客——总有人会顺手牵羊,甚至往屋里扔砖头。下面这套方案,从限制请求频率到基础认证,再到安全审计,基本覆盖了常见的攻击场景。按顺序执行,每一项都是硬核手段。
1. 限制请求频率(防刷单/CC攻击)
CC攻击和刷单的本质都是高频请求,区别在于一个是恶意干扰,另一个是掏空你的资源。我们需要限制单个IP在短时间内发出的请求次数。推荐使用mod_evasive模块,适当配置后能有效抵御这类攻击。
- 安装模块:
sudo apt install libapache2-mod-evasive - 配置规则:编辑
/etc/apache2/mods-enabled/evasive.conf,关键参数可参考以下模板(具体数值请根据业务流量调整):DOSHashTableSize3097# 哈希表大小,建议保持默认DOSPageCount2 # 单个页面1秒内最多允许2次请求DOSSiteCount50# 整站1秒内最多允许50次请求DOSPageInterval 1 # 页面请求检测时间窗口(秒)DOSSiteInterval 1 # 整站请求检测时间窗口(秒)DOSBlockingPeriod 10# 封禁时间(秒),封禁后IP无法访问 - 启用模块与重启:
sudo a2enmod evasive && sudo systemctl restart apache2
2. 防盗链(防资源盗用)
辛辛苦苦拍摄的图片、制作的视频,被人直接外链使用,结果流量费还得自己买单,这谁能接受?通过mod_rewrite模块验证请求来源(Referer),就能阻止非授权网站盗用资源。
- 启用rewrite模块:
sudo a2enmod rewrite && sudo systemctl restart apache2 - 配置.htaccess或虚拟主机:在需要保护的目录(比如
/var/www/html/images)的.htaccess文件中,加入以下规则:
当然,你也可以把相同规则直接放到虚拟主机配置的RewriteEngine OnRewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain\.com [NC]# 允许自身域名RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?trusted-domain\.com [NC]# 可选:允许信任的第三方域名RewriteCond %{HTTP_REFERER} !^$# 允许直接访问(如用户手动输入URL)RewriteRule \.(jpg|jpeg|png|gif|svg|webp)$ - [F,L]# 匹配资源扩展名,返回403块里,效果一样。
3. 防爬虫(防恶意抓取)
搜索引擎的爬虫是朋友,但那些无视robots.txt、盯着敏感目录疯狂扫描的,就不是善茬了。通过识别恶意User-Agent或IP,就能把他们挡在门外。
- 基于User-Agent过滤:在
.htaccess或虚拟主机配置中添加:RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} (BadBot|Scrapy|wget|curl) [NC]# 匹配常见恶意爬虫标识RewriteRule .* - [F,L]# 返回403禁止访问 - 基于IP黑名单:在虚拟主机配置的
块中添加:Require all grantedRequire not ip 192.168.1.100# 封禁单个IPRequire not ip 192.168.1.0/24 # 封禁IP段 - 使用mod_security(高级防护):如果你要对付更复杂的爬虫,可以安装Web应用防火墙(WAF)。安装命令:
然后编辑sudo apt install libapache2-mod-security2sudo a2enmod security2sudo systemctl restart apache2/etc/modsecurity/modsecurity.conf,添加自定义规则。例如,封禁访问/admin或/private目录的IP:
最后重启Apache生效。SecRule REQUEST_URI "@rx /admin|/private" \"id:1001,phase:2,deny,status:403,msg:'Blocked suspicious crawler'"
4. 基础认证(防未授权访问)
后台页面、数据库管理工具等敏感区域,不能让任何人随意闯入。启用HTTP基本认证,让用户输入用户名和密码才能访问。
- 创建密码文件:
sudo htpasswd -c /etc/apache2/.htpasswd admin(首次创建用-c,后续添加用户不用加-c) - 配置访问控制:在虚拟主机或
.htaccess中,针对目标目录添加:
重启Apache后生效。AuthType BasicAuthName "Restricted Area"AuthUserFile /etc/apache2/.htpasswdRequire valid-user
5. 隐藏服务器信息(防信息泄露)
每次请求返回的响应头里都带着Apache版本号和操作系统信息,这等于告诉攻击者“我有这个漏洞”,风险很高。把这些信息隐藏起来,是基本操作。
- 修改Apache配置:编辑
/etc/apache2/conf-enabled/security.conf,将下面两行设置好:
重启Apache生效。ServerTokens Prod# 仅显示"Apache",隐藏版本号ServerSignature Off# 关闭错误页面的服务器信息
6. 启用SSL/TLS加密(防数据窃取)
数据在网络上裸奔,登录密码、支付信息等敏感数据随时可能被中间人截获。使用HTTPS加密,是必须的防线。
- 安装Certbot:
sudo apt install certbot python3-certbot-apache - 获取并安装证书:运行
sudo certbot --apache,按提示输入域名,自动配置SSL证书,非常省心。 - 强制HTTPS:为了确保所有流量都走加密通道,在虚拟主机配置中添加一个重定向规则,将HTTP请求跳转到HTTPS:
重启Apache生效。ServerName yourdomain.comRedirect permanent / https://yourdomain.com/
7. 安全审计与监控(及时发现攻击)
前面都是被动防御,但真正的安全体系需要主动发现异常。通过日志分析和自动化工具,才能把攻击扼杀在萌芽阶段。
- 安装fail2ban:
sudo apt install fail2ban,然后配置/etc/fail2ban/jail.local,加入Apache防护规则。例如拦截恶意爬虫:
配置完重启fail2ban:[apache-badbots]enabled = truefilter = apache-badbotsaction = iptables-multiport[name=HTTP, port="http,https", protocol=tcp]logpath = /var/log/apache2/access.logmaxretry = 3bantime = 3600sudo systemctl restart fail2ban - 定期检查日志:这步虽然手动,但很有效。用
tail -f /var/log/apache2/error.log实时查看错误日志,或者用grep '403' /var/log/apache2/access.log快速定位异常请求。
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
GPT-Red:释放稳健的自我完善能力
GPT-Red是一种自动化红队模型,通过自我对弈强化学习训练,可规模化发现漏洞并生成对抗数据。将其用于训练GPT-5 6后,直接提示注入故障减少6倍,在保留能力的同时显著提升稳健性,为模型安全自我改进开辟新路径。
Consensys曾让朝鲜关联开发者接触系统一个月未造成影响
区块链公司Consensys证实,一名通过第三方引入的开发者与朝鲜有关联,其接触系统约一个月后被发现并切断权限。调查确认无资产或数据损失,未植入恶意代码,但事件暴露了朝鲜背景团体渗透数字资产企业的风险模式。
黑客教你破解电子邮箱账号的三种方法详细步骤
电子邮件虽然便捷高效,但你真的了解其背后的安全风险吗?从邮件发送、传输到接收的每一个环节,都可能潜藏着漏洞,让攻击者有机可乘,轻松破解邮箱账号、窃取邮件内容。接下来,我们将逐一剖析这些薄弱环节,帮助您全面掌握电子邮件安全防护要点。 一、利用邮件服务器操作系统的漏洞 邮件服务器软件通常运行在特定操作系
黑客破解验证码机制的常见方法
验证码这东西,大家应该都不陌生。简单说,就是把一串随机数字或符号生成图片,再在图片里加一些干扰像素,防止OCR直接识破。用户得靠肉眼识别出来,输入表单提交给网站验证,通过后才能继续操作。很多网站为了挡住机器人的自动注册、登录、灌水,都用了这套技术。 但问题来了——很多验证码实现其实漏洞百出。比如直接
手机数据泄露大揭秘:你的信息到底安全吗?
如果你给自己的手机设置了PIN码,甚至复杂到自己都忘了,或者用了更高级的指纹解锁,你是不是就觉得手机里的信息固若金汤了?实际上,这种做法对于大多数普通用户来说,确实算得上安全。但换个角度,对于那些真正盯上你手机里数据的人来说,一次简单的充电,就可能让所有防护形同虚设。现如今,手机早已不只是一个通信工
- 热门数据榜
相关攻略
2026-07-18 22:34
2026-07-18 22:34
2026-07-18 22:30
2026-07-18 22:29
2026-07-18 22:29
2026-07-18 22:29
2026-07-18 22:29
2026-07-18 22:09
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程

