有没有觉得你的服务器就像住在玻璃房子里,外面总有些“热心邻居”(比如Censys、Shodan这类扫描器)拿着望远镜四处打量?更让人头大的是,它们还可能把你这CDN背后的真实IP给暴露了。别急,今天就带你一起,把这些“不请自来”的扫描器挡在门外,同时尽量不误伤正常的搜索引擎蜘蛛(SEO同学请放心)。
一、Censys等扫描器为何要防?
Censys这类网络空间搜索引擎扫描器,会持续扫描互联网上的IP和服务器,收集并公开诸如域名、开放端口、SSL证书甚至服务器软件版本等信息。这意味着,即使你的网站接了CDN,源站IP也可能被它们“捅出来”。这些信息一旦被别有用心的人利用,就可能增加服务器遭受针对性攻击的风险。
我们的目标很明确:精准屏蔽这些安全扫描器和恶意爬虫,同时保护好正常的搜索引擎蜘蛛(如Googlebot、Baiduspider)和真实用户的访问,毕竟网站安全和SEO我们都得要。
二、宝塔面板专业版Nginx防火墙屏蔽方法
如果你有宝塔面板专业版并安装了Nginx防火墙(这玩意是基于Nginx/APache模块开发的应用层防火墙,能有效防范大部分渗透攻击),操作起来就相对可视化一些。
1. 屏蔽Censys的IP段
在Nginx防火墙的IP黑名单功能中,将以下已知的Censys扫描器IP段添加进去:
- IPv4段:
- 162.142.125.0/24
- 167.94.138.0/24
- 167.94.145.0/24
- 167.94.146.0/24
- 167.248.133.0/24
- 199.45.154.0/24
- 199.45.155.0/24
- 206.168.34.0/24
- 192.35.168.0/23
- IPv6段(如果支持):
- 2602:80d:1000:b0cc:e::/80
- 2620:96:e000:b0cc:e::/80
- 2602:80d:1003::/112
- 2602:80d:1004::/112
宝塔防火墙提供了高度自由的规则定制功能,用户可以通过可视化界面轻松设置防火墙。具体通常在“防火墙”、“IP黑名单”或“屏蔽IP”等类似功能中操作。
2. 屏蔽Censys的User-Agent
Censys扫描器有其特定的User-Agent标识。在Nginx防火墙的User-Agent黑名单中,添加以下规则:
Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)
或者可以使用简化的匹配模式,如 CensysInspect
。
3. 宝塔防火墙的其他防护优势
宝塔的Nginx防火墙不仅能屏蔽IP和UA,它还能:
- 有效防止SQL注入、XSS攻击、一句话木马等常见的渗透攻击。
- 通过“攻击列表”功能查看攻击IP排行榜和被攻击的URI报表,方便分析。
- 进行“木马查杀”,基于规则库扫描网站木马。
三、没有专业版防火墙?照样屏蔽!
没买宝塔专业版?问题不大,咱们还有别的招。
1. 修改Nginx配置文件(推荐)
对于Nginx 1.19.4及以上版本,一个有效的方法是使用ssl_reject_handshake
指令。这可以防止Nginx在直接通过IP访问或未知域名访问时泄露SSL证书。 在你的Nginx配置文件中(例如/www/server/panel/vhost/nginx/0.default.conf
),添加以下服务器块:
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl_reject_handshake on;
return 444;
}
这样配置后,任何直接通过IP访问HTTPS的请求(比如Censys的扫描)都无法拿到有效的SSL证书信息,从而保护你的真实域名不被发现。配置完成后记得重载Nginx:sudo nginx -s reload
。
2. 使用系统防火墙(UFW/iptables)
以Ubuntu的UFW为例,在终端中执行:
sudo ufw deny from 162.142.125.0/24
sudo ufw deny from 167.94.138.0/24
# ... 同上,添加所有需要屏蔽的IPv4段
sudo ufw reload
用iptables的话,思路类似,需要逐条添加规则。
3. 使用Cloudflare WAF进行屏蔽
如果你在使用Cloudflare的CDN,那么可以利用其WAF(Web应用防火墙)功能来屏蔽Censys:
- 登录Cloudflare后台,进入对应网站的“安全性” -> “WAF” -> “工具”。
- 在“用户代理阻止”中,创建一条新的阻止规则,操作选择“阻止”,用户代理填写:
Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)
。 - (可选)你还可以在“IP访问规则”中,逐个添加Censys的IP段进行阻止。
4. 上海云盾精准访问控制
若使用上海云盾的CDN,可以通过其“精准访问控制”功能来屏蔽:
- 登录云盾后台,进入“WEB安全加速” – “业务列表” – 对应网站的控制台。
- 切换到“精准访问控制”,新增规则集。
- 创建规则:匹配类型选“IP”,逻辑选“在IP列表中”(需提前创建好Censys的IP列表),处置方式选“阻断”。
四、哪些爬虫和扫描器需要重点防范?
除了Censys,出于安全考虑,以下这些也是你需要警惕的:
- Shodan: 另一个著名的网络空间搜索引擎,同样会收集服务器、设备详细信息。
- 各种漏洞扫描器: 如Acunetix, Nessus, OpenVAS等,它们通常有独特的UA标识。
- 恶意内容爬虫: 一些频繁请求、内容抓取行为异常,或UA中包含奇怪关键词的爬虫。
特别注意:对于已知的各大搜索引擎蜘蛛(如Googlebot, Bingbot, Baiduspider等),除非确认为恶意行为,否则不要轻易屏蔽,以免影响网站收录和排名。 这些正规蜘蛛的IP段通常可以通过官方渠道查询验证。
五、安全与SEO的平衡之道
我们既不想被扫描器骚扰,又不想误伤搜索引擎蜘蛛影响SEO,怎么办?
- 精准识别: 多分析服务器访问日志(Nginx日志通常在
/www/wwwlogs/
),确认恶意IP和UA再行动。善用宝塔的“封锁记录”功能进行分析。 - Robots.txt的局限: 它对守规矩的搜索引擎蜘蛛有用,但对安全扫描器基本无效。
- 终极策略:白名单: 如果安全要求极高,可以考虑在服务器防火墙或安全组上设置白名单,只放行Cloudflare等CDN节点的IP段(这些IP段Cloudflare会公开)以及你信任的IP,其他所有流量一概拒绝。这是最彻底但也最需要谨慎操作的方法。
六、总结与提醒
保护好源站IP,是网站安全中不可忽视的一环。无论是用宝塔专业版防火墙的便捷功能,还是通过修改Nginx配置、配置系统防火墙或CDN/WAF设置,都能有效减少被Censys等扫描器“围观”的风险。
核心思路永远是:精准屏蔽恶意扫描,放行良好爬虫和真实用户。
最后提醒一下:
- 操作前备份: 修改任何配置文件前,先备份!
- 循序渐进: 每次只修改一个地方,测试没问题后再进行下一个。
- 保持关注: 安全是一个持续的过程,定期查看日志,了解服务器健康状况。
希望这篇教程能帮你把服务器打造得更稳固!
文章来源:万事屋 转载请保留出处,谢谢合作!
没有回复内容