CấU HÌNH Hệ THốNG IDS

44 1.8K 9
CấU HÌNH Hệ THốNG IDS

Đ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

CấU HÌNH Hệ THốNG IDS

Trang 1

II Nguyễn Trọng Đăng Trình 07520371 III Nguyễn Tuấn Anh 07520011 IV.Nguyễn Anh Linh 07520193 V Trương Đình Huy 07520 151

Trang 2

IDS- Intrusion Detection System/ Hệ thống phát hiện xâm phạm

IDS là một hệ thống phòng chống, nhằm phát hiện các hành động tấn công vào một

mạng Mục đích của nó là phát hiện và ngăn ngừa các hành động phá hoại đối với vấn đề bảo mật hệ thống, hoặc những hành động trong tiến trình tấn công như sưu tập, quét các cổng Một tính năng chính của hệ thống này là cung cấp thông tin nhận biết về những hành động không bình thường và đưa ra các báo cảnh thông báo cho quản trị viên mạng khóa các kết nối đang tấn công này Thêm vào đó công cụ IDS cũng có thể phân biệt giữa những tấn công bên trong từ bên trong tổ chức (từ chính nhân viên hoặc khách hàng) và tấn công bên ngoài (tấn công từ hacker).

Trang 3

IDS có 2 dạng chính là :

NIDS (Network IDS) : hệ thống IDS để bảo vệ cả hệ thống mạng , được sử dụng

như một Gateway Nhiệm vụ là ngăn chặng và quản lí các gói tin trước khi chúng được chuyển vào hệ thống

HIDS (Host IDS) : Chức năng chính là bảo vệ tài nguyên trên máy chủ và một số

hệ thống như WebHost,Mailhost v.v

b) Phân loại IDS :

Cách thông thường nhất để phân loại các hệ thống IDS (cũng như IPS) là dựa vào đặc điểm của nguồn dữ liệu thu thập được Trong trường hợp này, các hệ thống IDS được chia thành các loại sau:

 Host-based IDS (HIDS): Sử dụng dữ liệu kiểm tra từ một máy trạm đơn để phát hiện xâm nhập.

 Network-based IDS (NIDS): Sử dụng dữ liệu trên toàn bộ lưu thông mạng, cùng với dữ liệu kiểm tra từ một hoặc một vài máy trạm để phát hiện xâm nhập.

Trang 4

NIDS thường bao gồm có hai thành phần logic :

• Bộ cảm biến – Sensor : đặt tại một đoạn mạng, kiểm soát các cuộc lưu thông nghi ngờ trên đoạn mạng đó.

• Trạm quản lý : nhận các tín hiệu cảnh báo từ bộ cảm biến và thông báo cho một điều hành viên.

Một NIDS truyền thống với hai bộ cảm biến trên các đoạn mạng khác nhau cùng giao tiếp với một trạm kiểm soát.

Ưu điểm:

• Chi phí thấp : Do chỉ cần cài đặt NIDS ở những vị trí trọng yếu là có thể giám sát lưu lượng toàn mạng nên hệ thống không cần phải nạp các phần mềm và quản lý trên các máy toàn mạng.

• Phát hiện được các cuộc tấn công mà HIDS bỏ qua: Khác với HIDS, NIDS kiểm tra header của tất cả các gói tin vì thế nó không bỏ sót các dấu hiệu xuất phát từ đây Ví dụ: nhiều cuộc tấn công DoS, TearDrop (phân nhỏ) chỉ bị phát hiện khi xem header của các gói tin lưu chuyển trên mạng.

• Khó xoá bỏ dấu vết (evidence): Các thông tin lưu trong log file có thể bị kẻ đột nhập sửa đổi để che dấu các hoạt động xâm nhập, trong tình huống này HIDS khó có đủ thông tin để hoạt động NIDS sử dụng lưu thông hiện hành trên mạng để phát hiện xâm nhập Vì thế, kẻ đột nhập không thể xoá bỏ được các dấu vết tấn công Các thông tin bắt được không chỉ chứa cách thức tấn công mà cả thông tin hỗ trợ cho việc xác minh và buộc tội kẻ đột nhập.

Trang 5

• Phát hiện và đối phó kịp thời : NIDS phát hiện các cuộc tấn công ngay khi xảy ra, vì thế việc cảnh báo và đối phó có thể thực hiện được nhanh hơn VD : Một hacker thực hiện tấn công DoS dựa trên TCP có thể bị NIDS phát hiện và ngăn chặn ngay bằng việc gửi yêu cầu TCP reset nhằm chấm dứt cuộc tấn công trước khi nó xâm nhập và phá vỡ máy bị hại.

• Có tính độc lập cao: Lỗi hệ thống không có ảnh hưởng đáng kể nào đối với công việc

