当将我的 SSHD 服务器暴露到互联网时,我是否应该担心 /bin/sync?

当将我的 SSHD 服务器暴露到互联网时,我是否应该担心 /bin/sync?

我正准备将我的服务器暴露在互联网上,并希望尽可能地保证安全。我采取了隐蔽措施来确保安全,例如更改默认端口 22,确保禁用 root 登录,并查看谁可以登录。最后一部分让我有点担心:

我知道任何指向 /bin/false 或 /usr/sbin/nologin 的登录都会被拒绝或立即退出。所以我知道不用担心这些。但是,运行以下命令时:
cat /etc/passwd | grep -v /bin/false | grep -v /usr/sbin/nologin

我得到以下输出:

root:x:0:0:root:/root:/bin/bash  
sync:x:4:65534:sync:/bin:/bin/sync
will:x:1000:1000:will,,,:/home/will:/bin/bash  

我一直在尝试查找同步的用途或工作原理,但无济于事。我假设从远程登录到用户“同步”可能没有入口点,但是……这是什么?我需要做些什么来确保它不存在安全风险,它有什么用处?

答案1

Unix 和 Linux SE 上有这个问题:为什么 Debian 将用户的登录 shell 设置sync/bin/sync

唯一的答案已获得赞同、接受,且作者声誉很高。答案指出:

这记录在/usr/share/doc/base-passwd/users-and-groups.txt.gz

同步

用户的 shellsync/bin/sync。因此,如果将其密码设置为容易猜到的内容(例如“”),任何人都可以在控制台上同步系统,即使他们没有系统帐户。

这确实是一个历史遗迹,我不希望sync现在以这种方式设置用户。在过去,拥有这样的用户很有用,这样那些可以物理访问控制台的人(例如在服务器机房或满是工作站的实验室中(如大学中常见的那样),关闭系统时(从恶意进程中恢复或只是使用工作站,如果工作站被其前一个用户锁定)可以降低数据丢失的风险。 Debian 之前的 Unix 系统往往有一个sync用户和一个shutdown用户,您可以使用该用户在不知道密码的情况下正确关闭系统root。 (在我们的 Sun SPARCstations 上,我们只需STOPA boot...)

在我使用的 Linux 操作系统 (Debian、Kubuntu) 中,用户在 中sync拥有*加密密码/etc/shadow。请参阅man 5 shadow

如果密码字段包含某些不是有效结果的字符串crypt(3),例如!*,则用户将无法使用 unix 密码登录(但用户可以通过其他方式登录系统)。

所以没什么可担心的。这只是一个神器。现在你不能通过 SSH 登录sync(试试看),除非你的设置被大幅改变(例如像这样:无需密码和 ssh-key 即可登录 SSH?)。

相关内容