宝塔面板设置禁止通过IP直接访问网站防止恶意解析

宝塔服务器管理是现在非常流行的一款免费的Linux管理应用,作为不想做过多运维操作的可以使用这个可视化操作

这篇文章来说一下怎么宝塔面板怎么操作禁止通过IP来直接访问网站,当然独立安装的也是同理

什么是恶意解析

恶意解析是指有人通过域名A记录直接解析自己IP地址,从而得到一个在访问者眼中完全相同网站,也会造成搜索引擎收录别人的域名

VPS的IP被人恶意绑定,流量被劫持到别的域名,从而遭到广告联盟的封杀

原理是什么呢?简单解释就是,你的网站可以通过IP直接访问,本来这没什么问题,但是如果被人恶意用别的域名解析到你的IP的话,那么你的网站就能通过别人的域名来访问了

广告联盟肯定也是跟域名绑定的,被人这么一搞,时间一长肯定会被发现域名不符,于是就GG了

Nginx防止恶意解析

这里说一下使用宝塔面板,LNMP的环境下防止恶意解析的操作

需要绑定一个默认站点,也就是找一个空闲不用的站点,所有未在面板绑定的域名都会访问到这个默认站点

添加默认站点
添加默认站点

添加好默认站点以后,修改站点的配置文件

修改配置文件
修改配置文件

添加 return 444,可以把444改成404或502等错误码,为了防止使用https访问,我们 server_name 写服务器IP地址,同时监听443端口

server
{
    listen 80 default_server;
    listen 443;
    server_name 115.*.*.*;
    return 444;

然后我们使用IP访问看一下咯

使用IP访问查看
使用IP访问查看

Apache防止恶意解析

如果你的Apache开通了虚拟主机,则需要修改 conf/extra/httpd-vhosts.conf 文件

如何判断Apache是否开通了虚拟主机,在配置文件 httpd.conf 中搜索,若有类似如下的选项的,则开启了虚拟主机,#为注释

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

若是开通了虚拟主机,则需要在 httpd-vhosts.conf 中修改配置如下,若没有开通虚拟主机,则可以直接在 httpd.conf 文件最后面,加入以下代码:

NameVirtualHost XXX.XXX.XXX.XXX
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  XXX.XXX.XXX.XXX
<Directory />
Order Allow,Deny
Deny from all
</Directory>
</virtualhost>
<virtualhost XXX.XXX.XXX.XXX:80>
ServerName  yourdomain.com
DocumentRoot  /home/wwwroot/
</virtualhost>

其中XXX.XXX.XXX.XXX为你的IP地址,第一处 virtualhost 配置为拒绝IP的任何访问请求,返回403错误

第二处的 virtualhost 配置为允许通过yourdomain.com这个域名访问,网站主目录为/home/wwwroot/

当然还可以新建一个虚拟主机配置,将来自IP的访问Rewrite到一个自定义的PHP页面,利用Apache的Rewrite和PHP实现400错误

2 条评论

发表评论

*