WP笔记

5个使WordPress更加安全的方法

你知道全世界有大约7300万个站点使用WordPress吗?这个数字意味着WordPress比Microsoft SharePoint,、Blogger,或者 Drupal更受欢迎,所谓树大招风,WordPress也理所应当变成骇客攻击的目标。

WordPress Security Tips

大约一半的WordPress网站是自主托管的,他人托管的网站(例如wordpress.com)有自己的安全措施,自主托管就不能偷懒了,这里有5个方法可以让你的WordPress网站更安全。

1. 防SQL注入和URL写入

WordPress是基于数据库和PHP的程序,这俩个根基都可以让WordPress变的容易侵入。WordPress要通过URL传递很多参数,平时我们开启友好的固定链接,对URL参数并不敏感,但骇客不一样,他们可以通过修改URL参数做一些未经授权的活动。通过给URL传递参数,甚至可以影响WordPress的数据库操作,获得敏感信息,甚至得到不该有的权限。

对于建立在Apache服务器上的WordPress站点,可以向.htaccess文件中添加规则防止通过URL攻击。


RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]
RewriteRule ^(.*)$ - [F,L]
RewriteCond %{QUERY_STRING} \.\.\/ [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} tag\= [NC,OR]
RewriteCond %{QUERY_STRING} ftp\:  [NC,OR]
RewriteCond %{QUERY_STRING} http\:  [NC,OR]
RewriteCond %{QUERY_STRING} https\:  [NC,OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>|ê|"|;|\?|\*|=$).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*("|'|<|>|\|{||).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127\.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^(.*)$ - [F,L]

2. 保护敏感文件

WordPress上有很多文件包含重要信息,我们希望除了网站管理者以外没人能发现或者查看这些文件。例如wp-config.php、错误日志error_log等,向.htaccess文件中添加下面的规则,可以保护网站的敏感文件不被访问。

Options All -Indexes

Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all


Order allow,deny
Deny from all

3. 删除默认管理员账户

Wordpress默认的管理员用户名是admin,如果你还在使用这个名字,等于帮了骇客一把,虽然他们仍然要破解密码,至少可以省去猜测用户名的麻烦了。对于暴力破解的人, 省的时间不止一点点。

修改管理员账户,在后台->用户新建一个账户,名字起得奇怪一点复杂一点,将此用户设置为管理员,然后用此用户登陆,删除admin账户。

4. 修改WordPress数据库的默认前缀

WordPress数据库默认的前缀是wp_,你可以在安装WP的时候更改前缀,加上一个随机字符串。如果你已经用默认前缀安装了,也可以更改,手动更改需要操作数据库,至少要懂得如何使用phpmyadmin,幸好有一款插件可以帮你解决这个问题Better WP Security

5. 防止暴力破解登陆用户名密码

即使你使用了复杂的用户名密码,也不能保证骇客不去暴力破解你的后台登陆信息。即使他们无法登陆,暴力破解也会给服务器造成压力,使正常访问的用户体验降低。所以你可以安装一个插件Limit Login Attempts限制登陆重试次数,当然Better WP Security也有此功能。

如果你的WP网站很重要值得你花更多的钱保护,不妨考虑购买SSL,将登陆页面加密,具体参考Administration Over SSL

参考文章

Top 5 WordPress Vulnerabilities and How to Fix Them

 

2条评论

评论已关闭。