V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
pyufftj
V2EX  ›  云计算

wordpress 网站一直被别人暴破密码,怎么办。。。

  •  
  •   pyufftj · 2016-10-15 08:51:56 +08:00 · 7737 次点击
    这是一个创建于 2963 天前的主题,其中的信息可能已经有所发展或是发生改变。
    191.96.249.54 - - [15/Oct/2016:08:48:05 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 502 568 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.54 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 502 568 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 502 568 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.54 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.54 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:06 +0800] "POST /xmlrpc.php HTTP/1.0" 502 568 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:07 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
    191.96.249.53 - - [15/Oct/2016:08:48:07 +0800] "POST /xmlrpc.php HTTP/1.0" 499 0 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"

    查了一下 ip ,是塞舌尔的,我真是日了狗了。
    网站本来就是建了玩玩的,配置很低, 它这样不停 post ,造成网站加载很慢。看了一下 log ,从昨天晚上到现在,一直在破解。。
    这种情况怎么办啊
    第 1 条附言  ·  2016-10-15 10:46:24 +08:00
    刚才看了一下,一夜之间日志增加了 100M 。已经把它 ip ban 了。。
    39 条回复    2016-10-20 15:53:27 +08:00
    CYKun
        1
    CYKun  
       2016-10-15 08:57:59 +08:00 via Android
    ban IP 啊
    Mac
        2
    Mac  
       2016-10-15 08:59:13 +08:00
    这是老 BUG 了,你不用远程写 BLOG 的功能的话,直接把 xmlrpc.php 删了或者改名就可以了。
    sfree2005
        3
    sfree2005  
       2016-10-15 09:03:36 +08:00
    可以在你的.htaccess 添加
    ```
    # Block WordPress xmlrpc.php requests
    <Files xmlrpc.php>
    order deny,allow
    deny from all
    allow from 123.123.123.123
    </Files>
    ```
    Kaiyuan
        4
    Kaiyuan  
       2016-10-15 09:10:12 +08:00   ❤️ 1
    禁止通过 IP 访问,禁止访问 xmlrpc.php ,如果是国外网站又对访问速度不太在意的就套一层 Cloudflare, 国内网站有备案的也可以,不过速度还是会慢。
    我的设置是非域名访问都会 301 到 Cloudflare 主页,然后偶尔看看日志,发现这类请求直接添加 IP 到 iptables 黑名单。
    我这里收到的攻击都是法国的 scaleway 多,毕竟那个 VPS 只要 €2.99/month ,配置还不错。
    pyufftj
        5
    pyufftj  
    OP
       2016-10-15 09:10:35 +08:00
    @sfree2005 要重启服务器吗,加了还是不断被暴破啊
    misaka19000
        6
    misaka19000  
       2016-10-15 09:12:23 +08:00
    加一个巨复杂的验证码?
    sfree2005
        7
    sfree2005  
       2016-10-15 09:17:55 +08:00
    @pyufftj 不用重启,即使继续被爆破,加了之后还是减轻了很多负担,实在不行就只能通过防火墙 ban 掉那些个 IP 了。
    livc
        8
    livc  
       2016-10-15 09:18:57 +08:00 via iPhone
    在 v 站发你的博客地址了吧😏
    incesa
        9
    incesa  
       2016-10-15 09:22:52 +08:00
    闲的蛋疼的脚本小子吧,我的也天天被这么搞
    pyufftj
        10
    pyufftj  
    OP
       2016-10-15 09:25:00 +08:00
    @incesa 真是闲的蛋疼,我密码一串随机数字加字母,他能暴破出来我密码我就服他
    loveyu
        11
    loveyu  
       2016-10-15 09:27:56 +08:00
    我是这样玩的,然后只允许自己手机的 UA 访问,之后再也没见过别人暴密码了
    location ~/xmlrpc\.php* {
    rewrite (.*) /xmlrpc_filter.php;
    }
    breestealth
        12
    breestealth  
       2016-10-15 09:32:23 +08:00
    你需要这个插件“ iThemes Security ”,当中有很多有用的安全设置,亲身经验非常有效。
    uyhyygyug1234
        13
    uyhyygyug1234  
       2016-10-15 09:38:18 +08:00 via Android
    fail2ban
    qcloud
        14
    qcloud  
       2016-10-15 09:43:11 +08:00
    @livc 😏 就在他的个人主页
    lan894734188
        15
    lan894734188  
       2016-10-15 09:46:42 +08:00 via Android
    验证码
    isbase
        16
    isbase  
       2016-10-15 09:49:18 +08:00 via Android
    fail2ban 挺好用的
    pyufftj
        17
    pyufftj  
    OP
       2016-10-15 10:18:59 +08:00
    @breestealth 好的,谢谢啦!
    pyufftj
        18
    pyufftj  
    OP
       2016-10-15 10:28:58 +08:00
    @sfree2005 恩,现在好了。妈蛋,我把文件改名了,他还是不停一秒钟发几个 post ,不过返回 404 。直接把 ip ban 了,终于清静了。
    Technetiumer
        19
    Technetiumer  
       2016-10-15 10:31:28 +08:00 via Android
    直接伪装成破解成功,清静了
    ZE3kr
        20
    ZE3kr  
       2016-10-15 10:52:52 +08:00 via iPhone
    https://www.v2ex.com/t/310759#reply9 遇到过同样问题,我是安装 Wordfence 解决的

    其实吧,密码设置一定要足够复杂,不怕破解。每秒 3 次能破解出啥。攻击者也不是针对你。而且这种频率占不了多少配置。

    日志大的话,关了就行了
    cevincheung
        21
    cevincheung  
       2016-10-15 10:54:46 +08:00
    有两步验证插件的路过。。表示密码就是 admin 。。来吧。
    ZE3kr
        22
    ZE3kr  
       2016-10-15 11:06:17 +08:00   ❤️ 1
    看错了,大概每秒 7 次左右,这种频率也不低了。(删 xmlrpc 会导致一些问题,比如客户端无法使用等,个人不建议)

    ban ip 只是暂时的,攻击者 IP 又很难确定,以下方法很通用:

    我用的 Nginx ,在 http{}里加上这一行:

    limit_req_zone $binary_remote_addr zone=php:10m rate=2r/s;

    在 server{} 里的 location ~ [^/]\.php(/|$) {} 里加上

    limit_req zone=php burst=16;

    这样就能限制每 IP 每秒最多两次请求,否则 503 。静态内容不受影响

    这能有效解决 CPU 占用问题,然后再配合各种插件,通过 PHP 再加一层屏蔽,这种方法没前者高效,但同样必要。

    log_not_found off; —— 404 页面不去记录日志
    kn007
        23
    kn007  
       2016-10-15 11:15:24 +08:00
    最简单的就是给 wordpress 的 login 套上一层简单验证。
    https://kn007.net/topics/wordpress-how-to-protect-the-wp-login-php-and-wp-cron-php/
    fhefh
        24
    fhefh  
       2016-10-15 11:17:05 +08:00
    @Kaiyuan 大哥 可以发个购买地址不 偶去看看
    falcon05
        25
    falcon05  
       2016-10-15 12:27:31 +08:00 via iPhone
    以前写过一个插件,把 xmlrpc 实现了二次验证
    McContax
        26
    McContax  
       2016-10-15 12:33:08 +08:00 via iPhone
    Wordpress 的话用极验验证可以解决的吧,而且还是免费,这个还可以用来阻挡垃圾评论,效果超好。
    congeec
        27
    congeec  
       2016-10-15 12:48:55 +08:00
    搞定了以后可以用蜜罐玩玩脚本小子
    rosu
        28
    rosu  
       2016-10-15 15:59:44 +08:00
    搜一下插件就行了
    lalala2016
        29
    lalala2016  
       2016-10-15 16:28:04 +08:00 via Android
    给后台页面设置固定 ip 访问权限,除了指定 ip 外其他的通通拒绝。还有个比较傻瓜式的方法,有些 cdn 有路径访问限制功能,先上 cdn 再更换 ip (这个是必须的,就算不允许 ip 访问可只要知道域名和真实 ip 一样能爆破,这时 cdn 已经被废掉了),在 cdn 后台设置禁止访问网站后台,然后自己电脑 host 真实 ip (目的是绕开 cdn 防护),这样就只有自己能登陆后台了。如果想把防御设置的更变态一些,就把 cdn 的 ip 段和自己的 ip 加入服务器白名单,,除此外拒绝一切 ip ,这样子如果不是顶尖高手恐怕没人能破得了,安全性 99.999999 %
    axot
        30
    axot  
       2016-10-15 16:30:06 +08:00 via iPhone
    otop 不行吗
    axot
        31
    axot  
       2016-10-15 16:32:06 +08:00 via iPhone   ❤️ 1
    打错了 totp
    cevincheung
        32
    cevincheung  
       2016-10-15 16:35:04 +08:00
    @axot 对的有插件完美解决。
    wevsty
        33
    wevsty  
       2016-10-15 22:30:13 +08:00
    同被这个 ip 盯上,结果把我的小机搞挂掉了。。。
    果断 iptables 禁止 IP 段,然后.htaccess 禁用 xmlrpc.php 了
    j8sec
        34
    j8sec  
       2016-10-16 01:27:12 +08:00
    recaptcha
    hoythan
        35
    hoythan  
       2016-10-16 01:58:12 +08:00
    删除 xmlrpc.php 就可以了
    其他可以删除并且有作用的有
    hoythan
        36
    hoythan  
       2016-10-16 02:00:01 +08:00
    wp-trackback.php
    readme.html
    license.txt
    wp-comments-post.php
    wp-mail.php
    wp-cron.php
    作用虽然有,但是作用不大,基本可以用其他插件或者自己写的主题功能代替. 尤其是 comments 是 wp 所有垃圾评论的根源文件.
    tangzhehao
        37
    tangzhehao  
       2016-10-16 04:30:20 +08:00
    xmlrpc 一定要关闭
    http://tzh.in/269.html
    hasbug
        38
    hasbug  
       2016-10-16 22:05:50 +08:00
    一有新版就升级的路过
    sky170
        39
    sky170  
       2016-10-20 15:53:27 +08:00 via iPhone
    google Authenticator
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6002 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:16 · PVG 11:16 · LAX 19:16 · JFK 22:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.