Thứ Bảy, 27 tháng 8, 2011

Triển khai Snort trên CentOS

Snort là một dạng IDS (Instruction Detection System). IDS làm nhiệm vụ giám sát những packet vào ra hệ thống mạng. 

Khi Snort phát hiện một cuộc tấn công thì nó có thể phản ứng bằng nhiều cách khác nhau tùy thuộc vào cấu hình mà người quản trị mạng thiết lập, chẳng hạn như nó có thể gởi thông điệp cảnh báo đến nhà quản trị hay loại bỏ gói tin khi phát hiện có sự bất thường trong các gói tin đó.

Snort hoạt động dựa trên các Rule xây dựng sẵn và phải được cập nhật thường xuyên. Mỗi Rule đại diện cho một cuộc tấn công. Khi có một packet đến hệ thống nó sẽ được áp vào tập luật, nếu có so sánh trùng khớp Snort sẽ phản ứng.

VD: 1 Rule có dạng như sau

alert tcp !192.168.1.0/24 any -> 192.168.1.0/24 111 (content: "|00 01 86 a5|"; msg: "external mountd access";)

Phần đầu của Rule: Mô tả cách hành động như là Alert, giao thức (TCP) và địa chỉ IP nguồn/đích cũng như thông tin về Port. Phần này gọi là Rule Header

Phần còn lại của Rule: Được biết như Rule Option, chứa thông điệp báo động và thông tin sẽ được Snort sử dụng để kiểm tra xem liệu luật đó có phù hợp với gói tin hay không.

I. Mô hình giả lập

- Snort Server: Cài phần mềm Snort (download Snort: http://www.snort.org/snort-rules/).

- Windows Server 2K3: Sử dụng phần mềm Nmap tiến hành quét port trên máy snort (download Nmap: http://nmap.org/).


II. Cài đặt Snort

1. Cài các gói yêu cầu sau 

Lần lượt cài các gói phụ thuộc:

- mysql
- mysql-bench
- mysql-server
- mysql-devel
- yum-utils
- php-mysql
- httpd
- gcc
- pcre-devel
- php-gd
- gd
- distcache-devel
- mod_ssl
- glib2-devel
- gcc-c++
- libpcap-devel
- php
- php-pear

Trường hợp các hàm thư viện và các gói phần mềm cần thiết chưa được cài bạn có thể thực hiệc các bước sau cho nhanh:

B1. Tạo thư mục trong root:

mkdir media/CentOS

B2. Mount dvd vào thư mục:

mount dev/cdrom /media/CentOS

B3. Import key PGP:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

B4. Cài đặt yum với 4 gói sau đây:

yum --disablerepo=\* --enablerepo=c5-media groupinstall "Development Tools"
yum --disablerepo=\* --enablerepo=c5-media groupinstall "Development Libraries"
yum --disablerepo=\* --enablerepo=c5-media groupinstall "MySQL Database"

Sau đó kiểm tra nếu thiếu gói nào thì cài thêm gói đó

2. Cài đặt Snort

Chép snort vào /snort

cd /soft

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


#Make


#make install


2.1. Cấu hình Snort 

Tạo các thư mục hoạt động cho Snort

mkdir /etc/snort
mkdir /etc/snort/rules
mkdir /var/log/snort

Chép các file cấu hình

cd etc/
cp * /etc/snort

Tạo nhóm & người dùng cho Snort

groupadd snort
useradd -g snort snort -s /sbin/nologin

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/

3. Cài đặt tập Rule cho SNORT

- Tải rule mới nhất từ: http://www.snort.org/snort-rules/

- Giải nén

tar -xzvf snortrules-snapshot-2.8.tar.gz
cd rules
cp * /etc/snort/rules

3.1. Cấu hình Snort

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

- Sửa dòng 46

var HOME_NET 192.168.9.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)

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:

B1. Chép snort-1.1.wbm vào thư mục bung Snort

B2. http:/localhost:10000

B3. 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




4. 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;
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

5. 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
#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
6. Kiểm tra

Tại máy win2k3 chạy Nmap, nhập địa chỉ máy Linux 192.168.1.10 để tiến hành do thám


Mở IE truy cập Snort: 192.168.1.10/base

Cửa sổ hiện thị thông tin tóm tắt về các cảnh báo mà Snort bắt được


Chọn Most recent 15 Unique Alerts xem 15 cảnh báo gần đây nhất.


Chọn Most frequent 5 Unique Alerts: xem thông tin về 5 cảnh báo xảy ra nhiều nhất


Source addres: Số lượng host tham gia cuộc tấn công

Trong trường hợp này là 1, chọn số 1


- Src IP address: địa chỉ máy thực hiệc cuộc do thám 192.168.1.2



Editor: Vương L. Kiều (Baomathethong.blogspot.com)
Author: Đỗ Quang Ngọc
Source: Nhatnghe.com

Không có nhận xét nào:

Đăng nhận xét