我在 VPS 上运行 Web 服务器。出于安全考虑,我想将默认的 Linux 根用户名更改为其他用户名。我该怎么做?在执行此操作之前,我应考虑哪些影响?
答案1
啊,通过隐蔽性实现安全……用户名本身仅在中定义/etc/passwd
,/etc/shadow
因此您可以非常轻松地进入并更改它。需要记住的一件事是,服务器的各种移动部件可能默认指向root
不再存在的部件,并可能开始破坏事物,并使故障排除变得更加有趣。
如果你的目的是尝试安全的您的 VPS 有比仅仅更改用户名更有效的方法,并且可能会在以后带来麻烦。我知道一位管理员通过删除管理共享对旧的 NT 服务器执行了此操作,后来导致安装软件时出现问题。通过隐蔽性实现的安全性实际上没有任何作用,只是提供了一种虚假的安全感。
如果您想要保护该盒子,我建议您首先为自己添加一个非 root 帐户,禁用密码 ( PasswordAuthentication no
) 并使用 SSH 身份密钥 ( PubkeyAuthentication yes
) 来验证远程登录,为您的帐户设置 sudo 访问权限,并通过 SSH 禁用远程 root 登录 ( PermitRootLogin no
)。如果您想更进一步,请设置允许远程连接的组,并使用选项AllowGroups
仅允许属于该组的帐户登录。
答案2
无关:无意冒犯,但将 root 用户名更改为其他用户名与安全无关。您想这样做以防止 SSH 暴力登录尝试吗?
主题:用户名本身并不重要,UID 才是最重要的。如果它保持为 0,我认为你不会遇到问题。
答案3
您可以通过禁用 root 帐户来禁用让某人以 root 身份登录的功能。这将阻止任何人以 root 身份在本地登录、通过 SSH、使用su
或任何其他需要提供 root 密码的方法登录。但是,它不应该破坏可能需要名为“root”的 root 用户的任何功能。
为此,锁定 root 用户的帐户:
passwd -l root
或者将 root 用户的密码哈希替换/etc/shadow
为感叹号。
答案4
如果您想要通过隐蔽性实现安全性,请将 ssh 监听的端口更改为 22 以外的其他端口。这并不能取代强密码和其他安全预防措施,但是许多自动查找 ssh 服务器并攻击它们的脚本永远不会发现您。
也丢弃 ICMP 回显请求;似乎很多自动攻击在决定尝试闯入之前都会先进行 ping 操作。