WordPress安全指南:做重要的事情

每周我都会接到用户有关他的网站被攻击的消息。这是个不争的事实,安全牵涉到每个网站用户,对于WordPress用户来说,似乎更容易受到攻击一般。这主要是基于WordPress的庞大的用户原因。如果你能遵守一些安全方面的指南,可能事情并不会那么糟糕。

WordPress安全性也不仅仅是一些开发人员的事情。虽然处理敏感数据的任务关键型WordPress网站肯定变得复杂,但对于大多数出版物而言, WordPress安全性更多的是关注一系列最佳实践,而不是像电视节目中的反黑客那样打字。

在这篇文章中,我们将通过WordPress安全计划揭开这个话题的神秘面纱,这将使所有类型的WordPress网站受益,从大型出版物一直到独立博客。

WordPress安全吗?

在我们告诉您如何保护您的WordPress网站之前,我们需要花一点时间告诉您WordPress网站如何在第一时间被黑客入侵,以便您知道自己面临的是什么。

虽然很难得出确切的数字,但可以肯定的是,每年至少有数十万个WordPress网站被黑客入侵。

这个数字肯定听起来很可怕…… 直到你记得用WordPress建站超过整个互联网的31%。

由于它们的受欢迎程度,每年被黑客入侵的WordPress网站的原始数量总是很高,不幸的是,WordPress是黑客的一个多汁目标。

WordPress安全吗?如果它是安全的(实际上是安全的),成千上万的WordPress网站如何仍然被黑客入侵?

答案需要一些细微差别……

看,核心WordPress软件人们如何在现实生活中使用WordPress有所不同。

如果您使用核心WordPress软件,将其置于安全主机上并保持更新,我们几乎可以保证它永远不会遇到任何问题。

但是大多数网站都没有在那个田园诗般的场景中运行,而且在这里引入了安全漏洞:

如果您没有更新所有内容,特别是在安全补丁方面当您使用可能不如核心WordPress软件安全的主题和插件时当您使用弱密码并且不保护您的登录区域时。

这是关于WordPress网站如何被黑客攻击的数据

为了支持上面的列表,这里是关于WordPress网站如何被黑客入侵的实际数据。

首先,Sucuri发布定期黑客网站报告,证明过时的WordPress软件和被黑网站之间存在明显的相关性:

Sucuri 2017年报告中被盗黑的WordPress网站中有39.3%已经过时。Sucuri 2016年第二季度报告中被黑客入侵的WordPress网站中有55%已经过时Sucuri 2016年第三季度报告中被黑客入侵的WordPress网站中有61%已过期。

更重要的是,Sucuri在2016年第三季度看到的被盗黑的WordPress网站中有18%因为过时版本的3个流行插件而遭到入侵:

马上,您应该注意到未更新的WordPress软件和被黑网站之间存在非常强的相关性。

这是有道理的 – 如果你前往WPVulnDB,一个已知WordPress漏洞的目录,你会发现绝大多数漏洞利用过去版本的WordPress:

然而,不只是过时的软件导致了黑客攻击。

2016年,Wordfence调查了 1,032名被黑客攻击的WordPress网站,了解他们的网站是如何被黑客攻击的。

知道他们的网站被黑客入侵的人(只有约31.5%的受访者),黑客如何进入:

插件和主题漏洞占攻击的约60%不强的登录凭据占攻击的约20%

上图是导致安全问题的列表。

由于以下原因,大多数WordPress网站遭到黑客攻击:

过时的软件第三方扩展中的漏洞账户安全性差。

因此,如果您想保持WordPress网站的安全,那么您最关注的重点应该是防止这三个问题。

你可以做五件最重要的事情来保护你的WordPress网站

在生活的大部分时间里,帕累托原则是大多数人接近WordPress安全性的好方法。也称为80/20规则,基本思想是80%的结果来自20%的努力。

对于WordPress安全性而言,这意味着您可以实施一些基本原则来解决您网站上的大多数安全问题。

如果你从这篇文章中没有别的,你应该绝对实现这些技巧。

稍后,我们将分享一些额外的小安全提示,可以解决WordPress网站被黑客入侵的一些罕见方式。这些提示仍然有益,但它们的影响并不大。

注意 – 为了实现这些技巧,我们将根据需要提供独立的插件解决方案。但是Wordfence插件也可以为您实现许多这些技巧。

1.保持WordPress更新(始终)

如果您希望它保持安全,您需要更新WordPress网站(记住备份数据!)。这包括核心软件,以及您的主题和插件。

举例说明为何提示WordPress更新很重要

2017年2月,由于WordPress核心中的REST API漏洞,数十万个WordPress网站遭到破坏。

但是在漏洞被利用前一周,WordPress核心团队发布了WordPress 4.7.2来解决这个问题。所有即时更新到WordPress 4.7.2的网站都是100%安全的。

这里有一些重要的事情要知道:

类似的问题将继续发生,因为WordPress安全团队有一个责任披露政策。基本上,这意味着核心团队在修补后公开发布已知漏洞。

因此,使用上面的REST API漏洞示例,它是这样的:

