如果禁用 IP 白名单,SSH 公钥身份验证是否足以保护服务器?

信息安全 验证 SSH RSA 服务器 白名单
2021-09-03 06:31:44

我目前正在为一家在 AWS 上维护服务器的初创公司工作。目前,我们的服务器已设置为通过 SSH 访问它,您需要使用白名单 IP(在 AWS 中设置)并拥有有效的 RSA 密钥才能连接。

但是,我们正在合作的当前开发人员的动态 IP 每天都在变化,这使得维护白名单成为一项耗时的工作(不同的时区、通信等)。

当我们与这个开发者合作时,在短期内放弃白名单会有多大的安全风险?

注意:服务器目前不包含任何真正敏感的数据(只是一些专有代码),但在不久的将来它将包含。

2个回答

当我们与这个开发者合作时,在短期内放弃白名单会有多大的安全风险?

几乎没有,如果您和其他开发人员保护他们的密钥(存储加密文件,拥有加密硬盘驱动器)并且在 SSH 服务器中禁用密码验证。

如果您禁用密码身份验证,则使用猜测公钥(和私钥)的针对性攻击没有意义,除非有人泄露了私钥(某人的计算机被某些病毒/恶意软件感染或被未加密的密钥/硬盘驱动器盗窃)。

请注意,您至少可以将其他开发人员密钥设置为只能从特定 IP 访问,方法是在文件from="pattern-list"中的公钥前面添加。authorized_keys由于它也可以包含模式,因此您也可以为您的“动态”开发人员创建一个掩码。

只要设置正确并使用强密钥,风险极低。

SSH 密钥身份验证足以保护暴露于 Internet 的 SSH 服务器。

我还建议使用 fail2ban,以及配置防火墙以限制 SSH 连接。

ufw limit 22 如果您使用的是 UFW 和端口 22。

IP 白名单是额外的强化。也许您可以找到开发人员的 ISP 分配的 IP 范围并将整个范围列入白名单?