[入侵檢測系統][IDS]CentOS6.6搭建基於snort+barnyard2+base的入侵檢測系統


CentOS6.6下搭建基於snort+barnyard2+base的入侵檢測系統

個人轉載請注明出處

 

2016-04-11更新

安裝好基於hyper-v的ids虛擬系統已上傳至鏈接:http://pan.baidu.com/s/1nuLs4rB 密碼:z0mi

 

免責聲明

一.如果因為使用本文檔照成損失(系統崩潰、數據丟失等),作者不承擔任何責任。

二.本文檔只是個人使用本文檔標注的軟件版本成功搭建基於snort的IDS的過程,不代表在其他(相同或不相同)環境下也能安裝成功,請仔細閱讀並理解文檔

三.善用搜索!善用搜索!善用搜索!遇到錯誤請理解錯誤提示,優先用搜索引擎搜索解決辦法

四.學會提問!學會提問!學會提問!如果你打算提問,請先學習《提問的智慧》

         文字版:http://bbs.chinaunix.net/thread-113564-1-1.html

         圖片版:http://bbs.chinaunix.net/thread-2179749-1-1.html

 

本文檔使用的主要軟件包已上傳至百度雲:鏈接:http://pan.baidu.com/s/1bnz0hkz 密碼:fzrv,其他軟件可以根據文檔中的命令在線下載安裝;

文檔中的命令大多可以直接使用(除非時間太久導致系統/軟件/鏈接失去支持等)

如果對文檔有疑問請加QQ群187553731,歡迎提問,但拒絕無腦伸手黨

 

一、准備工作

安裝CentOS-6.6-x86_64-minimal.iso(用CentOS7后面配置base會報錯),給系統設置IP和dns讓系統可以聯網.

1.    安裝wget

         #yum install wget -y

2.    更換源

更換成阿里雲源,更新系統、下載軟件速度快

         #mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

         #wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

         #yum clean all

         #yum makecache

3.更新系統

         #yum -y update

4.安裝epel源

         #yum install -y epel-release

5.下載安裝文件

把網盤里的安裝文件下載到CentOS里備用(可以利用附件中的FTPServer.exe傳輸),這里放到/root

        

二、安裝配置LMAP

1.安裝LMAP組件

         #yum install -y httpd mysql-server php php-mysql php-mbstring php-mcrypt mysql-devel php-gd

        

2.安裝php插件

         #yum install -y mcrypt libmcrypt libmcrypt-devel

        

3.安裝pear插件

         #yum install -y php-pear

         #pear upgrade pear

         #pear channel-update pear.php.net

         #pear install mail    

         #pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman

         #pear install  mail_mime

        

4.安裝adodb

         #tar zxvf adodb519.tar.gz -C /var/www/html

         #mv /var/www/html/adodb5 /var/www/html/adodb

        

5.安裝base

         #tar zxvf base-1.4.5.tar.gz -C /var/www/html

         #mv /var/www/html/base-1.4.5 /var/www/html/base

        

6.修改php.ini

         #vi /etc/php.ini

         error_reporting = E_ALL & ~E_NOTICE

7.設置html目錄權限

         #chown -R apache:apache /var/www/html

        

8.設置adodb權限

         #chmod 755 /var/www/html/adodb

 

9.配置mysql

         解壓barnyard2(這里要用里面的文件創mysql表)

         #tar zxvf barnyard2-1.9.tar.gz

 

啟動mysql

         #service mysqld start

         設置root密碼為123456

         #mysqladmin -u root -p password 123456

         以root登陸mysql

         #mysql -uroot -p

         創建名為snort的數據庫

         >create database snort;

         創建名為snort、密碼為123456的數據庫用戶並賦予名為snort數據庫權限

         >grant create,select,update,insert,delete on snort.* to snort@localhost identified by '123456';

         退出

         >exit

         創建數據庫表

         #mysql -usnort -p -Dsnort < /root/barnyard2-1.9/schemas/create_mysql

10.配置base

         #service mysqld start                啟動mysql

         #service httpd start                            啟動apache

         #service iptables stop               關閉防火牆

         用瀏覽器打開http://172.16.100.131/base/setup/index.php(IP換成你自己的)

1.點擊Continuue

 

2.選擇顯示語言,設置adodb路徑

 

3.配置數據庫

 

4.設置admin用戶和密碼(這里應該是設置admin的用戶和密碼,我這里跟mysql的root一樣)

 

5.點擊“Createe BASE AG”

6.成功的話會有紅色successfilly created字樣,如下圖(Centos7沒有,原因未知),點擊“step 5”

7.安裝成功

 

三、安裝配置snort+barnyard2

1.安裝依賴包

         #yum install gcc flex bison zlib libpcap tcpdump gcc-c++ pcre* zlib* libdnet libdnet-devel     

2.安裝libdnet

(這里必須是這個版本)

         #tar zxvf libdnet-1.12.tgz

         #cd libdnet-1.12

         #./configure && make && make install      

