解决宝塔面板启用SSL后https窜站问题
宝塔官方说法:在未指定 SSL 默认站点时,未开启 SSL 的站点使用 HTTPS 会直接访问到已开启 SSL 的站点
使用宝塔面板的朋友,应该都遇到过所谓的“HTTPS窜站”问题。许多人在发现这个问题时,往往选择忽视,认为它不会带来太大影响,因此没有采取任何处理措施。然而,这种忽视行为实际上是极为危险的——不能抱有“无关紧要”的侥幸心理。通过这个漏洞,攻击者可能会利用它进行一系列潜在的恶意操作。
首先,虽然窜站问题可能会影响SEO的收录,但更为严重的是,它会引发一系列安全隐患:最关键的是,你的源站IP地址有可能会被泄露,哪怕你已经启用了CDN加速,问题依然存在。那么,源站IP是如何泄露的呢?简而言之,攻击者可以通过直接访问服务器的IP地址(例如:https://你的服务器IP
)来触发nginx返回默认的SSL证书。通过查看证书详情,攻击者就可以获取到与你站点相关的域名信息,从而定位到源站IP,这为进一步攻击提供了线索。
接下来,本文将重点讲解如何修补这一“窜站”问题,防止源站IP泄露。使用宝塔面板的朋友,按照以下步骤操作即可有效防范。对于使用LNMP一键包或其他程序的朋友,也可以参考本指南进行相应的配置。
创建虚假站点
新建一个不存在的站点,域名填写为:default.default
,提交,如下图:
删除创建好站点内的index.htnl和404.html
配置SSL证书
“密钥(KEY)”填:
-----BEGIN EC PRIVATE KEY----- MIGkAgEBBDC/zr/8+7tnXWwC807kdbZQyxH/lRSpeRbHVgef7iE/CzWBk2uNiniq WrFTdH0OiZGgBwYFK4EEACKhZANiAAT8Z1VwFf4SK0ND9Wi9x0BPfSiUbk+mPqtV u/cUqBpqVi/ZzjLM7fmg5GtrDjyl625zkwmelkq50UdGGOdNt5NNM/CopQN94pHo vHzOVFofBJ2mKKlHnsiVepLPMRWtSm4= -----END EC PRIVATE KEY-----
“证书(PEM 格式)”填:
-----BEGIN CERTIFICATE----- MIICIDCCAaWgAwIBAgIUMgE3+cV8+W132pIaJ28aM5LgblgwCgYIKoZIzj0EAwMw YTELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzERMA8GA1UEBwwIU2hl bnpoZW4xFTATBgNVBAoMDExYVFggTGltaXRlZDEUMBIGA1UEAwwLTFhUWCBFQ0Mg Q0EwIBcNMjQxMTA2MDYyMDM3WhgPMjkxMjA0MDUwNjIwMzdaMBoxGDAWBgNVBAMM D2RlZmF1bHQuZGVmYXVsdDB2MBAGByqGSM49AgEGBSuBBAAiA2IABPxnVXAV/hIr Q0P1aL3HQE99KJRuT6Y+q1W79xSoGmpWL9nOMszt+aDka2sOPKXrbnOTCZ6WSrnR R0YY5023k00z8KilA33ikei8fM5UWh8EnaYoqUeeyJV6ks8xFa1KbqNjMGEwHQYD VR0OBBYEFDyru1xUJXruEpSsG+ELjE6pptQRMB8GA1UdIwQYMBaAFCsqoJBRV3yR Nf+I2Wa3XqRNT+f7MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgKEMAoG CCqGSM49BAMDA2kAMGYCMQDTe8nmFVoAPJorj1vsWbKQhHTv7CAXGJfvrIBlmnMe h36QZDpGJWOA5G/wZGTvuKECMQDPU4HFeFTtFobaX+xGKTTvECoFbLT7ypBVV5Gb fCtK9tC7O6kXp5m84e23YNI7x0g= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIICfjCCAgOgAwIBAgIUWcQINz6zaOfKQdQxHCsh3Vo8ZYMwCgYIKoZIzj0EAwMw eDELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzERMA8GA1UEBwwIU2hl bnpoZW4xFTATBgNVBAoMDExYVFggTGltaXRlZDEQMA4GA1UECwwHUm9vdCBDQTEZ MBcGA1UEAwwQTFhUWCBFQ0MgUm9vdCBDQTAgFw0yNDExMDYwNjIwMThaGA8zMDIz MDMxMDA2MjAxOFowYTELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzER MA8GA1UEBwwIU2hlbnpoZW4xFTATBgNVBAoMDExYVFggTGltaXRlZDEUMBIGA1UE AwwLTFhUWCBFQ0MgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARicMexTSkZLApR 2Aoz8uji5V9l9lu1HRHhzozA6QZT2fh/d7+wBst0tYBcfWFdUUSbmJtQI2krNIEY pY3CFER0jX6ZLWbCXE2BIG0KUnLd6YM+WLRm1LHTatvno1Mzq8CjYzBhMB0GA1Ud DgQWBBQrKqCQUVd8kTX/iNlmt16kTU/n+zAfBgNVHSMEGDAWgBSdC8eWXdWX6Lqc GBasWD4YXx0pwzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIChDAKBggq hkjOPQQDAwNpADBmAjEAiOrOPY25Bo3hfBH8yTFFqpS4gVGfGRX8GVvKNHFL6Zj0 IUWn6SZonqWmwa02OAIZAjEAhHg2XfsIuKz4FtUahJVq+nSFUqjvu+aybQ9qqMLB zeXvk9alWjjLPVOST3bjW2yF -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIClTCCAhqgAwIBAgIUBSppqMEOoTZx+r3U13Q+dJxpeUIwCgYIKoZIzj0EAwMw eDELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzERMA8GA1UEBwwIU2hl bnpoZW4xFTATBgNVBAoMDExYVFggTGltaXRlZDEQMA4GA1UECwwHUm9vdCBDQTEZ MBcGA1UEAwwQTFhUWCBFQ0MgUm9vdCBDQTAgFw0yNDExMDYwNjIwMDBaGA8zMDI0 MDMwOTA2MjAwMFoweDELMAkGA1UEBhMCQ04xEjAQBgNVBAgMCUd1YW5nZG9uZzER MA8GA1UEBwwIU2hlbnpoZW4xFTATBgNVBAoMDExYVFggTGltaXRlZDEQMA4GA1UE CwwHUm9vdCBDQTEZMBcGA1UEAwwQTFhUWCBFQ0MgUm9vdCBDQTB2MBAGByqGSM49 AgEGBSuBBAAiA2IABKP/c6ZRSOHO7mwTqKZ/6ZwvBi+5drxa3F/akIeQTpl3PaBc 0GmZTflBat9xLYVs6+0nlncPrbfu00NuKwQU7+kKtamNnMXJtnGnmEBY+vMwfsa2 toPjAdLxU053fA4NsqNjMGEwHQYDVR0OBBYEFJ0Lx5Zd1ZfoupwYFqxYPhhfHSnD MB8GA1UdIwQYMBaAFJ0Lx5Zd1ZfoupwYFqxYPhhfHSnDMA8GA1UdEwEB/wQFMAMB Af8wDgYDVR0PAQH/BAQDAgKEMAoGCCqGSM49BAMDA2kAMGYCMQC8f5SDctE19Zpm NhPsr54JkuhWKeUveWQdWQurHj6Ua1lnIErZjK3ytMPB8b+EGAUCMQCsd6Jc+LdS +Gvdsvxaeccqjga3WifwsYk2V2TcEWUHwOSYKDwqmw5rNGshOmId1cA= -----END CERTIFICATE-----
设置默认站点
校验配置结果
至此,所有设置已完成。接下来,访问https://你的服务器IP
,如果浏览器提示如下所示(在“高级”选项中无法看到你服务器的域名),或者出现“403 Forbidden”错误,那么恭喜你,漏洞已经成功堵住!如果依然能够访问到你的网站,那么“恭喜你”,说明你的服务器仍然暴露在这个漏洞之下,赶紧修复吧!
虽然宝塔在版本V7.9.0中已修复了这个问题,从此版本开始,你可以在“网站 - 安全设置”中启用“HTTPS防窜站”功能;而在宝塔V8.0及以后版本中,则可以在“网站 - 高级设置”中找到并开启“HTTPS防窜站”选项。然而,值得注意的是,这一修复并不能完全防止源站IP的泄露,因此仍建议按照本文的方法进一步加强配置,以确保安全性。
我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=3ot4m02sdou8k