Snort 它是一個多平台的、實時流量分析的入侵檢測系統。Snort是一個基于libpcap的資料包嗅探器并可以作為一個輕量級的網絡入侵檢測系統。
snort有三種工作模式:
1、嗅探器
嗅探器模式:是從網絡上讀取資料包并作為連續不斷的流顯示在終端上。
2、資料包記錄器
資料包記錄器:是把資料包記錄到硬碟上。
3、網絡入侵檢測系統。
網路入侵檢測:它是可配置的(是以會相對是比較複雜的)。
工作原理:
是因為能夠對網絡上的資料包進行抓包,但差別于嗅探器的它能夠根據自定義規則來進行相應和處理。根據以下的規則有五種響應的機制。
Activation (報警并啟動另外一個動态規則鍊)
Dynamic (由其它的規則包調用)
Alert (報警)
Pass (忽略)
Log (不報警但記錄網絡流量)
Snort通過在網絡TCP/IP的5層結構的資料鍊路層進行抓取網絡資料包,抓包時需将網卡設定為混雜模式,根據作業系統的不同采用libpcap或winpcap函數從網絡中捕獲資料包;然後将捕獲的資料包送到包×××進行解碼。
Snort的運作:
主要是通過各插件協同工作才使其功能強大,是以在部署時選擇合适的資料庫,Web伺服器,圖形處理程式軟體及版本也非常重要。
不足:
Snort之是以說他是輕量型就是說他的功能還不夠完善,比如與其它産品産生關聯等方面還有待改進;Snort由各功能插件協同工作,安裝複雜,各軟體插件有時會因版本等問題影響程式運作;Snort對所有流量的資料根據規則進行比對,有時會産生很多合法程式的誤報。
入侵檢測系統:IDS
入侵防護系統:IPS
IDS是防護檢測、IPS是防護功能;
SessionWall :CA公司出品、圖形界面、可以流量和程式全面監控通過報警和阻塞規則進行相應。
RealSecure :ISS RealSecure是一種實時監控軟體,它包含控制台、網絡引擎和系統代理三個部分組成。RealSecure的模闆包括安全事件模闆、連接配接事件模闆和使用者定義事件模闆。
IDS從本質上可以分成兩類:網絡型IDS(NIDS)和主機型IDS(HIDS)這兩種IDS。
基于主機的叫HIDS (軟體)snort(用于沒有被防火牆檢測出來的入侵)。需要安裝到被保護的主機、(可以檢視流量、日志、使用者行為和一些檔案)
基于網絡的叫NIDS (硬體)神州數位 H3C 都有(硬體産品),安裝需要和交換機來結合的;
IDS監聽端口:(收集它所關心的封包
特征比較:IDS 提取的流量統計特征值、與特征庫比對;
報警:比對度較高的封包劉來那個将被認為是進攻,IDS将報警。
【資訊的收集 --- 分析– 檢測是否報警】
基于主機的應用檢測;也隻裝在重要的主機上面。
基于網絡的入侵檢測:就要部署在網絡裝置上。
IDS的部署位置(snort):

( 如果沒有裝IDS 的隻能依靠路由的基本設定來保護内網 )
在linux下的應用:(示例)
平台:
Linux5.4
軟體包:
adodb514.zip
(一種 PHP 存取資料庫的中間函式元件、對php優化的一個資料庫支援;)
base-1.4.5.tar.gz
(是一個用來檢視Snort IDS告警的Web應用程式)
snort-2.8.0.1-1.RH5.i386.rpm
(入侵檢測系統)
snort-mysql-2.8.0.1-1.RH5.i386.rpm
(snort與資料庫結合器件)
snortrules-snapshot-2.8.tar.gz
(入侵檢測規則庫)
安裝:
rpm -ivh snort-2.8.0.1-1.RH5.i386.rpm
安裝完成就可以直接來用行了;
在終端可直接執行指令:snort –v
如果在外網 ping 的時候、在這裡就會有記錄顯示;(暫停 ctrl+Z )
把這個程序殺掉:pkill -9 snort
然後還可以再使用jobs 檢視一下是否被殺掉;
還可以使用 snort -vde (但是并沒有MAC位址)
資訊記錄:snort -vde l ./ &/dev/null & 就可以記錄了、
入侵規則庫的應用:
cd /etc/snort/rules/ (在這檔案夾下)
然後進行規則導入、因為是一個壓縮包、直接解壓到/etc/snort/目錄下就可以了:
tar -zxvf snortrules-snapshot-2.8.tar.gz –C /etc/snort/
導入之後在來到 cd /setc/snort/rules/ 目錄下檢視;就會有很多規則了。
(軟體的版本過舊相對的入侵規則庫就很略不同 資源也會顯的老舊 盡量随時更新)
規則的下一部分是協定:
Snort目前分析可疑包的ip協定有四種:TCP 、UDP 、ICMP 、IP ;
(也許不久發展還會有 ARP、IGRP、GRE、OSPF、RIP、IPX )
如果檢測的檔案希望記錄到資料裡面;是以這個入侵檢測系統搭建需要安裝的軟體還是比較多的:
mysql、apache、php、libpcap(linux下網絡資料包捕獲函數包)、adodb(可以對資料庫優化)、snort(主程式)、base(是基本的分析和安全引擎)、-acid以項目的代碼為基礎、提供web的前端。
因為安裝這些東西也盡可能是使用yum來裝:
編輯本地yum:
vim /etc/yum.repos.d/rhel-debuginfo.repo
[rhel-server]
name=Red Haterprise Linux server
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=1
gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-relase
挂載CD光牒進行yum安裝:
mkdir /mnt/cdrom
mount /dev/cdrom /mnt/cdrom/
yum 安裝:
安裝完成開啟各種服務,然後chkconfig設定:
chkconfig httpd on
對于mysql需要設定密碼(預設安裝時是root使用者是沒有密碼的)
mysqladmin–u root -p password ‘123’
再進一步在資料添加snort的資料庫以及表格:
(因為我們期望檢測的資訊放到mysql資料庫裡面去、放到什麼資料庫、還要在進一步的設定)
連接配接到資料庫: mysql -u root -p
create database snort;
(建立snort資料庫)
use snort;
( 使用snort資料庫 )
show tables;
(在此進行添加表格、每見一個表格、都要添加一個表格的架構;但是呢這裡可以直接導入、都是一些建立表格的字段之類的 )
導入表格:
chkconfig mysql on
(依然使用chkconfig設定)
然後還希望snort檢測的協定資料是需放置在資料庫裡面的、是以還要安裝一個東東:
就是 snort-mysql-2.8.0.1-1.RH5.i386.rpm 包
( 一個snort與資料庫的連接配接器件 )
vim /etc/snort/snort.conf
更改一些量
更改完成之後可以再啟動snort、(可以做一些細緻的指令、做一些詳細的截獲、挂載規則庫、資訊輸出);然後可以看一下程序、是否已經啟動了;
或者也可以用jobs 進行檢視是否正在運作着;
更新安裝 pear
( 即:PHP擴充與應用庫 )
pear install --force PEAR-1.8.1 (系統連接配接到了網際網路、直接就可以更新)
pear upgrade pear (然後再更新一次)
然後再安裝一些子產品;(圖形化界面的一些子產品)
安裝 adodb
adodb514.zip ( 它是用來對php優化的一個資料庫支援 )
解壓先:unzip adodb514.zip
然後把它也移動到/var/www/html/adodb 這個目錄下。
mv adodb5 /var/www/html/adodb ( 便于還可以做名稱的更改 )
base 安裝
tar -zxvf base-1.4.5.tar.gz -C/var/www/html/
為友善操作可以更改一下名稱:以後可以直接通路實體目錄http://0.0.0.0/base
mv base-1.4.5/ base
然後再重新進入這個目錄、還需要拷貝一些檔案。
然後在/var/www/html/ 更改裡面有個 base_conf.php 的配置檔案;
更改之前仍需要作下base目錄的權限設定:chmod o+w base/
就是這樣:
(其實這個可以在網頁之中直接進行設定、設定之後就形成了這個檔案;通過實體通路http://192.168.1.101/base/setup/index.php 在裡直接設定 ;但是呢有的可能預設設定的日志幾倍太高、是以還需要編輯etc目錄下的php.ini更改一下 )
例如這樣提示:
然後就需要 vim /etc/php.ini
既然這樣更改了、就還需要把apache重新開機而後重新進入:
一共有5部安裝;語言設定、adodb路徑:
然後設定一些資料庫的相關:
界面的管理設定使用者與密碼:
接着也就進入了基本的分析與安全引擎:(建立base AG)
進入第5部:看到檢測的一些協定。
(當然這個沒資料 是因為沒運作 )
重新啟動、在做個Ping動作,新重新整理一下網頁:
或者利用工具做個端口掃描測試:
以上就是linux環境下 搭建IDS入侵檢測系統簡要流程。