我正在使用 Ubuntu Server 12.04 的全新 VPS。我想请教您应用哪些良好实践来增强现有 Ubuntu 服务器的安全性。
这是我到目前为止所做的: 我将 Google Authenticator 添加到 SSH,然后我创建了一个新用户(我将使用该用户而不是“root”来进行 SSH 和 SFTP 访问),我将其添加到下面的 /etc/sudoers 列表中'root',所以现在是:
# User privilege specification
root ALL=(ALL:ALL) ALL
new_user ALL=(ALL:ALL) ALL
然后我编辑了 sshd_config 并将 PermitRootLogin 设置为“no”。然后重启ssh服务。
这个可以吗?不过有几件事想问你:
1) 在 root 用户仍然存在的情况下添加一个新的 (sudoer) 用户有什么意义(好的,它不能以 root 权限访问,但它仍然存在..)?2) 系统文件归“root”所有。我想使用我的 new_user 通过 SFTP 访问,但我无法编辑这些文件!我是否应该对它们进行批量 CHMOD,以便 new_user 也具有写入权限?这有什么好的做法?
在此先感谢,如果我做错了什么和/或其他保护系统的方法,我希望你能告诉我。:)
这是一个好的开始。
new_user 帐户将使用“sudo”命令获得提升的权限。这需要在出现提示时输入 new_user 的密码(它会记住很短的一段时间,所以不会每次都使用它),因此比始终具有提升权限的常规 root 帐户更安全。
要查看 root 拥有的日志文件,您可以运行
sudo less /var/log/foo
并输入 new_user 帐户的密码。要禁用“root”帐户,您可以使用
passwd
命令。这将删除密码。如果您只想禁用该帐户并希望能够在必要时恢复它,则
-l
和-u
选项将分别锁定和解锁该帐户。您可能还对更改 ssh 端口、更改 iptables 中的授权 IP 范围、不使用 sudo 和使用非常强的 root 密码感兴趣。