WordPress安全性完整指南

WordPress网站是最常见的互联网攻击目标之一。他们被黑客攻击的次数超过了其他任何类型的网站。如果您,您的朋友或您认识的某人从未经历过WordPress网站被“黑客入侵”的经历,那么您要么很幸运,要么就生活在您周围的人格外小心。

WordPress支持约27%的互联网。这也意味着,如果有人发现所有WordPress网站都普遍存在的基本安全漏洞,甚至发现其中很大一部分,他们很容易在几个小时内就收到数千台服务器。这就是为什么WordPress是这么大的目标,也是为什么我们必须认真对待WordPress安全的原因。这很重要。

“我听说这是不安全的……” WordPress安全吗?

人们开始研究WordPress的安全性以及WordPress安全性的最佳实践的最常见原因之一是,他们怀疑WordPress是安全的,或者听到有人坚持认为WordPress不安全。正如我上面提到的,围绕WordPress安全性存在很多FUD。有成千上万的人向您兜售东西-Squarespace,WordPress安全或托管计划,密码管理器等等,他们试图利用而不是消除您的无知。(我的目标是消除您的无知,或至少将其最小化。)

1572184836-2193df8118ba019回答这个问题的核心在于定义您的条款。WordPress是一个广阔的生态系统,具有各种各样的实践习惯和不同的配置。今天绝对有不安全的WordPress网站,这些网站很可能在接下来的24或48小时内被黑客入侵。

但是,如果我们将“ WordPress”作为您从WordPress.org下载的zip文件中包含的核心软件,我认为它是完全安全的。在任何一天,WordPress软件都在世界范围内受到攻击的可能性为0.00001%。

WordPress现在具有内置的自动更新功能,并且大多数主机都可以确保在失败的情况下对您的网站进行修补。这很关键,因为WordPress 4.9.1可能会在未来几个月或几年内发现某个安全问题。但是WordPress组织一直将这些新发现的问题放在首位,并发布了诸如4.9.2或4.9.20之类的要点版本来修复此类问题。

如果您紧跟最新版本,WordPress该工具将是安全的。而且,如果您确定自己的网站托管在您的信任之下,并且安装了对受信任插件的更新,则它是完全安全的。但是当这些事情没有完成时,给定的WordPress安装绝对是不安全的。

对WordPress的真正威胁:僵尸网络!

1572184839-7390eab18f0bc3aWordPress网站通常不会受到威胁,因为任何地方的一个人都试图对其中之一造成不良影响。实际上恰恰相反。您可能有一个人试图破坏您的WordPress网站,但是除非您最近激怒了技术向导侄女,否则您不必为此担心。

经常威胁和损害WordPress网站的真正问题是,试图接管您网站的人们进行自动攻击。人们可以控制这些攻击,但是它们是由计算机完成的。没有人试图使用各种用户名和密码自行登录WordPress网站。

取而代之的是,他们编写程序来扫描Internet上的WordPress网站,并尝试登录到他们找到的所有网站。或者尝试对所有漏洞利用已知的插件漏洞。当您了解到威胁模型主要由非人类参与者对WordPress网站进行的自动攻击组成时,另一套不同的安全措施就变得很重要。

为什么WordPress网站遭到黑客攻击

因此,我们最需要担心的是僵尸网络,而不是单身的人。为什么僵尸网络试图接管您的小型WordPress网站。毕竟,这只是您的网站…

  • 与朋友分享图片
  • 在线出售您的宠物笼
  • 为乐趣而写
  • 等等

僵尸网络并不真正在乎您的网站的用途。如果您的WordPress网站不安全,他们将接管它。他们的动机不同,但是接管WordPress网站的最常见原因是:

  • 将流量转发到他们自己的站点
  • 接管您的SEO排名,将Google果汁发送到他们的页面
  • 出于自豪或政治信息而污损
  • 驱动下载-使您网站的访问者下载恶意软件等。
  • 为您的网站提供后门以供以后使用
  • 要访问您的站点数据-用户列表,购买历史记录等。
  • 发送垃圾邮件-如果您的WordPress网站可以发送电子邮件,他们也可以将其发送给他们的电子邮件
  • 为了使用服务器资源(主要是CPU)来进行有用的计算,最有可能开采比特币之类的加密货币

这些只是我从一点思考和研究中就能想到的。聪明的黑客很有可能会将他们添加到列表中。

