1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống phát hiện xâm nhập sử dụng snort

74 1,7K 3

Đ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 74
Dung lượng 5,66 MB

Nội dung

Hệ thống phát hiện xâm nhập sử dụng snort

Trang 1

Nhóm 2

GVHD : TS.Phạm Văn Tính

Trang 3

• Là một hệ thống (phần mềm, phần cứng, hoặc kết hợp cả hai) để phát hiện các hành vi xâm nhập bất hợp phát vào mạng.

• Phát hiện các hành động trong tiến trình tấn

công (FootPrinting, Scanning, Sniffer…), cung cấp thông tin nhận biết và đưa ra cảnh báo

• Kỹ thuật sử dụng trong IDS có thể là :

signature hoặc anomaly-based , cũng có thể

kết hợp cả hai

Trang 4

• Cài đặt như một agent trên một host cụ thể Phân tích log của hệ điều hành hoặc các ứng dụng so sánh các sự kiện với cơ sở dữ liệu để phát hiện

các vi phạm về bảo mật và đưa ra cảnh báo

• Nếu có vi phạm HIDS ghi nhận lại các hành động

đó, đưa ra cảnh báo, và có thể ngừng hành động lại trước khi nó xảy ra.

• HIDS có thể dùng để theo dõi log (log monitors), giám sát tính toàn vẹn (intergrity monitors), phát hiện xâm nhập ở mức kernel (kernel module)

Trang 5

• Dùng để bắt các gói tin trong môi trường

mạng, so sánh giữa dữ liệu thu thập được với

cơ sở dữ liệu nhằm phát hiện các dấu hiệu tấn công

• Khi có tấn công NIDS sẽ log các gói tin vào cơ

sở dữ liệu, cảnh báo hoặc đưa vào Firewall

Trang 6

Host IDS - HIDS Network - NIDS

HIDS chỉ quan sát các host , hệ điều

hành, hoạt động của ứng dụng (thường

làm những công việc như phân tích log,

kiểm tra tính toàn vẹn…)

NIDS nhìn toàn cảnh luồng dữ liệu trên mạng (NIDS thường được coi như là sniffer)

 Chỉ phát hiện những cuộc tấn công đã

thành công.  NIDS phát hiện những cuộc tấn công

tiềm năng.

Hoạt động hiệu quả trong những môi

trường chuyển mạch, mã hóa, tốc độ cao. Rất khó hoạt động trong những môi trường này.

Trang 7

DETECTION ENGINE PREPROCESSORS

OUTPUT

ALERT SYSTEMS

Trang 14

• Hệ thống IDS (signature-based) cần một cơ sở dữ liệu đã có sẵn về các kiểu tấn công để nhận biết các cuộc tấn công có thể xảy ra, dựa vào dấu hiệu

nhận biết nào đó (signatures)  cập nhật

signatures mới.

• Bản thân IDS không chống lại các cuộc tấn công, hay ngăn chặn quá trình khai thác lỗi, mà nó chỉ

dò tìm và đưa ra cảnh báo.

 Đặt IDS ở đâu trong hệ thống mạng để mang

lại hiệu quả cao nhất ????

Trang 16

Chiến lược triển khai IDS phụ thuộc vào chính sách bảo mật và tài nguyên cần bảo vệ Càng nhiều IDS thì đồng nghĩa với việc hệ thống chậm

đi và chi phí bảo trì sẽ tăng lên.

Trang 18

• Snort là một IDS kiểu signature – based Chạy

được trên cả Windows và Linux.

• Snort có các tập luật lưu trữ trong các file text, các luật được nhóm thành các loại khác nhau và được chứa trong những file riêng cho từng nhóm Các file này được chỉ ra trong file cấu hình

snort.conf

• Snort sẽ đọc các luật lúc khởi động và xây dựng một cấu trúc dữ liệu hoặc các chuỗi để áp dụng các luật đó lên dữ liệu thu thập được.

Trang 19

