曾经少年 發表於 2025-3-1 01:28:36

宝塔面板屏蔽 Censys的配置方法(防止源站 IP 泄露)

<p>Censys 搜索引擎很强大。Censys 每天都会扫描 IPv4 地址空间,以搜索所有联网设备并收集相关的信息,并返回一份有关资源(如设备、网站和证书)配置和部署信息的总体报告。</p>
<p>在 IP 前加上 https 访问时,Nginx 会自动返回该网站的 https 证书,从而暴露相关域名信息。哪怕是套了 CDN 也还是会被扫到。Censys 还会扫描端口,例如 80、8000、8080、443、4433。</p>
<p>所以为了防止,自己的网站被攻击我们需要屏蔽掉 Censys 的扫描。据我所知有四种办法,分部是屏蔽 Censys 的 UA、屏蔽 Censys 的 IP 段、建立虚假网站以及使用 Nginx 的特性。四种方法,选其一即可。当然如果你觉得不够安全,可以都使用。</p>
<blockquote><p>系统: ubuntu22.04</p>
<p>nginx: 1.25.5</p></blockquote>
<h2>1.屏蔽 Censys 的 IP 段</h2>
<p>Censys 的 IP 段在其官网有。我的机子使用的是 Ubuntu 系统,带有 UFW 防火墙,按照下面的命令建立规则即可。</p>
<p>Censys IP段 :<a href="https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection" rel="external nofollow"rel="nofollow">https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection</a></p>
<p>复制以下命令到ssh终端运行:</p>
<div class="jb51code"><pre class="brush:bash;">sudo ufw deny from 162.142.125.0/24
sudo ufw deny from 167.94.138.0/24
sudo ufw deny from 167.94.145.0/24
sudo ufw deny from 167.94.146.0/24
sudo ufw deny from 167.248.133.0/24
sudo ufw deny from 199.45.154.0/24
sudo ufw deny from 199.45.155.0/24
sudo ufw deny from 206.168.34.0/24
sudo ufw deny from 2602:80d:1000:b0cc:e::/80
sudo ufw deny from 2620:96:e000:b0cc:e::/80
sudo ufw deny from 2602:80d:1003::/112
sudo ufw deny from 2602:80d:1004::/112</pre></div>
<p>重载ufw生效,重启nginx</p>
<div class="jb51code"><pre class="brush:bash;">sudo ufw reload   #重载ufw
ufw status          # 查看状态
sudo systemctl reload nginx # 重启nginx</pre></div>
<h2>2.屏蔽 Censys 的 UA</h2>
<p>如果你使用了 CDN ,那么就要在 CDN 中屏蔽掉 Censys 扫描使用的 UA。</p>
<p>Censys 扫描使用的 UA 如下:</p>
<blockquote><p>Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)</p></blockquote>
<p><strong>例如cloudflare cdn</strong></p>
<p>安全性&ndash;WAF&ndash;自定义规则</p>
<p>字段:用户代理</p>
<p>运算符: 等于</p>
<p>值:Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202503/202503010118034.png" /></p>
<h2>3.使用 Nginx 新特性(推荐)</h2>
<p>Nginx 1.19.4 版本以上,新增了一个特性,<code>ssl_reject_handshake</code> 在 IP 访问时会终止 TLS 握手,也就不会暴露域名了。</p>
<p>例如<strong>宝塔面板</strong>:</p>
<p>在 /www/server/panel/vhost/nginx 目录找到 0.default.conf 删除原有代码,添加如下代码:</p>
<div class="jb51code"><pre class="brush:bash;">server {
    listen 443 ssl default_server;
    # 如果有 IPv6 地址的需要,则加入下面这行。
    # listen [::]:443 ssl default_server;
    ssl_reject_handshake on;
}</pre></div>
<p>重启nginx生效::</p>
<blockquote><p>/etc/init.d/nginx restart</p></blockquote>
<h2>4.建立虚假网站</h2>
<p>网站是一个纯静态网站,网站的文件,除了 .htaccess 和 .user.ini 这两个文件,其他的全删除。添加自签的空白 SSL 证书,强制 HTTPS,<strong>设置为默认网站</strong></p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202503/202503010118035.png" /></p>
<p>1.生成自签名证书(一路回车键)</p>
<div class="jb51code"><pre class="brush:bash;">mkdir -p /opt/signcert &amp;&amp; cd /opt/signcert
openssl req -x509 -newkey rsa:4096 -keyout OpenLiteSpeed-key.pem -out OpenLiteSpeed-cert.pem -nodes -days 365# 一路回车</pre></div>
<p>2.替换证书</p>
<div class="jb51code"><pre class="brush:bash;">cat /opt/signcert/OpenLiteSpeed-cert.pem &gt; /www/server/panel/vhost/cert/ip.com/fullchain.pem
cat /opt/signcert/OpenLiteSpeed-key.pem &gt; /www/server/panel/vhost/cert/ip.com/privkey.pem
/etc/init.d/nginx restart</pre></div>
<p>3.下一步到假站点保存一下ssl证书使其生效</p>
<p>设置假站点为默认站点</p>
<p style="text-align:center"><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202503/202503010118036.png" /></p>
<p>完结!</p>
<h2>5.利用censys查询所需要的信息</h2>
<p>First open this website: https://search.censys.io/</p>
<p>1、打开网站<a href="https://search.censys.io/" rel="external nofollow"target="_blank">https://search.censys.io/</a></p>
<p>Then enter: services.http.response.headers.location: account.jetbrains.com/fls-auth in the search box, click Search, the website will retrieve many IP addresses</p>
<p>2、在输入框数据 services.http.response.headers.location: account.jetbrains.com/fls-auth后点击Search,网站会返回许多地址</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202503/202503010124587.png" /></p>
<blockquote><p>Click any IP address to view the details page, make sure the Status Code under the 80/HTTP address is 302, then copy the IP address here in Detail as our License Server address</p></blockquote>
<p>3、点击任何一个地址,并查看详情页,确定端口为80的地址状态码为302。复制ip地址。</p>
<p><img alt="在这里插入图片描述" src="https://img.jbzj.com/file_images/article/202503/202503010124588.png" /></p>
<p>4. As above, enter the address and click Activate 最后点击Activate按钮即可。</p>
頁: [1]
查看完整版本: 宝塔面板屏蔽 Censys的配置方法(防止源站 IP 泄露)