我希望列表能清楚表明您网站的相对模糊性不是保护。当然,您可能没有有趣的用户列表,但是您确实拥有一台服务器,可以用来制作狗狗币或发送垃圾邮件。因为每个服务器都有一个CPU,并且绝大多数服务器都可以发送电子邮件。

WordPress安全性依赖整个堆栈,而不是单个事物

关于WordPress网站的另一件重要的事情是WordPress实际上位于各种各样的技术之上,并且堆栈的其他部分也可能存在漏洞。例如,WordPress在PHP之上运行。与WordPress一样,有时PHP版本也包含安全漏洞。如果您要定期更新,则没什么大不了的。如果不是,这些PHP问题可能会损害您的WordPress网站。

WordPress网站的基础安全堆栈中的其他内容也可能配置不正确。这与过时不同,但是具有相似的效果。如果您不熟悉Web服务器的配置,则可能需要进行一些更改,才能使它正常工作,而又没有意识到它将对安全性产生深远的负面影响。它比您希望的更常见,这也是我喜欢将大量非WordPress配置留给专业人员的主要原因之一。

我并不是说您不能自己设置物理服务器,也不能购买廉价的VPS并使用其他人的配置脚本进行设置。但是,请务必信任在顶部运行WordPress的配置,这一点非常重要。因为如果您正确执行WordPress,但MySQL配置错误,则仍然可能发生非常糟糕的事情。

不必要(但很常见)的WordPress安全建议

1572184841-2ebe1337d35beb8在我们提出建议之前,我希望您一定会遵循,在此我想从我在其他地方看到的建议开始,这些建议在我看来并没有太大意义。如果完成,大多数建议几乎是无害的,但会带来一些好处。但是我不建议这样做的原因是它的好处(如果存在的话)很小。花时间在它们上面使您忽略更有价值的安全实践的可能性很大。您可以自由地进行这些操作,但是我认为他们不值得花时间进行投资,因为它们所带来的收益很小。

隐藏WORDPRESS版本

我们从最无用的常见安全建议开始-您应该隐藏WordPress版本号,或者您正在使用WordPress。第二个是非常难以严肃的方式做的,首先是基本没有价值。

隐藏您正在运行WordPress很难,并且大多数人都试图仅通过更改或消除<meta>其站点中的标记来做到这一点。没有任何一个合理的智能僵尸网络构建者会依赖于此,并且许多非WordPress网站的网站管理员都报告说,他们看到人们对自己的网站进行探查就像是WordPress。

隐藏您的WordPress版本更没有意义。再次的想法是,僵尸网络将检查您的WordPress网站是否在WordPress的已知漏洞版本上,然后如果您的版本号不在该列表中,则不会攻击您。我从没听说过有人说他们有证据表明僵尸网络会这样做,而且我也不知道为什么会这样。我敢肯定,这是WAY并非只是最新上最新版本的WordPress的价值较低,所以这样做吧。

禁用XML-RPC API和JSON REST API

对于只使用WordPress网站作为Web界面并且只希望使用WordPress的人,禁用WordPress的XML-RPC API并没有真正的危害。MarsEdit,WordPress移动应用程序和其他类似工具使用XML-RPC连接到WordPress网站。这些工具现在有可能依赖于REST API,尽管大多数工具尚未为此更新。

JSON REST API是WordPress的新增功能,但可以用于非常相似的用途。此外,WordPress内部正在努力更好地利用JSON REST API来提供可提供更丰富交互性的功能。

这两种API都是攻击者可以追踪您的网站的方式。并有记录表明人们在野外尝试这些攻击。我之所以将它们列入我不推荐的列表中,是因为这两种类型的攻击都不是很常见。而且这两个API都非常有用,您可能会发现尝试在WordPress网站上进行的某天中断了一天,因为您完全封锁了这些API。

更好的解决方案是获取Web防火墙。理想情况下,您的WordPress主机已经为您合并了一个。如果没有,您可以从Sucuri或Cloudflare之类的人那里购买自己的产品。这些应该阻止向API端点传输错误流量的可能性,但可以让好东西通过。虽然不能保证,但是与将其关闭相比,它通常是更好的解决方案。

更改WORDPRESS数据库前缀

设置WordPress的大多数人都看到了一个文本字段,要求输入数据库前缀,并看到其中的值wp_。WordPress将您的数据(帖子,评论,产品等)存储在数据库中以该前缀开头的表中。这里的想法是默认值不太安全,您应该将其设置为jadfl_,这是其他WordPress网站可能没有的。

