You are on page 1of 19

ATHENA.EDU.

VN
V

V V

• •• • •

GIҦNGVIÊN : TRҪN ĐĂNG KHOA

HӐCVIÊN : NGUYӈN TIӂN THANH

Page |~
ATHENA.EDU.VN
V

Page |J
ATHENA.EDU.VN
V

6
 

Mô hình gӗm 1 máy chӫ centos cài đһt Apache, MySQL, Snort BASE + ACID, các gói hӛ trӧ
cho snort như Barnyard, và Oinkmaster. Ngòai ra còn cҫn cài đһt thêm gói GSM đӇ hӛ trӧ kӃt
nӕi đӗng bӝ hóa vӟi thiӃt bӏ gӱi tin nhҳn.

Như mô hình trên, khi có dҩu hiӋu bӏ tҩn công. Sensor machine sӁ updatelog xuӕng Database
hӋ thӕng sӁ alert qua BASE và ACID, và sӁ gӱi tin SMS.

Page |a
ATHENA.EDU.VN
V

1. Mô hình hӑat đông chi tiӃt:

Theo mô hình trên, các kiӃn trúc ӣ trên hӋ thӕng sӁ chӍ cho ta thҩy làm thӃ nào đӇ kӃt hӧp tҩt
cҧ các phҫn mӅm hӛ trӧ đӇ xây dӵng toàn bӝ IDS.

Mô hình gӗm các unauthorized people, hӋ thӕng SnortSms và Administrator. Các unauthorized
people sӁ tҩn công xâm nhұp vào hӋ thӕng. Sensor cӫa hӋ thӕng ³snort´ sӁ đưӧc đһt 1
schedule đӇ kiӇm tra log hӋ thӕng. NӃu nó đưӧc tìm thҩy bҩt kǤ dҩu hiӋu cӫa sӵ xâm nhұp vào
hӋ thӕng, nó sӁ gӱi tin nhҳn SMS đӃn Administrators rҵng hӋ thӕng cӫa bҥn đang bӏ xâm nhұp.

66     • •• ! 


1. Cài đһt snort-base:
a. Cài đһt Snort

Cài các gói yêu cҫu sau:

Chúng ta dùng lênh yum đӋ cài đһt tҩt cҧ các gói trên.

Cài đһt snort

Page |ß
ATHENA.EDU.VN
V

chép snort vào /snort

cd /snort

Giҧi nén snort

tar -zxvf snort-2.8.4.1.tar.gz

cd snort-2.8.4.1

- Lҫn lưӧt thӵc hiӋn các sau đӇ cài đһt snort

#./configure --with-mysql --enable-dynamicplugin

Page |}
ATHENA.EDU.VN
V

#Make

#Make Install

Cҩu hình snort

Tҥo thư mөc hӑat đӝng cho snort

mkdir /etc/snort

mkdir /etc/snort/rules

mkdir /var/log/snort

Page |
ATHENA.EDU.VN
V

Di chuyӇn vào thư mөc vӯa giҧi nén snort khi nãy. Di chuyӇn tiӃp vào thư mөc etc nҵm
trong thư mөc snort. Chép tòan bӝ file vào thư mөc /etc/snort vӯa tҥo khi nãy.
cd /etc
cp * /etc/snort
Tҥo nhóm & ngưӡi dùng cho snort
groupadd snort
useradd -g snort snort -s /sbin/nologin # user snort sӁ không có quyӅn log vào hӋ
thӕng.
Set quyӅn sӣ hӳu và cho phép Snort ghi log vào thư mөc chӭa log
chown snort:snort /var/log/snort/
Cài đһt tұp rule cho SNORT
tҧi rule mӟi nhҩt tӯ http://www.snort.org

- Giҧi nén
tar -xzvf snortrules-snapshot-2.8.tar.gz
cd rules
cp * /etc/snort/rules

Cҩu hình snort


File cҩu hình /etc/snort/snort.conf

- Sӱa dòng 46
var HOME_NET 192.168.1.0/24
- Sӱa dòng 49
var EXTERNAL_NET !$HOME_NET
-Sӱa dòng:
110: var RULE_PATH /etc/snort/rules
688: output database: log, mysql, user=snort password=123456 dbname=snort
host=localhost
Save lҥi

