主要观点:介绍了在“安全”企业防火墙后突破主机的技巧,以实现任意协议的入站和出站请求,适用于在敌对网络环境中部署软件。
关键信息:
- 动机是供应商需在客户受限网络环境中运行软件,客户不愿过多开放防火墙。
- 有四种技巧可用于突破内部主机的防火墙限制:转发代理(如
squid
)、TLS 终止反向代理(如nginx
或stunnel
)、反向隧道(如ssh -R
)、corkscrew
。 - 转发代理让客户端决定连接的上游主机,反向代理则由代理决定,TLS 终止反向代理用于加密流量。
- 反向隧道可让入站连接通过出站连接隧道传输,如
ssh -R
命令创建 SSH 反向隧道,但可能被防火墙察觉。 corkscrew
可将 SSH 连接包装在 HTTP 连接中,伪装 SSH 流量为 HTTP 流量,再通过stunnel
加密,实现出站 SSH 请求伪装为出站 HTTPS 请求,进而创建 SSH 反向隧道以获取内部主机的命令行访问权限。
重要细节:- 以客户数据中心的内部主机和供应商数据中心的外部主机为例,说明各种技巧的应用。
- 提及
stunnel
的配置,如证书获取和配置文件设置。 - 解释了 SSH 反向隧道的工作原理及可能被防火墙察觉的情况。
- 强调从客户角度看,仅请求允许从内部主机到外部主机的出站 HTTPS 流量是最 innocuous 的防火墙更改。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。