此步骤保护您的可能性很小。执行此操作时,您特别要防范所谓的SQL注入攻击。很少有WordPress网站受到这种方式的危害,但这无疑是可以删除网站的一种方式。但是为了做到这一点,您需要运行一个容易受此类SQL注入攻击的WordPress版本或一个插件。因此,如果您的插件和主题以及WordPress是最新的,则您实际上并不会从中获得太多好处。

此外,如果您的站点中存在一个SQL注入攻击漏洞,攻击者可以很容易地列出数据库表,这非常容易。并不是盲目地假设帖子位于标记为的表中wp_posts,而是这么快的攻击者数量,他们会假设那是您的表的位置并且不验证它是否只是聪明的一小部分,足以发动攻击。

我认为,如果您要建立一个新站点,或者找到一种简单的方法来更改数据库前缀,请继续进行。这是一个很小的胜利,但这是一个胜利。但是,如果您的站点已经在使用wp_前缀运行,特别是如果您不是开发人员,则不要浪费时间尝试这样做。

重命名您的WORDPRESS登录URL

我认为不值得做的最后一条建议是将登录URL从example.com/wp-login.php更改为example.com/my-secret-url-for-puppy-login。一些安全性插件使这变得容易,而且显然也不是浪费时间。如果攻击者无法找到您的登录页面,他们甚至无法尝试对您的密码进行蛮力攻击,我对此表示反对。(关于此,稍后)。

该建议的问题在于,如果攻击者发现很难找到您网站的登录页面,您(或同事等)也可能会发现。如果您有一种安全可靠的方式来标记您认为易于使用的页面,则可以这样做。它确实具有一些适度的安全性好处。

但同样,如果您正确地做一些其他事情,收益不会太大。如果您要使站点上的所有帐户都具有良好的密码,那么猜测密码的攻击将不太可能成功。更重要的是,如果您有某种方法可以在一个很小的时间内限制一个帐户的登录尝试次数,那么您将进一步降低登录攻击成功的可能性。这两个密码(好的密码和对失败登录的限制)一起使用,比没有适当保护措施的模糊URL登录到您的站点时更有价值。

通用WordPress安全最佳做法

wp力ssl如果您希望WordPress是安全的,则必须执行一些常见的操作。在我思考的过程中,有很多可能性,但是这些都是您应该始终做的事情。这些并不是最严格的顺序,但是它们大致上是相对重要性的顺序,我想您要提供它们。

我还要补充一点,如果仅执行其中的前几个操作,您将领先50%的WordPress在线网站。如果您执行前五个操作,则您的WordPress网站上不太可能会遇到无法恢复的安全问题,如果您执行了所有这些操作,那么如果您的网站受到感染,我将感到非常惊讶。那不是保证,这只是我的想法。

为WORDPRESS设置好密码

互联网上每个 WordPress网站都可能受到攻击的基本方法非常简单:机器人会在几乎每个在线的WordPress网站上定期猜测帐户密码。您的密码错误,很可能会丢失您的帐户,从而丢失您的网站。一些明显错误的密码:

  • 密码
  • 455
  • [网站名称]
  • 查理

关于什么才是好的密码,有很多不同的想法。但是几乎所有人都同意这些是不好的。所有这些都是不好的,因为密码猜测器很容易将它们击中。“ password”及其变体(即使是那些很酷,聪明的字符替换)在尝试使用密码猜测的脚本列表中也总是很重要。网站名称也很容易猜到。用“ [sitename]”,我的意思是像“ WPShout”或“ wpshout”那样的密码Fred或我在WPShout上的密码。

“ charlieiscute”相对于其他具有一些很大的优势。这不是一个字典单词。它也更长。毕竟,大多数人都认为查理很帅而不可爱。(这是个玩笑。我不认识查理。)

关于“ charlieiscute”的好处是它很长。它也有点独特。但这并不是很难猜到的。它仅使用小写字母。没有大写,没有数字,没有特殊字符。虽然攻击者不太可能知道,但是当您包含其他类别的字符时,您更有可能使用随机猜测系统更快地输入密码。

加强WordPress密码安全性的步骤

1572184846-01ee9547a3f708f