• Snort được cung cấp 1 tập hợp phong phú các luật

đã được định nghĩa trước, tuy nhiên người dùng

có thể tự định nghĩa và đưa thêm các luật mới

hoặc loại bỏ một số luật không cần thiết.

• Snort là stateful IDS, nó có thể sắp xếp và ghi

nhận các cuộc tấn công dựa trên phân đoạn TCP.

• Snort có thể phát hiện được nhiều loại xâm nhập như : buffer overflows, stealth port scans, CGI

attacks, SMB probes, OS fingerprinting attempts …

Trang 20

• Snort có thể cài đặt ở 2 chế độ là inline hoặc passive.

• Inline: Snort tích hợp với tường lửa để kích

hoạt tường lửa khóa hay drop hoặt các hành

động khác nhằm ngăn chặn cuộc tấn công mà

nó phát hiện

• Passive: Snort chỉ phát hiện xâm nhập, nghi

log và cảnh báo

Trang 22

• Sử dụng

rpm –qa | grep <tên gói>

Để kiểm tra xem gói đó đã cài đặt đủ chưa

• Sử dụng :

yum install <tên gói>

Để cài đặt những gói còn thiếu

• Đối với những gói rpm :

rpm –ivh <tên gói rpm>

Trang 23

• Sử dụng :

wget <url>

Để download các gói cài đặt từ một trang web

• Đối với những gói tar.gz :

tar –xvzf <tên gói.tar.gz>

cd <tên gói>

./configure [option]

make && make install

Trang 27

• Ngoài ra còn cần có prel (đã cài sẵn), libpcap, libnet Bạn nên cài từ source Sử dụng lệnh:

Trang 28

• Những gói trên là tối thiểu phải có Nếu thiếu bất kỳ gói nào dùng lệnh :

yum install <tên gói>

để cài thêm vào

• Start apache và mysql lên:

service httpd start

service mysqld start

Trang 29

thêm iptables-devel, khởi động lại dịch vụ, ok.

Trang 31

• Tạo thư mục snort trong /etc

Trang 33

• Để snort chạy như một dịch vụ chúng ta cần user, usergroup cho snort:

#groupadd snort

#useradd –g snort snort

Trang 34

• Tạo và set quyền chủ nhân, quyền thực thi của snort cho file log.

#mkdir/var/log/snort

#chown –R snort:snort /var/log/snort

#chown 664 /var/log/snort

Trang 35

#vim /etc/snort/snort.conf

Tìm đến dòng:

var RULE_PATH /rules sửa lại thành.

var RULE_PATH /etc/snort/rules đây là thư mục chứa tập luật.

Chỉ ra output database – database lưu trữ những log

output database: log, mysql , user =snort, password =

long dbname =snort host =localhost

Trang 37

#mysql –u root

>set password ‘root’@‘ localhost’ =

Trang 38

> create database snort;

> GRANT CREATE, INSERT, SELECT,

DELETE, UPDATE ON snort.* to

Trang 39

• Do web sevrer và php đã được cài đặt sẵn, chúng ta chỉ cần cài thêm pear cho php

# pear install Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman

Trang 40

# wget http://nchc.dl.sourceforge.net/sourceforge/secureideas/base-1.4.2.tar.gz

# cp base-1.4.2.tar.gz /var/www/html/

# cd /var/www/html/

#tar -xzvf base-1.4.2.tar.gz

# cp base_conf.php.dist base_conf.php

Trang 42

• http://127.0.0.1/base-1.4.2

• Chỉ đường dẫn đến thư viện adodb

• Khai báo các giá trị cho co sở dữ liệu lưu file log Như là : Database Name, Database Host, Database User, Database Password là

username và password để truy cập cơ sở dữ

liệu

• Tạo BASE AG (tạo cơ sở dữ liệu cho BASE)

Trang 48

• #snort –A : Cài đặt chế độ cảnh báo

Trang 49

• #snort –v : bật chế độ sniffer In toàn bộ gói dữ liệu bắt được trên console (hiển thị các header

