服务器证书?(windows证书服务器申请证书)

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

原则

用Nginx部署网站。在默认或不正确的配置下,网站打开ssl,直接访问ip的443端口,即ip:443。Nginx将返回默认站点的ssl证书,这间接使其他人能够扫描与该ip对应的域名。

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

移动大一点,分批扫描机房的ip段,统计对应的域名-ip多值映射表。以后要查一个域名对应的源站ip,查这个表就够了,这是黑产品喜欢做的事情。

同时,这也是很多站点即使被cdn明显覆盖,依然可以打到源站IP的原因。

解决办法

无法直接访问知识产权

# 禁止IP直接访问网站server {      listen       80 default_server;      listen       [::]:80 default_server;      server_name  _;      return 444;}

自签名的知识产权SSL证书,返回444

自我签证的目的不是为了访问,而是为了避免Nginx的这个缺陷。自签名的知识产权SSL证书可以由开源的mkcert(https://myssl.com/create _ test _ cert.html)工具生成。Mkcert使用起来有点麻烦,或者使用在线网络工具来测试证书:https://myssl.com/create_test_cert.html.

在您填写域名的地方填写IP地址,点击生成按钮自动显示下面的测试证书,保存为。pem文件和。密钥文件。然后在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;  }

购买合法知识产权网站的SSL证书

花点小钱买个合法的IP SSL证书,在nginx里面配置。一般知识产权证书一两百左右。

加钱,世界触手可及。

仅允许指定cdn的IP访问

Nginx只允许IP访问指定的cdn,以免被公网上的任何人扫描。以腾讯云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段更新,就添加。

服务器证书?(windows证书服务器申请证书)

(0)
上一篇 2022年4月27日
下一篇 2022年4月27日

相关推荐