của các máy trên mạng Chúng chạy trên một hệ thống chuyên dụng dễ dàng cài đặt; đơn thuần chỉ mở thiết bị ra, thực hiện một vài sự thay đổi cấu hình và cắm chúng vào trong mạng tại một vị trí cho phép nó kiểm soát các cuộc lưu thông nhạy cảm.

Nhược điểm

• Bị hạn chế với Switch: Nhiều lợi điểm của NIDS không phát huy được trong các mạng chuyển mạch hiện đại Thiết bị switch chia mạng thành nhiều phần độc lập vì thế NIDS khó thu thập được thông tin trong toàn mạng Do chỉ kiểm tra mạng trên đoạn mà nó trực tiếp kết nối tới, nó không thể phát hiện một cuộc tấn công xảy ra trên các đoạn mạng khác Vấn đề này dẫn tới yêu cầu tổ chức cần phải mua một lượng lớn các bộ cảm biến để có thể bao phủ hết toàn mạng gây tốn kém về chi phí cài đặt.

• Hạn chế về hiệu năng: NIDS sẽ gặp khó khăn khi phải xử lý tất cả các gói tin trên mạng rộng hoặc có mật độ lưu thông cao, dẫn đến không thể phát hiện các cuộc tấn công thực hiện vào lúc "cao điểm" Một số nhà sản xuất đã khắc phục bằng cách cứng hoá hoàn toàn IDS nhằm tăng cường tốc độ cho nó Tuy nhiên, do phải đảm bảo về mặt tốc độ nên một số gói tin được bỏ qua có thể gây lỗ hổng cho tấn công xâm nhập • Tăng thông lượng mạng: Một hệ thống phát hiện xâm nhập có thể cần truyền một dung lượng dữ liệu lớn trở về hệ thống phân tích trung tâm, có nghĩa là một gói tin được kiểm soát sẽ sinh ra một lượng lớn tải phân tích Để khắc phục người ta thường sử dụng các tiến trình giảm dữ liệu linh hoạt để giảm bớt số lượng các lưu thông được truyền tải Họ cũng thường thêm các chu trình tự ra các quyết định vào các bộ cảm biến và sử dụng các trạm trung tâm như một thiết bị hiển thị trạng thái hoặc trung tâm truyền thông hơn là thực hiện các phân tích thực tế Điểm bất lợi là nó sẽ cung cấp rất ít thông tin liên quan cho các bộ cảm biến; bất kỳ bộ cảm biến nào sẽ không biết được việc một bộ cảm biến khác dò được một cuộc tấn công Một hệ thống như vậy sẽ không thể dò được các cuộc tấn công hiệp đồng hoặc phức tạp.

• Một hệ thống NIDS thường gặp khó khăn trong việc xử lý các cuộc tấn công trong một phiên được mã hoá Lỗi này càng trở nên trầm trọng khi nhiều công ty và tổ chức đang áp dụng mạng riêng ảo VPN.

Trang 6

• Một số hệ thống NIDS cũng gặp khó khăn khi phát hiện các cuộc tấn công mạng từ các gói tin phân mảnh Các gói tin định dạng sai này có thể làm cho NIDS hoạt động sai và đổ vỡ.

HIDS:(Host IDS)

Host-based IDS tìm kiếm dấu hiệu của xâm nhập vào một host cục bộ; thường sử dụng các cơ chế kiểm tra và phân tích các thông tin được logging Nó tìm kiếm các hoạt động bất thường như login, truy nhập file không thích hợp, bước leo thang các đặc quyền không được chấp nhận.

Kiến trúc IDS này thường dựa trên các luật (rule-based) để phân tích các hoạt động Ví dụ 1:

Đặc quyền của người sử dụng cấp cao chỉ có thể đạt được thông qua lệnh su-select user, như vậy những cố gắng liên tục để login vào account root có thể được coi là một cuộc tấn công.

Ưu điểm

• Xác định được kết quả của cuộc tấn công: Do HIDS sử dụng dữ liệu log lưu các sự kiện xảy ra, nó có thể biết được cuộc tấn công là thành công hay thất bại với độ chính

Trang 7

xác cao hơn NIDS Vì thế, HIDS có thể bổ sung thông tin tiếp theo khi cuộc tấn công được sớm phát hiện với NIDS.

• Giám sát được các hoạt động cụ thể của hệ thống: HIDS có thể giám sát các hoạt động mà NIDS không thể như: truy nhập file, thay đổi quyền, các hành động thực thi, truy nhập dịch vụ được phân quyền Đồng thời nó cũng giám sát các hoạt động chỉ được thực hiện bởi người quản trị Vì thế, hệ thống host-based IDS có thể là một công cụ cực mạnh để phân tích các cuộc tấn công có thể xảy ra do nó thường cung cấp nhiều thông tin chi tiết và chính xác hơn một hệ network-based IDS.

