使用使用 WordPress 系统的 blogger 在不断的日增,我发现国内基本上还没有多少的 blogger 关于 WordPress 的安全性问题,当然 WordPress 是一个优秀的博客系统,安全性也算是比较高,但是无论怎么样,在功能性,舒适性之前,最先考虑的其实是安全性。尤其是在一个人成功的使用 WordPress 获得成功 (高知名度,高 IP/PV 等) 时,也许会有心怀不轨的人想尽一切办法黑掉或者把数据破坏等非法的事情。下面我把 Noupe 提出的 10 条安全性建议翻译出来供大家参考:

1. 不允许任何人搜索到你的服务器信息

1). 不要在 Search.php 文件中使用这些搜索代码 from WPDesigner.com
例如: <?phpecho$_SERVER['PHP_SELF']; ?>

请使用下面的代码代替上面的代码: <?phpbloginfo('home'); ?>

2). 阻止搜索引擎 (搜索爬虫) 搜索以 WP-为开头的文件夹里面的文件。最方面的阻止方法就是在博客根目录建立 robots.txt 文件,并在里面添加:Disallow: /wp-*

2. 不要把目录以网页列表的形式暴露出来

WordPress 有一个潜在性的问题可以使得其他用户查看你的博客的插件目录以及版本号。你可以尝试的在你的博客上后加上"/wp-content/plugins/"看看效果。例如,你的博客地址是:
http://www.icyleaf.com
加上之后就为:
http://www.icyleaf.com/wp-content/plugins/

是不是可以显示出来,同样的我测试了下,themes 文件夹也可以显示的。

解决方案有 2 种,第一就是在 plugins 和 themes 文件夹下面分别建一个名为 index.htm 的空文件即可;第二是在.htaccess 文件添加下面的参数即可:
Options All -Indexes

3. 把你的版本号从 Meta 标签中删除掉

一般来说,默认的 WordPrss 以及网友制作的主题的 header.php 文件都会有你使用的 WordPress 版本号的 meta 标签 (下面) 。这极易有可能你因没有及时升级因旧版本暴露的漏洞让黑客们利用。建议删除掉这个标签。这里还有 Matt Cutts 提出的不错建议。

<meta name="generator"content="WordPress <?php bloginfo('version'); ?>" />

翻译者按:为什么网友制作的主题也会添加这个标签呢,主要是默认版本的在这个标签的后面有一个注解: <!-- leave thisforstats -->

4. 捍卫你的 wp-admin 文件夹

攻击者常常会使用一些暴力破解软件或者利用社会工程学来破解 WordPress 用户设置的弱口令 (简单,常用的密码) 。下面收集了防范的一些方法可以有效的阻止这种事情发生。

翻译者按:一个强而复杂的密码是就是非常强悍的防范措施了:)

1). 通过限制 IP 地址访问 wp-admin 文件夹

此方法是用在.htaccess 文件添加某些配置来限制某些具体的 IP 地址访问 wp-admin 文件夹

2).AskApache Password Protect

这是一个 WordPress 插件的名字,非常的简单好用,它可以为访问 wp-admin 文件夹的用户设置一个二级密码保护同时也把信息写在.htaccess 文件中,只有输入正确的用户名和密码就才能访问后台。点击这里直接下载试用吧!

3).Login Lockdown plugin

同样也是一个 WordPress 插件,他的好处就在于,他可以记录每一次登陆失败时使用者的 IP 地址和登录时间。当达到你设定的失败次数,插件的特定函数会阻止此 IP 地址的使用者继续登录操作。

5. 注意保持及时更新

你最好需要保证你的插件,主题以及使用的 WordPress 的版本的不断更新,这里建议你订阅你使用的插件,主题作者的博客以保证及时获得最新的更新消息。

6. 定期备份博客的数据库

这是一个持久的事情,你需要经常性的或者定期性的备份你博客的数据库,对于数据库的备份我们可以使用 WordPress Database Backup 插件来完成定期备份。

翻译者按:我使用的是 WP-DBManager 插件 (使用方法),同样也可以实现定期备份。

7. 升级你的 WordPress 为最新版本

也许这才是第一件要做的事情,呵呵 (^___^) 。在升级之前一定要备份好一些数据和你认为改备份的东西,至于升级可以使用 Instant Upgrade 插件 或者 WordPress Automatic Upgrade 插件来完成。

8. 使用 SSH/Shell 方式代替 FTP 登录操作

这里有一些很好的建议,点击这里查看。如果某人获得了你的 FTP 的登录信息 (当然包括密码咯),他们就可以在登录后胡作非为的,这是很可怕的事情哦... 而使用 SSH/Shell 你就大可放心,因为他们的任何传输都是通过加密的,保证安全性!

翻译者按: 其实像 FlashFXP 这类的软件其安全性很差的,很容易就能获得你保存的个人登录信息。点这里下载 Putty 客户端 (里面我添加了一些常用的 Shell 命令的帮助信息) 。其实它的操作一切按照 Linux 下面的命令:)

9. 不要再担忧你的 wp-config.php 文件

通过在.htaccess 文件添加下面的配置会使你的 wp-config.php 文件里面的配置信息 (数据库地址,用户名和密码) 更加安全可靠。

<filesmatch>deny from all</filesmatch>

10. 为你的 WordPress 用户设置一个强悍的密码

翻译者按:这段我就不过多翻译了,因为我也写过这方面的文章 (《黑客手册》 某期,不好意思我忘记是哪期了),这里我就以我的思路给大家一些方法。

大家都知道一个强悍的密码应包括字母,数字和一些特殊符号组成,如果你设置了一个 Sfd@#35,这个谁也记不着。其实一个强悍的密码看着复杂如果你知道了敲门其实一点也不难记忆,而且非常有规律,这里我举一个最简单的例子: 1+1=two

是不是很简单,1+1=2 这是很简单的数学算式,小学一年级的都会的 (现在的小学一年级有英语了吧,就算没有学前教育的父母也应该逼着他们学了吧) 。这个密码完全符合一个强悍的密码的定义。再例如:
zxasqw12`

或许猛的一看,这个是什么呀,没什么规律嘛,其实你安装这个密码自己尝试下就明白了,这个方法我称之为键盘分布法。另外还有所问非所答法,例如:

1+1=one

1+2=twelve

1+1=ten

方法还有很多,发挥你的想象力,总会出现奇迹的!