Linux安全和root访问问题......
我正在设置一个服务器,该服务器上运行一个区块链验证器节点。我试图加强服务器的安全性。我为所有端口设置了 ufw,但节点运行所需的端口除外。我使用 ed25519 设置了 2FA、SSH,然后我花时间试图弄清楚,如果出于某种疯狂的原因有人进入……我怎样才能阻止某人使用systemctl
或poweroff
拥有sudo
特权。目标是最大化正常运行时间并始终与其他节点保持同步。
不管怎样,我开始阻止bash
允许 SSH 的用户帐户的命令,并阻止 SSH 到root
.然后我又阻止了一些命令并想,如果有人能找到解决这个问题的方法怎么办?所以,我刚刚开始阻止太多的事情,哈哈。即使我禁用了sudo
用户并阻止了用户仍然可以使用的许多命令systemctl
以及stop
节点service
。最终我发现了这个指导关于如何只允许用户执行几个命令。
我最终删除了用户的所有命令,并符号链接了 su 命令,并将其重命名为只有我知道的随机命令。用户执行的所有其他命令都会响应
-rbash: /usr/lib/command-not-found: restricted: cannot specify /' in command names
我拿走了,bash history
并且bash autocomplete/tab completion
。现在你唯一能做的就是猜测命令,这将使你仍然需要通过我的root
密码。
无论如何,我之所以这么说,是因为我一直听说最佳安全实践涉及“禁用 root”。有时我认为它只是禁用 root SSH,我已经这样做了,但有时我读到它就像禁用 root 帐户。有人说禁用密码并尝试将其与sudo
特权分开,以便更容易追踪到各个用户。
就我而言,我需要以某种方式保留 root 访问权限,但我基本上隐藏了 root 用户中的所有内容。所以,如果有人获得 root 权限,那就结束了。但是,它背后有 2FA、SSH 和未知命令,您可以尝试输入密码来访问 root。
我是否认为“禁用根安全”完全错误,我应该完全禁用它,或者我到目前为止所做的事情是否有意义?