当前位置:首页 > 技术分享

如何解决HTTPS SSL暴露使用CDN后的真实服务器IP问题 与解决办法 防止 Censys 通过证书链识别出源站 IP

admin2个月前 (11-08)技术分享221

现在越来越多的网站放在CDN上以加快访问速度。此外还有一种考虑就是将网站的真实IP通过CDN来隐藏起来,避免被发现真实IP从而被攻击。那么问题来了:

有一个坑爹的网站 ,例如 https://search.censys.io 会通过nginx特性’来批量扫描 https://ip 以通过ssl证书获取ip与源站的对应关系

时刻在全网扫描激活的IP地址,然后利用nginx一个“漏洞”来检查IP对应的域名,并做了对应关系。如果服务器是nginx的web服务

可以直接通过https://ip地址来访问,默认调用了你的域名证书,导致被记录到IP

nginx会向浏览器发送默认的SSL证书,通过查看证书详情可以找到对应的域名。

如果两厢匹配,那么你的站就被这个坑爹的http://censys.io给记录了,通过http://censys.io搜索域名或IP就能找到关联信息。

如何解决这个问题呢?

防止 Censys 通过证书链识别出源站 IP 和 CDN 域名关联的方法: 

1.配置访问限制: 配置防火墙,禁止公开源站ip 屏蔽 Censys 的 IP 段 屏蔽 Censys 的 UA:在 CDN 的配置中,设置规则屏蔽 Censys 扫描使用的用户代理(UA),如在 Cloudflare CDN 的 “安全性 - WAF - 自定义规则” 中,将 “用户代理” 字段设置为等于 “Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/)” 进行屏蔽。

2.利用服务器特性: Nginx 特性:如果使用 Nginx 服务器且版本在 1.19.4 及以上,可在配置文件中添加 “ssl_reject_handshake on;” 指令,当通过 IP 访问时会终止 TLS 握手,避免暴露域名。 使用反向代理:在源站和 CDN 之间设置反向代理服务器,对源站 IP 进行隐藏,使 Censys 难以直接获取源站与 CDN 域名的关联。

3.设置虚假站点 生成假证书和假站点:创建一个虚假的网站,生成自签的空白 SSL 证书并应用到该假站点上,将假站点设置为默认站点。 设置返回代码:在假站点的配置文件中,添加返回特定状态码的指令,如 “return 444;”,使通过 IP 访问时返回无法访问的页面,隐藏真实源站。

假站点解决办法

第一步:

创建一个虚假网站

ScreenShot_2025-12-22_180750_976.png


第二步:

将该网站设置为默认网站


ScreenShot_2025-12-22_175617_927.png


第三步:

设置虚假SSL证书这里提供一份虚假证书

虚假证书在线生成:https://ssl.ouyun.cc/

key秘钥填入宝塔 SSL设置-其它证书-秘钥处:

-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC99wUeoq+TtXen
dL0sLEpLulYADKOZC7k8RU0LRJFSYLjQniJVM0o7fVx8nJxSvrBZLcXCB3/GgYDk
7sbPsRm8H2+HuKunepC2ktU9D7wKRjLeYxeHpbNbTUInRGHrvL833WwpavJBWTvU
hUEkdEd71mVAQovmWwC2jNDn16/PvmcMI3i36wH/deOfbq8XOlpBIVsgSpzKu+HH
it0Y/Br0nNmIWB3wUcqOl0i3h1UztqhBU5yojOi0ifyEuBNlDcOZqS7PBtpUiRPo
R/pVCmG0NZKky2cHu2zfyns0ME3rFm96afdLRKIAyS3JSkTCS8qlkw6sqQr2zkRj
8QQSoNUTAgMBAAECggEAVk15R/fFKKgS2kMRBpaAknLvS0pysL9Awn8Bh5L5KqHC
lRSiqG6K1QgZEovcAUOcvocrBwF9LWP8eQV50TW2aV8mvlRJt+bZA/klY35YgZpu
1dXTBM9k8p/g5BIPIpg3j1vLHe32bXXq1pxLghJJv5shmNYi1N6XLlg/OHUm7Ivd
a9cPO7+cxtlQByjjernWcpP7NnHn5tRfBZrdpPNH97AJchkcnXSp5bAtsFoCT5K0
xo/Lz/SFBX+8dDs+jUM6eCMcG9xpq/lPRRoJccTx88b0CO2rU1jp2heUF4apJVbT
layxoTyIJSSaury7EuxgQR9WTcKRe2geXIWIvzGmYQKBgQDqOGy5lr0l9ayzGDUc
Jygq7VkoR7RAX1A8ASpYGVyBV1k9fXH27asOLLkeoV+5elGL8Y4vC8CAyrsiw9j0
w7f7BHO24HrbIEnFfsYc7rinzZW1+rmddBxMPDMkVWWrOHur2fuBHQ+V74T6yY2d
8FhCqPZ4xJhIMjf9FpY1q2mj+wKBgQDPoRns1IdCE5qqkNAAPX6HMkNO30jEy1av
yIcLpX15kcbo+i31J1ZHxZIgy8igv8QZdpzOuL1MmwaRFR5PGhshKn4nnf7NhVp3
MrEUuLhbBe5UdEPcT9CbniCvE80N7ulyMsTTthcdJWWPmzIADeKDlr6sY8R8JK7R
y4HL3nwvyQKBgQDjPLEHcd67GFpgO4kzci3/T90jPkX7+j0eqkbJyHk+J1+2T6Gk
3zsI+ozz0b7MdYbuTgITVMSEb6wVc4tnFQfHaq9Vav7m37GTAYb2BQl0C/pG3yT8
RO07bWB0zMFh19/sgAUJZAd+AS60HZ3e8JLAwaq2yo2v5cD6M9Kx6UcJxwKBgGSR
o/0S9HENDd2QRy/WmXLi5bdOb/DijRqYBtGdVymLcs1mYNxeMWySRjWcf5FdUZ8D
1PBMi2SPsp6TnBq0im+GJZUK8mCaNzeFVkCzOJjeRpKhvjz4bBL0hOBItwoIrwqh
jLT/fjKf6pGkmpNsJkuWuMTHjmSTYBo+eKBHI+ABAoGAJEcmPaWMen30JnrPRSR8
+U18yY3vtshF8bO9cxzMFZk4OxSATzL9VHS1BkTJEpbVNIvQ4WCuqK5ZKC397lC8
Z3+19t08AOa9rjRaKSMnOZlkI1KI/eNVucucLgptYbNXA9LN8Usl6YEdDKbohXpV
rVZLQgfPnxnZcnea/0dj2bg=
-----END PRIVATE KEY-----

