10条加强WordPress安全的实践技巧

分享本文:
请为本文打分

如果你通过Google搜索一下,可以找到各种的关于WordPress安全的文章。WPChina.org以前也有许多关于WordPress安全2,3)的文章。这类文章大多数会给你推荐一些插件。今天的这篇文章不一样,不再推荐使用插件,因为插件也是导致WordPress不安全的因素之一。10条加强WordPress安全的实践经验技巧,下面我们来逐一介绍:

1. 通过ip限制访问 wp-admin 后台

我们可以通过.htaccess文件设置,只允许我自己的ip访问  wp-admin 目录。这样可以防止暴力破解 WordPress 的密码(除非使用我的电脑),从而轻松保证只有我才可以控制我的网站。当然,这个办法仍然无法阻止数据库被攻击,但是能够有效防止黑客从网站的控制台登录。

将代码放入到 .htaccess 文件中,将红色ip地址换成自己的ip地址。有一点不方便的是,国内用户的个人用户大多是拨号上网(PPPoE),每次登陆都会随机分配ip地址;只有单位里的网络可能会有固定ip地址。

你可以登录ip138或者ip.cn来查询自己的ip地址。

# 保护 wp-login.php 文件

<Files wp-login.php>

Order deny,allow

Deny from All

Allow from 123.456.789.0

</Files>

2. 设置高强度的数据库密码

如果黑客能控制你的数据库,那就基本上就可以为所欲为了。我们强烈推荐用户使用高强度的密码,至少应该包括数字、字母大小写、符号等。使用cPanel主机的网友,可以使用密码生成器来帮你自动生成密码。主机上没有密码生成器的其他用户,也可以使用 keepass 这样的软件,来帮你生成高强度密码。

你也可以将数据库的名称设置复杂一些,不要让人一看就能看出是 WordPress 程序。

3. 保护 wp-config.php 文件

wp-config.php 文件里包含的有 WordPress 数据库的重要信息。如果该文件被暴露,再强壮的数据库密码也没有用。 因此,我们可以加一段代码,在 .htaccess 文件里,来保护 wp-config.php 文件:

# 保护 wp-config.php 文件

<Files wp-config.php>

Order allow,deny

Deny from All

</Files>

4. 防范插件和主题

插件增强了WordPress的功能,主题美化了WordPress的界面,这是WordPeress最吸引用户的资源,但也是容易出问题的地方。有许多不怀好意的插件和主题的开发者,或者插件和主题的下载网站,都被插入了一些恶意代码或后门程序。从我们遇到的许多网友WordPress网站的被黑的实际经历看,绝大部分WordPress网站被黑,都与使用了暗含后门的主题和插件有关

因此,我们建议用户尽可能地减少使用的插件数目,并且尽量使用流行的插件,不要使用过于偏僻的和来历不明的插件;通过 WordPress 官方的插件仓库主题仓库进行下载插件和主题;同时,当插件和主题更新的时候也要及时进行升级更新。

5. 尽量使用 SSL

有许多文章提到了使用SSL的重要性,还有许多WordPress SSL插件,使用SSL并不太麻烦。这里简单解释一下。在你登录WordPress网站的时候,你的浏览器需要从你的电脑向服务器传递账户和密码信息。默认情况下,传递过程中数据并不加密,因此存在被黑客截获数据(如账户和密码)的可能性。SSL就是强制对数据进行加密,减少网站被黑的几率。

如果你的虚拟主机提供SSL证书,你可以使用上面的插件来使用ssl加密网站。如果没有提供ssl证书,建议采用第1条中提到的方案,来防止其他用户登录到你的网站后台。

6. 小心你的同事

到此你的网站已经超级安全了,足以防范来自外部的攻击了,现在要防范来自内部的危险了。想象一下,你能否相信你的撰写博客的同事?结果呢,他在你的模板里插入了一个他喜欢的宠物狗的链接,还在你的主机上存放服务器。这种情况很容易防范,你在给你的同事设置用户权限的时候需要慎重。WordPress默认就提供有用户角色选项,订阅者、投稿者、作者、编辑和管理员。如果你认为你的同事可能会破坏你的博客,要限制其适当的权限。

还有一些插件,如members插件role manager插件,可以对用户权限进行更为细致的配置。我们此前在21款适合多用户的博客插件一文中,能提到过这些插件。

7. 及时更新

