您或許是由于多次Snort安裝失敗的痛苦經曆對他産生了陰影,或許還停留在在尋找更好的安裝教程的旅程上,.......看完下文之後,希望對Snort安裝不再犯怵。
整個安裝系統分為以下三個階段。第一階段
本階段主要是準備環境,調試Snort主程式,難度系數****
步驟一:需要準備的軟體環境:- VMware workstation 15 Pro
- CentOS-7-x86_64-Minimal-1908.iso
- Cent OS 7 最小化安裝
- libdnet-1.12.tg
- daq-2.0.7.tar.gz
- snort-2.9.16.tar.gz
- barnyard2-2-1.13.tar.gz
- adodb-5.20.17
- snortrules-snapshot-29160.tar.gz
- base-1.4.5.tar.gz
仔細核對無誤後,開始用最小化安裝模式來安裝CentOS7
檢驗
步驟二:安裝相關依賴包yum install -y epel-release
yum install -y gcc gcc-c++ flex bison zlib-devel zlib-static libpcap pcre-devel pcre-static libpcap-devel tcpdump git libtool luajit luajit-devel openssl openssl-devel net-tools
步驟三:安裝libdnettar -zxvf libdnet-1.12.tgz
cd /usr/local/src/libdnet-1.12/
./configure
make && make install
步驟四: 安裝DAQ 2.0.7tar zxvf daq-2.0.7.tar.gz
cd daq-2.0.7
aclocal
autoconf
automake
./configure
make && make install
步驟五:安裝snort 2.9.16tar zxvf snort-2.9.16.tar.gz
cd snort-2.9.16
./configure --enable-sourcefire
make && make install
步驟六:添加使用者群組 步驟七:準備配置 Snortmkdir /etc/snort/
cd /etc/snort/
tar zxvf /usr/local/src/snortrules-snapshot-29160.tar.gz -C .
cp /etc/snort/etc/sid-msg.map /etc/snort
cp /usr/local/src/snort-2.9.16/etc/* .
檢視/etc/snort目錄
chown -R snort:snort *
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/black_list.rules
步驟八,配置snort.confvi /etc/snort/snort.conf
修改位置如下:
登出247行内容
加入下面一行
完成snort.conf配置,儲存退出。
步驟九 測試Snot測試snort分為兩部分内容:snort程式啟動測試和snort報警測試。
添加測試規則
vi /etc/snort/rules/local.rules
alert icmp any any -> $HOME_NET any (msg:"ICMP Packet Detected";sid:1000003;rev:1;)
輸入測試指令
snort -T -i ens33 -u snort -g snort -c /etc/snort/snort.conf
顯示Snort successfully validated the configuration!後程式自動退出。
snort報警測試
打開兩個終端分别輸入下面的指令:
啟動snort
snort -i ens33 -c /etc/snort/snort.conf -A fast
在另一個終端先觀察
在沒收到ICMP包是,系統不會報警。
開始ping Snort伺服器
收到報警
snort報警測試成功。
在啟動snort的終端上,輸入Ctrl+C退出程式。
第二階段
第一階段我們成功的完了将snort報警記錄到檔案,這一階段,我們不在向/var/log/snort目錄下的檔案記錄,而是将報警記錄存放到MySQL資料庫中。我們需要完成以下步驟。
步驟1:安裝資料庫yum install –y mariadb-server mariadb-devel
開機啟動資料庫
systemctl enable mariadb.service
啟動資料庫
systemctl start mariadb
為資料庫管理者root賦予密碼(暫定為123456)
/usr/bin/mysqladmin -u root password '123456'
為了得到資料庫的模闆我們需要解壓barnyard2-2-1.13.tar.gz檔案
cd /usr/local/src
tar zxvf barnyard2-2-1.13.tar.gz
步驟2:設定權限建立Snort資料庫并設定讀取權限。
登入資料庫
CREATE DATABASE snort;
USE snort;
CREATE USER 'snort'@'localhost' IDENTIFIED BY '123456';
建立使用者snort,通路本機資料庫的密碼是123456
GRANT CREATE,SELECT,UPDATE,INSERT,DELETE ON snort.* TO [email protected] IDENTIFIED BY '123456';
賦予名為“snort”的資料庫權限,授權使用者snort對資料庫的操作權限.
SET PASSWORD FOR 'snort'@'localhost'=PASSWORD('123456');
為使用者snort設定通路密碼
SOURCE /usr/local/src/barnyard2-2-1.13/schemas/create_mysql;
通過引入檔案create_mysql來建立資料庫結構
FLUSH PRIVILEGES;
下面來檢視資料庫snort的表
這隻是一個空表沒有資料,我們需要繼續操作。
步驟3:安裝和配置Barnyard2cd /usr/local/src/barnyard2-2-1.13/
./autogen.sh
./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql
make && make install
步驟4:準備配置barnyard2mkdir /var/log/barnyard2
chown snort:snort /var/log/barnyard2
touch /var/log/snort/barnyard2.waldo
chown snort:snort /var/log/snort/barnyard2.waldo
cp /usr/local/src/barnyard2-2-1.13/etc/barnyard2.conf /etc/snort
vi /etc/snort/barnyard2.conf
修改如下幾處
配置完成,儲存退出。
步驟5:測試banyard22-3分鐘後完成測試自動退出程式。
步驟6: snort+barnyard2測試下面首先啟動snort
然後,啟動barnyard2
接着,觀察/var/log/snort目錄
沒有ping包之前的狀态。
在其他機器上ping Snort伺服器。再次觀察snort目錄
觀察資料庫中的報警記錄條數
這樣snort.log.時間戳在存儲資料包的同時,将報警存入資料庫。
由此證明實驗成功。
步驟7:清空snort資料庫mysql -u snort -p -D snort -e "delete from event"
第三階段: 安裝BASE
步驟0: 安裝http,php及相關擴充yum install -y httpd php php-mysql php-gd
步驟1:準備軟體yum install unzip
unzip adodb-5.20.17.zip
mv adodb5 /var/www/html/adodb
tar zxvf base-1.4.5.tar.gz -C /var/www/html/
mv /var/www/html/base-1.4.5/ /var/www/html/base
步驟2:修改php.inivi /etc/php.ini
設定權限
chown -R apache:apache /var/www/html/
步驟3:重新開機服務設定防火牆systemctl restart mariadb #重新開機MariaDB
systemctl enable httpd.service #開機啟動Http服務
systemctl restart httpd.service 重新開機http
開放80端口
firewall-cmd --zone=public --add-port=80/tcp
步驟4:檢查PHP環境 步驟5:臨時關閉SELinuxsetenforce 0
步驟6:設定BASE成功!
如果你對上面的安裝流程還有不明白的地方,可以參考視訊教程《手動建構Snort系統》