如果我的 root 密码非常强,我真的需要禁用 root 访问权限吗?

如果我的 root 密码非常强,我真的需要禁用 root 访问权限吗?

所以如果我编辑我的/etc/ssh/sshd_config文件,PermitRootLogin你可以关闭 root 登录。

然而,这也意味着我无法使用像 Filezilla 这样的文件上传服务,因为存在权限错误,因为我无法从我的非 root 帐户之一从 Filezilla 调用“sudo”。

因此,一个替代方法是保留 root 登录。

如果我的密码很长(32 个以上字符)且熵值很高(小写、大写、特殊符号、数字等),这难道不能完全阻止暴力攻击吗?否则保留 root 登录名会有什么风险吗?

答案1

您已经知道了应该禁用 root 登录的主要原因sshd_config。暴力攻击从定义上来说非常残酷,只要有足够的时间,任何密码都可以被破解。这是因为攻击者已经知道了访问您机器所需信息的 50%:有效的特权用户名。

话虽如此,非常长的高熵密码确实可以降低实际被破解的风险。

对你的问题的回答是:不,非常强的密码不会完全阻止暴力攻击。它们只会帮助降低风险。

实际上,如果您管理的是一台高价值(对黑客来说)的计算机,那么允许 ssh root 访问(或一般的 root 登录)是非常不明智的。但如果是这种情况,应该制定政策来阻止这样做。

如果你能承受风险,那就去做吧。最糟糕的情况就是有人安装了一个 rootkit,导致你的电脑无法使用。

答案2

这可能只是个人观点。我建议您使用密钥,以便 root 无需密码即可登录,并配置 iptables,在一定次数的尝试失败后锁定用户。对于文件传输,您可能需要增加尝试次数。

添加/编辑 /etc/ssh/sshd_config

PermitRootLogin without-password

sshd_config 文件中“无密码”是什么意思?

首先确保你可以使用密钥登录

http://bodhizazen.com/Tutorials/SSH_keys/

然后禁用密码验证。

iptables

iptables -A INPUT -p tcp -m tcp --dport 22 -m tcp -m state --state NEW -m recent --set --name SSH --rsource

iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 600 --hitcount 20 --rttl --name SSH --rsource -j REJECT --reject-with icmp-host-prohibited

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

如果你愿意,你可以增加或减少点击次数

http://bodhizazen.com/Tutorials/iptables

通过这些更改、密钥和/或一些 iptables 规则,我认为允许 root 通过 ssh 登录是合理的。

答案3

我建议您甚至不要使用密码,切换到 SSH 密钥!

本教程的第 2 步,使用授权密钥代替密码登录 在我看来非常好。它几乎可以与所有版本的 Ubuntu 配合使用。

相关内容