在 Ubuntu 15.04 中如何安裝和使用 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/
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive