保护您的 Magento 商店的顶级安全策略
已发表: 2018-03-21(这是我们朋友在 JetRails 的客座帖子,JetRails 是一家 Magento 托管服务提供商,在 AWS 云中的专用服务器上提供客户配置。)
您的 Magento 店面是黑客的高价值目标,需要严格的安全措施来最大限度地减少其漏洞。 作为专门的 Magento 托管服务提供商,JetRails 经常被要求作为应急响应者来对抗恶意攻击。 对于安全漏洞可能对您的业务造成的灾难性影响,我们拥有第一手经验。
遵循安全最佳实践和协议是保护您的 Magento 店面的最佳防御措施。 将此清单用作针对最常见威胁的安全措施指南,包括恶意代码注入、恶意软件、暴力攻击和可怕的 DDoS。
Magento 安全最佳实践
请参阅我们的 Magento 安全最佳实践清单,以确保您免受最常见的在线威胁。
保护默认位置
每个 Magento 安装都有几个用于管理目的的后端文件夹。 这些入口点默认位于 /admin、/downloader、/var 和各种 /rss 端点。 由于这些文件夹设置在特定且已知的位置,因此它们可能成为对您的站点进行恶意攻击的入口。 对您的管理路径进行暴力攻击可能会给您的资源带来巨大压力——限制访问者容量、影响速度并削弱稳定性。 这是一个与 Magento 1.x 安装与 Magento 2.x 安装(自动需要此安全协议)最密切相关的问题。 阻止访问、自定义和保护管理路径使黑客更难以利用此漏洞。
双重身份验证
双因素身份验证(也称为 2FA)添加了第二级保护来验证管理员用户的登录凭据,并且是 Magento 安全性的关键组件。 使用库存的 Magento 安装,用户只能获得一种具有安全限制的身份验证方法。 添加双重身份验证已成为行业范围内的最佳实践,对于保护您的网站至关重要。 Magento 2FA 插件可以在 Magento Marketplace 上找到,包括 JetRails 的 Magento Two-Factor Authentication。
网络应用防火墙
利用诸如 Cloudflare 之类的 Web 应用程序防火墙 (WAF),您可以通过在恶意流量实际到达您的服务器之前阻止它来阻止安全漏洞。 WAF 可以根据您配置的特定规则过滤、监控和阻止传入流量。 例如,地理封锁允许您限制来自特定全球区域的机器人和/或人工访问。 Cloudflare WAF 的另一个好处是集体智能,它不仅可以阻止您识别为恶意的流量,还可以阻止整个 Cloudflare 社区认为恶意的任何流量。 此外,WAF 可以针对未应用的 Magento 补丁提供一些保护。 但是,始终安装最新的 Magento 安全补丁与完全依赖(甚至是非常复杂的)防火墙非常重要。
更新 Magento 补丁
Magento 的开源软件为电子商务社区提供了极大的灵活性来定制他们的网站并满足客户的需求。 但是,遵守安全协议、更新安全补丁和阻止漏洞的责任需要店面所有者和开发团队采取行动。
当发现安全漏洞时,Magento 开发人员会对特定的代码行进行微小的更改。 Magento 将代码中的这种调整作为安全补丁发送出去,以便自行安装。 黑客也意识到了这些漏洞,这意味着安全补丁一发布就应该安装。 一个很好的资源是 MageReport,它将检查您的站点以确定是否需要安装任何 Magento 补丁程序。 补丁安全更新也可以在 Magento 安全中心找到。 您的技术合作伙伴应该会在补丁可用时提醒您。
第三方插件
Magento 的第三方插件可以为改善您的店面和客户体验创造无穷无尽的选择。 但是,添加功能也可能导致意外漏洞。 为确保在安装第三方插件后保持安全性,您的开发人员将需要手动检查所有供应商和应用程序的更新。 当漏洞暴露时,必须仔细监控和修补第三方插件。 Magento Marketplace 在审查 Magento 2 插件方面变得更加严格,但同样的原则适用于 Magento 1 和 Magento 2。
操作系统/PHP 版本
就像您的 Magento 安装一样,您的服务器操作系统必须使用最新的内核和安全补丁保持最新。 如果不这样做,可能会导致重大安全漏洞,例如 2018 年初暴露的 Meltdown 和 Spectre 漏洞,这些漏洞允许恶意代码读取内核内存。
PHP 也是如此,它读取并执行 Magento 源代码。 PHP 的每一次新迭代都会保护后续版本中暴露的漏洞。 此外,较旧的 PHP 版本将无法通过 PCI 合规性扫描。
与负责维护整个软件堆栈(包括内核和相关服务)的托管服务提供商合作至关重要。
PCI合规性
支付卡行业数据安全标准 (PCI DSS) 适用于接受信用卡支付的任何规模的公司。 由于大多数 Magento 店面都处理客户帐户,因此谨慎的做法是满足 PCI 合规标准。 如果您的公司打算接受卡付款并处理客户持卡人数据,您还需要使用符合 PCI 的托管服务提供商安全地托管您的数据。 通过 Trustwave 等经批准的供应商运行 PCI 扫描可以发现可能阻碍您获得 PCI 合规性的安全挑战。
最小权限访问
保护 Magento 网站免受恶意行为影响的另一个重要设计考虑因素是最小权限访问的概念。 该原则要求用户仅被授予对执行特定任务所需的最小功能子集的访问权限。 例如,运输部门的员工应该只能访问运输功能; 同样,那些在计费中的人应该只有影响计费的能力。 通过结合使用只读权限和分离部门,您的敏感客户数据的安全性将得到增强。
访问安全
密码应定期更改,不应共享。 练习良好的密码协议对安全至关重要。 请勿以明文电子邮件、SMS、IM、支持票证或任何其他未加密的方式发送密码。 对于系统访问,允许对 shell 或 SFTP 用户进行密码验证通常不是一个好主意。 尽可能使用 SSH 密钥而不是密码。
安全存储密码的一个很好的资源是 LastPass,这是一个适用于所有浏览器和移动设备的免费管理系统。 它还可以生成安全密码并提供目前可用的最强加密标准。
保护您的开发环境
限制开发人员以外的任何人对您的开发环境的所有访问非常重要。 请记住,您的开发环境是生产(实时)站点的镜像,其中包含同样有价值的信息。 通常,开发人员会在 dev 和 prod 中重复使用密码和 SSH 密钥,因此在两种环境中保持相同严格的安全协议至关重要。
与一个伟大的团队一起包围自己
这些步骤中的每一个都提供不同的保护层,并且可以合并到安全策略中,以帮助您降低风险并消除对 Magento 店面的威胁。 与优秀的托管公司和可靠的开发团队合作是实现可靠安全计划的基础。 归根结底,保护您的电子商务网站就是保护您的资产、客户和声誉。
关于作者:JetRails 营销总监 Davida Wexler
Davida Wexler 是 JetRails 的营销总监,JetRails 是一家 Magento 托管服务提供商,在专用服务器和 AWS 云中提供自定义配置。 JetRails 在芝加哥设有办事处,专注于电子商务平台的安全、加速和性能。 该公司热衷于帮助客户成长并推动 Magento 取得成功。 归根结底,他们认为电子商务是关于人而不是服务器的。 *Davida 不是 nChannel 的员工。 她是一位客座博主。