ThiӃt Lұp Snort khӣi đӝng cùng hӋ thӕng:


Tҥo mӝt liên kӃt mӅm (symbolic link) cӫa file snort binary đӃn /usr/sbin/snort
ln -s /usr/local/bin/snort /usr/sbin/snort
Snort cung cҩp các scrip đӇ khӣi đӝng trong thư mөc rpm/ ; (thư mөc giҧi nén snort)

Page |L
ATHENA.EDU.VN
V

cp /snort/snort-2.8.4.1/rpm/snortd /etc/init.d/
cp /snort/snort-2.8.4.1/rpm/snort.sysconfig /etc/sysconfig/snort

Đһt quyӅn lҥi cho file snortd :


chmod 755 /etc/init.d/snortd
chkconfig snortd on
service snortd start

ĐӇ khӣi đӝng snort ӣ chӃ đӝ debug nӃu bҥn muӕn kiӇm tra lӛi:
/snort/snort-2.8.4.1/src/snort -u snort -g snort -d -c /etc/snort/snort.conf

Quҧn lý snort bҵng webmin:


(bưӟc này có thӇ bӓ qua làm tiӃp phҫn 4)
- Cài webmin

Log vào Webmin, chӑn chӭc năng Webmin Modules, import thêm Snort module vào
Webmin:

Tích hӧp snort vào webmin:


chép snort-1.1.wbm vào thư mөc giҧi nén snort
http:/localhost:10000
Webmin, chӑn Webmin Configuration, Webmin Modules, From uploaded file,
chӍ đӃn thư mөc chӭa snort-1.1.wbm
tiӃn hành cài đһt

Page |Ù
ATHENA.EDU.VN
V

Tҥo CSDL snort vӟi MySQL


#service mysqld start
Trưӟc tiên ta cҫn set password cho root trong MySQL.
#mysqladmin -u root password 123456
#mysql -p

Tҥo password cho tài khoҧn snort.

mysql> use mysql;


mysql> CREATE USER 'snort'@'localhost' IDENTIFIED BY '123456';

Tҥo CSDL cho snort.


mysql> create database snort;

Page |2
ATHENA.EDU.VN
V

mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON snort.* to


snort@localhost;
mysql> flush privileges;
mysql> exit
Tҥo các table tӯ /snort/snort-2.8.4.1/schemas/create_mysql cho database snort (thư
mөc gҧi nén snort)
mysql -u root -p < /snort/snort-2.8.4.1/schemas/create_mysql snort
mysql -p
show databases;
use snort;
show tables;
Quan sát các tables

Cài đһt BASE và ADODB

Web server và PHP đã cài đһt sҹn ta cҫn cài thêm vài gói pear cho PHP.
cd snort/snort-2.8.4.1
pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman
; (máy phҧi online)

Cài đ͏t ADODB


Tҧi ADODB tҥi: http://nchc.dl.sourceforge.net/sourceforge/adodb/
cp adodb480.tgz /var/www/html/
cd /var/www/html/
tar -xzvf adodb480.tgz

Cài BASE

Tҧi BASE tҥi: http://nchc.dl.sourceforge.net/sourceforge/secureideas/base-1.4.2.tar.gz


#cp /snort/base-1.4.4.tar.gz /var/www/html/
#tar -zxvf base-1.4.4.tar.gz

#mv base-1.4.4/ base/


#cd base
#cp base_conf.php.dist base_conf.php

P a g e | ~"
ATHENA.EDU.VN
V

#vi base_conf.php
Sӱa các dòng sau:
57 $BASE_urlpath = '/base';
79 $DBlib_path = '/var/www/html/adodb';
101 $alert_dbname = 'snort';
105 $alert_password = '123456';
108 $archive_exists = 1; # Set this to 1 if you have an archive DB
109 $archive_dbname = 'snort';
112 $archive_user = 'snort';
113 $archive_password = '123456';
355 $external_whois_link = 'index.php';
382 $external_dns_link = 'index.php';
385 $external_all_link = 'index.php';
Save lҥi
#service snortd restart
#service httpd restart

