Tải bản đầy đủ (.docx) (19 trang)

Lab tìm hiểu về các hệ thống phát hiện tấn công, xâm nhập ids ips

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 (1.44 MB, 19 trang )

1. Tìm hiểu về các hệ thống phát hiện tấn công, xâm nhập IDS/IPS.

a) Khái niệm

 IDS (Intrusion Detection Systems - Hệ thống phát hiện xâm nhập) là thiết bị hoặc
phần mềm có nhiệm vụ giám sát traffic mạng, các hành vi đáng ngờ và cảnh báo
cho admin hệ thống.

 Mục đích của IDS là phát hiện và ngăn ngừa các hành động phá hoại bảo mật hệ
thống, hoặc những hành động trong tiến trình tấn cơng như dị tìm, quét các cổng.
IDS cũng có thể phân biệt giữa những cuộc tấn cơng nội bộ (từ chính nhân viên
hoặc khách hàng trong tổ chức) và tấn cơng bên ngồi (từ hacker).

 Trong một số trường hợp, IDS có thể phản ứng lại với các traffic bất thường/độc
hại bằng cách chặn người dùng hoặc địa chỉ IP nguồn truy cập mạng.

b) Phân loại

 IDS có nhiều loại và tiếp cận các traffic đáng ngờ theo nhiều cách khác nhau. Có
IDS dựa trên mạng (NIDS) và dựa trên máy chủ (HIDS). Có IDS phát hiện dựa
trên việc tìm kiếm các chữ ký cụ thể của những mối đe dọa đã biết (tương tự như
cách các phần mềm diệt virus phát hiện và ngăn chặn malware) và IDS phát hiện
bằng cách so sánh các mẫu traffic với baseline rồi xem có sự bất thường nào
khơng. Có những IDS chỉ theo dõi và cảnh báo, có IDS sẽ thực hiện hành động khi
phát hiện xâm nhập.

 NIDS: Network Intrusion Detection Systems được đặt tại một điểm chiến lược
hoặc những điểm giám sát traffic đến và đi từ tất cả các thiết bị trên mạng. NIDS
có thể quét tất cả traffic inbound và outbound, nhưng việc này có thể tạo ra nút thắt
cổ chai làm giảm tốc độ chung của mạng.


 HIDS: Host Intrusion Detection Systems, hệ thống phát hiện xâm nhập này chạy
trên máy chủ riêng hoặc một thiết bị đặc biệt trên mạng. HIDS chỉ giám sát các gói
dữ liệu inbound và outbound từ thiết bị và cảnh báo người dùng hoặc quản trị viên
về những hoạt động đáng ngờ được phát hiện.

 Signature-Based: Là các IDS hoạt động dựa trên chữ ký, giám sát các gói tin trên
mạng và so sánh chúng với cơ sở dữ liệu chữ ký, thuộc tính từ những mối đe dọa
đã biết, tương tự như cách phần mềm diệt virus hoạt động. Vấn đề đối với hệ thống

IDS này là có thể khơng phát hiện ra mối đe dọa mới, khi chữ ký để nhận biết nó
chưa được IDS kịp cập nhật.

 Anomaly-Based: IDS này sẽ phát hiện mối đe dọa dựa trên sự bất thường.
Anomaly-Based giám sát traffic mạng và so sánh với baseline đã được thiết lập.
Baseline sẽ xác định đâu là mức bình thường của mạng: loại băng thông thường
được dùng, giao thức thường dùng, cổng và thiết bị thường kết nối với nhau, cảnh
báo cho quản trị viên mạng hoặc người dùng khi phát hiện traffic truy cập bất
thường hoặc những khác biệt đáng kể so với baseline.

 Passive: IDS thụ động sẽ chỉ phát hiện và cảnh báo. Khi phát hiện traffic đáng
ngờ hoặc độc hại, Passive sẽ tạo cảnh báo và gửi đến quản trị viên hoặc người
dùng.

 Reactive: Ngoài các nhiệm vụ như IDS Passive, Reactive còn thực hiện những
hành động được thiết lập sẵn để ngay lập tức phản ứng lại các mối đe dọa, ví như:
chặn truy cập, khóa IP.

c) Ưu nhược điểm

 Ưu điểm:


 Cung cấp một cách nhìn tồn diện về tồn bộ lưu lượng mạng.  Giúp kiểm tra
các sự cố xảy ra với hệ thống mạng.

 Sử dụng để thu thập bằng chứng cho điều tra và ứng cứu sự cố.

 Nhược điểm:

 Có thể gây ra tình trạng báo động nhầm nếu cấu hình khơng hợp lý.

 Khả năng phân tích lưu lượng bị mã hóa tương đối thấp.

 Chi phí triển khai và vận hành hệ thống tương đối lớn.

d) Các kỹ thuật phát hiện xâm nhập

 Phát hiện dựa trên chữ ký:

 Là hình thức lâu đời nhất của phát hiện xâm nhập.

 Có hai cơ chế phát hiện dựa trên chữ ký phổ biến là Snort và Suricata.

 Phát hiện dựa trên danh tiếng:
 Là một tập con của phát hiện dựa trên chữ ký.
 Phát hiện thơng tin liên lạc giữa các máy tính được bảo vệ trong mạng và các
máy tính trên Internet có thể bị nhiễm độc do đã từng tham gia vào các hành động
độc hại trước đó.
 Kết quả phát hiện dựa trên các chữ ký đơn giản như địa chỉ IP hoặc tên miền.
 Phát hiện dựa trên bất thường:
 Là một hình thức mới của phát hiện xâm nhập.

 Dựa vào quan sát sự cố mạng và nhận biết lưu lượng bất thường thơng qua các
chuẩn đốn và thống kê.
 Có khả năng nhận ra các mẫu tấn cơng khác biệt với hành vi mạng thông thường.
 Đây là cơ chế phát hiện rất tốt nhưng khó thực hiện.
 Phát hiện dựa trên Honeypot:
 Là tập con mới được phát triển của phát hiện dựa trên bất thường.
 Honeypot đã được sử dụng trong nhiều năm để thu thập phần mềm độc hại và
các mẫu tấn cơng cho mục đích nghiên cứu.
 Honeypot có thể được ứng dụng tốt trong phát hiện xâm nhập bằng cách cấu
hình hệ thống.
2. Tìm hiểu về kiến trúc và tính năng của Snort
2.1. Kiến trúc
 Snort bao gồm nhiều thành phần, mỗi phần có một chức năng riêng biệt:
 Module giải mã gói tin
 Module tiền xử lý
 Module phát hiện

 Module log và cảnh báo

 Module kết xuất thông tin

 Kiến trúc của Snort được thể hiện qua mô hình sau:

 Khi Snort hoạt động, nó sẽ lắng nghe tất cả các gói tin nào di chuyển qua nó. Các
gói tin sau khi bị bắt sẽ được đưa vào module giải mã. Tiếp theo sẽ vào module
tiền xử lý và rồi module phát hiện. Tại đây tùy vào việc có phát hiện được xâm
nhập hay khơng mà gói tin có thể bỏ qua để lưu thơng tin tiếp hoặc đưa vào
module Log và cảnh báo để xử lý. Khi các cảnh báo được xác định, Module kết
xuất thông tin sẽ thực hiện việc đưa ra cảnh báo theo đúng định dạng mong muốn.


a) Module giải mã gói tin

 Snort chỉ 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. Một gói tin sau khi được giải mã sẽ đưa tiếp vào module tiền xử lý.

b) Module tiền xử lý

 Module tiền xử lý 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 đóng
gói tồ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ới gử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 tin ban đầu. Module tiền xử lý giúp Snort có thể hiểu được các phiên làm việc
khác nhau.

 Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm
nhập dự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ận nhiề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 Snort phả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ày
thườ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ật
thơ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âm
nhập bất thường đó là portscan và bo (backoffice). Portscan dùng để đưa ra cảnh
báo khi kẻ tấn cơng thực hiện qt cổng để tìm lỗ hổng. Bo dùng để đưa ra cảnh

báo khi hệ thống nhiễm trojan backoffice.

