分类 标签 存档 黑客派 订阅 搜索

lamp 服务器被人恶意绑定域名的解决办法

113 浏览

还没开始就被别人绑定了域名

事情的起因与发现

刚买了个服务器搭建了一个 dz,想着域名还没备案,就先搭建了起来,然后在做 DDOS 测试时偶然发现服务器被别人恶意把域名绑定了

最初的解决方案

没管。。。。。。
后来发现有影响,朋友也一直给我说叫我整下

利用重定向把恶意指向过来的域名指到别处

要利用 301 重定向,首先我们要在 Apache 上配置一下,Apache 默认是不开启. htaccess 的


0x01. 编辑 httpd.conf 文件

打开 / etc/httpd/conf 目录下的 httpd.conf 文件,找到这一行:

LoadModule rewrite_module modules/mod_rewrite.so

当然,你得确定你的 / etc/httpd/modules 下有 mod_rewrite.so 这个文件

ls /etc/httpd/modules | grep mod_rewrite

如果你没有找到这一行,记得在 httpd.conf 文件里直接添加这一行


0x02. 设置 AllowOverride

同样的在 httpd.conf 文件中找到:

<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

或者它长这个样子:

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>

什么,你告诉我还是找不到???
那教你一个办法
锁定关键词FollowSymLinksAllowOverride None

vi 的向下查找命令是:/你要查找的
vi 的向上查找命令是:?你要查找的
n 是下一个
N 是上一个

相信你已经找到了
接下来把None改成All


0x03. 编写规则文件. htaccess

跑去网站根目录下,比如我的是 / var/www/html
如果存在. htaccess,忽略下一步,直接打开编辑
然后新建. htaccess 文件touch .htaccess
编辑. htaccess 文件vi .htaccess
添加如下规则

RewriteEngine on
RewriteCond %{HTTP_HOST} ^别人的域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.别人的域名.com$
RewriteRule ^(.*)$ http://www.自己的域名.com/$1 [R=301,L]

个人的修改

我知道,你在网上所找到的方法都是上面那种代码,并且应该都没有提 教你怎么开启. htaccess
去他爹的
但是本人实验过,这配置进去还有问题,设置重启 Apache 后,访问网站提示 500 错误
500error
机智的我总要查看日志啊

cat /var/log/messages | grep httpd

找到了错误
httpderror
英语不太好,但是大致知道是服务器没有限定域名,需要修改 ServerName, 而 ServerName 字段值在 httpd.conf 中是被注释掉的
我们在 httpd.conf 修改它

#ServerName: www.example.com:80

改为

ServerName: 115.**.**.57:80

然后重启 Apache,可以访问了


后续

好的故事都会有后续的

以为这样就万事大吉了?

但是我这个被坑得不轻
admin.xx.com 都被他解析到我服务器上来了

老衲怎么破
成龙挠头
.htaccess 好像可以用正则表达式,一查,果然
那就改一下. htaccess 咯
shaxiao

RewriteEngine on
RewriteCond %{HTTP_HOST} ^别人的域名.com$ [OR]
RewriteCond %{HTTP_HOST} ^.*.别人的域名.com$
RewriteRule ^(.*)$ http://www.自己的域名.com/$1 [R=301,L]

机智的你已经发现第三行中的 www 被我改成了.,就是匹配 0 个或者多个字符,当然你可以改成 +

然后重启 Apache

systemctl restart httpd

或者

service httpd restart

现在我再访问。。。嘿嘿嘿,被我跳转到百度了
heihei


思考

当然,还有其他的方法,自己也可以去网上找找
对了,那个刚才在 httpd.conf 里换 ip 的地方也可换自己的域名,因为我的还在备案,就没改

评论  
留下你的脚步
推荐阅读