Tải bản đầy đủ (.pdf) (80 trang)

Tìm hiểu bộ công cụ security onion và ứng dụng trong giám sát ANM

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 (8.12 MB, 80 trang )

HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MƠN HỌC

THU THẬP VÀ PHÂN TÍCH
ANMMT
Đề tài:

TÌM HIỂU BỘ CÔNG CỤ SECURITY ONION VÀ
ỨNG DỤNG TRONG GIÁM SÁT ANM

Sinh viên thực hiện:

NGÔ QUANG THIÊN AT150456

Giảng viên hướng dẫn:

1

Hà Nội, 9-2021


HỌC VIỆN KỸ THUẬT MẬT MÃ

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO MƠN HỌC

THU THẬP VÀ PHÂN TÍCH


ANMMT
Đề tài:

TÌM HIỂU BỘ CÔNG CỤ SECURITY ONION VÀ
ỨNG DỤNG TRONG GIÁM SÁT ANM

Sinh viên thực hiện:

NGÔ QUANG THIÊN AT150456

Giảng viên hướng dẫn:

2

Hà Nội, 9-2021


MỤC LỤC
DANH MỤC HÌNH VẼ ............................................................................................................ 5
LỜI NĨI ĐẦU........................................................................................................................... 7
CHƯƠNG 1. TỔNG QUAN VỀ SECURITY ONION .......................................................... 8
1.1.

Giới thiệu về Security Onion .................................................................................. 8

1.2.

Chức năng cốt lõi ..................................................................................................... 9

1.3.


Công cụ trong Security Onion................................................................................ 9

1.3.1.

Cơng cụ phân tích ............................................................................................... 9

1.3.2.

Cơng cụ hiển thị mạng ...................................................................................... 10

1.3.3.

Công cụ hiển thị máy chủ ................................................................................. 11

1.3.4.

Elastic Stack ...................................................................................................... 12

CHƯƠNG 2. TRIỂN KHAI SECURITY ONION............................................................... 13
2.1.

Chế độ triển khai ................................................................................................... 13

2.1.1.

Triển khai đánh giá ........................................................................................... 13

2.1.2.


Triển khai độc lập ............................................................................................. 13

2.1.3.

Triển khai phân tán .......................................................................................... 14

2.2.

Các loại nút ............................................................................................................ 15

2.3.

Yêu cầu phần cứng ................................................................................................ 16

2.3.1.

Triển khai độc lập ............................................................................................. 16

2.3.2.

Triển khai phân tán .......................................................................................... 17

2.4.

Phương pháp cài đặt ............................................................................................. 18

CHƯƠNG 3. SGUIL TRONG SECURITY ONION ........................................................... 20
3.1.

Giới thiệu................................................................................................................ 20


3.2.

Kiến trúc................................................................................................................. 20

3.3.

Luồng hoạt động .................................................................................................... 22

3


3.4.

Bố cục bảng điều khiển ......................................................................................... 23

3.5.

Làm việc với Sguil ................................................................................................. 24

3.5.1.

Phân loại sự kiện ............................................................................................... 25

3.5.2.

Truy vấn dữ liệu ................................................................................................ 30

3.5.3.


Trích xuất gói tin ............................................................................................... 33

3.5.4.

Báo cáo sự kiện .................................................................................................. 34

3.4.5.

Tra cứu địa chỉ ip .............................................................................................. 35

CHƯƠNG 4. ỨNG DỤNG SECURITY ONION TRONG GSANM ................................. 36
4.1.

Phát hiện và phân tích hành vi phân phối phần mềm độc hại .......................... 36

4.1.1.

Mô tả kịch bản................................................................................................... 36

4.1.2.

Thực nghiệm ...................................................................................................... 37

4.2.

Phát hiện và phân tích tấn cơng website ............................................................. 46

4.2.1.

Mơ tả kịch bản................................................................................................... 46


4.2.2.

Mơ hình hệ thống .............................................................................................. 46

4.2.3.

Thực nghiệm ...................................................................................................... 46

KẾT LUẬN ............................................................................................................................. 54
TÀI LIỆU THAM KHẢO ...................................................................................................... 55
PHỤ LỤC ................................................................................................................................ 56
Phụ lục 1.

Triển khai Security Onion mơ hình độc lập ............................................... 56

Phụ lục 2.

Triển khai Security Onion mơ hình phân tán ............................................ 63

Phụ lục 3.

Triển khai DVWA ......................................................................................... 73

4


DANH MỤC HÌNH VẼ
Hình 1.1 Sơ đồ hoạt động của SO trong môi trường mạng doanh nghiệp truyền thống ............ 8
Hình 2.1 Mô hình triển khai SO chế độ độc lập ....................................................................... 13