有很多方法可以改善WordPress中的密码安全性。但是这是三大要素:

  • 具有难以猜测的密码。好的密码看起来很难阅读且复杂。如“ RP @ yu3ohd&LtpwzM} rWhgp6#AtY6HAzjvxKnz9zh”。此密码长,随机且唯一。任何攻击脚本可能猜到的可能性都很小。而且由于它是唯一的-它也不是我在Facebook,ArtWorld,RandomInternetReseller或其他任何网站上的密码-妥协不会破坏它。
  • 减慢猜测密码的攻击。默认情况下,机器人可以每分钟(大约)在您的WordPress网站上猜出1000个密码。好多啊。如果您阻止人们在设定的尝试失败次数(3次,5次,10次,等等)后继续尝试登录,则会大大降低攻击者的速度。我最喜欢的方法是“限制登录尝试次数”。这是一份快速指南,详细解释了限制登录尝试次数
  • 使用密码管理器。如果您已完成上面的第一件事,您将很快就厌倦了键入该密码,否则您将忘记它。这是密码管理器的用武之地。我有太多类型的密码管理器无法告诉您使用哪个密码和原因。我个人使用并喜欢1Password,但您的里程可能会有所不同。KeePassLastPass是其他受欢迎的经理。

保持WORDPRESS,插件和主题更新

几乎可以保证,每个在线WordPress网站都会受到蜂拥的僵尸网络的攻击,这是通过攻击可能正在运行的软件中的已知漏洞进行的。无论您是否使用过Revolution Slider,TimThumb或其他著名的WordPress插件,一个机器人都可能试图利用您站点上该软件的旧版本中的已知问题。即使这些漏洞利用已经很久了,它还是有很大的机会,一个机器人现在正试图用它们来攻击WordPress网站。

这就是为什么您必须保持WordPress最新的原因。不仅是核心WordPress,还有您使用的所有插件和主题。如今,与WordPress核心或主题相比,具有安全漏洞的插件更为常见,但全部三个都可以。当外部研究人员或内部开发人员意识到他们的某些代码存在安全性问题时,他们最负责任的行动就是创建一个没有该漏洞的新版本。WordPress生态系统中的大多数参与者都擅长于此。

这就是为什么您必须尽自己的一份力量。当他们提供包含错误修正或安全补丁的更新时,您必须及时安装它们。您可以让WordPress为您安装这些更新,自己动手或使用远程WordPress管理插件(如ManageWP)。“托管” WordPress主机将为您处理这些事情(我们使用并且喜欢SiteGround – 有关更多信息,请参见我们的SiteGround评论)。如果您不打扰,也可以雇用某人来做。但是,如果您对WordPress安全性很认真,就必须这样做。

请执行以下操作:确保您正在创建常规的自动WORDPRESS备份

确保网站安全的最佳方法之一就是确保在发生不良情况时具有数据安全性。这意味着您应该至少有一个站点的最近备份,以便在发生不良情况时用于重建或还原。

1572184847-d1a4786153dd6d3

VaultPress是流行的备份解决方案,并且包含在Jetpack中

我相信,可靠地备份您的站点的唯一方法是自动进行备份。由于我们是人类,因此容易出错,因此很有可能如果您要求在WordPress网站上点击1-10次点击以获取最新备份,则有时会跳过此操作。

这就是您应该尝试使用备份插件的原因。理想情况下,它也应该同时备份文件(照片,PDF等)和数据库。理想情况下,它将数据从托管服务器上移出,因为这样做最大程度地确保了黑客也无法轻易删除备份。

因为这是一篇有关WordPress安全性而不是备份的文章,所以我不会为您提供所有选项及其折衷方案的完整列表。但是我认为Updraft PlusJetpack / VaultpressBackup Buddy是我想到的那些。

定期检查您的WORDPRESS网站

这实际上并不能阻止您的网站发生第一件事。实际上,与站点状态保持同步很重要的原因主要是为了防止更糟的事情发生。当您看到网站上发生奇怪的事情时,更容易尽早修复。而且,网站收购可能带来的负面影响也较小,例如Google会警告访问者有关您的负面影响。

如果您不定期登录网站来更新它们,则至少应确保它们的公开面看起来定期良好。而且,如果您无法执行此操作,则至少应确保对外部服务(如Pingdom)而言,该站点似乎处于联机状态。

这些事情将为您带来的好处是,如果似乎发生了某些不良或怪异的事情,请确保可以将备份还原到实时站点的新版本中。它并没有坏事发生,但是对于站点的长期健康至关重要。

避免不受信任或盗版的WORDPRESS代码

1572184849-f2e64fc2fec4da3

在盗版WordPress主题上找到指针非常容易。你不应该这样做

对于大多数人来说,这一点并不重要。我们大多数人仅使用WordPress.org或与我们雇用/合作过的开发人员或其他知名卖家提供的软件。如果您做所有这些事情,您几乎可以不用担心这一点。

