最近我发现了一个反对在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帐户(我的经验是,这些日子是不变的 – 有人总是在尝试)。 其他你可能会想到的事情:
最好的祝福,
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实现来说这似乎不再是这种情况)。