阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

别让SSL证书暴露了你的网站服务器IP

25次阅读
没有评论

共计 1389 个字符,预计需要花费 4 分钟才能阅读完成。

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

别让 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 的原因。

解决办法
禁止直接访问 IP
# 禁止 IP 直接访问网站
server {
      listen       80 default_server;
      listen       [::]:80 default_server;
      server_name  _;
      return 444;
}
自签 IP 的 SSL 证书, 返回 444

自签证书的目的不是为了访问,而是避开 Nginx 的这个缺陷。生成自签的 IP SSL 证书可以用开源的 Mkcert(https://myssl.com/create_test_cert.html) 工具。Mkcert 使用起来稍微麻烦,或者用一个测试证书的在线网页工具:https://myssl.com/create_test_cert.html
别让 SSL 证书暴露了你的网站服务器 IP
在填写域名的位置填上 IP 地址,点生成按钮会自动测试证书展示在下面,各自保存为.pem 文件和.key 文件。然后在 nginx 里配置上“return 444”,类似配置大概:

{
listen 80 ;
listen 443 ssl http2 default_server;
server_name ip;

  #HTTP_TO_HTTPS_END
    ssl_certificate    xxxx.pem;
    ssl_certificate_key   xxxx.pem;
    ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

return 444;
  
}
购买合法 IP 站点的 SSL 证书

花点小钱买个合法的 IP SSL 证书配置到 nginx 里,IP 证书一般一二百左右。

加钱,世界触手可及。

仅允许指定 cdn 的 IP 访问

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

location / {
allow   58.250.143.0/24;
allow   58.251.121.0/24;
allow   59.36.120.0/24;
allow   61.151.163.0/24;
allow   101.227.163.0/24;
allow   111.161.109.0/24;
allow   116.128.128.0/24;
allow   123.151.76.0/24;
allow   125.39.46.0/24;
allow   140.207.120.0/24;
allow   180.163.22.0/24;
allow   183.3.254.0/24;
allow   223.166.151.0/24;
  deny    all;
}

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

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1389字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中