IP,TCP/UDP/ICMP) Card mạng phải ở chế độ

promiscuous mode

• #snort –d: hiển thị dữ liệu ở layer Application

• #snort –e: hiển thị thông tin về header ở layer 2.

• #snort –vde: các chuỗi thập lục phân hiển thị

nhiều dữ liệu hơn Có địa chỉ MAC và địa chỉ IP

Trang 50

• Lưu thông tin xuống file:

– snort –dev –l [filename]

• Lưu thông tin ở dạng binary:

Trang 51

• #snort –l /var/log/Snort : chỉ định thư mục lưu file log Quá trình lưu trữ theo kiểu phân cấp Mỗi một địa chỉ sẽ có một thư mục và những

gì liên quan đến địa chỉ đó sẽ được lưu trong đây

• Snort lưu các gói tin thành các file ASCII, với tên file được tạo ra từ giao thức và số cổng

• #snort –b: Log gói tin dạng tcpdump Ghi log rất nhanh

Trang 52

• #snort –c :Config-file ,chỉ định file cấu nào muốn

sử dụng.

• #snort –D :Chạy Snort ở chế độ background.

• #snort –I :Interface, Chỉ định interface nào Snort

sẽ lắng nghe.

• #snort –s :Gửi alert message đến syslog

• #snort –T : Kiểm tra và báo cáo về cấu hình hiện tại của snort.

• #snort –y : Thêm năm và ngày giờ vào thông điệp cảnh báo và file log.

Trang 53

• Nhận gói và xử lý nó trước khi rule áp dụnglên gói (input plug_in)

Trang 55

• Snort dựa vào các tập luật để phát hiện tấn

công

• Các luật thường được lưu trữ trong file

snort.conf Có thể sử dụng nhiều file bằng

cách thêm đường dẫn đến các file luật này vào file cấu hình chính

• Mỗi luật được viết trên một dòng

• Một rule có thể phát hiện nhiều loại xâm nhập

Trang 56

• Gồm 2 phần rule header, rule option.

• Rule header : chứa thông tin về hành động mà luật sẽ thực hiện Tiêu chuẩn của việc so sánh luật trên một gói tin

• Rule option: chứa thông điệp cảnh báo Và

thông tin thông tin về phần nào của gói tin

được sử dụng để tạo ra cảnh báo

Trang 57

action protocol address port \

direction address port \(option1 : <value1> ;option2: <value2>;… )

Lưu ý : dấu “\” ở đây nghĩa là xuống hàng Mỗi luật nên viết trong một dòng.

Trang 58

• Action : các định kiểu hành động khi gói tin thỏa các điều kiện Thường là tạo cảnh báo và ghi log (alert, log).

nếu cài snort ở chế độ inline có thể chọn drop

để iptables hủy gói dữ liệu

Action Protocol Address Port Direction Address Port

Trang 59

• Protocol : snort có thể phân tích được giao

thức bao gồm : TCP, UDP, ICMP,IP

• Address : địa chỉ nguồn, đích Address có thể của một host, nhiều host hoặc địa chỉ mạng

• Direction: xác định địa chỉ và cổng của nguồn

và đích đến ( -> , <-,< > )

• Port: chỉ dùng trong giao thức TCP, UDP để xác định cổng ngồn và đích của một gói tin mà luật được áp dụng

Trang 60

• Theo sau rule header, được đặt trong ‘( )’, các option ngăn cách nhau ‘;’

• Một action chỉ được thực hiện khi tất cả option đều thỏa

• Một option bao gồm từ khóa và tham số

• Các tham số phân biệt nhau ‘:’

• Nếu có nhiều option chúng sẽ AND lại với

nhau

Trang 61

• classtypes: <name>; phân loại luật cho một kiểu tấn công cụ thể Kết hợp với file

/etc/snort/classification.config

config classification: name,description,priority

