MỤC LỤC
LỜI NÓI ĐẦU
CHƯƠNG I - TỔNG QUAN VỀ IDS . 6
1.1 Khái niệm 6
1.2. Chức năng 6
1.3 Cấu trúc chung 7
1.4. Phân biệt các mô hình IDS . 11
NIDS 11
HIDS 12
1.5. Các phương pháp nhận biết tấn công . 12
1.6 Các sản phẩm IDS trên thị trường . 14
Intrust 14
ELM 15
GFI LANGUARD S.E.L.M 16
SNORT 17
Cisco IDS 18
Dragon . 19
CHƯƠNG II – KẾT NỐI MÁY PHÂN TÍCH VÀO HỆ THỐNG SWITCH CISCO . 20
2.1 Các kiến thức cơ sở của kỹ thuật phân tích thống kê cổng - SPAN 20
2.1.1 Khái niệm SPAN 20
2.1.2 Các thuật ngữ . 22
2.1.3 Các đặc điểm của cổng nguồn 24
2.1.4 Lọc VLAN . 24
2.1.5 Các đặc điểm của nguồn VLAN 25
2.1.6 Các đặc điểm của cổng đích . 26
2.1.7 Các đặc điểm của cổng phản hồi 27
2.2. SPAN trên các dòng Switch Cisco . 28
2.2.1 Span trên Catalyst 2900, 4500/4000, 5500/5000, và 6500/6000
Series chạy CatOS . 28
2.2.2 SPAN trên các dòng Catalyst 2940, 2950, 2955, 2960, 2970, 3550,
3560, 3560-E, 3750 and 3750-E Series 52
2.2.3 SPAN trên Catalyst 4500/4000 và Catalyst 6500/6000 Series chạy
phần mềm hệ thống Cisco IOS . 55
2.3 Hiệu năng tác động của SPAN trên các nền Switch Catalyst khác nhau . 58
Các dòng Switch dưới Catalyst 4000 Series . 58
Catalyst 4500/4000 Series . 59
Catalyst 5500/5000 and 6500/6000 Series 59
2.4 Các lỗi thường gặp khi cấu hình . 59
CHƯƠNG III – TRIỂN KHAI TÍCH HỢP HỆ THỐNG IDS MỀM - SNORT
VÀO HỆ THỐNG . 69
3.1. Các đặc điểm chính 69
3.1.1 Hệ thống detection engine: 70
3.1.2 Hệ thống Logging & alerting: 70
3.1.3 Tập luật(RULES) . 71
3.2 Các bước cài đặt Snort trên hệ điều hành Debian . 72
3.2.1 Cài hệ điều hành Debian 72
3.2.2 Cài các phần mềm cần thiết . 73
3.2.3 Cài đặt và cấu hình IPTABLES-BASED FIREWALL . 75
3.2.4 Cài đặt Snort . 75
3.2.5 Cấu hình MySQL Server 77
3.2.6 Cấu hình để SNORT bắn alert vào MySQL 78
3.2.7 Cài đặt Apache-ssl Web Server . 78
3.2.8 Cài đặt và cấu hình Basic Analysis và Sercurity Engine (Base) . 79
3.2.9 Cập nhật Rules với Oinkmaster . 81
3.2.10 Startup Script 82
3.2.11 Tạo Acc truy cập vào Base 83
3.2.12 Cấu hình SNMP Server 83
3.2.13 Tạo file index.php để định hướng trình duyệt . 84
3.2.14 Cài đặt phần mềm quản trị Webmin 84
3.3 Giao diện hệ thồng sau cài đặt 85
3.3.1 Các thông tin cấu hình cơ bản 85
3.3.2 Hướng dẫn sử dụng SNORT 86
3.3.3. Hướng dẫn sử dụng công cụ phân tích (Base) 89
3.3.4 Hướng dẫn sử dụng Webmin . 101
KẾT LUẬN . 108
DANH MỤC TÀI LIỆU THAM KHẢO 109
111 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2261 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Hệ thống phát hiện xâm nhập mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
từ bộ đệm dữ liệu
đến một vệ tinh một lần cập nhật. Những tác động trên cơ chế chuyển mạch tốc độ
cao là không đáng kể.
Cổng giám sát nhận các bản sao của lưu lượng gửi và nhận của tất cả các cổng được
giám sát. Trong kiến trúc này, một gói đi đến nhiều đích được lưu giữ trong bộ nhớ
cho đến khi tất cả các bản sao được chuyển tiếp. Nếu cổng giám sát là 50 phần trăm
tải duy trì một khoảng thời gian, các cổng có khả năng sẽ trở thành xung đột và giữ
một phần của bộ nhớ chia sẻ. Có một khả năng mà một hoặc nhiều của các cổng đó
được giám sát cũng chậm lại.
Catalyst 4500/4000 Series
Với việc sử dụng các tính năng SPAN, một gói phải được gửi cho hai cổng khác
nhau, như trong ví dụ trong phần Kiến trúc tổng quan. Việc gửi gói tin cho hai
cổng không phải là một vấn đề, vì cơ cấu chuyển mạch là không khoá. Nếu cổng
đích SPAN bị xung đột, các gói được xoá bỏ trong hàng đợi đầu ra và giải phóng
chính xác khỏi bộ nhớ chia sẻ. Vì vậy, không có tác động ảnh hưởng đến hoạt động
Switch.
Catalyst 5500/5000 and 6500/6000 Series
Dù là một hoặc một vài cổng cuối truyền tải các gói hoàn toàn không có ảnh hưởng
hoạt động Switch. Vì vậy, khi bạn xem xét kiến trúc này, tính năng SPAN không
tác động hiệu suất.
2.4 Các lỗi thường gặp khi cấu hình
Các vấn đề kết nối do lỗi cấu hình SPAN
Lỗi kết nối xảy ra vì việc cấu hình SPAN sai xảy ra thường xuyên trong các phiên
bản CatOS trước 5.1. Với những phiên bản này, chỉ duy nhất một phiên SPAN diễn
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
60
ra. Phiên này lưu trong cấu hình, thậm chí khi bạn vô hiệu hóa SPAN. Với việc sử
dụng lệnh set span enable, người sử dụng kích hoạt lại phiên SPAN được lưu.
Những hành động thường xuyên xảy ra vì một lỗi in, ví dụ, nếu người dùng muốn
kích hoạt STP. Lỗi kết nối trầm trọng có thể xảy ra nếu các cổng đích được sử dụng
để chuyển tiếp lưu lượng truy cập người dùng.
Lưu ý: vấn đề này vẫn còn trong thực thi hiện tại của CatOS. Hãy rất cẩn thận các
cổng mà bạn chọn làm một cổng đích SPAN.
Cổng đích SPAN Up/Down
Khi các cổng được triển khai SPAN cho công tác giám sát, trạng thái các cổng là
UP / DOWN.
Khi bạn cấu hình một phiên SPAN để giám sát các cảng, giao diện cổng đích cho
thấy trạng thái DOWN (giám sát), theo thiết kế. Giao diện hiển thị cổng trong trạng
thái này để làm cho nó hiển nhiên rằng cổng hiện tại không khả thi như cổng sản
xuất. Cổng trong trạng thái UP/DOWN giám sát là bình thường.
Tại sao phiên SPAN tạo ra lỗi lặp cầu
Lỗi lặp cầu thường xuyên xảy ra khi người quản trị cố mô phỏng các tính năng
RSPAN. Tương tự, một cấu hình lỗi có thể dẫn đến lỗi
Đây là một ví dụ của phần này:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
61
Hình 2.15 : Lỗi lặp cầu dữ liệu
Có hai Switch trung tâm được liên kết bởi một đường trunk. Trong dụ này, mỗi
Switch có một số máy chủ, máy trạm, hoặc các cầu nối kết nối với nó. Người quản
trị muốn giám sát VLAN 1, xuất hiện trên một số cầu nối với SPAN. Người quản trị
tạo một phiên SPAN giám sát toàn bộ VLAN 1 trên Switch trung tâm, và, để hợp
nhất hai phiên, nối cổng đích vào cùng một hub (hoặc cùng Switch, với việc sử
dụng các phiên SPAN khác)
Người quản trị đạt được mục tiêu. Mỗi một gói tin mà một Switch trung tâm nhận
trên VLAN 1 được nhân bản trên cổng SPAN và chuyển đi lên vào hub. Một máy
phân tích cuối cùng bắt lưu lượng truy cập.
lưu lượng cũng đi lần nữa vào Switch 2 qua cổng đích SPAN. Lưu lượng này đi vào
Switch 2 tạo ra một lặp cầu nối trong VLAN 1. Nên nhớ rằng một cổng đích SPAN
không chạy STP và không có khả năng ngăn chặn lặp dữ liệu.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
62
Hình 2.16 : Lặp cầu dữ liệu diễn ra
Lưu ý: Vì các giới thiệu về tùy chọn inpkts (đầu vào các gói) trên CatOS, một cổng
đích SPAN ngắt bất kỳ các gói theo mặc định, nó ngăn lỗi này không xảy ra. Tuy
nhiên, vẫn còn là vấn đề này là vẫn tông tại trên Catalyst 2900XL/3500XL Series
Lưu ý: Thậm chí khi tuỳ chọn inpkts ngăn việc xảy ra lặp, cấu hình phần này cho
thấy rằng có thể gây ra một số vấn đề trong mạng. Các lỗi có thể xảy ra bởi vì quá
trinh học địa chỉ MAC được kết hợp với quá trình học đã kích hoạt trên cổng đích.
Bạn có thể cấu hình SPAN trên một cổng EherChannel?
Một EtherChannel không hoạt động chuẩn nếu một trong số các cổng trong đó là
một cổng đích SPAN. Nếu bạn cố gắng cấu hình SPAN trong tình huống này ,
Switch sẽ cảnh báo :
Channel port cannot be a Monitor Destination Port
Failed to configure span feature
Bạn có thể sử dụng một cổng trong một cụm EtherChannel như một cổng nguồn
SPAN.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
63
Bạn có thể có một vài phiên SPAN chạy cùng một thời điểm?
Trên Catalyst 2900XL/3500XL Series, số lượng các cổng đích có trên Switch là
giới hạn số lượng các phiên SPAN.
Trên Catalyst 2950 Series, bạn chỉ có thể khai báo một cổng giám sát bất kỳ lúc
nào. Nếu bạn chọn một cổng khác như cổng giám sát, cổng giám sát trước bị vô
hiệu hóa, và cổng mới được lựa chọn trở thành cổng giám sát.
Trên Catalyst 4500/4000, 5500/5000, 6500/6000 với CatOS 5.1 về sau, bạn có thể
có một số phiên SPAN tồn tại đồng thời.
Lỗi "% Local Session Limit Has Been Exceeded"
Engine: Thông báo đưa ra khi phiên SPAN thực thi quá giới hạn của thành phần
giám sát
% Local Session limit has been exceeded
Không thể xoá một phiên SPAN trên module VPN dịch vụ, với lỗi “%Session
[Session No:] Used by Service Module”
Với vấn đề này, các mạng riêng ảo (VPN), môđun đưa vào trong một khuung, nơi
một môđun cơ cấu chuyển mạch đã được đưa vào. Cisco IOS tự động tạo ra một
phiên Span cho các mô-đun dịch vụ VPN để xử lý các lưu lượng truy cập multicast
Sử dụng lệnh sau để xoá phiên SPAN mà IOS tạo ra cho modul VPN dịch vụ :
Switch(config)# no monitor session session_number service-module
Lưu ý: Nếu bạn xoá phiên này, modul VPN dịch vụ ngắt lưu lượng multicast
Tại sao bạn không thể bắt các gói tin lỗi với SPAN?
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
64
Bạn không thể bắt các gói tin lỗi với SPAN, vì cách mà Switch thực hiện chung.
Khi một gói đi qua một Switch, có những vấn đề sau:
1. Các gói tới được cổng ingress.
2. Các gói được lưu trong ít nhất một bộ đệm.
3. Các gói cuối cùng được truyền trên cổng egress.
Hình 2.17 : Hàng đợi bộ đệm trong
Nếu Switch nhận được một gói hỏng, các cổng ingress xoá gói tin đó. Vì thế, bạn
không nhìn thấy trên gói tin đó trên cổng egress. Một Switch không hoàn toàn đứng
sau đối với việc bắt lưu lượng truy cập. Tương tự, khi bạn thấy một gói hỏng trên
máy phân tíchcủa bạn trong ví dụ trong phần này, bạn biết rằng các lỗi đã được tạo
ra tại bước 3, trên phân đoạn đi ra.
Nếu bạn cho rằng một thiết bị gửi các gói tin lỗi, bạn có thể đặt máy gửi tin và thiết
bị phân tích trên một hub. Hub đó không tiến hành kiểm tra bất kỳ lỗi nào. Bởi vậy,
không như Switch, hub không ngắt các gói tin, bằng cách này bạn có thể hiển thị
các gói tin.
Lỗi : %Session 2 used by service module
Nếu một modul dịch vụ Firewall (FWSM) đã được cài đặt, ví dụ, đã cài đặt và gỡ
bỏ sau đó, trong CAT6500, nó tự động kích hoạt các tính năng SPAN phản hồi. Các
tính năng SPAN phản hồi sử dụng một phiên SPAN trong Switch. Nếu bạn không
sử dụng nữa, bạn phải nhập lệnh no monitor session service module từ chế độ cấu
hình của CAT6500, và sau đó ngay lập tức nhập cấu hình SPAN cần thiết.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
65
Cổng phản hồi xoá các gói tin
Một cổng phản hồi nhận các bản sao lưu lượng gửi và nhận của tất cả các cổng cổng
giám sát nguồn. Nếu một cổng phản hồi quá tải, nó có khả năng dẫn đến xung đột.
Điều này có thể ảnh hưởng đến lưu lượng chuyển tiếp trên một hoặc nhiều cổng
nguồn. Nếu băng thông của cổng phản hồi không đủ cho khối lượng lưu lượng truy
cập tương ứng từ cổng nguồn, các gói đi ra bị huỷ bỏ. Một cổng 10/100 phản hồi ở
mức 100 Mbps. Một cổng Gigabit phản hồi từ 1 Gbps.
Phiên SPAN luôn sử dụng Với một FWSM trong Catalyst 6500 Chassis
Khi bạn sử dụng Supervisor Engine 720 với một FWSM trong cấu trúc chạy Native
Cisco IOS, theo mặc định một phiên SPAN được sử dụng. Nếu bạn kiểm tra các
phiên không sử dụng với show monitor ,phiên 1 được sử dụng:
Cat6K#show monitor
Session 1
---------
Type : Service Module Session
Khi một phần tường lửa có trong Catalyst 6500 chassis, phiên này tự động cài đặt
để hỗ trợ nhân bản multicast phần cứng vì một FWSM không thể nhân bản dòng
multicast . Nếu dòng dữ liệu nguồn multicast đằng sau FWSM phải được nhân bản
tại lớp 3 đến nhiều dòng mạch, các phiên tự động nhân bản lưu lượng truy cập đến
máy phân tích thông qua một cơ cấu kênh.
Nếu bạn có một nguồn multicast tạo ra một dòng multicast từ phía sau FWSM, bạn
cần phải có bộ phản hồi SPAN. Nếu bạn đặt nguồn multicast bên ngoài VLAN, bộ
phản hồi SPAN là không cần thiết. Bộ phản hồi SPAN không tương thích với cấu
nối BPDUs thông qua FWSM. Bạn có thể sử dụng lệnh no monitor session service
module để vô hiệu hoá bộ phản hồi SPAN.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
66
Một phiên Span và một RSPAN có thể có cùng ID trong cùng một Switch?
Không, không thể sử dụng cùng một ID phiên cho một phiên SPAN thông thường
và phiên đích RSPAN. Mỗi phiên RSPAN và SPAN phải có ID phiên khác nhau.
Một phiên RSPAN có thể hoạt động qua tên miền VTP khác?
Có. một phiên RSPAN có thể hoạt động qua tên miền VTP khác. Nhưng chắc chắn
rằng các RSPAN VLAN tồn tại trong cơ sở dữ liệu của các tên miền VTP này.
Ngoài ra, hãy chắc chắn rằng không có thiết bị Lớp 3 hiện diện trong đường dẫn của
phiên nguồn đến phiên đích.
RSPAN có thể là một phiên làm việc qua WAN hoặc các mạng khác?
Không, phiên RSPAN không thể xuyên qua bất kỳ thiết bị Lớp 3 như RSPAN là
một LAN (lớp 2) tính năng. Để giám sát lưu lượng truy cập qua WAN hoặc mạng
khác, sử dụng Encapsulated Remote SwitchPort Analyser (ERSPAN). Các tính
năng ERSPAN hỗ trợ các cổng nguồn, nguồn VLANs, và các cổng đích trên các
Switch khác nhau, hỗ trợ giám sát từ xa của nhiều Switch qua mạng của bạn.
ERSPAN bao gồm một phiên nguồn ERSPAN , bảng định tuyến lưu lượng
ERSPAN GRE-encapsulated , và một phiên đích ERSPAN . Bạn cấu hình riêng rẽ
phiên nguồn ERSPAN và phiên đích trên các Switch khác nhau.
Hiện tại, các tính năng ERSPAN được hỗ trợ trong:
• Supervisor 720 với PFC3B hay PFC3BXL chạy Cisco IOS 12.2(18) SXE trở
lên.
• Supervisor PFC3A với 720 có phần cứng phiên bản 3.2 trở lên và chạy Cisco
IOS 12.2(18)SXE trở lên.
Một phiên nguồn RSPAN và phiên đích có thể tồn tại trên cùng Catalyst
Switch?
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
67
Không, RSPAN không hoạt động khi phiên nguồn RSPANvà phiên đích RSPAN
trên cùng một Switch.
Nếu một phiên nguồn RSPAN được cấu hình với một RSPAN VLAN và một phiên
đích RSPAN cho RSPAN VLAN đó được cấu hình trên cùng một Switch, thì cổng
đích của phiên đích RSPAN đó cổng sẽ không truyền các gói bắt nguồn từ phiên
nguồn RSPAN do hạn chế phần cứng. Vấn đề này không hỗ trợ trên 4500 Series và
3750 Series. Vấn đề này được lưu trong tài liệu Cisco bug ID CSCeg08870
Đây là một ví dụ :
monitor session 1 source interface Gi6/44
monitor session 1 destination remote vlan 666
monitor session 2 destination interface Gi6/2
monitor session 2 source remote vlan 666
Máy phân tích/thiết bị bảo mật nối với cổng đích SPAN không tới được
Các đặc tính cơ bản của một cổng đích SPAN là nó không truyền tải bất kỳ lưu
lượng truy cập nào, ngoại trừ các lưu lượng truy cập cần thiết cho phiên SPAN. Nếu
bạn cần truy nhập (IP reachability) máy phân tich / thiết bị bảo mật qua cổng đích
SPAN, bạn cần kích hoạt lưu lượng ingress chuyển tiếp.
Khi ingress được kích hoạt, cổng đích span chấp nhận các gói đi vào, nó là khả
năng dán nhãn phụ thuộc chế độ đóng gói chỉ rõ, và các Switch hoạt động bình
thường. Khi bạn cấu hình một cổng đích SPAN, bạn có thể chỉ rõ có hoặc không
tính năng ingress được kích hoạt và VLAN gì để sử dụng để Switch xoá nhãn gói
ingress. Các đặc điểm kỹ thuật của một ingress VLAN là không cần thiết khi đóng
gói được cấu hình, khi mọi gói đóng gói ISL có thẻ VLAN. Mặc dù cổng là chuyển
tiếp STP, nó không tham gia trong STP, nên sử dụng thận trọng khi bạn cấu hình
tính năng này vì có thể xảy ra spanning-tree loop đã được giới thiệu. Khi cả hai
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
68
ingress và một trunk encapsulation được chỉ rõ trên một cổng đích SPAN, cổng
chuyển tiếp tất cả các VLANs hoạt động. Cấu hình của một VLAN không tồn tại
như một ingress VLAN là không được phép.
monitor session session_number destination interface interface [encapsulation
{isl | dot1q}] ingress [vlan vlan_IDs]
Ví dụ này cho biết làm thể nào để cấu hình một cổng đích với giao thức đóng gói
802.1q và các gói đi vào bằng việc sử dụng native Vlan 7
Switch(config)#monitor session 1 destination interface fastethernet 5/48
encapsulation dot1q ingress vlan 7
Với cấu hình này, lưu lượng truy cập từ phiên nguồn span liên kết với phiên 1 được
sao chép ra các giao diện Fast Ethernet 5/48 với chuẩn 802.1q. Lưu lượng đi vào
được chấp nhận và chuyển mạch, với các gói không nhãn được phân loại vào
VLAN 7.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
69
CHƯƠNG III – TRIỂN KHAI TÍCH HỢP HỆ THỐNG IDS MỀM -
SNORT VÀO HỆ THỐNG
Trong chương này chúng ta sẽ cài đặt sử dụng hệ IDS mềm có tên là SNORT. Hệ
thống Snort được chọn với lý do chính đây là phần mềm Open Source , tài liệu cài
đặt đầy đủ , yêu cầu hệ thống không quá cao và đã qua một thời gian phát triển.
3.1. Các đặc điểm chính
Snort là công cụ phát hiện xâm nhập khá phổ biến và được gọi là light-weight
Instrution Detection System, với một số đặc tính sau:
-Hỗ trợ nhiều platform: Linux, OpenBSD, FreeBSD, Solaris, Windows,…
-Kích thước tương đối nhỏ: phiên bản hiện tại 2. 6. 1. 5 có kích thước 3. 55 MBytes.
- Có khả năng phát hiện một số lượng lớn các kiểu thăm dò, xâm nhập khác nhau
như : buffer overflow, CGI-attack, dò tìm hệ điều hành, ICMP, virus,…
- Phát hiện nhanh các xâm nhập theo thời gian thực.
- Cung cấp cho nhà quản trị các thông tin cần thiết để xử lý các sự cố khi bị xâm
nhập.
- Giúp người quản trị tự đặt ra các dấu hiệu xâm nhập mới một cách dễ dàng.
- Là phần mềm Open Source và không tốn kém chi phí đầu tư.
Snort được xây dựng với mục đích thoả mãn các tính năng cơ bản sau: Có hiệu
năng cao, đơn giản và có tính uyển chuyển cao.
Ba thành phần chính của Snort gồm có: hệ thống packet decoder, hệ thống detection
engine và hệ thống logging & alerting. Ba thành phần này dựa trên cơ sở của thư
viện LIBPCAP, là thư viện cung cấp khả năng lắng nghe và lọc packet trên mạng.
Hệ thống Packet decoder: Nhiệm vụ chủ yếu của hệ thống này là phân tích gói dữ
liệu thô bắt được trên mạng và phục hồi thành gói dữ liệu hoàn chỉnh ở lớp
application, làm input cho hệ thống dectection engine.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
70
Quá trình phục hồi gói dữ liệu được tiến hành từ lớp Datalink cho tới lớp
Application theo thứ tự của Protocol Stack. Vấn đề quan trọng đặt ra cho hệ thống
này đó là tốc độ xử lý gói dữ liệu, nếu tốc độ xử lý chậm sẽ làm cho hiệu năng của
SNORT giảm sút do “nghe sót”
3.1.1 Hệ thống detection engine:
SNORT dùng các rules để phát hiện ra các xâm nhập trên mạng. Xem rules sau:
alert tcp !172. 16. 1. 0/24 any -> any any (flags: SF; msg: “SYN-FIN Scan”; )
Một rules có hai thành phần: Header và Option,
Header:
alert tcp !172. 16. 1. 0/24 any -> any any
Option:
(flags: SF; msg: “SYN-FIN Scan”; )
Mỗi dấu hiệu xâm nhập sẽ được thể hiện bằng một rule. Vậy SNORT quản lý tập
các rules như thế nào? SNORT dùng cấu trúc dữ liệu để quản lý các rules gọi là
Chain Headers và Chain Options. Cấu trúc dữ liệu này bao gồm một dãy các Header
và mỗi Header sẽ liên kết đến dãy các Option. Sở dĩ dựa trên các Header là vì đây là
thành phần ít thay đổi của những rules được viết cho cùng một kiểu phát hiện xâm
nhập và Option là thành phần dễ được sửa đổi nhất.
Ví dụ: ta có 40 rules được viết cho kiểu thăm dò CGI-BIN, thực chất các rules này
có chung IP source, IP đích, port source, port đích, tức là có chung Header.
Mỗi packet sẽ được so trùng lần lượt trong các dãy cho đến khi tìm thấy mẫu đầu
tiên thì hành động tương ứng sẽ được thực hiện.
3.1.2 Hệ thống Logging & alerting:
Dùng để thông báo cho quản trị mạng và ghi nhận lại các hành động xâm nhập hệ
thống. Hiện tại có 3 dạng logging và 5 kiểu alerting.
Các dạng logging, được chọn khi chạy SNORT:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
71
- Dạng decoded: Đây là dạng log thô nhất, cho phép thực hiện nhanh và thích hợp
với dân Pro.
- Dạng nhị phân tcpdump: theo dạng tương tự như tcpdump và ghi vào đĩa nhanh
chóng, thích hợp với những hệ thống đòi hỏi performance cao
- Dạng cây thư mục IP: Sắp sếp hệ thống log theo cấu trúc cây thư mục IP, dễ hiểu
đối với người dùng.
Các dạng alerting:
- Ghi alert vào syslog
- Ghi alert vào trong file text
- Gửi thông điệp Winpopup dùng chương trình smbclient
- Full alert: ghi lại thông điệp alert cùng với nội dung gói dữ liệu.
- Fast alert: chỉ ghi nhận lại header của gói dữ liệu. Cách này thường dùng trong các
hệ thống cần performance cao.
3.1.3 Tập luật(RULES)
Tập luật của Snort đơn giản để ta hiểu và viết, nhưng cũng đủ mạnh để có thể phát
hiện tất cả các hành động xâm nhập trên mạng.
Có 3 hành động chính được SNORT thực hiện khi so trùng 1 packet với các mẫu
trong rules:
- Pass: loại bỏ packet mà SNORT bắt được
- Log: tuỳ theo dạng logging được chọn mà packet sẽ được ghi nhận theo dạng đó.
- Alert: sinh ra một alert tùy theo dạng alert được chọn và log toàn bộ packet dùng
dạng logging đã chọn.
Dạng cơ bản nhất của một rule bao gồm protocol, chiều của gói dữ liệu và port cần
quan tâm, không cần đến phần Option:
log tcp any any -> 172. 16. 1. 0/24 80
Rule này sẽ log tất cả các gói dữ liệu đi vào mạng 172. 16. 1. 0/24 ở port 80.
Một rule khác có chứa Option:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
72
alert tcp any any -> 172. 16. 1. 0/24 80 (content: "/cgi-bin/phf"; msg: "PHF
probe!"; )
Rule này sẽ phát hiện các truy cập vào dịch vụ PHF trên web server và alert sẽ được
tạo ra cùng với việc ghi nhận lại toàn bộ gói dữ liệu.
Vùng địa chỉ IP trong các rules được viết dưới dạng CIDR block netmask, các port
có thể được xác định riêng lẻ hoặc theo vùng, port bắt đầu và port kết thúc được
ngăn cách bởi dấu “:”
alert tcp any any -> 172. 16. 1. 0/24 6000:6010 (msg: "X traffic"; )
Các option phổ biến của SNORT:
1. content: Search the packet payload for the a specified pattern.
2. flags: Test the TCP flags for specified settings.
3. ttl: Check the IP header's time-to-live (TTL) field.
4. itype: Match on the ICMP type field.
5. icode: Match on the ICMP code field.
6. minfrag: Set the threshold value for IP fragment size.
8. ack: Look for a specific TCP header acknowledgement number.
9. seq: Log for a specific TCP header sequence number.
10. logto: Log packets matching the rule to the specified filename.
11. dsize: Match on the size of the packet payload.
12. offset: Modifier for the content option, sets the offset into the packet payload to
begin the content search.
13. depth: Modifier for the content option, sets the number of bytes from the start
position to search through.
14. msg: Sets the message to be sent when a packet generates an event.
SNORT có thể chạy tốt trên các platform mà LIBPCAP hổ trợ.
3.2 Các bước cài đặt Snort trên hệ điều hành Debian
3.2.1 Cài hệ điều hành Debian
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
73
- Tên hệ điều hành:Debian GNU/Linux 4. 0 r0 "Etch"
- Kernel: Linux IDS 2. 6. 18-4-686
- Tài khoản
+ user:root
+ pass:root
3.2.2 Cài các phần mềm cần thiết
- Sửa lại file /etc/apt/sources. list như sau
deb debian. org/ etch/updates main contrib
deb-src debian. org/ etch/updates main contrib
Trỏ link source qua máy chủ đặt trong mạng giáo dục TEIN2
deb stable main
deb-src stable main
#Backports
deb backports. org/debian etch-backports main contrib non-free
- Thêm GPG key của repo:
# wget -O - key | apt-key add -
- Cập nhật danh sách các gói
# apt-get -y update
- Cài đặt các tools tiện ích:
# apt-get -y install wget tcpdump mc tethereal
- Cài đặt các gói cần thiết
# apt-get -y install apache-ssl apache-common libapache-mod-php4
Các gói cài theo:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
74
apache2-utils libapr1 libaprutil1 libexpat1 libmagic1 libpq4 libsqlite3-0
libzzip-0-12 lynx mime-support openssl perl perl-modules php4-common ssl-cert
ucf
Cấu hình SSL Certificate
+ Country: VN
+ State or Province Name: Hanoi
+ Locality: Hanoi
+ Organisation Name: DHBK
+ Organisation Unit Name: DHBK
+ Email Address: cuongnd-linc@mail. hut. edu. vn
# apt-get -y install mysql-server mysql-common mysql-client php4-mysql
Các gói cài theo:
libdbd-mysql-perl libdbi-perl libmysqlclient15off libnet-daemon-perl
libplrpc-perl mysql-client-5. 0 mysql-server-5. 0 psmisc
# apt-get -y install libpcap0. 8 libpcap0. 8-dev libmysqlclient15-dev
Các gói cài theo: libc6-dev linux-kernel-headers zlib1g-dev
# apt-get -y install php4-gd php4-pear libphp-adodb vim gcc make
Các gói cài theo: binutils cpp cpp-4. 1 defoma file fontconfig-config gcc-4. 1
libfontconfig1
libfreetype6 libgd2-xpm libjpeg62 libpng12-0 libssp0 libt1-5 libx11-6
libx11-data libxau6 libxdmcp6 libxml2 libxpm4 php-db php-http php-mail
php-net-smtp php-net-socket php-pear php-xml-parser php5-cli php5-common
ttf-dejavu vim-runtime x11-common
Configuring libphp-adodb
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
75
WARNING: include path for php has changed!
libphp-adodb is no longer installed in /usr/share/adodb. New installation path is now
/usr/share/php/adodb.
Please update your php. ini file. Maybe you must also change your web-server
configuraton.
# apt-get -y install php4-cli libtool libssl-dev gcc-4. 1 g++
Các gói cài theo: autotools-dev g++-4. 1 libstdc++6-4. 1-dev
3.2.3 Cài đặt và cấu hình IPTABLES-BASED FIREWALL
Sử dụng phần mềm Shorewall để cấu hình iptables
# apt-get install shorewall iproute libatm1 shorewall-doc iproute-doc
Cấu hình SHOREWALL có thể thực hiện qua Webmin
3.2.4 Cài đặt Snort
- Cài đặt PCRE
# cd /usr/local/src
# apt-get source libpcre3
apt-get download về 3 file sau: pcre3_6. 7-1. diff. gz, pcre3_6. 7-1. dsc, pcre3_6. 7.
orig. tar. gz
# tar xzvf pcre3_6. 7. orig. tar. gz
# cd pcre-6. 7
# . /configure && make && make install
- Cài đặt Snort 2. 7
# cd /usr/local/src
# wget -c org/dl/current/snort-2. 7. 0. 1. tar. gz
# tar zxvf snort-2. 7. 0. 1. tar. gz
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
76
# cd snort-2. 7. 0. 1
# . /configure --with-mysql --enable-dynamicplugin
# make && make install
- Cấu hình SNORT
# mkdir /etc/snort
# mkdir /var/log/snort
# groupadd snort
# useradd -g snort snort
# chown snort:snort /var/log/snort
Download snort-rules
+ Đăng ký một account tại snort. org và download "registered-user" rules
snortrules-snapshot-CURRENT. tar. gz
+ Bạn sẽ nhận được một OINKCODE để update snort-rules mỗi khi có các rule mới
Ví dụ OINKCODE = a7a0ac0d6e14a691882eab106f27be4bc76fa28f
# cd /etc/snort
# tar zxvf snortrules-snapshot-CURRENT. tar. gz
# cp /usr/local/src/snort-2. 7. 0. 1/etc/*. conf* .
# cp /usr/local/src/snort-2. 7. 0. 1/etc/*. map .
- Sửa file cấu hình /etc/snort/snort. conf
# vi /etc/snort/snort. conf
var HOME_NET 203. 128. 246. 80/28
var EXTERNAL_NET !$HOME_NET
var RULE_PATH /etc/snort/rules
- Tạo một luật đơn giản để test snort
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
77
# vi /etc/snort/rules/local. rules
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; dsize:8; itype:8;
sid:10000001;)
alert tcp any any -> any any (msg:"TCP test"; sid:10000002;)
- Khởi tạo snort lần đầu tiên:
# /usr/local/bin/snort -Dq -u snort -g snort -c /etc/snort/snort.conf
- Kiểm tra /var/log/snort để thấy dòng thông báo tương tự như sau:
snort[1731]: Snort initialization completed successfully (pid=1731)
- Kiểm tra /var/log/messages để thấy dòng thông báo tương tự như sau:
Aug 12 19:25:38 IDS kernel: device eth0 left promiscuous mode
Aug 12 19:25:38 IDS kernel: audit(1186921538. 186:5): dev=eth0 prom=0
old_prom=256 auid=4294967295
3.2.5 Cấu hình MySQL Server
- Thiết lập mysql root password bằng lệnh sau:
# mysqladmin -u root password "mysql2008"
- Đăng nhập vào mysql command
# mysql -u root -p
- Tạo CSDL snort
mysql> create database snort;
- Tạo snort user và privileges
mysql> grant create, insert, select, delete, update on snort. * to snort@localhost;
- Thiết lập snort user password cho CSDL snort
mysql> set password for snort@localhost=password('snort2008');
mysql> exit
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
78
- Import the schema that comes with the snort program:
# cd /usr/local/src/snort-2. 7. 0. 1/schemas/
# mysql -u root -p < create_mysql snort
- Đăng nhập vào mysql server và xem các bảng đã được tạo:
# mysql -u root -p
mysql> use snort;
mysql> show tables;
3.2.6 Cấu hình để SNORT bắn alert vào MySQL
- Lets get snort logging alerts into the mysql database by configuring
the output plugin for database logging:
# vi /etc/snort/snort.conf
- Tìm dòng dưới đây, bỏ chú thích ở đầu dòng và chỉnh sửa các giá trị cho phù hợp:
output database: log, mysql, user=root password=mysql2008 dbname=snort
host=localhost
- Khởi động lại snort và kiểm tra xem snort đã ghi log vào database hay chưa:
# mysql –uroot -p"mysql2008" -D snort -e "select count(*) from event"
3.2.7 Cài đặt Apache-ssl Web Server
- Sửa file cấu hình apache-ssl
# vi /etc/apache-ssl/httpd. conf
- Bỏ comment của 2 dòng sau:
AddType application/x-httpd-php . php
AddType application/x-httpd-php-source .phps
- Enable extension=mysql. so in /etc/php4/apache/php.ini
# vi /etc/php4/apache/php.ini
Bỏ comment dòng sau:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
79
extension=mysql.so
- Khởi động lại apache
# /etc/init. d/apache-ssl restart
3.2.8 Cài đặt và cấu hình Basic Analysis và Sercurity Engine (Base)
BASE là một ứng dụng tuyệt vời cung cấp giao diện web để truy vấn và phân tích
các snort alert
BASE 1. 3. 8 was just released.
- Cài đặt BASE:
# cd /var/www
# rm index. html
# wget dl. sourceforge. net/sourceforge/secureideas/base-1. 3. 6. tar. gz
# tar xvzf base-1.3.6.tar.gz
# mv base-1.3.6 base
# chmod 777 base (just for now)
- Open a browser and go to: https://203. 128. 246. 100/base/index.html
+ Continue
+ Step 1 of 5
Pick a language: english
Path to ADODB: /usr/share/php/adodb
Submit query
+ Step 2 of 5
Pick a database type: MySQL
Database name: snort
Database host: localhost
Database Port: Leave blank for default! blank
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
80
Database User Name: snort
Database Password: snort
Bỏ qua phần "Use Archive Database"
Submit query
+ Step 3 of 5
Admin username: snortadmin
Password: snort2008
Fullname: Snort Admin
+ Step 4 of 5
Click "Create BASE AG" which will: Adds tables to extend the Snort DB to
support the BASE functionality
Now continue to step 5 to login
+ Hiện ra màn hình quản trị của BASE
- You should be all setup now. I see thousands of events from my very
noisy rule. Now I will disable the rule, restart snort, delete all
these events from Base, and carry of with tuning my system.
- Go back and chmod 755 the base directory in /var/www
# cd /var/www
# chmod 755 base
- Với bản Debian Testing hiện thời, cần phải cấu hình thêm như sau để
BASE hiển thị được đồ thị:
+ Kết nối php trên Debian tới php4, như sau:
# rm /etc/alternatives/php
# ln -s /usr/bin/php4 /etc/alternatives/php
+ Rồi thực hiện lệnh sau:
# pear config-set preferred_state alpha
+ Sau đó uncomment extension=gd. so trong file /etc/php4/cli/php. ini
vì pear command line sử dụng php-cli để kiểm tra các dependencies:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
81
# vi /etc/php4/cli/php. ini
Uncomment dòng sau:
extension=gd. so
+ Sau đó chạy các lệnh:
# pear install Image_Color
# pear install Image_Canvas
# pear install Log
# pear install Numbers_Roman
# pear install Numbers_Words
# pear install Image_Graph
+ Khởi động lại dịch vụ apache-ssl trước khi click lên các link vẽ biểu đồ:
# /etc/init. d/apache-ssl restart
+ Install signatures into BASE install
o Create a directory named signature/ in the BASE install directory
o Copy any signature txt file you would like into that directory
3.2.9 Cập nhật Rules với Oinkmaster
- Cài đặt cơ bản:
# cd /usr/local/src
# wget dl. sourceforge. net/sourceforge/oinkmaster/oinkmaster-2. 0. tar.
gz
# tar xvzf oinkmaster-2. 0. tar. gz
# cd oinkmaster-2. 0
# cp oinkmaster. pl /usr/local/bin
# mkdir /usr/local/etc
# cp oinkmaster. conf /usr/local/etc
- Tạo thư mục temp
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
82
# mkdir /tmp/oinkmaster
- Tạo thư mục lưu rule-backup
# mkdir /etc/snort/rulesbackup
- Tạo thư mục temp
# mkdir /tmp/oinkmaster
- Chỉnh sửa file cấu hình
# vi /usr/local/etc/oinkmaster. conf
url = snort. org/pub-bin/oinkmaster.
cgi/a7a0ac0d6e14a691882eab106f27be4bc76fa28f/snortrules-snapshot-CURRENT.
tar. gz
- Chạy oinkmaster để update rules vào 0h:00 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
3.2.10 Startup Script
- Tạo startup script:
# vi /etc/init. d/snort
====
#!/bin/bash
/sbin/ifconfig eth1 up
/usr/local/bin/snort -Dq -u snort -g snort -i eth1 -c /etc/snort/snort. conf -l
/var/log/snort
====
- Make it executable:
# chmod +x /etc/init. d/snort
- The command update-rc. d will set up links between files in the directories rc?. d
# update-rc. d snort defaults 95
Reboot and see if it works!
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
83
3.2.11 Tạo Acc truy cập vào Base
# cd /etc/apache-ssl/
# htpasswd -b -c /etc/apache-ssl/passwdBase admin basedhbk082007
# htpasswd -b /etc/apache-ssl/passwdBase viewer viewerdhbk082007
# htdigest -b -c conf. d/passwdBase realm admin basedhbk082007
# htdigest -b conf. d/passwdBase realm viewer viewerdhbk082007
- Administration
- Create user:
+ Login: snortadmin
+ Fullname: Snort Admin
+ Password: snort2008
+ Role: admin
+ Login: snortviewer
+ Fullname: Snort Viewer
+ Password: viewer2008
+ Role: user
3.2.12 Cấu hình SNMP Server
- Cài đặt gói snmpd để monitor server có thể biết được các thông số về
hệ thống phát hiện xâm nhập
# apt-get -y install snmpd
- Sửa file cấu hình /etc/snmp/snmpd. conf
# vi /etc/snmp/snmpd. conf
===
com2sec local localhost dhbk
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
84
com2sec localnet 203. 128. 246. 0/24 dhbk
group MyROGroup v1 localnet
group MyROGroup v1 local
view all included . 1 80
view system included . iso. org. dod. internet. mgmt. mib-2. system
access MyROGroup "" any noauth exact all none none
- Cấu hình file /etc/default/snmpd. conf
(mặc định debian chỉ nghe trên localhost --> thêm vào interface để nghe trên ip của
nó)
SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd. pid 127. 0.
0. 1 203. 128. 246. 91' // thêm vào ip đằng sau
- Khởi động lại dịch vụ SNMP
# /etc/init. d/snmpd restart
3.2.13 Tạo file index.php để định hướng trình duyệt
https://192.168.40.12
# vi /var/www/index. php
===
<?php
header('Location: ' . "https://192.168.40.12/base/");
?>
===
3.2.14 Cài đặt phần mềm quản trị Webmin
- Thêm vào /etc/apt/source. list
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
85
deb webmin. com/download/repository sarge contrib
# apt-get -y update
# apt-get install webmin
Các gói sau sẽ được cài thêm vào hệ thống:
libauthen-pam-perl libio-pty-perl libmd5-perl libnet-ssleay-perl
- URL đăng nhập: https://192.168.40.12:10000/
3.3 Giao diện hệ thồng sau cài đặt
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
86
+ 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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
87
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:
# SIDs to modify after each update (only for the
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
88
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"
# Chuyển lần xuất hiện đầu tiên EXTERNAL_NET thành HOME_NET
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
89
+ 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
3.3.3. Hướng dẫn sử dụng công cụ phân tích (Base)
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
90
Đă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ị:
Hình 3.2 : Giao diện quản trị
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
91
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
---
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
92
#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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
93
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 để xem thông tin chi tiết
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
94
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
95
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.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
96
+ 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
Hình 3.11 : Xem nội dung một packet
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
97
- 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.
Click vào “Alert Group Management” để thao tác với các nhóm:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
98
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
Click vào "Graph Alert Data" để xem biểu đồ về dữ liệu alert:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
99
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
- Thời gian bắt đầu, thời gian kết thúc
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
100
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.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
101
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
- Sau khi đăng nhập thành công, màn hình xuất hiện cửa sổ sau:
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
102
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
103
- 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ị
Quản trị Server
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
104
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
105
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
106
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
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
107
Hình 3.24 : Quản trị các ứng dụng khác
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
108
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
đó.
Xử lý Thông tin và Truyền Thông Nguyễn Đức Cường
Hệ thống phát hiện xâm nhập mạng
109
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]
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”
Các file đính kèm theo tài liệu này:
- 000000105052R.pdf