• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

WordPress网站被攻击与提高安全性的一些建议

昨天发现自己基于WordPress的小站遭受了DDoS攻击,看了腾讯云CDN的统计分析,发现有两百来个ip不停请求wp-login.php以及xmlrpc.php暴力破解密码。说实话我的密码由软件生成管理的复杂程度我自己都怕 :evil: ,但是网站安全性还是要加强一下了,被当靶子的感觉真不舒服啊。主要做的是禁止了xmlrpc,wp-login登录界面做了跳转,安装了Wordfence插件~

tecent-cdn-ddos-data

 

WordPress禁止xmlrpc

xmlrpc.php这个文件到底是干啥的呢?其实它是为了实现让用户通过客户端来管理WordPress,例如使用博客客户端Weblog Clients来发布WordPress的日志和页面。从WordPress3.5开始,XML-RPC功能就默认开启了。

如果你不需要这个功能(一般来说你也不会用到这个功能),完全可以关闭它。不然就会成为一些肉鸡的攻击对象,希望暴力破解你的WordPress。

关闭xmlrpc也很简单,只需要在functions.php里加入一行代码:

add_filter('xmlrpc_enabled', '__return_false');

这样xmlrpc就被关闭了。

我是直接在Nginx的配置文件里禁止所有xmlrpc.php请求的:

location = /xmlrpc.php {
 deny all;
 access_log off;
 log_not_found off;
}

再去访问your_domain/xmlrpc.php,你就会发现返回403了~

 

WordPress登录界面跳转

既然你暴力请求我的登录界面,OK,那我就给我的wp-login加一个参数要求,如果没有对应参数或者参数的值不对,那么就会自动跳转到对应的网站:

add_action('login_enqueue_scripts','login_protection');
function login_protection(){ 
	if($_GET['user'] !='me')
		header('Location: http://www.qq.com'); 
}

这个函数的意思是只有访问your_domain/wp-login.php?user=me才会到你的登录界面,其他请求全部302到腾讯首页去~其中user和me可以随便你改

 

Wordfence插件

在做了上面两个步骤后,我也安装了Wordfence这个WordPress的安全插件~可以防文件篡改,通过防火墙规则自动屏蔽正在从事危险行为的访客,有一定的防DDOS能力,防止肉鸡对后台密码进行暴力破解~

直接插件界面搜索Wodrfence就可以安装了,安装量超过100万~

 

可以看到在禁了xmlrpc功能以及对wp-login登录界面做了跳转后,攻击者今早已经停止了对我的攻击 :neutral: 可能他今天早上起来发现“啥?我访问了一晚上的403和腾讯首页???” :evil:

最后,推荐一下腾讯云CDN,服务态度真的好!我昨天12点发工单都是秒回我的~!我还只是他们的免费用户 :razz:

点赞
  1. 冷月葬花魂说道:

    站长您好,Vultr搭建网站,选哪个位置的主机比较好呢?菜鸟啊,求告知。您是用的Vultr吧?

    1. flyzy小站说道:

      以我现在的经验来看,不建议用Vultr了,速度真的不快,建议选择香港VPS或者CN2 GIA的VPS。

      推荐使用搬瓦工的CN2 GIA:搬瓦工VPS专题:搬瓦工优惠码和搬瓦工新手教程整理

      关于什么是CN2 GIA可以参考这个文章的介绍:163骨干网 / CN2 GT / CN2 GIA线路概念介绍与VPS服务商推荐

      当然,如果你觉得$112/年太贵了,如果要选择Vultr,不如用Cloudflare的CDN套起来。Vultr自身建站速度感觉不怎么样。

  2. 王烁然说道:

    请问:wp-login.php?user=me这些配置在大概多少行修改,我在最前和最后都不能修改,谢谢。

    1. flyzy小站说道:

      在 functions.php 里就加上就行了,随便在哪里

  3. MenheraChan说道:

    那么问题来了,免费的CDN怎么薅的

    1. flyzy小站说道:

      Cloudflare 有 CDN

  4. warm说道:

    应该放在if前边,已经弄好了,非常好用,感谢,希望能多写点关于建站的

  5. warm说道:

    老哥,你这个登录界面跳转函数应该加在那个位置?? 我试了放在login.php的各种位置,都不起作用,望告知,谢谢

    1. flyzy小站说道:

      在functions.php里

      1. warm说道:

        :cry: 我这个可能有点问题,用不了这个,用wp-admin还是可以进入登录页面

        1. flyzy小站说道:

          不可能啊。你确定加了action了?

  6. jkjkjkj说道:

    用腾讯云的cdn需要域名和服务器备案吗?

  7. 火火火说道:

    emmm能说下这些配置文件在哪里的么?
    我找不到哦 :cry:

    1. flyzy小站说道:

      什么配置文件?

      1. 火火火说道:

        就是你说的要改代码的是哪些文件,不知道是哪些 :persevering: