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

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

35 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 35
Dung lượng 1,82 MB

Nội dung

Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng luật lên từngphần của gói tin: IP header  Header ở tầng transport: TCP, UDP  Header ở tầng application: DNS, H

Trang 1

Mục Lục

I TỔNG QUAN VỀ SONRT 3

1 Giới thiệu về Snort 3

2 Kiến trúc của Snort 3

2.1 Modun giải mã gói tin 4

2.2 Môđun tiền xử lý(Preprocessors) 5

2.3 Môđun phát hiện (Detection Engine): 5

2.4 Môđun log và cảnh báo (Logging and Alerting System) 6

2.5 Môđun kết xuất thông tin (Output Module) 6

3 Bộ luật của Snort 7

3.1.Giới thiệu 7

3.2 Cấu trúc luật của Snort 8

4 Rule Header 8

4.1 Ngăn chặn địa chỉ hay loại trừ địa chỉ 9

5.Các tùy chọn 11

6 Chế độ ngăn chặn của Snort : Snort – Inline 17

6.1 Tích hợp khả năng ngăn chặn vào Snort 17

6.2 Những bổ sung cho cấu trúc luật của Snort hỗ trợ Inline mode 17

II CÀI ĐẶT SNORT TRÊN WINDOWNS 18

III Tài liệu tham khảo 36

Trang 2

I

TỔNG QUAN VỀ SONRT

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ở Tuy Snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời mà khôngphải sản phẩm thương mại nào cũng có thể có được Với kiến trúc thiết kế theokiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort củamình bằng việc cài đặt hay viết thêm mới các module Cơ sở dữ liệu luật củaSnort đã lên tới 2930 luật và được cập nhật thường xuyên bởi một cộng đồngngười sử dụng Snort có thể chạy trên nhiều hệ thống nền như Windows, Linux,OpenBSD, FreeBSD, NetBSD, Solaris, HP-UX, AIX, IRIX, MacOS

Bên cạnh việc có thể hoạt động như một ứng dụng thu bắt gói tin thông

thường, Snort còn có thể được cấu hình để chạy như một NIDS Snort hỗ trợkhả năng hoạt động trên các giao thức sau: Ethernet, 802.11,Token Ring, FDDI,Cisco HDLC, SLIP, PPP, và PF của OpenBSD

2 Kiến trúc của Snort

Snort bao gồm nhiều thành phần, với mỗi phần có một chức năng riêng

Các phần chính đó là:

• Môđun giải mã gói tin (Packet Decoder)

• Môđun tiền xử lý (Preprocessors)

• Môđun phát hiện (Detection Engine)

• Môđun log và cảnh báo (Logging and Alerting System)

• Môđun kết xuất thông tin (Output Module)

• Kiến trúc của Snort được mô tả trong hình sau:

Hình 1 : Mô hình kiến trúc hệ thống Snort

Trang 3

Khi Snort hoạt động nó sẽ thực hiện việc lắng nghe và thu bắt tất cả các góitin nào di chuyển qua nó Các gói tin sau khi bị bắt được đưa vào Môđun Giải

mã gói tin Tiếp theo gói tin sẽ được đưa vào môđun Tiền xử lý, rồi môđun Pháthiện Tại đây tùy theo việc có phát hiện được xâm nhập hay không mà gói tin cóthể được bỏ qua để lưu thông tiếp hoặc được đưa vào môđun Log và cảnh báo

để xử lý Khi các cảnh báo được xác định môđun Kết xuất thông tin sẽ thực hiệnviệc đưa cảnh báo ra theo đúng định dạng mong muốn Sau đây ta sẽ đi sâu vàochi tiết hơn về cơ chế hoạt động và chức năng của từng thành phần

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 Hình sau mô tả việc một gói tin Ethernet sẽ được giải mã thế nào:

Hình 2: Xử lý một gói tin Ethernet

Trang 4

2.2 Môđun tiền xử lý(Preprocessors)

Module này rất quan trọng đối với bất kỳ hệ thống nào để có thể chuẩn bị gói dữ liệu đưa vào cho Module phát hiện phân tích 3 nhiệm vụ chính:

 Kết hợp lại các gói tin: Khi một dữ liệu lớn được gửi đi, thông tin sẽ không đónggói toàn bộ vào một gói tin mà thực hiện phân mảnh, chia thành nhiều gói tin rồi mớigửi đi Khi Snort nhận được các gói tin này, nó phải thực hiện kết nối lại để có gói tinban đầu Module tiền xử lý giúp Snort có thể hiểu được các phiên làm việc khácnhau

 Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm nhậpdựa trên dấu hiệu nhận dạng nhiều khi thất bại khi kiểm tra các giao thức có dữ liệu

có thể được biểu diễn dưới nhiều dạng khác nhau Ví dụ: một Web server có thể nhậnnhiều dạng URL: URL viết dưới dạng hexa/unicode hay URL chấp nhận dấu / hay \.Nếu Snort chỉ thực hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽxảy ra tình trạng bỏ sót hành vi xâm nhập Do vậy, 1 số Module tiền xử lý của Snortphải có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào

 Phát hiện các xâm nhập bất thường (nonrule/anormal): các plugin dạng nàythường để xử lý với các xâm nhập không thể hoặc rất khó phát hiện bằng các luậtthông thường Phiển bản hiện tại của Snort có đi kèm 2 plugin giúp phát hiện xâmnhập bất thường đó là portscan và bo (backoffice) Portscan dùng để đưa ra cảnh báokhi kẻ tấn công thực hiện quét cổng để tìm lỗ hổng Bo dùng để đưa ra cảnh báo khi

hệ thống nhiễm trojan backoffice

2.3 Môđun phát hiện (Detection Engine):

Đây là module quan trọng nhất của Snort Nó chịu trách nhiệm phát hiện các dấu hiệuxâm nhập Module phát hiệ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, từ đó xác định xem có xâm nhập xảy ra hay không

Một vấn đề quan trọng đối với module phát hiện và vấn đề thời gian xử lý gói tin: mộtIDS thường nhận rất nhiều gói tin và bản thân nó cũng có rất nhiều luật xử lý Khi lưulượng mạng quá lớn có thể xảy ra việc bỏ sót hoặc không phản hồi đúng lúc Khả năng

xử lý của module phát hiện phụ thuộc vào nhiều yếu tố: số lượng các luật, tốc độ hệthống, băng thông mạng

Trang 5

Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng luật lên từngphần của gói tin:

 IP header

 Header ở tầng transport: TCP, UDP

 Header ở tầng application: DNS, HTTP, FTP …

 Phần tải của gói tin

Do các luật trong Snort được đánh số thứ tự ưu tiên nên 1 gói tin khi bị phát hiện bởinhiều luật khác nhau, cảnh báo được đưa ra theo luật có mức ưu tiên cao nhất

2.4 Môđun log và cảnh báo (Logging and Alerting System)

Tùy thuộc vào module phát hiện có nhận dạng được xâm nhập hay không mà gói tin cóthể bị ghi log hay đưa ra cảnh báo Các file log là các file dữ liệu có thể ghi dưới nhiềuđịnh dạng khác nhau như tcpdump.

2.5 Môđun kết xuất thông tin (Output Module)

Module này thực hiện các thao tác khác nhau tùy thuộc vào việc cấu hình lưu kết quảxuất ra như thế nào

 Ghi log file

 Ghi syslog

 Ghi cảnh báo vào cơ sở dữ liệu

 Tạo file log XML

 Cấu hình lại Router, firewall

 Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP

Vì là một NIDS nên nó cũng có những ưu nhược điểm tương đồng như hệ thống này

 Ưu điểm

 Quản lí được một phân đoạn mạng(Network segment)

 Trong suốt với những người sử dụng và kẻ tấn công

Trang 6

 Cài đặt , bảo trì đơn giản không làm ảnh hưởng đến mạng

 Tránh được việc bị tấn công từ chối dịch vụ DoS đến một host cụ thể

 Có khả năng xác định được lỗi ở tầng network

Ngoài ra còn có một số ưu điểm như sau:

 Snort là mã nguồn mở

 Chạy trên nhiều nền tảng khác nhau trên các hệ điều hành nguồn mở như GNU/Lunix mà Snort còn có thể chạy được trên các nền tảng thương mại như Microsoft Windows, Solaris, HP-UX.

 Snort thường xuyên được cập nhật : các luật của Snort thường xuyên được bổ xung và cập nhật các hình thức xâm nhập mới Người sử dụng

có thể dễ dang tải về từ http://www.snort.org.

 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-Atack,Scan,ICMP.Virus.

 Snort theo dõi 24/7 với thời gian thật giúp phát hiện liên tục các xâm nhập vào hệ thống.

 Có một cộng đồng của người sử dụng và các nhà phát triển

Trang 7

 Có rất nhiều add-on mà không phải là thành phần của Snort, nhưng cung cấp thêm các tính năng và dễ dàng sử dụng.

 Snort không cần phải thay thế bất kỳ cơ sở hạ tầng an ninh hiện có.

3 Bộ luật của Snort

3.1.Giới thiệu

Cũng giống như virus, hầu hết các hoạt động tấn công hay xâm nhập đều có các dấu hiệuriêng Các thông tin về các dấu hiệu này sẽ được sử dụng để tạo nên các luật cho Snort.Thông thường, các bẫy (honey pots) được tạo ra để tìm hiểu xem các kẻ tấn công làm gìcũng như các thông tin về công cụ và công nghệ chúng sử dụng Và ngược lại, cũng cócác cơ sở dữ liệu về các lỗ hổng bảo mật mà những kẻ tấn công muốn khai thác Cácdạng tấn công đã biết này được dùng như các dấu hiệu để phát hiện tấn công xâm nhập.Các dấu hiệu đó có thể xuất hiện trong phần header của các gói tin hoặc nằm trong phầnnội dung của chúng Hệ thống phát hiện của Snort hoạt động dựa trên các luật (rules) vàcác luật này lại được dựa trên các dấu hiệu nhận dạng tấn công Các luật có thể được ápdụng cho tất cả các phần khác nhau của một gói tin dữ liệu 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óitin

3.2 Cấu trúc luật của Snort

Hãy xem xét mộ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 của một luật códạng như sau:

Rule Header Rule OptionTất cả các Luật của Snort về logic đều gồm 2 phần: Phần header và phần Option

• Phần Header chứa thông tin về hành động mà luật đó sẽ thực hiện khi phát hiện ra

có xâm nhập nằm trong gói tin và nó cũng chứa các tiêu chuẩn để áp dụng luậtvới gói tin đó

• Phần Option chứa một thông điệp cảnh báo và các thông tin về các phần của góitin dùng để tạo nên cảnh báo Phần Option chứa các tiêu chuẩn phụ thêm để đốisánh luật với gói tin Một luật có thể phát hiện được một hay nhiều hoạt độngthăm dò hay tấn công Các luật thông minh có khả năng áp dụng cho nhiều dấuhiệu xâm nhập

4 Rule Header

Dưới đây là cấu trúc chung của phần Header của một luật Snort:

Trang 8

Action Protocol Address Port Direction Address Port

• Action: là phần qui định loại hành động nào được thực thi khi các dấu hiệu của gói tin

được nhận dạng chính xác bằng luật đó Thông thường, các hành động tạo ra một cảnhbáo hoặc log thông điệp hoặc kích hoạt một luật khác

• Protocol: là phần qui định việc áp dụng luật cho các packet chỉ thuộc một giao thức cụ

thể nào đó Ví dụ như IP, TCP, UDP …

• Address: là phần địa chỉ nguồn và địa chỉ đích Các địa chỉ có thể là một máy đơn,

nhiều máy hoặc của một mạng nào đó Trong hai phần địa chỉ trên thì một sẽ là địa chỉnguồn, một sẽ là địa chỉ đích và địa chỉ nào thuộc loại nào sẽ do phần Direction “->” quiđịnh

• Port: xác định các cổng nguồn và đích của một gói tin mà trên đó luật được áp dụng.

• Direction: phần này sẽ chỉ ra đâu là địa chỉ nguồn, đâu là địa chỉ đí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 của luật

 (msg: “Ping with TTL=100”;ttl: 100;) : phần Option của luật

Rule action (Phần thực thi của luật): trong luật này, kiểu thực thi của luật là “alert”,

nghĩa là một cảnh báo sẽ được tạo ra khi trùng với một dấu hiệu xác nhận Nhớ rằng gói tin

sẽ được ghi log một cách mặc định khi cảnh báo được tạo ra Phụ thuộc vào phần action, phần option của luật có thể chứa các tiêu chuẩn thêm vào trong luật

Protocol (Giao thức) : trong luật này, giao thức là ICMP, nghĩa là luật này chỉ được áp

dụng trên các gói tin ICMP Trong bộ phận phát hiện của Snort, nếu giao thức của một gói tin không phải là ICMP, phần còn lại của gói tin sẽ không được quan tâm để tiết kiệmthời gian CPU Phần protocol đóng một vai trò qian trọng khi bạn muốn áp dụng luật Snort chỉ trên những gói tin với những kiểu cụ thể

