你可能由於 Snort安裝屢次失敗的痛苦經歷而感到不爽,或者由於一直在尋找更好的安裝教程,.......看到下面,但願 Snort安裝再也不讓你感到不安。
下面將安裝分爲三個階段進行實驗。每一步的執行結果都必須和文章中介紹的內容一致。php
本階段主要是準備環境,調試Snort主程序,難度係數****html
步驟一:須要準備的軟件環境:mysql
仔細覈對無誤後,開始用最小化安裝模式來安裝CentOS7 c++
檢驗
git
步驟二:安裝相關依賴包
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-toolssql
步驟三:安裝libdnet
tar -zxvf libdnet-1.12.tgz
cd /usr/local/src/libdnet-1.12/
./configure
make && make install數據庫
步驟四: 安裝DAQ 2.0.7
tar zxvf daq-2.0.7.tar.gz
cd daq-2.0.7
aclocal
autoconf
automake
./configure
make && make installapache
步驟五:安裝snort 2.9.16
tar zxvf snort-2.9.16.tar.gz
cd snort-2.9.16
./configure --enable-sourcefire
make && make install服務器
步驟六:添加用戶和組
步驟七:準備配置 Snort
mkdir /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目錄
tcp
chown -R snort:snort *
touch /etc/snort/rules/white_list.rules
touch /etc/snort/rules/black_list.rules
步驟八,配置snort.conf
vi /etc/snort/snort.conf
修改位置以下:
註銷247行內容
加入下面一行
完成snort.conf配置,保存退出。
步驟九 測試Snort
測試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 snort@localhost 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:安裝和配置Barnyard2
cd /usr/local/src/barnyard2-2-1.13/
./autogen.sh
./configure --with-mysql --with-mysql-libraries=/usr/lib64/mysql
make && make install
步驟4:準備配置barnyard2
mkdir /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
修改以下幾處
配置完成,保存退出。
注意:對於barnyard2.conf配置文件中 主機名和網卡的配置選項部分若是不起用該選項,軟件也能夠正常啓動。
步驟5:測試banyard2
2-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"
步驟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.ini
vi /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:
臨時關閉SELinux
setenforce 0
步驟6:設置BASE
成功!
若是你對上面的安裝流程還有不明白的地方,能夠參考個人視頻教程《手動構建Snort系統》【購課程送配套圖書】 https://edu.51cto.com/lecturer/350944.html