• Phát hiện các xâm nhập mà NIDS bỏ qua: chẳng hạn kẻ đột nhập sử dụng bàn phím xâm nhập vào một server sẽ không bị NIDS phát hiện.

• Thích nghi tốt với môi trường chuyển mạch, mã hoá: Việc chuyển mạch và mã hoá thực hiện trên mạng và do HIDS cài đặt trên máy nên nó không bị ảnh hưởng bởi hai kỹ thuật trên.

• Không yêu cầu thêm phần cứng: Được cài đặt trực tiếp lên hạ tầng mạng có sẵn (FTP Server, WebServer) nên HIDS không yêu cầu phải cài đặt thêm các phần cứng khác Nhược điểm

• Khó quản trị : các hệ thống host-based yêu cầu phải được cài đặt trên tất cả các thiết bị đặc biệt mà bạn muốn bảo vệ Đây là một khối lượng công việc lớn để cấu hình, quản lí, cập nhật.

• Thông tin nguồn không an toàn: một vấn đề khác kết hợp với các hệ thống host-based là nó hướng đến việc tin vào nhật ký mặc định và năng lực kiểm soát của server Các thông tin này có thể bị tấn công và đột nhập dẫn đến hệ thống hoạt đông sai, không phát hiện được xâm nhập.

• Hệ thống host-based tương đối đắt : nhiều tổ chức không có đủ nguồn tài chính để bảo vệ toàn bộ các đoạn mạng của mình sử dụng các hệ thống host-based Những tổ chức đó phải rất thận trọng trong việc chọn các hệ thống nào để bảo vệ Nó có thể để lại các lỗ hổng lớn trong mức độ bao phủ phát hiện xâm nhập.

Ví dụ 2:

Như một kẻ tấn công trên một hệ thống láng giềng không được bảo vệ có thể đánh hơi thấy các thông tin xác thực hoặc các tài liệu dễ bị xâm phạm khác trên mạng.

Trang 8

• Chiếm tài nguyên hệ thống : Do cài đặt trên các máy cần bảo vệ nên HIDS phải sử dụng các tài nguyên của hệ thống để hoạt động như: bộ vi xử lí, RAM, bộ nhớ ngoài

2 Các thành phần cơ bản:

Snort bao gồm 4 thành phần chính

1 Packet capture, thực hiện bởi LibPcap hoặc WinPcap

2 Preprocessor nhiệm vụ là xem xét các gói tin trước khi chuyển tới engine phát

hiện thật sự

3 Detection Engine – Tại đây cái rules sẽ được áp dụng lên các gói tin4 Output – xuất ra kết quả, thông báo.

File chính lưu trữ toàn bộ cấu hình lõi của Snort là file snort.conf File này có một vài phần chính:

• Variables • Preprocessors

Trang 9

• Output Plug-ins • Rulesets

Một điều lưu ý khi định nghĩa các rule cho Snort là mặc dù chúng ta có thể viết các rule này vào file snort.conf nhưng như vậy sẽ không tốt Việc đó gây khó khăn khi chúng ta cần kiểm tra, tốt hơn hết là nên viết ra thành các file riêng biệt và định nghĩa vị trí các file này trong file snort.conf (kiểu giống như chia ra thành các module, khi cần bỏ các khoản luật nào thì chỉ cần bỏ dòng config chỉnh tới vị trí của file đó thôi).

Sau đây là một vài chỉnh sửa cần thiết khi đã cài đặt snort

 Variable HOME_NET : chỉnh về địa chỉ mạng hiện tại ví dụ 192.168.1.0/24  Các đường dẫn sau đây

(lưu ý : $SnortInstallationPath là đường dẫn tới thư mục cài đặt snort, mặc định là C:\Snort, tùy ý bạn)

include classification.config => include $SnortInstallationPath\etc\classification.confg include reference.conf => include $SnortInstallationPath\etc\reference.config

3 Cài đặt Snort

Một số thư viện và chương trình yêu cầu trước khi cài đặt Snort

Đối với người dùng window, khi tải gói cài đặt binary (file exe) thì chỉ cần cài đặt thêm WinPcap

Tải WinPcap mới nhất về theo địa chỉ: http://www.winpcap.org/install/default.htm

Tải Snort về theo địa chỉ : https://www.snort.org/snort-downloads? (chọn bản binary exe cho windows).

Cài đặt Snort

Cài đặt Snort như các chương trình thông thường, cứ để mặc định.

Sau khi cài đặt, tạo folder “log” trong thư mục $SnortInstallationPath\bin Trong thư mục vừa tạo tạo thêm 1 file alert.ids

4 Cấu hình và thực thi Snort

Trang 10

Quy ước đường dẫn cài đặt Snort là F:\

1 Mở file snort.config và chỉnh sửa (lưu ý, nên lưu lại 1 bản backup đề phòng chỉnh sửa xong gặp lỗi).

