如何防止Censys扫描网站源IP

Censys介绍

Censys是一个IP搜索引擎,扫描收集和分析整个互联网的IP网络设备和服务的信息。针对不同的协议和服务执行各种查询,从而获取有关这些设备和服务的详细信息。

尽管你的网站套了CDN,Censys也有可能扫描出你的服务器暴露出你真实源IP。所以为了保护你的网站服务器安全运行,有必要直接在服务器内屏蔽防止Censys扫描到你的网站源IP。

屏蔽Censys的IP段和爬虫

Censys官方给的IP段和UA:https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Scanning

具体操作,以Nginx为例:

server字段屏蔽censys爬虫

1
2
3
if ($http_user_agent ~* "^(?=.*censys)") {
            return 444;
        }

或者直接屏蔽censys的IP段:

1
2
3
4
5
6
7
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
2602:80d:1000:b0cc:e:/80
2620:96:e000:b0cc:e:/80

如果你使用 Cloudflare 的 CDN,你可以在防火墙,工具里屏蔽上面IP段,或者在工具,用户dai理阻止里,创建一个阻止规则,如下:

1
Mozilla/5.0 (compatible; CensysInspect/1.1;

如果你使用 Cloudflare 的 CDN,你可以在防火墙,工具里屏蔽上面IP段,或者在工具,用户dai理阻止里,创建一个阻止规则,如下:

1
Mozilla/5.0 (compatible; CensysInspect/1.1;

给IP地址访问创建单独的页面

以Nginx为例:

server {

        listen       80;

        server_name  183.3.226.35;

        location / {

            root   html;

            index  index.html index.htm;

        }

        error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

   server {

        listen       443 ssl;

        server_name  183.3.226.35;

        ssl_certificate      cert1.pem;

        ssl_certificate_key  cert1.key;

        ssl_session_cache    shared:SSL:1m;

        ssl_session_timeout  5m;

        ssl_ciphers  HIGH:!aNULL:!MD5;

        ssl_prefer_server_ciphers  on;

        location / {

            root   html;

            index  index.html index.htm;

        }

    }

https访问时的SSL证书自签名一个IP证书,或者随便找一个其他的证书使用,只要不会反回你的真实域名即可。

这样当Censys扫描你的IP(183.3.226.35)时,无论是80还是443端口,均无法获取到你的域名信息了。也就达到了屏蔽其扫描的目的。