Đồ án Tìm hiểu về Honeypots

Honeyd cũng hỗtrợviệc tích hợp các topology mạng ảo với các máy chủvật lý

trên mạng. Giảsửmuốn tích hợp vào mạng ảo một máy chủnằm tại địa chỉ10.1.1.53.

Máy chủnày được đặt trong mạng LAN chứa máy chủHoneyd và các máy bàn khác,

nhưng muốn đặt một cách logic sau vài bước nhảy bên trong mạng ảo. Hình 3.6 mô tả

cấu trúc của mạng:

Dùng lệnh "bind" đểgắn một máy chủvật lý bên ngoài vào trong mạng. Cấu hình sẽ

nhưsau:

bind 10.1.1.53 to eth0

Cấu hình trên báo cho Honeyd biết rằng 10.1.1.53 có thể được kết nối thông qua giao

diện eth0; vì 10.1.1.53 nằm trong phần mạng sau router R3 (một cách logic), một gói

tin tới địa chỉIP sẽchạy qua R1, R2 và R3 trước khi đến 10.1.1.53. Đểthấy điều này,

hãy lần theo đường định tuyến đến 10.1.1.53 từmáy bàn trên mạng LAN:

C:\>tracert 10.1.1.53

Tracing route to 10.1.1.53 over a maximum of 30 hops

1 * * * Request timed out.

2 <10 ms 10 ms 10 ms 10.0.1.100

3 10 ms 20 ms 20 ms 10.1.0.100

4 10 ms 20 ms 20 ms 10.1.1.53

Trace complete.