2 Chỉnh sửa 1 số biến

var HOME_NET var HOME_NET địa chỉ mạng

var EXTERNAL_NETvar EXTERNAL_NET !$HOME_NETvar include referencevar include F:\Snort\etc\reference.configvar RULE_PATH….\rulesvar RULE_PATH F:\Snort\rules

# include threshold.confvar F:\Snort\etc\threshold.conf

Mở comand promt và cd tới F:\Snort\bin gõ lệnh snort –W Khi này thì trên command promt sẽ xuất hiện các card mạng đang enable.

Trang 11

• Một điểm đáng quan tâm là hiện nay Snort vẫn chưa chính thức hỗ trợ các card mạng không dây.

Để thử bắt gói tin ta sẽ sử dụng lệnh sau: snort –ix –v

Trong đó x là số thứ tự card mạng mà bạn muốn bắt gói tin từ đó Trong hình trên chúng ta thử ping google.com và được reply lại từ địa chỉ 74.125.71.105 và Snort cũng đã bắt được gói tin đói (gói ICMP ECHO REPLY)

5 Logging với Snort

Mục đích của việc này là để bạn ghi lại toàn bộ hoạt động để dễ dàng kiểm tra lại khi cần thiết

Sử dụng thêm option –l trong câu lệnh snort snort –ix –dev –l \snort\log

II SNORT LÀM VIỆC NHƯ MỘT HỆ THỐNG IDS

Một hệ thống IDS cần phải tuân theo các rule và phải có một cách nào đó để cảnh báo cho người quản trị biết được khi một rule bị vi phạm.

1 Đối với một hệ thống IDS, rule là tất cả:

Trang 12

Snort sử dụng các rule để kiểm tra chữ ký và các vi phạm Những rule này có thể được tạo ra hoặc điều chỉnh để sử dụng trong ứng dụng.

Ví dụ cách sử dụng Snort như là một hệ thống IDS:

%systemroot%\snort\snort –dev -1 \snort\log –c snort.conf

Từ khóa “-c” có nghĩa là áp dụng các rule trong file snort.conf cho các gói tin được xử lý bởi snort.

Các rule của snort bao gồm 2 phần:

o Rule Header: chỉ hành động của rule, giao thức, hướng xử lý, địa

chỉ IP đích và nguồn, port đích và port nguồn.

o Các lựa chọn của rule: là các thông điệp cảnh báo và các đặc tả

xác định gói tin VD:

alert tcp any any -> any 80 (content: “adult”; msg: “Adult Site Access”)

2 Header của rule:

Rule

ActionProtocolSource IPSource PortDirectionDestination IPDestination Port

Đầu tiên ta phải định nghĩa rule action Rule action là hành động sẽ xảy ra khi một gói tin khớp với các điều kiện định nghĩa trong rule.

Bảng các rule action:Rule

Mô tả

alert Tạo một cảnh báo với bất kì phương thức nào được định nghĩa Đồng thời cũng log gói tin với phương thức được định nghĩa bất kì.

log Log gói tin theo định nghĩa pass Snort sẽ bỏ qua gói tin này.

Trang 13

activate Tạo một cảnh báo và kích hoạt dynamic rule.

dynamic Duy trì ở trạng thái không sử dụng nếu không có rule khác gọi nó Nếu được gọi, nó hành xử tương tự như một log rule.

Sau khi đã định nghĩa hành động, ta cần phải xác định giao thức Trong vd ở đầu mục, ta định nghĩa giao thức của gói tin sẽ được xử lý là TCP Snort hỗ trợ các giao thức: TCP, UDP, ICMP, và IP.

Tiếp đến là ta cấu hình địa chỉ IP Từ khóa “any” trong ví dụ có nghĩa là mọi địa chỉ IP Snort sử dụng định dạng netmask để chỉ định subnet mask Từ đó, một địa chỉ lớp A đầy đủ sẽ có netmask là /8, địa chỉ lớp B đầy đủ sẽ là /16 và lớp C là /32.

Ta có thể định nghĩa một host đơn lẻ hoặc một subnet, snort có thể làm việc với một nhóm các địa chỉ IP trong cùng một rule Ta tạo ra một IP list Cú pháp như trong VD sau:

Alert tcp any any -> [10.0.10.0/24, 10.10.10.0/24] any (content: “Password”; msg: “Password Tranfer Possible!”;)

Sau khi chỉ định IP, ta cần phải xác định port cho snort kiểm tra Các port như 80, 23… và nếu để “any” có nghĩa là snort sẽ kiểm tra trên tất cả các port đối với địa chỉ IP đó Vd các kiểu định nghĩa port:

Log tất cả traffic từ tất cả địa chỉ IP trên tất cả các port tới port 23 của mạng 10.0.10.0/24:

Log tcp any any -> 10.0.10.0/24 23

Log tất cả traffic từ tất cả địa chỉ IP trên tất cả các port tới tất cả các port trong khoảng từ 1 tới 1024 tới mọi host trong mạng 10.0.10.0/24:

Log tcp any any -> 10.0.10.0/24 1:1024

Log toàn bộ traffic từ mọi địa chỉ IP có port nhỏ hơn hoặc bằng 1024 tới mọi host trên mạng 10.0.10.0/24 có port lớn hơn hoặc bằng 1024:

Log tcp any :1024 -> 10.0.10.0/24 1024:

Log toàn bộ traffic từ mọi host trừ (ta dùng dấu: “!”) host 172.16.40.50 trên mọi port tới mọi host trong mạng 10.0.10.0/24 trên mọi port:

Trang 14

Log tcp ! 172.16.40.50/32 any -> 10.0.10.0/24 any

Log toàn bộ traffic từ mọi host trên mọi port tới tới mạng 10.0.10.0/24 đang làm việc trên các port ngoài port 23:

Log tcp any any -> 10.0.10.0/24 ! 23

Kí hiệu “->” ta sử dụng trong các ví dụ trên chính là kí hiệu dùng để xác định hướng kiểm tra gói tin của snort Ta có thể dùng “<>” để snort kiểm tra gói tin từ cả 2 hướng:

Log tcp 10.0.10.0/2 any <> 172.16.30.0/24 23

3 Các Rule Option:

Snort thể hiện tính linh động và các chức năng của nó thông qua các rule option Các rule

option phân cách nhau bằng dấu “;” một rule option bao gồm: keyword: “value” VD:

msg: “text”.

Một số keyword thông dụng:

msg In ra một thông điệp

ttl Chỉ định điều kiện về giá trị Time To Live của IP header của gói tin mà rule muốn capture.

id Chỉ định điều kiện về giá trị phân mảnh của một IP header cụ thể của gói tin mà rule muốn capture.

flags Chỉ định điều kiện về các cờ tcp của gói tin ack Chỉ định điều kiện về TCP ack của gói tin content Chỉ định điều kiện về phần nội dung của gói tin.

Ngoài ra còn nhiều keyword khác nữa, có thể xem thêm trong mục help của snort.

a Msg option : Khi dùng msg option trong một rule, bộ máy log và cảnh báo của

snort sẽ được báo là có một thông điệp cần phải được chèn vào một packet dump hay trong một cảnh báo Vd:

msg: “thông điệp nào đó”;

b Đối với ttl option, snort sẽ biết một giá trị Time To Live cụ thể để làm điều kiện

lọc Chỉ gói tin nào có giá trị bằng đúng như vậy mới được lọc, điều này hữu dụng trong việc phát hiện hành động traceroute VD:

Trang 15

ttl: “time-value”;

c Id option làm điều kiện để snort lọc gói tin với một giá trị chính xác của trường

Fagment trong IP header VD: id: “id-value”;

d Flag option thì có các option phụ, bao gồm các cờ dùng làm điều kiện lọc Các cờ

được định nghĩa trong rule bởi các kí tự đơn lẻ:

Các toán tử logic chuẩn cũng có thể được dùng cho các cờ, toán tử “+” chỉ tất cả các cờ, “*” chỉ nhiều cờ, và toán tử “!” dùng để chỉ tất cả trừ cờ được định nghĩa Các reserved bit có thể được dùng để phát hiện hành vi quét hoặc truy dấu IP stack Vd:

flags: value(s);

Vd rule dùng để phát hiện các SYN – FIN scan:

alert any any -> 10.0.10.0/24 any (flags: SF; msg: “SYN FIN Scan Possible”;)

e Ack option: ack option trong rule làm điều kiện để lọc gói tin dựa vào giá trị

ACK cụ thể trong TCP header của gói tin Công cụ network mapping Nmap dùng cờ ACK để quyết định xem một host từ xa có active hay không VD:

ack: “ack-value”

f Từ khóa content: là từ khóa quan trọng nhất của snort Khi sử dụng từ khóa này

trong một rule, snort sẽ kiểm tra phần nội dung của một gói tin và đối chiếu với giá trị của keyword content để lọc Snort sử dụng thuật toán Boyer-Moore để làm công việc đối chiếu đó.

Dữ liệu có thể nhập vào dưới dạng plaintext hoặc dưới dạng mixed binary bytecode Cú pháp mẫu:

content: “content-value”;

Trang 16

2 Một số rule ví dụ đơn giản:

Log tất cả các traffic đang cố kết nối tới port telnet: log tcp any any -> 10.0.10.0/2 23

Log ICMP traffic tới mạng 10.0.10.0: log icmp any any -> 10.0.10.0/24 any

