用SSHGuard免費(fèi)工具幫你保護(hù)服務(wù)器
譯文我之前已介紹了fail2ban和logcheck這兩款工具可以掃描日志,并且根據(jù)你創(chuàng)建/修改的規(guī)則,采取相應(yīng)的操作;你通??梢孕薷膇ptables規(guī)則,阻止針對(duì)你服務(wù)器發(fā)動(dòng)的主動(dòng)攻擊,或者要是日志里面發(fā)現(xiàn)什么異常,就發(fā)警示信息給你。
今天我們來介紹一款類似的工具sshguard,它與上面另外兩款工具的不同之處在于,它是用C編寫的,所以它在運(yùn)行時(shí)占用的內(nèi)存和處理器資源比較少,但仍能收到同樣的效果。
那么,sshguard又有什么樣的本領(lǐng)呢?
簡(jiǎn)單地說,它可以接收日志消息,可以根據(jù)日志消息來檢測(cè)網(wǎng)絡(luò)服務(wù)何時(shí)遭到攻擊,并且阻止服務(wù)攻擊者的地址;一段時(shí)間過后,它會(huì)解禁。
完整地說,sshguard在機(jī)器上作為一個(gè)很小的后臺(tái)駐留程序來運(yùn)行,能夠接收日志消息(可接收來自諸多途徑的消息,比如來自系統(tǒng)日志)。如果它確定了X地址對(duì)Y服務(wù)造成危害,就會(huì)啟動(dòng)機(jī)器里面防火墻(注:防火墻須得到支持)中的規(guī)則,以阻止X地址。
shguard阻止X地址的狀態(tài)會(huì)保持一段時(shí)間,但是之后會(huì)自動(dòng)解禁。
請(qǐng)注意:盡管名稱很容易讓人誤解,但是sshguard在默認(rèn)情況下能夠阻止針對(duì)許多服務(wù)的攻擊,不僅僅是針對(duì)SSH的攻擊,還能針對(duì)幾種ftpd、Exim和dovecot等服務(wù)的攻擊。它能夠適用于各大防火墻系統(tǒng),并且提供對(duì)IPv6、白名單、懸掛和消息驗(yàn)證等功能的支持。
安裝
sshguard采用寬容的BSD許可證來發(fā)行:你可以使用、修改和再發(fā)行軟件,風(fēng)險(xiǎn)自負(fù),可以用于任何環(huán)境(包括商業(yè)環(huán)境),但前提是你得保留在里面發(fā)現(xiàn)的原始版權(quán)通知。軟件在最常用的GNU/Linux發(fā)行版的主存儲(chǔ)庫中發(fā)行,面向某個(gè)*BSD系統(tǒng),但是你也可以從下載頁面(http://www.sshguard.net/download/)下載源代碼。
要把sshguard安裝到Debian(或Ubuntu等.deb其他發(fā)行版)上,只要從終端運(yùn)行下列命令:
sudo aptitude install sshguard
#p# 設(shè)置和配置
Sshguard與系統(tǒng)相連的點(diǎn)有兩個(gè):
•日志系統(tǒng)(sshguard如何接收需要監(jiān)控的日志消息)
•防火墻(sshguard如何阻止異常的地址)
自版本1.5以后,sshguard就隨帶Log Sucker(http://www.sshguard.net/docs/setup/getlogs/log-sucker/)。借助Log Sucker,SSHGuard可以積極主動(dòng)地獲取日志條目,并且透明地處理一些事件,比如輪轉(zhuǎn)日志文件以及文件消失和重現(xiàn)。
在官方的說明文檔頁面(http://www.sshguard.net/docs/setup/),附有針對(duì)許多不同防火墻的操作說明,我將遵照netfilter/iptables的操作說明。
sshguard并沒有配置文件。需要完成的所有配置就是在iptables的INPUT鏈中創(chuàng)建一個(gè)名為“sshguard”的鏈,sshguard就會(huì)自動(dòng)插入規(guī)則,丟棄來自壞主機(jī)的數(shù)據(jù)包:
# for regular IPv4 support:(針對(duì)普通的IPv4支持功能)
iptables -N sshguard
# if you want IPv6 support as well:(如果你還想要獲得IPv6支持功能)
ip6tables -N sshguard
現(xiàn)在,更新INPUT鏈,以便它能將所有流量傳送到sshguard,用–dport指定你想用sshguard來保護(hù)的服務(wù)的所有端口。如果你想阻止攻擊者將任何流量發(fā)送到主機(jī),只要完全刪除這個(gè)選項(xiàng)即可:
# block any traffic from abusers(阻止來自攻擊者的任何流量)
iptables -A INPUT -j sshguard
ip6tables -A INPUT -j sshguard
         -- or --
  # block abusers only for SSH, FTP, POP, IMAP services (use "multiport" module)(阻止攻擊者,只允許SSH、FTP、POP和IMAP服務(wù),使用“multiport”模塊)
iptables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard
ip6tables -A INPUT -m multiport -p tcp --destination-ports 21,22,110,143 -j sshguard
如果你目前沒有使用iptables,只想讓sshguard建立并運(yùn)行起來,又不對(duì)你的系統(tǒng)造成任何進(jìn)一步的影響,下面這些命令就會(huì)創(chuàng)建并保存iptables配置,除了允許sshguard運(yùn)行外,絕不會(huì)進(jìn)行任何操作:
# iptables -F
# iptables -X
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -N sshguard
# iptables -A INPUT -j sshguard
# /etc/rc.d/iptables save
小結(jié)
要讓基本安裝的sshguard建立并運(yùn)行起來,只要完成上面這幾個(gè)步驟,它會(huì)幫助你讓你的ssh、ftp及其他后臺(tái)駐留程序更安全一點(diǎn)。
原文鏈接:http://linuxaria.com/recensioni/protect-your-server-with-sshguard?lang=en















 
 
 



 
 
 
 