WordPress安全团队意识到了这个漏洞。虽然漏洞仍然是私密的,但安全团队悄悄修补了它,并在WordPress 4.7.2中发布了修复程序经过一个星期的延迟,以给人们一次更新,安全团队公开披露的漏洞根据其负责任的披露政策。一旦知道,恶意攻击者开始利用该漏洞,这会影响尚未更新的WordPress站点。

基本上 – 这个东西不仅仅是理论。每次发现新漏洞时,您都会看到相同的场景自行播放。如果您想确保您的网站不会成为受害者,您需要做的就是更新它。

确保安全版本启用自动更新

默认情况下,所有WordPress站点都会为次要安全版本启用自动更新。

只要您或您的主机没有关闭此功能,您的WordPress核心应始终是安全的。

如果您不确定是否启用了自动安全更新,则可以使用免费的Easy Updates Manager插件来检查:

或者,如果您更喜欢手动执行操作,可以将以下行添加到wp-config.php

define( ‘WP_AUTO_UPDATE_CORE’, minor );

这将确保您的站点自动应用安全更新。但它不会自动应用非安全主要更新(例如WordPress 5.0)。也就是说版本可以自动更新,大版本不会。

设置插件/主题更新的电子邮件通知

上面的Easy Updates Manager插件还允许您为主题和插件启用自动更新。

虽然这是确保您始终运行最新版本的一种方法,但对于大多数网站而言,这并不是一个好选择,因为新插件或主题更新总是会导致您网站上出现兼容性问题。并且通过自动更新,您可能无法解决问题。

话虽如此,您仍然希望确保您能够及时更新所有扩展,因此有一个良好的中间立场:

如果您无法定期登录WordPress仪表板,请使用免费的WP更新通知程序插件,以便在新的插件或主题更新可用时接收电子邮件通知:

这样,您就会知道需要手动跳转到您的网站并监督更新。

2.选择安全的WordPress主机

因为您的主机是您网站的基础,所以它在保证您的WordPress网站安全方面发挥着重要作用。

有一些东西可以判断是否是一个安全的主机。

首先,它应该让您访问最新的安全技术来访问和支持您的网站,包括:

SFTP – 与常规FTP不同,它会加密您的FTP登录凭据以确保其安全。PHP 7.X – 旧版本的PHP 5.x已达到使用寿命,不再接收安全更新。您的主机必须提供最新版本。SSL证书 – 理想情况下,来自Let’s Encrypt(或其他免费提供商)的免费SSL / TLS证书。

除此之外,安全主机将采取积极措施,在安全问题发生之前将其停止。这些保护措施应包括Web应用程序防火墙以及WordPress特定的服务器配置以提高安全性。

例如,有的主机提供以下的安全配置:

阻止任意PHP执行使用HTTPS和Perfect Forward Secrecy的wp-admin安全性您的公共站点和wp-admin区域之间的分离适当的文件权限受限制的数据库访问。

3.遵循插件和主题的最佳实践

除了更新主题和插件外,您还需要确保遵循其他扩展的良好做法

请记住,在Wordfence调查中,约有60%的人因为主题或插件而被黑客攻击,因此这是一个主要的攻击媒介。

除了更新所有内容外,还有以下一些其他最佳做法:

请注意您使用的扩展程序

虽然好的扩展可能会发生不好的事情,但您可以通过首先安装高质量的插件和主题来为您的网站提供最佳机会。

以下是一些要遵循的好规则:

使用信誉良好的开发商/市场 – 坚持使用 WordPress.org或Envato等市场,或者信赖第三方开发者网站。查看评论 – 不要只看星级评分 – 尽可能阅读评论。它可以让您很好地了解扩展的维护情况。查找上次更新日期 – 虽然多年未更新的插件本身并不坏,但您通常只想使用仍然接收定期更新的插件。不要使用破解插件 – 无效的插件通常充满了恶意软件和后门程序。不要冒险 – 如果预算紧张,只需找一个免费的替代品。

删除未使用的主题和插件

即使您停用主题或插件,其文件仍然位于您的服务器上,这意味着恶意攻击者仍然可以利用它们访问您的网站。

如果您不再使用插件或主题,并且不打算在不久的将来重新激活它,请将其删除。

遵循这些原则,您可以最大限度地减少因插件或主题而导致任何漏洞的可能性。

4.使用强密码和技术锁定登录

如果恶意行为者可以访问您的用户名和密码,那么WordPress网站的其他部分的安全性并不重要,因为他们已经拥有了您的前门密钥。

这不仅仅是您的WordPress管理员帐户可能也容易受到攻击 – 它也是您的托管账户和FTP帐户。

以下是您如何确保所有凭据安全,以便黑客无法直接进入。

使用强密码(并让其他人使用它们)

尽管最近发生了所有高度公开的安全漏洞,但两个最常见的密码仍然是:

123456Password

不要让它成为您的管理员帐户。

为了帮助您选择一个强密码,WordPress将自动为您生成一个安全密码:

然后,您可以将该密码安全地存储在LastPass或KeePass等服务中。

