如何防御Censys的扫描(预防源IP泄露)
前言
像 Censys、Shodan、ZoomEye 等网络空间测绘工具已成为攻击者的重要情报来源。这些平台通过持续扫描全球 IP 地址空间,收集开放端口、服务版本、SSL 证书等信息,并将其公开索引。——一旦真实源 IP 被暴露,即使部署了 CDN 或云防护,也可能被绕过,导致 DDoS 攻击。
你可以使用censys查一下自己的ip是否已经泄露,添加屏蔽措施后通常在其最后记录的观测时间戳后24至48小时内从Censys搜索中移除。
源IP泄露原理
扫描器直接用 IP 地址访问 HTTPS 服务(如 https://1.2.3.4)时,由于没有提供 SNI(即客户端未声明要访问哪个域名),Nginx 默认会使用配置中的第一个 server 块(或 default_server)来响应 TLS 握手。
如果这个默认 server 块绑定了有效证书(比如主站证书),那么:
- TLS 握手成功;
- 证书中包含的域名会被泄露;
- Censys/SSL Labs 等平台会记录 “IP 1.2.3.4 对应域名”;
- 源站 IP 暴露风险大增(尤其当你用了 CDN,但源 IP 被扫出来就前功尽弃)。
解决办法
网上可以搜索到很多方法来解决,我这里只记录一种有效通用简单的办法(应对类似censys的所有工具)。
建立虚假网站
1.建立一个域名为 ip.com的虚假蜜罐网站

2.随便应用一个证书,不需要对应域名,方便后面替换。
3.打开终端生成自签证书
mkdir -p /opt/signcert && cd /opt/signcert
openssl req -x509 -newkey rsa:4096 -keyout OpenLiteSpeed-key.pem -out OpenLiteSpeed-cert.pem -nodes -days 365
一直回车不需要输入任何信息。
4.执行以下指令替换证书。
cat /opt/signcert/OpenLiteSpeed-cert.pem > /www/server/panel/vhost/cert/ip.com/fullchain.pem
cat /opt/signcert/OpenLiteSpeed-key.pem > /www/server/panel/vhost/cert/ip.com/privkey.pem
/etc/init.d/nginx restart
5.回到网站设置确保证书应用成功,设置为默认站点。

6.开启强制https
如果发现无法设置强制https,可以通过修改网站配置文件达到同样的效果(nginx)
server {
listen 80;
server_name ip.com;
return 301 https://ip.com$request_uri;
}
server
{
listen 443 ssl default_server;
listen 443 quic default_server;
http2 on;
server_name ip.com;
index index.php index.html index.htm default.php default.htm default.html;
root /www/wwwroot/ip.com;
… … …(省略)
总结
反正就是别让你的网站可以直接通过https://ip访问,设置一个虚假的网站,就可以防止censys等网络测绘工具扫描了。
「摸鱼小屋」 (atmoyu.com)版权所有,引用、转载时必须标明原文出处!






空空如也!