1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI TẬP LỚN MÔN HỌC KỸ THUẬT THEO DÕI GIÁM SÁT MẠNG CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP

23 51 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 23
Dung lượng 1,17 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Snort IPS sử dụng một loạt các quy tắc giúp xác định hoạt động mạng độc hại và sử dụng cácquy tắc đó để tìm các gói phù hợp với chúng và tạo cảnh báo cho người dùng.a IPS:  Hệ thống phò

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Khoa: Công nghệ thông tin

MÔN HỌC: KỸ THUẬT THEO DÕI & GIÁM SÁT MẠNG

Giảng Viên: ThS.Hoàng Mạnh Thắng

Danh Sách Thành Viên:

1 Đỗ Hoàng Hiệp B17DCAT068

2 Bùi Ngọc Bảo B17DCAT020

3 Lê Huy Hoàng B17DCAT080

4 An Quang Ngọc B17DCAT135

Hà Nội tháng 6 năm 2021

Trang 2

Báo Cáo Thuyết Trình nhóm 3 3

1 Snort là gì 3

2 Cài đặt và yêu cầu 4

Cài đặt: 4

Kali or Ubuntu 5

3 Kiến trúc, khối chức năng và các mối quan hệ giữa các khối chức năng 6

4 Các tập luật cơ bản 10

1 Tổng quan về Rule 10

2 Rule Header 11

3 Rule Option 12

5 Công cụ sử dung để phục vụ tấn công demo 12

SlowHTTPTest 13

6 Thực hành tấn công DOS 13

Rule Header 15

Rule Options 15

7 Tấn công SYN FLOOD 19

Trang 3

Báo Cáo Thuyết Trình nhóm 3

1 Snort là gì

Snort là một hệ thống phát hiện xâm nhập mạng mã nguồn mở miễn phí (IDS) và

hệ thống Ngăn chặn Xâm nhập Nguồn Mở (IPS) hàng đầu trên thế giới Snort IPS

sử dụng một loạt các quy tắc giúp xác định hoạt động mạng độc hại và sử dụng cácquy tắc đó để tìm các gói phù hợp với chúng và tạo cảnh báo cho người dùng.a) IPS:

 Hệ thống phòng chống xâm nhập (IPS) là một dạng an ninh mạng hoạt động

để phát hiện và ngăn chặn các mối đe dọa đã được xác định Hệ thống ngăn chặn xâm nhập liên tục giám sát mạng của bạn, tìm kiếm các sự cố nguy hiểm có thể xảy ra và nắm bắt thông tin về chúng IPS báo cáo những sự kiện này cho quản trị viên hệ thống và thực hiện hành động ngăn chặn, chẳng hạn như đóng các điểm truy cập và cấu hình tường lửa để ngăn chặn các cuộc tấn công trong tương lai Các giải pháp IPS cũng có thể được sử dụng để xác định các vấn đề với chính sách bảo mật của công ty, ngăn chặn nhân viên và khách hàng trong mạng vi phạm các quy tắc mà các chính sách này có

 Với rất nhiều điểm truy cập hiện diện trên một mạng doanh nghiệp điển hình, điều cần thiết là bạn phải có cách để theo dõi các dấu hiệu vi phạm tiềm ẩn, sự cố và các mối đe dọa sắp xảy ra Các mối đe dọa mạng ngày nay ngày càng trở nên tinh vi hơn và có thể xâm nhập vào cả những giải pháp bảo mật mạnh mẽ nhất

Trang 4

Snort cũng có thể được triển khai nội tuyến để dừng các gói này Snort có ba mục đích sử dụng chính: Như một trình dò tìm gói tin như tcpdump, như một trình ghi gói tin - điều này rất hữu ích cho việc gỡ lỗi lưu lượng mạng hoặc nó có thể được

sử dụng như một hệ thống ngăn chặn xâm nhập mạng toàn diện Snort có thể được tải xuống và định cấu hình để sử dụng cho cá nhân và doanh nghiệp

2 Cài đặt và yêu cầu

Cài đặt:

Bước 1: Chúng ta truy cập snort.org và tìm gói thích hợp cho hệ điều hành của bạn

 Đối với windows cần tải thêm 1 số ứng dụng tương thích như là Winpcap vàNpcap

 Đối với Kali hay Ubuntu ta cài theo các package

