Linux環(huán)境下Snort+Guardian+IPtables聯(lián)動

一、背景

? ? ? ? 很多人想通過Snort開源軟件架構(gòu)一套IPS系統(tǒng)舅桩,由于Snort自身無法阻斷Gong JI 流量必須通過其他工具颗搂,例如包過濾防火Qiang來實現(xiàn)靶草,它們之間的溝通橋梁就是Guardian蹄胰,下面簡單說明這三者間的關(guān)系:

Snort:一款優(yōu)秀的開源基于主機的入侵檢測系統(tǒng);

Guardian: 一款用Perl編寫的開源工具奕翔,它通過讀取Snort報警日志將其中IP加入到Iptables規(guī)則中實現(xiàn)阻斷裕寨;

Iptables是開源防火Qiang軟件(包過濾系統(tǒng)),可用來阻斷GongJI源派继。

? ? ? 實驗原理不難理解宾袜,但很多人在進行這種實驗時有很多細節(jié)值得注意,Snort+Guardian+iptables工作彼此先關(guān)驾窟,環(huán)環(huán)相扣庆猫,所以很多新人在做這種實驗時,要么Snort無法報警绅络,要么檢測到GongJI流量無法阻斷月培,各種問題都有可能出現(xiàn)嘁字。

二、必備技能

? ? ? IDS開源工具的實驗步驟尤其是Snort相關(guān)的資料杉畜,在網(wǎng)上同質(zhì)化嚴重纪蜒,很多寫手都沒有真正的做過實驗,用東拼西湊的資料來賺取流量此叠,在搜尋資料過程中纯续,讓新手浪費很多寶貴時間,如果說浪費時間不算什么的話拌蜘,一連串的失敗杆烁,真的會打擊初學者的內(nèi)心,最后他們可能就放棄實驗了简卧。如何改變這一現(xiàn)狀:找個靠譜的教學資源,以節(jié)省你去試錯的時間成本烤芦。

完成實驗必備技能:

1.?Centos7系統(tǒng)中Snort+Iptables+Guardian聯(lián)動實戰(zhàn)

2.?Snort Inline工作模式配置實戰(zhàn)

3.?iptables日志分析

三举娩、重要腳本分析

? ? ? ?很多新手常常在配置guardian中遇到無法讀取iptables報警的問題,主要原因是沒有弄明白guardian的運行機理构罗,下面就這個軟件的主要配置及程序文件進行說明铜涉。

1.guardian.sh 腳本分析

#!/bin/bash

cd /usr/local/bin

#start函數(shù)負責啟動guardian程序。它首先更新環(huán)境變量PATH以包含本地二進制路徑遂唧,然后使用指定的配置文件啟動guardian程序芙代。

start()

{

# 將/usr/local/bin添加到PATH環(huán)境變量中

? export PATH=$PATH:/usr/local/bin

# 使用/etc/guardian.conf啟動guardian.pl腳本

? /usr/local/bin/guardian.pl -c /etc/guardian.conf

}

# stop函數(shù)負責停止guardian程序。它首先檢查guardian是否正在運行盖彭,如果是纹烹,就殺掉進程,否則就輸出"guardian is not running ...."召边。

stop()

{

# 查詢名為'guardian.pl *-c'的進程

? ps aux |grep 'guardian.pl *-c' 2>&1 > /dev/null

#判斷語句铺呵,如果進程存在,則停止該進程

? if [ $? -eq 0 ];

? then

? kill `ps aux |grep 'guardian.pl *-c' `

#如果進程不存在隧熙,則輸出"guardian is not running ...."

? else

? echo "guardian is not running ...."

? fi

}

# status函數(shù)用于檢查guardian進程是否正在運行片挂,如果是,輸出"guardian is running ...."贞盯,否則輸出"guardian is not running ...."音念。

status()

{

? ps aux |grep 'guardian.pl *-c' 2>&1 > /dev/null

? if [ $? -eq 0 ];

? then

? echo "guardian is running ...."

? else

? echo "guardian is not running ...."

? fi

}