Hình 2.2 Mô hình luồng dữ liệu trong triển khai độc lập......................................................... 14
Hình 2.3 Mô hình triển khai SO chế độ phân tán ..................................................................... 14
Hình 2.4 Mô hình luồng dữ liệu trong triển khai phân tán tiêu chuẩn..................................... 15
Hình 3.1 Giao diện Sguil 0.9.0 ................................................................................................. 20
Hình 3.2 Mô hình kiến trúc Sguil ............................................................................................. 21
Hình 3.3 Luồng nhận dữ liệu cảnh báo từ NIDS ...................................................................... 22
Hình 3.4 Minh họa mô hình làm việc giữa Barnyard và Snort ................................................ 22
Hình 3.5 Luồng truy vấn dữ liệu chi tiết của cảnh báo ............................................................ 23
Hình 3.6 Bố cục bảng điều khiển chính của Sguil .................................................................... 24
Hình 3.7 Các thành phần trong bảng điều khiển của Sguil...................................................... 25
Hình 3.8 Danh sách những loại sự kiện trong Sguil ................................................................ 27
Hình 3.9 Phân loại sự kiện thủ cơng ........................................................................................ 28
Hình 3.10 tính năng phân loại sự kiện tự động ........................................................................ 29
Hình 3.11 Tạo luật phân loại tự động dựa trên sự kiện trước đó ............................................. 29
Hình 3.12 Danh sách phương pháp truy vấn ........................................................................... 30
Hình 3.13 Giao diện truy vấn bảng sự kiện .............................................................................. 30
Hình 3.14 Giao diện truy vấn sự kiện theo địa chỉ ip ............................................................... 31
Hình 3.15 Chức năng truy vấn nhanh trong Sguil.................................................................... 31
Hình 3.16 Chức năng truy vấn nâng cao trong Sguil ............................................................... 32
Hình 3.17 Giao diện tùy chỉnh truy vấn khi chọn truy vấn nâng cao ....................................... 32
Hình 3.18 Danh sách chức năng tương tác gói tin................................................................... 33
Hình 3.19 Giao diện chức năng Transcript .............................................................................. 33
Hình 3.20 Giao diện Wireshark đọc gói tin được chuyển tới từ Sguil...................................... 34
Hình 3.21 Danh sách phương thức xuất báo cáo ..................................................................... 34
Hình 3.22 Điểm khác biệt giữa lựa chọn Detail và Summarry ................................................ 35
Hình 3.23 Điểm khác biệt giữa lựa chọn Normal và Sanitized ................................................ 35
Hình 3.24 Chức năng tra cứu thông tin địa chỉ ip ................................................................... 35
Hình 4.1 Tin nhắn mail đính kèm tệp độc hại ........................................................................... 36

5



Hình 4.2 Nhập PCAP vào hệ thống .......................................................................................... 37
Hình 4.3 Khởi động Sguil theo dõi lưu lượng vừa nhập .......................................................... 37
Hình 4.4 Cảnh báo được tạo ra sau khi nhập PCAP ............................................................... 38
Hình 4.5 Cặp giá trị ip/port được hoán đổi thể hiện luồng kết nối .......................................... 38
Hình 4.6 Dấu thời gian thể hiện thứ tự sự kiện. ....................................................................... 39
Hình 4.7 Quy tắc Snort phát hiện truyền tải tệp thực thi ......................................................... 39
Hình 4.8 Sử dụng Transcript biểu diễn bản ghi luồng dữ liệu truyền tải tệp ........................... 39
Hình 4.9 Payload luồng dữ liệu truyền tải tệp ......................................................................... 40
Hình 4.10 Chuyển tiếp sự kiện sang Wireshark ........................................................................ 40
Hình 4.11 Sử dụng Wireshark trích xuất tệp đã truyền tải ....................................................... 41
Hình 4.12 Sử dụng NetworkMiner trích xuất tệp đã truyền tải ................................................ 41
Hình 4.13 Kết quả quét tệp từ Virustotal .................................................................................. 42
Hình 4.14 Sử dụng CyberChef tính tốn mã băm cho tệp ........................................................ 42
Hình 4.15 Thông tin thiết bị của kẻ tấn công thu được bởi NetworkMiner ............................. 43
Hình 4.16 Quy tắc phát hiện hành vi đăng ký AZORult Client ................................................ 43
Hình 4.17 Quy tắc phát hiện hành vi phản hồi của AZORult Server ....................................... 44
Hình 4.18 Transcrip cung cấp bản ghi luồng TCP................................................................... 44
Hình 4.19 Thông tin thiết bị của kẻ tấn công thu được bởi NetworkMiner ............................. 45
Hình 4.20 Dashboard Overview trên Kibana ........................................................................... 45
Hình 4.21 Mô hình triển khai hệ thống .................................................................................... 46
Hình 4.22 Giao diện web thực hiện tấn công XSS.................................................................... 47
Hình 4.23 Tấn công XSS thành công ........................................................................................ 47
Hình 4.24 Cảnh báo tấn công XSS trên Sguil .......................................................................... 48
Hình 4.25 Transcript biểu diễn dữ liệu luồng kết nối ............................................................... 48
Hình 4.26 Thông tin thiết bị của kẻ tấn công thu được bởi NetworkMiner ............................. 49
Hình 4.27 Giao diện web thực hiện tấn công SQL Injection .................................................... 50
Hình 4.28 Mã nguồn trang web kèm theo nội dung tệp yêu cầu .............................................. 50
Hình 4.29 Cảnh báo được sinh ra khi thực hiện tấn công SQL Injection ................................ 51

Hình 4.30 Giao diện Wireshark biểu diễn luồng dữ liệu .......................................................... 51
Hình 4.31 Mã nguồn web được trích xuất thơng qua dữ liệu mạng ......................................... 52
Hình 4.32 Mã nguồn chứa câu lệnh thực hiện và nội dung tệp mà kẻ tấn công yêu cầu ......... 52
Hình 4.33 Thông tin thiết bị của kẻ tấn công thu được bởi NetworkMiner ............................. 53

6


