Wordpress提升安全性的十种方法

wordpress教程 提交于 2018-09-22 15:59:33

Wordpress经过十几年的发展,由一个专注于博客的PHP开源程序发展到如今全球用户最多的开源PHP CMS系统。由于其庞大的用户规模成为无数黑客的研究和攻击目标,每天无数攻击工具扫描和试图入侵基于Wordpress的站点,尽管Wordpress本身安全性相当出色,而且有无数开发者在努力查找和修复漏洞,但仍有大量站点因为服务器的配置、安装不安全的插件或主题、过于简单的管理员密码等原因导致Wordpress被入侵。

有些人攻击 WordPress 是为了挑战或造成恶意的损害,这些行为都很容易被发现。最糟糕的罪魁祸首是那种潜入服务器的行为,它们会将钓鱼网站深入到文件夹结构,或使用你的服务器发送垃圾邮件。一旦你的 WordPress 被入侵,可能需要删除所有内容并从头重新安装。

庆幸的是,有很多简单的方法来提升Wordpress的安全性。下面提到的十种方法都不会超过几分钟。

1. 配置SSL证书,启用 HTTPS安全传输协议

HTTPS 可阻止第三方侦听或修改客户端和服务器之间通信的 中间人攻击。理想情况下,应该在安装 WordPress 前激活 HTTPS,如果在安装后再添加,可能需要更新 WordPress 设置,关于Wordpress完美启用https方法可参照:wordpress开启全站https的方法  和  完美更换wordpress网站域名的方法

如今Google、百度、Bing等主流搜索引擎都开放了https链接收录,启用HTTPS可以提升网站的 Goggle PageRank,国内的百度也推出了一系列工具对于https链接优先收录和搜索结果排序。对于SSL证书的成本问题,国内阿里云、腾讯云等众多云服务商联合赛门铁克、亚信等证书厂商推出了免费CA证书,还有由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起的支持泛域名的永久免费SSL证书Let's encrypt。

对于部分站长担心的启用https后网站速度变慢的问题也可以通过启用 http/2 完美解决,启用 https+http/2 后页面加载速度比 http+http1.1 快很多,在加载资源多的页面甚至快几十倍。

2. 关闭 MySQL 远程连接权限

确保 MySQL 数据库无法远程连接和访问。一些站长习惯开启mysql远程连接权限,然后用 Navicat For MySQL之类的图形化MySQL管理工具来远程连接和管理数据库,这容易导致MySQL受攻击。可以将下面的代码添加到 MySQL my.cnf 配置文件的 [mysqld] 部分来关闭MySQL远程连接权限:

bind-address = 127.0.0.1

3. 设置更复杂的数据库密码和修改Wordpress数据库表前缀

在安装 WordPress 之前创建 MySQL 数据库时,建议使用更复杂的数据库用户名  数据库名 和密码。在安装 WordPress 过程中你还应该设置一个不同于默认值 wp_ 的表前缀。

数据库用户名、数据库名 和密码可以在安装后更改,但请记住相应地更改 WordPress 的 wp-config.php 配置文件中。

4. 设置更复杂的管理员账号密码

同样地,在安装过程中创建的管理员账户也应设置更复杂的用户名和密码。管理员用户名最好不要设置“admin” 因为太多网站默认用户名都为 admin 那些攻击软件会用admin和随机生成的密码来试图登录后台,密码最好同时包含大写字母、小写字母、数字和符号。此外还应该每过一段时间修改管理员密码。

5. 移动或保护 wp-config.php 配置文件

wp-config.php 包含了数据库连接信息和其他一些对入侵系统有助的有用信息。默认情况下wp-config.php文件位于 WordPress 根目录,但可以将其移动到上层的文件夹。大多数情况下,该文件夹位于 Web 服务器根目录之外,而且无法通过 HTTP 请求进行访问。

或者,也可以通过配置 Web 服务器(如 Apache .htaccess 文件)来保护它:

order allow,deny
deny from all

6. 尽可能授予用户最低权限角色

用户是任何系统最弱的一点 — 特别是当他们可以选择使用自己的弱口令并将其传给任何问他们索要的人时。WordPress 提供了多个角色和对应不同权限的功能。大多数情况下,用户应该是:

订阅者:只有查看权限,不能发布和管理文章
投稿者:可以编写和管理自己的帖子但不能发布的人
作者:可以发布和管理自己的帖子的人
编辑:可以发布和管理自己和其他人的帖子的人
这些角色都不能授权配置 WordPress 或安装插件的权限。

7. 限制 IP 地址访问

如果你有几个具有静态 IP 地址的编辑器,则可以通过向 wp-admin 文件夹添加另一个 .htaccess 文件来限制访问:

order deny, allow
allow from 1.2.3.4 # user 1 IP
allow from 5.6.7.8 # user 2 IP, etc
deny from all

8. 隐藏 WordPress 版本号

某些版本的 WordPress 存在已知的漏洞。任何人也都可以轻松发现你正在使用的版本,因为它显示在每个页面的 HTML <head> 标签里面。通过在当前主题的 functions.php 文件中添加下面的代码来删除该信息:

remove_action('wp_head', 'wp_generator');

9. 慎重选择第三方插件和主题

WordPress 拥有海量第三方插件和主题能够实现几乎任何想实现的功能和很漂亮的网站。但一个不好的插件会影响性能、泄露隐私数据甚至让网站被轻松入侵。除非十分必要,否则最好避免安装插件。安装插件和主题首选Wordpress官方插件和主题库,千万不要用第三方网站下载的所谓破解版主题或插件,大多数被黑的wordpress站点就是因为使用了第三方网站下载的主题或插件。即使安装官方库的主题或插件也应该安装前在测试站点测试。

10. 及时更新WordPress核心、主题和插件

WordPress提供了强大的更新版本机制,活跃的开发者使得每过一段时间都有新版本发布,新版本一般修复了大量漏洞或增加了新功能,只需在后台点击更新即可将Wordpress核心、主题或插件更新到最新版本。当然,为了保险起见更新前应该备份MySQL。

需要注意的是在更新大版本之前最好复制一份网站数据建立一个副本网站,在副本网站上测试更新后没有插件和主题兼容性问题后再更新正式站点。

如果您有其他关于提升Wordpress安全性的建议或方法欢迎在评论中分享。

标签

如果文章对你有帮助,请赞赏支持本站发展!

发表评论

此字段内容将保密,不会被其他人看见。

纯文本

  • 不允许使用HTML标签。
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。