BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏

对于用BT宝塔的小伙伴,很多时候建站基本程序都是用NGINX,用的没啥问题,但是大家有没有发现,如果你直接在地址栏上输入IP去访问的话,一般默认会返回一个BT宝塔的默认页面。如果你前面再加上https的话,那么估计就会看到你的网站了。因为宝塔默认没有禁止别人通过IP访问,因此很容易被扫描器扫描到,加上NGINX的通过IP访问HTTPS的话,会自动匹配第一个站点的SSL证书给IP使用,因此会造成IP泄露(证书带域名信息,网上有扫描全网IP并读取SSL证书中域名信息的方法)

那么,怎么设置BT宝塔Nginx设置只允许域名访问,禁止IP访问呢?特别涉及到HTTPS的话,这个源站IP如何防止泄漏呢?虾皮路也捣鼓了一下,分享一下过程。

为了安全起见,接下来需要做两个事情。

1、给IP配置上一张带错误域名的证书,防止泄露你自己的域名

2、禁止直接访问IP,将访问IP的请求,不管是HTTP还是HTTPS全部转错误页  返回状态码444 ERR_EMPTY_RESPONSE

两步其实可以合并成下面步骤操作:

1、BT宝塔面版上新建站点

首先在宝塔中创建一个默认站点,这里域名随意填写,只要不是你的域名就行。

这里我们可以输入一个 default.com ,或者你也可以输入123.com、456.com等等

BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏插图

2、修改默认站点

我们需要将默认的站点改为default.com

BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏插图1

3、给默认站点设置证书

给IP配置上一张带错误域名的证书,我们这里利用了CLOUDFLARE来作为错误证书颁发源,利用CF 接入域名,可以颁发15年的仅CF CDN网络体系承认的证书的功能。

大家可以使用我们已经生成的这张证书,反正只要域名不是你真实的域名就行了,提供如下。

公共证书(PEM格式)

-----BEGIN CERTIFICATE-----
MIIDITCCAsagAwIBAgIUTcEWLzynkLCFCoAC1iDH2vG3EkYwCgYIKoZIzj0EAwIw
gY8xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMRkwFwYDVQQKExBDbG91ZEZsYXJlLCBJbmMuMTgwNgYDVQQL
Ey9DbG91ZEZsYXJlIE9yaWdpbiBTU0wgRUNDIENlcnRpZmljYXRlIEF1dGhvcml0
eTAeFw0xOTAxMTMxNDMxMDBaFw0zNDAxMDkxNDMxMDBaMGIxGTAXBgNVBAoTEENs
b3VkRmxhcmUsIEluYy4xHTAbBgNVBAsTFENsb3VkRmxhcmUgT3JpZ2luIENBMSYw
JAYDVQQDEx1DbG91ZEZsYXJlIE9yaWdpbiBDZXJ0aWZpY2F0ZTBZMBMGByqGSM49
AgEGCCqGSM49AwEHA0IABAg/hZ9lDHj/f+0jDRAN23TkNEqIi46mCGnwZVD3glxL
l+a1mpfXLHSEFTipnSyQgmvkPYzQGaEIFD0q6W/ZgMujggEqMIIBJjAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUFBwMBMAwGA1UdEwEB
/wQCMAAwHQYDVR0OBBYEFCEZF6Eyem01XPbgwr6DXLZV1qsQMB8GA1UdIwQYMBaA
FIUwXTsqcNTt1ZJnB/3rObQaDjinMEQGCCsGAQUFBwEBBDgwNjA0BggrBgEFBQcw
AYYoaHR0cDovL29jc3AuY2xvdWRmbGFyZS5jb20vb3JpZ2luX2VjY19jYTAjBgNV
HREEHDAaggwqLmRuc3BvZC5jb22CCmRuc3BvZC5jb20wPAYDVR0fBDUwMzAxoC+g
LYYraHR0cDovL2NybC5jbG91ZGZsYXJlLmNvbS9vcmlnaW5fZWNjX2NhLmNybDAK
BggqhkjOPQQDAgNJADBGAiEAnrequCk/QZOOrcPH6C3Hgcy4SPNUy5rQtku/aYkj
qQoCIQCN6IyYNiXuwG+8jUgJrveiirBjiz2jXZSTEfVAyibjTg==
-----END CERTIFICATE-----

密钥(KEY)

-----BEGIN PRIVATE KEY-----
MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgK0HE3hTJQDg6p/fj
nS92eSuRKZEZ5F4grT6tWFKNYVmhRANCAAQIP4WfZQx4/3/tIw0QDdt05DRKiIuO
pghp8GVQ94JcS5fmtZqX1yx0hBU4qZ0skIJr5D2M0BmhCBQ9Kulv2YDL
-----END PRIVATE KEY-----

把以上两个证书直接复制到默认站点的ssl选项中的其他证书里面,注意不要搞反了。

BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏插图2

4、修改站点配置

以上操作完成后,修改默认站点的配置文件

在后面新增一个返回代码:

return 444;

如下图示意

BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏插图3

这个时候,无论是通过http://IP访问,还是通过https://IP访问,都将返回无法访问的页面。如果用网上的漏洞扫描程序,扫到的这个IP的证书就是dnspod的了,这样你的IP就不会泄露。

 收藏 (0) 更新不易,打赏吧

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

除特别注明外,本站所有文章均基于CC-BY-NC-SA 4.0原创,转载请注明出处。
文章名称:《BT宝塔Nginx设置只允许域名访问禁止IP访问 SSL同步设置防源站泄漏》
文章链接:https://www.xiapilu.com/web/web-tutorial/bt-nginx-disable-ip-access-ssl.html
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录   注册

切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活