Thơng tin giám sát của account logon trong command-line

Một phần của tài liệu Khóa luận tốt nghiệp: XÂY DỰNG PHƯƠNG THỨC GIÁM SÁT, GHI NHẬN SỰ KIỆN VÀ ĐÁNH GIÁ HIỆU NĂNG CHO HỆ THỐNG docx (Trang 80)

Giữa 2 cơng cụ này thì chúng ta nên sử dụng một trong 2 để tránh những sự nhầm lẫn qua lại khơng đáng có. Tuy những thơng tin thiết lập chính sách giám sát trên GPO sẽ hiển thị và replicate qua auditpol nhưng ngược lại thì thiết lập trên auditpol sẽ không được hiển thị trên GPO mặc dù là những thiết lập đó đều được áp

đặt lên hệ thống.

9.6 Nhận xét

Công việc giám sát sự kiện của hệ thống luôn là khâu quan trọng trong quá trình làm việc của quản trị viên. Chỉ với một số chính sách giám sát tuy đơn giản

nhưng biết cách thiết lập kết hợp từng loại chính sách với nhau sao cho hợp lý và hiệu

quả nhất với từng hệ thống khác nhau. Bên cạnh đó ta cần phải thường xuyên theo dõi, phân loại và lọc các thông báo sự kiện để kiểm soát được tình trạng của hệ thống, nhằm bảo đảm hệ thống luôn trong trạng thái an tồn. Đồng thời có thể nhanh chóng phát hiện những đăng nhập trái phép, các rủi ro nguy hiểm hoặc báo lỗi từ hệ thống để kịp thời khắc phục chúng.

10. Xây dựng hệ thống giám sát với SNORT 10.1 Giới thiệu Snort 10.1 Giới thiệu Snort

Snort là công cụ phát hiện xâm nhập khá phổ biến và hổ trợ cho nhiều hệ điều

hành như: CentOS, Fedora, Linux, Window, OpenBSD, Solaris…Snort là một dạng

NIDS (Network Instruction Detection System) sẽ đóng vai trò là một hệ thống được

cài đặt trong mạng làm nhiệm vụ giám sát những packet vào ra hệ thống mạng. Khi

Snort phát hiện ra một cuộc tấn cơng hay thăm dị thì nó có thể phản ứng bằng nhiều cách khác nhau tùy thuộc vào cấu hình mà người quản trị mạng thiết lập.

Snort bao gồm một hoặc nhiều sensor và một server cơ sở dữ liệu chính. Các sensor có thể được đặt trước hoặc sau firewall nhằm :

- Giám sát các cuộc tấn công nhằm vào firewall và hệ thống mạng. - Có khẳ năng ghi nhớ các cuộc vượt firewall thành công.

10.2 Cấu trúc của Snort

Cấu trúc của Snort được chia thành nhiều phần. Những phần này làm việc cùng nhau nhằm một mục đích là phát hiện các loại tấn công và tạo ra các đáp trả theo một

định dạng đã được cấu hình. Một Snort IDS cơ bản gồm các thành phần chính sau:

Packet Decoder : Bộ giải mã gói Preprocessors : Bộ tiền xử lý

Detection Engine : Bộ máy phát hiện

Logging and Alerting System : Hệ thống ghi và cảnh báo Output Modules : Các module xuất

- Packet Decoder (Bộ giải mã gói)

Bộ phận này thu nhập các gói tin từ các giao diện mạng khác nhau và chuẩn bị cho gói tin được xử lý hoặc được gửi cho bộ phận phát hiện. Giao diện mạng gồm: PPP, L2TP, Ethernet,v.v…

- Preprocessor (Bộ tiền xử lý)

Là những thành phần hay những plug-in được sử dụng cùng với Snort để sắp xếp và thay đổi những gói dữ liệu trước khi detection engine thực hiện