WordPress 新版本发布频繁,经常修复一些安全问题。因此,及时更新你的网站到最新版WordPress是非常重要的。当新版的WP发布的时候,直接在后台点击更新按钮即可,就可以轻松保持更新。但是需要注意的时候,无论什么时候更新网站,都必须要先备份你的WordPress。我们推荐使用WordPress Database Backup插件,可以轻松进行数据库的自动备份。不仅可以备份到你的WordPress主机上,也可以直接备份到你的email邮箱。

8. 保护安装文件

在保护程序安装程序方面,WordPress做的尚不如国内的一些建站程序(如Discuz!)。WordPress的安装文件install.php可以被任何人访问。如果你的主机宕机,在数据库恢复正常之前,你的网站很有可能被任何人全新安装,给你带来无可挽回损失。非常糟糕。幸运的是,我们有个小技巧可以轻松解决:删除 install.php 文件。你可以通过 FTP 或者主机管理系统里的文件管理系统,删除 WordPress 安装目录下的 /wp-admin/install.php 文件,就彻底消除了隐患。

9. 屏蔽垃圾评论

垃圾评论非常令人讨厌,几乎每个WordPress网站都会受到垃圾评论的骚扰。以下这段代码加入到 .htaccess 文件,可以屏蔽掉这些传播广告的垃圾评论

# 屏蔽垃圾评论

<IfModule mod_rewrite.c>

RewriteCond %{REQUEST_METHOD} POST

RewriteCond %{REQUEST_URI} .wp-comments-post\. [NC]

RewriteCond %{HTTP_REFERER} !.*wpchina\. [OR,NC]

RewriteCond %{HTTP_USER_AGENT} ^$

RewriteRule (.*) – [F,L]

</IfModule>

当然,这里需要将 wpchina 换成你自己的域名。

10. 移除登录页面里的错误信息

最后,这一条非常重要。在你的主题的 functions.php 文件里添加一行代码,来移除登录错误信息。这样,黑客要进行暴力破解的时候,就不知道是用户名错了,还是密码错了。很聪明!

add_filter('login_errors',create_function('$a', "return null;"));

你还有别的办法可以加强WordPress的安全么?欢迎你留言,和我们来一起交流。

原文:WordPress Security Tips

请为本文打分
分享本文:


评论: 10条加强WordPress安全的实践技巧

  • 好想有个固定Ip啊 最近在弄htpasswd 还没学会

    woniuren 2012/03/21 4:37 下午 回复
  • 没怎么注意过wordpress的安全。

    万载 2012/03/23 9:37 下午 回复
  • wordpress安全值得关注,太多人用了

    wargame 2012/03/24 8:48 下午 回复
  • 主意备份数据最重要了。

    石膏公仔 2012/03/25 1:51 上午 回复
  • 固定的ip要怎么搞得到啊 电信网络

    最好的壮阳延时方法 2012/03/26 5:38 下午 回复
  • wordpress真好用啊~~我喜欢

    www.cookuo.com 2012/03/27 10:57 上午 回复
  • 数据库信息泄露我经历过,垃圾评论估计所有用WordPress的人都经历过。安全还是很重要的。

    手机配件网 2012/03/31 9:29 下午 回复
  • 学习了,谢谢分享。

    www.68e.net 2012/04/02 10:06 上午 回复
  • wp的安全性比zblog好多了。

    www.68e.net 2012/04/02 10:07 上午 回复
  • 安全性是很大的课题啊哈

    小李飞刀 2012/04/15 11:54 上午 回复
  • 好深奥要!

    Copy OS 2012/04/30 2:09 下午 回复
  • 的确,WP安全性是非常值得注重的问题,稍有疏忽就会非常麻烦

    outcall Massage 2012/11/20 8:05 下午 回复
  • 用了ssl,差点后台进不去了,还好改过来了。安装ssl插件最好还要自己的主机支持ssl才行的咯

    前端观察站 2014/04/17 1:40 下午 回复
  • @前段观察站,一般独立ip才能使用ssl证书,还需要购买ssl证书(也有免费的),这个成本相对来说比较高。

    Jiang 2014/04/17 5:49 下午 回复
  • Pingback: WordPress 非官方中文站 » 使用进阶 网站安全 » 请立即修改你的WordPress密码

发表一下评论

电子邮件地址不会被公开。 必填项已用*标注

Menu Title