c) Module phát hiện

 Đâ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ệu xâ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ột IDS 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ưu lượ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.

 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ừng phầ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ởi nhiề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.

d) Module log và cảnh báo


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

e) Module kết xuất thông tin

 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
2.2.Bộ luật của Snort
 Cấu trúc luật của Snort gồm hai phần:
 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 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 và các thông tin về các phần của gói tin
dùng để tạo nên cảnh báo. Phần Option chứa các tiêu chuẩn phụ thêm để đối sánh
với gói tin.
a) Cấu trúc phần Header
 Action
 Có 5 luật được định nghĩa:
 Pass: cho phép Snort bỏ qua gói tin này.
 Log: dùng để log gói tin. Có thể log vào file hay vào CSDL.
 Alert: gửi thông điệp cảnh báo khi dấu hiệu xâm nhập được phát hiện.
 Activate: tạo ra cảnh báo và kích hoạt thêm các luật khác để kiểm tra thêm điều
kiện của gói tin.

 Dynamic: đây là luật được gọi bởi các luật khác có hành động là Activate.

 Protocol

 Chỉ ra loại gói tin mà luật được áp dụng:

 IP

 ICMP

 TCP

 UDP

 Nếu là IP thì Snort sẽ kiểm tra header của lớp liên kết để xác định loại gói tin.
Nếu bất kỳ giao thức nào khác, Snort sẽ sử dụng header IP để xác định loại giao
thức.

 Address

 Có 2 phần là địa chỉ đích và địa chỉ nguồn. Nó có thể là 1 IP đơn hoặc 1 dải
mạng. Nếu là “any” thì áp dụng cho tất cả địa chỉ trong mạng. Chú ý: nếu là một
host thì có dạng: IP-address/32.

 Snort cung cấp phương pháp để loại trừ địa chỉ IP bằng cách sử dụng dấu “!”.

 Port

 Số port để áp dụng cho các luật. VD: telnet là 23, DNS là 53 … Port chỉ áp dụng
cho 2 giao thức là TCP và UDP  Để sử dụng 1 dãy các port thì ta phân biệt bởi

dấu “:”.

 Direction

 Chỉ ra đâu là nguồn, đâu là đích. Có thể là -> hay <- hoặc <>. Trường hợp <> là
khi ta muốn kiểm tra Client và Server. b) Cấu trúc phần Option

 Từ khóa ack

 Trong header TCP có chứa trường Acknowledgement Number với độ dài 32 bit.
Trường này chỉ ra số thứ tự tiếp theo gói tin TCP của bên gửi đang được chờ để
nhận. Trường này chỉ có ý nghĩa khi mà cờ ACK được thiết lập. Các công cụ như
Nmap sử dụng đặc điểm này để ping một máy. Ví dụ nó có thể gửi gói tin TCP tới
cổng 80 với cờ ACK được bật và số thứ tự là 0. Bởi vậy bên nhận thấy gói tin

khơng hợp lệ sẽ gửi lại gói tin RST. Và khi nhận được gói RST này, Nmap sẽ biết
được IP này đang tồn tại hay không.  Để kiểm tra loại ping TCP này thì ta có thể
dùng luật sau: Alert tcp any any -> 192.168.0.0/22 any (flags: A; ack: 0; msg:
“TCP ping detected”)

 Từ khóa classtype

 Các luật có thể được phân loại và gán cho 1 số chỉ độ ưu tiên nào đó để nhóm và
phân biệt chúng với nhau. Để hiểu rõ hơn về classtype thì ta cần hiểu được file
classification.config. Mỗi dòng trong file này đều có cấu trúc như sau: Config
classification: name, description, priority

 Name: tên dùng để phân loại, tên này sẽ được dùng với từ khóa classtype trong
các luật Snort


 Description: mơ tả

 Priority: là 1 số chỉ độ ưu tiên mặc định của lớp này. Độ ưu tiên này có thể được
điều chỉnh trong từ khóa priority của phần Option trong Snort

 Từ khóa content

 Một đặc tính quan trọng của Snort là có khả năng tìm 1 mẫu dữ liệu bên trong