Bước 2: Đăng ký và nhận mã Oinkcode của mình Trang web khuyên chúng ta nênđăng ký để nhận được những phát hiện mới nhất Đối với những người không thể đăng ký, việc tạo tài khoản trên Snort.org sẽ vẫn cung cấp cho bạn quyền truy cập vào các gói quy tắc người dùng đã đăng ký Nhưng nên đăng ký để nhận các Rules chuẩn nhất và mới từ nhà phát hành

Bước 3: Đối với Windows tải về máy Rules

Bước 4: Chúng ta cần cấu hình Snort

Windows

Mở snort.conf

Trang 5

Ta sẽ thay đổi các đường dẫn đến rules

Khi tệp snort.conf mở ra, chúng tôi thay đổi địa chỉ IP thành mạng con lớp C thực

tế của bạn “192.168.132.0/24

Kali or Ubuntu

Đầu tiên chúng ta tải xuống Snort và cài đặt nó Sau đó, Để xác minh phiên bản Snort, chúng tôi mở terminal và nhập snort -V và nhấn Enter Tiếp theo, chúng ta cần định cấu hình giá trị HOME_NET: mạng mà chúng ta sẽ bảo vệ Chúng tôi nhập ifconfig vào vỏ thiết bị đầu cuối của chúng tôi để xem cấu hình mạng Chúngtôi lưu ý địa chỉ IP và giá trị giao diện mạng

Trang 6

Tiếp theo, gõ lệnh sau để mở tệp cấu hình snort trong trình soạn thảo văn bản gedit: sudo nano /etc/snort/snort.conf Chúng tôi nhập mật khẩu cho Máy chủ Khi tệp snort.conf mở ra, chúng tôi thay đổi địa chỉ IP thành mạng con lớp C thực

tế của bạn “192.168.132.0/24

Tại thời điểm này, Snort đã sẵn sàng để chạy

3 Kiến trúc, khối chức năng và các mối quan hệ giữa các khối chức năng

Trang 7

Snort là một mở nguồn mạng lưới sự xâm nhập Phòng ngừa hệ thống, có khả năng của biểu diễn thực tế-thời gian giao thông phân tích và gói tin khai thác trên IP mạng lưới Nó có thể biểu diễn giao thức phân tích, tìm kiếm / đối sánh nội dung

và có thể được sử dụng để phát hiện một nhiều loại tấn công và thăm dò, như là như tràn bộ đệm, kỹ thuật quét tàng hình, CGI các cuộc tấn công, SMB thăm dò,

Hệ điều hành dấu vân tay nỗ lực, và nhiều hơn nữa

- 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 (Packet Decoder)+ Module tiền xử lý (Preprocessors)

+ Module phát hiện (Detection Engine)+ Module log và cảnh báo (Logging and Alerting System)+ Module kết xuất thông tin (Output Modules)

Trang 8

 Module giải mã gói tin (Packet Decoder)

- 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 qua các cổng giao tiếp mạng, các cổng này có thể

là: Ethernet, Slip, …và được giải mã bằng Packet Decoder

- Packet Decoder có thể tạo ra các cảnh báo riêng của mình dựa vào phần header của giao thức (các gói tin quá dài, bất thường, hoặc không chính xác các tùy chọn TCP)

- Sau khi dữ liệu được giải mã đúng, chúng sẽ được gửi đến

Preprocessors

 Module tiền xử lý (Preprocessors)

- Preprocessors thực hiện 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 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ới gửi đi Khi Snort

Trang 9

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 Preprocessors 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): 1 số

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

+ 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 Có 2 plugingiúp phát hiện xâm nhập bất thường:

 Portscan: Portscan dùng để đưa ra cảnh báo khi kẻ tấn công thực hiện quét cổng để tìm lỗ hổng

 Backoffice: dùng để đưa ra cảnh báo khi hệ thống nhiễm trojan backoffice

 Module phát hiện (Detection Engine)

- Là bộ phận quan trọng nhất của Snort chịu trách nhiệm phát hiện các dấu hiệu xâm nhập

- Nó xác định có xâm nhập xảy ra hay không bằng cách sử dụng các luật được định nghĩa trước(rule) để so sánh với dũ liệu thu thập được

