防止源站IP泄露
这个问题我记得已经有很多大佬陆陆续续发布一些方法,本文主要是综合来介绍几种主要防止censys.io此类网站扫描源站IP
原理:
nginx服务器本身的问题,当未设置默认网站时,通过IP可自动访问建立的第一个网站,而当你在IP前加上https访问时,自动暴露该网站的https证书签发域名
实例:
随便打开百度,看他的IP,比如我这里显示的ip是 14.215.177.38
我们给他加上https://,就变成了 https://14.215.177.38/ 打开之后可以看到它暴露了自己的域名:
因此:我们只需要扫描全球所有Ip段的所有IP的443端口就很有可能呢知道某个网站的源站IP,直接扫描0.0.0.0/0即可
原理我们说完了,那么如何防止源站IP泄露呢?在讲方法之前,如果你在censys.io已经能查到源站IP,请换掉你的源站IP,或者直接重新开VPS搬家,换掉IP之后千万千万别傻乎乎的解析到自己源站Ip上,到时候会有查解析记录的平台照样查得出
方法一
最暴力的方法,你用的啥CDN,就iptables只允许CDN的回源Ip访问自己的IP,详情见我以前的文章: 各大CDN的节点IP段 设置全站只能通过CDN访问
方法二
以宝塔面板为例,我们先创建一个不是自己域名的网站,域名随便填:
创建好之后删掉该网站目录下的文件,然后将此网站设为默认网站:
然后打开该网站设置,添加自签发ssl证书,证书下载:https://cangshui.net/-down/-mytargz/pemkey.tar 如果你要问我怎么用我也没办法了
添加完之后你打开自己的源站IP就会发现(https://源站IP)
根本就没有颁布给哪个域名这种东西,因此不会暴露
方法三
不要使用邮件系统,包括使用托管邮局和本地直接发信,邮局托管发信,收信用户可直接查看来源IP,而本地发信直接查MX解析记录即可
解决思路:关闭邮箱系统/使用代理服务器来操作托管邮局发信
方法四
你根本不需要在源站放一个证书,你只要CDN设置为http回源,CDN使用https就行了!不要用协议跟随!在cloudflare上是点击crypto,然后把SSL设为full即可!记得一点就是不要把自己的网站设为默认站点,默认站点的意思就是说直接访问IP,你这个网站就会显示出来不需要带域名!
方法五
硬抗,渗透类的话基本上你使用最新的cms,只要你别暴露数据库在公网上,别把后台密码设为弱密码、开发者更新漏洞修复,你的安全问题基本上没啥,重点只是ddcc之类的攻击,这个我之前也做过介绍硬抗类的文章,有兴趣可以看一下:CC攻击和防御
文章来源:
Author:沧水
link:https://cangshui.net/?p=4289