我使用的是装有 Ubuntu Server 12.04 的新 VPS。我想请教您一些最佳实践,以增强现有 Ubuntu 服务器的安全性。
这是我到目前为止所做的: 我在 SSH 中添加了 Google Authenticator然后我创建了一个新用户(我将使用它代替“root”进行 SSH 和 SFTP 访问),我将其添加到“root”下的 /etc/sudoers 列表中,所以现在是:
# 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 也具有写入权限吗?这方面的好做法是什么?
提前谢谢,我希望你能告诉我我是否做错了什么和/或其他保护系统安全的方法。:)
答案1
这是一个好的开始。
new_user 帐户将使用“sudo”命令获得提升的权限。这要求在提示时输入 new_user 的密码(它会记住一小段时间,因此不是每次使用时都会记住),因此比始终具有提升权限的常规 root 帐户更安全。
要查看 root 拥有的日志文件,您需要运行sudo less /var/log/foo
然后输入新用户帐户的密码。
要禁用“root”帐户,您可以使用该passwd
命令。
sudo passwd -d root
这将删除密码。如果您只想禁用帐户并希望在必要时能够恢复它,-l
和-u
选项将分别锁定和解锁帐户。
答案2
您可能还对更改 ssh 端口、更改 iptables 中的授权 IP 范围、不使用 sudo 以及对 root 使用非常强的密码感兴趣。