网络安全|WordPress网站安全检查清单


网络安全|WordPress网站安全检查清单
网站安全 , 是许多WordPress新手容易忽略的一个重要问题 。 如何确保WordPress网站安全 , 也是许多刚刚接触WordPress的用户面临的一个难题 。 本系列教程教你介绍一系列的步骤 , 来保护你WordPress网站的安全 。
保持使用最新版本的WordPress
总是有许多WordPress用户禁止WordPress内核程序自动更新功能 , 因为他们担心“升级可能会出现插件不兼容问题” 。
这是非常错误的想法 。
我们对比一下 , 一面是有漏洞可能会被黑的网站 , 一面是临时插件不兼容的网站 , 你觉得哪一个问题更严重?
插件偶尔会出现不兼容WordPress最新版本的情况 , 但往往指示很短的一段时间 。 而网站一旦被黑 , 则是比较严重的问题 。 每次WordPress内核更新 , 都会修复许多新近发现的漏洞 。 如果你的WordPress内核程序没有更新 , 那么你的网站就可能因为这些漏洞而受到攻击 。
WordPress网站安全检查清单
WordPress默认允许小版本号的自动更新 , 但不允许主版本号的自动更新 。 比如说 , 如果你现在安装的是WordPress 4.6 , 那么在WordPress 4.6.1发布之后 , 你的网站将会被自动更新到4.6.1 。 如果将来发布了WordPress 4.7 , 你的网站不会自动更新到此版本 , 需要你在后台点击按钮进行手动升级 。
当然 , 你可以自己在配置文件wp-config.php中进行设置 。 把下面这行代码放到wp-config.php文件的适当位置:
define( 'WP_AUTO_UPDATE_CORE' true );
这句代码定义了是否允许WP内核代码升级的状态 。 在这里有三种状态:
true:允许主版本、小版本、开发版本的自动更新;
false:禁止主版本、小版本、开发版本的自动更新;
【网络安全|WordPress网站安全检查清单】minor:允许小版本的自动更新 , 但不允许主版本和开发版本的自动更新 。
系统默认参数为minor , 你也可以将其修改为true或者false。
不要修改WordPress的内核代码
一旦你自己或者你的程序员编辑了WordPress的内核代码 , 那么你就不能再使用WordPress的自动升级功能来更新到最新版本了 。 因为自动更新之后 , 你对WordPress内核代码所做的编辑 , 都会全部丢失 。
这样的话 , 一旦发现WordPress有新漏洞 , 而你的网站又不能进行及时升级 , 那么你的网站就有危险 。 你就必须手动来修复这些漏洞 , 但是这样将会耗时耗力;但不进行修复的话 , 网站又存在风险 。
确保所有插件更新到最新版本
和WordPress内核部分一样 , 第三方开发的WordPress插件(及主题)也可能会存在漏洞 。 我们在2016年第1季度的WordPress安全趋势报告一文中专门介绍过 , 热门插件中存在的漏洞 , 是很多WordPress网站被黑的重要原因 。
我们无意在本文中重新列出这些插件的名字 。 漏洞 , 是大多数软件都无法避免的问题 。 但是 , 如何处理软件漏洞暴露出来的问题 , 可以看出公司维护人员的水平 。
很多时候 , 只要一发现问题 , 插件的开发者就会立即修复并发布更新版本 。
然后 , 你的责任就是要立即将插件更新到最新版本 , 否则 , 你的网站就可能会被黑客攻击 。
不管你是手动升级 , 还是自动升级 , 都要记得保持插件更新 。
你可以设置自动从WordPress插件目录自动更新插件 , 只需要将以下代码放到你的WordPress主题的函数模板functions.php文件中中:
add_filter( 'auto_update_plugin' '__return_true' );
不过 , 这个语句仅对下载子WordPress.org官方插件目录的插件有效 。 下载自其他商业网站的插件 , 有自己的更新机制 , 也同样需要你保持更新 。
移除所有未启用的插件
随着你安装插件数目的增加 , 这些插件存在漏洞的可能性也就越大 。
有时候 , 我们安装插件来测试它们的功能 , 然后忘记了移除这些插件 。 如果这些插件暴露出漏洞 , 那么你的网站可能就会成为攻击目标(尤其是如果没有升级到最新版本的话) 。
即使这些插件没有激活 , 你的网站也可能被攻击 。
要将风险降至最低 , 最安全的办法彻底删除不用的插件 。 要找到哪些插件没用很简单 , 只要这个插件没有启用(激活) , 就是没有使用的插件 。
同样 , 对于那些已经激活但是并没有用的插件 , 要一并删除 。 还有一点 , 要测试插件的话 , 别在你的生产网站中测试 。 你可以创建一个测试副本(在本地进行测试 , 或者其他的服务器上) 。 然后在测试版本的网站中来测试插件 。