L ỜI NÓI ĐẦU
3.3.1 Các thông tin cấu hình cơ bả n
Thông tin về vị trí vật lý của IDS
IDS gồm có 2 network interface, hiện đang được cắm như sau: + eth0 cắm vào port thuộc Vlan40, dùng để quản trị
+ eth1 cắm vào port 20, để sniff các traffic từ DMZ
Thông tin về hệđiều hành Debian
- Account quản trị: root/root - Eth0 interface + IP: 192.168.40.12/24 + Netmask: 255.255.255.0 + Network: 192.168.40.0/24 + Broadcast: 192.168.40.255 + Gateway: 192.168.40.1 + DNS: 208. 67. 222. 222 (Open DNS server) - Các phần mềm đã cài đặt: + Iptables / Shorewall
+ Snort 2. 7 + MySQL Server + PHP 4. 4. 4-8+etch4 + Apache-ssl 1. 3. 34
+ Basic Analysis and Security Engine 1. 3. 6 + Oinkmaster 2. 0
+ Webmin
+ SNMP server (sử dụng cho Monitor server) - Các dịch vụđang mở: + 22/tcp ssh + 443/tcp https (BASE) + 3306/tcp mysql + 10000/tcp https (WENMIN) + 161/udp snmp 3.3.2 Hướng dẫn sử dụng SNORT
- File cấu hình: /etc/snort/snort. conf - Thư mục chứa tập luật: /etc/snort/rules/ - File log: /var/log/snort/alert
Kích hoạt hoặc huỷ tiến trình
- Để kích hoạt SNORT, gõ lệnh: # /etc/init. d/snort start
Hoặc
# /sbin/ifconfig eth1 up
# /usr/local/bin/snort -Dq -u snort -g snort -i eth1 -c /etc/snort/snort. conf -l /var/log/snort
- Để huỷ tiến trình SNORT, gõ lệnh: # pkill snort
File cấu hình SNORT
# vi /etc/snort/snort. conf ---
# Thông số vềđịa chỉ mạng đang được giám sát
var HOME_NET [203. 128. 246. 80/28,203. 128. 246. 96/29,172. 168. 2. 0/24]
Sử dụng OINKMASTER để cập nhật Rules
- Định kỳ update rules bằng cron vào lúc 0h00 mỗi ngày: # vi /etc/crontab
0 0 * * * root /usr/local/bin/oinkmaster. pl -C
/usr/local/etc/oinkmaster. conf -o /etc/snort/rules -b /etc/snort/rulesbackup - Chỉnh sửa file cấu hình oinkmaster. conf để cập nhật các rules như ý: # vi /usr/local/etc/oinkmaster. conf
+ Giữ nguyên rules, không muốn cập nhật, tìm đến mục # Files to totally skip (i. e. never update or check
for changes) #
# Syntax: skipfile filename #
# or: skipfile filename1, filename2, filename3, . . #
Ví dụ:
skipfile local. rules # không tựđộng cập nhật file local. rules skipfile deleted. rules # không tựđộng cập nhật file deleted. rules skipfile snort. conf # không tựđộng cập nhật file snort. conf + Thay đổi nội dung luật sau khi update, tìm đến mục:
skilled/stupid/brave). #
# Syntax: #
# modifysid SID "replacethis" | "withthis" #
# or: #
# modifysid SID1, SID2, SID3, . . . "replacethis" | "withthis"
# # or: #
# modifysid file "replacethis" | "withthis" #
# or: #
# modifysid * "replacethis" | "withthis" #
Ví dụ:
modifysid 1325 "^#alert" | "alert" # Bỏ comment luật alert 1325 modifysid 1325 "^#" | "" # Bỏ comment luật 1325 modifysid 1325 "sid:1325;" | "sid:1325; tag: host, src, 300, seconds;" # Thêm vào thẻ tag cho luật 1325
modifysid 1378 "^alert" | "drop"
# Chuyển luật 1378 từ alert thành drop modifysid 302 "\$EXTERNAL_NET" | "\$HOME_NET"
+ Không muốn update một luật nào đó, tìm đến mục # SIDs that we don't want to update.
#
# Syntax: localsid SID #
# or: localsid SID1, SID2, SID3, . . . #
Ví dụ:
localsid 1325 # Không bao giờ update luật 1325 + Hiện 1 luật sau khi update, tìm đến mục # SIDs to enable after each update.
#
# Syntax: enablesid SID #
# or: enablesid SID1, SID2, SID3, . . . #
Ví dụ:
enablesid 1325 # Bỏ comment cho luật 1325 + Ẩn 1 luật sau khi update, tìm đến mục
# SIDs to comment out, i. e. disable, after each update by placing a # # Syntax: disablesid SID
#
# or: disablesid SID1, SID2, SID3, . . . #
Ví dụ:
disablesid 1324 # Comment luật 1324
Đăng nhập vào trang quản trị
- Account quản trị: admin/base2008 - Địa chỉđăng nhập: https://192.168.40.12/
- Màn hình đăng nhập:
Hình 3.1 : Trang quản trị Base
- Sau khi đăng nhập thành công, hiển thị giao diện quản trị:
Tinh chỉnh các Rules
Xác định các alert có tần suất nhiều nhất -> Cần phải tinh chỉnh các rules để giảm bớt alert không có nhiều ý nghĩa hoặc không có dấu hiệu nguy hiểm.
a. Alert “ICMP PING CyberKit 2. 2 Windows“ xuất hiện rất nhiều (19771 lần, chiếm 46% tổng số ICMP) -> Cần phải ẩn rule 483
+ Ẩn rule 483 trong icmp. rules # vi /etc/snort/rules/icmp. rules ---
# Đặt chú thích chu luật có sid:483
#alert icmp $EXTERNAL_NET any -> $HOME_NET any (msg:"ICMP PING CyberKit 2. 2 Windows"; itype:8; content:"|AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA|"; depth:32; reference:arachnids,154; classtype:misc- activity; sid:483; rev:6;)
+ Ẩn rule 483 khi thực hiện update # vi /usr/local/etc/oinkmaster. conf ---
# Disable SID 483 ICMP PING CyberKit 2. 2 Windows disablesid 483
b. Alert “ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited “ xuất hiện rất nhiều (10092 lần, chiếm 23% tổng số ICMP) -> Cần phải ẩn rule 486
+ Ẩn rules 486 trong icmp. rules # vi /etc/snort/rules/icmp. rules ---
#alert icmp any any -> any any (msg:"ICMP Destination Unreachable Communication with Destination Host is Administratively Prohibited"; icode:10; itype:3; classtype:misc-activity; sid:486; rev:5;)
+ Ẩn rule 486 khi thực hiện update # vi /usr/local/etc/oinkmaster. conf ---
# Disable SID 486 ICMP Destination Unreachable Communication with # Destination Host is Administratively Prohibited
disablesid 486
c. Vào giao diện chính của BASE
https://192.168.40.12/base/base_main. php
Hình 3.3 : Giao diện chính của Base
- Click vào mục “Unique” thuộc dòng “Today’s Alerts” để xem tần suất các alert xuất hiện trong ngày hôm nay
Hình 3.4 : Tần suất các Alert
- Click tiếp vào “>” cột “Total #” để sắp thứ tự các alert theo tần suất từ nhiều đến ít.
Hình 3.5 : Sắp xếp tần suất các Alert theo độ lặp
- Quan sát, ta thấy alert “MS-SQL Worm propagation attemp” xuất hiện nhiều nhất, click vào link “368” tương ứng cột < Total #> để xem thông tin chi tiết
Hình 3.6 : Thông tin chi tiêt một Alert
- Trên bảng “Summary Statistics”, click vào link “Destination” ở hàng “Unique addresses” để xem các địa chỉđích bị tấn công.
Hình 3.7 : Hiển thị các địa chỉ nghi vấn
- Trên bảng cho thấy, IP range 80-100 là đối tượng bị khai thác. Click tiếp vào link “[snort]” để xem các thông tin về alert này trên “Signature database” của site www. snort. org
Hình 3.8 : Tra thông tin chi tiết về Alert nghi vấn
- Sau khi đọc các thông tin về alert này, ta thấy nhiều khả năng đây là alert sinh ra do “Slammer worm” phát tán trên Internet, đang cố gắng khai thác một lỗi buffer overflow trên MS SQL Server 2000 Resolution Service.
Hình 3.9 : Xác định thông tin Alert
- Tiếp tục đọc kỹ các thông tin về alert này, ta thấy ngay cách xử lý đối với alert này ở phần “Corrective Action”
+ Cấm truy cập từ ngoài vào các dịch vụ MS SQL trên cổng 1433 and 1434. Thực hiện trên firewall của hệ thống.
+ Cập nhật bản vá cho các dịch vụ MS SQL đã public từ URL: www. microsoft. com/technet/security/bulletin/MS02-039. asp
Xem Payload các packets
Để xem payload một packet, click vào cột ID tương ứng của alert,
Hình 3.10 : Xem Payload một packet
- Ví dụ: click vào link “#0-(2-48876)” để xem nội dung gói tin tương ứng
- Tính năng này đặc biệt rất hữu ích, cho phép IDS admin review lại được toàn bộ gói tin đã tạo ra alert, giúp cho quá trình tinh chỉnh các rules chính xác hơn, thuận tiện hơn.
Tìm kiếm
Để tìm kiếm một alert nào đó, bạn có thể click vào link “Search” và tìm kiếm theo rất nhiều tiêu chí khác nhau như: Sensor, Alert Group, Signature, Classification, Priority, Alert Time, rồi sắp xếp theo một vài tuỳ chọn có sẵn.
Hình 3.12 : Tìm kiếm Alert
Quản lý các nhóm Alert
Bên cạnh cách phân loại rules sẵn có của snort, để tiện lợi cho việc quản lý, người sử dụng có thể tạo ra các nhóm alert khác nhau, gán các alert vào từng nhóm phù hợp với quan điểm của mình.
Hình 3.13 : Quản lý Alert theo nhóm
Bạn có thể tạo nhóm mới (Create), xem alert tương ứng với các nhóm (View), sửa 1 nhóm (Edit), xoá 1 nhóm(Delete) và reset 1 nhóm (Clear).
Đồ thị trực quan
BASE cung cấp một số cách hiển thị biểu đồ trực quan, cho phép người quản trị có thể cảm nhận nhanh chóng được các vấn đề của hệ thống, đưa ra được các phương án giải quyết kịp thời.
Graph Alert Data
Hình 3.14 : Chọn biểu đồ dữ liệu
Có rất nhiều tham số cho phép xây dựng biểu đồ, bao gồm: - Kiểu đồ thị (Chart title):
+ Thời gian (theo giờ) và Số lượng alert + Thời gian (theo ngày) và Số lượng alert + Thời gian (theo tháng) và số lượng alert + …
- Chu kỳđồ thị (Chart period) + 7 ngày (1 tuần)
+ 24 giờ (1 ngày) + 168 giờ (24 x 7) - Kích thước đồ thị
- Lềđồ thị: trái, phải, trên, dưới - Kiểu vẽ: bar, line, pie
Hình 3.15 : Đồ thị trực quan Graph Alert Detection Time
Tại trang chính, click vào "Grap Alert Detection Time" để xem biểu đồ thể hiện tần suất các alert theo giờ, ngày hoặc theo tháng.
Dạng biểu đồ này rất hữu ích, cho phép xác định những thời điểm bất thường, qua đó giúp định hướng người quản trị tập trung vào những điểm quan trọng.
Hình 3.16 : Đồ thị tần suất Alert
3.3.4 Hướng dẫn sử dụng Webmin
Đăng nhập trang quản trị
- Account quản trị WEBMIN: root/root2008 - Địa chỉđăng nhập: https://192.168.40.12:10000/
- Màn hình đăng nhập
Hình 3.17 : Màn hình đăng nhập Webmin
Hình 3.18 : Đăng nhập thành công
Quản trị Webmin
Phần này cho phép thay đổi các thông tin cấu hình của Webmin, bao gồm các mục: - Backup Configuration Files
- Change language and theme - Webmin Actions logs - Webmin configuration - Webmin server index - Webmin users
Hình 3.19 : Giao diện công cụ quản trị
Quản trị hệ thống
Hiện tại Webmin quản trị đã cấu hình để quản trị các thông tin hệ thống sau (vào mục System)
- Bootup and Shutdown - Change Passwords
- Disk and Network file systems - File system backups
- Log file rotation - MIME type programs - PAM Authentication - Running processes - Scheduled Commands - Scheduled Cron jobs - Software packages - SysV Init Configuration - System Documentation - System logs
- Users and Groups
Hình 3.20 : Các thông tin có thể quản trị
Hiện tại, webmin đã cấu hình để có thể quản trị các dịch vụ sau: - Apache webserver
- MySql server - SSH server
Hình 3.21 : Các thông tin được quản trị
Quản trị các dịch vụ mạng
Hiện tại, webmin đã cấu hình để có thể thay đổi các thông tin cấu hình mạng sau: - Internet services and protocols
- Linux firewall (IPTables) - Network configuration - PPP Dial in server - Shorewall firewall
Hình 3.22 : Các dịch vụ mạng có thể quản trị
Quản trị phần cứng
Webmin đã cấu hình để có thể thay đổi các thông tin cấu hình phần cứng sau: - Grub boot loader
- Partitions on Local disks - System time
Hình 3.23 : Quản trị phần cứng
Quản trị các vấn đề khác
Ngoài ra, webmin có thể quản trị một sốứng dụng khác: - Command shell - Custom commands - File manager - Http tunnel - PHP configuration - PERL Modules
- Protected web directories - SSH/Telnet login
- System and server status - Upload and download
KẾT LUẬN
Bất cứ một mạng nào, đều có những lỗ hổng về mặt kỹ thuật cho phép tin tặc có thể xâm nhập vào hệ thống để ăn cắp thông tin hay phá hoại và do đó trên thực tế sẽ không có một mạng nào có thể được xem là bảo mật tuyệt đối. Vì vậy, người ta thường phải sử dụng nhiều kỹ thuật bảo mật đi kèm với các mạng để bảo đảm tính an toàn cho mạng. Ngoài việc sử dụng các phương pháp mã hóa để bảo đảm tính bí mật của thông tin, sử dụng các cơ chế chứng thực để kiểm tra tính hợp pháp của người dùng, thì việc sử dụng hệ thống IDS để nâng cao khả năng quản lý và bảo vệ mạng là rất cần thiết. Mặc dù việc triển khai IDS cho một mạng một cách toàn diện có nhiều khó khăn tuy nhiên những lợi ích mà nó đem lại là rất lớn. Một mặt nó giúp hệ thống an toàn trước những nguy cơ tấn công, mặt khác nó cho phép nhà quản trị nhận dạng và phát hiện được những nguy cơ tiềm ẩn dựa trên những phân tích và báo cáo được IDS cung cấp. Từ đó, hệ thống có tích hợp IDS có thể góp phần loại trừ được một cách đáng kể những lỗ hổng về bảo mật trong môi trường mạng.
Bằng cách sử dụng các giải pháp IDS mềm thay thế cho các IDS cứng do vấn đề kinh phí, hệ thống mạng của chúng ta đã giảm thiểu được tương đối các nguy cơ tấn công tiềm ẩn và nâng cao độ an toàn. Với những tham khảo áp dụng triển khai một hệ thống IDS mềm tích hợp vào mạng, ta có thể thấy một hệ thống IDS mềm cũng hoàn toàn thực hiện được những tính năng như một IDS cứng, do thời gian triển khai phần mềm ngắn nên việc hoàn thiện các module gắn thêm cho hệ thống IDS là chưa có. Nếu tiếp tục phát triển, ta hoàn toàn có thể tích hợp hệ thống IDS tương tác với các phần còn lại của mạng, để khi có tấn công xảy ra, IDS sẽ tự động báo tin đến người quản trị, và tựđộng đưa ra phương án thích hợp để vô hiệu hoá tấn công đó.
DANH MỤC TÀI LIỆU THAM KHẢO
[1] Patrick S. Harper, Oinkmaster Installation and Configuration Guide
[2] Andy Firman, Debian, Snort, Barnyard, BASE, & Oinkmaster Setup Guide [3]http://www.cisco.com/en/US/products/hw/switches/ps708/products_tech_note09 186a008015c612.shtml
[4] Mark Cooper, Stephen Northcutt, Matt Fearnow, Karen Frederick, Intrusion Signatures and Analysis
[5] Angela D. Orebaugh, Simon Biles, Jacob Babbin, “Snort Cookbook “ [6] Roman Danyliw, “ACID: Installation and Configuration”
[7] Chris Vespermann, “Snort, MySQL 5, Apache, and BASE for Gentoo Linux” [8] Brian Laing, ISS, “How To Guide: Intrusion Detection Systems”
[9] Patrick S. Harper, “Snort, Apache, SSL, PHP, MySQL, and BASE Install on CentOS 4, RHEL 4 or Fedora Core (updated for Snort 2.6.0. and NTOP)”
[10]Richard Bejtlich, “Extrusion Detection: Security Monitoring for Internal Intrusions”