在 Ubuntu 15.04 中如何安裝和使用 Snort
對于網絡安全而言入侵檢測是一件非常重要的事。入侵檢測系統(IDS)用于檢測網絡中非法與惡意的請求。Snort是一款知名的開源的入侵檢測系統。其 Web界面(Snorby)可以用于更好地分析警告。Snort使用iptables/pf防火墻來作為入侵檢測系統。本篇中,我們會安裝并配置一個開源的入侵檢測系統snort。
Snort 安裝
要求
snort所使用的數據采集庫(DAQ)用于一個調用包捕獲庫的抽象層。這個在snort上就有。下載過程如下截圖所示。
解壓并運行./configure、make、make install來安裝DAQ。然而,DAQ要求其他的工具,因此,./configure腳本會生成下面的錯誤。
flex和bison錯誤
libpcap錯誤
因此在安裝DAQ之前先安裝flex/bison和libcap。
如下所示安裝libpcap開發庫
安裝完必要的工具后,再次運行./configure腳本,將會顯示下面的輸出。
make和make install 命令的結果如下所示。
成功安裝DAQ之后,我們現在安裝snort。如下圖使用wget下載它。
使用下面的命令解壓安裝包。
#tar -xvzf snort-2.9.7.3.tar.gz
創建安裝目錄并在腳本中設置prefix參數。同樣也建議啟用包性能監控(PPM)的sourcefire標志。
#mkdir /usr/local/snort #./configure --prefix=/usr/local/snort/ --enable-sourcefire
配置腳本會由于缺少libpcre-dev、libdumbnet-dev 和zlib開發庫而報錯。
配置腳本由于缺少libpcre庫報錯。
配置腳本由于缺少dnet(libdumbnet)庫而報錯。
配置腳本由于缺少zlib庫而報錯
如下所示,安裝所有需要的開發庫。
# aptitude install libpcre3-dev
# aptitude install libdumbnet-dev
# aptitude install zlib1g-dev
安裝完snort需要的庫之后,再次運行配置腳本就不會報錯了。
運行make和make install命令在/usr/local/snort目錄下完成安裝。
# make
# make install
最后,從/usr/local/snort/bin中運行snort。現在它對eth0的所有流量都處在promisc模式(包轉儲模式)。
如下圖所示snort轉儲流量。
Snort的規則和配置
從源碼安裝的snort還需要設置規則和配置,因此我們需要復制規則和配置到/etc/snort下面。我們已經創建了單獨的bash腳本來用于設置規則和配置。它會設置下面這些snort設置。
- 在linux中創建用于snort IDS服務的snort用戶。
- 在/etc下面創建snort的配置文件和文件夾。
- 權限設置并從源代碼的etc目錄中復制數據。
- 從snort文件中移除規則中的#(注釋符號)。
#!/bin/bash# # snort源代碼的路徑 snort_src="/home/test/Downloads/snort-2.9.7.3" echo "adding group and user for snort..." groupadd snort &> /dev/null useradd snort -r -s /sbin/nologin -d /var/log/snort -c snort_idps -g snort &> /dev/null#snort configuration echo "Configuring snort..."mkdir -p /etc/snort mkdir -p /etc/snort/rules touch /etc/snort/rules/black_list.rules touch /etc/snort/rules/white_list.rules touch /etc/snort/rules/local.rules mkdir /etc/snort/preproc_rules mkdir /var/log/snort mkdir -p /usr/local/lib/snort_dynamicrules chmod -R 775 /etc/snort chmod -R 775 /var/log/snort chmod -R 775 /usr/local/lib/snort_dynamicrules chown -R snort:snort /etc/snort chown -R snort:snort /var/log/snort chown -R snort:snort /usr/local/lib/snort_dynamicrules ###copy configuration and rules from etc directory under source code of snort echo "copying from snort source to /etc/snort ....." echo $snort_src echo "-------------" cp $snort_src/etc/*.conf* /etc/snort cp $snort_src/etc/*.map /etc/snort##enable rules sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf echo "---DONE---"
改變腳本中的snort源目錄路徑并運行。下面是成功的輸出。
上面的腳本從snort源中復制下面的文件和文件夾到/etc/snort配置文件中
snort的配置非常復雜,要讓IDS能正常工作需要進行下面必要的修改。
ipvar HOME_NET 192.168.1.0/24 # LAN side
ipvar EXTERNAL_NET !$HOME_NET # WAN side
var RULE_PATH /etc/snort/rules # snort signature path var SO_RULE_PATH /etc/snort/so_rules #rules in shared libraries var PREPROC_RULE_PATH /etc/snort/preproc_rules # Preproces path var WHITE_LIST_PATH /etc/snort/rules # dont scan var BLACK_LIST_PATH /etc/snort/rules # Must scan
include $RULE_PATH/local.rules # file for custom rules
移除ftp.rules、exploit.rules前面的注釋符號(#)。
現在下載社區規則并解壓到/etc/snort/rules。啟用snort.conf中的社區及緊急威脅規則。
進行了上面的更改后,運行下面的命令來檢驗配置文件。
# snort -T -c /etc/snort/snort.conf
總結
本篇中,我們關注了開源IDPS系統snort在Ubuntu上的安裝和配置。通常它用于監控事件,然而它可以被配置成用于網絡保護的在線模式。snort規則可以在離線模式中可以使用pcap捕獲文件進行測試和分析
via: http://linoxide.com/security/install-snort-usage-ubuntu-15-04/