如何解决HTTPS SSL暴露使用CDN后的真实服务器IP问题 与解决办法 防止 Censys 通过证书链识别出源站 IP
现在越来越多的网站放在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 访问时返回无法访问的页面,隐藏真实源站。
假站点解决办法
第一步:
创建一个虚假网站

第二步:
将该网站设置为默认网站

第三步:
设置虚假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-----
-----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-----

修复前后对比:
修复前访问HTTPS://IP 点小锁 会显示你的域名
修复后访问HTTPS://IP 点小锁 不会显示你的域名




