?你還在為安裝snort報(bào)錯(cuò)而煩惱么?這篇文章將解決你的問題?。?!
參照了以下作者的安裝教程:
(11條消息) 開源入侵檢測系統(tǒng)—Snort安裝_Thgilil的博客-CSDN博客
(11條消息) bench.h:39:10: 致命錯(cuò)誤:rpc/rpc.h:沒有那個(gè)文件或目錄-CSDN博客
(11條消息) snort 檢測nmap_基于Kali的Snort配置和入侵檢測測試_尋找貓的博客-CSDN博客
?下面便進(jìn)入正題吧,以下是snort的安裝第一步:
首先是先安裝好以下幾個(gè)包:
?
apt-get install flex
apt-get install bison
apt-get install libpcap-dev
apt-get isnatll libpcre3-dev
apt-get isnatll libpcre3-dev
apt-get install zlibig-dev
如果報(bào)錯(cuò)了,就用aptitude install + 包名 這條指令(記得先Apt-get isnatll aptitude)
接著先去snort官網(wǎng)下載daq
?右鍵復(fù)制鏈接地址,接著輸入以下指令:
wget https://www.snort.org/downloads/snort/daq-2.0.7.tar.gz
tar -zxvf daq-2.0.7.tar.gz
cd daq-2.0.7
./configure
make
make install
接下來在安裝snort前,我們先安裝LuaJIT庫
wget https://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz --no-check-certificate
tar -xvzf LuaJIT-2.1.0-beta3.tar.gz
cd LuaJIT-2.1.0-beta3/src
make
cd ..
make install
安裝好后,我們便可以下載安裝snort了,老樣子,和裝daq一樣的,右鍵復(fù)制snort的鏈接網(wǎng)址,然后下載。
wget https://www.snort.org/downloads/snort/snort-2.9.20.tar.gz
tar -xvzf snort-2.9.20.tar.gz
cd snort-2.9.20.tar.gz
./configure --enable-sourcefire
make
make install
會(huì)發(fā)現(xiàn),報(bào)錯(cuò)了,這時(shí)按照提醒的安裝openssl庫
apt-get install openssl
再用./configure --enable-sourcefire指令安裝snort時(shí),我遇到了一個(gè)很奇怪的報(bào)錯(cuò):
bench.h:39:10: 致命錯(cuò)誤:rpc/rpc.h:沒有那個(gè)文件或目錄
這個(gè)報(bào)錯(cuò)折磨了我很久,后面發(fā)現(xiàn)了解決方法:
將/usr/include/tirpc/rpc/*復(fù)制到/usr/include/rpc/文件夾,解決了丟失rpc.h的問題,切記rpc下的所有文件都要復(fù)制過去,并且和rpc一個(gè)文件夾的另外兩個(gè)文件需要復(fù)制到include目錄下。
此時(shí)我們再用./configure --enable-sourcefire指令安裝snort,會(huì)發(fā)現(xiàn)安裝成功了。(判斷是否成功可以用 snort -h指令判斷)
但是,當(dāng)我用snort -v 時(shí)會(huì)發(fā)現(xiàn)全是warning。要通過安裝以下服務(wù)進(jìn)行配置
首先安裝 web 服務(wù)組件 LAMP
Apache
sudo systemctl start nginx
sudo systemctl status nginx //檢測是否在運(yùn)行
sudo apt-get install apache2
sudo systemctl start apache2
sudo systemctl start firewalld //啟動(dòng)防火墻
sudo systemctl enable firewalld //開機(jī)自動(dòng)啟動(dòng)
//防火墻設(shè)置開啟80端口
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
//查看80端口
apt-get install lsof
lsof -i:80
瀏覽器訪問IP后出現(xiàn)Apache頁面證明成功!
接下來安裝Mysql
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
//檢查是否安裝成功
rpm -qa | grep mysql
//啟動(dòng)mysql服務(wù)
systemctl start mysqld.service
systemctl enable mysqld.service
//mysql 安全設(shè)置
mysql_secure_installation
然后安裝PHP
apt install php
apt install php-mysql
apt install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap
//安裝php后重啟apache使其生效
systemctl restart httpd.service
此時(shí)我們的snort便成功下載好啦!接下來便是修改規(guī)則。
創(chuàng)建snort用戶和組,其中snort為非特權(quán)用戶
groupadd snort
useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
創(chuàng)建snort目錄
?
mkdir /etc/snort
mkdir /etc/snort/rules
mkdir /etc/snort/rules/iplists
mkdir /etc/snort/preproc_rules
mkdir /usr/local/lib/snort_dynamicrules
mkdir /etc/snort/so_rules
#創(chuàng)建儲(chǔ)存規(guī)則文件
touch /etc/snort/rules/iplists/black_list.rules
touch /etc/snort/rules/iplists/white_list.rules
touch /etc/snort/rules/local.rules
touch /etc/snort/sid-msg.map
#創(chuàng)建日志目錄
mkdir /var/log/snort
mkdir /var/log/snort/archived_logs
#修改文件權(quán)限
chmod -R 5775 /etc/snort
chmod -R 5775 /var/log/snort
chmod -R 5775 /var/log/snort/archived_logs
chmod -R 5775 /etc/snort/so_rules
chmod -R 5775 /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
#將配置文件從源文件復(fù)制到/etc/snort/中
cd /snort-2.9.18.1/etc/ ? ?# (進(jìn)入snort安裝目錄,每個(gè)人可能不同)
cp *.conf* /etc/snort
cp *.map /etc/snort
cp *.dtd /etc/snort
cd /root/snort-2.9.18.1/src/dynamic-preprocessors/build/usr/local/lib/snort_dynamicpreprocessor
cp * /usr/local/lib/snort_dynamicpreprocessor/
配置規(guī)則
wget https://www.snort.org/downloads/community/community-rules.tar.gz
tar -xvzf community-rules.tar.gz
cp community-rules/* /etc/snort/rules/
vim /etc/snort/snort.conf
//在45行附近 ipvar HOME_NET <any>修改為本機(jī)的內(nèi)部網(wǎng)絡(luò)
ipvar HOME_NET <192.168.132>.1/24 //例如
//在104行附近 配置規(guī)則文件路徑
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/prepproc_rules
var WHITE_LIST_PATH /etc/snort/rules/iplists
var BLACK_LIST_PATH /etc/snort/rules/iplists
//在515行 output unified2:....... 之后添加
output unified2: filename snort.u2, limit 128
#546行,取消注釋local.rules文件,后面的 include 文件均注釋掉
include $RULE_PATH/local.rules
//記住,后面的全部注釋掉,不然后面會(huì)報(bào)錯(cuò)
接著保存且退出,用以下指令檢測是否成功
snort -T -c /etc/snort/snort.conf
?若出現(xiàn)以上紅框部分則證明成功了。
接下來,便是實(shí)驗(yàn)部分了,以下是重點(diǎn)?。?!
vim /etc/snort/rules/local.rules //打開規(guī)則文件,寫入以下規(guī)則
//檢測NMAP Ping掃描
alert icmp any any -> 192.168.132.128 any (msg: "NMAP ping sweep Scan"; dsize:0;sid:10000001; rev: 1;)
//檢測NMAP TCP掃描
alert tcp any any -> 192.168.132.128 any (msg: "NMAP TCP Scan";sid:10000002;rev:2;)
//檢測NMAP UDP掃描
alert udp any any -> 192.168.132.128 any ( msg:"Nmap UDP Scan"; sid:10000003; rev:1; )
//檢測訪問 80 端口
alert tcp any any -> 192.168.132.128 80 (msg:"A test guys";reference:"A Robot";sid:1)
//檢測NMAP XMAS掃描
alert tcp any any -> 192.168.132.128 any (msg:"Nmap XMAS Tree Scan"; flags:FPU; sid:1000004; rev:1; )
//檢測Fing掃描
alert tcp any any -> 192.168.132.128 any (msg:"Nmap FIN Scan"; flags:F; sid:1000005; rev:1;)
保存退出后,先開一個(gè)終端用ifconfig -a指令查看自己的網(wǎng)絡(luò)接口名稱,比如我的是eth0
?接著輸入snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eth0(切記這里換成你的接口名稱) 激活snort控制臺(tái)
以下便是對其部分操作實(shí)驗(yàn)返回的數(shù)據(jù)(沒放全):
外界主機(jī)Ping目標(biāo)靶機(jī):
snort檢測到的:
NMAP TCP 掃描
Snort反饋結(jié)果:
Nmap UDP掃描:
Snort檢測結(jié)果:
文章來源:http://www.zghlxwxcb.cn/news/detail-460636.html
好啦,希望以上的教程可以幫助到您!文章來源地址http://www.zghlxwxcb.cn/news/detail-460636.html
到了這里,關(guān)于Kali 下安裝snort并且配置規(guī)則(保姆級教學(xué)) bench.h:39:10: 致命錯(cuò)誤:rpc/rpc.h:沒有那個(gè)文件或目錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!