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
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
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:
B2. Mount dvd vào thư mục:
B3. Import key PGP:
B4. Cài đặt yum với 4 gói sau đây:
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
Giải nén snort
Lần lượt thực hiện các sau để cài đặt snort
#Make
#make install
2.1. Cấu hình Snort
- 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
Chép các file cấu hình
Tạo nhóm & người dùng cho Snort
Set quyền sở hữu và cho phép Snort ghi log vào thư mục chứa log
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
3.1. Cấu hình Snort
File cấu hình /etc/snort/snort.conf
- Sửa dòng 46
- Sửa dòng 49
Sửa dòng:
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
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)
- Đặt quyền lại cho file Snortd
- Để khởi động snort ở chế độ debug nếu bạn muốn kiểm tra lỗi
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
Trước tiên ta cần set password cho root trong MySQL.
Tạo password cho tài khoản snort.
Tạo CSDL cho snort.
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)
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.
Cài đặt ADODB
Tải ADODB tại: http://nchc.dl.sourceforge.net/sourceforge/adodb/
Cài BASE
Tải BASE tại: http://nchc.dl.sourceforge.net/sourceforge/secureideas/base-1.4.2.tar.gz
Sửa các dòng sau:
Save lại
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
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 restart6. Kiểm tra
#service httpd restart
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