被屏蔽的2个C段分别为:
- 123.125.71.0/24
- 220.181.108.0/24
现采用的屏蔽方式为通过防火墙丢弃其到本服务器任何TCP端口的数据包。
这件事要从半年多以前说起。
2017年4月,我例行检查HTTP服务器(Apache)日志,检索可能的攻击行为:通过正则表达式,检索对不存在的可执行文件(php|asp|aspx|jsp)的请求。发现第一个C段下超过20个IP进行攻击行为。检索其请求的路径,发现与Discuz(一个BBS程序)的已公开漏洞有关。5月,第二个C段也出现并发起同类型的攻击。
因为攻击者扫描的时Discuz的漏洞,而这一BBS程序被国内的论坛网站普遍使用,我猜测攻击者来自国内……
我通过ipip.net检索发现这两个C段竟然是隶属百度公司的。在回去检查日志,这些请求的User-Agent里都有BaiduSpider
字样——起初我以为是攻击者为了绕过日志——有些站长通过HTTP服务器的环境变量设置不将搜索引擎蜘蛛发起的请求记录到日志,而判断方法是根据User-Agent。
我想到两种可能性:
- 百度云(云计算服务,非网盘,下同)宿主机被攻击导致整个C段被拿下,并作为肉鸡发起网络攻击
- 百度云上的用户发起攻击
- 出于某种目的,百度自己所为
首先排除了2,因为我不认为该用户能使用这么多百度云的IP发起攻击而不被风控系统发现。
暂时摸不着头脑,只得先在Apache里屏蔽这两个C段的访问,也就是返回HTTP 403
后来我向百度云的客服邮箱发送邮件询问此事,但在很长时间里并没得到任何回复。我在V2Ex上发帖询问此事后,有人告知我可能是百度云的”云安全检测”,我这才明白。
这令我想起2014年我刚建站时的一些事情——那时候我还在使用每月流量只有10GiB的虚拟主机,也不会分析日志,只能在后台看到流量在一天之内突然消耗了超过3GiB,于是请求客服协助,客服表示屏蔽了4个大量发起攻击请求的IP,后经查询,皆为360公司所有。
如今,百度终于回复了我在近半年前的邮件,确认了其为”云安全检测”,并告诉我不用在意,是”为了我好”。我提出如下质疑,但百度未予回复:
- 作为安全检测服务,是否尊重了站长的知情权和选择权?
- 作为安全检测服务,为何没有通过User-Agent或query parameters明确告知站长其身份,反而冒充搜索引擎蜘蛛?
两条质疑的具体解释/反例如下:
- 阿里云提供安全检测,只针对其自家的主机,并明确告知用户检测时所使用的IP
- Avast公司的安全检测,明确通过User-Agent声明其身份
- UptimeRobot提供的在线率检测,明确通过User-Agent声明其身份
- Automattic的Jetpack提供的在线率检测,明确通过User-Agent声明其身份
- Qualys SSL Labs提供的SSL配置检测,明确通过query parameters声明其身份
- ……
而且,在设置Apache对以上两个C段返回403 Forbidden后,又在auth.log
中发现大量来自这两个C段的、失败的登录请求。这让我无法理解:
- OpenSSH和Dropbear等常见SSH服务端近期未爆出公开漏洞
- 漏洞检测≠蛮力攻击
故决定通过防火墙屏蔽这两个C段至本站服务器的任何端口。
百度向来是一家作恶的公司——魏则西事件刚过去一年半不到,百度又被爆出通过”黄金眼”系统收集患者个人信息并提供给”莆田系”医院,这事被知乎网友揭露后百度疯狂删除”黄金眼”相关页面,奈何删不掉搜索引擎的缓存页;开发”黄金眼”的人员也在知乎洗地。
今年下半年因《网络安全法》实施而被”停止向公众开放”的百度高精度IP定位服务,在关闭前依靠百度系手机APP中的SDK,获取手机用户的IP地址与GPS位置的关系,并上传收集;一度成为”人肉搜索”等网络暴力的强大帮手——百度明知其危害,却仍不加以阻止,知道其可能面对法律风险。
又有谁知道百度收集这些漏洞信息会如何加以利用呢?我不知道也不可能知道,简而言之,它是不透明的。因此我对其采取屏蔽措施。
至于影响,我想到的是可能影响本站在百度的收录,不过这并无大碍——相信本博客的读者极少甚至没有需要依赖百度来找到本站的。