禁用rootlogin是否增强安全性?

最近我发现了一个反对在Linux中禁用root用户login的论据,url是http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html

我假设,如果每个人都使用公钥authentication,那么丢失root密码就没有风险。

禁用通过ssh的rootlogin总是更好吗?

简短的回答是,你的攻击情况越好越好。 总是。 如果你不需要它,或者可以使用诸如sudo或su之类的替代方法,那么不要启用rootlogin。

赞成禁用root并使用sudo / su的一个重要论点是你可以跟踪谁在做什么。 一个用户 – 一个login。 不要共享帐户。

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

我第二个丹尼斯点,再加上:

允许通过SSH进行rootlogin也意味着root可以通过蛮力密码猜测来攻击。

由于根源永远存在,奖励如此之高,这是一个优先目标。 用户名必须首先被猜出,这会使问题的难度增加几个数量级。

如果您没有控制台访问权限,切勿禁用root帐户。 如果在创build/ etc / nologin时文件系统已满并且引导失败,则只有root帐户才能login到计算机。

也就是说,如果您有控制台访问权限来处理这些情况,closuresroot帐户可能会为您节省一些麻烦,因为没有人能够使用字典攻击进入root帐户(我的经验是,这些日子是不变的 – 有人总是在尝试)。 其他你可能会想到的事情:

  • 安装像fail2ban这样的程序,如果authentication超过了多次(主动防止字典攻击),它将自动closures对IP地址的访问。
  • 只使用SSH密钥。
  • 如果你pipe理了很多机器,使用cfengine或其他来pipe理你授权进入机器的公钥(否则你很快就会过时)。

最好的祝福,
JoãoMiguel Neves

通过SSH禁用rootlogin总是更好。

有PKI系统(例如SSH公钥)已经被入侵。 SSH以前已经存在远程身份validation漏洞,导致发生root攻击。 软件公钥基础设施比基于硬件的公钥基础设施要薄弱得多….如果你的主机受到威胁,那么目标服务器也可能很容易崩溃。 或者在SSH中发现新的缺陷。 通过限制rootlogin,还可以延长攻击者执行特权升级所需的时间。

历史上,许多pipe理员使用堡垒主机(基本上是网关)来进入一个networking,然后跳到箱子。 使用高安全的发行版(例如OpenBSD)作为堡垒主机,并结合不同的操作系统提供纵深防御和多样防御(一个不太可能危害整个networking的漏洞)。

请考虑带外连接到您的networking,例如串行集中器,串行交换机或其他。 这将在需要时提供pipe理界面的备份可用性。

由于我是偏执狂,在安全方面,我更可能使用IPSEC VPN或Type1 VPN,然后在其上运行SSH,没有任何networking暴露的SSH。 将VPN放在networking硬件上可以显着简化实施过程。

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

Ubuntu默认禁用root帐户,这意味着你不能通过SSHlogin。 但是,它允许任何拥有Ubuntu CD的人都可以启动并获得root权限。

我相信最好的折衷办法是启用禁用SSH访问的root帐户。 如果您需要使用SSH进行root访问,请使用普通用户login并使用sudo。 这样就可以保证对盒子的访问,而不会影响远程安全。

我会说是的,作为根login应该被禁用可审计性。 如果你是这台机器的唯一系统pipe理员,确定谁对谁做了什么是微不足道的,但是如果有十个人被授权pipe理这个机器,并且他们都知道root密码,那么我们就有问题了。

无论是否启用root,都不应允许root用户或任何其他用户使用密码进行远程login。 fail2ban不会对缓慢的暴力僵尸networking做任何事情,并且完全不适合IPv6。 (ssh协议版本1和版本2的旧版本实现在ssh会话中对交互式密码提示的密码猜测攻击是脆弱的,但是对于最近的ssh实现来说这似乎不再是这种情况)。