6. Bố cục của luận văn
3.2.5. Triển khai thử nghiệm chống tấn công mạng
3.2.5.1. Cấu hình Snort
Ta tiến hành cài đặt snort trên môi trƣờng linux. Cụ thể ở đây là hệ điều hành CentOS 5.4
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Cài đặt Snort:
cd /usr/local/
tar –zxvf /Download/snort-2.9.2.1.tar.gz cd snort-2.9.2.1/
./configure --enable-dynamicplugin --with-mysql make && make install
mkdir /etc/snort mkdir /var/log/snort cd /etc/snort/ tar -zxvf /Download/snortrules-snapshot-2.9.2.1.tar.gz cp etc/* /etc/snort ln -s /usr/local/bin/snort /usr/sbin/snort cd /etc/snort/so_rules/precompiled/CentOS-5-4/i386/2.9.2.1/ cp * /usr/local/lib/snort_dynamicrules/ Cài đặt daq: tar zxvf daq-2.0.1.tar.gz cd daq-2.0.1
./configure && make && make install
Cài đặt barnyard
tar -zxvf /Download/barnyard2-1.8.tar.gz cd barnyard2-1.8/
./configure --with-mysql make && make istall
cp etc/barnyard2.conf /etc/snort/ mkdir /var/log/barnyard2
vim /etc/snort/barnyard2.conf
config hostname: localhost config interface: eth0
output database: alert, mysql, user=snort password=123456 dbname=snort host=localhost
touch /var/log/snort/barnyard.waldo
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
groupadd snort
useradd -g snort snort
chown snort:snort /var/log/snort
Khởi động service mysqld:
service mysqld start
Cấu hình database cho Snort:
mysql
set password for root@localhost=password('123'); create database snort;
grant create, insert, select, delete, update on snort.* to snort@localhost; set password for snort@localhost=password('123456');
exit
cd /usr/local/snort-2.9.2.1/schemas/ mysql -p < create_mysql snort
Kiểm tra CSDL của Snort:
mysql show databases; use snort; show tables; Cài đặt base: touch /var/log/snort/alert
chown snort:snort /var/log/snort/alert chmod 600 /var/log/snort/alert
cd /var/www/html
tar -zxvf /Download/adodb4991.gz tar -zxvf /Download/base-1.4.5.tar.gz chown apache base-1.4.5
chgrp apache base-1.4.5/ vim /etc/php.ini
Bỏ dấu “#”trên dòng #error_reporting = E_ALL & ~E_NOTICE và lƣu lại
service httpd restart
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Bƣớc 1: Điền đƣờng dẫn file adodb: /var/www/html/adodb , nhấn Continue
Bƣớc 2: Database Name = snort Database Host = localhost Database User = snort
Database Password = 123456, nhấn Continue Bƣớc 3: Tích vào “Use Authenication System” Admin User name = snort -> Password = 123456 Fullname = snort , nhấn Continue
Bƣớc 4: Nhấn “Create Base AG”
Quá trình cài đặt thành công nếu giao diện hiển thị các dòng successful… màu đỏ giao diện Base sau khi cấu hình xong và login:
Hình 3.18. Giao diện Base Tạo file black_list.rules và white_list.rules
touch /etc/snort/rules/ black_list.rules touch /etc/snort/rules/ white_list.rules
module tiền xử lý sfportscan: proto { all } scan_type { all } memcap { 10000000 } sense_level { low }
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ module tiền xử lý arpspoof
module tiền xử lý arpspoof_detect_host: 192.168.92.150 00:0C:29:09:E5:3A output unified2: filename snort.log, limit 128, nostamp, mpls_event_types, vlan_event_types
output database: log, mysql, user=snort password=123456 dbname=snort host=localhost
Khởi động barnyard2:
/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -G /etc/snort/etc/gen-msg.map -S /etc/snort/etc/sid-msg.map -d /var/log/snort/alert -f alert -w
/var/log/snort/barnyard.waldo
Khởi động Snort:
snort -c /etc/snort/etc/snort.conf -i eth0
3.2.5.2. Chương trình Snort
Ngoài những luật mặc định của snort nằm trong các file *.rules của thƣ mục/etc/snort/rules/, ngƣời dùng có thể thêm các luật vào trong các file trên nhằm tối ƣu hóa bộ luật. Thông thƣờng, nên thêm các luật vào file local.rules
Khởi động Snort với lệnh snort -c /etc/snort/etc/snort.conf -i eth0
* Thực nghiệm 1: Tiến hành ping từ máy ảo Back Track
Vào máy ảo CentOS bật trình duyệt vào địa chỉ http://localhost/base-1.4.5/ và tiến hành đăng nhập
Kiểm tra hoạt động của Snort với lệnh ping đơn giản, thêm luật
alert icmp any any -> !$HOME_NET any (msg:"pinging from other computer";sid:1000001;)
Kết quả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
* Thực nghiệm 2: Phát hiện truy cập web
Thêm luật
alert tcp 192.168.92.150 any -> any 80 (msg:"internet access alert";sid:1111110;)
Bật trình duyệt vào địa chỉ bất kì, chẳng hạn http://snort.org Vào địa chỉ http://localhost/base-1.4.5/ và tiến hành đăng nhập
Kết quả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
* Thực nghiệm 3: Phát hiện truy cập trang web với ip cụ thể
Ví dụ trang web cần theo dõi là http://www.vn-zoom.com/
Tiến hành ping tới trang web ta biết đƣợc ip của trang là 123.30.139.68 Thêm các luật
alert tcp 192.168.92.150 any ->123.30.139.68 (msg:"vn-zoom.com access";sid:1011019;)
Bật trình duyệt vào trang web http://www.vn-zoom.com/ Vào địa chỉ http://localhost/base-1.4.5/và tiến hành đăng nhập
Kết quả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
* Thực nghiệm 4: Phát hiện DDOS
Thêm luật
alert tcp any any -> 192.168.92.150 80 (msg:"DDoS detected";sid:11111111;) Từ máy ảo Back Track download tool DDOS Slowloris tại địa chỉ
http://ha.ckers.org/slowloris/slowloris.pl Thêm quyền thực thi cho file
chmod +x slowloris.pl
Tiến hành DDOS vào máy ảo CentOS
./slowloris.pl –dns 192.168.92.150
Hình 3.22. Tiến hành DDOS vào máy ảo Centos
Vào máy ảo CentOS bật trình duyệt, vào địa chỉ http://localhost/base-1.4.5/và tiến hành đăng nhập
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
Kết quả
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
* Thực nghiệm 5. Phát hiện portscan
Cụ thể ở đây là phát hiện kiểu portscan là NULL Thêm các luật
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"SCAN NULL"; flow:stateless;flags:0;sid:1000002;)
Từ máy ảo Back Track chạy công cụ nmap tiến hành scan các port đang bật trên máy ảo CentOS.
nmap –sN 192.168.92.150
Vào máy ảo CentOS bật trình duyệt, vào địa chỉ http://localhost/base-1.4.5/và tiến hành đăng nhập.
Kết quả
Hình 3.24. Phát hiện tấn công PORTSCAN * Ƣu điểm, nhƣợc điểm của Snort – IDS/IPS
- Ƣu điểm:
+ Hệ thống hoạt động theo kiểu nhận dạng mẫu gói tin (packet). Nó sẽ so sánh những gói tin trùng với gói tin mẫu tấn công mà nó có, nếu trùng khớp thì kết luận
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ đây là loại gói tin tấn công và hệ thống sẽ phát cảnh báo hoặc gởi tín hiệu tới tƣờng lửa để ngăn cản gói tin đi vào mạng bên trong.
+ Gửi tín hiệu đến tƣờng lửa để ngăn chặn tấn công. Trƣờng hợp này gọi là hệ thống phát hiện và phòng chống xâm nhập (IDS/IPS).
+ Chỉ đƣa ra cảnh báo cho ngƣời quản trị mạng: Hệ thống phát hiện xâm nhập trái phép (IDS).
+ Để phòng chống tấn công xâm nhập, có thể kết hợp hệ thống phát hiện với hệ thống tƣờng lửa để ngăn cản những gói tin tấn công đi vào mạng bên trong. Một trong những hệ thống tƣờng lửa đƣợc sử dụng phổ biến trong các phần mềm nguồn mở là Iptables. Có nhiều công cụ nguồn mở cho phép chuyển đổi các luật trong Snort thành các luật trong Iptables nhƣ Snort-inline, SnortSam, Fwsnort, …
* Nhƣợc điểm của Snort-IDS/IPS:
+ Nếu kiểu tấn công mới thì Snort - IDS/IPS không nhận biết đƣợc, nên phải cập nhật các luật (dấu hiệu tấn công) thƣờng xuyên giống nhƣ cập nhật virus.
+ Nếu hoạt động theo kiểu thông minh thì IDS theo dõi mạng xem có hiện tƣợng bất thƣờng hay không và phản ứng lại.
+ Nhiều trƣờng hợp bị báo động nhầm có nghĩa là không phải trƣờng hợp tấn công mà vẫn gây báo động.
3.3. Đánh giá kết quả thực nghiệm
Trong khuôn khổ luận văn ở các hình ảnh chụp là kết quả học viên đã thử nghiệm mô hình hoạt động trên hệ thống mạng có sử dụng một máy chủ Ubuntu cài Cacti và máy chủ CentOS cài Snort chạy các ứng dụng RDDTool, Mysql, Apache, PHP… và chạy dịch vụ quản trị hệ thống mạng dựa trên SNMP. 02 máy tính cài hệ điều hành WindowsXP và một thiết bị switch Planet, 01 router đóng vai trò là các thiết bị cần đƣợc giám sát.
* Phân tích quá trình hoạt động của Cacti
Quá trình hoạt động của mô hình dựa vào máy chủ cài đặt hệ điều hành Ubuntu và phần mềm Cacti sử dụng công cụ RRDTool để hoạt động, RRDTool đƣợc thiết kế với mục đích chung “khả năng lƣu dữ liệu hoạt động tốt và lập đồ họa cho toàn bộ hệ thống”. Về cơ bản, nếu ta cần giám sát một thiết bị nào đó trong một khoảng thời gian xác định, thì việc sử dụng RRDTool là sự lựa chọn hợp lý.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ Bản chất RRDTool không tự hoạt động độc lập đƣợc. Nó đóng vai trò là một phần mềm thu thập dữ liệu dạng nền (background) và RRDTool sử dụng để hiển thị các thiết bị đƣợc giám sát dƣới dạng đồ họa. Cacti chính là hệ thống ngoại vi kết hợp với RRDTool và sử dụng cơ sở dữ liệu MySQL để lƣu trữ thông tin RRDTool cần để tạo đồ thị. Cacti cho phép ngƣời dùng tạo nguồn dữ liệu (thông thƣờng là các kết nối SNMP để giám sát các thiết bị), thu thập dữ liệu từ những thiết bị này, cho phép ngƣời dùng nhóm các đồ họa lại giống nhƣ hệ thống, cho phép quản lý phân quyền cho ngƣời dùng đối với dữ liệu đang giám sát và rất nhiều tính năng khác. Cacti cung cấp cho ngƣời dùng nhiều khoảng thời gian để xem thông tin thu thập đƣợc. Trong các hình trên ta có thể biết đƣợc Cacti thực hiện rất tốt công việc hiển thị xu hƣớng thông tin dƣới dạng đồ thị, xem cách Cacti cho phép nhóm các đồ thị để giúp ngƣời quản trị theo dõi và quan sát hệ thống một cách tốt nhất.
* Phân tích quá trình hoạt động của Snort
Khi sử dụng Snort, hệ thống hoàn toàn có thể phát hiện ra các cuộc tấn công nhằm vào hệ thống mạng. Đƣa ra những cảnh báo kịp thời tới ngƣời dùng và ngƣời quản trị hệ thống.
Snort có thể đƣợc cấu hình để chạy ở các chế độ sau:
Sniffer (snort –v): Lắng nghe gói tin trên mạng, sau đó giải mã và hiển thị chúng lên màn hình console.
Packet Logger (snort –l /var/log/snort): Gói tin sau khi giải mã đƣợc ghi log vào tập tin có cấu trúc binary hay ASCII.
Network Intrusion Detection System (NIDS) (snort –c /etc/snort/snort.conf –I eth0): Snort áp dụng các rule vào tất cả các gói tin bắt đƣợc. Sau đó so khớp và đƣa ra những hành động tƣơng ứng.
Inline: Nhận các gói tin từ iptables, sau đó so khớp với rule và thông báo cho iptables xử lý các gói tin đó (cho phép hoặc bỏ).
3.4. Kết quả thử nghiệm đạt đƣợc.
- Xác định nhanh nguyên nhân sự cố trong mạng trƣờng một cách nhanh chóng và dễ dàng. Giảm thiểu công sức tìm kiếm, di chuyển của nhân viên quản trị mạng. Ngƣời quản trị có thể ngồi ở bất kỳ máy trạm nào trên hệ thống mạng cũng có thể kiểm tra phát hiện đƣợc sự cố trên hệ thống mạng.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/ - Thiết lập đƣợc trật tự logic địa chỉ IP cho toàn bộ hệ thống máy tính trong mạng.
- Giám sát, can thiệp đƣợc lƣu lƣợng dữ liệu truyền qua các thiết bị nhƣ: router, Switch, CPU, nhiệt độ, HDD…
- Là mã nguồn mở nên hạn chế việc lây lan virus trên mạng. - Cảnh báo những sự cố trong hệ thống.
- Cài đặt và cấu hình một hệ thống giám sát, chống tấn công mạng mã nguồn mở Cacti và Snort.
- Xác định các xu hƣớng xảy ra trong tƣơng lai. Tối ƣu hóa và định mức đầu tƣ đúng lúc, đúng chỗ tiết kiệm đƣợc chi phí đầu tƣ vào phần mềm và cơ sở hạ tầng của hệ thống mạng.
Mô hình quản trị mạng SNMP dựa trên nền tảng quản trị web Cacti và Snort đã đƣợc xây dựng và chạy thử nghiệm trên mô hình thử nghiệm tại trƣờng Cao đẳng Nông Lâm Thanh Hóa trong hệ thống thử nghiệm và giám sát 01 Switch, 01 router truy cập Internet. Hệ thống hiện đang hoạt động tốt giúp cho ngƣời quản trị khắc phục đƣợc những sự cố nhƣ: quá tải băng thông, nguy cơ mất an toàn tại một nút nào đó… từ đó đƣa ra đề xuất và hƣớng khắc phục kịp thời.
Nhƣ vậy, qua một số hình ảnh chụp từ màn hình giao diện công cụ giám sát, chống tấn công mạng dựa trên nền tảng web của Cacti và Snort, chúng ta thấy Cacti và Snort đã giám sát, phát hiện và chống xâm nhập hầu hết các sự kiện, các thông số về mạng trong các thiết bị cần giám sát một cách hiệu quả đƣợc hiển thị qua các biểu đồ và báo cáo cụ thể.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN
Thông qua quá trình tìm hiểu và nghiên cứu, em đã rút ra một số nhận xét nhƣ sau: Hệ thống giám sát, chống tấn công mạng nói chung và ứng dụng giám sát, phát hiện xâm nhập Cacti, Snort nói riêng đóng vai trò không kém phần quan trọng trong vấn đề đảm bảo an ninh cho các hệ thống máy tính. Cacti, Snort giúp chúng ta khám phá, phân tích một nguy cơ tấn công mới. Từ đó, ta có thể tìm đƣợc thủ phạm gây ra một cuộc tấn công.
* Ƣu điểm và hạn chế của luận văn
Do còn nhiểu mặt hạn chế nên so với thực tế thì luận văn mới chỉ dừng ở mức tìm hiểu các khái niệm, nắm bắt đƣợc phƣơng thức giám sát của Cacti, cơ chế viết luật cho Snort và nghiên cứu về công nghệ giám sát, phát hiện xâm nhập của Cacti và Snort. Luận văn mới triển khai thử nghiệm các phƣơng thức giám sát của Cacti, chế độ làm việc của Snort và cũng đã thành công trên hệ thống máy ảo Vmware.
Với đề tài này bƣớc đầu đã tạo cho ngƣời dùng có những hiểu biết cơ bản về hệ thống Linux và đặc biệt là ứng dụng giám sát, chống tấn công mạng của Cacti và Snort. Qua đó ngƣời dùng có thể đi sâu hơn vào triển khai những tính năng nâng cao của Cacti và Snort.
Bên cạnh những công việc đã làm đƣợc thì đề tài còn một số hạn chế nhƣ: đề tài triển khai một cách khái quát, chƣa đi vào cụ thể, chƣa có tài liệu chi tiết cho ngƣời dùng hệ thống cũng nhƣ chƣa triển khai đƣợc các phần mềm đi kèm. Hệ thống xây dựng mới chủ yếu phát hiện ra đƣợc dấu hiệu của các cuộc tấn công mà chƣa đáp ứng đƣợc hết các response khi có tấn công xảy ra. Việc cần làm là sử dụng thêm các phần mềm mã nguồn mở khác để việc kiểm soát an ninh thông tin một cách chặt chẽ và toàn diện hơn.
* Hƣớng phát triển tiếp theo của luận văn:
Sau khi nhìn nhận lại các vấn đề còn tồn tại của đề tài, em có định hƣớng phát triển cho đề tài nhƣ sau:
- Tiến hành đƣa đề tài vào triển khai thực tế
- Nghiên cứu tích hợp các công cụ để xây dựng đƣợc một hệ thống hoàn thiện phục vụ cho quản trị mạng của cơ quan công tác, để hệ thống hoàn thiện và ổn định hơn.
Số hóa bởi Trung tâm Học liệu - ĐHTN http://www.lrc-tnu.edu.vn/
TÀI LIỆU THAM KHẢO - Tiếng Việt
[1] Diệp Thanh Nguyên (2010), SNMP toàn tập. NXB Khoa học kỹ thuật.
[2] Nguyễn Thành Cƣơng, Mai Nhƣ Thành (2002), hướng dẫn thiết lập và quản trị mạng, NXB Thống kê.
- Tiếng Anh
[3] Douglas R.Mauro, Kevin J.Scbmidt, (2005) Essential SNMP, 2nd Edition, Publisher: O’Reill, Pub Date.
[4] Rafeeq Ur Rehman, (2003) Intrusion Detection with Snort Advance IDS Techniques Using Snort, Apache, MySQL, PHP, and ACID, Prentice Hall PTR
Publishing.
[5] Jay Beale and Snort Development Team, (2007) Snort 2.1 Intrusion Detection, Syngress Publishing.
- Internet
[6] http://Cacti.net