2006年2月18日 星期六

SSH TCP FORWARDING

有些公司或機關會試著用一些防火牆和監控設備,來對公司內部同仁上網作加以控管。最常見的例子就是對 IM (MSN/Yahoo!)等作記錄或限制。如果防火牆有開放 ssh 連線,或是沒有對 HTTP Protocol 作查核,那就可以試著用 ssh 的 tcp-forwarding 來建立加密連線(secure tunnel)。

(公司外部 Server: proxy.nosuchserver.org)
1. 先架好 Proxy,例如可以 bind 在 3128 Port.
2. 設好 Firewall 規則,只開放 localhost 連線:
iptables -A INPUT -p tcp -s ! 127.0.0.1 --dport 3128 -j DROP
3. 加個帳號叫 tunnel

(公司內部 Linux: 192.168.1.10)
1. 用 ssh 登入 proxy.nosuchserver.org
ssh -L 8080:127.0.0.1:3128 tunnel@proxy.nosuchserver.org
2. 此時可以將 MSN 或 WWW-Browser 的 proxy 設定指向 127.0.0.1:8080
3. 利用此 tunnel 即可對外加密連線

如果你想讓公司內其它同事共享此 proxy,則可以利用新版 ssh 的功能:

ssh -L 192.168.1.10:8080:127.0.0.1:3128 tunnel@proxy.nosuchserver.org

那麼大夥通通把 proxy 設定指向 192.168.1.10:8080 即可。

如果對外沒開放 port 22,那就只好試著讓 Server 上的 sshd 聽 port 80 或其它開放的 port 囉。

沒有留言: