当前位置:首页 > 技术分享 > 正文内容

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

admin1个月前 (11-08)技术分享152

现在越来越多的网站放在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 访问时返回无法访问的页面,隐藏真实源站。

假站点解决办法

第一步:

创建一个虚假网站

1.jpg


第二步:

将该网站设置为默认网站


第三步:

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

虚假证书在线生成:https://www.toolhelper.cn/SSL/SSLGenerate

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

-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCMBf582Soi8aPq
hFUSJOFPDDD0Vodknn9ksbQ4DBWdYtw2g686xwv+Qt4ksMRwReifvx8QADemP8ja
65TCaqJozgprPszo34OfK7lQdqZpPEjDD7vVOO6mtwQxO+61gfYztpgvmVttAfWV
5ckqXQ2D+FGHo5+uKGEZexBW32k33HoMce8uimtG1uvfSsOeghsCkv/6Kq2rbGv8
P4bUrTMVnHwCMENv86s/pFjat/ZvNjfj+h8LU4F8lYRsEaxrb/PLTnfvI9WZuuNe
bdEEpbvkxEyVnegbfRnwdxJz93CqVbjyESDFVoZym7WaBOSRI+RT5aas01l8jVO9
iNUVCc/nAgMBAAECggEAEVTsmyeGP60JTQ30Obq26MHpjVTojVvRCPW2CPn18vU5
rMW/+taIdYBxXrlCl2MP2DYf8isUuE9M3UwrraTlVXOrdnrfgjOoZxtSZNNK5dvA
ZeScq1fQsnIU4sM4WN8tSllfnQSufF+xtkwrCkNaWOtzrAZkzXnSCwVgkGA29eL1
jUfNhMlaodUAy5mGIMIjMm05Q48tiACJfeCpeKaQaUA9JNzxhAaGfvnsIrxZLD06
xfRzqrnaJrwLLIYdL+eD/7qXzUz2N3mxVh+bh9+iXMQwhfO20oCx93wGuWF354cg
HLLhfdXoKH5HZfzjj8oMDHXPJQn++s0qea+aZcJugQKBgQDGH0nn/jcACvAbM2SA
DD6B09E0f6231DibLiimA7v7JNJ3V/AkCpUjbMeHPabJzSH59ZaK21eDuzcSIwfU
8/Hf5a4fb5AxL9GTNCyqGUhPm0jYIHqUdj2mFH5OhpRGwQWdgKGGK/EEREio062v
jn0YTaWtg7pzeP8Wr5FYXZXtMwKBgQC07b6pYRZXMEy6b3ytyYutvaOijen9sWS/
Lrc23ZB9oHwOmkd+zB8VB937oNa7QfCs6l+9niM40FJEkjZ5XBPrRhzTc9AfehJw
fIdJBMOZ2CvC6CDnZOJne5fgCGUklAKclbJP2MjKb8Ml4vyF53XzNCPV+lrq6Wu8
lfrkkCsKfQKBgBvYa+/CSAKmhuaby4U/s01V8vJY+5Z5qlcNHsNuhO4gV8BUSLkY
D6wB7u0wGhAE18Ck5rqvZ1Zpaq0O5VvlyVn5kwZyDKcNHHx++cQSd5pQreVKc1AI
alO8T6BDw/VJzbs8R/dul5pM6pVn4uJouWZAC4gemob+O4P5uwjbZmYHAoGBAKjJ
fmwfcasHGR14MlUiR9deqhBU2izc2ALu/ucFTe2U0QcCcJ5eqMSC4VkElC5/dpqp
z4ViyLMQzR7BVGZlOwPrFatCSK+Evz0HP2IkOqIEI9chnMihugEWMPpEeq7kEYeo
s39/2tnX57MpjbER3Fx1kNTnSPgLqIF3XWbrA+w1AoGBAJ0BNJk3EZycVbEGRhvK
CnfTk4u669Va1bAob3F8Br+XxJznIu+OzYo6cpOuIJsEHke6dnC9retedXoX+afe
Tpe3hvN+Za+yb3O8n/tyBf6qI3Clz1S/ep65fkIeVzm28zsUUpWA45IifcP/PPxn
1RG4sYQP5EV7c9f4D3QS7+Pv
-----END RSA PRIVATE KEY-----

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

