站点被境外刷流量,运维在防火墙上封了十几个国家,第二天必应收录开始掉,日志里 Bingbot 的请求全部被丢弃,它的节点分布在新加坡和爱尔兰。

原因不止一个,得分开看。地域封禁按 IP 归属地匹配,没有排除搜索引擎网段。还有一种是Bingbot 的节点不在美国,常规认知里的位置是错的。

少数情况下是封禁规则写在最前面,后面的白名单没有机会生效。

第一件事是确认 Bingbot 是否还能进来

awk '/bingbot/{c++} END{print c+0}' access.log

随后把搜索引擎网段插到封禁规则之前

iptables -I INPUT 1 -s 40.77.167.0/24 -j ACCEPT

剩下的就是验证规则顺序

iptables -L INPUT -n --line-numbers | head -10

命令输出我都留了记录,免得改完记不清原来的值。

改之前先确认了最近有没有人动过配置,避免白查一遍。

恢复的判定其实很直接。调整规则顺序后 Bingbot 请求恢复,三天内抓取量回到封禁前水平,收录数字止跌。

封禁规则的顺序比内容重要,白名单排在拒绝后面等于没写。拖得越久,排查成本越高,因为现场状态会被后续操作覆盖。

作者 9823189