据统计,互联网上大约 40% 的网站是使用 WordPress 搭建的。正因为 WordPress 使用的如此广泛,导致出现了大量针对 WordPress 网站的攻击。仅在去年的一次事件中,一个月内就有近100 万个网站遭到攻击。
为了提升 WordPress 网站的安全性,可以参考本文介绍的六个安全步骤。
第一步:将 WordPress 更新到最新版本
WordPress 一直在持续的更新升级,来修补已发现的漏洞。但有数据表明,多达 70% 的 WordPress 网站仍然在使用存在漏洞的版本。
建议所有 WordPress 网站站长,及时将 WordPress 更新到最新版本。这样可以极大的增强网站的安全性,降低网站遭受攻击的可能性。但升级 WordPress 也存在风险,所以建议在升级之前做好网站备份,一旦更新后出现问题,可以通过备份文件,快速恢复到升级之前的状态。
下面是一篇扩展阅读,介绍如何通过命令行升级 WordPress:
第二步:删除未使用的插件并及时更新插件
WordPress 插件为网站提供各种功能。但是存在漏洞的插件,也会增加网站遭受攻击的风险。我们在选择插件时,尽量选择有人维护,且持续稳定更新的插件,这样才会及时修补存在的漏洞。
有些网站站长,尤其是刚接触 WordPress 的站长,喜欢安装各种各样的插件,来体验不同的插件功能。但需要明白的是,过多的插件会降低网站的性能,也会带来更多的安全风险。建议及时清理不需要的插件,并保持插件更新。
如果发现某些插件开发人员已经停止维护插件,请尽量寻找其他可靠的替代品。如果某插件长时间不更新,它会为您的网站安全带来极大的隐患。
第三步:最小化用户权限和安全登录
即使您正在使用的 WordPress 网站不包含已知漏洞,也并不意味着它是安全的。暴力破解攻击是 WordPress 网站最常遭受的攻击方式。防止暴力破解的最佳方法是设置适当的用户权限和密码策略。
首先,减少管理员级别访问权限的帐户数量。很多小公司将每个人都设定为管理员的情况并不少见,但这对网站安全来说是一个巨大的风险。
因此,请合理设置管理员权限:
- 超级管理员– WordPress 超级用户。限制超级管理员最多两个。
- 管理员– 这是最高级的一般用户权限。尝试将该级别用户数量保持在最低限度。
- 编辑– 适用于需要控制和更改所有已发布文章的用户。
- 作者– 只能以自己的名义发布和更改内容的用户。
- 投稿人– 可以添加,但不能以自己的名义发表文章的用户。
- 订阅者– 不能对网站进行更改,除非对其用户配置文件进行更改。
第四步:在不受信任的文件夹中禁止 PHP 执行
前面的所有步骤都围绕着防止常见的低级别攻击。但还一些更复杂的攻击方式,比如攻击者利用网站漏洞执行某些脚本代码。
例如,如果您安装了一个插件来管理用户上传的图片和视频等媒体文件,则它需要一个对外可写的上传文件夹。如果攻击者可以访问该文件夹,他们可能会尝试上传恶意脚本,并通过它来破坏 WordPress 网站的正常运行。
可以通过简单的访问权限配置来防范这种情况。需要做的就是在每个可写文件夹中创建一个名为 .htaccess 的新文件,通过它来告诉 Web 服务器在给定目录中允许或禁止什么。将以下内容添加到 .htaccess 文件中:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase
RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>
# END WordPress
<FilesMatch "\.(php|php\.)$">
Order Allow,Deny
Deny from all
</FilesMatch>
这个 .htaccess 文件将允许用户上传您期望的文件类型,但会阻止任何人在可写目录中上传任何可执行代码。
您可以在所有用户可上传的文件夹中执行此操作。但注意不要过度使用这些限制,因为很多 WordPress 行为都需要 PHP 执行,如果把 .htaccess 放错了位置,可能会导致整个网站无法运行。。
第五步:禁用 PHP 错误提示
在 WordPress 网站上运行恶意代码,只是网站遭受攻击的一种方式。攻击者会寻找网站上每个可以运行 PHP 的地方,如果网站开启了 PHP 错误提示,可能会帮助攻击者找到网站的弱点。为此,应该关闭 PHP 错误显示。
在 WordPress 中禁用 PHP 错误提示很简单,只要在网站根目录下的 wp-config.php 文件中,添加以下代码即可:
define( 'WP_DEBUG', false);
这将禁用网站的 PHP 调试功能。如果以后网站出现问题,需要通过调试模式来寻找解决办法,只需要做如下修改即可:
define( 'WP_DEBUG', true);
第六步 – 禁用主题和插件编辑
禁用内置的 WordPress 主题和插件编辑功能,可以使有权访问管理仪表盘的人无法直接更改网站的模板文件。
在 WordPress 网站根目录下的 wp-config.php 文件中,添加下面的代码:
define( 'DISALLOW_FILE_EDIT', true );
这将从管理仪表盘中隐藏主题和插件编辑器。但是,网站开发人员也同样需要通过 FTP ,或通过管理面板的文件管理器才能访问相应的模板文件。
总结
通过上面介绍的六个步骤,我们可以在一定程度上提升 WordPress 网站的安全性。
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/how-to-secure-wordpress-site/