-----BEGIN CERTIFICATE-----
MIIDZjCCAk6gAwIBAgIICN4fBv57u1wwDQYJKoZIhvcNAQELBQAwgYoxCzAJBgNV
BAYTAkNOMRMwEQYDVQQDDApleGFtcGxlLmNuMRAwDgYDVQQKDAdDb21wYW55MREw
DwYDVQQLDAhEaXZpc2lvbjEOMAwGA1UECAwFQW5IdWkxDjAMBgNVBAcMBUhlRmVp
MSEwHwYJKoZIhvcNAQkBFhJleGFtcGxlQGV4YW1wbGUuY24wHhcNMjUxMTAxMjAy
NjM3WhcNMzgxMTAxMjAyNjM3WjBbMQswCQYDVQQGEwJDTjEPMA0GA1UEAwwGaXAu
Y29tMQkwBwYDVQQKDAAxCTAHBgNVBAsMADEJMAcGA1UECAwAMQkwBwYDVQQHDAAx
DzANBgkqhkiG9w0BCQEWADCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEB
AIwF/nzZKiLxo+qEVRIk4U8MMPRWh2Sef2SxtDgMFZ1i3DaDrzrHC/5C3iSwxHBF
6J+/HxAAN6Y/yNrrlMJqomjOCms+zOjfg58ruVB2pmk8SMMPu9U47qa3BDE77rWB
9jO2mC+ZW20B9ZXlySpdDYP4UYejn64oYRl7EFbfaTfcegxx7y6Ka0bW699Kw56C
GwKS//oqratsa/w/htStMxWcfAIwQ2/zqz+kWNq39m82N+P6HwtTgXyVhGwRrGtv
88tOd+8j1Zm6415t0QSlu+TETJWd6Bt9GfB3EnP3cKpVuPIRIMVWhnKbtZoE5JEj
5FPlpqzTWXyNU72I1RUJz+cCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAXTQFPW+L
sAd05h6+M+vH1c2nBosZv9KX4qD86UnDpSrS/wGDOy9Fyj8F2rj7OWVBVNzTOGxB
NC3i4U4owQLeW/EYcUdkEGmZ7gbDYBw0D76pTLR2ta3uMalNMY7+Stp8vtof7Bp+
9gTvRCtTLN4vF8vCAIualEkOKasil3oXY/G0IC1Ce9xT2AACR/W4s9S1zcrO8hwi
5/nCVlQ7RwD0qCIzTmZ1s2pndf2XzW5NTT+rMajRiEHQSDo4L32JzrJjKBMuAX7C
BPRzs1dv26GVICa29dcIBO9XUvL4qH/K5dj2JIa2LiwmMbkgQ/OhjgW3v0ccrLLa
0Q0x19CoVi0EVg==
-----END CERTIFICATE-----

3.jpg

修复前后对比:

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

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


4.jpg

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

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

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

分享给朋友:

相关文章

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

关于微信第三方平台(全网发布检测)检测流程以及踩到的坑

能点到全网发布这一步,说明你已经弄好了获取component_verify_ticket,component_access_token等这些参数,通常这个时候点击全网发布只会有这两个失败。如果其他失败的那就要好好检查一下你的代码了,或者查看...

解决 SVN Skipped 'xxx' -- Node remains in conflict

更新命令:svn up提示代码:意思就是说 ,这个文件冲突了,你要解决下Updating '.': Skipped 'data/config.php' -- ...

[教程] WTG备份新方法——FFU镜像格式

[教程] WTG备份新方法——FFU镜像格式

FFU(Full Flash Update) 格式是一种基于扇区的磁盘镜像文件格式,默认使用快速哈夫曼压缩(Xpress-Huffman)算法压缩,在捕获和部署时会生成哈希表进行校验,并可以使用DISM修改捕获的镜像。FFU格式很适合WTG...

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

系统小技巧:微软版“Ghost” Windows FFU 系统安装还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原...

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

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

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

发表评论

访客

看不清,换一张

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