- 论坛徽章:
- 0
|
我也贴一个,snort 和 LIDS 的比较 ^_^
http://www.linuxhall.org/modules ... e=print&sid=172
以下是Snort 與 LIDS 的長短處:
表一:
安裝 設定 易用 網絡保安 系統保安 網絡偵測 工具支援
LIDS 難 難 難 一般 很強 弱 沒有
Snort 很易 易 很易 沒有 沒有 很強 強
注: 排名次序分別為 ( 很易, 易, 一般, 難, 很難) 及 (很強, 強, 一般, 弱, 沒有)
由表一中得到的比較,LIDS與Snort是負責兩個不同方向的工作,Snort主要是用作偵測的,如果兩者一併使用,所得到的效果會是很好,由於以前已經介紹過LIDS,故今次向大家介紹Snort,一個很強的偵測系統。
如何取得及安裝
在本文撰寫時,Snort的最新版本為1.7,您可以到以下網址下載Snort 1.7。
http://www.snort.org/Files/snort-1.7.tar.gz
http://www.snort.org/Files/Current/snortrules.tar.gz
或者先簡單的講解Snort的偵測方法,Snort執行後,會不斷的聽取來自網絡的各個IP包件,然後依照一些"Rules"與這些包件比較,一旦發現如果某些包件的內容與包件的內容相同,則會被分類,或者如果該包件是攻擊類,則會立即報告出來,所以,要使您的Snort可以偵測最新及最準的攻擊等,您必須要使用最新的Ruleset,所以您需要另外的下載新Ruleset。
Snort 是需要libpcap程式庫,如果您沒有安裝,您亦可以從Snort網站或是Linux CD中找到。此外,您亦可以使用如OpenSSL或是MySQL作為Snort執行的支援。安裝方法:
# tar zxf snort-1.7.tar.gz
# cd snort-1.7
# ./configure --enable-flexresp --with-mysql=/usr/local --with-openssl=/usr/local/openssl
# make; make install
設定及啟動
我們可以把Snort運作在chroot的環境中,設定也是很簡單,首先,我們可以選定一個有足夠位置方置 Snort的Log訊息的地方,如果您會定期檢查及清除Log檔案,您可以把Snort的chroot環境放在/home/snort中,然後所需的是一個用者,執行以下的指令新增Snort這個用者:
# groupadd snort
# useradd -g "snort" -d "/home/snort" -s "/nonexists" -c "Snort User" snort
# mkdir /home/snort
# chown snort.snort /home/snort
然後,把snortrules.tar.gz這個檔案解歷在/home/snort中,解壓了 snortrules的包件後,在/home/snort內會有兩種的檔案,以"rules"為檔案伸廷的就是Snort使用的Ruleset,這些 Ruleset就是供Snort用作偵測任何網絡反應的基礎。而另一個檔案即是"snort.conf",這是Snort的設定檔,我們不用去重新設計 Snort的Ruleset檔,只需要設定snort.conf便可以。
在 snort.conf 中,我們只需要修改數個地方便可以執行 Snort,以下是可能需要修改的地方:
- var HOME_NET
這是您的網絡或是主機的 IP,例如您只是得一台伺服器,您可以只輸入伺服器的 IP 地址,如果您的機囂有兩個以上的 IP,您可以使用這個方法:
var HOME_NET [123.45.67.89,123.45.67.90]
或是
var HOME_NET 123.45.67.0/24
-var SMTP [IP.Address]
設定您的 SMTP 伺服器位置,如果與 HOME_NET 中的不同,您只需把 $HOME_NET 移除,並加其您指定 SMTP 機器的IP便可以。
- var HTTP_SERVERS
那一台為 HTTP 伺服器,與 SMTP 中的設定相同,如成為 Web Server 的不是 HOME_NET 機器,可以指定給其他的 IP。
- var DNS_SERVERS
設定您會使用 DNS 的IP地址,並且您需要 Uncomment 以下一行:
preprocessor portscan-ignorehosts: $DNS_SERVERS
這可以防止因為 DNS 的 Lookup 而紀錄無謂的 PortScan 資料。
最後是有關紀錄部份的資料,剛才我們在編譯Snort時加進了"MySQL"的支援,為了使用 MySQL 紀錄資料,先要在 MySQL中建立 Snort 會使用的 Databases、用者名稱及密碼,執行以下指令:
# echo "CREATE DATABASE snort;" | mysql -u root -p
# grant INSERT,SELECT on snort.* to snort@localhost
然後在 Snort 的源始碼內找尋 "contrib/create_mysql",再封行以下指令建立 Tables
# mysql -u root -p < create_mysql
完成後,別忘記在 snort.conf 中也要開動 MySQL 資料庫的支援,簡單地 Uncomment 以下數行:
ruletype redalert
{
type alert
output alert_syslog: LOG_AUTH LOG_ALERT
output database: log, mysql, user=snort dbname=snort host=localhost
}
output database: log, mysql, user=snort dbname=snort host=localhost
最後的 - 執行
先是 cd 進入 /home/snort 內,然後打入這個指令:
/home/snort # snort -u snort -t /home/snort -c /home/snort/snort.conf &
-u 功能是使 snort 由 "snort" 這個用者執行,進入 chroot 的用者環境
-t 設定 Snort chroot 的目錄,提高一定的安全性
-c 指定使用的指定檔案
& 只是在背景中執行吧 
結語
Snort 的設定與安裝都是很簡單,儘管 Snort 所做的不外是紀錄及提供偵測,可是這個工作卻不可以忽視,很多公司都有設定防火牆,而防火牆所做的是幫您防止多數的攻擊,加上使用 Snort 的強大IDS功能,網絡管理員可以即隨時知道一切 Cracker、Lamer 對公司網絡的攻擊,而同時可以改變防火牆的Rules,阻止外間而來的攻擊,這是單一防火牆不能為的。
作者:Shell Hung |
|