View a markdown version of this page

Amazon Inspector Classic 安全最佳实践 - Amazon Inspector Classic

终止支持通知:2026年5月20日, AWS 将终止对Amazon Inspector Classic的支持。2026 年 5 月 20 日之后,您将无法再访问亚马逊 Inspector Classic 控制台或亚马逊 Inspector Classic 资源。Amazon Inspector Classic 不再适用于新账户和在过去 6 个月内未完成评估的账户。对于所有其他账户,访问权限将在 2026 年 5 月 20 日之前有效,之后您将无法再访问亚马逊 Inspector Classic 控制台或 Amazon Inspector Classic 资源。有关更多信息,请参阅 Amazon Inspector Classic 终止支持

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon Inspector Classic 安全最佳实践

使用 Amazon Inspector Classic 规则帮助确定您的系统的配置是否安全。

重要

当前,您可将运行基于 Linux 的操作系统或基于 Windows 的操作系统的 EC2 实例包含在评估目标中。

在评估运行期间,本节中描述的规则将生成运行基于 Linux 的操作系统的 EC2 实例的结果。规则不会生成运行基于 Windows 的操作系统的 EC2 实例的结果。

有关更多信息,请参阅 支持的操作系统的 Amazon Inspector Classic 规则包

禁止使用根凭证通过 SSH 进行登录

此规则将帮助确定 SSH 守护程序是否已配置为允许使用根凭证登录您的 EC2 实例。

严重性

中等

调查发现

评估目标中的 EC2 实例已配置为允许用户使用根凭证通过 SSH 进行登录。这会增大暴力攻击的成功率。

解决方法

建议您将 EC2 实例配置为阻止根账户通过 SSH 进行登录。而在必要时,以非根用户身份登录并使用 sudo 提升权限。要禁用 SSH 根账户登录,请将 PermitRootLogin 设置为 no(在 /etc/ssh/sshd_config 文件中),然后重启 sshd

仅支持 SSH 版本 2

此规则将帮助确定您的 EC2 实例是否已配置为支持 SSH 协议版本 1。

严重性

中等

调查发现

评估目标中的 EC2 实例将配置为支持 SSH 1,后者自带的设计缺陷大大降低了其安全性。

解决方法

建议您将评估目标中的 EC2 实例配置为仅支持 SSH-2 及更高版本。对于 OpenSSH,您可以通过在 /etc/ssh/sshd_config 文件中设置 Protocol 2 来实现这一点。有关更多信息,请参阅 man sshd_config

禁止通过 SSH 进行密码身份验证

此规则将帮助确定您的 EC2 实例是否已配置为支持通过 SSH 协议进行密码身份验证。

严重性

中等

调查发现

评估目标中的 EC2 实例将配置为支持通过 SSH 进行密码身份验证。密码身份验证易受暴力攻击,如有可能,应将其禁用以支持基于密钥的身份验证。

解决方法

建议您对 EC2 实例禁用通过 SSH 的密码身份验证,并启用对基于密钥的身份验证的支持。这将大大减小暴力攻击的成功率。有关更多信息,请参阅 https://aws.amazon.com/articles/1233/。如果支持密码身份验证,请务必仅允许通过可信 IP 地址对 SSH 服务器进行的访问。

配置密码最长使用期

此规则将帮助确定是否在您的 EC2 实例上配置密码的最长使用期。

严重性

中等

调查发现

未为评估目标中的 EC2 实例配置密码最长使用期。

解决方法

如果您使用的是密码,建议在评估目标中的所有 EC2 实例上配置密码的最长使用期。这需要用户定期更改其密码,减小密码猜测攻击的成功率。要为现有用户解决此问题,请使用 chage 命令。要为所有将来用户配置密码的最长使用期,请编辑 /etc/login.defs 文件中的 PASS_MAX_DAYS 字段。

配置密码最小长度

此规则将帮助确定是否在您的 EC2 实例上配置密码的最小长度。

严重性

中等

调查发现

未为评估目标中的 EC2 实例配置密码的最小长度。

解决方法

如果您使用的是密码,建议您在评估目标中的所有 EC2 实例上配置密码的最小长度。强制执行最小密码长度将减小密码猜测攻击的成功率。您可以通过使用 pwquality.conf 文件中的以下选项执行该操作:minlen欲了解更多信息,请参阅 https://linux.die。 net/man/5/pwquality.conf。

如果 pwquality.conf 在您的实例上不可用,您可以使用 pam_cracklib.so 模块设置 minlen选项。有关更多信息,请参阅 man pam_cracklib

minlen 选项应设置为 14 或更大。

配置密码复杂度

此规则将帮助确定是否在您的 EC2 实例上配置密码复杂度机制。

严重性

中等

调查发现

未在评估目标中的 EC2 实例上配置密码复杂度机制或限制。这将允许用户设置简单密码,从而增加未经授权的用户获得访问权和误用账户的几率。

解决方法

如果您使用的是密码,建议您将评估目标中的所有 EC2 实例配置为需要一定的密码复杂度。您可以通过使用 pwquality.conf 文件中的以下选项执行该操作:lcreditucreditdcreditocredit。欲了解更多信息,请参阅 https://linux.die。 net/man/5/pwquality.conf。

如果 pwquality.conf 在您的实例上不可用,您可以使用 pam_cracklib.so 模块设置 lcreditucreditdcreditocredit 选项。有关更多信息,请参阅 man pam_cracklib

每个选项的预期值都小于或等于 -1,如下所示:

lcredit <= -1, ucredit <= -1, dcredit<= -1, ocredit <= -1

此外,该 remember 选项必须设置为 12 或更大的值。有关更多信息,请参阅 man pam_unix

启用 ASLR

此规则将帮助确定是否在评估目标中的 EC2 实例的操作系统上启用地址空间布局随机化 (ASLR)。

严重性

中等

调查发现

评估目标中的 EC2 实例未启用 ASLR。

解决方法

要增强评估目标的安全性,建议您通过运行 echo 2 | sudo tee /proc/sys/kernel/randomize_va_space在目标的所有 EC2 实例的操作系统上启用 ASLR。

启用 DEP

此规则将帮助确定是否在评估目标中的 EC2 实例的操作系统上启用数据执行保护 (DEP)。

注意

配有 ARM 处理器的 EC2 实例不支持此规则。

严重性

中等

调查发现

评估目标中的 EC2 实例未启用 DEP。

解决方法

建议您在评估目标中的所有 EC2 实例的操作系统上启用 DEP。启用 DEP 将使用缓冲区溢出技术来确保您的实例免受安全损害。

配置系统目录的权限

此规则检查包含二进制文件和系统配置信息的系统目录的权限。它检查是否仅根用户(使用根账户凭证登录的用户)具有这些目录的写入权限。

严重性

调查发现

评估目标中的 EC2 实例包含非根用户可写入的系统目录。

解决方法

要增强评估目标的安全性并防止恶意本地用户提升权限,请将目标中的所有 EC2 实例上的所有系统目录配置为只能由使用根账户凭证登录的用户写入。