2012-07-22

MSN是最便利的VPN

說來很簡單,不過在孤狗上找了半天好像都沒找到現成、可用的,因此
要自己動手做。

簡單來說:
1. VPN的目的是讓我們能從遠端(防火牆外)進入在防火牆內的主機
2. MSN的目的是讓我們毫無阻隔的傳送訊息(主要為文字)到天崖海角

把兩者組合起來,只要防火牆沒擋MSN的話,我們就可以透過MSN把指令
傳到天崖海角的主機裡,從某個角度來看這要比VPN還low cost很多!因為
完全沒有架設成本,無需動到任何網路設定,就讓我們有手指直接按在遠端
主機鍵盤上相同的效果。

適合用MSN來指揮的就是接受指令的環境,那麼Linux便是首選啦!

這樣,不管是單一方或雙方都在防火牆的內部,一樣可以遙控對方。

工作邏輯就是MSN client在收到某種字串(message)時,可以傳送給
某個外部程式(也就是作業系統裡的程式、軟體),然後將執行的結果
回傳給送訊過來那一端,這樣就達到遙控的目的了。

其中當然還要建立allow list,只允許某些對象進行遙控,或進一步將
對象分級,各用各的權限,不能被大家亂玩。

說到這裡,只要將『被控端』準備好,『主控端』可以用任何現成的MSN軟體。

但是這裡還牽涉到加密的問題,因為MSN的message是不加密的明文(字串)
,因此你傳送的所有內容是可以輕易的被中途任何人讀取,特別是有關
主機上的東西被讀取總是不好的,除非你的主機完全沒有任何安全考量,
因此還是要幫message加密。

工作方式便是送、收雙方各持有一個相同的key,送出之前把message加上key
來進行加密運算,然後送出。收到message的一方則根據key將收到的內容還原
成一般文字。這裡又牽涉到傳送的問題,因為文字經過用各種加密演算出來後,
可能會變binary,而MSN message主要是傳送『文字』,於是我們要再把它以
另外的演算(如base64)轉換成text才能當成一般message由MSN送出。

這樣藉由MSN做一來一往的遙控便大功告成了。

沒有留言: