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:

# rules for port knocking
# ADD this rule at very top of INPUT rules
# replcae dst-port+dst-address that your real cases to portect from
add action=accept chain=input comment=\
    "Trust Access after port knocking" dst-address=192.168.1.2 \
    dst-port=8291,and-ports-to-protect log=yes log-prefix=trustedAccess protocol=tcp \
    src-address-list=trusted-ips

# ADD following just b4 DROP ALL INPUT rule
# replace the dst-port that your real case of serialiezed knocking
add action=add-src-to-address-list address-list=knockP1 \
    address-list-timeout=1m chain=input comment="Port knocking phase 1" \
    dst-port=3333 log=yes log-prefix=knockP1 protocol=tcp
add action=add-src-to-address-list address-list=knockP2 \
    address-list-timeout=1m chain=input comment="Port knocking phase 2" \
    dst-port=1111 log=yes log-prefix=knockP2 protocol=tcp src-address-list=\
    knockP1
add action=add-src-to-address-list address-list=trusted-ips \
    address-list-timeout=1d chain=input comment="Port knocking trusted" \
    dst-port=2222 log=yes log-prefix=knockP3 protocol=tcp src-address-list=\
    knockP2

留言

這個網誌中的熱門文章

使用 Excel 計算2個地點之間的直線距離

LINE 儲存的檔案傳到 email 不方便 很不方便 非常不方便 但是有解的筆記

合併列印標籤漏印