为什么要费力阻止“root”登录 ssh?

Zur*_*iar 5 linux security sudo

最佳实践是删除“root”通过 ssh 登录的能力。但是,我需要运行一些 Ansible 命令,并且当前通过名为“amdhske”的用户进行连接,然后将此用户设置为不需要输入密码即可执行操作,sudo否则 Ansible 需要保留用户的密码。

那么在这种情况下禁用 root 访问有什么意义呢?任何通过 ssh 进入“amdhske”用户帐户的攻击者都可以彻底sudo退出服务器。我猜这里唯一的优点是,通过选择一个冗长的随机用户名,攻击者几乎不可能知道它,而“root”是“root”的默认用户名。难道还有其他原因吗?

小智 4

挺容易。两个原因:

  1. 您可以限制您的用户可以在没有密码的情况下进行 sudo 操作。您只需在 sudoers 文件中输入正确的配置:

    amdhske ALL=NOPASSWD: /usr/bin/somecommand
    
    Run Code Online (Sandbox Code Playgroud)

如果您使用 root 登录,那么您就拥有执行任何操作的所有权限。

  1. 地球上的每个脚本小子都知道您的超级用户帐户名称是 root。那么您认为他们会尝试对您的系统进行暴力破解等用户名是什么?对了,根。

这就是为什么禁用 root ssh 登录是一个很好的安全实践。