4.1實驗平臺的搭建
1)實驗軟件:
(1)Microsoft virtual pc虛擬機
(2)windows server 2003鏡像文件
(3)網絡數據包截取驅動程序
WinPcap_4_1_2.zip
http://winpcap.polito.it/
(4)Windows 版本的Snort 安裝包
Snort_2_9_0_5_Installer.exe
http://www.snort.org/
(5)Windows 版本的Apache Web 服務器
apache_2.2.4-win32-x86-no_ssl.zip
http://www.apache.org/
(6)Windows版本的PHP腳本環境支持
php-5.2.5-Win32.zip
http://www.php.net/
(7)Windows 版本的Mysql 數據庫服務器
mysql-5.0.22-win32.zip
http://www.mysql.com/
(8)ACID(Analysis Console for Intrusion Databases)基於PHP的入侵檢測數據庫分析控制檯
acid-0.9.6b23.tar.gz
http://www.cert.org/kb/acid
(9)Adodb(Active Data Objects Data Base)PHP庫
adodb504.tgz
http://php.weblogs.com/adodb
(10)PHP圖形庫
jpgraph-2.3.tar.gz
(11)snort 規則包
rules20090505.tar.gz
http://www.snort.org
2)安裝步驟如下
(1)虛擬機和操作系統的安裝
運行虛擬機安裝程序,默認安裝即可,打開控制檯,新建一個虛擬機,按照提示具體填寫,選擇鏡像文件,啓動,安裝好鏡像系統後,效果如下:
圖4-1 虛擬機
(2)組件的安裝
在c:下建立duoduo的文件夾,再在其下建立duo的文件夾放入所有的安裝程序,在後續的安裝時,把可以選擇安裝路徑的組件安裝在duoduo的文件夾下
①安裝WinPcap
運行WinPcap_4_1_2.zip,默認安裝。
②安裝mysql
運行mysql-5.0.22-win32.zip,選擇自定義安裝選擇安裝路徑C:\duoaduo\mysql下,安裝時注意:端口設置爲3306(以後要用到),密碼本實驗設置成123,
圖4-2 配置端口
圖4-3 配置密碼
添加環境變量:
圖4-4 配置環境變量
③安裝apache
運行apache_2.2.4-win32-x86-no_ssl.zip
安裝到c:\duoaduo\apache
④下面安裝php
解壓php-5.2.5-Win32到c:\duoaduo\php
添加gd圖形庫支持
複製c:\duoaduo\php\php5ts.dll和c: \duoaduo\php\libmysql.dll文件到%systemroot%\system32
查詢本機的%systemroot%
圖4-5 查詢機的%systemroot%
複製c: \duoaduo\php\php.ini-dist到%systemroot%並重命名爲php.ini,
修改php.ini,分別去掉“extension=php_gd2.dll”和“extension=php_mysql.dll”前的分號,
圖4-6 配置php.Ini(1)
並指定extension_dir="c:\duoaduo\php\ext",
圖4-7配置php.Ini(2)
同時複製c:\duoaduo\php\ext下的php_gd2.dll與php_mysql.dll到%systemroot%\system32
在C:\duoaduo\apache\conf\httpd.conf中添加LoadModule php5_module c:/duoaduo/php/php5apache2_2.dll和AddType application/x-httpd-php .php,AddType application/x-httpd-php-source .phps
圖4-8 配置httpd.conf
重啓Apache服務。
在C:\duoaduo\apache\htdocs目錄下新建webinf.php(文件內容爲:<?phpinfo();?>)並使用 http://127.0.0.1/webinf.php訪問測試是否能夠顯示當前Apache服務器的信息,如果顯示如圖4-9所示,則表明Apache和php工作基本正常。
圖4-9 正確運行Apache和php
如果顯示如圖4-10所示,則表明Apache和php工作不正常。
圖4-10 錯誤信息
原因是 addtype 的那兩句話有錯誤,檢查修改就可以了。
⑤安裝Snort
運行Snort_2_9_0_5_Installer.exe
安裝在C:\duoaduo\Snort下即可,
運行C:\duoaduo\Snort\bin\snort.exe
或者在DOS中找到該位置,
如果安裝 snort成功會出現一個可愛的小豬
圖4-11 Snort運行正常
並按照以下修改C:\duoaduo\Snort\etc\snort.conf文件:
var RULE_PATH c:\duoaduo\snort\rules
include classification.config
include reference.config
修改爲絕對路徑:
include c:\duoaduo\snort\etc\classification.config
include c:\duoaduo\snort\etc\reference.config
在該文件的最後加入下面語句:
output database: alert, mysql, host=localhost user=root password=123 dbname=snort encoding=hex detail=full
創建 snort 數據庫的表
複製 c:\duoaduo\snort\schames 文件夾下的create_mysql 文件到C:\duoaduo\mysql\bin文件夾下
打開 mysql 的的客戶端執行如下命令
Create database snort;
Create database snort_archive;
Use snort;
Source create_mysql;
Use snort_archive;
Source create_mysql;
Grant all on *.* to “root”@”localhost”
加入 php 對 mysql 的支持:
修改 c:\windows\php.ini 文件去掉 extension=php_mysql.dll 前的分號。
複製c:\duoaduo\php\ext 文件夾下的 php_mysql.dll 文件到 c:\windows 文件夾。
複製c:\duoaduo\php\libmysql.dll文件到c:\windows\system32下
⑥安裝 adodb
解壓縮 adodb 到 c:\ids\php5\adodb 文件夾下。
⑦安裝 jgraph
解壓縮 jpgraph 到 c:\duoaduo\php\jpgraph 文件夾下
⑧安裝 acid
解壓縮 acid 到 c\duoaduo\apache\htdocs\acid 文件夾下
修改 acid_conf.php 文件
爲以下內容
$DBlib_path="c:\duoaduo\php\adodb";
$DBtype="mysql";
$alert_dbname ="snort";
$alert_host = "localhost";
$alert_port ="3306";
$alert_user="root";
$alert_password="123";
$archive_dbname="snort_archive";
$archive_host="localhost";
$archive_port="3306";
$archive_user="root";
$archive_password="123";
$ChartLib_path="c:\duoaduo\php\jpgraph\src";
⑨重啓apache、mysql服務
⑩在瀏覽器中初始化acid數據庫
http://localhost/acid/acid_db_setup.php
以上配置正確會有下面的顯示:
圖4-12 正確配置acid
啓動Apache和mysql服務
運行ACID:打開瀏覽器,地址爲http://127.0.0.1/acid。如果有下圖所示,則表示ACID安裝成功。
圖4-13正確安裝acid
運行c:\duoaduo\snort\bin>snort -c "c:\duoaduo\snort\etc\snort.conf" -l "c:\duoaduo\snort\log" -vdeX
-X 參數用於在數據鏈接層記錄raw packet 數據
-d 參數記錄應用層的數據
-e 參數顯示/記錄第二層報文頭數據
-c 參數用以指定snort 的配置文件的路徑
-v 參數用於在屏幕上顯示被抓到的包
圖4-14 正確記錄日誌
4.2實驗測試
1)Snort的使用:
(1)嗅探器:所謂的嗅探器模式就是Snort從網絡上讀出數據包然後顯示在你的控制檯上。
①如果你只要把TCP/IP包頭信息打印在屏幕上,只需要輸入下面的命令:
./snort–V
圖4-15 運行./snort–V
②如果要把所有的包記錄到硬盤上,你需要指定一個日誌目錄,snort就會自動記錄數據包:./snort -dev -l ./log
圖4-16 運行./snort -dev -l ./log
這時會在相應文件夾下,記錄數據:
圖4-17 文件記錄信息
(2)網絡入侵檢測系統:Snort最重要的用途還是作爲網絡入侵檢測系統(NIDS),使用下面命令行可以啓動這種模式:
./snort -dev -l ./log -h ***.***.***.***/** -c snort.conf
圖4-18運行網絡入侵檢測命令
(3)網絡入侵檢測模式下的輸出選項
在NIDS模式下,有很多的方式來配置Snort的輸出。在默認情況下,Snort以ASCII格式記錄日誌,使用full報警機制。如果使用full報警機制,snort會在包頭之後打印報警消息。使用-s選項可以使Snort把報警消息發送到syslog,默認的設備是LOG_AUTHPRIV和LOG_ALERT。可以修改snort.conf文件修改其配置。Snort還可以使用SMB報警機制,通過SAMBA把報警消息發送到Windows主機。爲了使用這個報警機制,在運行./configure腳本時,必須使用--enable-smbalerts選項。
下面是一些輸出配置的例子:使用默認的日誌方式(以解碼的ASCII格式)並且把報警發./snort -c snort.conf -l ./log -s -H給syslog:
具體本實驗環境運行:\snort -c c:\duoaduo\snort\etc\snort.conf -l c:\duoaduo\snort\log -s -H
圖4-19運行網絡入侵檢測模式下的輸出選項(1)
圖4-20 運行網絡入侵檢測模式下的輸出選項(2)
2)Snort與控制檯,數據庫的使用檢測:
(1)設置監測包含的規則。
找到snort.conf文件中描述規則的部分,如下圖所示:
圖4-21 配置snort.conf
前面加#表示該規則沒有啓用,將local.rules之前的#號去掉,其餘規則保持不變
(2)運行C:\duoaduo\Snort\bin中的snort.exe, 不關閉窗口,瀏覽網頁
(3)打開acid檢測控制檯主界面
圖4-22 顯示數據
點擊右側圖示中TCP後的數字“1%”,將顯示所有檢測到的TCP協議日誌詳細情況
圖4-23 詳細信息(1)
TCP協議日誌網頁中的選項依次爲:流量類型、時間戳、源地址、目標地址以及協議
選擇控制條中的“home”返回控制檯主界面,在主界面的下部有流量分析及歸類選項,
圖4-24 流量分析及歸類選項
圖4-25 近24小時的數據流
可以看到,表中詳細記錄了各類型流量的種類、在總日誌中所佔的比例、出現該類流量的起始和終止時間等詳細分析。
點擊第一條信息的起始時間2008-02-13 01:49:01會顯示起詳細的信息。
圖4-26 詳細信息(1)
圖4-27 詳細信息(2)
控制檯中所以以藍色顯示的都可以點擊以查看詳細數據。在此就不一一演示了。