保护您的 Joomla 网站的最佳实践
Joomla 内容管理系统 (CMS) 由于其易用性和受欢迎程度,在互联网上广泛使用,它是下载量第二大的 CMS,下载量超过 1.1 亿次。但是,尽管很受欢迎,Joomla 和所有其他网站、应用程序、电子商务网站或其他 CMS 都存在安全风险。您无法逃避这些风险,但幸运的是,从一开始就采取正确的预防措施可以确保您的网站得到保护。
我们为您汇编了这份全面且分步骤的 Joomla 安全指南。它的目的是提供易于遵循的步骤来提高您的 Joomla 网站安全性。因此,如果您将保护您的 Joomla 网站免受所有即将到来的攻击列入议程,那么请阅读这篇文章。本文中提到的所有提示都是为了确保您正在实施最佳的安全和运维实践,以保护您的在线最重要的资产。
1. 选择智能用户名和密码
在选择您的 Joomla 管理员用户名和密码时,要明智。不要使用 "admin" 作为用户名,并选择一个复杂的密码。这可能是加强您的 Joomla 安全性的最佳方法之一,并且讽刺的是,这也是最简单的一种。
使用安全的密码对于健康的 Joomla 安全性是必要的。请确保您的登录密码足够长(8-14 个字符),并包含字母、数字和符号。由于密码区分大小写,使用大小写字母可以使它更强大。此外,养成至少每月更改管理员密码的习惯。
2. 实践最小权限原则
请确保您理解三个不同的权限组
1. 管理员:对 Joomla 后端访问权限最少。可以创建和编辑分类和文章。可以访问媒体管理器并上传和删除媒体。不能安装或删除扩展。
2. 管理员:拥有管理员的所有权限,以及一些额外的权限。可以访问用户管理、菜单管理器和扩展管理器。不能访问 Joomla 全局配置菜单。
3. 超级用户:对 Joomla 后端拥有完全访问权限。拥有管理员和所有者的所有权限,以及访问全局配置的权限。只有超级用户可以添加、编辑和删除超级用户。
您需要仔细将这些角色分配给您的用户组。任何拥有超级用户角色的用户都能在 Joomla 系统中执行任何操作。如果您将任务委派给需要较少权限的团队成员,请将该成员的账户分配为最小访问权限描述。
3. 使用 Joomla 双因素认证
强烈建议启用 Joomla 双因素认证,这为您的 Joomla 网站添加了一个额外的安全层。传统上,当您想登录您的网站时,您必须提供用户名和密码以在系统中识别自己。这种方法的最大的问题是您的用户名和密码可能会被盗用或猜测。因此,Joomla 双因素认证插件可以通过添加一个请求您输入一个每30秒就会变化的6位数的第二层安全码来保护您的网站,从而防止黑客攻击。
4. 限制对 Joomla 管理后端的访问
明智的做法是使用 IP 过滤来限制对 Joomla 管理后端的访问,因为它是一个敏感资源。以下步骤也可以用于限制对 Joomla 其他敏感文件夹的访问:
步骤 1:首先,如果您想要保护的目录中还没有 .htaccess 文件,请创建一个。
步骤 2:将以下代码添加到 .htaccess 文件中
Order Deny, Allow
Deny from all
Allow from xx.xx.xx.xx
步骤 3:将 xx.xx.xx.xx 替换为您希望允许访问的专用 IP 地址。
关于使用 htaccess 通过 IP 地址限制目录访问的更多信息,请参阅 此处。您还可以使用 安全扩展插件,该插件可以通过 IP 过滤功能限制对 Joomla 管理后端的访问,并包括许多其他增强您的 Joomla 网站安全的功能。
5. 使用安全的 FTP 连接
确保用于访问您的 Joomla 网站文件的连接是安全的。如果您的托管服务提供 SFTP 加密,则应使用 SFTP 或 SSH。如果您使用 FTP 客户端,则 SFTP 的默认端口号通常是 22。
一些 FTP 客户端会在您的计算机上以纯文本或编码形式存储密码。即使一些编码的密码可以被转换回原始密码。我们强烈建议不要在客户端保存 FTP 密码,以避免被黑客攻击。
6. 定期备份
为最坏的情况做好准备,以防您的网站遭到攻击。因此,建议您创建一个完整的、可工作的 备份。功能齐全的备份可以在网络攻击后几分钟内恢复您的网站。
备份的两个主要组成部分是
- Joomla 核心和其它重要文件
- 数据库
此外,备份的方法也可以灵活调整。您可以通过以下两种方式之一进行备份:手动和自动,如下所述
手动过程
手动备份 Joomla 网站需要两个组件:文件和数据库。要备份您的 Joomla 文件和文件夹,请使用 FTP 工具或如果您使用第三方托管,则使用文件管理器。
FTP 客户端可以将所有文件逐个下载到您的本地计算机。然而,这个过程可能会很慢。一旦文件下载完成,请将文件夹压缩成一个单一的 zip 文件,然后对其进行密码保护。
虽然可以通过将数据库的副本导出到您的计算机上来备份数据库。使用phpMyAdmin登录到您想要导出的数据库。点击页面左侧的数据库名称。一旦点击了您的Joomla数据库,您应该会看到一个标有“导出”标签的选项卡。选择“导出”选项卡然后点击“Go”按钮。然后将它保存到一个安全的位置。
自动备份
对于自动备份,Joomla扩展如Akeeba Backup可以帮助。从开发者官方网站下载Akeeba Backup扩展后,将其安装到您的Joomla网站上。安装完成后,访问扩展仪表板然后备份您的网站。备份完成后,您将被重定向到一个页面。在这里,点击“管理备份”。这将打开一个包含所有备份的页面。您可以从这里下载备份并将其保存在本地。
7. 保持您的Joomla网站更新
更新您的Joomla网站可以为网站提供安全性和稳定性。此外,并非所有更新都是完整的网站版本更新;一些更新可能是小的,仅仅是错误修复,而其他则是版本更新。
Joomla有一个专门的安全团队(链接至Joomla开发者安全页面),以其快速发布补丁而闻名。不修补您的Joomla网站可能会使其容易受到黑客攻击。
要检查您的网站更新,您可以执行以下操作
步骤1:以管理员身份登录到您的Joomla网站
步骤2:然后,导航到组件>Joomla更新
步骤3:现在,Joomla将检查是否有任何新的更新。如果有新更新,请简单地点击“安装更新”选项。
在更新到Joomla的新版本之前,应该检查以下事项
- 模板更新:检查您的Joomla模板是否与较新版本的Joomla兼容。如果不兼容,请要求模板作者更新它或使用替代方案。
- 扩展更新:检查并确保所有Joomla扩展都与较新版本的Joomla兼容。删除所有不兼容的扩展。要更新扩展,请导航到扩展>管理,然后点击更新。
- 清除缓存:更新到Joomla的新版本后,请使用Joomla的内置功能清除您的网站缓存。
8. 使用受信任的第三方扩展和模板
建议在您的网站上使用尽可能少的扩展以获得最佳Joomla安全性水平。使用不可信的第三方扩展或模板可能会引入漏洞并影响您的Joomla网站性能。并非所有第三方扩展都是没有问题的;如果您有避免第三方扩展的自由,请这样做!选择并使用来自信誉良好的公司的专业扩展和模板,并保持它们更新以保护您的网站。
9. 更新Joomla网站的PHP版本
通过将网站PHP版本更新到最新的稳定版本来保护您的网站免受各种黑客攻击并增强Joomla网站的安全性。请确保选择与您的Joomla模板和扩展兼容的PHP版本,以防止破坏您的网站。有多种方法可以更新PHP版本。主要方法在2020年9月Joomla社区杂志的一篇文章中进行了介绍:如何更新我的PHP版本?。
10. 增强HTTP安全头
强烈建议实现或更新HTTP安全头,因为它们通过帮助缓解攻击和安全漏洞为您的Joomla网站提供了一层安全保护。通常只需要对您的Web服务器进行少量的配置更改。这些头告诉您的浏览器如何处理您网站的内容。以下是需要审查的六个常见HTTP安全头:
- 内容安全策略
- X-XSS-Protection
- 严格传输安全
- X-Frame-Options
- 公钥基础
- X-Content-Type
11. 使用 Joomla 安全扩展
限制 Joomla 管理后台的登录尝试对于防止对您的 Joomla 网站的暴力破解攻击是必要的。这可以通过各种 Joomla 安全扩展来实现,这些扩展可以保护您的网站管理员后端免受黑客攻击尝试。您可以在 Joomla 扩展安全列表类别中找到这样的扩展。
12. 选择一个安全的主机提供商
请确保您选择的主机提供商实施了 Joomla 安全保障。如果您选择共享主机,请确保考虑 Joomla 安全性实施子网划分。购买一个共享的廉价主机提供商可能不是一个理想的开端,因为您的网站速度会变慢,可能会因为“声誉低”的网站“坏邻居”而受到垃圾邮件的影响,并且如果其他网站遭到黑客攻击,可能会受到损害。另外,在选择主机计划时,请检查各种参数,如定制、支持、评论等。
13. 使用 SSL 提高Joomla 安全性
强烈建议在您的网站上安装 SSL(安全套接字层)证书,因为它将加密您的 Joomla 网站与访客浏览器之间的通信。从经过验证的认证机构获取 SSL 证书,并确保所有 HTTP 流量都重定向到 HTTPS。为此,将以下代码添加到您的 .htaccess 文件中
# 将 HTTP 重定向到 HTTPS
RewriteEngine On RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
14. 经常进行 Joomla 安全审计
在黑客之前发现漏洞对于保持您的 Joomla 网站安全至关重要。这可以通过选择一个专业的安全审计工具来实现,它可以为您节省大量管理网站的时间。细致的安全审计是提高您的 Joomla 安全性的好方法。许多服务通过自动化任务来实现,例如创建网站备份、扫描入侵迹象、批量更新您信任的扩展。它还可以扫描您的网站是否使用安全最佳实践,并执行深度扫描以查找潜在的安全威胁。这些服务使用优化后的手动和自动化机制来发现您的 Joomla 网站中的漏洞。
15. 检查安装后消息
强烈建议阅读所有安装后消息,因为 Joomla 团队正在向您提供需要您关注的重要信息,这些信息是在升级后或第一次安装 Joomla 后提供的。这些消息大多包含 Joomla 安全配置或应手动执行的文件更改,升级无法更改。
16. 了解易受攻击的扩展
始终检查易受攻击的扩展列表(VEL)网站及其社交媒体页面,以了解最新的安全风险和可能的补丁。建议删除易受攻击的扩展列表中列出的任何扩展,因为这些扩展没有已知的补丁。确保在补丁可用时更新您的易受攻击的扩展。如果您的网站使用了一个没有补丁更新的扩展的易受攻击版本,那么您建议更换它。
结论
因为风险总是存在的,Joomla 安全性将是一个持续的过程,需要频繁评估可能的攻击载体。网站所有者和管理员应始终提高其网站安全性,以降低受损害的风险。
最后,我希望您觉得这篇文章实用且有用。如果您需要帮助保护您的 Joomla 网站,请将您的问题发布在评论部分,我将很乐意帮助您。
注意:感谢Brian Teeman对本文的反馈。自初次发布以来,已进行过修正。
在Joomla社区杂志上发表的一些文章代表了作者对特定主题的个人观点或经验,可能并不与Joomla项目官方立场一致。
通过接受,您将访问 https://magazine.joomla.net.cn/ 外部的第三方服务。
评论 1
是的,维护Joomla网站安全的很好建议。