WordPress安全保护 | 顾建伟个人博客
现在的位置: 首页 > wordpress > 正文
WordPress安全保护
2014年05月24日 wordpress ⁄ 共 2545字 评论数 1

分享到:


该文档献给经历过、正在经历、将来要经历WordPress蛮力攻击的朋友的。。。。

不同的黑客有不同的攻击方式,有一些黑客特别喜欢蛮力攻击登录密码,一遍一遍的测试,如果使用弱口令很可能很容易就被破解。

另外由于大量的http请求,你会发现你的CPU和内存被大量占用,知道服务器宕机。每一个程序都会遇到这种情况,但是由于WordPress的流行度很高,所以这个问题很明显。

要保护你的WordPress有许多方法。

不要使用admin作为用户名

在早起,WordPress会默认使用admin作为用户名,但是之后改变了这一做法,这是不安全的,你应当使用一个别人想不到的名字来做账户。

如果你已经使用了admin,使用这个插件更改用户名吧。 http://wordpress.org/extend/plugins/admin-renamer-extended/

使用高强度的密码

一个自己都记不住的密码才是好密码。建议您使用一个随机生成的密码,并不同于其他的网络ID。

密码生成 http://lanbing.org/tools/pswd.html

如果黑客获取了你的管理员密码,那么将会完全控制您的博客,甚至于可能对服务器照成损害。

一些安全插件

BruteProtect http://wordpress.org/extend/plugins/bruteprotect/

Limit Login Attempts http://wordpress.org/extend/plugins/limit-login-attempts/

Lockdown WP Admin http://wordpress.org/extend/plugins/lockdown-wp-admin/

WP Fail2Ban http://wordpress.org/extend/plugins/wp-fail2ban/

Admin Renamed Extended http://wordpress.org/extend/plugins/admin-renamer-extended/

Enforce Strong Password http://wordpress.org/extend/plugins/enforce-strong-password/

Wordfence Security http://wordpress.org/extend/plugins/wordfence/

3WP Activity Monitor http://wordpress.org/extend/plugins/threewp-activity-monitor/

All in one WP Security http://wordpress.org/plugins/all-in-one-wp-security-and-firewall/

保护服务器

如果你要锁定 wp-login.php 或者 wp-admin ,很多服务器都会返回404状态。

为了避免这个情况,你可以在 .htaccess 中加入

ErrorDocument 401 default

你可以将其定义到 401.html 等文件,但是需要注意一点,不要将其定向到wordpress的文件。

保护 wp-login.php 或者 wp-admin

将以下内容保存到.htaccess

<Files wp-login.php>
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile  /home/username/.htpasswd
AuthName "admin"
require valid-user
</Files>

该内容的意思是保护wp-login.php页面,要求必须输入密码才可以访问。

.htpasswd文件生成网址 http://www.htaccesstools.com/htpasswd-generator/

生成后将内容保存为名为.htpasswd的文件,并上传到用户根目录(非网站根目录),即链接FTP后展示的第一个目录。

修改 .htaccess 文件

AuthName "admin" 中的admin修改为你刚才在.htpasswd中设置的用户名 ;

AuthUserFile /home/username/.htpasswd 中的username修改为自己的FTP用户名。

然后打开 网址/wp-login.php测试一下。

简单说

.htpasswd 传到 /目录

.htaccess 传到/domains/yourname.com/public_html目录(如果已经存在该文件,把内容复制进去就可以了。)

保护 wp-admin 目录也和上面差不多,代码变成

AuthGroupFile /dev/null
AuthType Basic
AuthUserFile  /home/username/.htpasswd
AuthName "admin"
require valid-user

注意,将该内容保存为.htaccess上传到wp-admin目录中。

限制wp-admin访问者IP

代码

order deny,allow
allow from x.x.x.x 
deny from all

放到wp-admin下的 .htaccess中,其中的x.x.x.x修改为自己的IP或者IP段。

拒绝没有引用(Referrer)的请求

代码如下

# Stop spam attack logins and comments
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} POST
    RewriteCond %{REQUEST_URI} .(wp-comments-post|wp-login)\.php*
    RewriteCond %{HTTP_REFERER} !.*example.com.* [OR]
    RewriteCond %{HTTP_USER_AGENT} ^$
    RewriteRule (.*) http://%{REMOTE_ADDR}/$ [R=301,L]
</ifModule>

该方法可以有效的减少垃圾评论。

本文来自 http://codex.wordpress.org/Brute_Force_Attacks 有删改。

说出你的想法!
有事加我的QQ:932404999(微博ID:顾建伟个人博客网)
×