LỜI NĨI ĐẦU
Cùng với sự phát triển của cơng nghệ thông tin, sự đầu tư cho hạ tầng mạng trong
mỗi doanh nghiệp ngày càng tăng cao, dẫn đến việc quản trị sự cố một hệ thống mạng
gặp rất nhiều khó khăn. Đi cùng với những lợi ích khi phát triển hạ tầng mạng như
băng thông cao, khối lượng dữ liệu trong mạng lớn, đáp ứng được nhu cầu của người
dùng, hệ thống mạng phải đối đầu với rất nhiều thách thức như các cuộc tấn cơng bên
ngồi, tính sẵn sàng của thiết bị, tài nguyên của hệ thống, v.v…
Một trong những giải pháp hữu hiệu nhất để giải quyết vấn đề này là thực hiện
triển khai giải pháp giám sát mạng, dựa trên những thông tin thu thập được thông qua
quá trình giám sát, các nhân viên quản trị mạng có thể phân tích, đưa ra những đánh
giá, dự báo, giải pháp nhằm giải quyết những vấn đề trên. Để thực hiện giám sát mạng
có hiệu quả, một chương trình giám sát phải đáp ứng được các yêu cầu sau: phải đảm
bảo chương trình ln hoạt động, tính linh hoạt, chức năng hiệu quả, đơn giản trong
triển khai, chi phí thấp. Hiện nay, có khá nhiều phần mềm hỗ trợ việc giám sát mạng
có hiệu quả như Nagios, Zabbix, Zenoss, Cacti,…
Đề tài “Nghiên cứu tìm hiểu bộ cơng cụ Security Onion và ứng dụng trong giám
sát an ninh mạng” được em lựa chọn thực hiện với mục tiêu nghiên cứu, tìm hiểu về
một giải pháp giám sát mã nguồn mở giúp cho mọi người có cái nhìn tổng quan về một
hệ thống giám sát mạng hồn chỉnh, đồng thời trình bày về cách thức áp dụng giải
pháp này vào hoạt động giám sát hệ thống.

7



CHƯƠNG 1. TỔNG QUAN VỀ SECURITY ONION
1.1.

Giới thiệu về Security Onion

Security Onion là một bản phân phối Linux mã nguồn mở miễn phí để phát hiện xâm
nhập, giám sát và quản lý nhật ký. Nó bao gồm bộ cơng cụ ELK (Elasticsearch,
Logstash, Kibana), Snort, Suricata, Zeek, Wazuh, Sguil, Squert, CyberChef, Network
Miner và nhiều công cụ bảo mật khác.
Trong sơ đồ bên dưới, chúng ta thấy Security Onion trong mạng doanh nghiệp truyền
thống với tường lửa, máy trạm và máy chủ. Người quản trị có thể sử dụng Security
Onion để theo dõi lưu lượng truy cập từ phía bên ngồi trung tâm dữ liệu để phát hiện
kẻ xâm nhập một môi trường mạng, thiết lập lệnh và kiểm soát (Command and
Control) hoặc có thể là xâm nhập dữ liệu. Người quản trị cũng có thể muốn theo dõi
lưu lượng truy cập trong một phân vùng để để phát hiện các động thái có nguy cơ từ
bên trong. Do ngày càng nhiều lưu lượng truy nhập trong mạng được mã hóa, việc
khắc phục những điểm mù tới từ việc đó bằng cách bằng khả năng hiển thị bổ sung
dưới dạng chuẩn đoán thiết bị đầu cuối là rất quan trọng. Security Onion có thể sử
dụng được nhật ký (logs) từ các máy chủ và máy trạm, sau đó có thể tìm kiếm bao qt
tồn bộ mơi trường mạng và nhật ký lưu trữ của máy chủ cùng một lúc.

Hình 1.1 Sơ đồ hoạt động của SO trong môi trường mạng doanh nghiệp truyền thống

8


1.2.


Chức năng cốt lõi

Security Onion là sự kết hợp liền mạch ba chức năng cốt lõi bao gồm: chụp toàn bộ
gói tin, hệ thống phát hiện xâm nhập dựa trên mạng/điểm cuối và cơng cụ phân tích.
-

Chụp tồn bộ gói
Trong Security Onion việc thực hiện chụp tồn bộ gói được thực hiện thông qua
netsniff-ng. Netsniff-ng nắm bắt tất cả lưu lượng truy cập mạng mà cảm biến của
Security Onion nhìn thấy và lưu trữ nhiều nhất có thể.

-

Hệ thống phát hiện và ngăn chặn xâm nhập dựa trên mạng/điểm cuối
Hệ thống phát hiện xâm nhập dựa trên mạng và dựa trên điểm cuối (IDS) phân tích
lưu lượng mạng hoặc hệ thống, đồng thời cung cấp dữ liệu nhật ký và cảnh báo cho
các sự kiện và hoạt động được phát hiện.

-

Cơng cụ phân tích
Với tính năng chụp gói đầy đủ, nhật ký IDS và dữ liệu Bro, có một lượng dữ liệu
khổng lồ trong tầm tay của nhà phân tích. Security Onion tích hợp các cơng cụ như
Sguil, Squert, Kibana, CapMe để giúp nhà phân tích hiểu rõ những dữ liệu này.

1.3.

Công cụ trong Security Onion

Security Onion là một môi trường tích hợp được thiết kế với mục đích đơn giản hóa

việc triển khai giải pháp NSM tồn diện. Các công cụ được cài đặt và liên kết với nhau
một cách tự động và chặt chẽ, giúp người dùng có thể triển khai hệ thống NSM một
cách dễ dàng mà không cần mất quá nhiều thời gian và công sức của mình để tìm hiểu,
nghiên cứu biện pháp tích hợp và ghép nối các công cụ lại với nhau trên một nền tảng.
1.3.1. Cơng cụ phân tích
Đa phần cơng cụ phân tích được tích hợp trong Security Onion được sử dụng trên trình
duyệt. Mặc định Security Onion sử dụng trình duyệt Chromium. Các trình duyệt khác
có thể hoạt động, tuy nhiên theo khuyến cáo nên sử dụng các trình duyệt dựa trên
chromium để có khả năng tương thích tốt nhất.
-

Kibana: là một giao diện người dùng mã nguồn mở miễn phí, cho phép trực quan
hóa dữ liệu trong Elasticsearch và điều hướng Elastic Stack.

-

CapMe: là một giao diện web cho phép xem bản ghi PCAP được hiển thị dưới
dạng tcpflow, xem bản ghi PCAP được hiển thị bằng Bro, tải xuống một PCAP.

9


-

