最近自己的Linux工作站常常遭到SSH的攻擊,不管是密碼攻擊(用字典檔一口氣送一堆封包)還是分散攻擊(每天來敲一次門),雖然都僥倖逃過,但覺得很煩,所以上網查了一些資訊來提高自身防禦力!如果你也有Linux server在跑,可以考慮一下這個方法:安裝DenyHosts並對SSHD做設定!
1. DenyHosts的好處在於可以自動的把嘗試入侵的IP位置放入/etc/host.deny檔裡面,我通常是設定同一帳號登入3次失敗或同一來源3次登入失敗就浸水桶1周,這樣就可以大大減低被字典檔攻破的機會。
(1)先變成root然後 yum install denyhosts
(2)預設會安裝到 /usr/share/denyhosts/ 目錄內
(3)到 /usr/share/denyhosts/ 目錄, cp denyhosts.cfg-dist denyhosts.cfg (做備份)
(4)修改 denyhosts.cfg (根據自己的需求來決定)
(5)cp daemon-control-dist daemon-control (作執行檔備份)
(6)修改並確認 daemon-control ,其中要注意:
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/lock/subsys/denyhosts"
DENYHOSTS_CFG = "/usr/share/denyhosts/denyhost.cfg"
(7)更改檔案所有人與權限 chown root daemon-control及chmod 700 daemon-control
(8)將daemon-control放於系統服務:
cd /etc/init.d/
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 2345 denyhosts on
2. SSHD的設定就是對/etc/ssh/sshd_config檔修改設定:
(1)PermitRootLogin no (確定root不能透過ssh來連到server上,大部分的ssh攻擊都是用root這個帳號,所以開放root連結是很危險的。如果非要root的權限時,請先用個人帳號連到server,在su成root)
(2)AllowUsers 允許的帳號1 允許的帳號2 允許的帳號3... (強制哪些帳號可以登入server)
(3)Banner /etc/ssh/ssh-banner (自己用文字編輯器gedit或nedit來產生一個叫ssh-banner的檔案,當任何人嘗試登入server時,就會把ssh-banner的內容顯示在對方電腦上,我通常是寫:
"Unauthorized use of this computer and its resources is prohibited.
*** You IP is always logged ***"
資料來源:Google大神與不知名論壇...
Week 63 – Tennessee
10 年前
沒有留言:
張貼留言