在 vsftpd 中使用 /bin/false - 这怎么会是一个安全问题?

在 vsftpd 中使用 /bin/false - 这怎么会是一个安全问题?

我们正在使用vsftpd允许的用户文件。

用户vsftpd使用FTP(性能原因),因此密码很容易被盗。

vsftpd “chroot”选项已启用,因此用户无法离开其主目录。

还有一个sshd跑步,与“密码验证已启用”

我们/bin/false为 vsftpd 用户设置 shell,以禁用他们的登录SSH

问题:人们可以通过什么方式以及做什么SSH,如果他们偷了密码?远程用户,而不是本地用户。

到目前为止我读到它可以使用“TCP转发”(?),但这可能不会造成任何损害,我的意思是他无法访问服务器上的文件。

他们可以使用SCP,SFTP不知何故?或者某种非交互式外壳?

答案1

如果可能,请阻止来自 Internet 的 SSH(TCP 端口 22)。您将让机器人整天尝试密码。如果您必须进行远程 SSH 访问,请考虑使用 VPN 或至少将 SSH 放在非标准端口上和/或限制可以连接的 IP 地址。

更改 shell 是一个很好的第一步,但您要确保他们无法使用任何其他功能并尽可能地监禁它们。 TCP转发是一个相当大的问题。它基本上使用连接作为 VPN 和代理,因此攻击者可能位于您的网络中,位于防火墙后面。他们可以利用它来攻击您的内部主机或从您的网络发起针对其他主机的攻击。如果您要公开 SSH 端口,请进行修改sshd_conf以减少它们可以执行的操作:

DenyGroups ftpusers               ....if they shouldn't SSH/SFTP at all

Match group ftpusers              ....whatever group you've assigned to the accounts
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
    ChrootDirectory /home/ftpuser ....or some other safe place, like an empty folder.

如果您希望它们使用 SFTP 而不是 SSH,则第二个选项可能很有用。查看man sshd_config匹配模式。

相关内容