CyberChef: một ứng dụng web trực quan, đơn giản để thực hiện tất cả các hoạt
động “cyber” trong một trình duyệt web. Các hoạt động này bao gồm mã hóa đơn
giản như XOR và Base64, mã hóa phức tạp hơn như AES, DES, tạo nhị phân,
hexdumps, giải nén dữ liệu, tính tốn băm, v.v… Cơng cụ này được thiết kế để cho
phép các nhà phân tích kỹ thuật và phi kỹ thuật thao tác dữ liệu theo những cách
phức tạp mà không cần phải xử lý các công cụ hoặc thuật toán phức tạp.


-

Squert: một ứng dụng web được sử dụng để truy vấn và xem dữ liệu sự kiện được
lưu trữ trong cơ sở dữ liệu Sguil (thường là dữ liệu cảnh báo IDS). Squert là một
công cụ trực quan cố gắng cung cấp ngữ cảnh bổ sung cho các sự kiện thông qua
việc sử dụng siêu dữ liệu, biểu diễn chuỗi thời gian và tập kết quả có trọng số và
nhóm hợp lý.

-

Sguil: được xây dựng bởi các nhà phân tích an ninh mạng. Thành phần chính của
Sguil là GUI trực quan cung cấp quyền truy cập và các sự kiện thời gian thực, dữ
liệu phiên và các bản ghi gói thơ. Sguil tạo điều kiện thuận lợi cho việc thực hành
giám sát an ninh mạng và phân tích theo hướng sự kiện.

-

NetworkMiner: một cơng cụ phân tích mã nguồn mở. NetworkMiner có thể được
sử dụng như một cơng cụ thu thập gói/dị tìm mạng thụ động để phát hiện hệ điều
hành, phiên, tên máy chủ, các cổng đang mở, v.v.. mà không đặt tạo ra bất kỳ lưu
lượng mạng nào trên mạng. NetworkMiner cũng có thể phân tích tệp PCAP để
phân tích mạng ngoại tuyến và tái tạo/tập hợp lại các tệp và chứng chỉ đã truyền từ
tệp PCAP.

-

Wireshark: một trình phân tích giao thức mạng hàng đầu và được sử dụng rộng rãi
trên thế giới. Nó cho phép xem những gì đang xảy ra trên mạng ở cấp độ vi mô. Sự
phát triển mạnh mẽ của Wireshark là nhờ sự đóng góp tình nguyện của các chuyên

gia mạng trên toàn cầu và là sự tiếp nối của một dự án do Gerald Combs bắt đầu
vào năm 199.

1.3.2. Công cụ hiển thị mạng
-

Snort: là một hệ thống ngăn chặn xâm nhập mã nguồn mở (IPS) hàng đầu trên thế
giới. Snort 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ác quy 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. 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 kiểm tra gói như tcpdump, như một
trình ghi gói - rất hữu ích cho việc gỡ lỗi lưu lượng mạng hoặc nó có thể được sử
10


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

Suricata: Suricata là công cụ phát hiện mối đe dọa mã nguồn mở độc lập hàng
đầu. Bằng cách kết hợp phát hiện xâm nhập (IDS), ngăn chặn xâm nhập (IPS),
giám sát an ninh mạng (NSM) và xử lý PCAP, Suricata có thể nhanh chóng xác
định, ngăn chặn và đánh giá ngay cả những cuộc tấn công tinh vi nhất.

-

Zeek (Bro): Zeek là một khung phân tích mạng mạnh mẽ khác nhiều so với IDS
thơng thường mà bạn có thể biết. (Zeek là tên mới của hệ thống Bro). Zeek là một
cơng cụ phân tích lưu lượng mạng mã nguồn mở thụ động. Nhiều nhà khai thác sử
dụng Zeek như một trình giám sát an ninh mạng (NSM) để hỗ trợ điều tra hoạt

động đáng ngờ hoặc độc hại. Zeek cũng hỗ trợ một loạt các nhiệm vụ phân tích lưu
lượng ngoài miền bảo mật, bao gồm đo lường hiệu suất và khắc phục sự cố.

-

Netsniff-ng: là một bộ công cụ mạng Linux miễn phí. Hiệu suất của nó đạt được
nhờ cơ chế khơng sao chép (zero-copy), do đó khi nhận và trùn gói, hạt nhân
khơng cần sao chép các gói từ khơng gian nhân sang khơng gian người dùng và
ngược lại.

1.3.3. Công cụ hiển thị máy chủ

- Beats: là người gửi dữ liệu nguồn mở mà bạn cài đặt làm agent trên máy chủ của
mình để gửi dữ liệu hoạt động đến Elasticsearch.

- Wazuh: là một giải pháp giám sát an ninh miễn phí, mã nguồn mở và sẵn sàng cho

-

-

doanh nghiệp để phát hiện mối đe dọa, giám sát tính tồn vẹn, phản ứng sự cố và
tn thủ. Security Onion sử dụng Wazuh làm Hệ thống phát hiện xâm nhập máy
chủ (HIDS). Wazuh đang tự giám sát và bảo vệ Security Onion và cũng có thể
thêm các tác nhân Wazuh để giám sát các máy chủ khác trên mạng của mình.
Sysmon: System Monitor (Sysmon) là một dịch vụ hệ thống Windows và trình
điều khiển thiết bị, sau khi được cài đặt trên hệ thống, vẫn thường trú trên hệ thống
khởi động lại để theo dõi và ghi lại hoạt động của hệ thống vào nhật ký sự kiện
Windows. Nó cung cấp thơng tin chi tiết về q trình tạo, kết nối mạng và các thay
đổi đối với thời gian tạo tệp.

Autoruns: tiện ích này cho biết chương trình nào được cấu hình để chạy trong quá
trình khởi động hoặc đăng nhập hệ thống và khi khởi động các ứng dụng Windows
tích hợp sẵn khác nhau như Internet Explorer, Explorer, v.v...
Syslog: syslog-ng cung cấp khả năng thu thập nhật ký từ bất kỳ nguồn nào, xử lý
chúng trong thời gian thực và gửi chúng đến nhiều điểm đến khác nhau. Syslog-ng
cho phép linh hoạt thu thập, phân tích cú pháp, phân loại, viết lại và tương quan