Cho phép tất cả các truy cập web đi qua, không log: pass tcp any 80 -> any 80

Tạo một cảnh báo với thông điệp bất kỳ:

alert tcp any any -> any 23 (msg: “Telnet Connection Attemp”;) Cảnh báo khi có các hành vi scan SYN/FIN trong mạng:

alert tcp any any -> 10.0.10.0/24 any (msg: “SYN-FIN scan detected”; flags: SF;)

Cảnh báo khi có hành vi scan TCP NULL trong mạng:

alert tcp any any -> 10.0.10.0/24 any (msg: “NULL scan detected”; flags: 0;) Cảnh báo khi có truy dấu vết OS :

alert tcp any any -> 10.0.10.0/24 any (msg: “O/S Fingerprint detected”; flags:

Trang 17

Là một option được thêm vào Snort để phân loại nhiều loại Snort rule khác nhau Nó cho phép người ở nhiều nơi khác nhau có thể sử dụng cùng một số cho rule của họ, và nó cũng làm cho các rule trở nên có tổ chức Có nhiều vùng Snort ID cần nhớ:

<100: để dùng trong tương lai.

101 tới 1,000,000: dành cho các distribution rule của Snort.org

>=1,000,001: dùng cho các rule nội bộ.

Khi phát triển một rule nội bộ của riêng mình, miễn là rule đó là một số duy nhất đại diện cho mỗi rule, và số đó phải lớn hơn 1,000,000, thì sẽ không bị vấn đề SID Tuy nhiên, tốt hơn là ta nên dùng một số lớn hơn vd như 4,000,000 hoặc lớn hơn nữa, vì các tổ chức viết các snort rule vd như Bleeding Snort có thể đã dùng vùng ID nhỏ hơn rồi.

4 Tạo một ruleset đơn giản

Mục tiêu: tạo một rule log tất cả TCP traffic, cảnh báo khi có ping, và cảnh báo

khi có sử dụng từ “password”.

B1: mở notepad và gõ vào:

Log tcp any any -> any any (msg: “TCP Traffic Logged”; sid: 10000001;) Alert icmp any any -> any any (msg: “ICMP Traffic Alerted”; sid: 10000002) Alert tcp any any -> any any (content: “password”; msg: “Possible Password Transmitted”; sid: 10000003;)

B2: Lưu file với đường dẫn: C:\snort\rules\”myrule.rules” và đóng

notepad lại Phải để dấu ngoặc kép như vậy để Windows không cho nó một phần mở rộng là txt mà lấy “rules” làm phần mở rộng.

Test các Ruleset:

5 Các tùy chọn Meta Data

Chứa các tính năng chi tiết của các rule

• Msg: được sử dụng để chèn một message cho người dùng đọc

• Sid: được sử dụng để định nghĩa một ID riêng duy nhất cho một rule trong Snort • Classtype: được dùng để phân loại các loại sự kiện

• Priority: được sử dụng để định nghĩa các mức độ ưu tiên của sự kiện

• Reference: Được sử dụng để định nghĩa một URL nhằm cung cấp thêm thông tin về sự kiện

Trang 18

• Rev:được sử dụng để định nghĩa số lần được duyệt lại của rule

Attempted administrator privilege gain Attempted user privilege gain

Executable code was detected

Successful administrator privilege gain A network Trojan was detected

Web application attack Attempted information leak

An attempted login using a suspicious user name detected Denial-of-service attack

A network client was using an unusual port Generic ICMP event

Detection of a network scan

6 Các rule đã được thiết lập sẵn:

Một số IDS rule cơ bản đã được thiết lập sẵn và cho phép ta chọn sử dụng trong quá trình cài đặt Snort Ngoài ra có thể download nhiều rule khác tại trang

Có nhiều lựa chọn về thời điểm nhận Snort rule Nếu muốn nhận các real-time rule, với các option mới nhất, phải là subscriber để nhận các Sourcefice VRT-certified rule Các rule dành cho subscriber là những cái ta cần khi muốn xác định các vấn đề bảo mật, thường là những rule mới có trong ngày sử dụng cho các lỗ hổng bảo mật mới được giới thiệu.

Cách thứ hai để download các rule được thiết lập sẵn là đăng ký thành viên trên trang www.snort.org Các thành viên đã đăng ký có thể nhận được tất cả các snort rule mới nhất, nhưng các rule đó chỉ có khi chúng đã được cung cấp cho các Sourcefice subscriber.

Người dùng không đăng ký trên trang www.snort.org cũng có thể download snort rule đã thiết lập sẵn Họ chỉ có thể download các ruleset cung cấp kèm theo bản release chính thức của Snort.

Trang 19

Ta có thể kiểm tra các rule đã được thiết lập sẵn qua các bước như sau: • B1: Download rule về.

B2: copy các rules file vào thư mục C:\Snort\rules.

B3: Truy cập tới thư mục C:\Snort\rules.

B4: Mở các file rules xem7 Kiểm tra rule DDoS:

Tấn công từ chối dịch vụ là một trong những kiểu tấn công "cổ điển" nhưng chưa bao giờ mất đi tính nguy hiểm đối với một hệ thống mạng.

DDoS gây nghẽn một website hay một cơ sở hạ tầng, khiến người sử dụng không thể truy cập giống như hiện tượng nghẽn mạng di động trong dịp lễ tết do có quá nhiều người gọi cùng lúc Phương pháp này bị coi là "bẩn thỉu" nhưng đem lại hiệu quả tức thì: website bị tê liệt kéo dài cho tới khi cuộc tấn công chấm dứt.

Bản chất của DDoS là không thể khống chế mà chỉ có giảm giảm bớt cường độ tấn công Việc phát hiện kịp thời có thể giúp phần nào ngăn ngừa rất nhiều cuộc tấn công từ chối dịch vụ Ví dụ khi đang bị tấn công, chủ website có thể mở rộng băng thông dù đây là giải pháp rất tốn kém.

Dưới đây là ví dụ mẫu:

Để kiểm tra DDoS rule, ta chỉnh sửa trong file ddos.rules nằm trong thư mục

8 Kiểm tra rule Backdoor:

Trên máy chủ thường có các cổng dịch vụ chính thức, được xem là "cổng chính" Khi một máy chủ nào đó đã bị thâm nhập và đã đoạt được chủ quyền, kẻ tấn công cài vào máy chủ một dịch vụ nào đó để tạo "cổng sau" nhằm mục đích để trở lại máy chủ này một cách dễ dàng và kín đáo khi nào cần.

alert tcp $EXTERNAL_NET any -> $HOME_NET 27665

(msg: “DDOS Trin00 Attacker to Master default startup password”);flow: established,to_server;

content:“Betaalmostdone”;reference:arachnids,197; classtype:attempted-dos;sid: 233, rev: 3;)

