1. Giới thiệu
Snort là phần mềm IDS mã nguồn mở có khả năng phát hiện, chống xâm nhập trái phép. Các packet trước khi được gửi đến máy tính đích sẽ được Snort kiểm tra. thẩm định. Snort có thể phát hiện nhiều loại xâm nhập như: buffer overflows, stealth port scans, CGI attacks, SMB probes, OS fingerprinting attempts…
Snort sử dụng các luật được lưu trữ trong các file text, có thể được chỉnh sửa bởi người quản trị. Các luật được nhóm thành các kiểu. Các luật thuộc về mỗi loại được lưu trong các file khác nhau. File cấu hình chính của Snort là snort.conf. Snort đọc những luật này vào lúc khởi tạo và xây dựng cấu trúc dữ liệu để cung cấp các luật để bắt giữ dữ liệu.
2. Các bước triển khai Snort trên Windows Server 2003
a. Chuẩn bị trước khi cài đặt.
Dưới đây là các gói phần mềm cần thiết khi cài đặt một hệ thống Snort trên Windows Server 2003.
- Snort: Hệ thống phát hiện xâm nhập.
- WinPcap: Hệ thống cho phép bắt các gói tin và phân tích mạng.
- MySQL: Lưu trữ các cảnh báo của Snort.
- Snort Rules: Bộ luật mẫu của Snort.
Có thể download tất cả các gói trên tại địa chỉ http://www.fshare.vn/folder/FNEOP9FM2U.
Download tất cả các gói phần mềm về và lưu vào trong một thư mục bỏ ngoài Desktop, với tên là Temp.
b. Tiến hành cài đặt
Trong bài này, mình triển khai hệ thống trên Win ảo với VMware Workstation, mô hình bài lap có 2 máy: Máy Server 2003 được cài đặt hệ thống Sort và máy Clinet XP, vai trò tấn công máy Server, card mạng của VMware ở 2 máy ở chế chộ VNet8 (NAT), địa chỉ IP được cấp phát động và được kết nối Internet.
Bước 1: Cài đặt WinPcap
Vào thư mục Temp ngoài Desktop, double click vào file WinPcap v4.1.2 và lần lượt thực hiện Next -> Next -> I Agree -> Install -> Finish.
Bước 2: Cài đặt và cấu hình Snort
- Tại thư mục Temp ngoài Desktop, double click vào file Snort_2_8_5_2_Installer để cài đặt. Lần lượt thực hiện I Agree -> Next -> Next -> Next -> Close -> OK.
- Giải nén file snortrules-snapshot-CURRENT.tar và copy tất cả nội dung trong đó vào thư mục cài đặt Snort: C:\Snort, chọn Yes to All để copy đè.
- Truy cập vào thư mục là C:\Snort\etc\ và mở file snort.conf bằng Wordpad.
- Thực hiện tìm kiếm và thay đổi những nội dung sau:
- var HOME_NET any —> var HOME_NET 192.168.255.0/24
- var EXTERNAL_NET any —> var EXTERNAL_NET !$HOME_NET
- var RULE_PATH …/rules —> var RULE_PATH c:\snort\rules
- var PREPROC_RULE_PATH ../
—> var PREPROC_RULE_PATH c:\snort\preproc_rules - dynamicpreprocessor directory /usr/local/lib/snort_dynamicpreprocessor/
—> dynamicpreprocessor directory c:\snort\lib\snort_dynamicpreprocessor - dynamicengine /usr/local/lib/snort_dynamicengine/libsf_engine.so
—> dynamicengine c:\snort\lib\snort_dynamicengine\sf_engine.dll - # dynamicpreprocessor file <full path to libsf_ftptelnet_prepro.so>
—> dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_ftptelnet.dll - # dynamicpreprocessor file <full path to libsf_ftptelnet_prepro.so>
—> dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_smtp.dll - # preprocessor sfportscan: proto { all } \
# memcap { 10000000 } \
# sense_level { low }
—> preprocessor sfportscan: proto { all } \
memcap { 10000000 } \
sense_level { low }\
logfile { portscan.log } - # dynamicpreprocessor file <full path to libsf_ssh_prepro.so>
—> dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_ssh.dll - # dynamicpreprocessor file <full path to libsf_dcerpc_prepro.so>
—> dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_dce2.dll - # dynamicpreprocessor file <full path to libsf_dns_prepro.so>
—> dynamicpreprocessor file c:\snort\lib\snort_dynamicpreprocessor\sf_dns.dll - Phía dưới dòng: # output log_tcpdump: tcpdump.log
Thêm dòng: output alert_fast: alert.ids - # output database: log, mysql, user=root password=test dbname=db
—> output database: log, mysql, user=snort password=123456 dbname=snort host=localhost sensor_name=WinIDS - include classification.config
—> include c:\snort\etc\classification.config - include reference.config
—> include c:\snort\etc\reference.config - # include $PREPROC_RULE_PATH/preprocessor.rules
—> include $PREPROC_RULE_PATH/preprocessor.rules - # include $PREPROC_RULE_PATH/decoder.rules
—>include $PREPROC_RULE_PATH/decoder.rules - # include threshold.conf
—> include c:\snort\etc\threshold.conf
Bước 3: Kiểm tra cài đặt Snort
- Mở của sổ DOS và gõ lệnh cd c:\snort\bin
- Tại dấu nhắt lệnh, gõ snort -W để xem số hiệu card mạng
Ở đây số hiệu card mạng là 1
- Xem kết quả bắt gói tin
Hiển thị IP và TCP/UDP/ICMP header: snort -v -i1 (với 1 là số hiệu card mạng)
Xem thông tin truyền của các ứng dụng: snort -vd -i1
Hiển thị thêm các header của gói tin tại tầng Data Link: snort -dev -i1
Bước 4: Cấu hình hệ thống dịch vụ Snort
- Tại dấu nhắt lệnh gõ: snort /SERVICE /INSTALL -c c:\snort\etc\snort.conf -l c:\snort\log -K ascii -i1
- Thực hiện tiếp lệnh: sc config snortsvc start= auto
- Khởi động lại Windows
- Sau khi khởi động lại Windows, vào Service để kiểm tra Snort được start thành công hay chưa
Bước 5: Cài đặt MySQL.
- Vào thư mục Temp ngoài Desktop, double click vào file mysql-5.5.13-win32.exe để bắt đầu quá trình cài đặt, thực hiện Next -> Chọn I accept the terms in the… -> Next -> Custom -> Next -> Install -> Next -> Next -> Finish -> Next -> Chọn Standard Configuration -> Next -> Chọn Include Bin Directory in Windows Path -> Next -> Bỏ chọn Modify Security Setting -> Next -> Execute -> Finish.
Bước 6: Tạo luật cảnh báo PING
- Vào thư mục C:\Snort\rules, mở file finger.rules, thêm luật phát hiện máy khác ping đến như sau:
alert icmp any any -> $HOME_NET any (msg: “Co may dang ping”; sid: 140791;)
- Thực hiện lệnh ping 192.168.255.130 -t từ máy Client đến Server
- Kết quả ở file log ở máy Server trong thư mục C:\Snort\log như sau:
Bước 7: Tạo luật cảnh báo PING với kích thướt lớn
- Thêm lệnh vào file icmp.rules
alert icmp $HOME_NET any -> any any (msg: “Size ping lon”; dsize: >50; sid: 2;) - Tạo lệnh ping ở máy Client như sau: ping -l 1000 -f google.com -t
- Start lại Snort
- Kết quả ở file log
Bước 8: Thiết lập cảnh báo truy cập Web
- Trong thư mục C:\Snort\rules ta tạo file youtube.com để biết một máy nào trong mạng truy cập vào website youtube.com với nội dung file:
alert tcp any any -> any any (content: “www.youtube.com”; msg: “Ban moi truy cap youtube.com”; sid: 100000; rev: 1;)
- Trong file snort.conf, thêm dòng: include $RULE_PATH/youtube.rules
- Start lại Snort
- Tại máy Client truy cập vào website youtube.com
- Kết quả file log ở máy Server
3. Kết luận
Như vậy chúng ta đã cài đặt xong hệ thống Snort trên Windows Server 2003, với hướng dẫn này bạn có thể cài đặt Snort một cách dễ dàng và có thể tự tạo thêm một số luật cơ bản để tạo cảnh báo cho hệ thống của mình.
Bài viết được giới hạn ở mức cài đặt, còn nhiều thiết sót, các bước làm còn chưa tối ưu, nhưng một phần cũng giúp để dễ dàng cài đặt.
Cảm ơn đã quan tâm, chúc sức khỏe và thành công!