Drupal 在全球拥有数百万用户,是开源 CMS 平台的市场领导者。组织正在使用这个平台来实现灵活的架构、实施速度、数字创新、大量免费提供的社区代码和可扩展性,而不必担心软件供应商锁定。此外,Drupal 的每一个核心战略举措都包括 API 优先、工作流和媒体,使 Drupal 更具雄心。
然而,在这个数字环境中,每个企业都担心安全漏洞。内置的 Drupal 安全功能有助于减轻这种担忧,但任何使用 Drupal 的企业都必须采取一些额外的步骤来完全保护其 CMS 并使其符合客户的需求。对于受 PCI DSS、HIPAA 等合规性框架约束的组织来说尤其如此。有效保护 Drupal 需要了解 Drupal 安全最佳实践以安全地维护它。
Drupal 安全漏洞
与其他 CMS 平台相比,Drupal 享有安全 CMS 的美誉。拥有积极开发Drupal安全模块的安全开发团队,即时识别、发布并解决安全问题。此外,开源还有助于 Drupal 缓解安全问题,因为任何人都可以检查其源代码中的漏洞并突出显示修复程序。
尽管如此,Drupal 安全漏洞确实在演变,远程代码执行攻击是风险最高的攻击之一。在这次攻击中,黑客在托管 Drupal CMS 的受害系统上执行恶意软件。Drupalgeddon2 和 drupalgeddon3 是利用 Drupal 7 和 8 中的远程代码执行漏洞的两个主要攻击。此 Drupal 漏洞已于 2018 年修复。Drupal 中的其他常见漏洞包括允许对内容进行授权访问的访问绕过漏洞和允许攻击者禁用 Drupal 网站的DoS(拒绝服务)漏洞。
要遵循的顶级 Drupal 安全最佳实践
1. 查您的用户角色并阻止访问权限
Drupal 提供多个用户和角色,如管理员、经过身份验证的用户、编辑者、匿名用户等。一旦安装 Drupal 或添加更多模块,您就可以手动为每个角色分配和授予权限。为保护网站,行使正确的角色和文件权限,如读取、写入和修改。例如,匿名用户应该拥有最少的权限,如只读。
如果权限松散,这可能允许入侵者访问您的敏感文件。还建议阻止对重要文件的访问,例如upgrade.php文件、authorize.php文件、install.php文件和cron.php文件。
2. 安装SSL证书
SSL 证书专用于敏感数据的安全处理。许多人认为 SSL 证书仅对电子商务网站至关重要,信息和博客网站不需要维护 HTTPS 连接。但是 SSL 加密对于 Drupal 登录页面保护您的登录凭据很重要。此外,SSL 证书提供多项 SEO 和性能优势,从受信任的供应商处获取 SSL 证书,以保护您 Drupal 网站上的数据传输。
3. 谨慎使用您的用户名和密码
根据 MobileIron 的说法,弱密码仍然是数据泄露的首要原因。42% 的组织因用户密码泄露而遭到破坏。许多使用“12345”等最简单密码的人更容易受到暴力攻击。请记住,今天的机器人正在互联网上爬行以欺骗登录详细信息。使用复杂的用户名和密码是加强 Drupal 安全性的最简单和最有效的方法之一。
4. 限制登录尝试次数
限制登录尝试可以帮助您避免成为暴力攻击的受害者。作为 Drupal 安全最佳实践之一,Drupal 7 及更高版本将每个用户在 6 小时内的登录尝试次数限制为 5 次。如果超过这些限制,用户将被阻止 6 小时内无法进一步登录。如果您使用的是早期版本,请添加一个 Drupal 安全模块,该模块包含限制登录尝试的功能。
5. 保持冷静并及时了解最新情况
使您的 Drupal 版本保持最新确实是企业为确保网站安全所能采取的最少行动。Drupal 贡献者一直在寻找 Drupal 漏洞和安全威胁,这可能意味着破坏。当贡献者推出任何新更新时,他们通常会包含针对安全漏洞的补丁和修复程序。延迟这些更新可能会为不良行为者打开大门。让您的 Drupal 扩展和主题保持最新,以远离网站威胁。
6. 执行定期的 Drupal 站点备份
网站备份可以帮助您在发生任何最糟糕的事件时恢复您的网站。除了 Drupal 核心和模块文件之外,重要的是将网站运行的所有重要内容都包含在备份中。这有助于在您被简单回滚破坏后快速恢复您的网站。还建议在开始对您的站点进行任何更新之前进行可靠的备份,这在您第一次安装模块或主题时尤其重要。
7. 利用 Drupal 的安全特性
Drupal 安全模块可以锁定您的网站并为其提供额外的保护层。这些安全功能使您能够阻止安全威胁、强制使用强密码、阻止恶意网络、扫描漏洞等等。以下是您必须在您的网站上使用的 Drupal 安全功能列表:
- 安全审查模块——自动化测试以发现安全错误
- 双因素身份验证——除了登录页面外,还添加了额外的身份验证层
- 密码策略——这个 Drupal 安全模块为登录表单提供了另一层安全保护,以防止机器人程序和其他安全威胁
- 内容访问——允许根据角色和作者授予内容权限
- 密码策略——定义安全密码策略
- ACL——Drupal 安全功能提供访问控制列表
- Captcha——用于过滤不需要的垃圾邮件机器人的 Drupal 安全模块
- 自动注销——在一定时间后注销用户
- 会话限制——限制每个用户的会话数
- 被黑了——安全模块检查 Drupal 主题或核心是否有任何变化