禁用除 root 访问隐藏命令之外的所有内容

禁用除 root 访问隐藏命令之外的所有内容

Linux安全和root访问问题......

我正在设置一个服务器,该服务器上运行一个区块链验证器节点。我试图加强服务器的安全性。我为所有端口设置了 ufw,但节点运行所需的端口除外。我使用 ed25519 设置了 2FA、SSH,然后我花时间试图弄清楚,如果出于某种疯狂的原因有人进入……我怎样才能阻止某人使用systemctlpoweroff拥有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。

我是否认为“禁用根安全”完全错误,我应该完全禁用它,或者我到目前为止所做的事情是否有意义?

相关内容