此外,虽然WordPress 默认情况下不再创建“管理员”用户名,但您仍应避免选择“admin”或“administrator”作为用户名。

除了您自己的帐户,如果您允许在您的网站上注册,您也希望确保其他人也拥有安全密码。

要强制解决问题,您可以使用免费的Force Strong Passwords插件(Wordfence安全插件也包含此功能)。

限制登录尝试

如果您使用强密码,则某人猜测您的密码将非常困难。但是,仍然可以想象有人继续猜测和猜测……猜测直到他们做对了。这被称为蛮力攻击。

为了完全消除某人暴力破解密码的可能性,您可以限制一个人可以进行的登录尝试次数(您通常会在银行和其他安全网站上看到这种方法)。

要进行此设置,您可以使用免费的Limit Login Attempts Reloaded插件(Wordfence插件还包括此功能):

使用HTTPS进行安全登录

如果您在WordPress网站上使用HTTP,如果您从公共Internet网络登录(例如在咖啡馆或机场的WordPress网站上工作),恶意攻击者可以嗅出您的密码。

为了防止这种情况,通常只创建一个更安全的网站,您应该安装SSL证书并使用HTTPS。这可确保默认情况下您的所有站点数据都已加密。

大多数优质主机现在都提供免费的SSL证书,所以这不应该花费你一分钱。

考虑双因素身份验证

如果您已经实现了其他提示,则不需要这个提示,但如果您确实希望将登录设置为锁定,则可以添加双因素身份验证。

使用双因素身份验证,用户需要输入密码以及一次性密码(通常通过文本或智能手机应用程序发送)。

基本上,除非恶意攻击者可以访问您的密码和智能手机,否则他们将无法进入。

向WordPress添加双因素身份验证的两个不错的选择是Duo或Google身份验证器(Wordfence也有此功能)。

隐藏您的登录页面

如果您实施了上述提示,则黑客不太可能未经授权访问您的网站。也就是说,出于安全原因,您无需专门隐藏登录页面。

但是即使它没有为了安全性而移动针头,它仍然可以减少你的wp-login.php的大量机器人流量,因此仅仅因为这个原因它仍然值得做。

隐藏登录页面的最简单方法是通过免费的WPS Hide Login插件(或Wordfence):

5.始终保持最近的备份

好的,定期备份您的网站并不能直接保护它。但这确实意味着无论发生什么事情,如果有任何事情能够通过您的防御,您将始终拥有一个干净的网站版本来恢复。

UpdraftPlus是一个很好的免费插件,你可以设置为在设定的时间表上运行自动备份。

五个其他较小的WordPress安全提示

仅实施上述提示应该可以确保您的网站安全。但如果你想像诺克斯堡一样安全,下面五个提示可以进一步加强你的安全性。

如果您使用安全的WordPress主机,您的主机可能已经拥有许多这些配置。同样,像Wordfence这样的安全插件也可以为您处理其中的许多内容。

如果没有,您需要通过SFTP编辑站点的文件。通常,您可以通过编辑站点的.htaccess和wp-config.php文件来完成大部分调整。

6.不要通过WordPress仪表板允许文件编辑

默认情况下,WordPress允许管理员直接从WordPress仪表板编辑主题和插件文件。这意味着如果有人确实掌握了管理员帐户(现在应该非常困难!),他们将能够轻松地执行自己的代码,而无需任何直接的服务器访问。

要阻止此类文件编辑,您可以将以下代码段添加到站点的wp-config.php文件中:

define(‘DISALLOW_FILE_EDIT’, true);

7.遵循最小权限原则限制用户访问

最小权限原则是一种常见的安全协议,基本上说:只为用户提供执行任务所需的最低功率。

在WordPress上,这意味着了解用户角色,并且只为您站点上的其他用户提供履行职责所需的最低用户角色:

除非您100%信任用户,否则不应向其他任何人授予管理员用户角色。如果你允许第三方作者,你应该给他们编辑或作者角色,具体取决于他们需要多少能量。

要了解每个默认用户角色可以访问的内容,请参阅WordPress Codex中的“功能与角色”表。

8.阻止文件执行在wp-content / uploads文件夹中

黑客的常见策略是将PHP文件上传到您的wp-content / uploads文件夹,然后执行它们以访问您的站点。

要阻止这种情况发生,您可以将以下代码段添加到uploads文件夹中的.htaccess文件中:

deny from all

9.限制对wp-config.php的访问

有人说你应该把你的wp-config.php文件移到另一个目录。双方都有争论这是否真的能提高安全性。

但是,根据WordPress Codex,限制访问wp-config.php的最佳方法是将以下代码段添加到.htaccess文件中:

order allow,denydeny from all

10.确保您使用正确的文件权限

你应该阅读WordPress的理想文件权限,并确保你遵循它们。

作为一般规则:

大多数文件应该是644或640,wp-config.php除外,它应该是440或400。目录应为755或750(从不777)。

以上10大提示应该可以保证您的WordPress网站安全性非常高。如果还有什么好的建议,请你在评论中补充。