cơng việc tìm kiếm nếu gói dữ liệu đó là nguy hiểm. Một vài preprocessor có

thể thực hiện tìm ra những dấu hiệu bất thường trong tiêu đề gói và tạo ra các cảnh báo. Preprocessor rất là quan trọng đối với IDS có chức năng chuẩn bị

những gói dữ liệu để phân tích cho việc thiết lập rule trong detection engine. Hacker sử dụng nhiều kỹ thuật khác nhau nhằm đánh lừa IDS bằng

nhiều cách. Hacker cũng sử dụng sự phân mảnh để đánh bại IDS. Preprocessor

thường được dùng để bảo vệ những loại tấn cơng này. Preprocessor trong Snort

có thể tái hợp các gói, giải mã HTTP URI, tái hợp luồng TCP,v.v... Những chức năng này rất là quan trọng trong thành phần IDS.

- Detection Engine (Bộ máy phát hiện)

Đây chính là thành phần quan trọng nhất của Snort. Detection Engine chịu

trách nhiệm phát hiện nếu có hành vi xâm nhập trong một gói. Detection engine sử dụng những rule Snort để làm việc này. Nếu một gói nào đó khớp với rule,

hành động thích hợp sẽ được tạo ra. Những hành động đó có thể là ghi gói hay cảnh báo. Đây là bộ phận đóng vai trị quyết định về thời gian thực thi của Snort. Phụ thuộc vào hệ năng của hệ thống và có bao nhiêu rule được định nghĩa mà nó có thể tốn những khoảng thời gian cho cơng việc đáp ứng các gói. Nếu lưu lượng trên mạng là quá lớn khi Snort đang hoạt động trong chế độ NIDS, có thể mất một vài gói tin và có thể thời gian đáp ứng sẽ khơng chính xác. Lưu lượng của detection engine phụ thuộc vào các yếu tố:

o Số lượng các luật.

o Lưu lượng trên mạng.

Detection engine làm việc khác nhau trong mỗi phiên bản Snort. Trong tất cả phiên bản Snort 1.x, detection engine ngừng xử lý trên gói đó khi ph ù

hợp với một rule. Phụ thuộc vào rule, detection engine có những hành động tương ứng. Điều này có nghĩa là nếu một gói tin phù hợp với nhiều rule, chỉ có

một rule đầu tiên được áp dụng mà khơng xem xét tới các rule cịn lại. Đây là một vấn đề. Một rule có độ ưu tiên thấp sẽ tạo ra một cảnh báo có độ ưu tiên

thấp, nếu một rule có độ ưu tiên cao bị xếp sau trong chuỗi rule. Vấn đề này đã

được sửa trong Snort phiên bản 2, tất cả các rule đều được so khớp vào một gói

trước khi tạo một cảnh báo. Sau khi so khớp tất cả các rule, rule nào trọn vẹn nhất sẽ được chọn để tạo cảnh báo.

Detection engine trong Snort 2.x đã được làm lại một cách hoàn chỉnh để nó so sánh tốt hơn, phát hiện sớm hơn so với các phiên bản trước.

- Logging and Alerting System (Hệ thống ghi và cảnh báo)

Phụ thuộc vào detection engine tìm trong gói, gói có thể được dùng để

ghi hành động hay tạo ra cảnh báo. Các thông tin ghi lại được giữ trong các file text đơn giản hoặc các dạng khác.

- Output Modules (Các module xuất)

Output modules hay plug-in thực hiện những hoạt động khác nhau phụ

thuộc vào việc muốn lưu kết quả tạo ra bởi logging và cảnh báo t hế nào.

10.3 Các chế độ hoạt động của Snort

Snort có 3 cơ chế hoạt động: Hoạt động như một Sniffer, Packet Logger hay là một NIDS.

10.3.1 Snort hoạt động như một Sniffer

Sử dụng Snort như một Sniffer là một cách giúp snort bắt được các gói tin thơng qua bộ cảm biến của mình. Kết quả của chế độ Snort sniffer hơi khác so

với các phần mềm sniffer khác. Một đặc tính hay của chế độ này là việc tóm tắt

lưu lượng mạng khi kết thúc việc bắt giữ gói tin.

Ví dụ về snort trên Win:

Liệt kê các card mạng hiện có: snort -W

Hình 57. Lệnh snort -W

Để sử dụng Snort như là một sniffer, ta dùng câu lệnh:

snort -v –ix

với x là số hiệu card mạng mà Snort sẽ sử dụng để sniffer

Hình 58. Lệnh snort –v -ix

Ví dụ: lấy máy client ping thử một máy trong mạng

Khi dừng chế độ sniffer, Snort sẽ tạo ra một bản tóm tắt các gói tin được bắt giữ, bao gồm các giao thức.

Hình 60. Bảng tóm tắt các gói tin được bắt giữ trên Win

Để xem dữ liệu gói tin bắt được một cách chi tiết hơn, ta sử dụng cờ -d

snort -vd -ix

Hình 61. Lệnh snort –vd -ix

Với tùy chọn cờ -e, ta được cung cấp nhiều thông tin nhất ,bao gồm địa chỉ

MAC và địa chỉ IP

Để lưu lại trong file log thay vì xuất ra console, ta sử dụng

snort -vde -i1 > C:/log1/temp.log

10.3.2 Snort là một Packet Logger

Sau khi Sniffer các gói tin, nhiệm vụ tiếp theo là ghi log. Việc ghi log chỉ đơn giản bằng cách thêm tùy chọn –l, theo sau đó là thư mục muốn lưu trữ file log. Thư mục mặc định trong Snort là C:\snort\log. Ta có thể thiết lập thư

mục log ở nơi khác. Ví dụ: snort –l C:\log1.

Khi chạy chế độ này, Snort thu thập mỗi gói tin nó thấy và lưu chúng

vào thư mục log theo kiểu phân cấp. 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.

10.3.3 Snort là một NIDS

Khi cài đặt ở chế độ Snort mặc định trên Win, vị trí file này là

C:\snort\etc\snort.conf. Các cảnh báo được đặt trong file alert trong thư mục log C:\snort\log. Snort sẽ thoát ra với một lỗi nếu file cấu hình hoặc thư mục log khơng tồn tại. Khi sử dụng chế độ này cần chỉ rõ file cấu hình với cờ –c .

“snort -c c:\snort\etc\snort.conf -l c:\snort\log”

Dịng lệnh trên mặc định các thơng tin sniffer sẽ được ghi vào file alerts và sẽ tạo ra một file snort.log theo kiểu phân cấp. Nếu gói tin so trùng với một rule thì sự ghị nhận hoặc cảnh báo được tạo ra. Ngược lại, nếu gói tin khơng trùng với một rule thì khơng cảnh bảo nào tạo ra.

“snort -c c:\snort\etc\snort.conf -l c:\snort\log -A console”

Dùng lệnh này không ghi vào file alerts, nhưng sẽ tạo ra một file snort.log theo kiểu phân cáp. Với cờ -A là thiết lập chế độ cảnh báo, “console” là ở giao diện điều khiển. Bình thường trên giao diện ở cmd sẽ không hiện các sniffer, nhưng khi dùng

10.4 Khái quát về Rules

Snort là một hệ thống NIDS hoạt động dựa trên các tập luật (rules). Trong Snort rules có chứa những dấu hiệu thông thường để nhận biết các hoạt động bên trong và ngoài mạng.

Khi Snort hoạt động, nó sẽ đọc các tập luật được xây dựng sẵn và phải được cập nhật thường xuyên. Mỗi luật đại diện cho một cuộc tấn công.

Ví dụ: tập luật có thể được tạo ra để giám sát các nỗ lực quyét cổng, tìm dấu vết (các dấu hiệu còn gọi là signature-base). Khi có một packet đến hệ thống nó sẽ

