最新公告
  • 欢迎您光临悠哉网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 别让 SSL 证书暴露了你的网站服务器 IP

    我们通常会用cdn套到服务器ip上,来为网站或者后端程序做加速、防御。可是nginx在设计上有个小缺陷,会因为ssl证书泄露网站的原IP

    原 理

    用Nginx部署网站,在默认或不正确的配置下,网站开启ssl,直接访问ip的443端口,即ip:443,Nginx会返回默认一个站点的ssl证书,间接的能让别人扫到这个ip对应的域名。

    原理就是对ip的443端口发送clienthello,对方回复的 serverhello中有ssl证书,ssl证书里的common name 有域名信息。这样就知道了解析这个ip的域名。所以更准确的说是IP的443端口可能会暴露了域名。

    动作再大一点,批量扫描机房的ip段,把对应的域名-ip 的多值映射表统计起来。以后想查某个域名对应的源站 ip 查这个表就够了,这是黑产喜欢干的事。

    同时也是很多站点,明明套上了cdn,依然能被打到源站IP的原因。

    解决办法

    1. # 禁止IP直接访问网站 
    2. server { 
    3.       listen       80 default_server; 
    4.       listen       [::]:80 default_server; 
    5.       server_name  _; 
    6.       return 444; 

    自签IP的SSL证书,返回444

    自签证书的目的不是为了访问,而是避开Nginx的这个缺陷。生成自签的IP SSL证书可以用开源的Mkcert(https://myssl.com/create_test_cert.html)工具。Mkcert使用起来稍微麻烦,或者用一个测试证书的在线网页工具:https://myssl.com/create_test_cert.html

    在填写域名的位置填上IP地址,点生成按钮会自动测试证书展示在下面,各自保存为.pem文件和.key文件。然后在nginx里配置上“return 444”,类似配置大概:

    1. listen 80 ; 
    2. listen 443 ssl http2 default_server; 
    3. server_name ip; 
    4.  
    5.   #HTTP_TO_HTTPS_END 
    6.     ssl_certificate    xxxx.pem; 
    7.     ssl_certificate_key   xxxx.pem; 
    8.     ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; 
    9.  
    10. return 444; 
    11.  

    购买合法IP站点的SSL证书

    花点小钱买个合法的IP SSL证书配置到nginx里,IP证书一般一二百左右。加钱,世界触手可及。

    仅允许指定cdn的IP访问

    Nginx仅允许指定cdn的IP访问,避免放到公网上被任何人扫。以腾讯云CDN段为例,在Nginx网站配置文件里,添加如下:

    1. location / { 
    2. allow   58.250.143.0/24; 
    3. allow   58.251.121.0/24; 
    4. allow   59.36.120.0/24; 
    5. allow   61.151.163.0/24; 
    6. allow   101.227.163.0/24; 
    7. allow   111.161.109.0/24; 
    8. allow   116.128.128.0/24; 
    9. allow   123.151.76.0/24; 
    10. allow   125.39.46.0/24; 
    11. allow   140.207.120.0/24; 
    12. allow   180.163.22.0/24; 
    13. allow   183.3.254.0/24; 
    14. allow   223.166.151.0/24; 
    15.   deny    all

    查一下使用的CDN商家的文档,如果有新的IP段更新,也加到里面。

    本文转载自微信公众号「Linux就该这么学」,作者倪家兴。转载本文请联系Linux就该这么学公众号。

    【编辑推荐】

    1. 鸿蒙官方战略合作共建——HarmonyOS技术社区
    2. 巧用Python登陆远程服务器
    3. 你知道 Redis 服务器接收到一条命令是如何执行的吗?
    4. 严重的Windows HTTP漏洞也会影响WinRM服务器
    5. 深度解析SSL数字证书,为企业网站保驾护航
    6. Openssl的常用场景视频教程(自签名证书+服务器证书+https服务)
    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.yoozai.net",如遇到无法解压的请联系管理员!
    悠哉网 » 别让 SSL 证书暴露了你的网站服务器 IP

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    悠哉网 WWW.YOOZAI.NET
    悠哉网,用户消费首选的网站,喜欢你就悠哉一下。

    发表评论

    • 1072会员总数(位)
    • 40643资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 487稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情