证书内容填入宝塔SSL设置-其他证书-证书(PEM格式):

-----BEGIN CERTIFICATE-----
MIIC9DCCAdygAwIBAgIJAO+H98zzzz3oMA0GCSqGSIb3DQEBCwUAMC0xETAPBgNV
BAMMCG91eXVuLmNjMRgwFgYDVQQKDA9PdSBZdW4gQ2hhb1N1YW4wIBcNMjUxMjIy
MTAwNTM0WhgPMjEyNTExMjgxMDA1MzRaMC0xETAPBgNVBAMMCG91eXVuLmNjMRgw
FgYDVQQKDA9PdSBZdW4gQ2hhb1N1YW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQC99wUeoq+TtXendL0sLEpLulYADKOZC7k8RU0LRJFSYLjQniJVM0o7
fVx8nJxSvrBZLcXCB3/GgYDk7sbPsRm8H2+HuKunepC2ktU9D7wKRjLeYxeHpbNb
TUInRGHrvL833WwpavJBWTvUhUEkdEd71mVAQovmWwC2jNDn16/PvmcMI3i36wH/
deOfbq8XOlpBIVsgSpzKu+HHit0Y/Br0nNmIWB3wUcqOl0i3h1UztqhBU5yojOi0
ifyEuBNlDcOZqS7PBtpUiRPoR/pVCmG0NZKky2cHu2zfyns0ME3rFm96afdLRKIA
yS3JSkTCS8qlkw6sqQr2zkRj8QQSoNUTAgMBAAGjFTATMBEGA1UdEQQKMAiCBmlw
LmNvbTANBgkqhkiG9w0BAQsFAAOCAQEAYwOlA+7o1W0FwX7xmnVYhAOqwtYFrAP1
qqdweDOooln93l6j5OjVceP1jATpEkvhjMV2XbVPd0I/zYG0KgvYgQuKFqvjCmg9
h9fWDdWDJBSTyzsrVUolYFPwG40x55FTdlNCjNNBMTbNEhhfyzgExjsQ0I9Hq0uC
xI/wk/PhC83KoSBLeEzvDtXjNj0chO7GLdQ8eOAOsiDUNb1eQUoIPfFLN0pqBlb4
2drgA5cONybFX1oJqsd60Ne9ighafwQ7OVygEuGULAqTlWXNNIuesfwTV0+osUNY
EVUPWtdiv9m5jxRDnAQvTwigXNZDHN/G4HBI0aLs99xl7rIm1VQ6lQ==
-----END CERTIFICATE-----

ScreenShot_2025-12-22_180805_584.png

修复前后对比:

修复前访问IP 点小锁 会显示你的域名

修复后访问IP 点小锁 不会显示你的域名


ScreenShot_2025-12-22_180930_536.png

扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/703.html

分享给朋友:

“如何解决HTTPS SSL暴露使用CDN后的真实服务器IP问题 与解决办法 防止 Censys 通过证书链识别出源站 IP” 的相关文章

mysql update不支持set子查询更新 的解决办法

mysql update不支持set子查询更新 的解决办法

先看示例:SELECT uin,account,password,create_user_uin_tree FROM sys_user结果:表中的create_user_uin_tree标识该条记录由谁创建。创…

centos 配置Let's Encrypt 泛域名https证书

centos 配置Let's Encrypt 泛域名https证书

前言2018年1月份Letsencrypt可以申请泛域名证书,这让我们部署多域名、多站点https省了很多功夫,终于可以不用维护多个域名的https证书。笔者以acme.sh为例,手把手教你配置https证书~本教程适用于centos 6.…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

php Aes 加密模式ECB填充pkcs5padding base64

最近做支付项目用到了aes加密不过试了好多办法总是和官方给出的结果不一样,找了很久终于找到了测试结果同 http://tool.chacuo.net/cryptaes/ <?php /**  * [Aes&nb…

用apicloud 免费,简单封装一个wap手机网站成android app

用apicloud 免费,简单封装一个wap手机网站成android app

APICloud是国内较早布局低代码开发的平台之一,其发布的低代码效率工具Plus Mode,为IT项目中每个角色提供专业工具,将需求分析、产品原型、UI设计、前端开发、后端开发紧密衔接,并基于行业大数据对前置环节进行复用,最终缩减大量重复…

抢先体验太阳谷!20H1、20H2、21H1替换“Dev版新图标”

尽量不要替换shell32.dll.mun和zipfldr.dll.mun,这两老哥可能会带来无法预测的风险!不解除被替换文件的硬链接,已确定会导致无法安装质量更新!(详见H大测评)单替换imageres.dll.mun新图标覆盖率基本可达…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。