pdf73 trang | Chia sẻ: netpro | Ngày: 10/04/2013 | Lượt xem: 2276 | Lượt tải: 17download
Bạn đang xem nội dung tài liệu Đồ án Tìm hiểu về Honeypots, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
0.2.1.52 window ___________________________________________________________________________ Honeypots 26 Honeyd cũng cho phép thiết lập nhiều đường vào mạng ảo. Ví dụ: hình 3.7 thêm vào một mạng mới được kết nối thông qua router R4 ở 10.0.0.200. Tạo một đầu vào mới khá đơn giản: dùng lệnh "rounte entry" một lần nữa để định nghĩa router mới. Phần còn lại của mạng có thể được xây dựng thông qua việc kết hợp "route add net" với "route link". Đối với mạng này, có một cấu hình cho điểm vào thứ 2 và mạng đằng sau nó: Hình 3.7: Thiết lập nhiều router đầu vào ___________________________________________________________________________ Honeypots 27 Cấu hình "route entry" thêm vào một router mới R4 tại IP 10.0.0.200 phục vụ cho mạng 10.2.0.0/24, route link chỉ định mạng 10.2.0.0/24 có thể được kết nối trực tiếp thông qua router R4. Route add net sau đó thêm một cổng vào tại 10.2.0.100 phục vụ cho mạng 10.2.1.0/24. Tiếp đó, route link chỉ thị rằng mạng 10.2.1.0/24 có thể được kết nối trực tiếp từ router mới này. Gắn địa chỉ IP của router mới với mẫu router, và 4 địa chỉ honeyd với mẫu window. III.7 Đường hầm GRE để thiết lập mạng phân tán Hình 3.8: Đường hầm GRE để thiết lập mạng phân tán Một tính năng nổi trội khác của Honeyd là khả năng truyền dữ liệu thông qua đường hầm từ một mạng ảo trong máy chủ Honeyd tới các mạng khác từ xa để thiết lập một mạng phân tán. Tính năng này được sử dụng để giả lập một mạng phân tán thông qua máy chủ Honeyd hoặc dùng một máy chủ Honeyd để phục vụ nhiều mạng phân tán. Trong phần sau, sẽ thiết lập máy chủ Honeyd đóng vai trò như một tập hợp các Honeypots tương tác, một dạng site tập trung. Các thành phần tham gia có thể ___________________________________________________________________________ Honeypots 28 kiểm soát một phần của không gian địa chỉ IP bằng cách định tuyến tới không gian địa chỉ đó thông qua một đường hầm tới máy chủ Honeyd. Hình 3.8 mô tả hệ thống mạng này: Để hiểu cách cấu hình đường hầm GRE (Generic Route Encapsulation), sẽ xem xét một phiên bản đơn giản của mạng đã phát triển. Trong hình 3.8, mạng 10.3.1.0/24 được đặt xuyên qua WAN, có thể là xuyên qua mạng lưới quốc gia. Dùng tính năng đường hầm GRE của Honeyd, có thể truyền dữ liệu từ router R7 tới router ảo R6 như thể 2 router được kết nối trực tiếp với nhau. Đối với người dùng trên mạng xuyên quốc gia, điều này có vẻ như mạng giả lập bên trong máy chủ Honeyd chỉ cách một trạm truyền, khi lưu thông được thực hiện thông qua đường hầm qua liên kết ảo được thiết lập giữa 2 router. Máy chủ Honeyd của ta có thể nhờ đó được sử dụng để phục vụ một mạng ở xa. Để cấu hình máy chủ Honeyd thiết lập đường hầm GRE như hình 3.8, phải thêm R6 - router có giao diện bên ngoài là 172.20.254.1 như một router ảo có thể triển khai đường hầm. R6 là một router vào mới cho phép lưu thông tới mạng 10.3.2.0/24. Khi nó không cần thiết phải triển khai router cho việc truyền dữ liệu thông qua đường hầm, sẽ dễ hiểu cấu hình cho router ảo: route entry 172.20.254.1 network 10.3.2.0/24 Sau đó mô tả mạng 10.3.2.0/24 được kết nối trực tiếp từ router trên với lệnh "route link" route 172.20.254.1 link 10.3.2.0/24 Để thiết lập đường hầm, dùng cấu trúc "route add net tunnel". Đầu cuối thứ nhất của đường hầm là địa chỉ IP bên ngoài của Router R6, vd 172.20.254.1. Địa chỉ IP vật lý của router ở xa 172.30.254.1 sẽ là đầu cuối thứ 2 của đường hầm. Trong tập tin cấu hình, sẽ chỉ định router ảo và mạng ở xa mà sẽ dùng đường hầm để kết nối, như sau: route 172.20.254.1 add net 10.3.1.0/24 tunnel 172.20.254.1 172.30.254.1 Chú ý là router R7 xuyên qua WAN phải được cấu hình để làm đầu cuối cho đường hầm GRE từ router ảo và định tuyến các gói tin đến đích. Đến đây, mọi lưu thông từ mạng 10.3.1.0/24 tới các Honeypots cung cấp bởi Honeyd sẽ được thực hiện thông qua đường hầm GRE giữa router R6 và R7. Với chức ___________________________________________________________________________ Honeypots 29 năng này, có thể có một mạng phân tán và tạo một topology mạng ảo xuyên qua chúng để che dấu đi mạng vật lý khỏi các cuộc tấn công từ bên ngoài. Một số Operating System: Cisco 1601 router running IOS 12.0(8) Cisco 1601R router running IOS 12.1(5) Cisco 2611 router running IOS 12.2(7a) Cisco 2620 running IOS 12.2(19a) Cisco 3600 router running IOS 12.2(6c) Cisco 4000 Series running IOS 12.0(10.3) Cisco 5200 router running IOS v12.0(15) Cisco 7200 router running IOS 12.1(14)E6 Cisco 7204 router running IOS 12.1(19) Cisco 7206 router running IOS Version 12.2(13)T8 Cisco 837 router running IOS 12.3(11)T Cisco IOS 12.0(21) (On a 2514 router) Cisco IOS 12.0(3.3)S (perhaps a 7200 router) Cisco IOS 12.0(5)WC3 - 12.0(16a) Cisco IOS 12.0(7)T (on a 1700 router) Cisco IOS 12.1(4) on a 2600 router Cisco IOS 12.2(8)T5 on a 7507 router Linux 2.4.20 (Itanium) Linux 2.4.20 (Red Hat) Linux 2.4.20 (X86, Redhat 7.3) Linux 2.4.20 - 2.4.22 w/grsecurity.org patch Linux 2.4.20 x86 Linux 2.4.20-ac2 Linux 2.4.21 (Suse, X86) Linux 2.4.21 (x86) Linux 2.4.21 (x86, RedHat) Microsoft Windows Server 2003 Microsoft Windows Server 2003 Enterprise Edition Microsoft Windows Server 2003 or XP SP2 Microsoft Windows Server 2003 Standard Edition Microsoft Windows XP Home Edition Microsoft Windows XP Home Edition (German) SP1 Microsoft Windows XP Home SP1 Microsoft Windows XP Pro Microsoft Windows XP Pro (German) Microsoft Windows XP Pro (German) SP1 ___________________________________________________________________________ Honeypots 30 Chương IV: Hệ thống phát hiện xâm nhập IV.1 Giới thiệu Intrusion Detection là thiết bị bảo mật vô cùng quan trọng. Intrusion Detection Systems (IDS) là giải pháp bảo mật được bổ sung cho Firewalls (hình dưới đây thể hiện điều đó). Một IDS có khả năng phát hiện ra các đoạn mã độc hại hoạt động trong hệ thống mạng và có khả năng vượt qua được Firewall. Có hai dạng chính của IDS đó là: Network Based và Host Based Hình 4.1: Network Based và Host Based Network Based Một Network-Based IDS sẽ kiểm tra các giao tiếp trên mạng với thời gian thực (real-time). Nó kiểm tra các giao tiếp, quét header của các gói tin, và có thể kiểm tra nội dung của các gói đó để phát hiện ra các đoạn mã nguy hiểm hay các dạng tấn công khác nhau. Một Network-Based IDS hoạt động tin cậy trong việc kiểm tra, phát hiện các dạng tấn công trên mạng, ví dụ như dựa vào băng thông (bandwidth-based) của tấn công Denied of Service (DoS). ___________________________________________________________________________ Honeypots 31 Host Based Một Host-Based IDS chỉ làm nhiệm vụ giám sát và ghi lại log cho một máy chủ (host-system). Đây là dạng IDS với giới hạn chỉ giám sát và ghi lại toàn bộ những khả năng của host-system (nó bao gồm cả hệ điều hành và các ứng dụng cũng như toàn bộ service của máy chủ đó). Host-Based IDS có khả năng phát hiện các vấn đề nếu các thông tin về máy chủ đó được giám sát và ghi lại. Là thiết bị bảo mật cho phát hiện các tấn công trực tiếp tới một máy chủ. Active Detection and Passive Detection IDS là một hệ thống tự động giám sát trong thời gian thực (Network-Based IDS) hay xem sét lại các thiết lập giám sát (audit log) nhằm phát hiện ra các lỗi bảo mật và các tấn công trực tiếp tới hệ thống mạng hay tới một máy chủ. Có hai phương thức cơ bản để IDS phát hiện ra các tấn công hay các nguy cơ bảo mật là: Signature Detection và Anomaly Detection. Signature Detection sẽ so sánh các tình huống thực tế với các dạng tấn công (signatures) được lưu trữ trong dữ liệu của IDS. Anomaly Detection sẽ hoạt động tùy thuộc vào môi trường và có thể phát hiện ra những biến cố bất thường. Anomaly-detection dựa vào những hoạt động bình thường của hệ thống để tự động phát hiện ra những điều không bình thường và phân tích xem đó là dạng tấn công nào. Một IDS active detection: phát hiện và trả lời được thiết kế để có hành động nhanh nhất nhằm giảm thiểu các nguy hiểm có thể xảy ra với hệ thống. Việc trả lời có thể như tắt máy chủ hay tắt các dịch vụ, ngắt các kết nối. Một IDS với passive detection sẽ trả lời nhưng không có các hành động trực tiếp chống lại các tấn công. Nó có thể ghi lại log của toàn bộ hệ thống và cảnh báo cho người quản trị hệ thống. IDS là thiết bị phát hiện tấn công DoS rất tốt; phát hiện các bugs (lỗi hệ thống), flaws (lỗ hổng, khiếm khuyết) hoặc các tính năng ẩn, và quét ports. Nhưng nó không có khả năng phát hiện các tấn công dựa trên các email chứa các đoạn mã nguy hiểm. ___________________________________________________________________________ Honeypots 32 Các thành phần của IDS hoạt động để giám sát mạng. Hình 4.2: Các thành phần của IDS hoạt động để giám sát mạng Hình dưới đây IDS yêu cầu Firewall chặn port 80 trong 60 giây để chống lại các tấn công vào máy chủ Web cài IIS. ___________________________________________________________________________ Honeypots 33 Hình 4.3: IDS yêu cầu Firewall chặn port 80 Có hai yêu cầu chính khi triển khai một IDS đó là chi phí cùng với khả năng đáp ứng linh họat của nó trước sự phát triển nhanh chóng của công nghệ thông tin và SNORT có thể đáp ứng rất tốt cả hai yêu cầu này. Đó là một phần mềm mà có thể tải về và sử dụng miễn phí, cho nên yếu tố về chi phí hoàn toàn có thể yên tâm. Ngoài ra SNORT còn là một sản phẩm mã nguồn mở và có một cộng đồng phát triển đông đảo được quản lí chặt chẽ cho nên khi có những dạng xâm nhập mới được phát hiện thì ngay lập tức được các nhà phát triển cảnh báo và cập nhật Snort Rules một cách nhanh chóng và các doanh nghiệp có thể thay đổi mã nguồn cho phù hợp với yêu cầu của mình. Vì vậy SNORT là phần mềm IDS mạnh mẽ và được yêu thích nhất hiện nay trên thế giới trong vấn đề phát hiện xâm nhập. ___________________________________________________________________________ Honeypots 34 Snort có 4 chế độ hoạt dộng khác nhau đó là: Sniffer mode: đọc các gói tin trên mạng sau đó sẽ trình bày kết quả trên giao diện hiển thị, ở chế độ này snort sẽ lắng nghe. Packet Logger mode : lưu trữ các gói tin trong các tập tin log. Network instruction detect system (NIDS) : đây là chế độ họat động mạnh mẽ và được áp dụng nhiều nhất, khi họat động ở NIDS mode Snort sẽ phân tích các gói tin luân chuyển trên mạng và so sánh với các thông tin được định nghĩa của người dùng để từ đó có những hành động tương ứng như thông báo cho quản trị mạng khi xảy ra tình huống quét lỗi do các hacker/attacker tiến hành hay cảnh báo virus.. Inline mode: khi triển khai snort trên linux thì có thể cấu hình snort để phân tích các gói tin từ iptables (trong iptables chia ra thành các bảng (tables); trong mỗi bảng sẽ chia ra thành nhiều chuỗi (chains) để xử lý packet tùy theo tình huống (hướng đi của packets); trong mỗi chain sẽ có các luật (rules) mà mình sẽ cấu hình để xử lý các packets tương ứng với mỗi chain) thay vì libpcap do đó iptable có thể drop hoặc pass các gói tin theo snort rule. IV.2 Cài đặt Snort trên Windowns IV.2.1. Cài đặt Snort Có thể đặt Snort trước hoặc sau một hệ thống firewall tùy yêu cầu bảo mật của tổ chức. Và nếu hệ thống mạng có nhiều phân đọan mạng thì mỗi subnet (lớp mạng con) phải có một máy chủ Snort được cài đặt, không như các sản phẩm thương mại khác ngoài tính năng chi phí bản quyền cao thì thường đòi hỏi cấu hình phần cứng mạng, với Snort thì có thể cài đặt và cấu hình trên x386 computer, tuy nhiên cần có đĩa cứng có đủ không gian trống để lưu trữ các packet được bắt giữ, và với công nghệ lưu trữ hiện nay thì điều nầy không phải là một vấn đề. Snort hoạt động như một network sniffer lắng nghe và lưu giữ các packet trên mạng sau đó so sánh các nội dung hoặc header của chúng với một tập các qui tắc đã được định nghĩa gọi là các Snort rule và khi một sự trùng khớp giữa rule và các packet thì những hành động của rule sẽ được tiến hành tùy theo định nghĩa. Một điểm thuận lợi là các rule này luôn được cập nhật nhanh chóng bởi cộng đồng phát triển cho nên khả năng đáp ứng của Snort trước các dạng tấn công hiện đại rất cao. ___________________________________________________________________________ Honeypots 35 Snort sử dụng ba thành phần sau để tiến hành công việc của mình: Packet decoder : phân tích gói tin, kể cả IP Header và Data Payload Detect engineer : dò tìm các dấu hiệu khả nghi theo tập hợp các quy tắc. Logging và alert system : lưu giữ và cảnh báo. Ba thành phần này dùng libcap để lưu giữ gói tin khi cài Snort trên hệ điều hành linux. Còn nếu cài trên hệ thống windows thì phải thay libcap bằng winpcap. Tải winpcap từ www.iltiloi.com và Snort www.snort.org và chọn bản cài trên Windows. Sau đó click vào tập tin chương trình Snort_Installer.exe để bắt đầu tiến trình cài đặt. Trên màn hình Installation Options có các cơ chế lưu trữ log file theo cơ sở dữ liệu SQL hay Oracle, trong phần này chỉ lưu trữ log nên sẽ chọn tùy chọn đầu tiên là “I do not plan to log to a database, or I am planing to log to one of the databse listed above” Hình 4.4: Cài đặt Snort ___________________________________________________________________________ Honeypots 36 Sau khi đã cài đặt Snort tiếp theo cần phải thiết lập các tham số quan trọng như HOME_NET và PATH_RULE để sử dụng Snort và thực hiện các công việc tiếp theo. Đây là bước mà thường làm cho quá trình cài đặt và sử dụng Snort bị lỗi do khai báo sai. File C:\Snort\etc\snort.conf là file chứa nhiều cài đặt và một phiên bản mới có thể thay đổi dễ gây ra nhầm lẫn. File snort.conf điều khiển mọi thứ về việc Snort sẽ giám sát cái gì, chúng tự bảo vệ như thế nào, các luật gì chúng sử dụng để tìm thấy lưu lượng nguy hiểm, và thậm chí là cách chúng giám sát các lưu lượng nguy hiểm tiềm tàng mà không được định nghĩa bằng các dấu hiệu như thế nào. File này được tổ chức thành nhiều phần và chứa nhiều các lời chú thích và hướng dẫn để sử dụng một vài tùy chọn có thể đối với các mục cấu hình khác nhau): ·Các biến cấu hình. ·Cấu hình bộ giải mã và bộ phận phát hiện của Snort. ·Cấu hình tiền xử lí. ·Cấu hình xuất thông tin. ·Các file kèm theo. Các biến cấu hình Phần đầu của file dành cho việc ghi lại một vài thông tin cấu hình. Hầu hết các biến được sử dụng bởi các luật Snort để xác định chức năng của một vài hiển thị và vị trí của các phần khác. Các biến vạch ra cách bố trí môi trường mà Snort có thể quyết định sự kiện nào sẽ tạo ra cảnh báo. Các biến tìm kiếm cả địa chỉ IP và cổng TCP mà một dịch vụ đang lắng nghe. Theo mặc định, các biến được khai báo với giá trị bất kì. Nó đúng với bất kì địa chỉ IP nào. Khi giá trị này được sử dụng, nó có thể tạo ra một số lượng lớn các cảnh báo nhầm. Để xác định một địa chỉ đơn, chỉ cần đánh vào địa chỉ IP đó: var HOME_NET 10.0.0.100 Cũng có thể xác định nhiều địa chỉ, các nhóm địa chỉ nằm trong dấu ngoặc vuông và các địa chỉ cách nhau bởi dấu phẩy (không có khoảng trắng): var HOME_NET [10.10.0.52,192.168.1.23,172.16.30.52] Cũng có thể xác định một không gian địa chỉ bằng cách xác định số các bit trong subnet mask. ___________________________________________________________________________ Honeypots 37 var HOME_NET 10.0.0.0/24 Có thể kết hợp các kiểu ghi địa chỉ như sau : var HOME_NET [192.168.33.12,172.16.0.0/16,10.0.0.51,10.0.0.0/24] Có thể sử dụng kí tự “!” để phủ định. Lưu ý rằng khi thiết lập các biến thì chỉ sử dụng tên biến. Khi thật sự sử dụng biến thì phải đặt kí tự “$” trước tên biến. Ví dụ sau đây sẽ thiết lập biến EXTERNAL_NET là tất cả các địa chỉ không nằm trong biến HOME_NET: var EXTERNAL_NET !$HOME_NET Một vài biến cần gán cho số cổng, không phải là địa chỉ IP. Gán 1 cổng đơn, 1 dãy các cổng liên tục hoặc là phủ định của 1 cổng. Ví dụ: var ORACLE_PORTS 1521 var ORACLE_PORTS 8000:8080 (các cổng từ 8000 đến 8080) var ORACLE_PORTS :8080 (các cổng lớn hơn 8080) var SHELLCODE_PORTS !80 (không phải cổng 80) Các biến mặc định trong file snort.conf là: HOME_NET - sử dụng để xác định địa chỉ IP của hệ thống đang bảo vệ. EXTERNAL_NET - nên sử dụng kí tự “!” để xác định mọi thứ không nằm trong mạng bên trong !$EXTERNAL. Các biến được sử dụng để định nghĩa các Server chạy các dịch vụ mà có các luật xác định là : DNS_SERVERS SMTP_SERVERS HTTP_SERVERS SQL_SERVERS TELNET_SERVERS SNMP_SERVERS HTTP_PORTS Cổng 80 là cổng mặc định của HTTP. SHELLCODE_PORTS Thường được đặt là các cổng không phải là 80 ___________________________________________________________________________ Honeypots 38 ORACLE_PORTS Xác định cổng mà Orale lắng nghe. Mặc định, Oracle lắng nghe ở cổng 1521. AIM_SERVERS Biến này được sử dụng bởi các luật để giám sát lưu lượng peer-to-peer và instant messenger. Nó được cấu hình với các danh sách địa chỉ server AOL Instant Messenger. Danh sách này thay đổi theo thời gian. RULE_PATH Biến này cần được thiết lập đúng, nếu không, Snort sẽ không hoạt động. Nó chỉ đến vị trí các luật trong file hệ thống. Nếu các luật được đặt trong C:\Snort\rules thì phải thiết lập biến như sau : var RULE_PATH C:/Snort/rules IV.2.2 Cấu hình bộ giải mã và bộ phận phát hiện của Snort Bộ giải mã Snort giám sát cấu trúc gói tin để đảm bảo chúng được xây dựng theo qui định. Nếu một gói tin có kích thước lạ, một tập hợp tùy chọn lạ, hoặc là các thiết lập không phổ biến, Snort sẽ tạo ra một cảnh báo. Nếu không quan tâm đến các cảnh báo này hoặc là số lượng các cảnh báo nhầm quá lớn thì có thể tắt việc tạo ra cảnh báo của bộ giải mã. Theo mặc định, tất cả các cảnh báo đều được bật. Để tắt một kiểu cảnh báo cụ thể, xóa kí tự “#” ở đầu dòng. Các tùy chọn cấu hình bộ giải mã: # config disable_decode_alerts # config disable_tcpopt_experimental_alerts # config disable_tcpopt_obsolete_alerts # config disable_tcpopt_ttcp_alerts # config disable_tcpopt_alerts # config disable_ipopt_alerts config order: [pass, alert, log, activation, or dynamic] Thay đổi thứ tự các luật được đánh giá. config alertfile: alerts Thiết lập file cảnh báo output. config decode_arp Bật giải mã arp (snort -a). ___________________________________________________________________________ Honeypots 39 config dump_chars_only Bật dump kí tự (snort -C). config dump_payload Dump thông tin lớp ứng dụng (snort -d). config decode_data_link Giải mã header lớp 2 (snort -e). config set_gid: 30 Thay đổi GID (snort -g). config interface: Thiết lập giao diện mạng (snort -i). config alert_with_interface_name Gán tên cho cảnh báo (snort -I). config logdir: /var/log/snort Thiết lập thư mục log (snort -l). config umask: Thiết lập umask khi đang chạy (snort -m). config pkt_count: N Thoát ra sau N gói tin (snort -n). config nolog Tắt việc ghi log (vẫn còn cảnh báo) (snort -N). config quiet Tắt các đầu đề và trạng thái bản báo cáo (snort -q). config set_uid: Thiết lập UID (snort -u). config utc Sử dụng UTC thay vì thời gian cục bộ cho timestamp (snort-U). config verbose Sử dụng ghi log Verbose cho stdout (snort -U). config dump_payload_verbose Bỏ raw packet bắt đầu từ lớp liên kết (snort -X ). ___________________________________________________________________________ Honeypots 40 config show_year Hiển thị năm trong timestamps (snort -y). - Cấu hình tiền xử lí Các bộ tiền xử lí phục vụ một số mục đích. Chúng chuẩn hóa lưu lượng cho nhiều loại dịch vụ, đảm bảo rằng dữ liệu trong các gói tin mà Snort giám sát sẽ có 1 định dạng mà các dấu hiệu sẽ được nhận ra. Một chức năng khác của bộ tiền xử lí là tự bảo vệ. Nhiều loại tấn công được thiết kế để gây nhầm lẫn hoặc làm tràn ngập bộ cảm biến NIDS, vì vậy mà kẻ tấn công có thể thực hiện tấn công mà không bị phát hiện. Tiền xử lí frag2 và stream4 chủ yếu là các cơ chế phòng thủ. Lợi ích cuối cùng của bộ tiền xử lí là chúng mở rộng khả năng của Snort để phát hiện các điều bất thường mà có thể là dấu hiệu xâm nhập. - Cấu hình xuất kết quả Một trong những sức mạnh thật sự của Snort là các tùy chọn để xuất các cảnh báo và thông tin phát hiện xâm nhập. Nhiều nhà quản trị Snort sử dụng các ứng dụng của công ty thứ ba để giám sát và nghiên cứu thông tin tạo ra bởi Snort. Để làm được việc đó, Snort phải xuất dữ liệu theo một định dạng cụ thể. Output plug-ins thực hiện nhiệm vụ này. Lưu ý rằng việc sử dụng một vài plug-in này đòi hỏi nhà quản trị phải thực hiện một vài bước khi Snort được biên dịch. Ví dụ, để cho phép Snort xuất dữ liệu ra một cơ sở dữ liệu MySQL, MySQL client cần được cài đặt trên hệ thống Snort và tùy chọn --with-mysql phải được xác định với câu lệnh ../configure. Một vài tùy chọn chỉ sử dụng được trên các platform cụ thể. Ví dụ, chỉ hệ thống Window có thể log trực tiếp vào Microsoft SQL Server với plug-in mysql (hệ thống Unix phải dùng ODBC với plug-in odbc). Nhiều plug-in output có thể được bật, cho phép nhiều công cụ được triển khai bởi nhà quản trị. - Cơ sở dữ liệu Plug-in cơ sở dữ liệu cho phép viết nhiều cơ sở dữ liệu liên quan với nhau trên cùng một hệ thống đang chạy Snort hoặc trên một host khác. Khi ghi log vào một cơ sở dữ liệu, nhiều thông tin được ghi lại – bao gồm các cảnh báo, liên quan đến host, và gói tin gây ra cảnh báo – làm cho việc phân biệt giữa các cảnh báo thật và giả dễ dàng hơn. Thỉnh thoảng việc ghi log vào một server cơ sở dữ liệu có thể gây ra nghẽn cổ chai, vì ___________________________________________________________________________ Honeypots 41 chỉ có một cảnh báo được ghi log vào 1 thời điểm. Một server cơ sở dữ liệu được cấu hình tốt có thể giải quyết vấn đề này. Plug-in output cơ sở dữ liệu có định dạng sau : output database: , , Chọn log hoặc alert. Log gửi thông tin log đến cơ sở dữ liệu, và alert gửi các cảnh báo. Lưu ý rằng log bao gồm các thông tin cảnh báo và thông tin gói tin tạo ra cảnh báo. Nếu muốn gửi cả hai đến cơ sở dữ liệu, cần chọn 2 dòng output cơ sở dữ liệu. Đây là nơi xác định kiểu cơ sở dữ liệu mà ghi log. Snort hỗ trợ các dạng sau : mysql, postgresql, oracle, odbc, and mssql. Khi cấu hình một plug-in output cơ sở dữ liệu cụ thể, thiết lập các thông số sau (không có dấu phẩy giữa các thông số) : Thông số và mô tả chi tiết. Host: Địa chỉ IP của server cơ sở dữ liệu. Nếu để trống, nó sẽ là máy cục bộ (local machine) port: Cổng mà cơ sở dữ liệu đang lắng nghe. Chỉ cần xác định nếu không sử dụng cổng chuẩn. dbname= Tên cơ sở dữ liệu ghi log user Username mà Snort sử dụng để ghi log vào cơ sở dữ liệu. password Password được sử dụng để log vào cơ sở dữ liệu. Có thể xác định mức độ chi tiết được sử dụng để khi gửi thông tin đến cơ sở dữ liệu. Full sẽ bao gồm tất cả thông tin mà Snort thu thập, bao gồm cả header và thông tin gói tin. Fast thì nhanh hơn 1 chút, nhưng bao gồm ít thông tin hơn như tên cảnh báo, địa chỉ và cổng nguồn, đích và thời gian. Full được khuyên dùng. - Các file kèm theo Thành phần cuối cùng trong file snort.conf là các mục đính kèm. Câu lệnh include nói cho Snort đính kèm thông tin trong các file đặt trong file hệ thống Snort. ___________________________________________________________________________ Honeypots 42 Những file này bao gồm thông tin cấu hình và các file chứa luật mà Snort sử dụng để phát hiện xâm nhập. Đường dẫn mặc định nên được xác định sớm trong cấu hình. Sử dụng biến $RULE_PATH để chỉ vị trí của chúng, hoặc sử dụng tên đầy đủ để chỉ các file luật mà muốn sử dụng. Nhiều file đính kèm có thể được sử dụng trong một cấu hình. Đây là mẫu cấu hình đính kèm nói cho Snort các file luật nào được sử dụng : # include $RULE_PATH/telnet.rules (không sử dụng file luật này) include $RULE_PATH/dos.rules include $RULE_PATH/icmp.rules Nếu đang sử dụng cài đặt phân loại mức độ ưu tiên hoặc tham chiếu đến bất kì một hệ thống nào, sử dụng các mục sau đây. Đảm bảo rằng các file này tồn tại khi khởi động Snort. Những file này giúp phân loại và ưu tiên cho các cảnh báo tùy theo mức độ. Chỉnh sửa file classification.config theo ý muốn. Sau khi file này được cấu hình theo nhu cầu có thể sử dụng console để tìm kiếm các cảnh báo có độ ưu tiên cao nhất. File reference.config bao gồm các link đến các trang web với thông tin về tất cả các cảnh báo. Nó rất hữu dụng. # include classification & priority settings include classification.config # include reference systems include reference.config Ví dụ về Snort rule: Sau đây là một số snort rule cơ bản cùng với những mô tả của chúng. Log tất cả các truyền thông kết nối đến port 23 của dịch vụ telnet: log tcp any any -> 10.0.1.0/24 23 Log các ICMP traffic đến lớp mạng 10.0.1.0: log icmp any any -> 10.0.1.0/24 any Cho phép tất cả các quá trình duyệt Web mà không cần ghi log: Pass tcp any 80 -> any 80 Tạo một cảnh báo với thông điệp kèm theo : alert tcp any any -&

Các file đính kèm theo tài liệu này:

  • pdfGiả lập mạng với honeypot.pdf