Trang 20

Khi thiết lập rule này, ta có thể phát hiện khi backdoor được cài vào hệ thống Dưới đây là ví dụ mẫu cho rule để phát hiện backdoor:

Để kiểm tra backdoor rule, ta chỉnh sửa trong file backdoor.rules nằm trong thư mụcC:\Snort\rules

9 Kiểm tra rule khi bị Web attack:

Một trong những phương thức tấn công phát triển nhanh nhất là tấn công trên các dịch vụ web Từ khi các dịch vụ web bùng nổ, chúng đã trở thành mục tiêu tấn công cho các hacker từ nghiệp dư cho đến chuyên nghiệp Do đó, Snort cũng có nhiều rule được thiết kế để kiểm tra các cuộc tấn công web.

Dưới đây là một rule mẫu nằm trong file nằm trong thư mụcC:\Snort\rules:

Để kiểm tra web attack rule, ta chỉnh sửa trong file web-attacks.rules nằm trong thư mụcC:\Snort\rules

10 Kiểm tra rule dành cho IIS Server:

Khi Microsoft IIS Web Server ngày càng phổ biến, thì các cuộc tấn công lên hệ thống server này gia tăng theo cấp số mũ Bởi vì thế, có một ruleset dành riêng cho IIS Server Vd một ISS rule:

Alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:

alert tcp $HOME_NET 12345:123456 -> $EXTERNAL_NET any (msg: “BACKDOOR netbus active”);

flow: from_server,established; content “NetBus”; reference:arachnids,401; classtype:misc-activity;

alert tcp $EXTERNAL_NET 12345:123456 -> $EXTERNAL_NET any (msg: “WEB-attack etc/shadow access”);

flow: to_server,established; content “/etc/shadow”;nocase;

Trang 21

5C| ”; reference: bugtraq, 2218; reference:cve, 1999-0229; classtype: web-application-attack; sid: 974; rev: 10;)

Rule này xác định một lỗi bảo mật nổi tiếng: khi một người chỉ cần nhập vào một URL là đã có thể truy cập vào máy tính Hành động này gọi là Directory Transversal Attack, attacker dùng / trong URL như một phần của cuộc tấn công.

Trong rule này, cảnh báo được thiết lập trên TCP traffic hướng từ mạng bên ngoài trên tất cả các port tới các webserver trên các webserver port Kết nối phải được thiết lập và hướng về phía server Điểm mấu chốt của rule này đó chính là “ |5C| ” trong content option của rule Nó chính là “ / ” chuyển đổi từ mã ASCII Điều này đã được phân loại là kiểu web attack, có Snort ID là 974 và có 10 luật phân nhánh.

Có thể kiểm tra các IIS rule qua các bước: • B1: tới thư mục C:\Snort\rules.

B2: Mở file web-iis lên bằng WordPad.