11


các nhật ký từ khắp cơ sở hạ tầng của bạn và lưu trữ hoặc định tuyến chúng đến các
công cụ phân tích nhật ký.
1.3.4. Elastic Stack
Security Onion được xây dựng dựa trên mơ hình phân tán máy khách - chủ đã được sử
đổi. Trước đây, Security Onion chỉ dựa và việc sử dụng cảm biến và máy chủ (sensor server). Với việc tích hợp Elastic Stack, kiến trúc phân tán đã thay đổi và giờ đây bao
gồm việc sử dụng các thành phần Elastic và các nút riêng biệt để xử lý và lưu trữ dữ
liệu.
-

Elasticsearch: một công cụ phân tích, lưu trữ và tìm kiếm phân tán. Là trung tâm
của Elastic Stack, nó lưu trữ tập chung dữ liệu để người dùng có thể tìm kiếm
nhanh chóng, mức độ liên quan được tinh chỉnh và phân tích mạnh mẽ và có thể
mở rộng quy mơ một cách dễ dàng.

-

Logstash: một công cụ thu thập dữ liệu mã nguồn mở với khả năng tổng hợp theo
thời gian thực. Logstash có khả năng nhập dữ liệu từ nhiều nguồn, biến đổi nó, sau
đó gửi nó tới kho lưu trữ mà người dùng mong muốn.


-

Kibana: là một giao diện người dùng mã nguồn mở và miễn phí cho phép trực
quan hóa dữ liệu trong Elasticsearch và điều hướng Elastic Stack.

-

ElastAlert: một framework đơn giản để cảnh báo về sự bất thường, đột biến hoặc
các dạng khác từ dữ liệu trong Elasticsearch. Security Onion sử dụng Elasticsearch,
Logstash và Kibana để quản lý lượng dữ liệu và nhật ký. Kibana là công cụ tuyệt
vời để trực quan hóa và truy vấn dữ liệu, nhưng cần có một cơng cụ đồng hành để
cảnh báo về sự khơng nhất qn trong dữ liệu đó. Xuất phát từ nhu cầu này,
ElastAlert đã được tạo ra. Nếu có dữ liệu khớp với các mẫu được chỉ định,
AlertAlert sẽ tạo ra cảnh báo cho dữ liệu đó.

-

Curator: một công cụ giúp người quản trị sắp xếp hoặc quản lý các index trong
Elasticsearch.

-

Redis: một công cụ mã nguồn mở, được sử dụng làm cơ sở dữ liệu, bộ nhớ đệm.
Nó hỗ trợ các cấu trúc dữ liệu như chuỗi, băm, danh sách, tập hợp.

12


CHƯƠNG 2. TRIỂN KHAI SECURITY ONION
2.1.


Chế độ triển khai

Security Onion cung cấp nhiều nhiều phương thức triển khai khác nhau cho các hệ
thống từ nhỏ cho đến lớn. Tùy vào nhu cầu mà người dùng lựa chọn chế độ triển khai
phù hợp. Ở cấp độ cao, Security Onion được triển khai dưới dạng các nút và có thể
được bổ sung. Điều này đồng nghĩa rằng hệ thống SO của ta có khả năng mở rộng
khơng giới hạn theo chiều ngang.
2.1.1. Triển khai đánh giá
Loại triển khai lý tưởng cho môi trường lớp học hoặc các bài LAB nhỏ. Sử dụng duy
nhất một giao diện mạng để quản lý cũng như việc giám sát và ghi lại lưu lượng trực
tiếp từ TAP hoặc cổng span. Snort và Zeek được cấu hình để giám sát lưu lượng truy
cập trên giao diện giám sát đó và tạo nhật ký. Chế độ đánh giá được thiết kế để cài đặt
nhanh nhằm đánh giá năng lực của Security Onion. Nó hồn tồn khơng được thiết kế
để sử dụng trong môi trường doanh nghiệp.
2.1.2. Triển khai độc lập
Triển khai độc lập tương tự như triển khai đánh giá ở chỗ tất cả các thành phần cùng
chạy trên một thiết bị. Loại triển khai này thường được sử dụng cho thử nghiệm, POC
hoặc môi trường thuông lượng thấp và khơng có khả năng mở rộng. Hình dưới đây cho
thấy cấu hình độc lập với một máy khách (chẳng hạn như một nhà phân tích) truy cập
SO độc lập.

Hình 2.1 Mô hình triển khai SO chế độ độc lập

Triển khai độc lập là một lựa chọn tốt cho các nhân viên an ninh với yêu cầu hệ thống
giám sát an ninh mạng đơn giản. Ví dụ: họ chỉ cần theo dõi, giám sát trên một phân
vùng mạng.
13



Hình 2.2 Mô hình luồng dữ liệu trong triển khai độc lập

2.1.3. Triển khai phân tán
Triển khai phân tán tiêu chuẩn bao gồm một nút quản lý (Master), một hoặc nhiều nút
cảm biến (Sensor) và nút lưu trữ (Storage). Kiến trúc này yêu cầu nhiều tài nguyên
hơn để triển khai, nhưng nó cung cấp khả năng mở rộng và hiệu suất cao hơn, vì có thể
thêm nhiều nút hơn vào hệ thống để xử lý nhiều lưu lượng hoặc nhật ký hơn.

Hình 2.3 Mô hình triển khai SO chế độ phân tán

Tùy chọn này phù hợp với các yêu cầu mạng lớn hơn và phức tạp hơn. Đây là mô hình
triển khai được lựa chọn cho bất kỳ tổ chức nào có nhiều phân vùng mạng để giám sát,
đặc biệt là trong trường hợp các mạng riêng biệt về mặt địa lý.

