禁用root登录会增强安全性吗?


13

我最近在http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html上找到了反对在Linux中禁用root用户登录的论点。

我假设,如果每个人都使用公共密钥身份验证,则不会丢失根密码。

通过ssh禁用root登录是否总是更好?


1
您真正需要问的是“禁用root登录是否符合我的安全策略?” 每个人的政策因各种原因而有所不同。
亚历克斯·霍尔斯特

Answers:


10

简短的答案是,攻击档案越小越好。总是。如果您不需要它或可以使用sudo或su之类的替代方法,则不要启用root登录。

支持禁用root并使用sudo / su的一大争论是,您可以跟踪谁在做什么。一位用户-一位登录名。永不共享帐户。

该链接上的参数似乎特定于本地登录,而不是ssh。


3
跟踪点没有实际意义:sudo -i,您的操作将显示为根目录,而不是您的目录
Fahad Sadah 2010年

2
但是您有他们原始登录的记录。您可能没有证据,但您有证据。另外,您可以控制用户有权访问和可以执行的操作。
暂停,直到另行通知。

每个用户一个用户情况如何?只有一个人管理系统,我可以跟踪谁已经在做什么。使用sudo使bash的字符串转义非常复杂......例如:unix.stackexchange.com/questions/551899/...
青铜人

8

我赞同丹尼斯的观点,再加上:

允许通过SSH进行root登录还意味着root容易受到暴力密码猜测的攻击。

因为根源始终存在,并且奖励如此之高,所以它是优先目标。必须首先猜测用户名,这给问题的难度增加了几个数量级。


此外,由于它是根目录,因此与大多数管理员帐户一样,即使您将系统设置为在(x)次失败后锁定帐户,也不会。相反,您必须设置一些方法来在出现故障后阻止IP,但是即使那样也无法抵抗分布式蛮力。
Joe H.

1
您可以重命名根帐户,就像其他任何帐户一样。
Fahad Sadah

@fahadsadah某些软件假定UID 0 == root。我曾经尝试在OpenWRT路由器上重命名root,但其Web界面坏了。
Gerald Combs 2010年

3
通过ssh进行根操作并不自动意味着系统容易受到暴力攻击。考虑带有PermitRootLogin without-password选项集的系统。
Zoredache

4

如果您没有控制台访问权限,请不要禁用根帐户。如果您的文件系统已满,并且在创建/ etc / nologin时引导失败,则仅允许root帐户登录计算机。

就是说,如果您具有控制台权限来处理这些情况,那么关闭根帐户可能会为您省去一些麻烦,因为没有人能够使用字典攻击来访问根帐户(我的经验是,这些天来一直存在-有人一直在尝试)。您可能会想到的其他事项:

  • 安装诸如fail2ban之类的程序,如果该程序多次通过身份验证失败,该程序将自动关闭对IP地址的访问(以主动防御字典攻击)。
  • 仅使用ssh键。
  • 如果您管理大量计算机,请使用cfengine或其他工具来管理您授权进入计算机的公共密钥(否则您很快就会得到那些过时的密钥)。

最好的问候,
JoãoMiguel Neves


1

始终最好通过SSH禁用root登录。

有一些PKI系统(例如带有SSH的公共密钥)已被破坏。SSH之前已经具有远程身份验证漏洞,该漏洞导致了根本的损害。众所周知,软件PKI比基于硬件的PKI弱。如果您的主机受到威胁,目标服务器也很容易崩溃。否则可能会在SSH中发现新的漏洞。通过限制root登录,您还可以延长攻击者执行特权升级所需的时间。

从历史上看,许多管理员使用堡垒主机(基本上是网关)来进入网络,然后再跳转到框。将高安全性发行版(例如OpenBSD)用作堡垒主机,再结合使用不同的操作系统,可以提供纵深防御和多样性防御(一个漏洞不太可能损害整个网络)。

也请考虑与您的网络进行带外连接,例如串行集中器,串行交换机或其他。如果需要,这将提供管理界面的备份可用性。

因为我偏执狂且出于安全考虑,所以我更可能使用IPSEC VPN或Type1 VPN,然后在其之上运行SSH,而不会在互联网上暴露SSH。将VPN放在您的网络硬件上可以大大简化实施过程。


0

我们应该从不同角度审视这个问题。

Ubuntu默认情况下会禁用root帐户,这意味着您无法使用root用户通过SSH登录。但是,它允许拥有Ubuntu CD的任何人都可以引导并获得root用户访问权限。

我认为最好的折衷办法是启用具有禁用的SSH访问权限的根帐户。如果您需要使用SSH进行root访问,请以普通用户身份登录并使用sudo。这样,它可以保护对盒子的访问,而不会影响远程安全性。


2
当有人用CD引导您的计算机时,已经为时已晚,他们已经将您的计算机伪装了。那么,您所希望的最好的办法就是加密的数据分区。
卡米尔·基西尔

1
如果您可以使用“杯架”,则不需要ssh。
暂停,直到另行通知。

@Kamil Kisiel并不意味着您不能设置障碍来阻止他们。这句话是什么?如果他们可以触摸您的盒子,那么他们可以拥有它。但是,我们需要将事情放在透视中。@丹尼斯·威廉姆森,您可以进一步解释您的评论吗?
Natalie

什么路障?如果要从自己的CD引导,则不需要任何密码。您只需阅读文件系统。
卡米尔·基西尔

0

我会说是的,应该禁用以root用户身份登录才能进行审核。如果您是这台计算机上的唯一系统管理员,那么确定谁对谁进行了操作很简单,但是如果授权十个人来管理该设备,并且他们都知道root密码,那么我们就有问题了。

无论是否启用了root用户,都不允许root用户或任何其他用户使用密码远程登录。fail2ban不会针对缓慢的暴力僵尸网络做任何事情,并且对IPv6完全不起作用。(ssh协议版本1和版本2的较早实现很容易受到ssh会话中针对交互式密码提示的猜测密码攻击的攻击,但是对于足够新近的ssh实现,情况似乎不再如此。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.