由WordPress驱动的网站黑客经常攻击的目标。下面是一些不错的安全插件和技巧,以更好地保护你的WordPress博客。
大约一个月前,本WordPress博客被黑客入侵。像我的其他网站如ctrlq.org和hundredzeros.com其他网站在同一个Web服务器上托管,黑客成功地顺手删掉了所有的这些网站。
网络托管公司说,它的可能原因是这些网站其中之一运行旧版本的WordPress。从已知的IP地址的所有登录活动,密码并没有被破解。这是一个 艰难的时期, 但幸运的是,删除的网站已恢复,访问量也 恢复正常 。
这里有个提高WordPress博客安全性的技巧列表,我已经对WordPress做了改善,但还是会担心这样的事情再次发生。
#1. 使用您的邮箱地址登录
当你安装一个WordPress博客,默认情况下,第一个用户是管理员。你应该创建一个不同的用户来管理你的WordPress博客,并删除“admin(管理员)”用户或者更改将用户的权限从“管理员”改为“订阅者”。
实际上,你可以创建一个随机(很难猜的)的用户名,然后使用您的电子邮件地址登录到WordPress。插件 WP Email Login 将支持基于电子邮件的用户名登录WordPress。
#2. 隐藏WordPress的版本号
WordPress官方网站总是发布版本号,以使人们更容易确认你正在运行的是不是最新的WordPress版本。
很容易从页面上删除WordPress的版本信息, 但你需要改动多处。删除WordPress安装目录中 的 readme.html 文件,因为它也在泄漏你使用WordPress的版本信息。
#3. 不要让别人“写入”WordPress目录
通过Linux shell登录到WordPress,并执行以下命令来获取所有的其他用户可以写入的 “ 开放 ”文件夹 。
find . -type d -perm -o=w
您可能还需要执行以下两个命令来正确设置你的WordPress文件和文件夹的权限【参见】。
find /your/wordpress/folder/ -type d -exec chmod 755 {} \;
find /your/wordpress/folder/ -type f -exec chmod 644 {} \;
对于目录,755(rwxr-XR-X)权限表示,只有所有者具有写权限,而其他只有有读和执行权限。对于文件,644(RW-R – R – ), 意味着该文件所有者具有读取和写入的权限,而其他人只能读取文件。
#4. 重命名WordPress数据库的表前缀
如果您已经使用默认选项安装了WordPress,你的WordPress数据表就会像wp_posts或wp_users这样的前缀。因此,将表的前缀(wp_)改为一些随机值是一个不错的选择。Change DB Prefix 这款插件,可以一键重命名表前缀为任意的字符串。
#5. 防止用户浏览WordPress目录
这一点很重要。打开WordPress根目录下的.htaccess文件,并在顶部添加以下这行。
Options -Indexes
假使这些目录中没有默认的index.html 和 index.php文件, 这样将会阻止外界用户”窥视“到目录中的文件。
#6. 更新WordPress的安全密钥
跳转这里 来生成你的WordPress博客的6位安全密钥。打开WordPress的目录内的wp-config.php文件,并用新密钥覆盖掉默认密钥。
这些随机密钥会使您存储的WordPress的密码更安全,另一个好处是,如果有人在您不知情的情况下登录到WordPress,他们将立即因cookies无效而被登出。
#7. 保留WordPress的PHP和数据库错误日志
错误日志有时可以提供什么样无效的数据库查询和文件请求正攻击你的WordPress安装目录的线索。我选择 Error Log Monitor 来定期通过电子邮件发送错误日志,也可以在WordPress仪表板的中作为挂件显示。
开启WordPress的错误日志,添加以下代码到您的wp-config.php文件,并记住你的日志文件的实际路径取代 /path/to/error.log 。error.log 文件应该放在浏览器无法访问的文件夹里【参见】。
define(‘WP_DEBUG’, true);
if (WP_DEBUG) {
define(‘WP_DEBUG_DISPLAY’, false);
@ini_set(‘log_errors’, ‘On’);
@ini_set(‘display_errors’, ‘Off’);
@ini_set(‘error_log’, ‘/path/to/error.log’);
}
#8. 用密码保护管理面板
加密WordPress的wp-admin文件夹是个不错的方法,因为这里面没有文件是为访问你WordPress站点的用户准备的。一旦加密,甚至被授权的用户都必须输入两个密码才能登录到他们的WordPress管理面板。
#9. 跟踪WordPress服务器的登录活动
你可以在Linux中使用“last -i”命令来获取所有登录到服务器的IP地址。如果你在列表中发现一个未知的IP地址,一定要立即更换密码。
此外,也可以使用以下命令来显示一段时间内按IP地址分组的用户登录活动信息(用你的shell的用户名替换USERNAME)。
last -if /var/log/wtmp.1 | grep USERNAME | awk ‘{print $3}’ | sort | uniq -c
#10. 使用插件监测你的WordPress
WordPress.org库中包含了不少很好的与安全相关的插件,将持续监控你的WordPress网站入侵和其他可疑的活动。这里是一些我重点推荐的。
1. Exploit Scanner – 快速扫描你的WordPress文件和博客文章,并列出那些可能有恶意代码。垃圾链接可能使用CSS或者iframes被隐藏在你的WordPress博客中,此差也能检测的到。
2.WordFence Security – 这是一个非常强大的安全插件,你值得使用。它会将你的WordPress核心文件与原始文件相比较,所以任何修改会立即检测到。此外,该插件还将锁定多次未能成功登录的用户。
3. WordPress Sentinel – 另一款有用的插件,用来监视你的WordPress文件,并在文件被添加删除等操作是提醒你,监视文件夹的任何编辑活动。
4 . WP Notifier –如果你不是经常登录WordPress仪表面板,这个插件就是为你准备的。它将在新的模板、差将和系统更新时给你发送提醒邮件。
5. VIP Scanner –这款“官方”的安全插件将全面扫描所有的WordPress主题。它还将检测注入到你的WordPress模板的任何广告代码。
提示:您还可以使用以下的Linux命令,来获取过去3天已修改的所有文件列表。更改mtime为mmin可以查看N分钟前被修改的文件。
find . -type f -mtime -3 | grep -v “/Maildir/” | grep -v “/logs/”
保护WordPress登录页面
你的WordPress登录页面是任何人可访问的,但如果你想防止非授权用户登录到WordPress,你有以下三种选择。
1. Password Protect with .htaccess –这包括通过将用户名和密码添加到WordPress证书中来保护WordPress的wp-admin文件夹。
2. Google Authenticator – 这款优秀的插件将把WordPress博客添加到您Google帐户的两步验证中。你必须输入密码和你手机上生成随时间变化的代码。
3. Login Dongle –这个插件通过一个非常独特的方法来保护你的WordPress。 它会产生一个秘密的问题,你可以将其添加为书签。当访问WordPress登录页面时,输入你的答案,然后点击这个书签登入WordPress。
英文原文来自:labnol ,翻译 By Feeng.
一看到开始我还真以为那两个牛逼的站点是你的呢,结果看到最后才发现是你翻译的。
哈哈。要是我的就给力了。
额 很不错的说 就是实施起来有点麻烦 黑客一般不会光顾我等小站的吧
对于WP我一窍不通,还是ZB的好点,呵呵~~
关键还是手懒,不想搞那么多
知名网站看过这篇文章
还有两条可增加,一是把后台登陆的“忘记密码”删去链接。二是删去登陆时的错误信息。
嗯嗯.
这篇才玩wp的时候就学习过,新手很有用。
很有用,谢谢分享知识