P a g e | ~~
ATHENA.EDU.VN
V

2. Cài đһt SNORt-ACID


Bây giӡ BASE đã đưӧc cài đһt, ta tiӃp tөc cài thêm gói AICD cho snort
Download mã nguӗn:
  
          
 
  
          
 

Giҧi nén và đһt acid vào thư mөc con cӫa httpd DocumentRoot:
# cp acid-0.9.6b21.tar.gz /var/www/html
# tar -zxvf acid-0.9.6b21.tar.gz
# cp phplot-4.4.6.tar.gz /var/www/html
# tar -zxvf phplot-4.4.6.tar.gz
KiӇm tra xem php có đưӧc cҩu hình đúng vӟi gd không:
http://locolhost/phplot-4.4.6/examples/test_setup.php
NӃu không xem đưӧc các biӇu đӗ ví dө, bҥn phҧi xem lҥi php có đưӧc biên dӏch vӟi
thư viӋn gd và đã bұt hӛ trӧ gd trong /etc/php.ini chưa (extension=gd.so).

Tҥo bҧng dӳ liӋu đӇ lưu trӳ các alert dành riêng cho acid:
# mysql -u root -p
mysql> create database snort_archive;
mysql> grant INSERT,SELECT,UPDATE, DELETE on snort_archive.* to
snort@localhost identified by '123456';
mysql> exit
# mysql snort -u root -p < create_acid_tbls_mysql.sql
Cҩu hình các thông sӕ cҫn thiӃt cho acid trong file acid_conf.php

P a g e | ~J
ATHENA.EDU.VN
V

$ChartLib_path = "../phplot-4.4.6"; // tuǤ chӑn, nӃu php hӛ trӧ gd


/* File format of charts ('png', 'jpeg', 'gif') */
$chart_file_format = "png";

Hoàn tҩt quá trình cài đһt và bҳt đҫu sӱ dөng acid đӇ theo dõi các hoҥt đӝng trên mҥng
đưӧc snort phát hiӋn:   
 


3. Cài đһt kӃt nӕi vӟi thiӃt bӏ gӱi tin nhҳn SMS

Cài đһt gói gsm và các gói phө thuӝc hӛ trӧ kӃt nӕi vӟi thiӋt bӏ di đông bҵng lӋnh yum
#yum ±I install gsm*
Sau khi hòan tҩt quá trình cài đһt kiêm tra xem đã cài đһt hòan tҩt hay chưa
#rpm ±qa |grep gsm

Ok gsm và các gói phө thuӝc đã đưӧc cài đһt, chúng ta tiӃn hành cҩu hình đӇ có thӇ
kӃt nӕi đӃn thiӃt bӏ di đӝng.
#cp usr/share/doc/gammu-1.11.0/examples/config/gammurc /etc
#nano /etc/gammurc
Cҩu hình như sau:

P a g e | ~a
ATHENA.EDU.VN
V

Chúng ta tiӃn hành kӃt nӕi vӟi thiӋt bi di đӝng qua cәng COM/USB
KiӇm tra đã kӃt nӕi thành công hay chưa
#wvdialconf /etc/wvdial.conf

Ok, chúng ta đã kӃt nôi thành công đӃn thiӋt bӏ di đông,bây giӡ chúng ta đã có thӇ tiӃn
hành gӱi tin nhҳn sms bҵng command.
#echo "sms alert test" | gammu --sendsms TEXT +1884371028

Ok tin nhҳn sms chúng ta đã gӱi thành công.

BARNYARD and OINKMASTER


Now chúng ta có thӇ cài thêm 2 gói Barnyard, và Oinkmaster đӇ hӛ trӧ cho snort ( co
thӇ không cҫn cài).
Barnyard là mӝt hӋ thӕng đҫu ra cho Snort. Snort tҥo ra mӝt đӏnh dҥng đҫu ra đһc biӋt
nhӏ phân đưӧc gӑi là `` thӕng nhҩt''Barnyard lҫn đӑc tұp tin này., Và sau đó resends