14


Hình 2.4 Mô hình luồng dữ liệu trong triển khai phân tán tiêu chuẩn

2.2.
-

Các loại nút

Nút quản lý (Master): nút quản lý chạy bản sao cục bộ của chính Elasticsearch,
quản lý cấu hình tìm kiếm cụm. Điều này bao gồm các và nút lưu trữ nhưng không
phải các nút cảm biến, vì chúng khơng chạy các thành phần của Elastic Stack. Nhà
phân tích kết nối với máy chủ từ một máy trạm để thực hiện các truy vấn và truy
xuất dữ liệu.
Nút quản lý chạy các thành phần sau:

+ Elasticsearch
+ Logstash
+ Kibana
+ Curator
+ Elastalert
+ Redis
+ Wazuh/OSSEC
+ Sguild

-

Nút cảm biến (Sensor): các nút cảm biến sử dụng Syslog-ng để chuyển tiếp tấp cả
nhật ký tới Logstash trên nút quản lý, nơi chúng được lưu trữ trong Elasticsearch
15


trên nút quản lý hoặc nút lưu trữ. Từ đó, dữ liệu có thể được truy vấn thơng qua
việc sử dụng tìm kiếm giữa các cụm.
Các nút cảm biến chạy các thành phần sau:
+ Zeek (Bro)
+ Snort/Suricata
+ Netsniff-ng
+ Syslog-ng
-

Nút lưu trữ (Storage): là loại nút đảm nhiệm vai trò lưu trữ dữ liệu cho hệ thống.
Các nút lưu trữ mở rộng khả năng lưu trữ và xử lý của nút quản lý. Khi được cấu
hình, các nút Lưu trữ sẽ được thêm vào cấu hình tìm kiếm cụm của nút quản lý, do
đó dữ liệu nằm trên các nút này có thể được truy vấn từ nút quản lý.
Các nút lưu trữ chạy các thành phần sau:

+ Elasticsearch
+ Logstash
+ Curator
+ Wazuh/OSSEC

2.3.

Yêu cầu phần cứng

Security Onion chỉ hỗ trợ kiến trúc x86-64 (bộ vi xử lý Intel / AMD 64-bit tiêu chuẩn).
Các bộ vi xử lý khác như ARM không được hỗ trợ và có thể gây ra lỗi do khơng tương
thích trong q trình sử dụng.
Giống như hầu hết các hệ thống CNTT khác, Security Onion có những cơ sở dữ liệu
của riêng mình và tất nhiên là những sự cố như mất điện hay tắt máy đột ngột có thể
làm hỏng nó. Để tránh mất điện và phải sửa chữa cơ sở dữ liệu theo cách thủ công, hãy
trang bị UPS cho hệ thống Security Onion.
2.3.1. Triển khai độc lập
Trong triển khai độc lập, các thành phần nút quản lý (Master) và các thành phần nút
cảm biến (Sensor) đều chạy trên một hộp thiết bị duy nhất. Do đó, các yêu cầu phần
cứng của thiết bị sẽ tăng lên. Loại triển khai này được khuyến nghị cho các mục đích
đánh giá, POC.
Cấu hình tối thiểu được khuyến nghị cho loại triển khai này là 4 core CPU và 8GB
RAM. Cấu hình u cầu có thể cao hơn tùy thuộc vào lưu lượng mạng của hệ thống.
16


-

CPU: được sử dụng để phân tích cú pháp các sự kiện đến, lập chỉ mục các sự kiện,
tim kiếm dữ liệu, chụp bắt PCAP, phân tích gói và chạy các thành phần giao diện

người dùng. Khi mức dữ liệu và sự kiện tăng lên, lượng CPU yêu cầu sẽ lớn hơn.

-

RAM: được sử dụng cho Logstash, Elasticsearch, Snort/Suricata, Zeek, Sguil,
v.v… Dung lượng RAM khả dụng sẽ ảnh hưởng trực tiếp đến tốc độ tìm kiếm cũng
như khả năng xử lý và thu thập lưu lượng mạng.

-

Disk: Được sử dụng để lưu trữ dữ liệu. Dung lượng lớn cho phép thời gian lưu trữ
lâu hơn. Thông thường, khuyến nghị duy trì khơng q 30 ngày cho các chỉ số hot
trong Elasticsearch.

2.3.2. Triển khai phân tán
-

Nút quản lý (Master): triển khai phân tán tiêu chuẩn sử dụng các nút lưu trữ để
phân tích cú pháp và lập chỉ mục. Kết quả là các yêu cầu về phần cứng của nút
quản lý được giảm xuống. Một nút quản lý yêu cầu tối thiểu 4-8 core CPU, 8-16
GB RAM và dung lượng ổ cứng từ 100GB đến 1TB.
+ CPU: dùng để nhận các sự kiện đến và đặt chúng vào Redis. Được sử dụng
để chạy tất cả các trình biên dịch web giao diện người dùng và tổng hợp kết
quả tìm kiếm từ các nút lưu trữ.
+ RAM: sử dụng cho Logstash và Redis. Rung lượng RAM khả dụng ảnh
hưởng trực tiếp đến kích thước của hàng đợi Redis.
+ Disk: Sử dụng cho các mục đích chung như lưu trữ trang tổng quan và các
thành phần Sguil.

-


