Tải bản đầy đủ (.pptx) (57 trang)

Tiểu luận môn học an toàn thông tin mạng CẤU HÌNH HỆ THỐNG IDS

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (918.87 KB, 57 trang )

Trường ĐH CNTT
Khoa MMT&TT
CẤU HÌNH
HỆ THỐNG IDS
Nhóm 19:
Nguyễn Thế Anh 07520512
Nguyễn Trọng Đăng Trình 07520371
Nguyễn Tuấn Anh 07520011
Nguyễn Anh Linh 07520193
Trương Đình Huy 07520 151
Ứng dụng TT &ANTT
Snort Fundamentals
Snort bao gồm 4 thành phần chính.

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

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ự

Detection Engine – Tại đây cái rules sẽ được
áp dụng lên các gói tin

Output – xuất ra kết quả, thông báo.
snort.conf
Là file chính lưu trữ toàn bộ cấu hình lõi của Snort
File gồm các phần chính:

Variables

Preprocessors



Output Plug-ins

Rulesets
Vài chỉnh sửa cần thiết sau 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)

include classification.config
=> include SnortInstallationPath\etc\classification.config

include reference.conf
=> include $SnortInstallationPath\etc\reference.config
Snort Installation
Một số thư viện và chương trình yêu cầu trước khi cài đặt Snort
WinPcap
/>Snort
(chọn bản binary .exe cho windows).

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
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

Cấu hình và thực thi Snort
var HOME_NET var HOME_NET địa chỉ mạng
var EXTERNAL_NET var EXTERNAL_NET !$HOME_NET
var include reference var include F:\Snort\etc\reference.config
var RULE_PATH….\rules var RULE_PATH F:\Snort\rules
# include threshold.conf var F:\Snort\etc\threshold.conf
dynamicpreprocessor directory …. dynamicpreprocessor directory F:\Snort\lib\snort_dynamicpreprocessor
dynamicengine
F:\Snort\lib\snort_dynamicengine\sf_engine.dll
3. Chạy thử snort

Từ F:\Snort\bin gõ lệnh snort –W

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

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
LogGing với Snort

Đối với một hệ thống IDS, rule là tất cả
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
SNORT LÀM VIỆC NHƯ MỘT HỆ THỐNG IDS
Các rule của snort bao gồm 2 phần:


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.

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
Rule Header Rule Options
alert tcp any any -> any 80 (content: “adult”; msg: “Adult Site Access”)
Header của rule:
Rule Action Protocol Source IP Source Port Direction Destination IP Destination Port
alert tcp any any -> any 80
1.Đị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
Rule Action 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.
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.
Bảng các rule action:
2. Xác định giao thức.
Snort hỗ trợ các giao thức: TCP, UDP, ICMP, và IP.
3. Cấu hình địa chỉ IP

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.


Tạo một IP list
Alert tcp any any -> [10.0.10.0/24, 10.10.10.0/24] any (content: “Password”; msg: “Password Tranfer
Possible!”;)
4. Xác định port cho snort kiểm tra

Các port như 80, 23…

nếu để “any”  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:
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

“->” là kí hiệu dùng để xác định hướng kiểm tra gói tin của snort.
“<>” để 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

Rule Option

Thể hiện tính linh động và các chức năng của Snort

. 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”.
Keyword Mô tả
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.
Một số keyword thông dụng:
Sử dụng các option


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 đó”;


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ị TTL bằng đúng như vậy mới được lọc
VD:
ttl:
“time-value”;

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”;

Flag option

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ẻ:

F: FIN

S: SYN

R: RST

P: PSH

A: ACK

U: URG

2: Reserved bit 2


1: Reserved bit 1

0: không thiết lập cờ tcp
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”;)


Snort rule ID

Là một option được thêm vào Snort để phân loại nhiều loại Snort rule
khác nhau.

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ọ, 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ộ.
Tạo một ruleset đơn giản

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”

×