需要的幾個軟體包:
acid-0.9.6b23.tar.gz | 基于php 的入侵檢測資料庫分析控制台 | http://www.cert.org/kb/acid |
adodb465.zip | ADOdb(Active Data Objects Data Base)庫for PHP | http://prdownloads.sourceforge.net/adodb/ |
apache_2.2.2-win32-x86-no_ssl.msi | Windows 版本的Apache Web 伺服器 | http://mirror.vmmatrix.net/apache |
jpgraph-1.20.4a.tar.gz | 面向對象的圖形庫for PHP | http://www.aditus.nu/jpgraph |
mysql-5.0.22-win32.zip | Windows 版本的Mysql 資料庫伺服器 | http://dev.mysql.com/ |
php-5.1.6-Win32.zip | Windows 版本的php 腳本 | http://www.php.net/ |
snort_2_6_0_Installer.exe | Windows 版本的Snort 安裝包 | http://www.snort.org/ |
WinPcap_3_1.exe | 網絡資料包截取驅動程式 | http://www.winpcap.org/ |
安裝步驟:
計劃把所有的軟體包安裝到 c:\
1、 安裝 apache
指定安裝目錄 c:\apache
2、安裝 php
解壓縮 php 到 c:\php5 檔案夾
複制 php5ts.dll 檔案到 c:\windows\system32 檔案夾
複制 php.ini-dist 到 c:\windows 下并重命名為 php.ini
在apache2\conf\httpd.conf檔案中添加:
LoadModule php5_module c:/php5/php5apache2.dll
AddType application/x-httpd-php .php
新版本的寫法:loadmodule php5_module c:/php5/php5apache2_2.dll。
3、打PHP的更新檔
解壓縮php5apache2.dll-php5.1.x.zip到C:\php5apache2.dll-php5.1.x目錄
将C:\php5apache2.dll-php5.1.x目錄下的php5apache2.dll檔案拷貝到c:\php5目錄下
将C:\php5apache2.dll-php5.1.x.目錄下的httpd.exe.manifest檔案拷貝到 c:\apache\bin目錄下
運作C:\php5apache2.dll-php5.1.x目錄下的vcredist_x86.exe檔案
4、 修改 c:\widows\php.ini 檔案 , 掉 extension=php_gd2.dll 前的分号
5、将C:\php5\ext\php_gd2.dll拷貝c:\windows目錄
6、在 c:\apache\htdocs 檔案夾下編寫 test.php 檔案内容為 <?phpinfo () ; ?>
測試方法:
重新開機apache
打開浏覽器輸入 http://lcoalhsot/test.php. 如果浏覽到了 php 的資訊則說明一切正常, ( 注意:如果 test.php 檔案出現下載下傳提示,原因是 addtype 的那句話有錯誤,檢查修改就可以了 )
7、 安裝 winpcap
采取預設值即可
8、 安裝 snort 并指定路徑為 c:\snort 檔案夾
9、 測試 snort 安裝是否正确
C:\snort\snort\bin\snort.exe –W,如果安裝 snort成功會出現一個可愛的小豬,
10、安裝 mysql
指定路徑為 c:\mysql
11、建立 snort 資料庫的表
複制 c:\snort\schames 檔案夾下的 create_mysql 檔案到 c:\mysql\bin 檔案夾下
打開 mysql 的的用戶端執行如下指令
mysql> Create database snort;
mysql> Create database snort_archive;
mysql> Use snort
mysql> Source create_mysql
mysql> show tables;
mysql> Use snort_archive
建立acid 和snort 使用者
mysql> grant usage on *.* to "acid"@"localhost" identified by "acidtest";
mysql> grant usage on *.* to "snort"@localhost" identified by "snorttest";
mysql> grant select,insert,update,delete,create,alter on snort .* to "acid"@"localhost";
mysql> grant select,insert,update,delete,create,alter on snort_archive .* to "acid"@"localhost";
mysql> grant select,insert,update,delete,create,alter on snort .* to "snort"@"localhost";
12、 加入 php 對 mysql 的支援:
修改 c:\windows\php.ini 檔案去掉 extension=php_mysql.dll 前的分号。
複制c:\php5\ext 檔案夾下的 php_mysql.dll 檔案到 c:\windows 檔案夾。
複制c:\php5\libmysql.dll檔案到c:\windows\system32下
13、安裝 adodb
解壓縮 adodb 到 c:\php5\adodb 檔案夾下。
14、 安裝 jgraph
解壓縮 jpgraph 到 c:\php5\jpgraph 檔案夾下。
15、安裝 acid
解壓縮 acid 到 c\apache\htdocs\acid 檔案夾下
修改 acid_conf.php 檔案
$DBlib_path = "c:\php5\adodb";
$alert_dbname = "snort";
$alert_host = "localhost";
$alert_port = "3306";
$alert_user = "snort";
$alert_password = "snorttest";
/* Archive DB connection parameters */
$archive_dbname = "snort_archive";
$archive_host = "localhost";
$archive_port = "3306";
$archive_user = "acid";
$archive_password = "acidtest";
$ChartLib_path = "c:\php5\jpgraph\src";
16、 在浏覽器中初始化 acid 資料庫:
http://localhost/acid/acid_db_setup.php 在打開頁面中點取“Create ACID AG”按鈕,讓系統自動在mysql中建立acid 運作必須的資料庫
17、簡單的snort配置,打開c:\Snort\etc下的snort.conf檔案,将下列各行修改如下:
dynamicengine c:\Snort\lib\snort_dynamicengine\sf_engine.dll(舊版本寫sf_dynamicengine.dll)
dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor
(必須寫對)
var RULE_PATH c:/snort/rules
include c:\snort\etc\classification.config
include c:\Snort\etc\reference.config
修改snort.conf裡的dynamicpreprocessor directory c:\Snort\lib\snort_dynamicpreprocessor時,将dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dcerpc_preproc.so
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_dns_preproc.so
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ftptelnet_preproc.so
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_smtp_preproc.so
dynamicpreprocessor file /usr/local/lib/snort_dynamicpreprocessor/libsf_ssh_preproc.so
改為:
dynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_dcerpc.dll
dynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_dns.dll
dynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll
dynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_smtp.dll
dynamicpreprocessor file c:\Snort\lib\snort_dynamicpreprocessor\sf_ssh.dll
配置snort的輸出插件, 打開c:\Snort\etc下的snort.conf檔案,添加如下行:
output database: alert, Mysql, host=localhost port=3306 dbname=snort user=root password=111111 encoding=hex detail=Full
# }
(注意:如果mysql和snort不在同一台伺服器上,要将“localhost”改為具體的mysql伺服器的ip位址,要把這句話寫在include的前面)
18、 為Snort添加響應規則,或配置Snort的規則,也可以從Internet下載下傳已有的規則,
本執行個體是通過現有的規則包——snortrules-snapshot-CURRENT.tar解壓到c:\snort相應目錄來實作的(規則需要注冊才可以下載下傳)
19、 啟動 snort 入侵檢測
c:\>snort –c c:\snort\etc\snort.conf –l c:\snort\log -d -e -X -v -i 2
-X 參數用于在資料連結層記錄raw packet 資料
-d 參數記錄應用層的資料
-e 參數顯示/記錄第二層封包頭資料
-c 參數用以指定snort 的配置檔案的路徑
-i 參數指定監視的網絡擴充卡的編号
20、如果出現以下錯誤 :
ERROR: Unable to open rules file: ../rules/local.rules or c:\snort\etc\../rules/local.rules
Fatal Error, Quitting..
處理方法 : 規則包還沒有安裝
21、再次運作20項指令,出現如下錯誤:
Loading dynamic engine /usr/local/lib/snort_dynamicengine/libsf_engine.so... ERROR: Failed to load /usr/local/lib/snort_dynamicengine/libsf_engine.so: 126
處理方法 : 在 snort 的配置檔案中指定 libsf_engine. 的路徑和檔案名
Loading dynamic preprocessor library /usr/local/lib/snort_dynamicpreprocessor/libsf_dcerpc_preproc.so... ERROR: Failed to load /usr/local/lib/snort_dynamicpreprocessor/libsf_dcerpc_preproc.so: 126
處理方法 : 在 snort 的配置檔案中指定 libsf_dcerpc_prepro 的路徑和檔案名
修改以上錯誤後再次運作C:\snort\bin\snort.exe –c “c:\snort\etc\snort.conf” –l “c:\snort\log” –d -e –X -v -i 2
2為網卡的編号。
此時會出現:Not Using PCAP_FRAMES
關閉snort運作程式,輸入:Set PCAP_FRAMES=MAX ,snort -W儲存配置。
再次運作:C:\snort\bin\snort.exe –c “c:\snort\etc\snort.conf” –l “c:\snort\log” –d -e –X -v i 2
此時會出現:using PCAP_FRAMES即可
23、運作掃描軟體X-Scan檢視統計資料
http://localhost/acid/acid_main.php