关于wordpress的10条安全建议

前段时间一个大妈投递一篇关于wordpress安全的文章,看来如何让wordpress更安全的运行,已经引起了大家的注意,看看icyleaf翻译的wordpress安全保密hacks(有删节,原文有疏漏,大家还是看这里吧),是不是更全面呢?

1. 不允许任何人搜索到你的服务器信息
1).不要在Search.php文件中使用这些搜索代码,如:
<?phpecho$_SERVER[‘PHP_SELF’]; ?>

请使用下面的代码代替上面的代码(请在英文输入法下敲入以下代码):
<?phpbloginfo(‘home’); ?>
绝大多数主题已经修改了,这点大家可以放心。

2).阻止搜索引擎(搜索爬虫)搜索以WP-为开头的文件夹里面的文件。最方面的阻止方法就是在博客根目录建立robots.txt文件,并在里面添加:
Disallow: /wp-*
当然还得加上
Disallow: /*.php$
Disallow: /?s=
还得好好款待下爬虫

Does anyone care I love Google Apache htaccess
Sitemap: http://yourdomain.com/sitemap.xml

2. 不要把目录以网页列表的形式暴露出来
WordPress有一个潜在性的问题可以使得其他用户查看你的博客的插件目录以及版本号。你可以尝试的在你的博客上后加上”/wp-content/plugins/”看看效果。
是不是可以显示出来?!
看看我的试http://someus.cn/wp-content/plugins/,不能列出来了吧!有两种方法可以解决:
1).在plugins和themes文件夹下面分别建一个名为index.htm的空文件就可以保护它了。
2).在.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文件夹
1).通过限制IP地址访问wp-admin文件夹
此方法是用在.htaccess文件添加某些配置来限制某些具体的IP地址访问wp-admin文件夹
2).使用插件Login Lockdown plugin
他的好处就在于,他可以记录每一次登陆失败时使用者的IP地址和登录时间。当达到你设定的失败次数,插件的特定函数会阻止此IP地址
的使用者继续登录操作。
这两个大妈都介绍过了,再来个新的。
3).使用插件:AskApache Password Protect
非常的简单好用,它可以为访问wp-admin文件夹的用户设置一个二级密码保护同时也把信息写在.htaccess文件中,只有输入正确的用户
名和密码就才能访问后台。点击这里直接下载试用吧!

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

6. 定期备份博客的数据库
这是一个持久的事情,你需要经常性的或者定期性的备份你博客的数据库,对于数据库的备份我们可以使用 WordPress Database Backup 插件来完成定期备份。
我用的Dreamhost空间,不用插件也可以定时备份,还可以把备份数据发到指定的邮箱。

7. 升级你的WordPress为最新版本
在升级之前一定要备份好一些数据和你认为改备份的东西,至于升级可以使用 Instant Upgrade 插件或者WordPress Automatic Upgrade插件来完成。
其实新版本Bug也比较多的,建议新手按奈一段时间再升。

8. 使用SSH/Shell方式代替FTP登录操作
如果某人获得了你的FTP的登录信息(当然包括密码咯),他们就可以在登录后胡作非为的,这是很可怕的事情哦…而使用SSH/Shell你就大可放心,因为他们的任何传输都是通过加密的,保证安全性!
Putty是Windows下最好的SSH客户端,具体使用方法请看我前面写的“使用dreamhost主机ssh功能升级wordpress”

9.不要再担忧你的wp-config.php文件
通过在.htaccess文件添加下面的配置会使你的wp-config.php文件里面的配置信息(数据库地址,用户名和密码)更加安全可靠。
<filesmatch>deny from all</filesmatch>
这个有点“囧”,正确的写法是
<files wp-config.php>
order allow,deny
deny from all
</files>

10. 为你的WordPress用户设置一个强悍的密码
攻击者常常会使用一些暴力破解软件或者利用社会工程学来破解WordPress用户设置的弱口令(简单,常用的密码)。下面收集了防范的一些方法可以有效的阻止这种事情发生。
翻译者按:这段我就不过多翻译了,因为我也写过这方面的文章(《黑客手册》某期,不好意思我忘记是哪期了),这里我就以我的思路给大家一些方法。
大家都知道一个强悍的密码应包括字母,数字和一些特殊符号组成,如果你设置了一个Sfd@#35,这个谁也记不着。其实一个强悍的密码看着复杂如果你知道了敲门其实

点也不难记忆,而且非常有规律,这里我举一个最简单的例子:
1+1=two

是不是很简单,1+1=2这是很简单的数学算式,小学一年级的都会的(现在的小学一年级有英语了吧,就算没有学前教育的父母也应该逼着他们学了吧)。这个密码完全
符合一个强悍的密码的定义。再例如:
zxasqw12`
或许猛的一看,这个是什么呀,没什么规律嘛,其实你安装这个密码自己尝试下就明白了,这个方法我称之为键盘分布法。另外还有所问非所答法,例如:
1+1=one
1+2=twelve
1+1=ten
方法还有很多,发挥你的想象力,总会出现奇迹的!

这一段超级“囧”,据我所知,很多破解字典早已把这些加进去了,建议大家不要随大流,尽量构造个有自己的特色并符合强壮密码要求的密码,比如
dad+mum+me=1
dad、mum、me换成拼音缩写!好记,也强壮!不要试我的Blog,明确告诉你,不是这个密码。

类似文章

14条评论

  1. 个人的重要密码,都是大小写,英文数字符号混到一起,如果不是隔几天就再看一次,自己都记不得。

  2. 正确的写法应该是:

    Order Deny,Allow
    Deny from all
    Allow from (yourdomain.com/.net/.cn …)

    (除了yourdomain.com/.net/.cn …的服务器都不能访问)

    博主的有好几个问题,首先,Apache的.htaccess关键字是应该大写的,另外Order Allow, Deny本身默认就是拒绝所有访问的,下面一句Deny from all就么有意义了。

    但是默认拒绝所有访问,让你的网站服务器也不能访问,会出现internal server error.

  3. 文章的原始出处是这里:http://www.noupe.com/how-tos/wordpress-security-tips-and-hacks.html
    1.第九条没觉得有何不妥
    2.书写格式未必就要拘泥于形式

  4. 哦,是么?第九条是保护.htaccess文件,不知凯尔兄是否曲解意思了,且已经加进我们的站了,一切正常,还望指教!

已关闭评论。