我们正在使用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
匹配模式。