痞酷網_PIGOO

 找回密碼
 立即註冊
!!! [系統偵測到廣告阻擋軟體] !!!

如果您覺得痞酷網對您有些許幫助,或者您認同痞酷網的理想,

那麼希望您將痞酷網設定為白名單.

並請在上論壇的時候,動動您的手指,用行動支持我們.

謝謝!
查看: 6941|回復: 0

[Linux]使用 knockd 防範 SSH 暴力攻擊

[複製鏈接]
發表於 2007-11-23 22:07:14 | 顯示全部樓層 |閱讀模式
管理 Linux 伺服器的時候我們通常使用 SSH 來進行遠端登入管理主機,在預設的情況下 SSH 會要求您輸入登入主機的帳號與密碼來進行使用者驗證,但這樣的防護不夠的。網路上有非常多的怪客(cracker)會使用特殊的軟體程式來猜你的帳號與密碼,也就是俗稱的爆力攻擊法(Brute Force Attack),若是你的帳號與密碼設定的不夠複雜很容易就會破解。常見的反制方式是改用 public/private key 這種加密金鑰機制取代密碼驗證,或是使用防火牆阻絕所有的外來連線只開放特定 IP 連線,當然若結合此兩種方式則效果會更好。

使用防火牆阻絕連線有一個問題必須要克服,就是你必須要有一個固定 IP 才行;但若你是使用非固定 IP 的 ADSL 來進行連線,卻又想利用功能強大的防火牆來徹底阻擋所有惡意的 SSH 連線,這時你就會需要使用 knockd。knockd 的功能簡單的說就是你可以藉由 knock(敲) 伺服器特定的 PORT,來使伺服器執行特定的指令,例如開放你目前的 IP 使用 SSH 的權限。有了 knockd,你大可以在防火牆阻擋所有外來的 SSH 連線,然後在你需要連進主機進行維護時再透過 knockd 來開啟 SSH 連線即可。


官方網站: http://www.zeroflux.org/cgi-bin/cvstrac.cgi/knock/wiki
knockd server 下載: http://www.invoca.ch/pub/packages/knock/
knockd client 下載: http://www.zeroflux.org/proj/knock/files/knock-win32.zip


實際安裝步驟:

一、建立 RPM
由於下載回來的 knock 是 Source RPM,因此要先建立可安裝的 RPM 檔案

引用:
rpmbuild --rebuild knock-0.5-4.src.rpm  



二、安裝 RPM
引用:
cd /usr/src/redhat/RPMS/i386
rpm -ivh knock-0.5-4.i386.rpm
rpm -ivh knock-server-0.5-4.i386.rpm  



三、設定 /etc/sysconfig/knockd:
引用:
OPTIONS="-i eth0"  

註:
只監聽 eth0,knock 一次只可以監聽一個界面。


四、設定 /etc/knockd.conf:


PHP 程式碼:
[options]
    UseSyslog
[opencloseSSH]
    sequence      = 116:tcp,968:tcp,180:udp
    seq_timeout   = 15
    tcpflags      = syn
    start_command = /sbin/iptables -I INPUT -s %IP% -p tcp --dport ssh -j ACCEPT
    cmd_timeout   = 30
    stop_command  = /sbin/iptables -D INPUT -s %IP% -p tcp --dport ssh -j ACCEPT  

註:

UseSyslog:使用 syslog 來記錄 log 檔案,相關的訊息會存在 /var/log/secure 中。
sequence:所要使用的 knock 順序,注意,這裡必須要填入 Firewall 有開啟的 Port,不然 knockd 會看不到你所發出的 knock 訊息。
tcpflags:要設定為 syn,不然使用 knock client program 進行 knock 的時候會出錯
start_command:knock 成功時要執行的指令
stop_command:cmd_timeout 時間到後,要執行的指令


五、啟動 knockd
引用:
service knockd start
chkconfig knockd on  



六、使用 knockd client 程式
例如在 Windows 上,使用官方網站所提供的 knock 客戶端程式(Native Win32 Client),在終端機視窗輸入:


引用:
knock.exe 192.168.X.X 116:tcp 968:tcp 180:udp  

注意,紅色部份要輸入你之前設定好的 sequence,但是要以空白分隔而不是使用逗號。
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

關閉

站長小叮嚀上一條 /1 下一條

禁閉室|手機版|連繫我們|痞酷網電子技術論壇

GMT+8, 2024-11-23 05:36 PM , Processed in 0.141388 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.