宝塔官方说法:在未指定 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