想爬牆的要看這篇-SSH Tunnel

若在公司使用 SSH Tunnel 必須非常小心,因為既然可以翻出去,別人也可以翻進來(Reverse SSH Tunnel),若沒有好好處理,可是安全的一大威脅!

範例:SSH_Client_A 無法直接存取 Web_Server,故透過 SSH_Server_B 存取 Web_Server。
使用 VM 準備 3 台電腦,每台電腦的角色如下:
SSH_Client_A(192.168.18.131):存取網頁伺服器(Web_Server)主頁
SSH_Server_B(192.168.18.129):與 SSH_Client_A 建立 SSH Tunnel
Web_Server(192.168.18.128):網頁伺服器


Web_Server(192.168.18.128):
# vim /var/www/html/index.html  // 記得防火牆要開
 <h1> SSH Tunnel </h1>

SSH_Client_A(192.168.18.131):輸入建立 SSH Tunnel 指令
# ssh -L 65534:192.168.18.128:80 lee@192.168.18.129

在 SSH_Client_A 測試:
# elinks http://localhost:65534

參數說明:
-L:本地主機(SSH_Client_A)開啟通訊埠,本範例為 65534
網頁伺服器:192.168.18.128:80
SSH_Server_B:192.168.18.129
elinks 是文字介面的瀏覽器(yum instll -y elinks)

SSH_Server_B 連線狀態
# netstat -anp | grep --color sshd
 tcp 0 0 192.168.18.129:22 192.168.18.131:60861 ESTABLISHED 3014/sshd

Web_Server 連線狀態
請注意來源 IP,雖然是 SSH_Client_A 存取 Web Server,但來源 IP 卻是 SSH_Server_B 的 IP。 # tail -f /var/log/httpd/access_log
 192.168.18.129 - - [25/Sep/2012:05:06:40 -0700] "GET / HTTP/1.1" 200 22 "-" "ELinks/0.12pre5 (textmode; Linux; 80x24-2)"

沒有留言:

張貼留言