看了大家的秘技,收穫良多,回去再看看自己管理的機器,覺得還有很多改進空間,一直以來都是把所有的機器用tcp_wrapper 擋住外部 ip,開放內部 ip 來登入,然後開放一台機器供 外部連線,再連到其它機器,不過最近每次看到 log 檔,就覺得煩啊!
有學長分享利用 pam的方式,不過,小弟管理的機器大都是 freebsd ,發現 pam_listfile.so 找不到,上google好像都是講 linux相關的文章比較多(有學長知道的話,也可以告知小弟一下)。
於是,就進入 /usr/ports/security,找了 *ssh* 的 port,嘿!發現有好幾個項目,看到其中一個是 sshblock,感覺可能是我要的功能,就上 google 查了一下,還真的是我想要的套件!
照著網友(參考了二、三個,就不一個一個列出了)的說明,兩三下就裝好了,還蠻容易的,可以試試啊!
# cd /usr/ports/security/sshblock
# make
# make install
# vi /etc/rc.conf
#(加入下列指令)
# SSH Block
sshblock_enable="YES"
sshblock_flags="-t /usr/local/etc/sshblock.tragger"
# vi /usr/local/etc/sshblock.tragger#(加入下列指令, 表示60秒內有3次嘗試登入)
60:3# /usr/local/etc/rc.d/sshblock start
ps: 忘了提一下,不知是我的 freebsd 版本比較舊(freebsd 6.1),還是 ports 有問題,在安裝 sshblock 時,一直出現無法下載 sshblock檔案的訊息(檔案大小不符)。
fetch: ftp://freebsd.nsysu.edu.tw/pub/FreeBSD/distfiles/sshblock-1.0.pl: size of remote file is not known所以我就直接用 ftp 連線到任一大學(我選義守 ftp.isu.edu.tw)的 ftp 站,到 freebsd 的 distfiles 下載 sshblock-1.0.pl,把它複製到 /usr/ports/distfiles,然後再重新 make 一次就沒問題了。
ps2: 可以開兩個視窗,一個用 tail -f /etc/hosts.allow,另一個直接到登入視窗,故意打錯二次密碼,出現第三次 login 提示時,果然在 hosts.allow 就出現該 ip 被 deny了。
ps3: 把 freebsd相關的內容放這邊,會不會被打啊!