29.12.12

ubuntu12.04 + snort_inline 2.8.6.1 輕量型IPS "補完"

Snort_inline只支援到2.8.X.X版本
版本2.8.5以上可支援ipv6  "--enable-ipv6"

敬告:因2.8.X.X版本過舊搭配新的規則檔2931時有一些規則必須新增或微調,目前暫時先讓它能動起來測試

Snort_inline架構






























從IPtables的QUEUE擷取封包, Snort_inline比對規則後,再告知IPtables,封包是否要丟棄,或讓它通行。


Bridge的部分+iptables的部分
apt-get install
bridge-utils                                              //安裝bridge

vi /etc/rc.local                                         //寫入開機檔 
brctl addbr br0                                         //建立br0           
brctl addif  br0 eth0                                  //把eth0加入br0
brctl addif  br0 eth1                                  //把eth1加入br0
brctl stp br0 on                                           //開啟STP
ifconfig eth0 0.0.0.0                                    //IP都拿掉
ifconfig eth1 0.0.0.0                                      //被找到就不好玩了
ifconfig br0 0.0.0.0

iptables -A INPUT -j QUEUE                      //snort -Q //讀取QUEUE裡的封包
iptables -A OUTPUT -j QUEUE
iptables -A FORWARD -j QUEUE

exit 0                                //指令要寫在exit 0前面
觀察
ifconfig         //觀察network
brctl show    //觀察bridge
iptables -L    //觀察iptables列表
*****************************************************************************

apt-get install                                                                                   //安裝組件
libpcap0.8-dev  
bison 
flex  
libc6-dev 
g++ 
gcc 
make
libpcre3-dev 
iptables-dev 

mysql的部分不能用mysql-server方式安裝

apt-get install                                                                                   //安裝mysql
mysql-server-5.5
mysql-client-5.5
libmysqlclient15-dev                                                           //後面那個是15不是L5
 //裝完會要你設定密碼
******************************************************************************
下載libnet-devlibdnetSnort_inline

cd /usr/local/bin                                                                                       //切換目錄
wget http://ips-builder.googlecode.com/files/libnet-1.0.2a.tar.gz               //下載libnet-1.0.2a.tar.gz   
tar zxvf libnet-1.0.2a.tar.gz                                                                     //解壓縮
cd Libnet-1.0.2a                                                                                    //切換目錄
./configure                                                                                             //編譯
make
make install                                                                                          //安裝

wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz                      //下載libdnet-1.12.tgz
tar zxvf libdnet-1.12.tgz                                                                      //解壓縮
cd libdnet-1.12                                                                                 //切換目錄
./configure                                                                                         //編譯
make
make install                                                                                      //安裝

wget http://www.procyonlabs.com/mirrors/snort/snort-2.8.6.1.tar.gz    //下載snort-2.8.6.1.tar.gz
tar zxvf snort-2.8.6.1.tar.gz                                                                    //解壓縮
cd snort-2.8.6.1                                                                                      //切換目錄
./configure --with-mysql-libraries=/usr/lib/i386-linux-gnu/ --enable-inline    //編譯
-----------------------------------------------------------------------------------------------------
/usr/lib/i386-linux-gnu/                             //這個目錄參考你的libmysqlclient檔放哪裡
find / -name libmysqlclient*                               //搜尋指令
--------------------------------------------------------------------------------------------------------
make
make install                                                                                       //安裝
mkdir /etc/snort_inline/                                                                    //建立設定檔位置
mkdir /etc/snort_inline/rules                                                          //建立rules位置
mkdir /var/log/snort                                                                  //建立snort_inline log位置
cp snort-2.8.6.1/etc/*  /etc/snort_inline                                    //複製檔案
//snort_inline主程式會在/usr/local/bin下
********************************************************************************
設定snort.conf             
vi /etc/snort_inline/snort.conf
var HOME_NET 192.168.X.X/24                                                  //修改與新增部分
var RULE_PATH /etc/snort_inline/rules
portvar FILE_DATA_PORTS [$HTTP_PORTS,110,143]
portvar SSH_PORTS 22
portvar FTP_PORTS [21,2100,3535]
portvar SIP_PORTS [5060,5061,5600]
portvar GTP_PORTS [2123,2152,3386]
# include $RULE_PATH/local.rules
# include $RULE_PATH/rpc.rules
# include $RULE_PATH/netbios.rules
*********************************************************************************
安裝oinkmaster更新規則檔
apt-get install oinkmaster
透過 oinkmaster 指令進行 rules 的更新 oinkmaster -o /etc/snort_inline/rules/
*********************************************************************************
測試snort.conf是否正常
snort -T -c /etc/snort_inline/snort.conf
測試是否能讀取QUEUE裡的封包
snort -Q -c /etc/snort_inline/snort.conf
ctrl+c結束測試
*********************************************************************************
mysql的部分,請參考這篇Ubutu12.04+Snort 2.9.2+mysql (二)建立資料庫
vi /etc/snort_inline/snort.conf                          //編輯設定檔
output database: log, <db_type>, user=<username> password=<password> test dbname=<name> host=<hostname>                        //系統預設值


output database: log, mysql, user=snortuser password=**** dbname=snort host=localhost      
//改成你的資料庫資訊
*********************************************************************************






沒有留言:

張貼留言