很多文章建议使用 停用 root 用户的 ssh。serverfaultPermitRootLogin no
上/etc/ssh/sshd_config
也有很多关于实施根 ssh 停用。
但其动机是什么?
这让攻击者不得不额外猜测用户名。但是公私钥和 RSA 加密的加密强度难道还不够吗?
我问这个问题不仅仅是出于好奇,而是因为使用非 root 用户需要在 ansible 使用方面做出额外的权衡:(pipelining
兼容性)或allow_world_readable_tmpfiles
(安全性)。
答案1
每个系统都有一个 root 用户,这使得强制使用系统变得更加容易。
如果没有指定账户,审计线索就不可能实现
ansible 使用 ssh/winrm/apis(如 nxos)全部使用标准并全部支持命名帐户、kerberos、公钥和密码验证。
答案2
根帐户是攻击者的首选目标,因为它是根帐户,并且是暴力攻击的默认/可预测帐户。如果攻击者需要暴力破解用户名和密码,攻击将需要更长的时间才能成功,而且即使成功,也不会针对根帐户,因此影响可能受到限制。