một gói tin.

 Tuy nhiên khi sử dụng từ khóa content cần nhớ rằng: Đối chiếu nội dung cần phải
xử lý rất lớn nên ta phải cân nhắc kỹ khi sử dụng nhiều luật đối chiếu nội dung.

 Các từ khóa được sử dụng cùng với content để bổ sung thêm các điều kiện là:

 Offset: dùng để xác định vị trí bắt đầu tìm kiếm là offset tính từ đầu phần dữ liệu
của gói tin.

 Dept: dùng để xác định vị trí mà từ đó Snort sẽ dừng việc tìm kiếm.  Từ khóa
dsize  Dùng để đối sánh theo chiều dài của phần dữ liệu. Rất nhiều cuộc tấn công
sử dụng lỗi tràn bộ đệm bằng cách gửi các gói tin có kích thước rất lớn.

 Từ khóa Flags

 Từ khóa này dùng để phát hiện xem những bit cờ flag nào được bật trong phần
TCP header của gói tin. Mỗi cờ có thể được sử dụng như 1 tham số trong từ khóa
flags.

 Từ khóa fragbits


 Phần IP header của gói tin chứa 3 bit dùng để chống phân mảnh và tổng hợp các
gói tin IP. Các bit đó là:  Reversed bit (RB) dùng để dành cho tương lai

 Don’t Fragment Bit (DF): nếu bit này được thiết lập tức là gói tin khơng bị phân
mảnh

 More Fragments Bit (MF): nếu được thiết lập thì các phần khác của gói tin vẫn
đang trên đường đi mà chưa tới đích. Nếu bit này khơng được thiết lập thì đây là
phần cuối cùng của gói tin.

2.3. Các tính năng

 Với kiến trúc kiểu module, người dùng có thể tự tăng cường tính năng cho hệ
thống Snort của mình.

 Snort có thể chạy trên nhiều hệ thống như Windows, Linux, OpenBSD, FreeBSD,
Solaris …

3. Tìm hiểu về kiến trúc và tính năng của OSSEC

3.1. Kiến trúc

 OSSEC được thiết ké theo mơ hình client

– server, gồm 2 thành phần chính là OSSEC server và OSSEC agent

a) OSSEC SERVER

 Đây là phần trung tâm và quan trọng nhất của OSSEC. Server là nơi lưu trữ dữ
liệu. Tất cả các luật, bộ giải mã (decoder) cũng được lưu trữ trên server.


 Server còn đảm nhận nhiệm vụ quản lý các agent. Các agent kết nối với máy chủ
trên cổng 1514 hoặc 514, giao thức UDP. Kết nối với cổng này phải được cho phép
để các agent kết nối với manager.

 Nhiệm vụ quan trọng nhất của server là phân tích các log nhận được từ các agent
hay agentless (gọi chung là client) và xuất ra các cảnh báo. Các cảnh báo này có
thể xuất ra cho các các cơng cụ xử lý log như Logstash, Elastic Search để hiển thị
cho người quản trị bằng Kibana, lưu trữ trong cơ sở dữ liệu.

b) OSSEC Agent

 Agent là một chương trình nhỏ, hoặc tập hợp các chương trình, được cài đặt trên
các hệ thống được giám sát.

 Agent sẽ thu thập thơng tin và gửi cho manager để phân tích và so sánh. Một số
thông tin được thu thập trong thời gian thực, những thông tin khác theo định kỳ.

 Agent có một bộ nhớ rất nhỏ và sử dụng rất ít CPU, không ảnh hưởng đến việc sử
dụng của hệ thống. Server cấu hình cho các agent. Các agent được cài đặt trên các
host và chúng gửi lại các log cho server thơng qua giao thức thơng điệp được mã
hóa OSSEC.

 Các modul chức năng của agent là: giám sát host, kiểm tra tính tồn vện file trên
máy host mà nó được cài, phát hiện rootkit trên máy host, đọc các log và gửi các
log cho server.

 Agentless là tính năng hỗ trợ cho các thiết bị không cài đặt được agent theo cách