Nút cảm biến (Sensor): các nút cảm biến chỉ chạy các thành phần cảm biến và
chuyển tiếp dữ liệu tới nút quản lý. Tất cả PCAP vẫn nằm trong nút cảm biến và
được truy cập thông qua một tác nhân.
+ CPU: được sử dụng để phân tích và lưu trữ lưu lượng mạng. Khi băng thông
của mạng được giám sát tăng lên, lượng CPU yêu cầu sẽ lớn hơn. Ước tính,
cứ mỗi 200Mbps sẽ cần một core CPU cho Snort và một core CPU cho
Zeek. Vì vậy, nếu mạng có băng thơng 1Gbps thì sẽ cần ít nhất 5 core CPU
cho Snort và 5 core CPU cho Zeek. Nghĩa là sẽ cần ít nhất 10 core CPU chỉ
dành cho Snort và Zeek. Ngoài ra sẽ cần thêm một số core CPU bổ xung
cho các dịch vụ khác.
+ RAM: sử dụng để ghi bộ nhớ cache và xử lý lưu lượng truy cập. Dung
lượng RAM yêu cầu phụ thuộc vào nhiều yếu tố như: số lượng dịch vụ,
17


băng thơng mạng giám sát, số lượng gói tin bị mất mà tổ chức có thể chấp
nhận được. Đối với các mạng nhỏ (50Mbps trở xuống) sẽ cần 8GB RAM trở
lên. Đối với các mạng trung bình (50Mbps – 500 Mpbs) sẽ cần 16 GB – 128
GB RAM. Đối với các mạng lớn (500Mbps – 1000Mbps) sẽ cần 128GB –
256GB RAM.
+ Disk: được sử dụng để lưu trữ PCAP và dữ liệu. Dung lượng lớn cho phép
thời gian lưu trữ lâu hơn. Các tệp PCAP này chiếm rất nhiều dung lượng bộ
nhớ của thiết bị. Giả sử một mạng có lưu lượng trung bình là 50Mbps, ta có
phép tính như sau: 50Mb/s = 6.25 MB/s = 375 MB/minute = 22,500
MB/hour = 540,000 MB/day. Vì vậy, sẽ cần khoảng 540GB dung lượng ổ
cứng để lưu trữ các tệp PCAP cho một ngày.
+ NIC: yêu cầu tối thiểu hai giao diện mạng có dây: một để quản lý và một
hoặc nhiều hơn để thực hiện giám sát lưu lượng mạng. Hãy lựa chọn NIC
phù hợp dựa trên lưu lượng mạng của hệ thống để tránh tình trạng mất gói.

-

Nút lưu trữ (Storage): các nút lưu trữ tăng khả năng tìm kiếm và lưu trữ dữ liệu
đối với Elasticsearch. Các nút này phân tích cú pháp và lập chỉ mục các sự kiện,
đồng thời cung cấp khả năng mở rộng quy mô hệ thống theo chiều ngang khi lượng
dữ liệu tổng thể tăng lên. Một nút lưu trữ yêu cầu tối thiểu 4-8 core CPU, 8 – 32
GB RAM và 200GB dung lượng ổ cứng hoặc hơn tùy thược vào yêu cầu thời gian
lưu trữ.
+ CPU: được sử dụng để phân tích cú pháp các sự sự và lập chỉ mục chúng.
Khi mức độ dữ liệu và sự kiện tăng lên, sẽ cần nhiều CPU hơn.
+ RAM: được sử dụng cho Logstash, Elasticsearch và bộ đệm đĩa. Dung
lượng RAM khả dụng sẽ ảnh hưởng trực tiếp tới tốc độ tìm kiếm.
+ Disk: sử dụng để lưu trữ dữ liệu được lập chỉ mục trong Elasticsearch. Dung
lượng đĩa lớn cho phép thời gian lưu trữ lâu hơn.

2.4.

Phương pháp cài đặt

Sau khi quyết định mô mình hệ thống, người dùng có thể lựa chọn phương pháp cài
đặt Security Onion trên thiết bị của mình.
Security Onion cung cấp hai phương pháp để cài đặt:
-

Sử dụng SO ISO

18


Được xây dựng trên Ubuntu phiên bản 16.04. Đây là phương pháp cài đặt đơn giản

nhất. Chỉ cần tải xuống tệp ISO từ trang phân phối chính thức của Security Onion
và cài đặt trên thiết bị như đối với một hệ điều hành bình thường. Trong phụ lục về
triển khai hệ thống của đề tài nghiên cứu này bao gồm hướng dẫn triển khai
Security Onion thông qua tệp SO ISO.
-

Sử dụng SO PPA
Sử dụng phương pháp này nếu muốn sử dụng hệ điều hành Ubuntu có sẵn thay vì
cài đặt hệ điều hành Ubuntu tùy chỉnh của Security Onion. Từ hệ giao diện điều
khiển, người dùng thực thi các câu lệnh cài đặt theo hướng dẫn trong tài liệu cài đặt
mà SO cung cấp. Các gói từ kho lưu trữ của SO sẽ tự động được tải xuống và cài
đặt. Lưu ý rằng SO chỉ tương thích với hệ điều hành Ubuntu phiên bản 16.04.

19


CHƯƠNG 3. SGUIL TRONG SECURITY ONION
3.1.

Giới thiệu

Sguil là một bộ phần mềm mã nguồn mở NSM (Network Security Monitoring) được
viết bởi Bamm Visscher. Sguil được sử dụng để giám sát an tồn mạng và phân tích
các sự kiện dựa trên các cảnh báo IDS. Sguil client được viết bằng ngôn ngữ Tcl/Tk
kết hợp cùng cơ sở dữ liệu MySQL.

Hình 3.1 Giao diện Sguil 0.9.0

3.2.


Kiến trúc

Hệ thống Sguil bao gồm một Sguil server duy nhất và một số lượng tùy ý các Sguil
sensor. Các sensor thực hiện tất cả các nhiệm vụ giám sát bảo mật và cung cấp thông
tin trở lại server một cách thường xuyên. Sguil server điều phối thông tin này, lưu trữ
chúng trong cơ sở dữ liệu và giao tiếp với các client thông qua bảng điều khiển.

20


Chức năng của từng thành phần trong hệ thống Sguil:
-

Sensor:
+ Phát hiện các sự kiện trên mạng
+ Tải lên số liệu thống kê về phiên và quét cổng
+ Ghi lại tất cả lưu lượng mạng

