□張 峰
Snort 是一個免費的IDS(入侵檢測系統)軟件,它的一些源代碼是從著名的tcpdump 軟件發(fā)展而來的。它是一個給予libpcap 包的網絡監(jiān)控軟件,可以作為一個十分有效的網絡入侵檢測系統。Snort 是一個輕量級的入侵檢測系統,它具有截取網絡數據報文,進行網絡數據實時分析、報警,以及日志的能力。Snort 的報文截取代碼是給予libpcap 庫的,繼承了libpcap 庫的平臺兼容性。簡單說,Snort 是數據包的嗅探器,也是數據包記錄器,還是NIDS。提供數據包嗅探和記錄功能只是Snort 的部分功能,Snort 的特點就是其入侵檢測功能——根據入侵規(guī)則匹配數據包中的內容。
Snort 首先根據遠端的IP 地址建立目錄,然后將檢測到的包以tcpdump 的二進制格式記錄或者以自身的解碼形式存儲到這些目錄中個,這樣一來,就可以使用snort 來檢測或者過濾所需要的包。Snort 可提供協議分析、內容查找和匹配,可以用來檢測各種攻擊和探測,如緩沖區(qū)溢出、隱蔽端口掃描、CGI 攻擊、SMB 探測、操作系統指紋識別嘗試等,其中的包嗅探、數據包記錄和入侵檢測是其重要功能。Snort 的結構決定了它的各種功能,構架圖如圖1 所示。而Snort 架構由以下4 個基本模塊構成:嗅探器、預處理器、檢測引擎和輸出模塊。

圖1 snort 架構圖
實驗中測試環(huán)境圖2 所示。入侵檢測系統測試環(huán)境由Snort 傳感器、Snort 服務器、分析控制臺組成,其中終端計算機采用Windows XP 操作系統,實驗中所需軟件包括Snort、Mysql、WinPcap、ACID、adodb、Apache、PHP 等,這些軟件都是開源的,因此,在實驗過程中可以完整體現Snort 入侵檢測系統的功能。

圖2 入侵檢測環(huán)境實驗拓撲
(一)安裝Snort 以及winpcap。入侵檢測系統采用Winpcap 對網絡數據包進行捕獲,安裝在c:/ids/wincap 目錄下,過程簡單,且無需進行配置。Snort 安裝到c:/ids/snort 目錄下,cmd 命令行利用snort —W 命令測試,如出現小豬形狀,則證明snort 安裝成功。并下載snort 規(guī)則文件覆蓋snort 相應原文件,修改snort 配置文件snort.conf。
(二)安裝Apache 服務器及其組件php、adodb。在實驗環(huán)境中選擇一臺性能較好的終端,在其上安裝Apache 服務器。入侵檢測系統選擇Apache 與PHP 搭建Web 平臺,將安裝目錄設置為c:/ids/apache,需要注意的是,安裝Apache 需要開啟80,如果以前已經安裝過IIS,會出現沖突情況,務必更改端口或者停止IIS 服務。為保證圖形化界面,進一步PHP 和Adodb,并對apache 配置文件httpd.conf 進行修改,增加php 模塊,對PHP 配置文件進行相應修改,使得Apache 能夠支持PHP,PHP 能夠支持Mysql。在apache 網頁目錄下編寫php 腳本,http://localhost/a.php 測試apache 是否支持php。Adodb 是用于PHP 的數據庫連接插件,無需安裝,直接復制即可。
(三)安裝Mysql。Mysql 數據庫是為了記錄警告信息數據,便于進行分析并對入侵檢測信息進行相應調整。將Mysql 安裝在c:/ids/Mysql 下,記錄mysql 登錄密碼,便于以后使用。在cmd 命令行下建立snort 數據庫、snort_archive 數據庫,并使用數據庫和snort 安裝目錄下的create_mysql 腳本。圖形組件jpgraph 安裝過程較為簡單,把jpgraph 復制到php 目錄下即可。
(四)安裝分析控制臺acid。將acid 復制到在apache 目錄下,并對acid.conf 進行修改,例如alert_dbname、alert_host、alert_user、alert_password 等修改為與mysql 中創(chuàng)建的數據庫一致。ChartLib_path 更改為jpgraph 下的src 等。

圖3 snort 測試頁面
(五)測試。修改完成重啟apache,IE 訪問http://localhost/acid,進行測試。圖3 為測試頁面。可在此基礎上,利用已有數據進行進一步測試。
在Windows 平臺下安裝基于snort 的入侵檢測系統,配置簡單,但是作為輕量級的入侵檢測系統,必然存在不足之處。其最大的優(yōu)點是源代碼公開,便于在此基礎上進一步研發(fā),從而完善其功能。
[1]張旭珍.基于Snort 的入侵檢測系統教學實驗設計與實現[J].實驗室研究與探索,2014
[2]張峰,張靜,王紅.基于信息融合的入侵檢測方法[J].網絡安全技術與應用,2014
[3]盧榮.基于Snort 的分布式入侵檢測系統[J].學術研究,2015
[4]楊洋.基于入侵檢測系統與防火墻聯動的設計[J].計算機安全,2014
[5]張峰.基于信息融合的入侵檢測方法[J].網絡安全技術與應用,2014