WordPress内容管理系统或 (CMS) 是市场上最受欢迎的 Web 应用程序之一。据估计,WordPress为近 40% 的互联网提供支持,而几年前这一比例为 30%。内容管理系统成功的基础是它的便利性、简单的安装以及庞大的主题和插件社区。对 Web 应用程序的运行方式知之甚少的人可以使用 WordPress,但它是以牺牲安全性为代价的。
WordPress 会被黑客入侵吗?
任何 Web 应用程序都可能被黑客入侵,但 WordPress 因其流行而成为主要目标。WordPress 代码的核心通常是安全的,但漏洞通常源于第三方主题或插件。主题和插件向 WordPress 核心添加代码以提供附加功能,但正是这些代码可能引入漏洞。由于网站所有者通常不是安全专家,他们不知道如何审查代码和测试第三方插件的漏洞。即使是下载量数以百万计的插件也可能存在未知漏洞,因此仅使用流行的插件和主题并不能保证安全。
第三方代码并不是 WordPress 网站的唯一风险。如果服务器或应用程序配置错误(例如,允许访问关键文件或目录),则可能导致数据泄露,或者攻击者可以在 WordPress服务器上上传恶意代码以危害目标网站或服务器本身。任何错误配置或易受攻击的代码都会使 WordPress 受到威胁,因此即使使用其安全代码,WordPress 也可能被黑客入侵。
由于 WordPress 是一种如此流行的软件,攻击者通常会使用脚本扫描功能来查找并(有时)自动利用漏洞。任何监控 WordPress 网站的人每天都会报告来自机器人和其他恶意威胁的大量扫描。以下是可能危及 WordPress 站点的常见威胁列表,您在保护站点时应考虑这些威胁。更多阅读:防黑客攻击:最好的WordPress安全插件推荐
未经授权的认证
对 WordPress 博客管理员帐户的暴力攻击非常常见。如果您使用一个监控应用程序来阻止和记录这些暴力身份验证机器人,您可以看到用户名“admin”和“administrator”不断受到攻击。您可以使用备用管理员用户名采取预防措施并防止暴力验证。这并不能完全防止暴力攻击,但它会阻止编码为扫描两个最常见的管理员用户名的脚本。
过时的核心软件
在发现漏洞之前,WordPress 中的核心代码是安全的。该漏洞可能是在添加到 WordPress 核心代码库的新代码中引入的,也可能来自一个存在一段时间并最近被发现的未知漏洞。
WordPress 开发人员全年都会发布新版本。要解决过时核心软件的漏洞,请在有新版本可用时更新您的 WordPress 软件。WordPress 还具有自动更新功能,可在部署新版本时更新核心软件。
过时的 PHP 版本
PHP 编程语言自发布以来经历了多次更改,不再支持旧版本。PHP 官方网站将最新版本列为 8.0,并在 2023 年之前支持安全更新,但 7.3 在 2021 年 12 月之后将不会收到安全更新。如果您运行旧版本的 PHP,您可能会在 WordPress 站点中留下漏洞而无法选择修补它们.
托管过时的 PHP 版本很常见,因为每当向站点引入新软件时,都应在安装前测试新配置。版本之间进行了一些小的更改,因此在不先测试的情况下进行安装可能会破坏站点。这种复杂性会导致延迟,这为攻击者打开了一扇机会之窗。当 PHP 版本被正式弃用且不再受支持时,应尽快测试 WordPress 站点并升级到最新的受支持版本。
未定义的用户角色
当您第一次设置 WordPress 软件时,您会在安装过程中创建一个管理员帐户。此帐户对应用程序具有完全控制权。WordPress 还有其他几个角色,例如编辑器、作家和订阅者。每个角色在创建时都有自己的核心权限添加到用户帐户中。
应严格监控用户权限,负责添加用户的任何人都应使用正确的指示为每个新帐户分配正确的角色。默认情况下,还会为新用户分配角色。此角色应该是权限最有限的角色,并在稍后添加其他权限。
WordPress 过时的主题和插件
就像核心 WordPress 代码库必须更新一样,当发现漏洞时也应该更新主题和插件。这一要求给开发人员带来了压力,要求他们修补他们的软件,因此 WordPress 网站所有者应该只与尚未停止支持插件代码的活跃开发人员一起安装主题和插件。
即使流行的插件也有漏洞,但大多数开发者会继续修补支持以吸引用户。当您搜索插件或主题时,请始终选择具有活跃开发人员和频繁更新(尤其是安全更新)的软件。
SQL注入
当代码将 SQL 查询传递到后端数据库时,必须对其进行验证以避免 SQL 注入。SQL 注入攻击利用编码不佳的插件和主题,并将恶意语句发送到数据库。这些语句允许攻击者执行查询、删除数据并可能提升权限。最严重的安全问题是攻击者可以将恶意软件隐藏在数据库中以进行再次感染并保持持续威胁。
WordPress 网站所有者严重依赖开发人员在将 SQL 语句发送到数据库之前对其进行验证。例如,开发人员应该使用准备好的语句,而不是使用字符串和用户输入构建查询。任何用户输入都应被视为“不安全”并在将其发送到数据库之前进行验证。更多阅读:将Web服务器与数据库分离的好处
恶意软件
攻击者将编写脚本来识别上传恶意应用程序的机会。恶意软件安装成功后,攻击者可以破坏站点、将勒索软件下载到服务器或将代码注入 WordPress 文件。任何不熟悉监控和检测恶意软件的 WordPress 网站所有者都可能让恶意代码在不知不觉中运行,并继续允许攻击者窃取数据。站点入侵会给站点所有者带来压力,需要专家来查找漏洞并修复问题。
由于各种原因,可以上传恶意软件。对目录的许可访问、插件和主题代码中的漏洞或不正确的站点配置是一些可能导致恶意软件安装在 WordPress 站点上的安全问题示例。保持您的站点更新并覆盖活动监控可以帮助阻止和检测恶意软件上传。
跨站脚本
跨站点脚本 (XSS) 攻击是指攻击者利用设计不良的插件代码,允许攻击者将自己的恶意内容注入客户端和服务器之间的信息交换中。XSS 攻击有两种类型:反射型和持久型。使用反射型 XSS,攻击者会将恶意代码发送到用户输入,然后在用户浏览器中显示。例如,如果您检索文本框中的输入并通过 GET 查询将其发送到服务器,则必须先验证此输入,然后再将其显示在浏览器中。否则,攻击者可能会注入将在用户浏览器中运行的恶意脚本,这可能导致 cookie 或访问令牌被盗。
当攻击者将恶意内容发送到 Web 服务器,然后应用程序将其存储在数据库中时,就会发生持久性 XSS。存储的恶意内容稍后会在用户的浏览器中呈现。这种恶意内容还可以窃取 cookie 或访问令牌、将用户重定向到恶意站点或窃取用户数据。
分布式拒绝服务 (DDoS)
DDoS 并非源于糟糕的代码,而是当攻击者以过多的流量淹没网站,耗尽资源时,就会发生这种情况。如果没有快速检测到 DDoS,攻击可能会使站点无法使用。DDoS 使用位于不同地理位置的多个设备向服务器发送大量流量,这似乎在没有任何警告的情况下发生。应监控该站点以防止此类攻击,以便管理员能够迅速采取行动。更多阅读:DDOS攻击的原理是什么?
DDoS 不同于拒绝服务 (DoS)。DoS 也是设计不佳的代码中的潜在漏洞。任何阻止用户使用站点功能的恶意活动都是 DoS。监控站点活动、错误和服务器资源将有助于检测和快速阻止 DoS。
搜索引擎优化垃圾邮件
一些攻击会注入关键字、链接和重定向。目标是利用在搜索引擎中排名靠前的网站页面,并利用它们来提高攻击者网站的排名。“制药黑客”在受害者页面中隐藏了药品的隐藏关键字和链接。搜索引擎检测关键字和链接的内容和排名页面,但网站所有者看不到它们。
条件重定向从搜索引擎中排名的页面中获取用户,并将其发送到攻击者控制的站点。用户不知道重定向,并且可以将凭据或敏感信息委托给攻击者控制的站点。有条件的重定向也会影响搜索引擎排名,因此网站所有者可能会看到他们的页面因奇怪的短语而排名或突然失去排名。
蛮力攻击
管理员帐户始终是暴力攻击的目标。攻击者使用通用密码,将它们加载到脚本中,并自动尝试跨数千个 WordPress 站点进行身份验证。您可以通过使用双因素身份验证 (2FA) 并为所有帐户(最重要的是管理员)分配加密安全密码来阻止暴力攻击。密码安全密码至少为 12 个字符,包含大写和小写字母,并且至少包含一个数字和特殊字符。
如何使我的 WordPress网站安全?
作为 WordPress 网站所有者,您非常依赖开发人员来生成安全代码,但您也可以采取措施确保网站的安全性。除了通过更新核心 WordPress应用程序和插件来始终保持代码安全之外,您还可以采取一些额外的步骤来降低风险。
寻找可靠的 WordPress 主机提供商
您的网站应该托管在具有强化安全性的服务器上。主机提供商的管理员负责服务器安全,因此您可以依靠他们来正确配置 WordPress。阅读评论、搜索用户反馈并提出问题以找到安全的 WordPress 托管。托管服务提供商会在 WordPress 站点所有者注册服务时列出为其提供的多项安全功能,因此请找到提供托管安全功能的提供商。
控制 WordPress 访问
攻击者以存储敏感信息(包括站点凭据)的特定页面为目标。这些页面是:wp-admin、wp-login.php和xmlrpc.php。为这些文件分配错误的权限可能会使攻击者窃取凭据或注入自己的凭据,从而使他们能够访问数据库和站点内容。
即使这些文件受到保护,攻击者仍然可以利用网络钓鱼电子邮件、社会工程或恶意软件获取凭据。为了保护您的帐户凭据,您可以采取其他措施来确保攻击者即使能够获取您的 WordPress 管理员也无法进行身份验证
- 使用加密强度高的密码来避免暴力攻击。密码应至少为 10 个字符,并包含数字、大写字母和特殊字符。您可以使用密码库来存储 WordPress 凭据,以免忘记它们。
- 使用双因素身份验证。要在 WordPress 管理面板中进行身份验证,攻击者仍需要将身份验证代码发送到您的智能手机。双因素身份验证是一种在网络钓鱼攻击后阻止未经身份验证的访问的策略。
- 限制身份验证尝试。您无法阻止机器人尝试进行身份验证,但您可以限制尝试阻止暴力攻击的次数。WordPress 具有限制身份验证尝试的插件。在定义的尝试次数后,帐户将被锁定一段时间。
- 取消对非活动帐户的验证。让空闲用户保持活动状态为攻击者打开了机会之窗,无论是令牌盗窃还是用户设备上的物理访问。如果用户从公共设备进行身份验证但忘记注销,您可以使用 WordPress插件来确保任何具有物理访问权限或会话劫持的人都无法访问管理仪表板。
- 更改默认管理员帐户名称或创建备用管理员帐户。安装 WordPress 后,将创建管理员帐户。一种策略是将此帐户重命名为备用帐户,或者您可以创建一个备用帐户并禁用主管理员帐户。
保持 WordPress 最新
WordPress 开发人员每年都会发布更新。这些更新解决了各种错误和安全问题。在更新之前,您应该始终备份您的 WordPress 站点,但您应该尽快更新软件,尤其是在更新保护已知漏洞的情况下。
不要忘记在可用时更新插件和主题。通常,漏洞源于插件和主题代码,因此快速修补将阻止攻击者利用问题。每当插件或主题发布更新时,WordPress 仪表板都会显示警报。
管理更新需要您每天查看 WordPress 仪表板,但您可以通过安装Imunify360来消除这种开销。Imunify360 将执行实时虚拟修补, 因此您永远不会因插件或核心代码过时而导致数据泄露。它还强化了 PHP,包括 Web 应用程序防火墙 (WAF) 和主动防御模块,可阻止可疑行为并向您发出警报。
WordPress 安全的十个简单步骤
在将 WordPress 站点部署到生产环境之前,您应该遵循确保站点安全的操作清单。我们整理了一份清单,以帮助您开始使用 WordPress 安全。
创建备份
备份是灾难恢复的关键组成部分。如果您无法使用其他方法从停机中恢复,备份会将系统恢复到以前的时间点。如果您的 WordPress 网站成为勒索软件攻击的受害者,备份也是必要的。它们应存放在安全的位置并进行测试以确保它们没有损坏。
安装安全插件
几种类型的安全插件可以帮助阻止攻击。这些插件将阻止 XSS、密码暴力攻击、文件遍历和恶意上传。即使使用这些安全插件,监控您的 WordPress 设置以识别攻击仍然很重要。
使用 Web 应用程序防火墙 (WAF)
WAF 可以阻止许多利用插件和主题代码中的漏洞的攻击。Imunify360 的 WAF 将阻止 XSS、恶意 PHP 脚本、暴力密码攻击和 SQL 注入。为了对抗过时的软件漏洞,Imunify360 还将修补您的 WordPress 软件并监控未经授权的活动。
安装 SSL/HTTPS 证书
SSL/TLS 证书将为您的用户连接增加安全性以阻止数据窃听。SSL/TLS 证书对于搜索引擎排名也很重要,因此在将 WordPress 集部署到生产服务器之前应该优先考虑。
禁用文件编辑
WordPress 应用程序有一个文件编辑选项,允许用户更改内容,包括主题项目。如果攻击者可以利用任何漏洞,则您网站中的内容可能会受到隐藏的恶意软件、重定向或第三方链接的影响。您应该锁定编辑,以便只有管理员可以编辑文件和主题配置。
禁用 PHP 脚本执行
默认情况下,WordPress 将特定目录配置为具有写入权限,以便用户可以上传图像、插件和主题。如果攻击者利用此功能中的任何漏洞,则可以利用该站点来托管注入代码库的恶意软件或 PHP 脚本。为避免成为恶意脚本和代码的宿主,应将 WordPress 站点配置为禁用 PHP 脚本执行。
修改WordPress数据库表前缀
当攻击者制作他们的 SQL 注入脚本时,他们主要假设目标站点所有者在所有 WordPress 表上使用默认的 wp_ 前缀。可以在安装过程中更改此前缀。它不会消除所有 SQL 注入漏洞,但会阻止攻击者假定 WordPress 表具有默认前缀的任何脚本。
禁用目录索引和浏览
当可以浏览目录时,搜索引擎可以索引可读文件列表,攻击者可以查看任何可读文件以深入了解站点的配置和设置方式。应该禁用目录浏览,这可以在 .htaccess 文件中使用以下选项完成:
选项 – 索引
在 WordPress 中禁用 XML-RPC
WordPress 中的 XML-RPC 功能允许您使用第三方客户端远程上传内容。除非您绝对需要远程上传内容,否则应禁用此功能以降低被入侵的风险。您可以使用允许您控制远程访问的插件轻松禁用 XML-RPC。
chmod 000 xmlrpc.php
经常扫描 WordPress 中的恶意软件
尽管上述步骤降低了风险,但并没有完全消除风险。为了确保您的网站安全,您必须扫描它以查找任何威胁并监控活动。监控系统将检测异常流量模式和活动,以便您可以检测和消除恶意软件。当恶意软件或恶意代码被引入系统时,一个好的监控系统会自动检测并修复它。
结论
WordPress 安全性对于您的数据保护和网站声誉至关重要。由于 WordPress 如此受欢迎,攻击者将攻击重点放在托管内容管理系统的站点上。Imunify360可以简化您网站的安全性,让您对网站和服务器的安全采取积极主动的方法。
使用 Imunify360 安全套件将您的网络托管安全性提升到一个新的水平。Imunify360是一个完整的安全套件,所有组件协同工作,以确保您的服务器安全和运行,同时您可以专注于其他业务任务。Imunify360 是Linux 服务器防病毒、防火墙、WAF、PHP 安全层、补丁管理、域声誉的协同作用,具有简单的 UI 和高级自动化。免费试用 Imunify360 14 天,一周内即可看到效果。