zoukankan      html  css  js  c++  java
  • lamp服务器被人恶意绑定域名的解决办法

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

    事情的起因与发现

    刚买了个服务器搭建了一个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的地方也可换自己的域名,因为我的还在备案,就没改

  • 相关阅读:
    PAT甲级——1110 Complete Binary Tree (完全二叉树)
    PAT甲级——1111 Online Map (单源最短路经的Dijkstra算法、priority_queue的使用)
    PAT甲级——1112 Stucked Keyboard (字符串+stl)
    PAT甲级——1114 Family Property (并查集)
    PAT甲级——1118 Birds in Forest (并查集)
    Pre- and Post-order Traversals(先序+后序序列,建立二叉树)
    PAT甲级——1123 Is It a Complete AVL Tree (完全AVL树的判断)
    AVL树(自平衡二叉查找树)
    PAT甲级——1126 Eulerian Path
    团队项目-选题报告
  • 原文地址:https://www.cnblogs.com/Akkuman/p/6959147.html
Copyright © 2011-2022 走看看