- Vì Snort thường nhật rất nhiều gói tin và bản thân Snort có rất nhiều rule nên hiệu suất hoạt động của bộ phận này phụ thuộc các yếu tố như: số lượng rule, cấu hình máy chạy Snort, tốc độ bus của máy chạySnort và lưu lượng mạng

- Detection Engine 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, …+ Packet payload: là tạo ra rule được sử dụng bởi Detection Engine để tìm kiếm một chuỗi bên trong dữ liệu của gói tin

Trang 10

- Nếu 1 gói tin bị phát hiện bởi nhiều rule khác nhau, thì cảnh báo đượcđưa ra theo luật có mức ưu tiên cao nhất

 Module log và cảnh báo (Logging and Alerting System)

- Tùy thuộc vào Detection Engine có phát hiện được xâm nhập hay không mà Logging and Alerting System sẽ lưu lại các ghi nhận, thôngbáo dưới dạng văn bản hoặc định dạng khác

 Module kết xuất thông tin (Output Modules)

- Output Module phụ thuộc vào việc ghi nhận, thông báo theo cách thứcnào để xuất kết quả:

+ Ghi log file+ Ghi syslog+ Ghi cảnh báo vào CSDL+ Tạo file log XML

+ Cấu hình lại Router, filewall+ Gửi thông tin SNMP

4 Các tập luật cơ bản

1 Tổng quan về Rule

- Rule 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 đó

- Rule 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 huẩn phụ thêm để đối sánh với gói tin

Tập rule trong Snort khá là đơn giản để viết, đọc hiểu hay áp dụng Tuy

Trang 11

nhiên những rule này lại tương đối mạnh mẽ, nó có thể phát hiện được hầu hết tất cả các xâm nhập vào trong mạng của hệ thống của chúng ta Sau khi so sáng các gói tin đi vào với các quy tắc hay với các rule trong tập rule, Snort sẽ thực hiện một số hành động sau đây:

 Log: Tuỳ theo dạng ghi log mà ta chọn thì các gói tin sẽ được ghi log theo dạng đó

 Alert: Sinh ra một cảnh báo tùy theo thông điệp (msg) mà ta muốn hiển thị khi cảnh báo

 Pass: Snort cho phép gói tin đó đi qua và đi vào trong mạng của hệ thống

2 Rule Header

- Action: cho biết phải làm gì khi thấy một gói tin phù hợp với rule Có

5 hành động mặc định sau:

+ 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

Trang 12

+ address/32: áp dụng nếu là một host

+ ![address]: loại trừ địa chỉ IP

- Source Port và Destination Port: chỉ áp dụng cho 2 giao thức TCP và UDP

+ Any ports: bất kỳ port nào

+ Static port: chỉ định 1 port duy nhất

- Direction: chỉ ra đâu là nguồn đâu là đích

+ “” : chỉ hướng của rule bắt đầu từ nguồn bên trái đến đích bên phải+ “<-+”: hướng của rule này là cả 2 chiều, thuận tiện cho việc phân tích

cả 2 mặt của traffic như telnet hoặc POP3, …

3 Rule Option

Post-Detection rule options (tùy chọn quy tắc sau phát hiện)

5 Công cụ sử dung để phục vụ tấn công demo

Trang 13

sử dụng CPU trên máy chủ.

Các cuộc tấn công Slowloris và Slow HTTP POST DoS dựa trên thực tế là giao thức HTTP, theo thiết kế, yêu cầu máy chủ nhận hoàn toàn các yêu cầu trước khi chúng được xử lý Nếu một yêu cầu HTTP không hoàn tất hoặc nếu tốc độ truyền rất thấp, máy chủ sẽ giữ tài nguyên của nó bận rộn để chờ phần còn lại của dữ liệu Nếu máy chủ giữ quá nhiều tài nguyên bận rộn, điều này tạo ra từ chối dịch

vụ Công cụ này đang gửi các yêu cầu HTTP một phần, cố gắng nhận được từ chối dịch vụ từ máy chủ HTTP mục tiêu

6 Thực hành tấn công DOS