bình thường như router, switch, tường lửa. Nó có chức năng như agent. Agentless
kết nối để gửi thông điệp, log cho manager bằng các phương thức RPC.


3.2. Quy trình hoạt động

 OSSEC hoạt động theo mơ hình Client – Server:

 Các agent có trách nhiệm theo dõi và thu thập log từ các máy host được cài đặt,
mã hóa chúng và gửi cho server theo giao thức UDP, cổng 1514.

 Server chịu trách nhiệm nhận log từ agent và phân tích chúng, so sánh với các
luật.

 Log đã được xử lý sẽ được server chuyển về hệ thống được tích hợp ELK để lưu
trữ và hiển thị cảnh báo cho admin theo giao diện web.

3.3. Các luật của OSSEC

 Luật (rules) là một phần vô cùng quan trọng trong hệ thống OSSEC, nó chính là
cốt lõi trong việc đảm bảo hệ thống OSSEC có được hoạt động theo quy trình,
chính xác và hiệu quả hay khơng. Rules có định dạng XML, được cấu hình trong
ossec server /var/ossec/etc/ossec.config và nằm trong thẻ . Rules được lưu trong
/var/ossec/rules.

 OSSEC có 16 cấp độ luật:

 Ignored: Không thực hiện hành động nào. Khi gặp luật có cấp độ này thì sẽ
khơng có thơng báo. Các luật này được qt trước tất cả các luật khác. Chúng bao
gồm các sự kiện không có sự liên quan về bảo mật.

 None: Khơng


 System low priority notification (hệ thống thông báo ưu tiên thấp): Thơng báo hệ
thống hoặc thơng báo trạng thái. Khơng có sự liên quan về bảo mật.

 Successful/Authorized events (sự kiện thành công/được ủy quyền): Bao gồm các
lần đăng nhập thành công, tường lửa cho phép sự kiện, v.v.

 System low priority error (lỗi ưu tiên hệ thống thấp): Các lỗi liên quan đến cấu
hình hoặc thiết bị/ứng dụng khơng sử dụng. Chúng khơng có sự liên quan về bảo
mật và thường được gây ra bởi các cài đặt mặc định hoặc kiểm thử phần mềm.

 User generated error (lỗi do người dùng tạo): Chúng bao gồm mật khẩu bị bỏ lỡ,
hành động bị từ chối, v.v. Chính chúng khơng có sự liên quan về bảo mật.

 Low relevance attack (tấn công mức độ liên quan thấp): Chúng chỉ ra một con
sâu hoặc virus không ảnh hưởng đến hệ thống (như mã màu đỏ cho các máy chủ
apache, vv). Chúng cũng bao gồm các sự kiện IDS thường xuyên và các lỗi thường
xuyên.

 “Bad word” matching (kết hợp “Từ xấu”): Chúng bao gồm các từ như "bad",
"error", v.v. Những sự kiện này hầu như khơng được phân loại và có thể có một số
mức độ liên quan về bảo mật.

 First time seen (lần đầu tiên nhìn thấy): Bao gồm các sự kiện lần đầu tiên được
xem. Lần đầu tiên một sự kiện IDS được kích hoạt hoặc lần đầu tiên người dùng
đăng nhập. Nếu người dùng mới bắt đầu sử dụng OSSEC HIDS, những thông báo

này có thể sẽ thường xuyên. Sau một thời gian sẽ giảm dần, Nó cũng bao gồm các
hành động bảo mật có liên quan (như bắt đầu của một sniffer).

 Error from invalid source (lỗi từ nguồn không hợp lệ): Bao gồm các lần đăng

nhập dưới dạng người dùng không xác định hoặc từ nguồn khơng hợp lệ. Có thể có
sự liên quan về bảo mật (đặc biệt nếu được lặp lại). Chúng cũng bao gồm các lỗi
liên quan đến tài khoản "quản trị" (root).

 Multiple user generated errors (tập hợp lỗi do người dùng tạo): Chúng bao gồm
nhiều mật khẩu không hợp lệ, nhiều lần đăng nhập không thành cơng, v.v. Họ có
thể chỉ ra một cuộc tấn cơng hoặc có thể chỉ là người dùng vừa qn thơng tin đăng
nhập của mình.

 Integrity checking warning (cảnh báo kiểm tra tính tồn vẹn): Chúng bao gồm
