为什么不允许 root 通过 ssh 登录?

为什么不允许 root 通过 ssh 登录?

为什么要禁用 ssh 的 root 访问权限?我总是听说这是出于安全原因。但我不明白。以非 root 身份登录有什么不同sudo su -?处理需要特权权限的任务的首选方法是什么?

谢谢

托马斯

答案1

当您需要委派管理任务时,Sudo 是首选方式,因为它具有可审计性和丰富的粒度。Sudo 允许记录所有命令,并允许管理员为个人或组设置不同的 sudo 配置文件。

su 或 root 访问权限是全部或全部

答案2

Root 是每个 Unix 机器上都必定开启并启用的一个帐户,因此选择它来尝试暴力破解密码是理所当然的。如果没有外部工具(可以杀死明显扫描器的包装器、入侵者防御设备等),破解密码只是时间问题。即使有外部工具阻止这种行为,强制新用户以普通用户身份登录,然后通过 su/sudo/pfexec 获得增强权限仍然是一个好主意。是的,这是一个额外的步骤,这意味着您必须在 root 用户共享的机器上创建用户帐户,但这是攻击者与不受限制的机器控制之间的另一道屏障。

答案3

主要区别在于攻击者也必须猜测用户名。如果你让 root 登录,那么他只需猜测密码即可。

此外,他还可以伪造用户登录,获取 ssh 密钥或使用中间人方法重新发送数据,这样他就可以登录系统而无需输入密码。但如果他以用户身份登录,则必须使用 sudo 来执行命令,因此他必须手动输入密码。如果他以 root 身份登录,则他不需要使用 sudo 来执行任何操作,因此安全措施就少了一个。

答案4

这样做的主要优点是允许更灵活的访问控制:如果用户通过 sudo 拥有 root 权限,则可以轻松授予 root 权限或根据需要将其取消。相反,如果您实际上将 root 密码交给人们,您就无法将其取消(除非您是黑衣人 ;-)),您只能更改 root 密码,这将影响所有人。

在这种情况下,直接 root 登录是不必要的,因为没有人拥有 root 密码。

(在单用户模式下,您仍然需要 root pw 来在控制台上进行紧急访问;但是应该有特殊规定)。

相关内容