Tấn công từ chối dịch vụ (tấn công DoS) là một cuộc tấn công mạng, trong đó thủ phạm tìm cách làm cho máy hoặc tài nguyên mạng không khả dụng cho người dùng dự định của nó bằng cách làm gián đoạn tạm thời hoặc vô thời hạn các dịch

vụ của máy chủ được kết nối với internet Từ chối dịch vụ thường được thực hiện bằng cách làm ngập máy hoặc tài nguyên được nhắm mục tiêu với các yêu cầu thừa nhằm cố gắng làm quá tải hệ thống và ngăn một số hoặc tất cả các yêu cầu hợp pháp được thực hiện

Các cuộc tấn công từ chối dịch vụ được đặc trưng bởi một nỗ lực rõ ràng của những kẻ tấn công nhằm ngăn chặn việc sử dụng hợp pháp một dịch vụ Có hai hình thức tấn công DoS chung: những hình thức làm sập các dịch vụ và những tấn công làm ngập lụt các dịch vụ Các cuộc tấn công nghiêm trọng nhất được phân phối

Trang 14

Từ chối dịch vụ phân tán (DDoS) là một cuộc tấn công DoS trong đó thủ phạm sử dụng nhiều hơn một địa chỉ IP duy nhất, thường là hàng nghìn địa chỉ trong số đó

Vì lưu lượng truy cập tràn ngập nạn nhân bắt nguồn từ nhiều nguồn khác nhau, không thể ngăn chặn cuộc tấn công chỉ bằng cách sử dụng tính năng lọc xâm nhập

Nó cũng gây khó khăn cho việc phân biệt lưu lượng truy cập của người dùng hợp pháp với lưu lượng tấn công khi trải rộng qua rất nhiều điểm xuất phát Là một giải pháp thay thế hoặc tăng cường DDoS, các cuộc tấn công có thể liên quan đến việc giả mạo địa chỉ người gửi IP (giả mạo địa chỉ IP) làm phức tạp thêm việc xác định và đánh bại cuộc tấn công Quy mô của các cuộc tấn công DDoS đã tiếp tục tăng trong những năm gần đây, vào năm 2016 đã vượt quá một terabit mỗi giây

Do sử dụng máy ảo để làm nên ở nhóm em sẽ demo trên máy kali cài Snort

Tại thời điểm Snort đã sẵn sàng để chạy ngoại trừ, nó không có bất kỳ quy tắc nào được tải Bây giờ chúng tôi viết các quy tắc sẽ cho phép snort phát hiện một cuộc tấn công DoS Mở tệp local.rules trong trình soạn thảo văn bản dưới dạng root bằng lệnh sau: sudo gedit /etc/snort/rules/local.rules

Sau đó, chúng tôi nhập như sau:

alert icmp any any -> $HOME_NET any (msg:"ICMP flood"; sid:1000001; rev:1; classtype:icmp-event; detection_filter:track by_dst, count 500, seconds 3;)

Trang 15

Đây là quy tắc của câu lệnh này

Rule Header

 alert: Hành động quy tắc Snort sẽ tạo cảnh báo khi điều kiện đã đặt

được đáp ứng

 any: IP nguồn Snort sẽ xem xét tất cả các nguồn.

 any: Cổng nguồn Snort sẽ xem xét tất cả các cổng

 - >: Phương hướng Từ nguồn đến đích

 $HOME_NET: IP đích Chúng tôi đang sử dụng giá trị HOME_NET từ

tệp snort.conf

 any: Cảng đích Snort sẽ xem xét tất cả các cổng trên mạng được bảo vệ Rule Options

 msg:” ICMP flood”: Snort sẽ bao gồm thông báo này cùng với cảnh báo

 sid:1000001: ID quy tắc ngắn Hãy nhớ rằng tất cả các số <1.000.000

đều được đặt trước, đây là lý do tại sao chúng tôi bắt đầu với 1000001 (bạn có thể sử dụng bất kỳ số nào, miễn là nó lớn hơn 1.000.000)

 rev:1 : Số sửa đổi Tùy chọn này cho phép duy trì quy tắc dễ dàng hơn

 classtype:icmp-event: Phân loại quy tắc dưới dạng “icmp-event”, một

trong các danh mục Snort được xác định trước Tùy chọn này giúp tổ chức quy tắc

 detection_filter:track by_dst: Snort theo dõi địa chỉ IP đích để phát

