Là hệ thống có nhiệm vụ theo dõi, phát hiện và có thể ngăn cản sự xâm nhập, cũng như các hành vi trái phép
Hệ thống IDS thu thập thông tin từ nhiều nguồn trong hệ thống rồi tiến hành phân tích
18 trang |
Chia sẻ: maiphuongtt | Lượt xem: 3946 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Tìm hiểu hệ thống phát hiện xâm nhập Snort và giải pháp kết hợp Snort với Iptable, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Firewalls Tìm hiểu hệ thống phát hiện xâm nhập Snort và giải pháp kết hợp Snort với Iptable Giáo viên hướng dẫn: Đinh Tiến Thành Sinh viên thực hiện: Trần Xuân Cương Nguyễn Ngọc Ánh Nguyễn Hiển Hải Bùi Văn Tươi Lê Khắc Giang Trương Văn Trường Ngô Văn Hùng Dương Trung Kiên * * Néi Dung 1.Tổng quan về IDS/IPS 2.Nghiên cứu ứng dụng SNORT trong IDS/IPS 3.Cài đặt và cấu hình Snort trên nền CentOS. Kết hợp SNORT với IPTABLES * * 1.Tổng quan về IDS/IPS * * 1.1 Định nghĩa Là hệ thống có nhiệm vụ theo dõi, phát hiện và có thể ngăn cản sự xâm nhập, cũng như các hành vi trái phép Hệ thống IDS thu thập thông tin từ nhiều nguồn trong hệ thống rồi tiến hành phân tích 1.2 Các thành phần và chức năng của IDS/IPS Tổng quan về IDS/IPS * * 1.3 Phân loại IDS/IPS 1.3.1 Network Based IDS (NIDS) 1.3.2 Host Based IDS (HIDS) * * Tổng quan về IDS/IPS * * 1.4 Cơ chế hoạt động của hệ thống IDS / IPS 1.4.1 Phát hiện sự lạm dụng Hệ thống sẽ phát hiện bằng cách tìm kiếm các hành động tương ứng với các kỹ thuật đã biết đến hoặc điểm dễ bị tấn công của hệ thống 1.4.2 Phát hiện sự bất thường: dựa trên việc định nghĩa và mô tả đặc điểm các hành vi có thể chấp nhận của hệ thống Phát hiện tĩnh Phát hiện động 1.4.3 So sánh giữa 2 mô hình Phát hiện sự lạm dụng và phát hiện Sự bất thường * * * * 1.5 Một số sản phẩm IDS/IPS Cisco IDS-4235: là hệ thống NIDS có khả năng theo dõi toàn bộ lưu thông mạng và đối sánh từng gói tin để phát hiện các dấu hiệu xâm nhập ISS Proventia A201: là sản phẩm của Internet Security Systems. Nó không chỉ là phần cứng hay phần mềm mà là cả hệ thống các thiết bị được triển khai phân tán trong mạng Intrusion Protection Appliance: lưu trữ cấu hình mạng, các dữ liệu đối sánh. Nó là một phiên bản Linux với các driver thiết bị mạng được xây dựng tối ưu Proventia Network Agent: đóng vai trò như bộ cảm biến Sensor. Bố trí tại vị trí nhạy cảm SiteProtector: là trung tâm điều khiển hệ thống proventia NFR NID-310: NFR là sản phẩm của NFR Security. Gồm nhiều bộ cảm biến thích ứng với nhiều mạng khác nhau SNORT: 1.6 So sánh giữa IDS và IPS 2. NGHIÊN CỨU ỨNG DỤNG SNORT TRONG IDS/IPS * * 2.1 Giới thiệu về Snort 2.2 Kiến trúc của Snort 2.3 Bộ luật của Snort 2.4 Chế độ ngăn chặn của Snort: Snort - Inline * * 2.1 Giới thiệu về Snort Snort là một NIDS được Martin Roesh phát triển dưới mô hình mã nguồn mở Nhiều tính năng tuyệt vời phát triển theo kiểu module Cơ sở dữ liệu luật lên đến 2930 luật Snort hỗ trợ hoạt động trên các giao thức: Ethernet, Token Ring, FDDI, Cisco HDLC SLIP, PPP, và PE của Open BDS 2.2 Kiến trúc của một Snort Modun giải mã gói tin (Packet Decoder) Modun tiền xử lý (Preprocessors) Modun phát hiện (Detection Eng) Modun log và cảnh báo (Logging and Alerting System) Modun kết xuất thông tin (Output module) * * 2.2.1 Modun giải mã gói tin Snort sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua hệ thống một gói tin sau khi giải mã sẽ được đưa tiếp vào modun tiền xử lý 2.2.2 Modun tiền xử lý Là modun rất quan trọng để chuẩn bị gói dữ liệu đưa vào cho modun phát hiện phân tích 3 nhiệm vụ chính: Kết hợp các gói tin lại: thông tin truyền đi không đóng gói toàn bộ vào 1 gói tin. Snort sau khi nhận được phải thực hiện ghép nối để có được dữ liệu nguyên dạng Giải mã chuẩn hóa giao thức: công việc phát hiện xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi bị thất bại khi kiểm tra các giao thức có dữ liệu có thể được thể hiện dưới nhiều dạng khác nhau Phát hiện các xâm nhập bất thường: đối phó với các xâm nhập không thể hoặc khó Phát hiện bằng luật thông thường 2.2.3 Modun phát hiện: phát hiện các dấu hiệu xâm nhập. Nó sử dụng các luật được định nghĩa trước để so sánh với dữ liệu thu thập được Có khả năng tách các thành của gói tin ra và áp dụng lên từng phần * * 2.2.4: Modun log và cảnh báo: Tùy thuộc vào modun phát hiện có nhận dạng được hay không mà gói tin có thể bị ghi vào log hoặc đưa ra cảnh báo 2.2.5: Modun kết xuất thông tin Thực hiện các thao tác khác nhau tùy thuộc vào việc bạn muốn lưu kết quả kết xuất ra như thế nào. Nó có thể thực hiện nhiều công việc: Ghi log file Ghi syslog: là chuẩn lưu trữ các file log Ghi cảnh báo vào cơ sở dữ liệu Tạo file log dạng xml Cấu hình lại Router, Firewall Gửi các cảnh báo được gói trong các gói tin sử dụng giao thức SNMP Gửi các thông điệp SMB * * 2.3 Bộ luật của Snort 2.3.1 Giới thiệu Thông thường các tấn công hay xâm nhập đều để lại dấu hiệu riêng. Các thông tin này được sử dụng để tạo nên các luật của Snort Các luật có thể được áp dụng cho tất cả các phần khác nhau của gói tin Một luật có thể được sử dụng để tạo nên một thông điệp cảnh báo, log một thông điệp hay có thể bỏ qua một gói tin 2.3.2 Cấu trúc luật của Snort * * 2.3.2.1 Phần tiêu đề: Chứa thông tin về hành động mà luật đó sẽ thực hiện Cấu trúc chung của phần header một luật của Snort Header của một luật bao gồm các phần: Hành động của luật (Rule Action): chỉ ra các hành động mà điều kiện của luật được thỏa mãn. Một hành động được thực hiện khi tất cả các điều kiện phù hợp Pass: hành động này hướng dẫn snort bỏ qua gói tin này Log: có thể log gói tin vào file hay cơ sở dữ liệu Alert: gửi thông điệp cảnh báo khi có dấu hiệu xâm nhập Activate: tạo cảnh báo và kích hoạt một luật khác kiểm tra thêm các điều kiện Dynamic: đây là luật được gọi bởi các luật khác có hành động là Activate Pro tocols: Chỉ ra loại gói tin mà luật sẽ áp dụng IP ICMP TCP/UDP NGHIÊN CỨU ỨNG DỤNG SNORT TRONG IDS/IPS * * 2.3.2.1 Phần tiêu đề Address: có địa chỉ nguồn và địa chỉ đích. Địa chỉ có thể là 1 địa chỉ IP đơn hoặc địa chỉ của một mạng. Ta dùng từ any để áp luật cho tất cả các địa chỉ alert tcp any any -> 192.168.1.10/32 80 (msg: “TTL=100”; ttl: 100;) Ngăn chặn địa chỉ hay loại trừ địa chỉ: sử dụng dấu (!) ở trước sẽ chỉ cho Snort không kiểm tra gói tin đến hoặc đi từ địa chỉ đó alert icmp ![192.168.2.0/24] any -> any any (msg: “Ping with TTL=100”; ttl: 100;) Danh sách địa chỉ alert icmp ![192.168.2.0/24, 192.168.8.0/24] any -> any any (msg: “Ping with TTL=100”; ttl: 100;) Cổng (Port number): áp dụng luật cho gói tin đến hoặc đi từ 1 cổng hay phạm vi cổng alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: ”Detected confidential”;) Dãy cổng hay phạm vi cổng alert udp any 1024:2048 -> any any (msg: “UDP ports”;) Hướng – direction: chỉ ra đâu là nguồn đâu là đích NGHIÊN CỨU ỨNG DỤNG SNORT TRONG IDS/IPS * * 2.3.2.2 Các tùy chọn: nằm ngay sau phần Rule Header được bao bọc trong dấu ngoặc đơn. Nếu có nhiều option thì phân cách nhau bằng dấu “,” và các tùy chọn này phải đồng thời thỏa mãn Từ khóa ack: trong TCP header thì trường ack dài 32bit chỉ ra số thứ tự tiếp theo của gói tin alert tcp any any -> 192.168.1.0/24 any (flags: A; ack: 0; msg: “TCP ping detected”) Từ khóa classtype: file classification.conf bao gồmtrong file snort.conf. Mỗi dòng có cú pháp: config classification: name, description, priority name: dùng để phân loại, được dùng với từ khóa classtype trong các luật description: mô tả về loại lớp này priority: chỉ độ ưu tiên mặc định của lớp này config classification: DoS , Denial of Service Attack, 2 Từ khóa contents: khả năng đặc tả của snort là tìm một mẫu dữ liệu bên trong. Mẫu này có thể Dưới dạng chuỗi ASCII, hoặc chuỗi nhị phân alert tcp 192.168.1.0/24 any -> ![192.168.1.0/24] any (content: “GET”; msg: “GET match”;) Từ khóa dsize: dùng để đối sánh chiều dài phần dữ liệu alert ip any any -> 192.168.1.0/24 any (dsize: > 6000; msg: “Goi tin co kich thuoc lon”;) NGHIÊN CỨU ỨNG DỤNG SNORT TRONG IDS/IPS * * 2.3.2.2 Các tùy chọn Từ khóa flags: phát hiện những bit cờ flag nào được bật alert tcp any any -> 192.168.1.0/24 any (flags: SF; msg: “SYNC-FIN packet detected”;) Từ khóa fragbits: phần IP header của gói tin chứa 3bit dùng để chống phân mảnh Reserved Bit (RB): dùng để dành cho tương lai Don’t Fragment Bit (DF): bit này được thiết lập thì gói tin đó không bị phân mảnh More Fragments Bit (MF): bit này được thiết lập thì các phần khác của gói tin đang trên đường đi mà chưa tới đích. Nếu bit này không được thiết lập thì có nghĩa đây là phần cuối cùng của gói tin(gói tin duy nhất) alert icmp any any -> 192.168.1.0/24 any (fragbits: D; msg: “Dont Fragment bit set”;) * * 2.4 Chế độ ngăn chặn của Snort: Snort – Inline 2.4.1 Tích hợp khả năng ngăn chặn vào Snort: ý tưởng là kết hợp khả năng ngăn chặn của Iptables vào trong Snort. Điều này thực hiện bằng cách thay đổi modun phát hiện và xử lý cho phép Snort tương tác với Iptable. Việc chặn bắt các gói tin thực hiện thông qua Netfilter 2.4.2 Những bổ xung cho cấu trúc luật của Snort hỗ trợ Inline mode DROP: yêu cầu Iptables loại bỏ gói tin và ghi lại thông tin như hành động Log SDROP: tương tự DROP nhưng không ghi lại Log REJECT: yêu cầu Iptable từ chối gói tin. Iptables sẽ loại bỏ gói tin và gửi lại một thông báo cho nguồn gửi gó tin đó Trình tự ưu tiên của các luật: Trong phiên bản gốc: activation->dynamic-> alert->pass->log Trong inline – mode trình ưu tiên: activation->dynamic->pass->drop->sdrop->reject->alert->log 3.CÀI ĐẶT VÀ CẤU HÌNH SNORT TRÊN NỀN CENTOS.KẾT HỢP SNORT VỚI IPTABLES * * Mời thầy giáo và các bạn cùng theo dõi phần demo