được áp vào tập luật, nếu có sự so trùng Snort sẽ phản ứng.

10.4.1 Cấu trúc của một rule

Tất cả các rule đều có 2 phần: header và options

Hình 63. Cấu trúc của một rule

Ví dụ rule mẫu:

Phần header chứa thông tin hoạt động mà rule sẽ làm. Đồng thời header cũng chứa tiêu chuẩn cho việc so sánh một luật dựa vào gói tin. Phần options chứa thông

điệp cảnh báo và thông tin về thông điệp sẽ được sử dụng để tạo ra cảnh báo. Phần

option cũng chứa tiêu chuẩn cho việc so sánh một luật dựa vào gói tin. Một rule có thể phát hiện một kiểu hay nhiều kiểu xâm nhập.

10.4.2 Cấu trúc của phần Header

Hình 65. Cấu trúc phần Header

- Action: là loại hành động của Snort khi tiêu chuẩn phát hiện và có sự so sánh

chính xác của một rule so với một gói tin. Những hoạt động điển hình là tạo một cảnh báo hoặc ghi thơng điệp. Có 5 loại action:

Action Mô tả

Alert Tạo cảnh báo và ghi file log Log Ghi log các gói tin

Pass Bỏ qua các gói tin

Activate Tạo cảnh báo và tự bật chức năng dynamic rule

Dynamic Hoạt động như một log rule khi được kích hoạt bởi active rule - Protocol: là giao thức được dùng để áp dụng vào rule. Các giao thức có thể là

tcp, udp, icmp và IP.

- Address: trong phần header có hai trường địa chỉ, gồm địa chỉ nguồn và địa

chỉ đích được xác định dựa trên trường Direction.

- Direction: giúp phân biệt địa chỉ nguồn và địa chỉ đích. Ví dụ với trường

Direction là “” thì địa chỉ phía bên trái là nguồn, địa chỉ phía bên phải là

đích. Trường hợp muốn áp dụng snort theo cả 2 chiều thì sử dụng cú pháp “

Ví dụ ghi log 2 chiều:

Log tcp 192.168.1.0/24 any <> 172.16.0.0/24

- Port: Trong giao thức TCP hay UDP, Port xác định cổng nguồn và cổng đích

của gói tin khi rule áp dụng lên đó. Trong trường hợp giao thức lớp mạng như IP hay ICMP, thì giá trị port numbers khơng có ý nghĩa.

Ví dụ: Phân tích phần header của một rule

alert tcp any any -> any 80 (content: "yahoo"; msg: "Yahoo Site Access";)

Hành động ở đây là “alert”, khi các TCP trafic từ bất kỳ địa chỉ IP và port được

gởi đến một địa chỉ IP bất kỳ trên Port 80 mà phần nội dung có chứa từ khóa yahoo. Nếu tình huống này xảy ra, nghĩa là có một user nào đó trên LAN truy cập vào 1 site có chứa từ yahoo thì một record Yahoo Site Access sẽ được ghi vào log file.

10.4.3 Cấu trúc của phần Options

Một Snort rule có thể có nhiều option khác nhau phân cách bởi giấu “;” .Thông thường phần Options có chứa từ khóa và một đối số. Một đối số truyền vào từ khóa bằng một dấu “:”. Ví dụ:

msg : “Phat hien xam nhap”

Ở đây, msg là từ khóa và “Phat hien xam nhap” là đối số cho từ khóa. Do có rất

nhiều từ khóa nên ta sẽ đi một vài từ khóa tiêu biểu. Phần Option có các từ khóa sẽ

10.5 Hiện thị cảnh báo

Dùng máy client truy cập web, ping hay scan port máy Snort server, thì trên BASE ghi nhận lại mọi hoạt động.

Hình 66. Base đang hoạt động