# 根據(jù)傳入的參數(shù)($1)執(zhí)行不同的函數(shù)

case "$1" in

# 如果傳入的參數(shù)是start,則調(diào)用start函數(shù)

start)

start

;;

# 如果傳入的參數(shù)是stop躏敢,則調(diào)用stop函數(shù)

stop)

stop

;;

# 如果傳入的參數(shù)是restart闷愤,則先調(diào)用stop函數(shù),再調(diào)用start函數(shù)

restart)

stop

start

;;

# 如果傳入的參數(shù)是status父丰,則調(diào)用status函數(shù)

status)

status;;

*)

# 如果傳入的參數(shù)不是上述的任何一種肝谭,那么輸出使用方法

echo $"Usage: $0 {start|stop|restart|status}"

esac

2.guardian_block.sh

#!/bin/bash

#這個SHELL腳本需要和iptables一起工作掘宪,主要功能是實現(xiàn)IP的阻斷。guardian會安裝下面方式來調(diào)用命令攘烛。

#guardian_block.sh <源 IP 地址> <網(wǎng)卡接口>

# 然后該腳本將發(fā)出一個命令魏滚,阻塞來自源 IP 地址的所有流量,判斷是否可以安全地阻塞該地址的邏輯是在 guardian 自身內(nèi)部完成坟漱。

## 從命令行參數(shù)獲取源 IP 地址和網(wǎng)卡接口

source=$1

interface=$2

# 通過 iptables 命令向 INPUT 鏈添加規(guī)則鼠次,阻塞來自源 IP 地址的所有流量

# 實驗之前,可以運行 'service iptables status' 檢查其狀態(tài)芋齿。

/sbin/iptables -I INPUT -s $source -i $interface -j DROP

# 向 INPUT 鏈添加另一個規(guī)則腥寇,阻塞來自源 IP 地址的 TCP 流量。

/sbin/iptables -I INPUT -p tcp -s $source -i $interface -j REJECT --reject-with tcp-reset


3.guardian.conf

這是主配置文件觅捆,我們需要修改的也就是根據(jù)自己系統(tǒng)網(wǎng)絡(luò)設(shè)備名稱來修改赦役。

Interface ? ? ? eth0? ?#改成自己系統(tǒng)的網(wǎng)卡設(shè)備名

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市栅炒,隨后出現(xiàn)的幾起案子掂摔,更是在濱河造成了極大的恐慌,老刑警劉巖赢赊,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乙漓,死亡現(xiàn)場離奇詭異,居然都是意外死亡释移,警方通過查閱死者的電腦和手機叭披,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來玩讳,“玉大人涩蜘,你說我怎么就攤上這事》姹撸” “怎么了皱坛?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長豆巨。 經(jīng)常有香客問我剩辟,道長,這世上最難降的妖魔是什么往扔? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任贩猎,我火速辦了婚禮,結(jié)果婚禮上萍膛,老公的妹妹穿的比我還像新娘吭服。我一直安慰自己,他們只是感情好蝗罗,可當我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布艇棕。 她就那樣靜靜地躺著蝌戒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪沼琉。 梳的紋絲不亂的頭發(fā)上北苟,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音打瘪,去河邊找鬼友鼻。 笑死,一個胖子當著我的面吹牛闺骚,可吹牛的內(nèi)容都是我干的彩扔。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼僻爽,長吁一口氣:“原來是場噩夢啊……” “哼赶站!你這毒婦竟也來了陈瘦?” 一聲冷哼從身側(cè)響起纯衍,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤竖共,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后乳绕,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡逼纸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年洋措,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杰刽。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡菠发,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出贺嫂,到底是詐尸還是另有隱情滓鸠,我是刑警寧澤,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布第喳,位于F島的核電站糜俗,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏曲饱。R本人自食惡果不足惜悠抹,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扩淀。 院中可真熱鬧楔敌,春花似錦、人聲如沸驻谆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至勺卢,卻和暖如春伙判,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背值漫。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工澳腹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人杨何。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓酱塔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親危虱。 傳聞我的和親對象是個殘疾皇子羊娃,可洞房花燭夜當晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容