










之前有记录了从七月四日开始的一次网络攻击,当时采取了一些措施,后来也继续做了一些防护,现在来汇总一下。
如果没有 cloudflare 的话,那么就主要靠 fail2ban。
服务器上是 Fail2Ban 来实时跟踪 Nginx 的 log 文件。然后设置了下面几个 filter。
nginx-404scan:针对 404 错误的访问
nginx-webscan:针对漏洞扫描,配置文件扫描
phpbb-login:针对短期多次登录
phpbb-search:针对短期大量搜索
通过这些配置,很快就能把大量的 IP 放到防火墙的阻止访问名单。
对了,防火墙没有用过去常见的 iptables,而是 nftables,据说更高效。用了 fail2ban,即使 IP 被 Ban,也还是会访问到服务器,也还是会有消耗资源。
而如果有用 Cloudflare 做全站 CDN,配置了合适的 cloudflare 的安全过滤措施,那么基本上,那些 IP 根本不会到我的服务器,在 cloudflare 的边缘节点就被挡住了。
看当前 failed 的就成 0 了。
看看 cloudflare 的安全设置。免费账号可以设置五条 Security Rules,够用了。
1) 特别可疑的 User Agent
通过对 Nginx Log 的分析,可疑看到某些请求用的 User Agent 是很奇诡的组合。
比如这样一条记录
ua="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
这是 macOS 设备的 User Agent。
具体来说,这是一台运行 macOS Catalina (10.15.7) 的 Mac 电脑,使用的是 Chrome 120 浏览器。
关键识别点:
Macintosh; Intel Mac OS X 10_15_7 → 搭载 Intel 处理器的 Mac,操作系统版本为 macOS 10.15.7(Catalina)
AppleWebKit/537.36 → 使用 WebKit 渲染引擎
Chrome/120.0.0.0 → Google Chrome 浏览器,版本 120
Safari/537.36 → 兼容 Safari 的标识(Chrome 在 macOS 上的标准 UA 格式)
通过询问 AI,可以知道这种设备组合在当前的桌面端的市场份额大约在 3-6%。而且UA中的 Mac OS X 10_15_7 是2019年的系统版本,很多都会升级到新的版本。
在分析了大量的 Log 之后,得到的下面的结论:
/default.phpChrome/120 + Mac OS X 10_15_7 (固定)得到的结论就是:
这份日志 高度疑似来自自动化爬虫或代理池。最可能的场景是:
所以在 Security Rules 》 Customrules 添加了规则
还是很客气,用了 Managed Challenge,没有直接 Block。
2) Search by Bot
对搜索页面添加了 Managed Challenge。
3)登录保护
登陆页面也开启了。
4) 数据中心-可疑
对于某几个国家的访问,开启了 Managed Challenge,毕竟这是一个中文的论坛,面向中文用户,来自这几个国家的请求数量有点儿异常高,所以就加上了,如果以后数量下来了,再改。
5)带有 sid 的访问
从日志记录中,看到大量带有 sid 的访问,而且只有页面,没有其它的 css ,或者图片的请求,也是明显的机器人标识。当然带有 sid 的访问并不都是,很多正常的访问也会有。
设置这个规则不到 24小时,看到的统计和效果。
到了 7月18日,继续观察。
而今天,7月21日,这些数字继续下降。
如果看 Awstats 的统计,就是直接到达服务器的那些访问,可看个清楚。
这两天的访问量已经比较正常了,一般,每天的流量也就500兆左右,有时高些,有时低些。
不得不赞一下, Cloudflare 的服务,我的域名也都在它上面,对外的网站也都是用了 Cloudflare 的免费服务,我倒是想用它的付费服务,有些不值得,不是它的服务不值得,而是这几个网站不配。最低价格的付费计划,是 Pro,$20每月(年付的话),而且是每个站点。
好了,目前看来,这些攻击还在继续,只是被 Cloudflare 挡住了,我的服务器运行平稳高效。访问速度还不错。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。