hiện

 count 500: Nếu trong khoảng thời gian lấy mẫu, Snort phát hiện hơn 500

yêu cầu thì chúng tôi sẽ nhận được cảnh báo

 seconds 3: thời gian lấy mẫu được đặt thành 3 giây

Bây giờ, hãy bắt đầu Snort ở chế độ IDS và yêu cầu nó hiển thị cảnh báo cho bảng điều khiển:

sudo snort -A console -c /etc/snort/snort.conf -i eth0

Ở đây chúng ta đang trỏ Snort đến tệp cấu hình mà nó sẽ sử dụng (-c) và chỉ định giao diện (-i eth0) Tùy chọn bảng điều khiển -A in cảnh báo ra đầu ra tiêu chuẩn Chúng ta không thấy bất kỳ đầu ra nào khi chúng ta nhập lệnh vì Snort không phát hiện thấy bất kỳ hoạt động nào được chỉ định trong quy tắc chúng tôi đã viết

Trang 16

Chúng ta tạo ra một số hoạt động và xem liệu quy tắc của chúng tôi có hoạt động hay không Chúng ta khởi chạy máy ảo của chúng ta

Sau đó, chúng ta chạy một công cụ có tên là hping3 để khởi động một cuộc tấn công ICMP lũ lụt trên máy chủ cục bộ của mình Thấy các cảnh báo được tạo cho mọi yêu cầu phản hồi ICMP vượt quá giá trị đếm được chỉ định trong khoảng thời gian lấy mẫu với văn bản thông báo mà chúng ta đã chỉ định trong tùy chọn tin nhắn

Chúng tôi cũng có thể thấy địa chỉ IP nguồn của máy chủ chịu trách nhiệm về hoạt động tạo cảnh báo

Trang 17

Sau đó, chúng tôi dừng Snort và quay lại lời nhắc bằng cách nhấn Ctrl + C.

Quy tắc trên là để phát hiện lũ lụt ICMP Bây giờ chúng ta viết một quy tắc khác

để phát hiện SYN lũ lụt Chúng tôi một lần nữa mở tệp local.rules và thêm phần sau vào một dòng mới:

alert tcp any any -> $HOME_NET 80 (flags: S; msg:"Possible DoS Attack Type : SYN flood"; flow:stateless; sid:3; detection_filter:track by_dst, count

20, seconds 10;)

Trong quy tắc này, chúng tôi đã thay đổi giao thức thành TCP và đặt số cổng đích

là 80 Cờ từ khóa kiểm tra xem có các bit cờ TCP cụ thể (trong trường hợp này là

cờ SYN) hay không Khoảng thời gian lấy mẫu được đặt thành 10 giây Nếu trongkhoảng thời gian này có hơn 20 yêu cầu được phát hiện thì chúng tôi sẽ nhận được cảnh báo

Sau đó, chúng ta chạy lại snort theo cách tương tự Một lần nữa, ta không thấy bất

kỳ đầu ra nào khi nhập lệnh vì Snort đã không phát hiện bất kỳ hoạt động nào đượcchỉ định trong quy tắc chúng ta đã viết Vì vậy, chúng ta sẽ tạo ra một số hoạt động và xem liệu quy tắc của chúng tôi có hoạt động hay không

Ngày đăng: 23/10/2021, 06:48

HÌNH ẢNH LIÊN QUAN

3. Kiến trúc, khối chức năng và các mối quan hệ giữa các khối chức năng  - BÀI TẬP LỚN MÔN HỌC KỸ THUẬT THEO DÕI  GIÁM SÁT MẠNG CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
3. Kiến trúc, khối chức năng và các mối quan hệ giữa các khối chức năng (Trang 6)
Tiếp theo, gõ lệnh sau để mở tệp cấu hình snort trong trình soạn thảo văn bản gedit: sudo nano /etc/snort/snort.conf - BÀI TẬP LỚN MÔN HỌC KỸ THUẬT THEO DÕI  GIÁM SÁT MẠNG CHỦ đề SNORT – PHÁT HIỆN XÂM NHẬP
i ếp theo, gõ lệnh sau để mở tệp cấu hình snort trong trình soạn thảo văn bản gedit: sudo nano /etc/snort/snort.conf (Trang 6)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w