1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về kiến trúc SONRT

34 312 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 34
Dung lượng 1,82 MB

Nội dung

Mục Lục I TỔNG QUAN VỀ SONRT Giới thiệu Snort Snort NIDS Martin Roesh phát triển mơ hình mã nguồn mở Tuy Snort miễn phí lại có nhiều tính tuyệt vời mà sản phẩm thương mại có Với kiến trúc thiết kế theo kiểu module, người dùng tự tăng cường tính cho hệ thống Snort việc cài đặt hay viết thêm module Cơ sở liệu luật Snort lên tới 2930 luật cập nhật thường xuyên cộng đồng người sử dụng Snort chạy nhiều hệ thống Windows, Linux, OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS Bên cạnh việc hoạt động ứng dụng thu bắt gói tin thơng thường, Snort cấu hình để chạy NIDS Snort hỗ trợ khả hoạt động giao thức sau: Ethernet, 802.11,Token Ring, FDDI, Cisco HDLC, SLIP, PPP, PF OpenBSD Kiến trúc Snort Snort bao gồm nhiều thành phần, với phần có chức riêng Các phần là: • Mơđun giải mã gói tin (Packet Decoder) • Mơđun tiền xử lý (Preprocessors) • Mơđun phát (Detection Engine) • Mơđun log cảnh báo (Logging and Alerting System) • Mơđun kết xuất thơng tin (Output Module) • Kiến trúc Snort mơ tả hình sau: Hình : Mơ hình kiến trúc hệ thống Snort Khi Snort hoạt động thực việc lắng nghe thu bắt tất gói tin di chuyển qua Các gói tin sau bị bắt đưa vào Mơđun Giải mã gói tin Tiếp theo gói tin đưa vào môđun Tiền xử lý, mơđun Phát Tại tùy theo việc có phát xâm nhập hay khơng mà gói tin bỏ qua để lưu thông tiếp đưa vào môđun Log cảnh báo để xử lý Khi cảnh báo xác định môđun Kết xuất thông tin thực việc đưa cảnh báo theo định dạng mong muốn Sau ta sâu vào chi tiết chế hoạt động chức thành phần 2.1 Modun giải mã gói tin Snort sử dụng thư viện pcap để bắt gói tin mạng lưu thơng qua hệ thống Hình sau mơ tả việc gói tin Ethernet giải mã nào: Hình 2: Xử lý gói tin Ethernet 2.2 Mơđun tiền xử lý(Preprocessors) Module quan trọng hệ thống để chuẩn bị gói liệu đưa vào cho Module phát phân tích nhiệm vụ chính: • Kết hợp lại gói tin: Khi liệu lớn gửi đi, thông tin khơng đóng gói tồn vào gói tin mà thực phân mảnh, chia thành nhiều gói tin gửi Khi Snort nhận gói tin này, phải thực kết nối lại để có gói tin ban đầu Module tiền xử lý giúp Snort hiểu phiên làm việc khác • Giải mã chuẩn hóa giao thức (decode/normalize): cơng việc phát xâm nhập dựa dấu hiệu nhận dạng nhiều thất bại kiểm tra giao thức có liệu biểu diễn nhiều dạng khác Ví dụ: Web server nhận nhiều dạng URL: URL viết dạng hexa/unicode hay URL chấp nhận dấu / hay \ Nếu Snort thực đơn việc so sánh liệu với dấu hiệu nhận dạng xảy tình trạng bỏ sót hành vi xâm nhập Do vậy, số Module tiền xử lý Snort phải có nhiệm vụ giải mã chỉnh sửa, xếp lại thông tin đầu vào • Phát xâm nhập bất thường (nonrule/anormal): plugin dạng thường để xử lý với xâm nhập khơng thể khó phát luật thông thường Phiển Snort có kèm plugin giúp phát xâm nhập bất thường portscan bo (backoffice) Portscan dùng để đưa cảnh báo kẻ cơng thực qt cổng để tìm lỗ hổng Bo dùng để đưa cảnh báo hệ thống nhiễm trojan backoffice 2.3 Môđun phát (Detection Engine): Đây module quan trọng Snort Nó chịu trách nhiệm phát dấu hiệu xâm nhập Module phát sử dụng luật định nghĩa trước để so sánh với liệu thu thập được, từ xác định xem có xâm nhập xảy hay khơng Một vấn đề quan trọng module phát vấn đề thời gian xử lý gói tin: IDS thường nhận nhiều gói tin thân có nhiều luật xử lý Khi lưu lượng mạng lớn xảy việc bỏ sót khơng phản hồi lúc Khả xử lý module phát phụ thuộc vào nhiều yếu tố: số lượng luật, tốc độ hệ thống, băng thơng mạng Một module phát có khả tách phần gói tin áp dụng luật lên phần gói tin: • • • • IP header Header tầng transport: TCP, UDP Header tầng application: DNS, HTTP, FTP … Phần tải gói tin Do luật Snort đánh số thứ tự ưu tiên nên gói tin bị phát nhiều luật khác nhau, cảnh báo đưa theo luật có mức ưu tiên cao 2.4 Môđun log cảnh báo (Logging and Alerting System) Tùy thuộc vào module phát có nhận dạng xâm nhập hay khơng mà gói tin bị ghi log hay đưa cảnh báo Các file log file liệu ghi nhiều định dạng khác tcpdump 2.5 Môđun kết xuất thông tin (Output Module) Module thực thao tác khác tùy thuộc vào việc cấu hình lưu kết xuất       Ghi log file Ghi syslog Ghi cảnh báo vào sở liệu Tạo file log XML Cấu hình lại Router, firewall Gửi cảnh báo gói gói tin sử dụng giao thức SNMP Vì NIDS nên có ưu nhược điểm tương đồng hệ thống • Ưu điểm  Quản lí phân đoạn mạng(Network segment)  Trong suốt với người sử dụng kẻ cơng  Cài đặt , bảo trì đơn giản khơng làm ảnh hưởng đến mạng  Tránh việc bị công từ chối dịch vụ DoS đến host cụ thể  Có khả xác định lỗi tầng network  Độc lập với hệ điều hành • Nhược điểm  Có thể xảy trường hợp báo động giả , tức khơng có dấu hiệu bất thường mà IDS báo (False positive)  Không thể phân tích lưu lượng mã hóa SSH,IPSec, SSL,v,v,v  NIDS đòi hỏi phải ln cập nhật dấu hiệu công để thực hiệu  Không thể cho biết việc mạng bị cơng có thành cơng hay khơng ,để người quản trị tiến hành bảo trì hệ thống  Một hạn chế giới hạn băng thông Những bọ thu nhập liệu phải thu nhập tất lưu lượng mạng, xếp lại phân tích chúng Khi tốc độ mạng tăng lên khả thu nhập thơng tin vậy.Khi tốc độ mạng tăng lên khả thu thập thông tin Một giải pháp phải đảm bảo cho mạng thiết kế xác Ngồi có số ưu điểm sau:  Snort mã nguồn mở  Chạy nhiều tảng khác hệ điều hành nguồn mở GNU/Lunix mà Snort chạy tảng thương mại Microsoft Windows, Solaris, HP-UX  Snort thường xuyên cập nhật : luật Snort thường xuyên bổ xung cập nhật hình thức xâm nhập Người sử dụng dễ dang tải từ http://www.snort.org  Có khả phát số lượng lớn kiểu thăm dò , xâm nhập khác như: buffer overflow, CGI-Atack,Scan,ICMP.Virus  Snort theo dõi 24/7 với thời gian thật giúp phát liên tục xâm nhập vào hệ thống  Có cộng đồng người sử dụng nhà phát triển  Có nhiều add-on mà thành phần Snort, cung cấp thêm tính dễ dàng sử dụng  Snort không cần phải thay sở hạ tầng an ninh có Bộ luật Snort 3.1.Giới thiệu Cũng giống virus, hầu hết hoạt động công hay xâm nhập có dấu hiệu riêng Các thơng tin dấu hiệu sử dụng để tạo nên luật cho Snort Thông thường, bẫy (honey pots) tạo để tìm hiểu xem kẻ cơng làm thơng tin công cụ công nghệ chúng sử dụng Và ngược lại, có sở liệu lỗ hổng bảo mật mà kẻ công muốn khai thác Các dạng công biết dùng dấu hiệu để phát cơng xâm nhập Các dấu hiệu xuất phần header gói tin nằm phần nội dung chúng Hệ thống phát Snort hoạt động dựa luật (rules) luật lại dựa dấu hiệu nhận dạng cơng Các luật áp dụng cho tất phần khác gói tin liệu Một luật sử dụng để tạo nên thông điệp cảnh báo, log thơng điệp hay bỏ qua gói tin 3.2 Cấu trúc luật Snort Hãy xem xét ví dụ đơn giản : alert tcp 192.168.2.0/24 23 -> any any (content:”confidential”; msg: “Detected confidential”) Ta thấy cấu trúc luật có dạng sau: Rule Header Rule Option Tất Luật Snort logic gồm phần: Phần header phần Option • Phần Header chứa thông tin hành động mà luật thực phát có xâm nhập nằm gói tin chứa tiêu chuẩn để áp dụng luật với gói tin • Phần Option chứa thơng điệp cảnh báo thơng tin phần gói tin dùng để tạo nên cảnh báo Phần Option chứa tiêu chuẩn phụ thêm để đối sánh luật với gói tin Một luật phát hay nhiều hoạt động thăm dò hay cơng Các luật thơng minh có khả áp dụng cho nhiều dấu hiệu xâm nhập Rule Header Dưới cấu trúc chung phần Header luật Snort: Action Protocol Address Port Direction Address Port • Action: phần qui định loại hành động thực thi dấu hiệu gói tin nhận dạng xác luật Thơng thường, hành động tạo cảnh báo log thông điệp kích hoạt luật khác • Protocol: phần qui định việc áp dụng luật cho packet thuộc giao thức cụ thể Ví dụ IP, TCP, UDP … • Address: phần địa nguồn địa đích Các địa máy đơn, nhiều máy mạng Trong hai phần địa địa nguồn, địa đích địa thuộc loại phần Direction “->” qui định • Port: xác định cổng nguồn đích gói tin mà luật áp dụng • Direction: phần đâu địa nguồn, đâu địa đích Ví dụ: lert icmp any any -> any any (msg: “Ping with TTL=100”;ttl: 100;) • alert icmp any any -> any any : phần Header luật • (msg: “Ping with TTL=100”;ttl: 100;) : phần Option luật Rule action (Phần thực thi luật): luật này, kiểu thực thi luật “alert”, nghĩa cảnh báo tạo trùng với dấu hiệu xác nhận Nhớ gói tin ghi log cách mặc định cảnh báo tạo Phụ thuộc vào phần action, phần option luật chứa tiêu chuẩn thêm vào luật Protocol (Giao thức) : luật này, giao thức ICMP, nghĩa luật áp dụng gói tin ICMP Trong phận phát Snort, giao thức gói tin khơng phải ICMP, phần lại gói tin không quan tâm để tiết kiệm thời gian CPU Phần protocol đóng vai trò qian trọng bạn muốn áp dụng luật Snort gói tin với kiểu cụ thể Địa nguồn cổng nguồn : ví dụ này, hai phần “any”, nghĩa luật áp dụng cho tất gói tin đến từ nguồn Dĩ nhiên số cổng khơng liên quan đến gói tin ICMP Số cổng liên quan giao thức sử dụng TCP UDP Direction : Trong trường hợp direction thiết lập từ trái qua phải sử dụng kí hiệu -> Điều số địa cổng phía bên trái nguồn phía bên phải đích Nó có nghĩa luật áp dụng gói tin di chuyển từ nguồn tới đích Bạn sử dụng kí hiệu any any (msg: “Ping with TTL=100”; ttl: 100;) Danh sách địa Ta định rõ danh sách địa luật Snort Ví dụ bạn muốn áp dụng luật cho tất gói tin trừ gói xuất phát từ hai mạng lớp C 192.168.2.0 192.168.8.0 luật viết sau: alert icmp ![192.168.2.0/24, 192.168.8.0/24] any -> any any (msg: “Ping with TTL=100”; ttl: 100;) Hai dấu [] cần dùng có dấu ! đứng trước Cổng (Port Number) Số hiệu cổng dùng để áp dụng luật cho gói tin đến từ đến cổng hay phạm vi cổng cụ thể Ví dụ ta sử dụng số cổng nguồn 23 để áp dụng luật cho tất gói tin đến từ server Telnet Từ any dùng để đại diện cho tất cổng Chú ý số hiệu cổng có ý nghĩa giao thức TCP UDP Nếu protocol luật IP hay ICMP số hiệu cổng khơng đóng vai trò Ví dụ : alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: ”Detected confidential”;) Số hiệu cổng hữu dụng ta muốn áp dụng luật cho loại gói tin liệu cụ thể Ví dụ luật để chống hack cho web ta cần sử dụng cổng 80 để phát công Dãy cổng hay phạm vi cổng: Ta áp dụng luật cho dãy cổng thay cho cổng Cổng bắt đầu cổng kết thúc phân cách dấu hai chấm “:” Ví dụ : alert udp any 1024:2048 -> any any (msg: “UDP ports”;) Ta dùn cổng theo kiểu cận cận dưới, tức sử dụng cổng bắt đầu cổng kết thúc mà thơi Ví dụ “1024:” “:2048” Dấu phủ định áp dụng việc sử dụng cổng Ví dụ sau log tất gói tin ngoại trừ gói tin xuất phát từ cổng 53 log udp any !53 -> any any log udp Sau số cổng thông dụng cổng dịch vụ thông dụng nhất: • 20 FTP data • 21 FTP • 22 SSH • 23 Telnet • 24 SMTP • 53 DNS Server • 80 HTTP • 110 POP3 • 161 SNMP • 443 HTTPS • 3360 MySQL Hướng – Direction Chỉ đâu nguồn đâu đích, -> hay ; TCP header chứa trường Acknowledgement Number dài 32 bit Trường sequence number người gửi mong đợi Trường có ý nghĩa cờ flag trường TCP thiết lập classtype config classification: name,description,priority • name : tên sử dụng cho việc phân loại Tên sử dụng với từ khóa classtype luật Snort • description : mơ tả ngắn kiểu phân loại • priority : thứ tự ưu tiên mặc định cho phân loại, chỉnh sửa từ khóa priority Priority thấp độ ưu tiên cao content content: ; content: ; Một đặc tính quan trọng Snort khả tìm thấy mẫu liệu gói tin Mẫu tồn dạng chuỗi ASCII kí tự thập lục phân Giống virut, kẻ xâm nhập có dấu hiệu từ khóa content để tìm dấu hiệu gói tin Vì Snort phiên 1.x không hỗ trợ giao thức lớp ứng dụng nên từ khóa này, với từ khóa offset, sử dụng để xem xét header lớp ứng dụng offset offset: < value>; Từ khóa offset sử dụng kết hợp với từ khóa content Sử dụng từ khóa này, bạn bắt đầu tìm kiếm từ vị trí xác định so với vị trí bắt đầu gói tin Sử dụng số đối số từ khóa Nhấn Close 9.Thơng báo hồn thành 10 Tải gói hỗ trợ Rules ( yêu cầu đăng ký tài khoản) 11.Sau đăng nhập thành công chọn snortrules-snapshot-2983.tar.gz để tài ( tùy theo cập nhật) 12.Tiến hành giải nén file vừa tải 13 Thư mục sau cài đặt giải nén, tiến hành Copy tất thư mục Snortrules 14 Paste vào Snort( Có thơng báo trùng tến, tiến hành ghi đè ta hình sau) 15 Cấu hình file Snort.conf File cấu hình Snort (snort.conf) nằm thư mục \Snort\etc/ (ví dụ: c:\Snort\etc\snort.conf.) 16 Tiến hành mở file snort.conf, mở có thơng báo, chọn notepad++, subline Text, để mở( chọn subline Text) 16.1 Ta sau 17 Cấu hình Snort Chỉnh sửa file cấu hình để cài đặt sau: 18.1 Thay ipvar var 17.2 Thay HOME_NET địa mà Snort bảo vệ Tìm tới đoạn 17.3 Chuyển thành( tùy địa IP mà ta muốn bảo vệ mà sửa đổi, chọn 192.168.1.1/24) 17.4 Tiếp theo tìm đến đoạn 17.5 Chuyển thành 17.6 Cầu hình thư mục log: Tìm tới đoạn 17.7 Chuyển thành 17.8 Cấu hình thư viện: Tìm tới đoạn 17.9 Chuyển thành 17.10 Tiếp theo tìm tới đoạn 17.11 Chuyển thành 17.12 Cấu hình địa blacklist whitelist Cần đường dẫn để cần đưa ip address vào danh sách tương ứng Cấu hình địa blacklist whitelist Tìm tới 17.13 Chuyển thành 17.14 Cấu hình lại địa classification reference: Ta tìm tới đoạn 17.15 Sau chuyển thành 18 Mở cmd với quyền Administrators Thực thi lệnh: cd /snort Thực thi lệnh: cd bin 19 Cập nhật cấu hình: Chuyển tới thư mục C:\Snort\bin: Thực thi lệnh: snort –W để check interface máy Ví dụ sau: III Viết số luật Alert tcp 192.168.1.0/24 23-> any any (content:”confidential”;msg:”detect confidential”;) Bắt gói liệu đến từ địa nguồn thuộc mạng 192.168.1.0/24 cổng nguồn 23, tới tất địa mạng đích tất cồn đích Tìm signature header gói liệu có nọi dung “confidential” Giao thức sử dụng tcp Alert tcp any any -> 192.168.1.0/24 80 \ (flags: A; ack: 0; msg:”TCP ping detected”;) Phát sử dụng Nmap để quét cổng Với gói liệu có trường ack = 0,gửi tới cổng 80 giao thức tcp Từ khóa flags sử dụng để tìm cờ thiết lập header TCP gói tin Alert tcp 192.168.1.0/24 any ->any any (content:”HTTP”; offset: 4; depth: 40; msg:”HTTP matched”;) Tìm từ HTTP header TCP gói liệu đến từ vị thí thứ đến vị trí 40.Thỏa xuất thơng báo HTTP matched alert tcp 192.168.1.0/24 any -> ![192.168.1.0/24] any (content: “GET”; msg: “GET match”;) Luật tìm mẫu “GET” phần liệu tất gói tin TCP có nguồn từ mạng 192.168.1.0/24 đến địa khơng thuộc mạng Từ “GET” hay dùng công HTTP Một số luật khác: • Config classification: denial-of-service, Detection of a Denial of Service • • • • • • • Attack,2 Alert udp any any -> 192.168.1.0/24 6838 (msg: “Dos”; content:”server” ; classtype: denial-of-server;) Alert udp any any -> 192.168.1.0/24 6838 (msg:”Dos”; content:”server”; classtype: denial-of-service;priority: 1;) alert tcp any any -> 192.168.1.10/32 80 (msg: “TTL=100”; ttl: 100;) alert udp any 1024:2048 -> any any (msg: “UDP ports”;) alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: ”Detected confidential”;) alert tcp any any -> 192.168.1.0/24 any (flags: A; ack: 0; msg: “TCP ping detected”) alert udp any any -> 192.168.1.0/24 6838 (msg:”DoS”; content: “server”; classtype: DoS;) III Tài liệu tham khảo 1.Cài đặt Snort Windows: http://jukaihelios.blogspot.com/2014/09/cai-at-snorttren-windows.html 2.Tài liệu tham khảo: http://sinhvienit.net/forum/tim-hieu-snort-ids-ips.149317.html ... (Logging and Alerting System) • Môđun kết xuất thông tin (Output Module) • Kiến trúc Snort mơ tả hình sau: Hình : Mơ hình kiến trúc hệ thống Snort Khi Snort hoạt động thực việc lắng nghe thu bắt tất... Snort bảo vệ Tìm tới đoạn 17.3 Chuyển thành( tùy địa IP mà ta muốn bảo vệ mà sửa đổi, chọn 192.168.1.1/24) 17.4 Tiếp theo tìm đến đoạn 17.5 Chuyển thành 17.6 Cầu hình thư mục log: Tìm tới đoạn... qua gói tin 3.2 Cấu trúc luật Snort Hãy xem xét ví dụ đơn giản : alert tcp 192.168.2.0/24 23 -> any any (content:”confidential”; msg: “Detected confidential”) Ta thấy cấu trúc luật có dạng sau:

Ngày đăng: 02/06/2019, 21:11

TỪ KHÓA LIÊN QUAN

w