Luận văn Hệ thống phát hiện xâm nhập mạng

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

pdf111 trang | Chia sẻ: maiphuongtl | Lượt xem: 2190 | Lượt tải: 2download
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:

  • pdf000000105052R.pdf
Tài liệu liên quan