Địa chỉ nguồn và cổng nguồn : trong ví dụ này, cả hai phần này đều là “any”, nghĩa là

luật được áp dụng cho tất cả các gói tin đến từ một nguồn bất kì Dĩ nhiên số cổng không liên quan gì đến gói tin ICMP Số cổng chỉ liên quan khi giao thức được sử dụng là TCP hoặc UDP

Trang 9

Direction : Trong trường hợp này direction được thiết lập là từ trái qua phải sử dụng kí

hiệu -> Điều này chỉ ra rằng số địa chỉ và cổng ở phía bên trái là nguồn và ở phía bên phải là của đích Nó cũng có nghĩa là luật này sẽ được áp dụng trên các gói tin di chuyển

từ nguồn tới đích Bạn cũng có thể sử dụng kí hiệu <- để đảo lại ý nghĩa của nguồn và đích Lưu ý rằng kí hiệu <> cũng có thể được sử dụng để áp dụng luật trên cả hai hướng

Địa chỉ đích và cổng đích : trong ví dụ này, cả hai phần này đều là “any”, nghĩa là luật

được áp dụng cho tất cả các gói tin đến từ một đích bất kì Phần direction trong luật này không đóng một vai trò gì cả vì luật được áp dụng trên tất cả các gói tin ICMP di chuyển theo bất kì hướng nào, vì từ khóa “any” ở cả phần nguồn và đích

4.1 Ngăn chặn địa chỉ hay loại trừ địa chỉ

Snort cung cấp cho ta kĩ thuật để loại trừ địa chỉ bằng cách sử dụng dấu phủđịnh (dấu !).Dấu phủ định này đứng trước địa chỉ sẽ chỉ cho Snort không kiểmtra các gói tin đến từhay đi tới địa chỉ đó Ví dụ, luật sau sẽ áp dụng cho tất cảcác gói tin ngoại trừ các gói cónguồn xuất phát từ mạng lớp C 192.168.2.0

alert icmp ![192.168.2.0/24] any -> any any (msg: “Ping with TTL=100”;ttl: 100;)

Danh sách địa chỉ

Ta có thể định rõ ra danh sách các địa chỉ trong một luật của Snort Ví dụ nếubạn muốn

áp dụng luật cho tất cả các gói tin trừ các gói xuất phát từ hai mạnglớp C 192.168.2.0 và 192.168.8.0 thì luật được viết như sau:

alert icmp ![192.168.2.0/24, 192.168.8.0/24] any -> any any (msg: “Ping

cả các cổng Chú ý là số hiệu cổng chỉcó ý nghĩa trong các giao thức TCP và UDP thôi Nếu protocol của luật là IPhay ICMP thì số hiệu cổng không đóng vai trò gì cả

Ví dụ :

alert tcp 192.168.2.0/24 23 -> any any (content: “confidential”; msg: ”Detected

confidential”;)

Trang 10

Số hiệu cổng chỉ hữu dụng khi ta muốn áp dụng một luật chỉ cho một loại góitin dữ liệu

cụ thể nào đó Ví dụ như là một luật để chống hack cho web thì ta chỉcần sử dụng cổng

80 để phát hiện tấn công

Dãy cổng hay phạm vi cổng:

Ta có thể áp dụng luật cho dãy các cổng thay vì chỉ cho một cổng nào đó

Cổng bắt đầu và cổng kết thúc phân cách nhau bởi dấu hai chấm “:”

Ví dụ :

alert udp any 1024:2048 -> any any (msg: “UDP ports”;)

Ta cũng có thể dùn cổng theo kiểu cận trên và cận dưới, tức là chỉ sử dụngcổng bắt đầu hoặc cổng kết thúc mà thôi Ví dụ như là “1024:” hoặc là “:2048”

Dấu phủ định cũng được áp dụng trong việc sử dụng cổng Ví dụ sau sẽ logtất cả các gói tin ngoại trừ các gói tin xuất phát từ cổng 53

log udp any !53 -> any any log udp

Sau đây là một số cổng thông dụng hay là các cổng của các dịch vụ thông

Trang 11

option có thể có 2 phần : từ khóa và đối số Các đối số được phân biệt với từ khóa bằng dấu hai chấm Ví dụ:

msg: "Detected confidential";

Trong option này thì msg là từ khóa và "Detected confidential" là đối số của từ

khóa Phần tiếp theo là các từ khóa được sử dụng trong phần option của luật Snort.

ack

ack: < number>;

TCP header chứa một trường Acknowledgement Number dài 32 bit Trường này chỉ ra rằng sequence number kế tiếp của người gửi được mong đợi Trường này chỉ có ý nghĩa khi cờ flag trong trường TCP được thiết lập

classtype

config classification: name,description,priority

 name : tên được sử dụng cho việc phân loại Tên được sử dụng với từ khóaclasstype trong luật Snort

 description : mô tả ngắn về kiểu phân loại

 priority : thứ tự ưu tiên mặc định cho sự phân loại, có thể được chỉnh sửa bằng từkhóa priority Priority càng thấp thì độ ưu tiên càng cao

content

content: <straight text>; content: <hex data>;

Một đặc tính quan trọng của Snort là khả năng tìm thấy một mẫu dữ liệu trong một gói tin Mẫu đó có thể tồn tại dưới dạng một chuỗi ASCII hoặc là các kí tự thập lục phân Giống như virut, những kẻ xâm nhập cũng có các dấu hiệu và từ khóa content để có thể tìm ra các dấu hiệu trong các gói tin Vì Snort phiên bản 1.x không hỗ trợ các giao thức ở lớp ứng dụng nên từ khóa này, cùng với từ khóa offset, cũng có thể được sử dụng để xemxét header của lớp ứng dụng

offset

offset: < value>;

Từ khóa offset được sử dụng kết hợp với từ khóa content Sử dụng từ khóa này, bạn có thể bắt đầu tìm kiếm từ một vị trí xác định so với vị trí bắt đầu của gói tin Sử dụng một con số như là đối số của từ khóa này

depth

depth: < value>;

Từ khóa depth cũng được sử dụng kết hợp với từ khóa content để xác định giới hạn trên

Trang 12

của việc so sánh mẫu Sử dụng từ khóa này, bạn có thể xác định một vị trí so với vị trí bắtđầu Dữ liệu sau vị trí này sẽ không được tìm kiếm để so mẫu Nếu bạn dùng cả hai từ khóa offset và depth thì bạn có thể xác định một khoảng dữ liệu thực hiện việc so sánh mẫu

dsize

dsize: [<|>] < number>;

Từ khóa dsize được sử dụng để tìm chiều dài một phần dữ liệu của gói tin Nhiều cách tấn công sử dụng lổ hổng tràn bộ đệm bằng cách gửi các gói tin có kích thước lớn Sử dụng từ khóa này, bạn có thể tìm thấy các gói tin có chiều dài dữ liệu lớn hoặc nhỏ hơn một số xác định

flags

flags: < flags>;

Từ khóa flags được sử dụng để tìm ra bit flag nào được thiết lập trong header TCP của gói tin Mỗi flag có thể được sử dụng như một đối số của từ khóa flags trong luật Snort Những bit flag này được sử dụng bởi nhiều các công cụ bảo mật với nhiều mục đích trong đó có việc quét các cổng như nmap (http://www.nmap.org)

Hình 3: Bảng kí tự tham số dùng trong luật của Snort

Trang 14

icode được sử dụng để phát hiện trường code trong header gói tin ICMP.

• Record Route (rr)

• Time Stamps (ts)

• Loose Source Routing (lsrr)

• Strict Source Routing (ssrr)

ip_proto

ip_proto: [!] < name or number>;

Từ khóa ip_proto sử dụng plug-in IP Proto để xác định số giao thức trong header IP Từ khóa này cần một con số giao thức là đối số Bạn cũng có thể sử dụng tên giao thức nếu

nó có thể phân giải bằng file /etc/protocols

priority: < priority integer>;

Từ khóa priority gán độ ưu tiên cho một luật

react

react: <react_basic_modifier[, react_additional_modifier ]>;

Trang 15

Từ khóa react được sử dụng với một luật để kết thúc một phiên, khóa một vài vị trí hoặc dịch vụ Không phải tất cả các option với từ khóa này hoạt động Để sử dụng từ khóa react, bạn nên biên dịch Snort với lệnh enable-flexresp trong script cấu hình.

reference

reference : <id system>,<id>;

Từ khóa reference có thể thêm một sự tham khảo đến thông tin tồn tại trên các hệ thống khác trên mạng Nó không đóng một vai trò nào trong cơ chế phát hiện Có nhiều hệ thống để tham khảo như CVE và Bugtraq Những hệ thống này giữ các thông tin thêm về các kiểu tấn công đã được biết Bằng việc sử dụng từ khóa này, bạn có thể kết nối đến cácthông tin thêm trong thông điệp cảnh báo

resp

Từ khóa resp là một từ khóa cực kì quan trọng Nó có thể được sử dụng để đánh bại các hành vi của hacker bằng cách gửi các gói tin trả lời cho một host mà tạo ra một gói tin thỏa luật Từ khóa này cũng được biết như là Flexible Response (FlexResp) và được dựa trên FlexResp plug-in Plug-in nên được biên dịch vào Snort, sử dụng lệnh ( with-

flexresp)trong script cấu hình

rev

rev: < revision integer>;

Từ khóa rev được thêm vào option của luật Snort để chỉ ra số revision của luật Nếu bạn cập nhật luật, bạn có thể sử dụng từ khóa này để phân biệt giữa các phiên bản Các

module output cũng có thể sử dụng con số này để nhận dạng số revision

Từ khóa flow được sử dụng để áp dụng một luật lên các gói tin di chuyển theo một hướng

cụ thể Bạn có thể sử dụng các option với từ khóa để xác định hướng Các option sau đây

có thể được sử dụng với từ khóa này :

Trang 16

sid: < snort rules id>;

Sử dụng SID, các công cụ như ACID có thể biểu diễn luật thật sự tạo ra một cảnh báo cụ thể

tag

tag: <type>, <count>, <metric>[, direction]

Từ khóa tag là một từ khóa rất quan trọng khác có thể được sử dụng để ghi log các dữ liệu thêm vào từ ( hoặc đến) một host xâm nhập khi một luật được kích hoạt Dữ liệu thêm vào có thể được phân tích sau này một cách chi tiết hơn

uricontent

uricontent: [!] "content string";

Từ khóa uricontent giống với từ khóa content ngoại trừ việc nó được sử dụng để tìm một chuỗi chỉ trong phần URI của gói tin

Trang 17

6 Chế độ ngăn chặn của Snort : Snort – Inline

6.1 Tích hợp khả năng ngăn chặn vào Snort

Snort-inline là một nhánh phát triển của Snort do William Metcalf khởi

xướng và lãnh đạo Đến phiên bản 2.3.0 RC1 của Snort, inline-mode đã được tích hợp vào bản chính thức do snort.org phát hành Sự kiện này đã biến Snort từ một IDS thuần túy trở thành một hệ thống có các khả năng của một IPS, mặc dù chế độ này vẫn chỉ là tùy chọn chứ không phải mặc định.

Ý tưởng chính của inline-mode là kết hợp khả năng ngăn chặn của iptables vào bên trong snort Điều này được thực hiện bằng cách thay đổi môđun phát hiện và

môđun xử lý cho phép snort tương tác với iptables Cụ thể, việc chặn bắt các gói tin trong Snort được thực hiện thông qua Netfilter và thư viện libpcap sẽ được thay thế bằng việc sử dụng ipqueue và thư viện libipq Hành động ngăn chặn của snort- inline sẽ được thực hiện bằng devel-mode của iptables.

6.2 Những bổ sung cho cấu trúc luật của Snort hỗ trợ Inline mode

Để hỗ trợ tính năng ngăn chặn của Snort-inline, một số thay đổi và bổ sung đã được đưa vào bộ luật Snort Đó là đưa thêm 3 hành động DROP, SDROP, INJECT

và thay đổi trình tự ưu tiên của các luật trong Snort DROP Hành động 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

Hành động SDROP cũng tương tự như hành động DROP, điều khác biệt là ở chỗ Snort sẽ không ghi lại thông tin như hành động LOG.

REJECT

Hành động REJECT yêu cầu iptables từ chối gói tin, có nghĩa là iptables sẽ loại bỏ

và gửi lại một thông báo cho nguồn gửi gói tin đó Hành động REJECT không ghi lại bất cử thông tin gì.

Trình tự ưu tiên của các luật

Trong các phiên bản gốc, trình tự ưu tiên của các hành động trong Snort là :

activation->dynamic-> alert->pass->log

Trong inline-mode, trình tự ưu tiên này được thay đổi như sau :

activation->dynamic->pass->drop->sdrop->reject->alert->log

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

TỪ KHÓA LIÊN QUAN

w