個人獨斷的偏見:
這種純轉貼實在是...
該文所描述的... 怎麼說呢... 有一半是錯的(至少不是正確的), 前半段的介紹倒還靠譜, 後面就愈來愈奇怪, 這的確是一種概念技術, 在下稍微補充一下, 有興趣的人可以自行查看原文網頁.
安全, 永遠是server的第一重點, 因此衍伸出許多技術, PortKnocking是其中滿有趣的一個.
公開的server無法避免來自網路的探測, open的port更是入侵者加強攻擊的重點, 基本上只要能確定這台server存在並online, 就遲早有被攻陷的一天.
那麼, 如何避免被確認存在並online? 只要有service在run就一定有port是open的, PortKnocking的概念就是: 在firewall上面下工夫, 就是裝死, 所有port對全部封包都毫無反應假裝自己沒開機, 但是firewall躺著裝死時卻是豎起耳朵默默listen, 任何port只要有封包進來都可以記錄, 寫個script檢查記錄, 例如事先設定GOD的暗號是"This is GOD", 那麼script檢查記錄時就會注意: 有沒有某一IP在規定時間(例如3秒或5秒自定)內在任意port(亂數決定)分成任意段(亂數分割,最少不可少於2段任意切,最多可分11段每段1個字元)丟進來的封包訊息照時間順序組合起來完全符合(包括大小寫)"This is GOD"這個暗號, 那麼就對這個IP來的封包開放port 22 ssh, 別人來"嗅"port 22時firewall繼續裝死, 只要script寫得好, 更高級的就是client端送出的暗號在打散後亂數加入字元, script在記錄中自行找出符合的案號, 也可以送上百組暗號才開門, 把那些側錄封包的駭客玩死, 沒人會對一個空的IP的所有port一一作暴力解碼, 也不可能在規定時間內完成暴力解碼, 所以server安全性大增. <-這是概念.
很有趣吧? 敲個門三長兩短就開門, 不過限制也不少, 到現在都沒能普及, 還只是個好玩的玩具而已.
以上
|