các thơng báo liên quan đến việc sửa đổi các tệp nhị phân hoặc sự hiện diện của
rootkit (bằng kiểm tra root). Nếu chỉ cần sửa đổi cấu hình hệ thống, người dùng sẽ
được báo về các thơng báo "syscheck". Nó có thể chỉ ra một cuộc tấn công thành
công. Cũng bao gồm các sự kiện IDS sẽ bị bỏ qua (số lần lặp lại cao).

 High importancy event (sự kiện quan trọng cao): Chúng bao gồm các thông báo
lỗi hoặc cảnh báo từ hệ thống, hạt nhân, v.v. Chúng có thể chỉ ra một cuộc tấn công
chống lại một ứng dụng cụ thể.

 Unusual error (high importance) - Lỗi bất thường (mức độ quan trọng cao): Hầu
hết các lần khớp với một kiểu tấn công chung.

 High importance security event (sự kiện bảo mật quan trọng cao): Hầu hết thời
gian được thực hiện với sự tương quan và nó chỉ ra một cuộc tấn công.

 Severe attack (tấn công nghiêm trọng): Cần chú ý ngay lập tức.

 Rules trong OSSEC được hỗ trợ quản lý theo nhóm, các bộ luật được xây dựng
sẵn trong hệ thống OSSEC thuộc 12 nhóm sau:


 invalid_login

 authentication_success

 authentication_failed

 connection_attempt
 attacks
 adduser
 sshd
 ids
 firewall
 squid
 apache
 syslog
 Một vài thuộc tính của 1 rule trong OSSEC:
 Level (bắt buộc phải có): thể hiện mức độ của rule, ossec có 16 cấp độ từ 0- 15.
 Id (bắt buộc phải có): id của rule, mỗi rule sẽ có một id riêng biệt không trùng
lặp và là 1 trong các số từ 100-99999. (Khi tạo một luật mới nên đặt ip từ khoảng
100.000).
 Maxsize: chỉ định kích thước tối đa của sự kiện tiến hành, là 1 trong các số từ 1-
99999.
 Frequency: chỉ định số lần rules được kiểm tra trước khi thực hiện. Số lần kích
hoạt phải gấp đơi số lần cài đặt. Ví dụ: tần sơ = 2 => rule phải được so sánh 4 lần.
 Timeframe: khung thời gian tính bằng giây, được sử dụng để kết hợp với
frequency.  Ignore: thời gian (s) bỏ qua rule này.
 Overwrite: Cho phép chỉnh sửa rule.

II. Thực hành.


Chuẩn bị máy Kali Linux và máy Ubuntu cài Snort có địa chỉ IP và kết nối mạng
LAN

Tạo 3 luật vào cho 3 dạng tấn công :

- Phát hiện các gói tin ping từ bất kỳ một máy nào gửi đến máy chạy Snort.

Hiển thị thông điệp khi phát hiện: “-Snort phát hiện có các gói Ping gửi
đến.”

- Phát hiện các gói tin rà quét từ bất kỳ một máy nào gửi đến máy chạy Snort

trên cổng 80. Hiển thị thơng điệp khi phát hiện: “-Snort phát hiện có các gói
tin rà quét trên cổng 80.”

- Phát hiện tấn công TCP SYN Flood từ bất kỳ một máy nào gửi đến máy

chạy Snort. Hiển thị thông điệp khi phát hiện: “-Snort phát hiện đang bị tấn
công TCP SYN Flood.”.

a) Phát hiện khi có máy ping đến

Máy Kali ping đến máy Ubuntu (IP: 192.168.72.131)

Snort quét được và đưa ra cảnh báo có gói tin gửi đến
b) Phát hiện rà quét cổng 80

Sử dụng công cụ Nmap rà quét cổng 80 của máy Ubuntu

Phát hiện thấy có các gói tin đang rà quét đến cổng 80

c) Phát hiện tấn công TCP SYN Flood

Snort quét và phát hiện tấn công



×