Freebsd構建小型的入侵檢測系統(轉)
1.Snort簡介
Snort 是一個強大的輕量級的網路入侵檢測系統。它具有實時資料流量分析和日誌IP 網路資料包的能力,能夠進行協議分析,對內容進行搜尋/匹配。它能夠檢測各種不同的攻擊方式,對攻擊進行實時報警。更重要的它是免費的,在中小企業中很好的適應網路環境,不需要太多的資源和資金就能建立起一個優秀的IDS系統。
2.系統平臺
安裝平臺選擇FreeBSD 4.9 ,本身足夠安全,堅固;特性喜歡PORTS安裝起來少了不少麻煩。
Hawk# uname -a
FreeBSD hawk.the9 4.9-RELEASE FreeBSD 4.9-RELEASE
3.需要軟體
Mysql-server-3.23.58
Snort2.0.6
Apache-2.0.47
mod_php4-4.3.3,1
adodb-3.60_1
acid-0.9.6b23
Jpgraph-1.12.2
4.安裝SNORT
1)安裝mysql
hawk# cd /usr/ports/databases/mysql323-server
hawk# make install
2)安裝apache
hawk# cd /usr/ports/www/apache2/
hawk# make install
3)安裝PHP
hawk # cd /usr/ports/www/mod_php4
hawk # make install
4)配置APACHE
編輯httpd.conf (/usr/local/etc/apache2)
DocumentRoot "/usr/local/www/snort"
LoadModule php4_module modules/libphp4.so
AddType application/x-httpd-php .php
5)安裝SNORT
hawk# mkdir /etc/snorthawk# mkdir /var/log/snorthawk# tar -zxvf snort-2.0.6.tar.gzhawk# mv snort-2.0.6 /etc/snorthawk# ./configure --with-mysqlhawk# makehawk# make installhawk# cd /etc/snort/etchawk# cp snort.conf /etc/snort/hawk# cp *.config /etc/snort
6) 安裝SNORT的規則庫
可以在SNORT站點上下載標準規則庫,基本夠用了。2.0.0.x的SNORT使用STABLE rules,而2.0.1.x的SNORT使用CURRENT rules。
hawk# mkdir /etc/snort/etchawk# wget hawk# tar xvfz snortrules-stable.tar.gz
7)配置SNORT
修改snort.conf (/etc/snort/snort.conf)
var HOME_NET 172.18.0.0/22 (修改為你的內部網網路地址)
var EXTERNAL_NET any #外網,關鍵字any這裡表示HOME_NET之外的所有地址
var DNS_SERVERS 202.197.32.12 #DNS 伺服器
var RULE_PATH ../rules 修改為 var RULE_PATH /etc/snort/etc/rules
改變記錄日誌資料庫:
output database: log, mysql, user=root password=your_password dbname=snort host=localhost
設定snort啟動
hawk# vi /usr/local/etc/rc.d/snort.sh#!/bin/shcase "$1" instart)/usr/local/bin/snort -Dqc /etc/snort/snort.conf > /dev/null && echo -n " snort";;stop)kill `cat /var/run/snort_*.pid`;;restart)killall -1 `cat /var/run/snort_*.pid`;;*)echo "Usage: snort.sh [start|stop|restart]";;esac
不過建議是手動啟動,我在使用中發現自動啟動有一點問題,等系統完全啟動完了再啟動SNORT就一切正常。
9)在mysql中建立資料庫
先建立SNORT使用的資料庫
mysql>create database snort;
mysql>grant INSERT,SELECT on root.* to ;
mysql>quit;
進入snort安裝目錄:
mysql -p <. snort="">
>Enter password:
安裝DB表:(在contrib目錄)
zcat snortdb-extra.gz | mysql -p snort
>Enter password:
安裝完成檢查一下表的顯示
mysql>show databases;+------------+| Database+------------+| mysql| snort| test+------------+3 rows in set (0.00 sec)mysql>use snort;
mysql>show tables; 將會有這些:
+------------------+| Tables_in_snort |+------------------+| data| detail| encoding| event| flags| icmphdr| iphdr| opt| protocols| reference| reference_system| schema| sensor| services| sig_class| sig_reference| signature| tcphdr| udphdr+------------------+19 rows in set (0.00 sec)mysql>exit
5.安裝配置Web介面
1)先安裝GD庫
hawk# cd /usr/ports/graphics/gd
hawk# make install
2) 安裝 jpgraph-1.12.2
hawk# cd /usr/ports/graphics/jpgraph
hawk# make install
3)安裝adodb-3.60_1
hawk# cd /usr/ports/databases/adodb
hawk# make install
4 )安裝acid-0.9.6b23
hawk# cd /usr/ports/security/acid
hawk# make install
5)配置 acid
hawk# mv /usr/local/www/data.default/php/adodb /usr/local/www/snort/
hawk# mv /usr/local/www/data.default/php/acid /usr/local/www/snort/
編輯acid_conf.php,修改相關配置如下:
$DBlib_path = "/usr/local/www/snort/adodb";/* The type of underlying alert database** MySQL : "mysql"* PostgresSQL : "postgres"* MS SQL Server : "mssql"*/$DBtype = "mysql";/* Alert DB connection parameters* - $alert_dbname : MySQL database name of Snort alert DB* - $alert_host : host on which the DB is stored* - $alert_port : port on which to access the DB* - $alert_user : login to the database with this user* - $alert_password : password of the DB user** This information can be gleaned from the Snort database* output plugin configuration.*/$alert_dbname = "snort";$alert_host = "localhost";$alert_port = "";$alert_user = "root";$alert_password = "Your_Password";/* Archive DB connection parameters */$archive_dbname = "snort";$archive_host = "localhost";$archive_port = "";$archive_user = "root";$archive_password = "Your_Password ";
6)可以進入進入web介面:
點"Setup Page"連結 ->Create Acid AG
然後訪問http:// 172.18.5.198/acid將會看到ACID介面。
6.最後測試
重新啟動系統進入系統,啟動SNORT。然後用NMAP,XSCAN,SSS來掃描一下,看看是不是有結果了。我用的是Retina。下面是成功後的介面。
7.SNORT規則編寫簡介
一條Snort規則可以分為前後兩個部分,規則頭和後面的選項部分。規則頭包含有匹配後的動作命令、協議型別、以及選擇流量的四元組(源目的IP及源目的埠)。規則的選項部分是由一個或幾個選項的符合,所有主要選項之間是與的關係。選項之間可能有一定的依賴關係,選項主要可以分為四類,第一類是資料包相關各種特徵的描述選項,比如:content、fla
gs、dsize、ttl等;第二類是規則本身相關一些說明選項,比如:reference、sid、classtype、priority等;第三類是規則匹配後的動作選項,比如:msg、resp、react、session、logto、tag等;第四類是選項是對某些選項的修飾,比如從屬於content的nocase、offset、depth、regex等。由於snort的規則語言語法非常簡單,所以可以對新發現的攻擊作出快速的反應,迅速開發新的snort規則。編寫新的規則,最重要的是知道新攻擊的特徵碼。要得到一個新的攻擊的特徵碼,一般的方法就是進行實際的測試。對一個測試網路進行攻擊,使用snort記錄在攻擊主機和測試網路之間的資料流。然後,對記錄的資料進行分析得到其唯一的特徵碼,最後把得到的特徵碼加入到規則中。下面是IMAP緩衝區溢位攻擊被記錄下的資料包:
--------------------------------------------------------------------------
052499-22:27:58.403313 192.168.1.4:1034 -> 192.168.1.3:143TCP TTL:64 TOS:0x0 DF***PA* Seq: 0x5295B44E Ack: 0x1B4F8970 Win: 0x7D7890 90 90 90 90 90 90 90 90 90 90 90 90 90 EB 3B ...............;5E 89 76 08 31 ED 31 C9 31 C0 88 6E 07 89 6E 0C ^.v.1.1.1..n..n.B0 0B 89 F3 6E 08 89 E9 6E 0C 89 EA CD 80 .....n....n.....31 DB 89 D8 40 CD 80 90 90 90 90 90 90 90 90 90 1...@...........90 90 90 90 90 90 90 90 90 90 90 E8 C0 FF FF FF ................2F 62 69 6E 2F 73 68 90 90 90 90 90 90 90 90 90 /bin/sh.........
---------------------------------------------------------------------------
這個攻擊的特徵碼就是/bin/sh字串及其前面的機器程式碼。這實際上是一個shellcode。四用這些資訊可以很快開發出一條新的規則:
alert tcp any any -> 192.168.1.0/24 143 (content:"|E8C0 FFF FF|/bin/sh";
msg:"New IMAP Buffer Overflow detected!"
其中的特徵碼含有文字和16進位制兩種形式,它們以|分割,snort執行時都被轉換為二進位制形式。
至此,FREEBSD 下的Snort 安裝建立成功。結果可以直接從WEB介面上看到,一套完整的IDS系統就可以正常執行了。
由於個人水平所限,本文難免會有遺漏和錯誤之處,希望大家不吝指正。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944499/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux 9系統下構建小型入侵檢測系統Linux
- SNORT入侵檢測系統
- Snort 入侵檢測系統
- 開源的IDS(入侵檢測系統)-- Snort (轉)
- 無線入侵檢測系統
- 人員入侵檢測系統
- 【星課堂】快速入門:如何使用Suricata構建網路入侵檢測系統?
- 實驗室環境下測試千兆入侵檢測系統(轉)
- 入侵檢測系統分析及其在Linux下的實現(轉)Linux
- 入侵檢測系統(IDS)的測試與評估
- *NIX入侵檢測方法(轉)
- Linux入侵檢測(轉)Linux
- FreeBSD檢查硬碟調整檔案系統的目錄結構(轉)硬碟
- 網路安全筆記-入侵檢測系統筆記
- linux檢測系統是否被入侵(上)Linux
- 網路故障智慧檢測系統和小型路由器檢測系統問題與思路路由器
- Linux中如何檢測系統是否被入侵Linux
- 入侵檢測系統綜述文獻研讀
- 啟明星辰天闐入侵檢測管理系統再獲殊榮(轉)
- 榕基網路入侵檢測系統在電力行業的應用案例(轉)行業
- FreeBSD DNS的體系結構(轉)DNS
- Linux 上搭建 Snort+BASE 入侵檢測系統Linux
- 在Linux中,什麼是入侵檢測系統(IDS)和入侵防禦系統(IPS)?Linux
- Linux入侵監測系統LIDS原理(轉)Linux
- FreeBSD系統備份(轉)
- FreeBSD 升級系統(轉)
- FreeBSD 系統日誌(轉)
- FreeBSD下 DNS的體系結構(轉)DNS
- 入侵檢測術語全接觸(轉)
- FreeBSD的系統log日誌(轉)
- 基於圖的下一代入侵檢測系統
- 檢測Unix是否被入侵最快捷的方法(轉)
- 千兆應用入侵防護系統—入侵防禦系統(轉)
- 面向模式構建系統架構 (轉)模式架構
- Linux核心即時入侵檢測安全增強-系統呼叫執行步驟(轉)Linux
- FreeBSD配置系統時間(轉)
- FreeBSD建立檔案系統(轉)
- FreeBSD系統核心物件(轉)物件