linux系統centos搭建***檢測系統snort及問題總結與解答php
1、環境準備html
1.安裝Centos6(安裝選擇開發環境,這樣能夠少裝一些開發包),設置NAT獲取,讓系統能夠上網,外加一臺XP用於測試(可用可不)。 mysql
2.安裝wget(自己不帶)linux
3.更換源(也能夠不換,有的源有時候一些軟件沒有和速度很慢,自行選擇)c++
#mv /etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backupsql
#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo數據庫
#yum clean allapache
#yum makecachecentos
4.安裝epel源瀏覽器
#yum install -y epel-release
5.下載文件的準備(一開始使用win10自身的ftp服務,上傳至centos裏,tar失敗,傳輸格式不對,最後使用了SecureFX來進行傳輸,傳輸使用二進制),本人默認放到/root下
1.安裝LMAP的組件(組件少一都會致使後面的工做出現錯誤)
#yum install -y httpd mysql-server phpphp-mysql php-mbstring php-mcrypt mysql-devel php-gd
如出現某個下載失敗
繼續下載
測試apache的安裝
2.安裝php插件
#yum install -y mcrypt libmcryptlibmcrypt-devel
下載安裝以後,測試php頁面
在/var/www/html目錄下建立index.php文件,內容爲
在瀏覽器網址欄處輸入本機ip.index.php
3.安裝pear插件
#yum install -y php-pear
#pear upgrade pear
#pear channel-update pear.php.net
#pear install mail
#pear install Image_Graph-alphaImage_Canvas-alpha Image_Color Numbers_Roman
#pear install mail_mime
命令照着一條一條輸入就行,等待安裝完成,若有提示安裝失敗的,就選擇失敗的繼續安裝,由於源有時候不穩定。(失敗次數較多,要耐心,必定要看到OK)
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
修改後
7.設置html目錄權限
8.設置adodb權限
9.配置mysql(因爲是2.9.3以後版本的snort,因此要使用barnyard,mysql已經不支持。)
啓動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,deleteon snort.* to snort@localhost identified by '123456';
退出
>quit
建立數據庫表
#mysql -usnort -p -Dsnort </root/barnyard2-1.9/schemas/create_mysql
圖以下:
看到肯定便可
默認回車就行
密碼123456
建立表,設置表帳號密碼權限,注意在數據庫裏面打完命令要加上;號
建立數據庫表,密碼輸入上面設置的密碼,這裏爲123456
10.配置base
#service mysqld start 啓動mysql
#service httpd start 啓動apache
#service iptables stop 關閉防火牆
在瀏覽器輸入http://192.168.160.131/base/setup/index.php (IP換成本身的IP)
點擊Continue
設置語言和BASE的路徑
配置數據庫 這裏密碼也爲123456 點擊Continue (若是點了Continue)跳轉的頁面是空白,能夠看文檔後面的問題解答一。若是成功則會跳轉至第三個頁面
管理帳號:snort 密碼:123456
點擊建立相應的表
點擊以後能夠看見這個頁面,表明建立成功,將頁面劃到最低點擊能夠看到這個頁面,表明BASE安裝成功
2、安裝配置snort+barnyard2
1.安裝依賴包(軟件賴以生存的包,缺一不可)
#yum install –y gcc flex bison zlib libpcaptcpdump gcc-c++ pcre* zlib* libdnet libdnet-devel
若有失敗,請繼續安裝失敗的,不可缺一。
2.libdnet
#tar zxvf libdnet-1.12.tgz
#cd libdnet-1.12
#./configure && make &&make install
最後顯示這樣就表明./configure成功
3.安裝libpcap
#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
成功圖
#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.mapthreshold.conf classification.config reference.config unicode.map snort.conf/etc/snort/
這裏就是建立目錄和複製,惟一要注意的一個點就是CP的時候,要先進入/root/snort-2.9.7.0/etc/目錄下,否則複製的時候複製不了,由於etc會衝突
編輯配置文件
#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=snortpassword=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文件
若是出現「Waitingfor new spool file」字樣和小豬豬則表示barnyard2配置成功
按ctrl+c終止測試
小豬豬出現,成功
3、測試IDS是否正常工做
1.添加測試規則
#vi /etc/snort/rules/local.rules
這裏我添加一條簡單的ping規則用於測驗
alert icmp any any -> any any (msg:」Pingwith TTL=64」;ttl:64;sid:1000001;)
我我的編寫的規則是TTL等於64的才檢測。
規則註解:
alert 觸發規則後作出的動做
icmp 協議類型
第一個any 源IP(網段),any表示任意
第二個any 源端口,any表示任意
-> 表示方向
第三個any 目標IP(網段),any表示任意
第四個any 目標端口,any表示任意
Msg字符 告警名稱
Sid id號 我的編寫的規則使用1,000,000以上
2.啓動DS
#service mysqld start 啓動mysql
#service httpd start 啓動apache
#service iptables stop 關閉防火牆
手動運行ids
#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爲後臺運行,不顯示
3.測試IDS
用物理機pingIDS服務器,也用試驗機XPping IDS 使用ping ip –t 進行不斷ping
當IDS命令執行完,出現
去瀏覽器打開http://192.168.160.131/base/base_main.php(ip爲IDS的ip)
能夠看到有兩條數據,兩個鏈接數
點進去ICMP能夠看到個人XP虛擬機和物理機的IP分別爲192.168.160.1和192.168.160.133數據
至此已經搭建成功,能夠去下載更多規則,來進行玩耍。
4、問題解答
1.問題一
問題一的出現是由於php-mysql沒有安裝配置好,由於這一步是php與mysql結合工做。
檢測步驟一:rpm–qa | grep mysql
若是沒有安裝php-mysql則進行安裝
#yum install –y php-mysql
檢測步驟二:安裝完成php-mysql以後,進行mysql和apache重啓
#service httpd restart
#service mysqld restart
在瀏覽器輸入http://192.168.160.131/index.php(輸入本身的IP,若是沒有index.php文件,本身編寫在/var/www/html目錄下)
輸入了網址,向下滑,能找到mysql的數據就表明已經成功解決了問題一
2.問題二
缺乏libpcre致使釋放失敗
緣由是系統缺乏pcre-devel
輸入#yuminstall –y pcre-devel
安裝成功然後,再繼續snort安裝的步驟。問題已經解決