首页/安全/安全加固速查/隧道与端口转发行为审计
防火墙与访问控制50 条

隧道与端口转发行为审计

SSH 隧道、frp、ngrok 类工具能在防火墙之下打开隐蔽通道:将转发能力纳入审计(sshd 限制 AllowTcpForwarding)是访问控制的一部分。

安全加固速查安全更新于 2026-10-13

隧道是防火墙之下的通道

SSH 端口转发、frp、ngrok 这类工具能在已有放行端口上开出新的数据通道:防火墙看到的只是 22 或 443 的连接,实际流量已经绕到内网服务。它们本身不是漏洞,但绕过了访问控制的设计意图,所以要么按白名单精确开放,要么纳入审计。

基本信息

适用平台Linux(OpenSSH sshd 侧控制)与 Windows(对应客户端与转发工具)
服务端配置AllowTcpForwarding、PermitOpen、AllowAgentForwarding、X11Forwarding
客户端侧本地/远程/动态转发与 ProxyJump
基线非必要不开放转发,开放则限定目标

典型使用场景

  • 堡垒机收敛:只允许跳板跳转,不允许任意端口转发
  • 数据库安全接入:用 PermitOpen 限定只能转发到指定库地址
  • 排查隐蔽通道:确认内网主机是否在被用作隧道出口
  • 合规对标:转发能力属于访问控制与边界防护条款的检查范围

配置核查与现象发现

配置核查与现象发现
# 服务端转发相关配置现状
grep -Ei 'allowtcpforwarding|permitopen|allowagentforwarding|x11forwarding|gatewayports' /etc/ssh/sshd_config
sshd -T | grep -Ei 'allowtcpforwarding|permitopen'
# 发现可疑监听与长连接
ss -tlnp
ss -tnp state established | head -20
# 关注监听在本机但归属不明的进程
ps -eo pid,user,comm,args --sort=-%mem | head -15

转发相关项读法

配置项作用建议值
AllowTcpForwarding是否允许 TCP 端口转发业务不需转发的机器设 no
PermitOpen限制转发目标地址与端口必须转发时用它精确白名单
AllowAgentForwarding是否允许 agent 转发默认关闭,避免私钥能力被带到远端
X11Forwarding是否允许 X11 转发服务器一律关闭
GatewayPorts是否允许转发监听在非回环地址保持默认,开启易造成无意暴露
业务确实需要隧道时不要一刀切禁止:改为白名单加变更登记,否则使用者会转向更难审计的自建工具,治理效果反而更差。
反向隧道(内网主机主动连出)常被忽略:只做入方向审计时看不到它。出口侧代理白名单与长连接监控是发现这类行为的主要手段。
改动这类配置前先 sshd -t 语法检查,再另开会话验证登录与必要的转发能力,确认无误后才关闭旧会话,避免把自己挡在门外。

易错点

  • 只关 X11Forwarding 不关 TCP 转发:常见遗漏,检查必须覆盖全部转发相关项
  • 改动 sshd_config 后不 sshd -t 直接 reload:语法错误会让新连接全部失败
  • 一刀切禁止后不通知使用方:半夜发布流水线全断,只能临时回滚
  • 只看服务端不看客户端:客户端配置里的 ForwardAgent 与服务端限制叠加后效果难以预判

数据来源与参考

  • OpenSSH 手册:sshd_config PermitOpen/AllowTcpForwarding
  • CIS Benchmark:SSH 转发限制条目

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