Author:做一个好人
WordPress作为享誉全球的博客程序,已然被众多爱好者使用在自己的博客程序中,但盛名必然引来注意,更少不了不怀好意的骇客们的虎视眈眈。因此,加固WP成为个人博客或企业博客安全防御的工作之一。
IDF根据对本站的渗透测试结果以及对系统加固的经验,结合网络上众多加固手段,总结出以下WP安全配置方法:
一、升级WordPress到最新版本
一般来说,新版本的WordPress安全性都会比老版本要好一些,并且解决了已知的各种安全性问题,特别当遇到重大的版本升级时,新版本可能会解决更多的关键性问题。
二、隐藏WordPress版本
编辑你的header.php模板,将里面关于WordPress的版本信息都删除,这样黑客就无法通过查看源代码的防治得知你的WordPress有没有升级到最新版本。值得注意的是,跟目录下默认生成的readme.html亦可泄露版本信息,记得删除它。
三、更改WordPress用户名
每个黑客都知道WordPress的管理员用户是admin,具有管理员权限,会攻击这个用户,那么你需要创建一个新用户,将其设置为管理员权限,然后删除老的admin帐号,这就能避免黑客猜测管理员的用户名。
四、更改WordPress用户密码
安装好WordPress后,系统会发送一个随机密码到你的信箱,修改这个密码,因为这个密码的长度只有6个字符,你要将密码修改为10个字符以上的复杂密码,并尽量使用字母、数字、符号相混合的密码。
五、防止WordPress目录显示
WordPress会默认安装插件到/wp-content/plugins/目录下,通常情况下直接浏览这个目录会列出所有安装的插件名,这很糟糕,因为黑客可以利用已知插件的漏洞进行攻击,因此可以创建一个空的index.html文件放到这个目录下,当然,修改Apache的.htaccess文件也可以起到相同的作用。
六、保护wp-admin文件夹
你可以通过限定IP地址访问WordPress管理员文件夹来进行保护,所有其他IP地址访问都返回禁止访问的信息,不过你也只能从一两个地方进行博客管理。另外,你需要放一个新的.htaccess文件到wp-admin目录下,防止根目录下的.htaccess文件被替换。
七、针对搜索引擎的保护
很多WordPress系统文件不需要被搜索引擎索引,因此,修改你的robots.txt文件,增加一行Disallow: /wp-*
八、安装Login Lockdown插件
这个插件可以记录失败的登录尝试的IP地址和时间,如果来自某一个IP地址的这种失败登录超过一定条件,那么系统将禁止这一IP地址继续尝试登录。
九、文件权限设置
wordpress文件权限设置涉及到几个目录:
根目录 /,/wp-admin/,/wp-includes/ :
所有的文件应该设置为只有自己的用户帐号有写入权限,其它的只设置有读权限。
/wp-content/:
用户目录,可以设置为所有用户可写。
/wp-content/themes/:
主题目录,如果你需要在后台使用主题编辑器,需要设置为可写。
/wp-content/plugins/ :
插件目录,设置只有你的用户帐号可写。
提示:wordpress全站目录不需要可写都可以正常运行,所以建议设置为全站不可写,当需要自动升级,安装主题或插件时,可以临时设置为可写,之后再关闭写入权限即可,这是最安全的设置。
十、数据库安全
如果服务器运行有多个网站,并且用到MySQL数据库,建议为各个数据库指定一个低权限的用户。数据库用户需要的权限有:
Alter,Delete,Create,Drop,Execute,Select,Update。
具体添加mysql数据库的命令为:
如不需要远程连接:
grant Alter,Delete,Create,Drop,Execute,Select,Update on dbname . * to ‘username′@’localhost’ identified by ‘password’;
如需要远程连接:
grant Alter,Delete,Create,Drop,Execute,Select,Update on dbname . * to ‘username′@’client-ip’ identified by ‘password’;
十一、隐藏式安全
1、隐藏wordpress版本
隐藏wordpress版本号,可以防止他人针对特定版本号寻找相应的漏洞,从而进行入侵。隐藏版本号的方法是,在当前主题目录下的 function.php文件中加入:
function wpt_remove_version()
{
return ”;
}
add_filter(‘the_generator’, ‘wpt_remove_version’);
2、重命名管理者账号
为了防止黑客暴力破解后台密码,最好还是不要使用默认的admin帐号。修改默认帐号的方法可以通过mysql命令行执行命令:
mysql> UPDATE wp_users SET user_login = ‘newuser’ WHERE user_login = ‘admin’;
或者直接使用phpmyadmin可视化操作。
3、更改 table_prefix(表名前缀)
更改默认的表名前缀wp_可以防止sql注入攻击。
十二、数据备份
不要指望把上面的设置完成就可以高枕无忧了,我们还是必须保持对数据的备份,以便数据丢失或黑客挂马时能迅速地恢复。
安全无绝对,加固亦无万全,以上手段可平衡使用及安全,但绝非万无一失的配置方案。在攻击与防御之间寻求平衡,方是黑客之道!