游乐游手机版
首页/网络安全/文章详情

Ubuntu Apache防盗链与防攻击配置方法

时间:2026-07-18 07:01
先说几句:在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:
    SecRule REQUEST_URI "@rx /admin|/private" \"id:1001,phase:2,deny,status:403,msg:'Blocked suspicious crawler'"
    最后重启Apache生效。

4. 基础认证(防未授权访问)

后台页面、数据库管理工具等敏感区域,不能让任何人随意闯入。启用HTTP基本认证,让用户输入用户名和密码才能访问。

  • 创建密码文件:sudo htpasswd -c /etc/apache2/.htpasswd admin(首次创建用-c,后续添加用户不用加-c
  • 配置访问控制:在虚拟主机或.htaccess中,针对目标目录添加:
    AuthType BasicAuthName "Restricted Area"AuthUserFile /etc/apache2/.htpasswdRequire valid-user
    重启Apache后生效。

5. 隐藏服务器信息(防信息泄露)

每次请求返回的响应头里都带着Apache版本号和操作系统信息,这等于告诉攻击者“我有这个漏洞”,风险很高。把这些信息隐藏起来,是基本操作。

  • 修改Apache配置:编辑/etc/apache2/conf-enabled/security.conf,将下面两行设置好:
    ServerTokens Prod# 仅显示"Apache",隐藏版本号ServerSignature Off# 关闭错误页面的服务器信息
    重启Apache生效。

6. 启用SSL/TLS加密(防数据窃取)

数据在网络上裸奔,登录密码、支付信息等敏感数据随时可能被中间人截获。使用HTTPS加密,是必须的防线。

  • 安装Certbot:sudo apt install certbot python3-certbot-apache
  • 获取并安装证书:运行sudo certbot --apache,按提示输入域名,自动配置SSL证书,非常省心。
  • 强制HTTPS:为了确保所有流量都走加密通道,在虚拟主机配置中添加一个重定向规则,将HTTP请求跳转到HTTPS:
    ServerName yourdomain.comRedirect permanent / https://yourdomain.com/
    重启Apache生效。

7. 安全审计与监控(及时发现攻击)

前面都是被动防御,但真正的安全体系需要主动发现异常。通过日志分析和自动化工具,才能把攻击扼杀在萌芽阶段。

  • 安装fail2ban:sudo apt install fail2ban,然后配置/etc/fail2ban/jail.local,加入Apache防护规则。例如拦截恶意爬虫:
    [apache-badbots]enabled = truefilter = apache-badbotsaction = iptables-multiport[name=HTTP, port="http,https", protocol=tcp]logpath = /var/log/apache2/access.logmaxretry = 3bantime = 3600
    配置完重启fail2ban:sudo systemctl restart fail2ban
  • 定期检查日志:这步虽然手动,但很有效。用tail -f /var/log/apache2/error.log实时查看错误日志,或者用grep '403' /var/log/apache2/access.log快速定位异常请求。
来源:https://www.yisu.com/ask/43617157.html
上一篇在Ubuntu操作系统上配置Filebeat数据加密的方法与步骤 下一篇Debian系统syslog日志解密教程
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Linux下如何用记事本加密文件
网络安全 · 2026-07-18

Linux下如何用记事本加密文件

关于在Linux环境下对文本编辑器进行加密的常见疑问,核心事实非常明确:像gedit这类默认的文本编辑器本身并不提供任何内置加密功能。要想安全地编辑和保存机密内容,正确的思路是先使用外部加密工具对文件进行加密,然后再用文本编辑器打开处理。下面整理了三种主流且可靠的Linux文件加密方案,从简单到全面

Debian系统漏洞风险到底有多大全面影响与安全评估
网络安全 · 2026-07-18

Debian系统漏洞风险到底有多大全面影响与安全评估

首先明确几个关键观点:Debian系统的安全漏洞风险整体上处于可控范围,与多数主流操作系统的安全水平相当。它并非天生高危的系统——用户无需过度担忧,但也不能掉以轻心。其安全性主要依赖三大支柱:开源社区的持续维护、严格的代码审查流程,以及高效的安全更新响应机制。然而,用户自身的使用习惯与系统配置环境,

Debian环境下日志加密方法详解
网络安全 · 2026-07-18

Debian环境下日志加密方法详解

在Debian环境下为日志文件实施加密,核心目标在于保障数据安全与隐私保护——这是每位运维人员都理解的共识。那么具体该如何操作呢?下面梳理了几种生产环境中常用的实战方法,从手动加密到自动化脚本方案,覆盖不同场景,总有一款适合你。 方法一:用GnuPG(GPG)加密日志文件 这是最经典的非对称加密方式

Ubuntu系统spool文件夹解密方法及操作步骤完整教程
网络安全 · 2026-07-18

Ubuntu系统spool文件夹解密方法及操作步骤完整教程

一、解密前的准备工作 在动手解密之前,有两项核心信息必须明确:加密方式与密钥。 1 确认加密方式 首先要确定spool文件具体采用了哪种加密算法(例如AES、RSA)以及使用的工具(比如GnuPG、OpenSSL、LUKS)。判断方法并不复杂,可以从以下几个角度入手: 查看文件元数据:直接使用fi

如何用Linux Exploit发起拒绝服务攻击
网络安全 · 2026-07-18

如何用Linux Exploit发起拒绝服务攻击

聊点硬核的——Linux环境下拒绝服务攻击(DoS DDoS)的常见手段和原理。这类攻击的目标很明确:把目标系统的CPU、内存、带宽或者连接数耗个精光,让正经用户连不上服务。下面就来逐个拆解,看看攻击者常用的那些Exploit方法,以及怎么防。 1 SYN Flood攻击(传输层TCP漏洞利用)