Answers:
我所有的服务器都禁用了root帐户(sp_pwdp
设置为*
)。这是sudo
所有root访问权限所必需的。[1] 这样做的目的是审核所有超级用户活动,以便人们可以看到对系统所做的事情。
要获得更严格的选择,您可以sudo
写入日志文件(而不是syslog
),并使该文件仅添加(chattr
在Linux或chflags
BSD上使用)。这样,没有人可以随后编辑审核。
[1]我还有一个策略,就是不运行root shell,或者不进行root进程的shell转义。(不过,可以使用它sudo sh -c '...'
进行管道或重定向。)
我强调建议您不要禁用root用户。禁用或限制root登录(通过securetty ,通过sshd_config 和 PAM 以及您拥有的工具)如果系统允许,则限制root的特权或分割root角色(类似于RSBAC的工作方式。)但是,请执行请勿通过删除密码来禁用root帐户,否则将无法通过登录到系统sulogin
。sulogin
在fsck报告的严重错误的情况下,所有已知的initscript都会使用该命令-这意味着如果根文件系统损坏,您将被锁定在系统之外。
需要说明的是:“通过删除密码来禁用根帐户”是指各种以!结尾的机制。或/ etc / shadow的密码字段中的*或类似名称。我的意思不是“更改root登录机制,以免提示您输入密码”。
su
或sudo
在系统中对用户可用意味着如果只有专用的root用户,则可以避免更多的安全风险。Owl安全发行版的作者(以及其中的Solar设计师) 主张的立场是unix.stackexchange.com/questions/8581/…试图用参考文献介绍他们的立场。
fastboot
选项引导故障的Linux ,解锁root帐户,然后重新启动以最终最终fsck
手动运行。
我在所有服务器上启用了root帐户。所有管理员都有自己的用户,并且必须通过该用户登录。从那里他们切换到根。(禁用root ssh)
保持管理员人数少。只有真正需要该服务器上的root访问权的人员才能使用该密码。
我不喜欢sudo。仅对根shell执行“ sudo bash”太容易了。我知道可以禁用此功能,但为什么要打扰呢?只是限制可以执行管理员任务并彼此交谈的用户。我们确实有一项政策,不允许无人看管的根终端打开。这样就可以登录,su,完成工作,然后注销。
注意:我在一家规模不大的公司(有50名左右的雇员)工作,而我们只有2个兼职管理员(1个Windows / 1个Linux)。当您的用户数量增加了几个数量级时,这种处理方法可能不是最佳方法。我个人仍然不会使用sudo。还有其他方法可以记录根活动。
禁用root密码是不正确的“好主意”。在您需要它的那一天,您将真正需要它。(例如,根据您的配置,您可能需要它以单用户模式登录)
禁用root远程登录可能很重要,但前提是您能够本地登录。
是的,sudo应该安装在您的每台服务器上。它非常有用且易于配置。您为什么不想使用它?
Disabling root remote login might be relevant but only if you are able to log on locally.
这只是公然的错误。您可以使用任何帐户远程登录;禁用root远程登录并不会将您限制为本地访问。
我只是禁用root用户的SSH访问,并要求用户(通常只是开发人员)使用ssh密钥。词典攻击太多了,更改SSH端口对我们来说不是一个选择。
这样一来,您就不必相信任何人都可以编写良好的密码。进入内部后,只有管理员有权使用sudo。
我知道此线程确实很旧,但是链接的文章逻辑中存在一些重大缺陷,我感觉很“恼人”-sudo允许将白名单和黑名单同时存在。不仅仅是链接文章中指定的黑色-跳过了AAA(身份验证,授权和审核)的想法-su和sudo允许分级身份验证和问责制。
方案1管理员意外将一些恶意代码引入系统,以root用户身份登录,该代码具有完全访问权限,并且管理员可能永远不知道发生了什么。至少对于分级登录(例如su / sudo),如果流氓代码试图使用提升的权限,系统将提示管理员进行身份验证...如果不提升,则其仅限于用户权限,这将导致最小的损失。
方案2:流氓管理员想要获取信息/进行更改。他们连接到控制台(物理控制台访问权限,HP iLo /类似端口或vGuest控制台访问权限),以root用户身份登录并执行所需的任何操作。除非使用命名的帐户/访问卡来获得控制台访问权限,否则可能没有太多的审计线索。
Owl安全发行的作者(和Solar设计师)有相反的谨慎辩解。见,例如,答案/unix/8581/which-is-the-safest-way-to-get-root-privileges-sudo-su-or-login/8660#8660为他们的主张的陈述。审计超级用户操作(哪个人做了什么)的问题也从他们的角度解决(基本上,解决方案是让几个具有不同名称的root用户)。