这主要是针对那些试图通过盗版插件,主题等来省钱的人,或者是试图通过从“插件俱乐部”或其他不太受欢迎的来源获取代码来省钱的人。如果这样做,那么该代码可能是免费的,因为有人已经在其中添加了安全后门。

有时候,确实发生了免费的WordPress.org插件被坏演员接管而坏事发生的情况。幸运的是,它很少见,而且WordPress.org的维护者对正确设置非常满意。但是,如果您对此感到担心,最好的方法是在考虑要安装谁的插件时要更加透彻一些。

进一步增强WORDPRESS登录安全性(HTTPS,2FA)

WordPress安全建议中最常见的一条就是获取SSL证书。这绝对是一个很好的步骤(这也是我们喜欢SiteGround的另一个原因-他们使这变得容易)。但是,很少有人意识到的一个重要问题是HTTPS / SSL 并不能真正保护您的WordPress网站,而是您的网站与您和其他用户(请参阅:买家)之间的通信。因此,它非常有价值,但并非全部。

从本质上讲,应该将HTTPS视为您的站点与在Web浏览器中查看它的任何人之间的安全通道。HTTP连接可以由位于访客和服务器之间的各种设备中的任何一个监听。有了HTTPS,这些人几乎不可能监听。

因此,HTTPS的最直接好处就是您的登录凭据(或信用卡凭据等)更安全。例如,窥探咖啡店wifi的人不太可能看到您的密码。因此,您绝对应该获得HTTPS证书。但是不要以任何方式确保它在服务器上确保真正的WordPress安装的安全,因为它不是真的。

另一个很好但又不方便的步骤是在您的站点上使用两因素身份验证。执行此操作时,您需要三件事才能登录,而不是两件事。通常,我们使用用户名(或电子邮件地址)和密码登录到站点。使用2FA,您还需要“您拥有的东西”,今天,这通常意味着可以发送短信或生成时间序列代码的智能手机。在这两种情况下,您都是最安全的,因为密码泄露不足以接管您的帐户。他们也需要4或6位数字的代码。不断变化的插件集在WordPress中提供了此功能。目前,Jetpack提供了此功能,  或者您可以使用独立的插件

控制您提供给WORDPRESS网站的访问权限

另一个非常有用的安全做法是,真正考虑一下您向谁提供了对站点的访问权限。这是不同步骤的组合,而不是任何一个步骤。但是我认为适合该标题的是:

  • 为每个用户提供量身定制的帐户。不要让Jamal和Estrella都使用用户名admin或的帐户登录到您的网站wpshout。给他们每个人一个帐户,并仅向他们的帐户提供所需的访问规则。使用WordPress的用户角色和功能,给Jamal编写者一个“编辑者”帐户,但Estrella为您的开发人员提供完全的“管理员”访问权限。这基于所谓的最少访问原则
  • 不要让人们使用弱密码。如果您遵循上述建议,则还需要确保Jamal和Estrella不要使用诸如newyork或的密码gogators。您可以通过社交压力(只是问或不告诉他们)或通过真正的执行机制(例如插件)来做到这一点。
  • 不要给太多访问权限。我的意思是说更多晦涩的建议,多数情况下使用安全性插件可以使建议变得更容易。(或者,如果您是开发人员,请设置一些WordPress常量。)诸如禁止在WordPress管理区域中进行文件编辑,并确保您不给不需要它的人提供虚拟主机或SFTP访问权限,这把伞。

安装WORDPRESS安全性插件

有很多不错的WordPress安全插件。您应该使用哪个特定主题是我将来可能写的文章或创建的公共资源的主题。但是,一个好的安全性插件可能会帮助您满足我们上面列出的一些常见安全性需求(并且许多安全性插件将有助于解决我在本文中省略的内容,或者将它们放在无用的类中)。

我马上想到的名称是SucuriWordFenceJetpack ProtectiThemes Security。还有其他一些,因为该列表只是您研究的起始列表,而不是最终列表,请不要在其顺序中读懂含义。

插件将为您做很多事情。他们将为您制作访问日志,阻止已知的不良行为者,可以限制登录尝试,并可以帮助您解决网站上的文件权限问题等更深奥的事情。WordFence和Sucuri(以不同的方式)还提供了一种有用的不良流量阻止机制,以摆脱被称为“ Web应用程序防火墙”的僵尸网络。

 


找主题吧(lovecger.com) » WordPress安全性完整指南

发表评论

提供最优质的资源集合

立即查看 了解详情