Kaz*_*Kaz 5 ssh port-forwarding
假设我创建了一个帐户,其登录 shell 实际上是一个不允许交互式登录的脚本,并且只允许远程执行非常有限的特定命令集。
尽管如此,ssh允许该帐户的用户转发端口,这是一个漏洞。
现在,扭曲的是我实际上希望该帐户在建立ssh会话时设置特定的端口转发配置。但是一定不可能配置任意端口转发。
(如果允许的端口转发配置被无条件地建立为每个会话的一部分,这是一个可以接受的解决方案。)
事实证明,OpenSSH 有一个功能,用于限制-L服务器端的样式打开。该功能可通过两种方式使用。
在服务器配置文件中有一个PermitOpen选项。此选项可用于指定可以为其建立转发的主机和端口。此选项可以在Match块内使用,因此可以受用户、组、主机名或 IP 地址模式的限制。
在authorized_keys文件中,选项可以与特定键相关联。有一个permitopen与 server-config 类似的选项。
注意事项/限制:
该选项AllowTcpForwarding禁用所有双向转发,防止在服务器上设置侦听端口以及主动转发。
样式连接没有PermitOpen访问控制-R。这大概没问题。这意味着用户可以使用ssh打开各种非特权端口来侦听服务器。这些连接到 SSH 连接的另一端是客户端的问题。如果我们限制转发-L方向,用户将无法使用这些-R端口(至少不能通过ssh,如果该用户无法创建任意交互会话)。
似乎没有办法创建允许打开的空列表,以防止用户进行任何-L样式连接。但是,解决方法是使用无害、不存在或不可能的主机名,例如空字符串。具体来说,permitopen=":1234"行得通。
| 归档时间: |
|
| 查看次数: |
7292 次 |
| 最近记录: |