Hình 67. Thống kế dưới dạng đồ họa

Chọn Most frequent 5 Unique Alerts: xem thông tin về 5 cảnh báo xảy ra nhiều nhất. Source addres: Số lượng host tham gia

Hình 68. Thơng tin 5 cảnh báo xảy ra nhiều nhất

Thơng tin máy ping

Hình 69. Thơng tin máy ping

Hoặc ta có thể biết thông tin các IP ở ngoài mạng, vào địa chỉ source address

Hình 70. Thơng tin IP

10.6 Hiệu năng của Snort

Snort có giám sát tình trạng hiện tại của hệ điều hành. Các thông số thể hiện nhiều ý nghĩa và dựa vào đó ta có thể đoán được nhiều điều và đưa ra nhiều biện pháp

điều chỉ theo ý muốn.

Để có thể giám sát, vào file snort.conf cấu hình bật chức năng preprocessor

perfmonitor. Bộ tiền xử lý hiệu năng giám sát chỉ lấy ra một số các chọn lựa, các chọn lựa này bao gồm:

Time: 300 seconds

Flow Stats: INACTIVE

Console Mode: ACTIVE File Mode: /var/log/ snort.stats

SnortFile Mode: INACTIVE

Packet Count: 500

Ta có thể cấu hình để các dịng xuất hiện khi chạy Snort:

preprocessor perfmonitor: time 300 console file var/log/snort/snort.stats pktcnt 500

preprocessor perfmonitor : time 300 events flow file var/log/snort/snort.stats max console pktcnt 500

Hay để chế độ chạy ẩn, vào file log messages để đọc

preprocessor perfmonitor: time 300 file /var/log/snort/snort.stats pktcnt 500

Các tham số có ý nghĩa:

 Time: khoảng thời gian tính bằng giây (s) giữa các lần lấy mẫu. Nếu đặt giá trị thời gian quá thấp có thể gia tăng giả tạo giá trị. Giá trị mặc định là 300s.

 Console: Giao diện xuất ra màn hình console. Mặc định là được bật hay có thể xuất ra bằng cách kèm theo tham số file.

 File <filename>: Kết quả xuất ra file theo đường dẫn đã định. Các thống kê ghi lên file theo từng giá trị đơn lẻ, cách nhau bằng dấu phẩy “,” cho mỗi lần chạy lấy mẫu.

 Pktcnt: Số lượng packets sẽ được xử lý trong thời gian đã định. Lưu ý nếu số lượng packet bắt được ít hơn packet đã chỉ định thì sẽ không nhận được số liệu thống kê.

 Flow: Phát sinh một số lượng lớn các thông tin chi tiết trên các dịng lưu

thơng mạng network traffic flows (hồn thành với các thơng tin như chiều

dài gói tin cho đến số lượng gói tin mỗi dịng, dung lượng dịng mỗi port và

kiểu giao thức, các con số phân đoạn và vài thông tin khác).

 Events: Snort sẽ mở chức năng reporting và hiển thị trạng thái số lượng

signatures match. Phát sinh nhiều bộ dữ liệu đóng gói lại phản ánh số lượng các dấu hiệu đã qua, đã khớp, hay đã được chứng thực. Có 2 loại là Non- qualified events và Qualified events được xác nhận dựa trên các cờ nhận

biết. Option này đặc biệt chú trọng bất kỳ sự bất cân xứng nào giữa cái

được mong đợi và cái đang thực sự được dùng để dị tìm bởi tập rule cho trước.

 Max: Sẽ kích hoạt Snort hoạt động hết sức để nâng cao hiệu quả.

Một phần của tài liệu Khóa luận tốt nghiệp: XÂY DỰNG PHƯƠNG THỨC GIÁM SÁT, GHI NHẬN SỰ KIỆN VÀ ĐÁNH GIÁ HIỆU NĂNG CHO HỆ THỐNG docx (Trang 80)