-

Server:
+ Nhận cảnh báo và thống kê từ sensor
+ Gửi cảnh báo và dữ liệu khác tới bảng điều khiển
+ Nhận yêu cầu từ bảng điều khiển
+ Theo dõi trạng thái cảnh báo

-

Console:
+ Phân tích và phân loại cảnh báo


Hình 3.2 Mô hình kiến trúc Sguil

21


3.3.

Luồng hoạt động

Hình 3.3 Luồng nhận dữ liệu cảnh báo từ NIDS

Trong hệ thống Sguil, dữ liệu cảnh báo sự bất thường trên mạng được Snort thu thập
tại Sensor. Dữ liệu này được Snort kết xuất thành một tệp nhị phân. Barnyard đọc tệp
này, định dạng dữ liệu cảnh báo và thực hiện ghi dữ liệu vào máy chủ cơ sở MySQL,
đồng thời chuyển chúng tới Sguild trên Sguil server để trả kết quả lên bảng điều khiển
(Console) hiển thị cho người phân tích trên giao diện sguil.tk (điều này giúp đảm bảo
Sguil hiển thị cảnh báo theo thời gian thực).

Hình 3.4 Minh họa mô hình làm việc giữa Barnyard và Snort

22


Khi người dùng yêu cầu dữ liệu chi tiết về cảnh báo, sguild sẽ thực hiện truy vấn dữ
liệu liên quan của cảnh báo đó trong MySQL rồi trả kết quả về sguil.tk để hiển thị cho
người dùng.

Hình 3.5 Luồng truy vấn dữ liệu chi tiết của cảnh báo


3.4.

Bố cục bảng điều khiển

Đây là một trong những giao diện làm việc chính của các chuyên viên giám sát (chẳng
hạn như Tier 1 trong SOC). Bảng điều khiển này cung cấp cái nhìn trực quan về tình
hình hệ thống cho đội ngũ giám sát. Cùng với đó là khả năng hiển thị chi tiết về sự
kiện và những chức năng như sắp xếp, lọc, phân loại, tìm kiếm sự kiện nâng cao được
tích hợp chung với nhau trong một bảng điều khiển nhằm tối ưu các thao tác trong quá
trình giám sát hệ thống của đội ngũ giám sát.
Bảng điều khiển chính của Sguil được chia làm ba phân vùng bao gồm:
1. Danh sách cảnh báo
2. Thông tin máy chủ
3. Chi tiết cảnh báo.

23


Hình 3.6 Bố cục bảng điều khiển chính của Sguil

Khung danh sách cảnh báo cung cấp khả năng hiển thị/tương tác với sự kiện bát
thường được phát hiện bởi hệ thống IDS. Khung này hiển thị một số thông tin chính
của một sự kiện như thời gian xảy ra, địa chỉ ip nguồn/đích, số hiệu cổng nguồn/đích,
số hiệu giao thức, v.vv… Người dùng có thể sắp xếp sự kiện theo các trường thông tin
mà khung cung cấp (mặc định là giảm dần theo thời gian phát sinh sự kiện). Để tương
tác với từng sự kiện cụ thể, người quản trị chỉ cần sử dụng chuột phải vào sự kiện đó
và bảng chức năng tương tác sự kiện sẽ được hiển thị. Ngồi ra, một số tính năng
chính cũng đã được gán phím tắt để thuận tiện trong q trình sử dụng.
Khung thông tin máy chủ cung cấp thông tin về địa chỉ ip nguồn/đích của sự kiện,
trạng thái hoạt động của Sguil agent, chỉ số hoạt động của Snort, các tin nhắn từ hệ

thống hay người dùng trong hệ thống.
Khung chi tiết cảnh báo cung cấp thông tin chi tiết về sự kiện tạo ra cảnh báo này. Nó
bao gồm thông tin về luật được sử dụng cho cảnh báo, thông tin về địa chỉ ip, các cờ
được sử dụng và phần payload của gói.
3.5.

Làm việc với Sguil

Sguil khơng chỉ là một bảng điều khiển hỗ trợ điều tra thông qua cảnh báo. Nó cịn là
một cơng cụ được sử dụng để giải quyết các cảnh báo. Về cơ bản, Sguil cung cấp khả
năng phân loại sự kiện, truy vấn dữ liệu, trích xuất PCAP (đối với dữ liệu đến từ
mạng) và báo cáo sự kiện.

24


Hình 3.7 Các thành phần trong bảng điều khiển của Sguil

Event panes được thiết kế để hiển thị những những trường thông tin cốt lõi nhất của sự
kiện. Người giám sát nắm rõ ý nghĩa của các trường thông tin này để có thể nắm bắt
thơng tin về sự kiện một cách nhanh nhất.
-

ST (status): trạng thái của cảnh báo (mặc định là Real Time - RT). Màu sắc
của trường biểu thị mức độ của cảnh báo

-

CNT (count): số lượng của loại cảnh báo


-

Sensor: tên của Sguil sensor sinh ra cảnh báo

-

Alert ID: mã định danh của cảnh báo

-

Date/Time: thời điểm cảnh báo được sinh ra

-

Src IP (source ip): địa chỉ ip nguồn

-

Sport (source port): số hiệu cổng nguồn

-

Dst IP (destination ip): địa chỉ ip đích

-

DPort (destination port): số hiệu cổng đích

-


Pr (protocol): số hiệu giao thức được sử dụng

-

Event Message: tên cảnh báo.

Signature viewer cho biết luật nào được sử dụng trên Snort để tạo ra cảnh báo. Nhìn
vào luật sử dụng, người giám sát có thể biết được nguyên nhân gây ra cảnh báo là gì.
Phần Event details cung cấp thơng tin chi tiết về gói tin gây ra cảnh báo.
3.5.1. Phân loại sự kiện

25


×