B3: xem một dòng rule nào đó, vd: Code Red exploit ida? trong nội

dung của rule:

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS ISAPI .ida attempt"; flow:to_server,established; uricontent:".ida?"; nocase; reference:arachnids,552; reference:bugtraq,1065; reference:cve,2000-0071;

classtype:web-application-attack; sid:1243; rev:11;)

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS ISAPI .ida access"; flow:to_server,established; uricontent:".ida"; nocase; reference:arachnids,552; reference:bugtraq,1065; reference:cve,2000-0071;

classtype:web-application-activity; sid:1242; rev:10;)

Đây là rule dùng để phát hiện worm Code Red trong hệ thống WebServer IIS.

Worm Code Red khai thác một lổ hổng bảo mật trong phần mềm lập chỉ mục của

IIS Nó phát tán qua lỗi buffer overflow bằng cách sử dụng một chuỗi dài các ký tự ‘N’ lập lại để làm tràn bộ đệm, cho phép worm thực thi đoạn mã lệnh tùy ý là lây nhiễm vào máy tính.

III Cấu hình Snort để sử dụng với Cơ sở dữ liệu1 Snort Output Plug-in

Trang 22

Cho đến nay, chúng ta có thể thấy Snort phát sinh một lượng lớn dữ liệu trong các form cảnh báo, log và các thứ khác Việc đọc dữ liệu trên màn hình trong khi Snort đang chạy là không thể Vì thế ta cần phải có một số công cụ giúp cho việc đọc dữ liệu.

Snort cung cấp một vài hộp thoại output qua việc sử dụng output plug-in Trong phần này, ta sẽ cấu hình Snort để xuất thông tin vào MySQL database Snort không giới hạn việc sử dụng MySQL database, ta có thể output Snort tới Oracle, SQL Server, một vài UNIX ODBC database.

Để gửi logs và cảnh báo cho database, ta có thể hướng Snort truyền dữ liệu này tới

remote loggin server qua Syslog Lệnh để output tới định dạng Syslog: output

alert_syslog: LOG_LOCAL2LOG_ALERT Nếu ta muốn gửi dữ liệu tới remote server, ta

cần phải đổi thông tin cục bộ với thông tin remote server.

Lệnhoutput trong định dạng tcpdump: output log_tcpdump: snort.dump

Trong file cấu hình snort.conf, ta có thể cấu hình kiểu output nào nếu muốn Trong phần này, chúng ta sẽ cấu hình hệ thống để output database

2 Cấu hình Snort liên kết database

Ta phải khai báo database cho Snort và đưa cho nó thông tin cần thiết để tạo kết

Lưu và đóng file snort.conf

3.Cài đặt MySQL vào Snort

Ngày đăng: 14/09/2012, 09:15

Hình ảnh liên quan

File chính lưu trữ toàn bộ cấu hình lõi của Snort là file snort.conf. File này có một vài phần chính: - CấU HÌNH Hệ THốNG IDS

ile.

chính lưu trữ toàn bộ cấu hình lõi của Snort là file snort.conf. File này có một vài phần chính: Xem tại trang 8 của tài liệu.
Trong đó x là số thứ tự card mạng mà bạn muốn bắt gói tin từ đó. Trong hình trên chúng ta thử ping google.com và được reply lại từ địa chỉ 74.125.71.105 và Snort cũng  đã bắt được gói tin đói (gói ICMP ECHO REPLY) - CấU HÌNH Hệ THốNG IDS

rong.

đó x là số thứ tự card mạng mà bạn muốn bắt gói tin từ đó. Trong hình trên chúng ta thử ping google.com và được reply lại từ địa chỉ 74.125.71.105 và Snort cũng đã bắt được gói tin đói (gói ICMP ECHO REPLY) Xem tại trang 11 của tài liệu.
12. Để bắt đầu cấu hình, chọn Excute  Finish (kết thúc cài đặt) - CấU HÌNH Hệ THốNG IDS

12..

Để bắt đầu cấu hình, chọn Excute  Finish (kết thúc cài đặt) Xem tại trang 25 của tài liệu.
8. Show table; (để hiễn thị bảng trong quá trình tạo script) 9. Để chọn qua database mới, chọn connect archivedb1; 10 - CấU HÌNH Hệ THốNG IDS

8..

Show table; (để hiễn thị bảng trong quá trình tạo script) 9. Để chọn qua database mới, chọn connect archivedb1; 10 Xem tại trang 26 của tài liệu.
 Kiểm tra cấu hình mới: - CấU HÌNH Hệ THốNG IDS

i.

ểm tra cấu hình mới: Xem tại trang 28 của tài liệu.
 Cấu hình dịch vụ Snort: - CấU HÌNH Hệ THốNG IDS

u.

hình dịch vụ Snort: Xem tại trang 29 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan