说说wordpress博客的安全防护

2013-10-11 197405人围观 ,发现 19 个不明物体 WEB安全

用一首诗开始我的博文:

那时我们有梦,
关于文学,关于爱情,
关于穿越世界的旅行。
如今我们深夜饮酒,
杯子碰到一起,
都是梦破碎的声音。

——北岛

也许我们无法明白“活着”的意义,但是我们已经为“活着”付出了太多代价;也许我们无法实现自己的梦想,但是我们已经为梦想流下了太多泪水。我们能做的,仅仅是在这条路上走得更远,绝不能回头。天堂未必在前方,但地狱一定在身后。

                                                                                                                                                                                                   —— 程浩

WordPress简介

WordPress起初是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的 Blog

——来自百度百科


本博客就是用wordpress搭建的,搭建好以后做了一些防护工作,所以把这点经验分享给大家

1.选择安全可靠的主机


谨慎选择一款安全可靠的主机,不要使用免费主机和劣质主机。免费主机只适合用来学习程序和建站方法,但是倡萌一直不建议使用免费主机来托管正式上线的网站。当然了,最好也不要使用那些特别廉价,管理经验不足的主机商的服务。

2.升级到WordPress最新版


只从WordPress官方下载源码,不要到第三方网站下载。尽可能升级到WordPress最新版,及时修补程序漏洞,包括WordPress核心源码、WordPress主题以及WordPress插件。

3.使用官方WordPress主题和插件


这里所说的官方,一是WordPress官方,二是主题或插件开发者的官方,尽量避免使用“破解”版主题、插件,慎用网上传播的原本是收费,但是被人恶意提供免费下载的主题、插件。

4.修改数据库默认前缀 wp_


很多朋友安装WordPress都没有修改数据库前缀,如果你打算修改默认的前缀 wp_ ,请根据 如何修改 WordPress 数据库前缀 来修改。

5.修改默认的用户名 admin


WordPress 3.* 以上已经支持安装时自定义登录用户名,如果你使用默认的admin,建议你根据下面的方法进行修改:

方法一:后台新建一个用户,角色为管理员,然后使用新用户登录,删除默认的 admin 用户。
方法二:登录phpmyAdmin,浏览当前数据库的 wp_users 数据表,将 user_login 和 user_nicename 修改为新用户名。

同时建议修改 “我的个人资料”中的的昵称,然后设置“公开显示为”非用户名的其他方式:

6.使用高级密码,经常更换密码


建议使用含 大写字母、小写字母、数字和其他符号 的复杂密码,比如 nuH4j&*aHG%dMz ,避免使用生日、手机号、QQ号等。

7.隐藏WordPress版本信息


默认情况下会在头部输出WordPress版本信息,你可以在主题的 functions.php 最后一个 ?> 前面添加:

//隐藏版本号
function wpbeginner_remove_version() {
return '';
}
add_filter('the_generator','wpbeginner_remove_version');

8.修改wp-admin目录的访问权限


你可以通过限定IP地址访问WordPress管理员文件夹来进行保护,所有其他IP地址访问都返回禁止访问的信息。另外,你需要放一个新的.htaccess文件到wp-admin目录下,防止根目录下的.htaccess文件被替换。

9.定期备份网站数据

可以借助WordPress备份插件进行自动备份或手动备份:

WordPress数据库定时备份插件:WordPress Database Backup
使用WordPress自带导出导入功能备份和恢复网站
WordPress克隆/备份/搬家插件:WP Clone
WordPress超强备份插件:BackWPup(支持FTP/Email/本地/网盘)

10.安装安全插件


WordPress Firewall 2

该插件可以帮助你识别/阻止一些有效的攻击,例如 目录扫描、SQL注入、WP文件扫描、PHP EXE扫描 等,并可将其定向到404或者首页。如果有问题还可以通过电子邮件通知你处理,还可以阻止一些IP的访问。

Better WP Security

由于大多数的WP网站存在插件漏洞、弱口令、过时的插件/程序,隐藏这些漏洞可以更好的保护网站,例如保护登录和管理区(控制面板?仪表盘?)。

Login Lockdown

这个插件可以记录失败的登录尝试的IP地址和时间,若是来自某一个IP地址的这种失败登录超过一定条件,那么系统将禁止这一IP地址继续尝试登录。

Limit Login Attempts

Limit Login Attempts 限制登录尝试的次数来防止暴力破解,增强 WordPress 的安全系数。

WP Security Scan

该插件会自动按照以上的安全建议对WordPress进行安全扫描,查找存在的问题。

11.修改WordPress后台登录地址,提高安全性


将下面的代码添加到当前主题的 functions.php 文件:

//保护后台登录
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
    if($_GET['word'] !='press')header('Location: http://www.malayke.org/');
}

这样一来,后台登录的唯一地址就是 http://yoursite/wp-login.php?word=press,如果不是这个地址,就会自动跳转到 http://www.malayke.org/ ,不信你试试!

你可以修改第 4 行的 Word、press 和 http://www.malayke.org/ 这三个参数。

12.避免WordPress泄露你的用户名


你有没有想过,如果你的网站的登陆名被别人知道了,偏偏他是一个比较精通 WordPress 的人,而且会写脚本暴力破解,那么后果就不堪设想。

实际上,Wordpress 这么一个漏洞,至今依然存在,并且常常会被黑客利用
想要知道 WordPress 的管理员用户名?很简单,只要在网站的域名后面加 /?author=1 就行了。
如果 /?author=1 显示404界面,那很可能是以前有过 admin 用户,后来站长发现用默认帐户 admin 太不安全了,就新建了一个管理员帐户,并删除了 admin 帐户。这种情况下,用 /?author=2 就能显示出用户名了。

如果使用 admin 帐户,确实不安全,但是如果你的博客使用一个复杂的用户名,却经不起这么简单的一个 URL 的考验,这和使用 admin 帐户没有根本上的区别。

既然存在漏洞,那么就要去填补它。要填补这个漏洞,倒还真的不是什么难事。

我的思路就是,只要访问主页url后头有author参数就让他跳到主页
将下面的代码添加到当前主题的 functions.php 文件:

add_filter('author_link','my_author_link' );
function my_author_link() {
return home_url('/' );
}

呵呵,大家有没有发现这个思路上面修改WordPress后台登录地址是一样的原理
至此,有了以上的防护工作,你辛辛苦苦搭建的wp博客就不会没那么容易的被黑阔光顾

这些评论亮了

  • xxoo 回复
    我刚好在整理how to attack wordpress~
    )11( 亮了
发表评论

已有 18 条评论

取消
Loading...
css.php