– Name là tên được sử dụng để phân loại Tên được sử dụng với từ khóa classtype trong viết luật.

– 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ể thay đổi được bằng từ khóa priority trong Rule

Option

Trang 62

• ack: <number> ; thường được dùng để biết có đang bị quét cổng hay không Chỉ có nghĩa khi

cờ ack trong TCP header được bật

• msg: <message>; ghi thêm chuỗi ký tự vào log

và cảnh báo Thông điệp để trong “”

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

>; Tìm ra chữ ký (signature) trong header của gói dữ liệu

Trang 63

• offset: < value>; dùng với content cho biết bắt đầu tìm kiếm từ đâu.

• depth: < value>; dùng với content xác định vị trí kết thúc của đoạn dữ liệu cần so sánh với vị trí ban đầu

• dsize: [<|>|=] < number>; tìm chiều dài của

một gói tin (các tấn công buffer overflows)

Trang 64

• rev: < revision integer>; cho biết số phiên bản của snort.

• priority: < value>; từ khóa priority gán độ ưu tiên cho một luật

• nocase: dùng kết hợp với content, để tìm nội dung mà không phân biệt hoa thường

 Xem file đính kèm để biết các tùy chọn khác

Trang 65

• Luật được đặt ở cuối file snort.conf có thể tạo

ra nhiều luật sử dụng các biến đã định nghĩa trong file này

• Có thể định nghĩa file rules Trong file

snort.conf dùng include để chỉ đến file này

# include $RULE_PATH/web-attacks.rules

• Có rất nhiều luật đã được định nghĩa sẵn chứa trong thư mục /etc/snort/rules

Trang 66

• alert tcp192.168.1.0/24 23-> any any (content:

“confidential”; msg: “Detect confidential”;)

 bắt các gói dữ liệu đến từ địa chỉ nguồn thuộc mạng 192.168.1.0 /24và cổng nguồn 23, tới tất

cả các địa chỉ trong mạng đích và tất cả các

cổng đích Tìm signature trong header của gói

dữ liệu có nội dung “confidential” Giao thức

sử dụng là tcp

Trang 67

• alert tcp any any -> 192.168.1.0/24 80 \

(flags: A; ack: 0; msg: “TCP ping detected”;)

Phát hiện ai đó sử dụng Nmap để quét cổng Với gói dữ liệu gửi đi có trường ack = 0, gửi tới cổng 80 bằng giao thức tcp

Từ khóa flags được sử dụng đề tìm cờ được thiết lập trong header TCP của gói tin

Trang 68

• config classification: denial-of-service,Detection

of a Denial of Service Attack,2

• alert udp any any -> 192.168.1.0/24 6838 (msg:

“Dos”;content: “server” ;classtype:

denial-of-service;)

• alert udp any any -> 192.168.1.0/24 6838 (msg :

“Dos”;content: “server”;classtype:

denial-of-service;priority: 1;)

Trang 69

• alert tcp 192.168.1.0/24 any -> any any

(content: “HTTP”; offset: 4; depth: 40; msg:

Trang 70

• Smurf attack

• Jolt attack.

• Teardrop attack.

Trang 71

Alert icmp $EXTERNAL_NET any ->

192.168.77.129 any (msg: ”Demo smurf

attack”; sid:1000010;dsize>32;itype:0;

icmp_seq:0; icmp_id:0;)

Trang 72

alert ip $EXTERNAL_NET any ->

192.168.77.129 any (msg:“Demo DOS Jolt

attack"; dsize:408; fragbits:M;sid:268;rev:4; )

Trang 73

• alert udp $EXTERNAL_NET any -> 192.168.77.129 any (msg:“Demo DOS

Teardrop attack"; fragbits:M;

id:242;sid:270;rev:6;)

Trang 74

• Managing security with Sornt and IDS tool

• Snort Cookbook (2005)

• Snort2.1IntrusionDetectionSecondEdition

• snort.forum.org

• securityfocus.com

Ngày đăng: 20/03/2016, 12:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w