P a g e | ~ß
ATHENA.EDU.VN
V

các dӳ liӋu vào cơ sӣ dӳ liӋu back-end. Không giӕng như các plugin sҧn lưӧng cơ sӣ
dӳ liӋu, Barnyard quҧn lý viӋc gӱi các sӵ kiӋn đӇ các cơ sӣ dӳ liӋu và lưu giӳ chúng
khi cơ sӣ dӳ liӋu tҥm thӡi không thӇ chҩp nhұn các kӃt nӕi.Giúp tҷng đӝ performance
cho snort.
Download:       


Oinkmaster, các bҥn có thӇ tham khҧo thêm tҥi  

   
Download :  
    

Ok chúng ta đã bulid gҫn xong hӋ thӕng,nhӳng gì chúng ta cҫn làm còn lҥi là lam sao
khi snort update log và database thì hӋ thӕng tӵ đӝng sӁ gӱi tin nhҳn SMS Ú.
4. Cài đһt site quҧn lý
Bây giӡ chúng ta sӁ làm điӅu đó.
Fist chúng ta cҫn download bӝ source php tӯ đӏa chì:
       
    
  

Cúng ta sӁ giҧi nén gói vӯa down vӅ vào thư mөc con cӫa httpd DocumentRoot:
#cp source.tar.gz /var/www/html/
#tar ±xzvf source.tar.gz
Đây là gói hӛ trӧ đӇ lưu phone book và cүp nhұt sӵ thay đәi CSDL,log cӫa snort
Ú,trong gói này còn hӛ trӧ 1 sӕ tool và snort-base nҵm trong thư mөc base( các bҥn có
thӇ cҩu hình lҥi như cҩu hình snort-base o trên hoһc không) .
Chúng ta tiӃn hành config.
Tҥo database
#mysql ±u root ±p
mysql> use mysql;
mysql> CREATEVERV    
 V!"ENT!#!E"V$%V&'()*
mysql> create database thesis;
mysql> GRANT CREATE, INSERT, SELECT, DELETE, UPDATE ON snort.* to
sms@localhost;
mysql> flush privileges;
mysql>exit
mysql ±u root ±p < /var/www/html/source/database.sql

tiӃn hành cҩu hình:


# gedit /var/www/html/source/db.php

P a g e | ~}
ATHENA.EDU.VN
V

Bây giӡ ta có thӇ truy cұp vào trang quҧn lý phonebook qua:
  
   +  
Lưu ý các bҥn vào database thesis điӅu chӍnh lҥi password trong table User đӇ đăng
nhұp.

P a g e | ~
ATHENA.EDU.VN
V

Phone book đӇ lưu thông tin mà hӋ thӕng sӁ gӱi sms đӃn

User setting:

P a g e | ~L
ATHENA.EDU.VN
V

5. TiӃn hành cҩu hình lҥi crontab

gedit /etc/crontab;

Crontab đһt schedule chay script php đӇ cұp nhұt log.nӃu log có thay đәi sӁ tӵ đӝng
gӱi sms cho sӕ điӋn thӑai lưu trong phone book.
Restart lҥi crond
#service crond restart.

P a g e | ~Ù
ATHENA.EDU.VN
V

Config lai file kirimsms.php


#gedit /var/www/html/source/kirimsms.php
$db_hostname="localhost"; //hostname
$db_username="snort"; //username mysql
$db_password="123456"; //password mysql
$db_name="snort"; //nama database

///////////////////////////////////
$db_hostname2="localhost";//hostname
$db_username2="sms"; //username mysql
$db_password2="123456"; //password mysql
$db_name2="thesis"; //name database
//////////////////////////////////

Ok,chúng ta đã build xong hӋ thӕng snort alert qua sms


Giӡ chúng ta sӁ cài nmap vào máy client và tiӃn hành scan mày snort,
Snort sӁ alert qua base, acid,và ghi log xuӕng database. HӋ thӕng đã tӵ đӝng gӱi tin
nhҳn sms cҧnh báo Ú.

P a g e | ~2