可搜索,可注册,可登录,致敬逗比大佬!尽在救援版逗比根据地 dbgjd.com
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程

WEB服务器安全指南 – 防止源站IP暴露

News mootangman1977 111℃ 0评论

通常,我们在搭建网站的时候,为了防止被攻击,可能会使用一些CDN/WAF来保护源站,但是如果配置不恰当,源站ip可能还是会暴露(如Censys.io等网站),这里提供一些方法来避免这种情况的发生。

443端口SSL证书泄露

在使用nginx作为web服务器的时候,对于未绑定的域名可能会解析到其他站点,容易被恶意解析。在443端口上,这种情况可能更加严重,在直接访问443端口时,nginx会使用第一个配置了SSL的站点的证书来建立连接,导致源站暴露,我们可以通过配置一个空白证书到默认站点来解决问题。

先在任意目录下建立ssl.crtssl.key两个文件,内容如下(这是一份长期有效的空白证书):

ssl.crt

-----BEGIN CERTIFICATE----- MIIBkjCB/AIJAI3bCYqa39hiMA0GCSqGSIb3DQEBBQUAMA0xCzAJBgNVBAYTAiAg MCAXDTE4MTEyNDA5MDMzOFoYDzIwOTkxMjMxMDkwMzM4WjANMQswCQYDVQQGEwIg IDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA18hepvNcznqDj735Opxircn3 M0Ruv8nkpHHPuurxr6tLPKAe1XAsy5dWHDbK7t4sXpT0ds9c74yqmvfwKofPk7z9 ZBhmyw/5sp454/JftL1c2fr58wB9ETfX6as5aR5hQR0M0NuQLSAB/KVzi9eeNWDd EzT0QN5B1Ai9BR/ApMMCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBiqHZsuVP09ubT GzBSlAFEoqbM63sU51nwQpzkVObgGm9v9nnxS8Atid4be0THsz8nVjWcDym3Tydp lznrhoSrHyqAAlK3/WSMwyuPnDCNM5g1RdsV40TjZXk9/md8xWxGJ6n1MoBdlK8T H6h2ROkf59bb096TttB8lxXiT0uiDQ== -----END CERTIFICATE-----

ssl.key

-----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQDXyF6m81zOeoOPvfk6nGKtyfczRG6/yeSkcc+66vGvq0s8oB7V cCzLl1YcNsru3ixelPR2z1zvjKqa9/Aqh8+TvP1kGGbLD/mynjnj8l+0vVzZ+vnz AH0RN9fpqzlpHmFBHQzQ25AtIAH8pXOL1541YN0TNPRA3kHUCL0FH8CkwwIDAQAB AoGAQ4ejh6AV5VCWJ8AOZXdXsofIYzUBa+glNAmiNx8b8BwteZWq0KVAf56nBkFn lQXW4OrA7wXKUfW11rXNZaIHJePJXv1swkN9+Em18Hon6BrtcqnKAwzAbhok3SzY IVjI/zrgOABH6+ii77xCRBzI1itVPNN88DAUHC7PYLYiaaECQQD7PSoij37+kMc/ wPeEkl9r3vzU0OrsCsjU8Ev714OaoL/SIuAh6nsiRh9rcbUrrpGSSzIcmsk9HMDa hXBNkNl5AkEA298yQvssaUc4tbEWxAVfd9DsHJdCdbXfgf9Dy5/tpCzYncY7T0du VVHqKu3jXWoMc5XlesiCOerU/DIlMM8dGwJBANQn7GLO5iC1xWvS2bF7oVSIMtzL pvW4jaszWBbNAPccc59RkA9T4LMqn/GtTZ4bhhYRpbl+BB21IC3nrNPzU5ECQG8T Ln0QDruQs2F2eR3F6RjKfr1i3LxCiQtPPZycypzp2vS5tDS0zVRk8XuGehoy/N9X lnqU2NURgU92tbsWpokCQQDdc9tU3B/OM/YfzUNwvOLmUVwrJX6PFSFsOn+XHrCC q9LcGEAHyzaf5GEWje84ee4rkv5oaZcwll3dg4IioBnC -----END RSA PRIVATE KEY-----

然后我们在nginx默认配置文件(此处以宝塔 /www/server/panel/vhost/nginx/0.default.conf 为例,不同环境可能位置不同)中添加如下内容:

server {     listen 80;     server_name _;     index index.html;     root /www/server/nginx/html;  #这里填写web默认目录     return 444; }  server {     listen 443 ssl;     server_name _;     ssl_certificate    /xxx/ssl.crt;  #这里填写你的证书绝对路径     ssl_certificate_key    /xxx/ssl.key;     ssl_protocols TLSv1 TLSv1.1 TLSv1.2;     ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;     ssl_prefer_server_ciphers on;     ssl_session_cache shared:SSL:10m;     ssl_session_timeout 10m;     index index.html;     root /www/server/nginx/html;  #这里填写web默认目录     return 444; }

然后再重启nginx服务器,就大功告成了,这样服务器在被未绑定域名访问时就会直接断开连接(返回 HTTP 444),避免了潜在的安全风险。

转载请注明:逗比根据地 » WEB服务器安全指南 – 防止源站IP暴露

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址