如何在 OpenBSD 上禁用 root 用户?

gas*_*ter 3 security root

所以有一个桌面,不需要 root 权限(或者如果需要,然后重新启动到单模式/whateverlivecd 修复配置文件-> 获取 root,用它做这些事情,最后,再次禁用 root )。这台机器上没有服务(例如:)sshd,因为它是台式机。

我的问题:如果我在系统上禁用 root 用户,是否会带来更多安全性?(如果是,如何为它做呢?禁用密码?修改root用户的默认外壳,/sbin/nologin/etc/passwd/etc/master.passwd文件没有帮助,因为重启后壳将成为ksh它。尽管如此,例:passwd文件仍然包含/sbin/nologin

Gil*_*il' 5

禁用 root 密码并不是很有用。要么有一种不使用密码即可成为 root 的方法(例如另一个系统服务,或以 root 身份运行的程序中的安全漏洞),在这种情况下,您对密码所做的一切都无关紧要;或者成为 root 需要密码,在这种情况下,足够强的密码与禁用密码一样安全。

强密码必须能够抵御蛮力攻击。有第一层安全,普通用户无法读取密码hash,只能通过调用sulogin类似服务进行尝试。即使攻击者设法获得密码哈希,他们也必须通过蛮力计算哈希,直到找到正确的哈希。OpenBSD 正确使用慢散列;如果您希望您的密码能够承受 10 亿个 CPU 机器人 10 年,那么具有 60 位熵(13 个随机字母)的密码就显得过分了。

所以我的建议是生成一个强大的随机密码,把它写在一张纸上,并将它存储在一个物理安全的地方。这样您就可以在紧急情况下使用密码。

当然,如果你设置了sudo,那么你的账户就成了最薄弱的一环,root账户的安全比你的账户更安全没有任何意义。

OpenBSD 提供了一个限制 root 帐户的安全特性:securelevel。如果将 securelevel 设置为正值,则某些操作(包括更改安全级别、加载内核代码和修改标记为不可变的文件)仅限于内核代码。这可以用来保证系统一部分的完整性,即使 root 帐户被盗用;缺点是在某些情况下需要控制台访问,例如出现故障的硬盘。请参阅 Unix 中的文件保护如何保证操作系统的完整性?有关更多详细信息以及文档