3.安裝libpcap

(這里必須)

         #wget http://www.tcpdump.org/release/libpcap-1.0.0.tar.gz

         #tar zxvf libpcap-1.0.0.tar.gz

         #cd libpcap-1.0.0

         #./configure && make && make install     

4.安裝DAQ

         #tar zxvf daq-2.0.4.tar.gz

         #cd daq-2.0.4

         #./configure && make && make install    

5.安裝snort

         #tar zxvf snort-2.9.7.0.tar.gz

         #cd snort-2.9.7.0

         #./configure && make && make install        

6.配置snort

創建需要的文件和目錄

         #mkdir /etc/snort

         #mkdir /var/log/snort

         #mkdir /usr/local/lib/snort_dynamicrules

         #mkdir /etc/snort/rules

         #touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules

         #cp /root/snort-2.9.7.0/etc/gen-msg.map threshold.conf classification.config reference.config unicode.map snort.conf /etc/snort/       

編輯配置文件

         #vi /etc/snort/snort.conf

         定義路徑變量

         var RULE_PATH /etc/snort/rules

         var SO_RULE_PATH /etc/snort/so_rules

         var PREPROC_RULE_PATH /etc/snort/preproc_rules

         var WHITE_LIST_PATH /etc/snort/rules

         var BLACK_LIST_PATH /etc/snort/rules

         設置log目錄

         config logdir:/var/log/snort

         配置輸出插件

         output unified2:filename snort.log,limit 128      

7.配置規則

         #tar zxvf snortrules-snapshot-2970.tar.gz -C /etc/snort/

         #cp /etc/snort/etc/sid-msg.map /etc/snort/      

8.測試snort

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

 

參數解釋:

-T      指定啟動模式:測試

-i       指定網絡接口

-c      指定配置文件

 

         如果出現“success”的字樣說明配置好了

         按ctrl+c終止測試

 

9.安裝barnyard2

         #cd /root/barnyard2-1.9

         #./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql/

         #make && make install

        

10.配置barnyard2

         創建需要的文件和目錄

         #mkdir /var/log/barnyard2

         #touch /var/log/snort/barnyard2.waldo

         #cp /root/barnyard2-1.9/etc/barnyard2.conf /etc/snort

         修改配置文件

         #vi /etc/snort/barnyard2.conf       

         config logdir:/var/log/barnyard2

         config hostname:localhost

         config interface:eth0

         config waldo_file:/var/log/snort/barnyard.waldo

         output database: log, mysql, user=snort password=123456 dbname=snort host=localhost

        

11.測試barnyard2

         #barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo

 

參數解釋:

-c      指定配置文件

-d      指定log目錄

-f       指定log文件

-w     指定waldo文件

 

如果出現“Waiting for new spool file”字樣則表示barnyard2配置成功

按ctrl+c終止測試

四、測試IDS是否正常工作

1.添加測試規則

         #vi /etc/snort/rules/local.rules

         添加一條檢查ping包的規則

         alert icmp any any -> any any (msg: "IcmP Packet detected";sid:1000001;)

 

規則注解:

    alert      觸發規則后做出的動作

    icmp      協議類型

    第一個any    源IP(網段),any表示任意

    第二個any    源端口,any表示任意

    ->        表示方向

    第三個any    目標IP(網段),any表示任意

    第四個any    目標端口,any表示任意

    Msg字符    告警名稱

    Sid      id號,個人編寫的規則使用1,000,000以上

 

2.配置IDS啟動腳本

         配置啟動腳本(此腳本在群文件中,不用這個腳本可以手動運行程序)

         #cp idsctl /sbin

         #chmod 755 /sbin/idsctl

3.啟動IDS

         #service mysqld start                啟動mysql

         #service httpd start                  啟動apache

         #service iptables stop               關閉防火牆

 

使用腳本啟動ids

         #idsctl start

 

手動運行ids(2條命令先后運行,腳本啟動失效可選)

         #barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /var/log/snort/barnyard2.waldo -D

         #snort -c /etc/snort/snort.conf -i eth0 -D

         (-D選項用來讓命令轉入后台運行,其他選項意義上文已有解釋)

4.測試IDS

向IDS的IP發送ping包,base的頁面會出現ICMP告警

 

5.停止IDS

使用腳本停止IDS

         #idsctl stop

手動停止IDS

         killall -9 snort barnyard2

 

如果base頁面沒有數據,請檢查:

 

1.檢查一下snort有沒有正確運行
2.檢查snort輸出的alert文件是否有內容
3.檢查barnyard2是否正確運行
4.檢查mysql數據庫是否有內容

 因為這個系統數據流走向是:

snort抓包匹配規則輸出告警到alert文件,barnyard2讀取alert文件格式化輸出到數據庫,base從數據庫讀取數據展示

只要中間一個步驟出錯,base就會沒有數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM