Linux中國

在 Ubuntu 15.04 中如何安裝和使用 Snort

Snort 安裝

要求

snort所使用的數據採集庫(DAQ)用於一個調用包捕獲庫的抽象層。這個在snort上就有。下載過程如下截圖所示。

downloading_daq

解壓並運行./configure、make、make install來安裝DAQ。然而,DAQ要求其他的工具,因此,./configure腳本會生成下面的錯誤。

flex和bison錯誤

flexandbison_error

libpcap錯誤

libpcap error

因此在安裝DAQ之前先安裝flex/bison和libcap。

install_flex

如下所示安裝libpcap開發庫

libpcap-dev installation

安裝完必要的工具後,再次運行./configure腳本,將會顯示下面的輸出。

without_error_configure

make和make install 命令的結果如下所示。

make install

make

成功安裝DAQ之後,我們現在安裝snort。如下圖使用wget下載它。

downloading_snort

使用下面的命令解壓安裝包。

#tar -xvzf  snort-2.9.7.3.tar.gz

snort_extraction

創建安裝目錄並在腳本中設置prefix參數。同樣也建議啟用包性能監控(PPM)的sourcefire標誌。

#mkdir /usr/local/snort

#./configure --prefix=/usr/local/snort/ --enable-sourcefire

snort_installation

配置腳本會由於缺少libpcre-dev、libdumbnet-dev 和zlib開發庫而報錯。

配置腳本由於缺少libpcre庫報錯。

pcre-error

配置腳本由於缺少dnet(libdumbnet)庫而報錯。

libdnt error

配置腳本由於缺少zlib庫而報錯

zlib error

如下所示,安裝所有需要的開發庫。

# aptitude install libpcre3-dev

libpcre3-dev install

# aptitude install libdumbnet-dev

libdumnet-dev installation

# aptitude install zlib1g-dev

zlibg-dev installation

安裝完snort需要的庫之後,再次運行配置腳本就不會報錯了。

運行make和make install命令在/usr/local/snort目錄下完成安裝。

# make

make snort

# make install

make install snort

最後,從/usr/local/snort/bin中運行snort。現在它對eth0的所有流量都處在promisc模式(包轉儲模式)。

snort running

如下圖所示snort轉儲流量。

traffic

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源目錄路徑並運行。下面是成功的輸出。

running script

上面的腳本從snort源中複製下面的文件和文件夾到/etc/snort配置文件中

files copied

snort的配置非常複雜,要讓IDS能正常工作需要進行下面必要的修改。

ipvar HOME_NET 192.168.1.0/24  # LAN side
ipvar EXTERNAL_NET !$HOME_NET   # WAN side

veriable set

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

main path

include $RULE_PATH/local.rules   # file for custom rules

移除ftp.rules、exploit.rules前面的注釋符號(#)。

path rules

現在下載社區規則並解壓到/etc/snort/rules。啟用snort.conf中的社區及緊急威脅規則。

wget_rules

community rules

進行了上面的更改後,運行下面的命令來檢驗配置文件。

# snort -T -c /etc/snort/snort.conf

snort running

總結

本篇中,我們關注了開源IDPS系統snort在Ubuntu上的安裝和配置。通常它用於監控事件,然而它可以被配置成用於網路保護的在線模式。snort規則可以在離線模式中可以使用pcap捕獲文件進行測試和分析

via: http://linoxide.com/security/install-snort-usage-ubuntu-15-04/

作者:nido 譯者:geekpi 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國