Port Knocking or ...…
Port Knocking 就像是敲門暗號依序敲 2長1短3長 才開門的概念,之前有看到文章提到在 Linux 上實做用來強化安全性,沒想到路由器上面也可以做,更沒想到的是就連設個暗號也能從敲門變成撞門
工作環境:
某牌路由器
firewall rules for port knocking
基本上照著官網上的 port knocking 設定實作就行
要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG ……
要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG ……
要啟用 input DROP all 之前記得先開個後門,否則……所有設備都會連不進來就 GG ……
以下設定要放在 input DROP all 之前
目標設定
先設定要開啟的服務 dst. port 開啟時,允許的來源為一個自訂的清單(自行增加設定成類似 fin-ips 的群組清單) ,port knocking 嘛最基本的設定值就是 port ,當然你也可以進一步鎖定來源的介面和目的地…等等的參數
敲門設定(N次)
第1次:設定要敲門的 dst. port ,同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(knock1)
第2次起:設定本次要敲門的 dst. port ,然後指定 ip 來源是上次的清單(knock1)同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(knock2),依此類推N次…
最後一次:設定本次要敲門的 dst. port ,然後指定 ip 來源是上次的清單(knock#)同樣的,可以進一步鎖定來源的介面和目的地....等等的參數,然後(action)將來源的 ip 加入群組清單(fin-ips),這樣就能和目標設定參數相呼應,形成閉環
以後,你指定防護的目標服務,必需按照剛才的設定步驟指定的 port# ,之後再連你要的服務才能進入
實測
比方,你防護了 22 port 的 ssh 服務,指定的 port knocking 依序分別是 2000,1000,3672 設定完成後,直接連 ssh 是連不上的,必需依序先連 2000,1000,3672 再連 ssh 此時 ssh server 的 22 port 才會開通讓你連
好在葫蘆照著畫一下還是能行
收工!
---------------------------------------- 後記 ----------------------------------------
1024以下的 port 是系統保留 port 別真的用 port 1000 ,應該會撞門,雖然直接略過了設定 1000 port 還是再次提醒一下
1024以上的 port 就一定過關嗎?倒也不一定,如果測試的時侯你的 IP 一直沒有加到你要的群組清單裏,那很可能撞門了,換個門開吧………別硬擠
sample script:
留言
張貼留言