Linux 禁用伪tty分配

Linux 禁用伪tty分配,linux,bash,ssh,tty,Linux,Bash,Ssh,Tty,在最近的一次渗透测试中发现,我们使用的rbash受限外壳可以通过简单地强制分配一个伪终端来逃脱 ssh -i id_rsa_key user@hostname -t "bash --noprofile" 我已经做了大量的研究,还没有找到任何关于如何通过ssh配置或其他过程来防止这种情况发生的方法。如果您对如何锁定此功能有任何建议,我们将不胜感激。最终使用以下方法找到了修复方法: 您可以使用授权密钥文件中的指令限制PTY的分配 无端口转发、无X11转发、无代理转发、无pty ssh rsa AA

在最近的一次渗透测试中发现,我们使用的rbash受限外壳可以通过简单地强制分配一个伪终端来逃脱

ssh -i id_rsa_key user@hostname -t "bash --noprofile"

我已经做了大量的研究,还没有找到任何关于如何通过ssh配置或其他过程来防止这种情况发生的方法。如果您对如何锁定此功能有任何建议,我们将不胜感激。

最终使用以下方法找到了修复方法:

您可以使用授权密钥文件中的指令限制PTY的分配


无端口转发、无X11转发、无代理转发、无pty ssh rsa AAAAB3NzaC1

可能有兴趣:你确定它与-t有关吗?如果您的唯一步骤是将用户的登录shell设置为rbash,那么一个简单的bash将为您提供一个完整的、不受限制的shell。您的安全漏洞是用户执行bash的能力,而不是用户获取TTY的能力。即使没有TTY,用户也可以调用bash并向其发送命令。感谢您的回复。当用户在没有-t bash-noprofile标志的情况下连接时,他们会收到一个rbash shell,该shell只允许在/home/bin/目录中执行命令。如果您尝试执行除此之外的任何操作,都会被拒绝,包括bash。这是对系统管理问题的回答,而不是对编程问题的回答。