|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-11-08, 11:57 AM | #1 |
長老會員
|
網軟 - Linux入侵偵測系統之架設:Snort+BASE
適用系統:Fedora Core 5 與 Red Hat Enterprise Linux 4.0
安裝指引原文: http://www.snort.org/docs/setup_guid...se_Minimal.pdf 安裝次序: PCRE->SNORT->ADODB->BASE 一、取得所需套件 PCRE: http://www.pcre.org/ ADODB: http://adodb.sourceforge.net/ BASE: http://secureideas.sourceforge.net/ SNORT: http://www.snort.org/ 除了要使用 CVS 下載 snort 主程式以外,還要另外下載 rules(需先免費註冊) 二、安裝相關套件 本範例之工作目錄:/usr/local/src/snortinstall,並已事先將相關套件解壓縮在該目錄中 <PCRE-Perl Compatible Regular Expressions> cd /usr/local/src/snortinstall/pcre #./configure #make #make install <SNORT> 1.編譯與安裝 # cd /usr/local/src/snortinstall/snort #./autojunk.sh #./configure --with-mysql=/usr/ --enable-dynamicplugin --with-snmp #make #make install --with-mysql= 必須指定為 mysql.h 這個檔案的所在路徑,不知道在哪裡就用 find 找一下,必須要有安裝 mysql-devel 才會有這個檔案。若是檔案在 /usr/include/mysql/mysql.h,則只需要輸入『/usr/』,『include/mysql』這段路徑預設會自己加進去。 --enable-dynamicplugin 這一行一定要加進去,不然編譯雖然會成功,但實際執行時會有問題,會出現 unknow rule type: dynamicpreproccessor 之類的錯誤。 -------------- 2.建立執行 snort 必要的目錄、使用者與群組 useradd snort #mkdir /etc/snort #mkdir /etc/snort/rules #mkdir /var/log/snort <=== 要將使用者與群組設定為 snort,並給予 700 的權限 rules 檔案要到 snort 的官網下載,將 snort-snapshot-current.tar.gz 下載回來並解壓縮後,將 rules 目錄中所有的 *.rules 移至 /etc/snort/rules。doc 目錄中的 signatures 之後要放到 /var/www/html/base 目錄中,此為 base 會用到的 local 說明檔。 #cd /usr/local/src/snortinstall/snort/etc #cp * /etc/snort 將所有的 config sample 複製到 /etc/snort 目錄中。 -------------- 3.修改設定檔 /etc/snort/snort.conf #nano /etc/snort/snort.conf var HOME_NET any -> var HOME_NET 要監控的主機 IP 位址(eg.192.168.1.1) var EXTERNAL_NET any -> 這行可以不用動 var RULE_PATH ../rules -> var RULE_PATH /etc/snort/rules output database: log, mysql, user=snort password=password_of_snort dbname=snort host=localhost 如果host=localhost被擠到次一行,記得在行尾加上”\”,否則會得到錯誤訊息。 FATAL ERROR: /etc/snort/snort.conf(538) => Unknown rule type: host=localhost -------------- 4.建立mysql資料庫 注意:MySQL 的使用者與 Linux 系統本身的使用者不相關,是二個彼此獨立的系統。 #mysql -u root -p Password: mysql>create database snort; mysql>use snort; mysql>grant all on snort.* to snort@localhost identified by 'password_of_snort'; mysql>exit #mysql -u root -p snort< /usr/local/src/snortinstall/snort/schemas/create_mysql Enter password: password_of_root_mysql 確認一下資料庫及資料表 #mysql -u root -p Password: password_of_root_mysql 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 | icmphdr | iphdr | opt | reference | reference_system | schema | sensor | sig_class | sig_reference | signature | tcphdr | udphdr +------------------+ 16 rows in set (0.00 sec) mysql>exit <ADODB-ADOdb Database Abstraction Library for PHP and Python> #cp -a /usr/local/src/snortinstall/adodb /usr/share 記得要讓 httpd 有使用 /usr/share/adodb 的權限。 <BASE> #cp /usr/local/src/snortinstall/base /var/www/html 二個地方要注意: 1./var/www/html/base 目錄設定成 httpd 具有修改的權限。 2.修改 /etc/php.ini 中的 error_reporting 為 EC_ALL & ~E_NOTICE (改完以後記得重新啟動 httpd) 然後使用瀏覽器安裝 BASE:http://{path_to_url}/base/setup Step 1 of 5 Pick a Language: english ==> RHEL 4.0 若選擇 chinese,實際使用使會出現一堆亂碼,FC5 則可以正常使用。 Path to ADODB: /usr/share/adodb ==> 因為我們之前把 adodb 放在這個地方。 Step 2 of 5 Pick a Database type: mysql Database Host: localhost Database Name: snort Database User Name: snort Database Password: 資料庫的密碼 for snort Step 3 of 5 設定 BASE 管理員帳號與密碼。 勾選“Use Authentication System” Admin User Name: admin (可以自己取) Password: 管理員的帳號 Full Name: 隨便打即可 Step 5 of 5 登入系統 這樣子一來就全部安裝完成了。 記得要讓系統開機時自動啟動 mysqld、httpd、以及 snort。 在 /etc/rc.d/rc.local 中加入: /usr/local/bin/snort -c /etc/snort/snort.conf -i eth0 -D -u snort -g snort -c:指定要使用的 config 檔 -D:表示背景執行 -i:指定要監控的網路界面 -u:以特定使用者的身份執行 -g:以特定群組的身份執行 ============================= 若是要使用到圖表,則 PHP 在編譯時必需加入對 gd 模組的支援。 #cd /usr/local/php-X.X.X #./config.nice - -with-gd #make #make install (然後要記得重新啟動 httpd) 注意!系統中必需要有安裝 libpng-devel、libjpeg-devel、zlib-devel 等三個套件,若已安裝但執行 ./config.nice - -with-gd 時系統卻出現 Configure: error: PNG support requires ZLIB. User - -with-zlib-dir=<DIR> 錯誤訊息時,則在./config.nice - -with-gd 後面要加上相對應的 - -with-zlib-dir=”/usr/include” - -with-jpeg-dir=”/usr/include” 等。 之所以指定 - -with-zlib-dir=/usr/include 是因為 zlib 的 header 檔都放在 /usr/include 中。若不確定在哪裡可以使用 rpm -qli zlib-devel 查看。就算編輯並安裝完成,系統中也必須要有安裝 php-pear 套件,並額外下載與安裝 Image-Graph、Image-Canvas 等套件才可使用圖表功能,十分麻煩。 ============================= 整個架設完畢後,實際運作狀況: |
__________________ 思考,正是從一個錯誤,跳進另外一個錯誤。 |
|
送花文章: 5387,
|
2006-11-08, 12:03 PM | #2 (permalink) |
長老會員
|
報告阿鳥老大 ^_^
snort + base 撰寫完畢,請簽收 ================================ 版上的 Linux 同好大伙來組一個 『Open-Source 團』(簡稱 OS 團)好不好 平日在實務工作上總是會遇到一些雖然很簡單,但沒有人教就是解決不了的小問題。組個團以後,大伙平日要是在工作上遇到什麼問題就可以互通有無,彼此支援。也可以分享和交流彼此的知識,不知 Linux funs 們覺得如何 團長大人當然是請阿鳥老大協力擔當 ps. 小老弟偶已經是 "去死團、好人團兼蘿莉團長" 了,不能再多了啦 >__< |
送花文章: 5387,
|
向 Chin-Wei 送花的會員:
|
飛鳥 (2008-03-14)
感謝您發表一篇好文章 |
2006-11-08, 01:32 PM | #3 (permalink) | |
協調管理員
|
引用:
哈,那有同好了,我都愛用Open-Source或綠色軟體的 團長我不敢當,你比我厲害的呢 我只是拿一張紙騙吃騙喝而已 對了,你對perl熟嗎? |
|
__________________ |
||
送花文章: 11706,
|
2006-11-09, 01:45 PM | #6 (permalink) | |
長老會員
|
引用:
副修霸王硬上弓,沒想到他最擅長的竟然是這些, Chin-Wei 大,真的是對你刮目相看啊! 佩服佩服啊,完全是我不懂的領域 |
|
__________________ 貴在中和,不爭之爭 2011-中華民國建國百年跨年慶典(精研完整版) 臺灣 我們的母親 臺灣 我們居住的家園 臺灣 我們心目中永遠的第一 相聚在這塊土地上,珍惜這裡的一切 |
||
送花文章: 13209,
|
向 NiGHTsC 送花的會員:
|
Chin-Wei (2006-11-09)
感謝您發表一篇好文章 |
2006-11-09, 03:37 PM | #7 (permalink) | ||
長老會員
|
引用:
您過獎了^^ 其實偶只會騙吃騙喝... 引用:
這確實是偶最善長的事情喔 (蘿莉萬歲 ^///^) 只可情目前還找不到練習霸王硬上弓絕技的好時機.... (NiGHTsC 要替代一下嗎 ) |
||
送花文章: 5387,
|