也来谈谈WordPress的防黑

小博客有时候虽然没多少人来,不过有时候很容易成为人家练习的对象。关于服务器安全的问题咱不太懂也不好多说,如果有需要的话,咱可以请教一下东山大大。下面就列出几招个人觉得比较有效的防黑手段:

1:SSL证书

虽然对于小博客来说,SSL证书会影响一点访问速度,降低用户体验,但是确实有效果。所以个人建议只要在后台加SSL就行了。改天有空了也去搞个StartSSL的证书玩玩,反正也不贵,还能装X!

2:修改WP版本

修改WP版本有两个好处吧,一是有些博主给主题动了很大刀子,自己修改过哪些文件自己也记不得了,加上WP研发团队实在太积极了,隔三差五提示更新,有强迫症的人(比如我)看到后台有个“1”就不爽,改了版本就不会提示了。第二个好处是隐藏了版本,攻击者就不知道用什么版本的漏洞了,增加了攻击成本。于是修改版本的文件是在:“/wp-includes/version.php”,只要把版本数字改掉就行了,比如改成3.9.0:

$wp_version = '3.9.0';

3:防止后台暴力破解

关于这个其实有两种做法,一种是修改后台的登陆地址:

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

 注意:上面的除了修改“xxx.com”,最好把$_GET的参数和值也改了,因为这代码很古老了……当然为了提高安全性也可以多加几个参数。

其实仔细一观察WP的后台是通过post提交表单的,所以以上方法不过是个障眼法而已,不一定能起到非常有效的作用……

wp-post

不嫌后台插件多的我这里推荐一个插件:Hide My WP(下载地址:https://sell.moe/5idv)这个插件可以把WP修改得面目全非,连静态文件路径都改了இдஇ 看下图就知道有多吊了……怪不得官网写着:

No one can know you use WordPress

Hide My WP1 Hide My WP2

第二种是加个后台验证码或者密码尝试次数限制。可以使用Limit Login Attempts这个插件(下载地址:https://sell.moe/3mfg),在后台自定义每个IP限制尝试次数,由于攻击者很可能持有大量IP,所以也可以使用SI CAPTCHA Anti-Spam 插件(下载地址:https://sell.moe/riys

4:不要随便分配目录/文件权限

像wp-content、wp-admin、wp-include等重要文件夹一定不要设置为777权限,这是大忌!有时候一些新手为了方便修改代码,比如wordpress有时候会提示输入FTP账号密码,或者后台编辑代码权限不够时,会递归赋予目录和文件777权限(其实很久以前我也是这么干的。;゚(。ノω\。)゚’。)

5:加一段代码防止暴露文件绝对路径

这个BUG是wordpress全版本通吃的,至少最新版本也是。访问如下文件会暴露php文件的绝对路径:

1、/wp-includes/registration-functions.php
2、/wp-includes/user.php
3、/wp-admin/admin-functions.php
4、/wp-admin/upgrade-functions.php
5、/wp-includes/taxonomy.php
6、/wp-admin/includes/file.php
7、/wp-settings.php
8、/wp-content/plugins/hello.php  这是哪个你好多利的插件,把这个插件删了就行
9、/wp-content/themes/twentyeleven/index.php  这个是老版本的WP的主题,没升级WP的要改一下的
10、/wp-admin/includes/admin.php

这时候只要设置一下PHP的报错级别即可。解决办法是打开以上四个文件,在”<?php” 后面加上以下代码即可:

error_reporting(0);

所以最好大家还是把wordpress升级到最新版本吧!

6:防止DDoS

DDoS相信大家都知道,虽然一般小博客被攻击的几率挺小,不过最好也是防范一下:

首先,你要选个好点的主机,有条件最好不要图小便宜买不知名的虚拟主机,一旦被攻击就是连累一大帮人包括你……即使只是Ctrl+F5也够呛……防御这个可以使用WP-Super-Cache缓存插件,然后把静态文件全部弄个CDN(推荐七牛!插件下载地址:https://sell.moe/u0wg)或者用SAE搭一个SaeLayerCDN→https://sell.moe/psst

其次,Apache可以参考这篇文章使用mod_rpaf模块 mod_evasive模块防止DDoS→https://sell.moe/4j8t  Nginx的可以参考这篇文章→https://sell.moe/aosi  其实我根本没实际测试过是否有效,纯属凑字数的哈哈

如果你已经受到了DDoS,先别急着修复,先把A记录改为127.0.0.1,让攻击者循环艹自己,然后通过nginx的日志屏蔽对方IP,具体做法是:

第一步:打开nginx.conf(lnmp一键安装包的话在/usr/local/nginx),在文件最后加上

include  vhost/blockip.conf;

通过查看access log(看了一下我默认把日志给关了O口O!  )屏蔽对方IP,具体可以参考这篇文章→https://sell.moe/b8yl

7:记得备份

说到这个,我算是一个血的教训吧~当年大意失荆州——装了个VPS控制面板,结果觉得不好用卸载后打开FTP,面对这网站文件夹目录里空荡荡的景象我吓得尿了裤子……于是查看了一下该面板的卸载脚本,一大堆的“rm -rf”,简直丧心病狂,不就卸载个面板嘛!你倒好,好人做到底,连nginx、php、mysql也一起带走了……当时还天真地认为数据可以找回来,发了好几个ticket给主机商,结果被告知OVZ架构的VPS无法恢复数据……所以这个血淋淋的教训大家要切记啊!至少折腾的时候先折腾localhost,不要直接折腾生产环境ヽ(;^;)ノ

说了这么多,还是希望蛋疼的攻击者能少点,各位博主的博客能稳定点啦。以上这些是我归纳总结的,并非纯原创,希望能与大家共勉!

12.11日新增:

1、千万不要把编辑完的.bak文件留在服务器上,也不要随意在服务器上留下随手写的代码,这些东西非常有可能成为黑客入侵的切入点!

这篇文章有15条评论

  1. 那时年少 2013/12/9 #1 回复TA

    小博还好,到目前还没发现有攻击

    • Kagami po主 回复 那时年少 2013/12/9 回复TA

      欢迎来访~
      最好是博客永远都不要受到攻击啦~不过稍微防范一下也是必要的嗯

  2. ki1418 2013/12/9 #2 回复TA

    對,先做好預防,否則有事情發生 將會是災難!

  3. 小蜜蜂 2013/12/9 #3 回复TA

    果然都看不太懂~不过最后一条我还是比较遵守地

    • Kagami po主 回复 小蜜蜂 2013/12/9 回复TA

      我主要是玩VPS比较多所以这方面了解了一下,备份时个好习惯啊O(∩_∩)O

  4. 无纯洁 2013/12/10 #4 回复TA

    受到DDoS的话,明显就应该修改A到有关部门

  5. 0okmnbvcxzx 2014/1/31 #5 回复TA

    表示我的博客除了上次有个无聊的家伙用VPS尝试爆破密码刷了20多页日志之外都基本没什么攻击- –

    • Kagami po主 回复 0okmnbvcxzx 2014/1/31 回复TA

      个人博客的话还是改一下登陆地址吧,人家爆破也要占用CPU和内存QwQ

      • 0okmnbvcxzx 回复 Kagami 2014/2/2 回复TA

        感觉我在Better WP Security里限制了登陆应该不会有问题了吧,而且我不了解怕改出问题~~(>_<)~~

  6. 英文……

发表评论戳我取消回复

*

List
Love
00:00