Uploaded by Tùng Phạm

Nhóm-3-WAZUH-BanHung (1)

advertisement
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
----------
BÁO CÁO CUỐI KỲ
Môn học: CHUYÊN ĐỀ AN NINH MẠNG
TRIỂN KHAI HỆ THỐNG PHÁT HIỆN XÂM NHẬP WAZUH
Giảng viên:
TS.Nguyễn Ngọc Điệp
Lớp:
D18-026
Nhóm:
03
Sinh viên:
Trần Thế Quân – B18DCAT194
Nguyễn Thanh Hưng – B18DCAT117
Phạm Gia Khiêm – B18DCAT129
Hà Nội, tháng 11 năm 2022
MỤC LỤC
MỤC LỤC ...................................................................................................................1
DANH SÁCH BẢNG .................................................................................................3
DANH SÁCH HÌNH VẼ ............................................................................................4
LỜI MỞ ĐẦU .............................................................................................................6
I. GIỚI THIỆU ............................................................................................................7
1. Danh sách sinh viên .............................................................................................7
2. Mục đích ..............................................................................................................7
II. CƠ SỞ LÝ THUYẾT .............................................................................................8
1. Tổng quan về xâm nhập, kỹ thuật và các hệ thống phát hiện xâm nhập .............8
1.1. Hệ thống phát hiện xâm nhập ........................................................................8
1.2. Kỹ thuật phát hiện xâm nhập.......................................................................10
2. Giới thiệu về WAZUH ......................................................................................12
2.1. Định nghĩa ...................................................................................................12
2.2. Các thành phần ............................................................................................13
2.3. Kiến trúc của Wazuh ...................................................................................17
2.4. Rules trong Wazuh ......................................................................................20
2.5. Các chức năng tiêu biểu của Wazuh ...........................................................25
III. NỘI DUNG THỰC HIỆN DEMO......................................................................30
1. Chuẩn bị môi trường ..........................................................................................30
1.1. Yêu cầu cài đặt ............................................................................................30
1.2.Cài đặt elasticsearch .....................................................................................31
1.3.Cài đặt wazuh manger ..................................................................................32
1.4.Cài đặt filebeat..............................................................................................33
1.5.Cài đặt kibana và cấu hình ...........................................................................33
1.6. Cài đặt wazuh agent trên window ...............................................................34
1.7.
Cài đặt agent trên Ubuntu server ..............................................................37
2. Demo ..................................................................................................................38
2.1. Brute force: ..................................................................................................38
2.1.1.
Môi trường thực hiện .....................................................................38
1
2.1.2.
Các bước thực hiện ........................................................................38
2.1.3.
Kết quả mong muốn .......................................................................41
2.2. SQL injection: .............................................................................................41
2.2.1.
Chuẩn bị môi trường ......................................................................41
2.2.2.
Các bước thực hiện ........................................................................42
2.2.3.
Kết quả mong muốn .......................................................................44
2.3.
Brute force vào cổng dịch vụ SSH ...........................................................44
2.3.1.
Chuẩn bị môi trường ......................................................................44
2.3.2.
Các bước thực hiện ........................................................................44
2.3.3.
Kết quả mong muốn .......................................................................46
2.4.
Phát hiện các file độc xuất hiện trong máy ..............................................46
2.4.1.
Môi trường chuẩn bị.......................................................................46
2.4.2.
Các bước thực hiện ........................................................................47
2.4.3.
Kết quả mong muốn .......................................................................48
IV. KẾT LUẬN .........................................................................................................48
4.1.
Ưu điểm: ...................................................................................................49
4.2.
Nhược điểm: .............................................................................................49
V. TÀI LIỆU THAM KHẢO ....................................................................................49
2
DANH SÁCH BẢNG
Bảng 1. Các mức level của rules trong wazuh ..................................................23
Bảng 2. Một số cú pháp decode ........................................................................24
Bảng 3. Một số cú pháp của rules .....................................................................25
Bảng 4. Yêu cầu cấu hình máy wazuh-server ...................................................31
3
DANH SÁCH HÌNH VẼ
Hình 1. Hệ thống phát hiện xâm nhập IDS .........................................................8
Hình 2. Lưu đồ giám sát phát hiện tấn công, xâm nhập dựa trên chữ ký .........10
Hình 3. Giá trị emtropy của IP nguồn của các gói tin lưu lượng hợp pháp
(Phần giá trị cao, đều) và entropy của IP nguồn của các gói tin từ lưu
lượng tấn công DDoS (phần giá trị thấp) .................................................11
Hình 4. Các thành phần của Wazuh .................................................................12
Hình 5. Agent trong Wazuh ...............................................................................14
Hình 6. Server trong Wazuh ..............................................................................15
Hình 7. Multi-node deployment ........................................................................17
Hình 8. Single-node deployment .......................................................................18
Hình 9. Phương thức hoạt động của luồng dữ liệu...........................................18
Hình 10. Cấu trúc Rules ...................................................................................20
Hình 11. Phân tích bảo mật trong Wazuh .........................................................26
Hình 12. Phát hiện xâm nhập trong Wazuh ......................................................27
Hình 13. Phát hiện lỗ hổng trong Wazuh..........................................................28
Hình 14. Phân tích log trong Wazuh.................................................................29
Hình 15. Cài đặt Wazuh server .........................................................................30
Hình 16. Thêm agent trong kibana ...................................................................35
Hình 17. Các agent đã được thêm vào wazuh-server .......................................35
Hình 18. Các bước thêm agent .........................................................................36
Hình 19. Cài đặt Wazuh agent ..........................................................................36
Hình 20: Deploy a new Linux system agent ......................................................37
Hình 21: Command để đăng kí agent trên Ubunt server ..................................37
Hình 22: Cài đặt thành công agent Ubuntu Server ..........................................38
Hình 23. Sử dụng nmap thực hiện rà quét lỗ hổng ...........................................39
Hình 24. Thực hiện tấn công Brute force..........................................................39
Hình 25. Wazuh nhận được alert Brute force ...................................................40
Hình 26. Nội dung alert Brute force .................................................................40
Hình 27. Rules Brute force ................................................................................41
Hình 28. Web server trên máy windows 11 ......................................................41
Hình 29. Câu lệnh tấn công SQL injection .......................................................42
Hình 30. Sử dụng máy kali tấn công SQL injection vào web server ................42
Hình 31. Wazuh nhận được alert SQL injection ...............................................43
Hình 32. Nội dung alert SQL injection .............................................................43
Hình 33. Rules SQL injection ............................................................................44
Hình 34: Quét các cổng trên Ubuntu Server ....................................................44
Hình 35: Tấn công Brute force vào dịch vụ SSH ..............................................45
Hình 36: Cảnh báo Brute force hiện lên ...........................................................45
Hình 37: Cấu hình file ossec.conf .....................................................................47
4
Hình 38: Custom rule phát hiện file độc hại.....................................................47
Hình 39: Restart Wazuh manager .....................................................................47
Hình 40: Tải file độc hại về máy .......................................................................48
Hình 41: Cảnh báo phát hiện file độc ...............................................................48
5
LỜI MỞ ĐẦU
Thế kỷ XXI, chứng kiến sự phát triển nhanh chóng của Internet và những ảnh
hưởng sâu rộng tới mọi lĩnh vực đời sống của con người. Song song với những lợi
ích mà mạng máy tính đem lại thì nó cũng trở thành mục tiêu lợi dụng của những kẻ
tấn công, xâm nhập trái phép nhằm thực hiện những mưu đồ xấu, đe dọa tới tính an
toàn về bảo mật thông tin của các tổ chức hay những người dùng kết nối mạng. Mặc
dù, mỗi hệ thống máy tính đều có những cơ chế tự bảo vệ riêng nhưng có thể chưa
đủ để phát hiện hay ngăn chặn những cuộc tấn công ngày một tinh vi hơn. Vấn đề đặt
ra là làm sao xây dựng được một hệ thống có thể phát hiện sớm và có hiệu quả các
cuộc tấn công hay xâm nhập trái phép từ đó đưa ra những cảnh báo và biện pháp xử
lý kịp thời. Một số các hệ thống phát hiện xâm nhập mạng truyền thống được áp dụng
khá phổ biến và rộng rãi trên thế giới như hệ thống phát hiện xâm nhập dựa trên tập
luật, phân tích thống kê,…Các hệ thống trên đã phát hiện tốt những cuộc tấn công đã
biết với tỷ lệ cảnh báo sai thấp. Tuy nhiên, chúng tại tỏ ra kém hiệu quả đối với những
cuộc tấn công mới, đồng thời phải luôn cập nhật luật mới.
Phát hiện xâm nhập cũng là một kỹ thuật liên quan được áp dụng. Các
phương thức phát hiện xâm nhập xuất hiện vài năm gần đây. Với các phương pháp
này người quản trị có thể thu thập và sử dụng thông tin từ các dạng tấn công chưa
được biết hoặc phát hiện cuộc tấn công đang diễn ra. Những thông tin thu thập được
sẽ giúp người quản trị gia cố an ninh mạng, đưa ra các chính sách an toàn cho hệ
thống nhằm giảm thiểu những tấn công bất hợp pháp.
Vì vậy chúng em chọn đề tài: “Triển khai hệ thống phát hiện xâm nhập
WAZUH.”
6
I. GIỚI THIỆU
1. Danh sách sinh viên
Tên các sinh viên trong nhóm:
 Nguyễn Thanh Hưng - B18DCAT117
 Phạm Gia Khiêm - B18DCAT129
 Trần Thế Quân - B18DCAT194
2. Mục đích
Bảo mật vốn là một vấn đề lớn đối với môi trường doanh nghiệp hiện nay.
Trong lịch sử đã có nhiều trường hợp tin thành công trong việc xâm nhập vào mạng
công ty và đem ra ngoài rất nhiều thông tin giá trị. Đã có nhiều phương pháp phát
triển để đảm bảo cho hạ tầng mạng và giao tiếp trên internet như : sử dụng Firewall,
VPN trong đó có hệ thống phát hiện và ngăn chặn xâm nhập.
Phát hiện xâm nhập là một trong những công nghệ và phương thức dùng để
phát hiện hành động khả nghi trên cả Host và mạng. Các phương pháp phát hiện xâm
nhập bắt đầu xuất hiện những năm gần đây, sử dụng phương thức phát hiện xâm nhập
, ta có thể thu thập, sử dụng thông tin từ những lỗ hổng tấn công đã biết để tìm ra và
cảnh báo một ai đó đang cố gắng tấn công vào mạng hay máy cá nhân.
Vì vậy, là sinh viên được trang bị những kiến thức của ngành An toàn thông
tin, với những kiến thức đã tiếp thu và vận đụng lý thuyết đó vào công việc thực tế
nên chúng em đã chọn đê tài “Triển khai hệ thống phát hiện xâm nhập WAZUH.” với
mục đích xây dựng được hệ thống phát hiện và phòng chống xâm nhập trái phép
nhằm đảm bảo an toàn hệ thống mạng cho doanh nghiệp và cá nhân.
7
II. CƠ SỞ LÝ THUYẾT
1. Tổng quan về xâm nhập, kỹ thuật và các hệ thống phát hiện xâm nhập
1.1. Hệ thống phát hiện xâm nhập
1.1.1 Định nghĩa:
Hệ thống phát hiện xâm nhập (IDS - Intrusion Detection System) là một lớp
phòng vệ quan trọng, là giải pháp đảm bảo an toàn cho hệ thống thông tin và mạng
theo mô hình phòng thủ nhiều lớp theo chiều sâu. Các hệ thống IDS có thể được triển
khai ở trước hoặc sau tường lửa trong mô hình mạng tùy theo mục đích sử dụng. Hình
sau cung cấp vị trí hệ thống IDS trong sơ đồ mạng, trong đó IDS thường được kết nối
vào các bộ định tuyến, switch, card mạng và chủ yếu làm nhiệm vụ giám sát và cảnh
báo, không có khả năng chủ động ngăn chặn tấn công, xâm nhập.
Hình 1. Hệ thống phát hiện xâm nhập IDS
Nhiệm vụ chính của các IDS bao gồm:
 Giám sát lưu lượng mạng hoặc các hành vi trên một hệ thống để nhận dạng các
dấu hiệu của tấn công, xâm nhập
 Khi phát hiện các hành vi tấn công, xâm nhập, thì ghi log các hành vi này cho
phân tích bổ sung sau này
 Gửi thông báo, cảnh báo cho người quản trị về các các hành vi tấn công, xâm
nhập đã phát hiện được.
1.1.2. Phân loại:
8
Có 2 phương pháp phân loại chính các hệ thống IDS gồm phân loại theo nguồn
dữ liệu và phân loại theo phương pháp phân tích dữ liệu:
1.1.2.1. Phân loại theo nguồn dữ liệu:
Gồm 2 loại: hệ thống phát hiện xâm nhập mạng (NIDS – Network-based IDS)
và hệ thống phát hiện xâm nhập máy (HIDS – Host-based IDS).
 Hệ thống phát hiện xâm nhập mạng (NIDS):
 Hệ thống phát hiện xâm nhập mạng giám sát cổng mạng và thực hiện thu
thập, phân tích lưu lượng mạng gồm các gói tin để phát hiện tấn công, xâm
nhập cho cả mạng hoặc một phân đoạn mạng.
 Ưu điểm của NIDS là có khả năng giám sát phát hiện các dạng xâm nhập
cho cả mạng, hoặc phân đoạn mạng do nó thường được triển khai tại cổng
mạng và sử dụng lưu lượng mạng gồm các gói tin đi/đến làm nguồn dữ liệu.
Hạn chế của NIDS là gặp nhiều khó khăn khi phải giám sát cổng mạng có
lưu lượng lớn, hoặc lưu lượng bị mã hóa và các dạng xâm nhập trên các máy
không phát sinh lưu lượng qua cổng mạng.
 Có nhiều hệ thống NIDS dựa trên phần cứng và phần mềm, thương mại hoặc
mã mở được phát triển và ứng dụng trên thực tế. Có thể kể đến một số hệ
thống NIDS nối tiếng như Check Point IPS, McAfee Network Security
Platform, Snort, Bro và Suricata.
 Hệ thống phát hiện xâm nhập máy (HIDS):
 Hệ thống phát hiện xâm nhập cho máy giám sát các hoạt động của một máy,
thu thập và thực hiện phân tích các sự kiện xảy ra trong máy, hoặc dịch vụ
chạy trên máy để phát hiện tấn công, xâm nhập, hoặc các hành vi lạm dụng.
 Ưu điểm của HIDS là có khả năng phát hiện chính xác các xâm nhập và các
hành vi lạm dụng trên từng máy cụ thể do HIDS được cài đặt trên từng máy
để giám sát các sự kiện xảy ra trong hệ thống. Hạn chế của HIDS là phải triển
khai trên từng máy và điều này có thể phát sinh chi phí lớn cho cài đặt và bảo
trì với các hệ thống mạng lớn.
 Cũng như NIDS, các HIDS cũng được phát triển và ứng dụng rộng rãi trên
thực tế. Có thể kể đến các HIDS nổi tiếng như IMB QRadar, Tripwire,
OSSEC, Security Onion và Wazuh.
1.1.2.2. Phân loại theo phương pháp phân tích dữ liệu:
Theo phương pháp phân tích dữ liệu, có 2 kỹ thuật phát hiện được sử dụng,
bao gồm: Phát hiện xâm nhập dựa trên chữ ký, dấu hiệu, hoặc phát hiện sự lạm dụng
(Signature-based / misuse intrusion detection) và phát hiện xâm nhập dựa trên bất
thường (Anomaly intrusion detection). Chi tiết hai kỹ thuật này sẽ được nói rõ tại
phần sau.
9
1.2. Kỹ thuật phát hiện xâm nhập
Bản chất của kỹ thuật phát hiện xâm nhập là việc giám sát thu thập và phân
tích dữ liệu nhằm phát hiện các dấu hiệu xuất hiện tấn công, xâm nhập. Để có thể
nhận dạng được các hành vi tấn công, xâm nhập, trước hết cần xây dựng cơ sở dữ
liệu các dấu hiệu, hoặc chữ ký của các tấn công, xâm nhập đã biết, hoặc xây dựng hồ
sơ mô tả tập các hành vi bình thường của đối tượng cần giám sát.
1.2.1. Phát hiện xâm nhập dựa trên chữ ký
Phát hiện xâm nhập dựa trên chữ ký trước hết cần xây dựng cơ sở dữ liệu các
chữ ký, hoặc các dấu hiệu của các loại tấn công, xâm nhập đã biết. Hầu hết các chữ
ký, dấu hiệu được nhận dạng và mã hóa thủ công và dạng biểu diễn thường gặp là các
luật phát hiện. Bước tiếp theo là sử dụng cơ sở dữ liệu các chữ ký để giám sát các
hành vi của hệ thống, hoặc mạng, và cảnh báo nếu phát hiện dấu hiệu, chữ ký của tấn
công, xâm nhập. Hình dưới biểu diễn lưu đồ giám sát phát hiện tấn công, xâm nhập
dựa trên chữ ký điển hình, trong đó CSDL chữ ký là cơ sở dữ liệu lưu các dấu hiệu,
chữ ký của các tấn công, xâm nhập đã biết.
Hình 2. Lưu đồ giám sát phát hiện tấn công, xâm nhập dựa trên chữ ký
Ưu điểm lớn nhất của phát hiện xâm nhập dựa trên chữ ký là có khả năng phát
hiện các tấn công, xâm nhập đã biết một cách hiệu quả. Ngoài ra, phương pháp này
cho tốc độ xử lý cao, đồng thời yêu cầu tài nguyên tính toán tương đối thấp. Nhờ vậy,
các hệ thống phát hiện xâm nhập dựa trên chữ ký đã và đang được ứng dụng rộng rãi
trong thực tế. Tuy nhiên, nhược điểm chính của phương pháp này là không có khả
năng phát hiện các tấn công, xâm nhập mới, hoặc các biến thể của xâm nhập đã biết,
do chữ ký của chúng chưa tồn tại trong cơ sở dữ liệu chữ ký. Hơn nữa, phương pháp
này cũng đòi hỏi nhiều công sức chuyên gia cho xây dựng và cập nhật cơ sở dữ liệu
chữ ký, dấu hiệu của các tấn công, xâm nhập.
1.2.2. Phát hiện xâm nhập dựa trên bất thường
10
Phát hiện xâm nhập dựa trên bất thường dựa trên giả thiết: các hành vi tấn
công, xâm nhập thường có quan hệ chặt chẽ với các hành vi bất thường. Quá trình
xây dựng và triển khai một hệ thống phát hiện xâm nhập dựa trên bất thường thường
gồm 2 giai đoạn: (1) huấn luyện và (2) phát hiện. Trong giai đoạn huấn luyện, hồ sơ
của đối tượng cần giám sát trong chế độ làm việc bình thường được xây dựng. Để
thực hiện giai đoạn huấn luyện, cần giám sát đối tượng trong một khoảng thời gian
đủ dài để thu thập được đầy đủ dữ liệu mô tả các hành vi của đối tượng trong điều
kiện bình thường làm dữ liệu huấn luyện.Tiếp theo, thực hiện huấn luyện dữ liệu để
xây dựng mô hình phát hiện, hay hồ sơ của đối tượng. Trong giai đoạn phát hiện, thực
hiện giám sát hành vi hiện tại của đối tượng và cảnh báo nếu có khác biệt rõ nét giữa
hành vi hiện tại và các hành vi lưu trong hồ sơ của đối tượng.
Có nhiều kỹ thuật xử lý, phân tích dữ liệu cho xây dựng hồ sơ của đối tượng
cần giám sát đã được nghiên cứu, đề xuất cho phát hiện xâm nhập dựa trên bất thường.
Mục tiêu của các kỹ thuật xử lý, phân tích dữ liệu là có thể xây dựng hồ sơ phát hiện
tự động từ dữ liệu huấn luyện, cải thiện được hiệu quả phát hiện, bao gồm tăng tỷ lệ
phát hiện đúng, giảm tỷ lệ phát hiện sai và giảm yêu cầu sử dụng tài nguyên tính toán.
Một số kỹ thuật xử lý, phân tích dữ liệu cho phát hiện xâm nhập dựa trên bất thường
có thể kể đến bao gồm: phân tích thống kê, khai phá dữ liệu, học máy và phân tích
tương quan.
Hình dưới biểu diễn giá trị entropy IP nguồn (IP entropy) của các gói tin theo
cửa sổ trượt từ lưu lượng bình thường và entropy IP nguồn của các gói tin từ lưu
lượng tấn công DDoS theo quan sát thực nghiệm và dựa trên kỹ thuật phân tích thống
kê. Có thể thấy sự khác biệt rõ nét giữa giá trị IP entropy của lưu lượng bình thường
và lưu lượng tấn công và như vậy nếu một ngưỡng entropy được chọn phù hợp ta
hoàn toàn có thể phát hiện sự xuất hiện của cuộc tấn công DDoS dựa trên sự thay đổi
đột biến của giá trị entropy.
Hình 3. Giá trị emtropy của IP nguồn của các gói tin lưu lượng hợp pháp (Phần giá
trị cao, đều) và entropy của IP nguồn của các gói tin từ lưu lượng tấn công DDoS (phần
giá trị thấp)
Ưu điểm của phát hiện xâm nhập dựa trên bất thường là có tiềm năng phát
hiện các loại tấn công, xâm nhập mới mà không yêu cầu biết trước thông tin về chúng.
Tuy nhiên, phương pháp này thường có tỷ lệ cảnh báo sai tương đối cao so với phát
11
hiện dựa trên chữ ký do một số hành vi xâm nhập không tại ra bất thường và ngược
lại một hành vi bất thường nhưng không phải là xâm nhập. Điều này làm giảm khả
năng ứng dụng thực tế của phát hiện xâm nhập dựa trên bất thường. Ngoài ra, phương
pháp này cũng tiêu tốn nhiều tài nguyên hệ thống cho việc xây dựng hồ sơ đối tượng
và phân tích hành vi hiện tại. Mặc dù vậy, đây vẫn là một hướng nghiên cứu phát hiện
xâm nhập đang rất được quan tâm nhằm cải thiện tỷ lệ phát hiện, giảm tỷ lệ cảnh báo
sai và giảm yêu cầu sử dụng tài nguyên tính toán, lưu trữ.
2. Giới thiệu về WAZUH
2.1. Định nghĩa
Wazuh là hệ thống phát hiện xâm nhập máy (HIDS) dùng cho việc bảo vệ an
ninh, phát hiện mối đe doa, giám sát toàn vẹn và ứng phó sự cố. Wazuh là 1 project
mã nguồn mở, được xây dựng từ các thành phần : OSSEC HIDS, OpenSCAP và
Elastic Stack.
Hình 4. Các thành phần của Wazuh
● OSSEC HIDS : host-based Intrusion Detection System (HIDS) được dùng cho
việc phát hiện xâm nhập, hiển thị và giám sát. Nó dựa vào 1 multi-platform
agent cho việc đẩy dữ liệu hệ thống (log message, file hash và phát hiện bất
thường) tới 1 máy quản lý trung tâm, nơi sẽ phân tích và xử lý, dựa trên các
cảnh báo an ninh. Các agent truyền event data event data tới máy quản lý trung
tâm thông qua kênh được bảo mật và xác thực.
● OpenSCAP được dùng để kiểm tra cấu hình hệ thống và phát hiện các ứng
dụng dễ bị tấn công. Nó được biết đến như là một công cụ được thiết kế để
kiểm tra việc tuân thủ an ninh của hệ thống sử dụng các tiêu chuẩn an ninh
dùng cho môi trường doanh nghiệp
12
● ELK Stack Sử dụng cho việc thu thập, phân tích, index, store, search và hiển
thị dữ liệu log.
2.2. Các thành phần
2.2.1. Wazuh agent
Chạy trên : Windows, Linux, Solaris, BSD hoặc MAC OS. Dùng thu thập các
dạng khác nhau của dữ liệu hệ thống và ứng dụng. Dữ liệu được chuyển tới Wazuh
server thông qua 1 kênh được mã hóa và xác thực. Để thiết lập kênh này, 1 quá trình
đăng ký bao gồm pre-shared key duy nhất được thiết lập.
Các agent có thể dùng để giám sát server vật lý, máy ảo, cloud instance (AWS,
Azure hoặc Google cloud). Các các cài đặt pre-compile agent có sẵn cho các OS :
Linux, AIX, Solaris, Windows và Darwin (Mac OS X).
Trên các OS Unix-based, agent chạy trên multiple process, các process này
liên lạc với nhau thông qua local Unix domain socket. 1 trong các process này phụ
trách việc liên lạc và gửi dữ liệu tới Wazuh server. Trên Windows, chỉ có 1 agent
process chạy trên multiple task sử dụng mutexes.
Các agent task hoặc process khác nhau được dùng để giám sát hệ thống theo
các cách khác nhau (giám sát sự thay đổi về file, đọc log, quét các thay đổi hệ thống).
Sơ đồ sau thể hiện các internal task và process diễn ra trên các agent level.
13
Hình 5. Agent trong Wazuh
Tất cả các process agent có mục tiêu và thiết lập khác nhau.
● Rootcheck: Thực hiện các task liên quan đến phát hiện về Rootkits, malware
và các bất thường của hệ thống. Nó chạy 1 số công cụ kiểm tra an ninh cơ bản
dựa vào các file cấu hình hệ thống.
● Log Collector: Dùng để đọc và thu thập các log message, bao gồm các các
file như Windows event log. Nó cũng được cấu hình để chạy định kỳ và bắt 1
số output của các câu lệnh cụ thể.
● Syscheck: Process này thực hiện file integrity monitoring (FIM) (Giám sát
tính toàn vẹn của file). Nó cũng có thể giám sát registry key trên Windows.
Nó sẽ bắt các thay đổi về nội dung file, quyền và các thuộc tính khác, cũng
như phát hiện việc tạo và xóa file.
14
● OpenSCAP: dựa vào các hồ sơ bảo mật cơ bản, định kỳ quét hệ thống, nó sẽ
phát hiện được các ứng dụng và cấu hình sẽ bị tấn công, không tuân theo các
chuẩn được xác định theo CIS (Center of Internet Security)
● Agent Daemon: Process nhận dữ liệu được tạo hoặc được thu thập bởi tất cả
các thành phần agent khác. Nó nén, mã hóa và phân phối dữ liệu tới server
thông qua kênh được xác thực. Process này chạy trên "chroot" environment
được cô lập, có nghĩa rằng nó sẽ hạn chế truy cập tới các hệ thống được giám
sát. Điều này cải thiện được an toàn cho agent vì process đó là process duy
nhất kết nối tới mạng.
2.2.2. Wazuh server
Thành phần server phụ trách việc phân tích dữ liệu nhận từ agent, tạo các
ngưỡng cảnh báo khi 1 event ánh xạ với rule (phát hiện xâm nhập, thay đổi file, cấu
hình không tương thích với policy, rootkit...)
Hình 6. Server trong Wazuh
Server thông thường chạy các thành phần agent với mục tiêu giám sát chính nó. Một
số thành phần server chính là :
15
● Registration service: Được dùng để register agent mới được việc cung cấp
và phân phối các key xác thực pre-shared, các key này là độc nhất với mỗi
agent. Process này chạy như 1 network service và hỗ trợ việc xác thực qua
TLS/SSL
● Remote daemon service: Service này nhận dữ liệu từ agent. Nó sử dụng pre-
shared key để xác thực định danh của mỗi agent và mã hóa giao tiếp với chúng.
● Analysis daemon: Process này thực hiện việc phân tích dữ liệu. Nó sử dụng
các bộ giải mã để nhận dạng thông tin được xử lý (các Windows event, SSHD
logs...) và sau đó giải nén các yếu tố dữ liệu thích hợp từ log message (source
ip, event id, user...) Sau đó, bằng cách sử dụng các rule được định nghĩa bằng
các mẫu đặc biệt trên bộ giải mã, nó sẽ tạo các cảnh báo thậm chí ra lệnh để
thực hiện các biện pháp đối phó như chặn IP trên firewall.
● RESTful API: Cung cấp interface để quản lý và giám sát cấ hình và trạng thái
triển khai của các agent. Nó cũng được dùng bởi Wazuh web interface
(Kibana)
2.2.3. ELK STACK
Elastic Stack là một bộ gồm các công cụ mã nguồn mở phục vụ cho mục đích
quản lý log, bao gồm Elasticsearch, Kibana, Filebeat, Logstash,.... Các công cụ của
Elastic stack được sử dụng trong Wazuh gồm:
•
•
•
Elasticsearch: Một công cụ tìm kiếm và phân tích mạnh mẽ với chức năng
full-text search cũng như khả năng mở rộng cao. Elasticsearch được tổ
chức phân phối, nghĩa là dữ liệu (index) sẽ được chia thành các phân đoạn
cơ sở dữ liệu (shard) và mỗi phân đoạn có thể có 0 hoặc nhiều bản sao.
Kibana: Cung cấp một giao diện web linh hoạt và trực quan cho mining,
phân tích, và trình bày dữ liệu..
Filebeat: Một công cụ gọn nhẹ để forward log trong mạng, thường được
sử dụng cho Elasticsearch.
Wazuh tích hợp Elastic Stack để lưu trữ và index các log đã được giải mã với
Elasticsearch, và sử dụng như một giao diện console real-time để theo dõi các alert
và phân tích log. Bên cạnh đó, giao diện người dùng của Wazuh (chạy trên Kibana)
cũng có thể được sử dụng để quản lý và giám sát hạ tầng của Wazuh.
Một Elasticsearch index là một tập hợp các văn bản có các đặc trưng tương tự.
Wazuh sử dụng 3 index sau:
• wazuh-alerts: các alert được tạo bởi Wazuh server.
• wazuh-events: mọi event được gửi đến từ agent.
16
• wazuh-monitoring: các dữ liệu liên quan đến trạng thái của agent. Nó được
sử dụng cho giao diện web của Wazuh để hiển thị các trạng thái của agent như:
“Active”, “Disconnected” hay “Never connected”
Với các index trên, document là các cảnh báo, archived event hoặc status event
riêng lẻ.
Các index của Elasticsearch có thể được chia thành nhiều phân đoạn (shard)
và nhân thành các bản sao. Mỗi thực thể này là một Lucene index. Vì vậy, có thể coi
một Elasticsearch index là một tập các Lucene index. Khi một yêu cầu tìm kiếm được
thực hiện trên một Elasticsearch index, yêu cầu này sẽ được thực thi song song trên
các phân đoạn của index và kết quả sau đó sẽ được được trộn lại với nhau. Việc chia
nhỏ các index của Elasticsearch được sử dụng trong multiple-node Elasticsearch
cluster với mục đích mở rộng tìm kiếm để đảm bảo tính sẵn sàng. Đối với các singlenode Elasticsearch cluster thì thường mỗi index sẽ chỉ tồn tại một phân đoạn duy nhất
và không có bản sao.
2.3. Kiến trúc của Wazuh
Mô hình kiến trúc của Wazuh được chia thành 2 dạng :
● Multi-node deployment
● Single node deployment
Multi-node deployment
Khi Wazuh server và Elasticsearch cluster chạy trên các host khác nhau, Filebeat
được dùng để truyền một cách an toàn các cảnh báo, archived event tới Elasticsearch
server sử dụng TLS.
Hình 7. Multi-node deployment
Single-node deployment
17
Wazuh và Elastic stack chạy với 1 single-node Elasticsearch cluster (số lượng agent
< 50), có thể triển khai trên một single server. Ở triển khai này, Logstash sẽ đọc các
cảnh báo, event từ Wazuh trực tiếp từ local file system và đẩy chúng tới local
Elasticsearch instance.
Hình 8. Single-node deployment
2.3.1 Phương thức liên lạc và luồng dữ liệu
Hình 9. Phương thức hoạt động của luồng dữ liệu
2.3.2 Agent-server communication
Wazuh agent sử dụng OSSEC message protocol để gửi các event thu thập được
tới Wazuh server thông qua port 1514 (UDP hoặc TCP). Wazuh server giải mã và
thực hiện rule-check với các event nhận được với công cụ phân tích. Các event ứng
với các rule được bổ sung dữ liệu cảnh báo như rule-id và rule-name. Các event có
thể được đẩy tới 1 hoặc cả 2 file sau, dựa vào việc có được event có tương ứng với
rule hay không:
● File /var/ossec/logs/archives/archives.json chứa tất cả các event dù có tương
ứng với rule hay không.
18
● File /var/ossec/logs/alerts/alerts.json chỉ chứa các event tương ứng với rule đã
đặt ra.
OSSEC message protocol dùng mã hóa Blowfish với full 16-round.
2.3.3 Wazuh-elastic communication
Trên mô hình triển khai diện rộng, Wazuh server sử dụng Filebeat để chuyển
dữ liệu về cảnh báo và event tới Logstash (5000/TCP) trên Elastic Stack server, sử
dụng TLS. Với kiến trúc single-host, Logstash đọc trực tiếp từ local file system mà
không cần dùng Filebeat.
Logstash định hình incoming data, và có thể là GeoIP, trước gửi tới
Elasticsearch (port 9200/TCP). Một khi dữ liệu được index tới Elasticsearch, Kibana
(port 5601/TCP) được dùng để khai thác và hiển thị thông tin.
Wazuh App chạy bên trong Kibana liên tục truy vấn tới RESTful API (port
55000/TCP trên Wazuh manager) để hiển thị cấu hình và thông tin trạng thái liên
quan của server và agent, cũng như restart agent theo yêu cầu. Liên lạc này được mã
hóa với TLS và được xác thực với username và password.
2.3.4 Lưu trữ dữ liệu
Các event về alert và non-alert được lưu trữ cùng nhau trong file trên Wazuh
server và sau để gửi tới Elasticsearch. Các file này được viết với dạng JSON hoặc với
plain text format. Các file này được nén hàng ngày và được đánh dấu với MD5 và
SHA1 checksums. Cấu trúc thư mục và tên file như sau :
root@wazuh-server:/var/ossec/logs/archives/2017/Jan# ls -l
total 176
-rw-r----- 1 ossec ossec 234350 Jan 2 00:00 ossec-archive-01.json.gz
-rw-r----- 1 ossec ossec
350 Jan 2 00:00 ossec-archive-01.json.sum
-rw-r----- 1 ossec ossec 176221 Jan 2 00:00 ossec-archive-01.log.gz
-rw-r----- 1 ossec ossec
346 Jan 2 00:00 ossec-archive-01.log.sum
-rw-r----- 1 ossec ossec 224320 Jan 2 00:00 ossec-archive-02.json.gz
-rw-r----- 1 ossec ossec
350 Jan 2 00:00 ossec-archive-02.json.sum
-rw-r----- 1 ossec ossec 151642 Jan 2 00:00 ossec-archive-02.log.gz
-rw-r----- 1 ossec ossec
346 Jan 2 00:00 ossec-archive-02.log.sum
-rw-r----- 1 ossec ossec 315251 Jan 2 00:00 ossec-archive-03.json.gz
-rw-r----- 1 ossec ossec
350 Jan 2 00:00 ossec-archive-03.json.sum
-rw-r----- 1 ossec ossec 156296 Jan 2 00:00 ossec-archive-03.log.gz
19
-rw-r----- 1 ossec ossec
346 Jan 2 00:00 ossec-archive-03.log.sum
Việc Rotation và backup các file nén được khuyến khích, tùy theo khả năng
lưu trữ của Wazuh Manager server. Sử dụng cron job để rà soát các file nén.
Ngoài ra, bạn có thể lựa chọn việc bỏ qua việc lưu trữ các file nén, và sử dụng
Elasticsearch cho các tài liệu lưu trữ, đặc biệt nếu bạn chạy Elasticsearch snapshot
backup hoặc multi-node Elasticsearch cluster cho shard replica. Bạn có thể sử dụng
cron job để di chuyển các index đã được snapshot tới một server lưu trữ và đánh dấu
chúng với MD5 và SHA1.
2.4. Rules trong Wazuh
Luật (rules) là một phần vô cùng quan trọng trong hệ thống Wazuh, nó chính
là cốt lõi trong việc đảm bảo hệ thống Wazuh 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 Wazuh
server /var/ossec/etc/ossec.conf và nằm trong thẻ. Rules được lưu trong
/var/ossec/rules.
2.4.1 Cấu trúc Rules
Hình 10. Cấu trúc Rules
2.4.2 Thuộc tính của rules
20
 Id: bắt buộc có ( mỗi rules sẽ có 1 id riêng k trùng lặp là các số từ 100-99999,
khi tạo mới thì thường từ trên 100000)
 Level: bắt buộc có 16 level từ 0-15
Level
Name
Chú thích
00
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 quét 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. 252
01
None
(không).
02
System
low
priority
notificatio
n (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.
03
Successful/ Bao gồm các lần đăng nhập thành công, tường lửa cho phép sự
Authorized
kiện, v.v
events (sự
kiện thành
công/được
ủy quyền):
04
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.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.
05
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
21
06
Low
Chỉ ra một con sâu hoặc virus không ảnh hưởng đến hệ thống
relevance (như mã màu đỏ cho các máy chủ apache, vv). Chúng cũng bao
attack (tấn
gồm các sự kiện IDS thường xuyên và các lỗi thường xuyên
công mức
độ liên
quan thấp):
07
“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.
08
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 bạn 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)
09
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).
10
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 quên thông tin đăng
nhập của mình.
11
Integrity
checking
warning
(cảnh báo
kiểm tra
tính toà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 bạn chỉ cần sửa đổi cấu hình hệ thống của bạn, bạn 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).
12
High
Chúng bao gồm các thông báo lỗi hoặc cảnh báo từ hệ thống,
importancy hạt nhân, v.v. Chúng có thể chỉ ra một cuộc tấn công chống lại
22
event (sự
kiện quan
trọng cao):
một ứng dụng cụ thể.
13
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.
14
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.
15
Severe
attack (tấn
công
nghiêm
trọng):
Cần chú ý ngay lập tức.
Bảng 1. Các mức level của rules trong wazuh
 Noalert : không bắt buộc : không kích hoạt cảnh báo nếu rules hợp lệ.
 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.(từ 1- 99999)
 Timeframe: khung thời gian tính bằng giây, được sử dụng để kết hợp với
frequency.(1-99999)
 Ignore: thời gian (s) bỏ qua rule này. ( 1-99999)
 Overwrite: Cho phép chỉnh sửa rule ( overwrite= "yes or no")
Ví dụ: Rule được tạo bằng ID: 3151 và nó sẽ kích hoạt cảnh báo cấp 10 nếu Rule
3102 khớp 8 lần trong 120 giây qua.
23
2.4.3 Phân loại rules
Trong Wazuh, luật được chia thành 2 loại: Luật nguyên tố và luật kết hợp:
 Luật nguyên tố - các luật xử lý 1 sự kiện: cảnh báo, thông báo hay hành
động ứng phó sẽ xuất hiện khi có 1 sự kiện thỏa mãn.
Ví dụ: Bao nhiêu lần đăng nhập thất bại sẽ xuất hiện bấy nhiêu lần thông báo.
 Luật kết hợp – xử lý nhiều sự kiện một lúc trong 1 luật: Có thể sử dụng với
thẻ Frequency và Timeframe để xử lý một xự kiện được diễn ra nhiều lần. Các
luật được kết hợp với nhau thông qua id, sử dụng thẻ<if_sid> hoặc (
<if_match_sid>hoặc <same_id> hoặc<same_source_ip> - các thẻ này được
kết hợp với Frequency và Timeframe).
2.4.4 Cách thức hoạt động của rules
Từ cấu trúc thư mục của Rule sẽ bao gồm Decoders và rule:
2.4.4.1 Một số cú pháp của decode
Bảng 2. Một số cú pháp decode
Ví dụ:
24
2.4.4.2.Một số cú pháp của rule
Bảng 3. Một số cú pháp của rules
<rule> .. </rule>. : là nhãn bắt đầu khối xác định quy tắc . Trong phần này, các tùy
chọn khác nhau cho nhãn này sẽ được giải thích ở bảng bên dưới.
2.5. Các chức năng tiêu biểu của Wazuh
2.5.1.Phân tích bảo mật
Wazuh tự động thu thập và tổng hợp dữ liệu bảo mật từ các hệ thống chạy
Linux, Windows, macOS, Solaris, AIX và các hệ điều hành khác trong miền được
giám sát đem đến một giải pháp SIEM rất toàn diện.
25
Hình 11. Phân tích bảo mật trong Wazuh
Nhưng quan trọng hơn, Wazuh cũng phân tích và đối chiếu dữ liệu để phát
hiện các điểm bất thường và những sự cố xâm nhập trái phép, có khả năng phát hiện
các mối đe dọa sớm trong nhiều môi trường khác nhau.
Ví dụ, Wazuh có thể được sử dụng trong văn phòng, cũng như trong môi
trường đám mây để những người làm việc từ xa vẫn có thể thu được những lợi ích
của Wazuh. Cải thiện bảo mật kỹ thuật số sẽ không chỉ giới hạn trong cài đặt thực tế.
2.5.2.Phát hiện xâm nhập
Phần mềm Wazuh có các tác nhân đa nền tảng giám sát hệ thống, phát hiện
các mối đe dọa và kích hoạt các phản ứng tự động khi cần thiết. Cụ thể hơn, Wazuh
tập trung vào rootkit và phần mềm độc hại, cũng như các điểm bất thường đáng ngờ.
Ngoài ra, những tác nhân này có thể phát hiện công nghệ tấn công nguy hiểm
khác như tệp ẩn, quy trình được che giấu và các trình xử lý mạng chưa đăng ký.
26
Hình 12. Phát hiện xâm nhập trong Wazuh
Ngoài các khả năng phát hiện xâm nhập này, máy chủ của Wazuh có cách tiếp
cận dựa trên chữ ký. Chúng phân tích dữ liệu nhật ký được thu thập và có thể xác
định các điểm xâm phạm bằng cách so sánh chúng với các chữ ký đã biết.
Tính năng này ngay lập tức có thể xác định và ngăn chặn nhân viên tải xuống
và cài đặt các ứng dụng độc hại.
Điều này tạo cho nơi làm việc một mạng lưới an toàn. Luôn chú ý , giáo dục
nhân viên về an ninh mạng phải là tuyến phòng thủ đầu tiên.
2.5.3.Phát hiện lỗ hổng
Wazuh cũng có thể xác định những lỗ hổng mạng. Điều này cho phép các
doanh nghiệp tìm ra các liên kết yếu nhất của họ và bịt các lỗ hổng trước khi tội phạm
mạng có thể khai thác chúng .
27
Hình 13. Phát hiện lỗ hổng trong Wazuh
Các đại lý Wazuh sẽ lấy dữ liệu kiểm kê phần mềm và gửi đến máy chủ của
họ. Ở đây, nó được so sánh với các lỗ hổng bảo mật phổ biến và cơ sở dữ liệu phơi
nhiễm (CVE) được cập nhật liên tục. Do đó, những tác nhân này sẽ tìm và xác định
bất kỳ phần mềm nào dễ bị tấn công.
Trong nhiều trường hợp, phần mềm chống vi-rút có thể xử lý các lỗ hổng này.
Các chương trình này thường xuyên phát hành các bản vá bảo mật.
Nhưng trong một số trường hợp hiếm hoi, các nhà phát triển chống vi-rút sẽ
không tìm thấy lỗ hổng bảo mật kịp thời. Hoặc họ có thể không tìm thấy chúng, điều
này có thể khiến doanh nghiệp bị lộ. Có Wazuh có nghĩa là các doanh nghiệp có thêm
một bộ mắt để đảm bảo an ninh mạng của họ được kín đáo.
2.5.4.Phân tích log
Wazuh không chỉ thu thập dữ liệu mạng và nhật ký ứng dụng mà còn gửi
chúng một cách an toàn đến người quản lý trung tâm để phân tích và lưu trữ dựa trên
quy tắc.
Việc phân tích dữ liệu nhật ký này dựa trên hơn 3000 quy tắc khác nhau để
xác định bất kỳ điều gì sai sót, cho dù đó là tác động từ bên ngoài hay lỗi của người
dùng. Ví dụ: các quy tắc được áp dụng có thể phát hiện lỗi ứng dụng hoặc hệ thống,
vi phạm chính sách, cấu hình sai, cũng như hoạt động độc hại đã cố gắng hoặc thành
công.
28
Hình 14. Phân tích log trong Wazuh
Ngoài ra, phân tích dữ liệu nhật ký có thể xác định cả hoạt động độc hại đã cố
gắng và thành công. Phát hiện sớm là chìa khóa để giữ an toàn cho mạng.
Doanh nghiệp có thể học hỏi từ các hoạt động độc hại đã cố gắng và nâng cấp
an ninh mạng của họ cho phù hợp.
Và đối với các hoạt động độc hại thành công, hệ thống có thể nhanh chóng
cách ly các tệp bị nhiễm. Hoặc họ có thể xóa chúng trước khi chúng có thể gây ra
nhiều thiệt hại hơn.
Một điều khác mà phân tích dữ liệu nhật ký có thể cho thấy là vi phạm chính
sách. Cho dù là cố ý hay vô ý, những vi phạm này đều có thể bị ban giám đốc chú ý.
Sau đó, họ có thể nhanh chóng hành động để khắc phục tình hình
29
III. NỘI DUNG THỰC HIỆN DEMO
1. Chuẩn bị môi trường
Chuẩn bị một máy centos 7 cài đặt wazuh-server và ELK, 2 máy windows 7,
windows 11, 1 máy Ubuntu server cài đặt wazuh-agent, 1 máy kali-linux để thực
hiện tấn công.
1.1. Yêu cầu cài đặt
Nhu cầu giám sát an ninh và thu thập log tập trung cho hệ thống từ 15-20
server. Vì vậy chọn mô hình Single-node deployment
Hình 15. Cài đặt Wazuh server
30
Yêu cầu về cấu hình máy giám sát
Agents
CPU
RAM
Storage(90days)
1–25
4 vCPU
8 GiB
50 GB
25–50
8 vCPU
8 GiB
100 GB
50–100
8 vCPU
8 GiB
200 GB
Bảng 4. Yêu cầu cấu hình máy wazuh-server
1.2.Cài đặt elasticsearch
 Import the GPG key:
o rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
 Thêm repo
o cat > /etc/yum.repos.d/elastic.repo << EOF
o [elasticsearch-7.x]
o name=Elasticsearch repository for 7.x packages
o baseurl=https://artifacts.elastic.co/packages/7.x/yum
o gpgcheck=1
o gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
o enabled=1
o autorefresh=1
o type=rpm-md
o EOF
 Cài đặt elasticsearch
o yum install elasticsearch-7.17.5
 Download file configuration theo hướng dẫn sau:
o curl
-so
/etc/elasticsearch/elasticsearch.yml
https://packages.wazuh.com/4.3/tpl/elasticbasic/elasticsearch_all_in_one.yml
 Download configuration file để tạo certificates
o curl
-so
/usr/share/elasticsearch/instances.yml
https://packages.wazuh.com/4.3/tpl/elastic-basic/instances_aio.yml
 Tạo certificates
o /usr/share/elasticsearch/bin/elasticsearch-certutil cert ca --pem --in
instances.yml --keep-ca-key --out ~/certs.zip
31
 Giải nén file .zip
o unzip ~/certs.zip -d ~/certs
 Tạo thư mục /etc/elasticsearch/certs, chuyển file CA, certificate và key
o
o
o
o
o
mkdir /etc/elasticsearch/certs/ca -p
cp -R ~/certs/ca/ ~/certs/elasticsearch/* /etc/elasticsearch/certs/
chown -R elasticsearch: /etc/elasticsearch/certs
chmod -R 500 /etc/elasticsearch/certs
chmod
400
/etc/elasticsearch/certs/ca/ca.*
/etc/elasticsearch/certs/elasticsearch.*
o rm -rf ~/certs/ ~/certs.zip
 Bật và khởi tạo dịch vụ Elasticsearch
o systemctl daemon-reload
o systemctl enable elasticsearch
o systemctl start elasticsearch
 Sinh key tự động
o /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto
1.3.Cài đặt wazuh manger
 Install java 8
o yum install java-1.8.0-openjdk -y
 Import the GPG key:
o rpm --import https://packages.wazuh.com/key/GPG-KEY-WAZUH
 Thêm repo :
o cat > /etc/yum.repos.d/wazuh.repo << EOF
o [wazuh]
o gpgcheck=1
o gpgkey=https://packages.wazuh.com/key/GPG-KEY-WAZUH
o enabled=1
o name=EL-\$releasever - Wazuh
o baseurl=https://packages.wazuh.com/4.x/yum/
o protect=1
o EOF
 Cài đặt wazuh-manger
o yum install wazuh-manager -y
 Bật wazuh-manger và bật dịch vụ khi khởi chạy
32
o systemctl daemon-reload
o systemctl enable wazuh-manager
o systemctl start wazuh-manager
 Kiểm tra trạng thái wazuh-manger
systemctl status wazuh-manager
1.4.Cài đặt filebeat
 Cài đặt filebeat
o yum install filebeat-7.17.5
 Download filebeat config để chuyển cảnh báo từ Wazuh sang Elasticsearch
o curl
-so
/etc/filebeat/filebeat.yml
https://packages.wazuh.com/4.3/tpl/elastic-basic/filebeat_all_in_one.yml
 Download alert templates cho Elasticsearch
o Curl-so/etc/filebeat/wazuh-template.json
https://raw.githubusercontent.com/wazuh/wazuh/4.3/extensions/elasticsea
rch/7.x/wazuh-template.json
o chmod go+r /etc/filebeat/wazuh-template.json
 Download wazuh module cho Filebeat
o curl -s https://packages.wazuh.com/4.x/filebeat/wazuh-filebeat-0.2.tar.gz |
tar -xvz -C /usr/share/filebeat/module
 Thự hiện thêm mật khẩu của elastic vừa mới tạo bên trên trong file
/etc/filebeat/filebeat.yml theo dòng sau:
o output.elasticsearch.password: <elasticsearch_password>
 Copy certificates vào file /etc/filebeat/certs/
o cp -r /etc/elasticsearch/certs/ca/ /etc/filebeat/certs/
o cp /etc/elasticsearch/certs/elasticsearch.crt /etc/filebeat/certs/filebeat.crt
o cp /etc/elasticsearch/certs/elasticsearch.key /etc/filebeat/certs/filebeat.key
 Bật và khởi động filebeat tự động
o systemctl daemon-reload
o systemctl enable filebeat
o systemctl start filebeat
 Kiểm tra filebeat đã hoạt động chưa
o filebeat test output
1.5.Cài đặt kibana và cấu hình
 Cài đặt kibana
o yum install kibana-7.17.5
33
 Copy Elasticsearch certificates vào Kibana configuration folder:
o mkdir /etc/kibana/certs/ca -p
o cp -R /etc/elasticsearch/certs/ca/ /etc/kibana/certs/
o cp /etc/elasticsearch/certs/elasticsearch.key /etc/kibana/certs/kibana.key
o cp /etc/elasticsearch/certs/elasticsearch.crt /etc/kibana/certs/kibana.crt
o chown -R kibana:kibana /etc/kibana/
o chmod -R 500 /etc/kibana/certs
o chmod 440 /etc/kibana/certs/ca/ca.* /etc/kibana/certs/kibana.*
 Download file cấu hình kibana
o curl
-so
/etc/kibana/kibana.yml
https://packages.wazuh.com/4.3/tpl/elastic-basic/kibana_all_in_one.yml
o Cấu hình file /etc/kibana/kibana.yml bằng mật khẩu tạo bên trên
 elasticsearch.password: <elasticsearch_password>
 Tạo thư mục /usr/share/kibana/data
o mkdir /usr/share/kibana/data
o chown -R kibana:kibana /usr/share/kibana
 Cài Wazuh Kibana plugin
o cd /usr/share/kibana
o sudo
-u
kibana
/usr/share/kibana/bin/kibana-plugin
install
https://packages.wazuh.com/4.x/ui/kibana/wazuh_kibana-4.3.8_7.17.51.zip
 Link Kibana với port 443
o setcap 'cap_net_bind_service=+ep' /usr/share/kibana/node/bin/node
 Bật và khởi tạo kibana
o systemctl daemon-reload
o systemctl enable kibana
o systemctl start kibana
 Tắt cập nhật wazuh và elasticsearch
o sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/wazuh.repo
o sed -i "s/^enabled=1/enabled=0/" /etc/yum.repos.d/elastic.repo
1.6. Cài đặt wazuh agent trên window
 Mở giao diện kibana vào phần agent
34
Hình 16. Thêm agent trong kibana
 Chọn phần deploy new agent
Hình 17. Các agent đã được thêm vào wazuh-server
 Chọn phần window, nhập ip server và group
35
Hình 18. Các bước thêm agent
 Copy command vào powershell với quyền administrator trên máy client và khởi
chạy agent
Hình 19. Cài đặt Wazuh agent
36
1.7. Cài đặt agent trên Ubuntu server
-
Trên wazuh Manager thực hiện chọn Deploy new agent
Hình 20: Deploy a new Linux system agent
-
Tiến hành chạy các câu lệnh để cài đặt agent:
Hình 21: Command để đăng kí agent trên Ubunt server
-
Cài đặt thêm agent thành công:
37
Hình 22: Cài đặt thành công agent Ubuntu Server
2. Demo
2.1. Brute force:
2.1.1. Môi trường thực hiện
-
-
Chuẩn bị 3 máy Centos 7, Windows 7 và Kali Linux trong cùng 1 mạng
LAN.
o Máy Centos 7 dùng làm Wazuh Server
o Máy Windows 7 là Wazuh Agent để thử nghiệm tấn công Brute force
o Máy Kali Linux để thực hiện tấn công Brute force
Kịch bản: Sử dụng máy kali-linux thực hiện tấn công brute force vào máy
windows 7 có cài đặt wazuh agent. Sau đó tiến hành kiểm tra xem wazuh có
bắt được alert hay không.
2.1.2. Các bước thực hiện
-
Bước 1: Trên kali-linux sử dụng công cụ nmap để tìm kiếm lỗ hổng trong
máy windows 7.
38
Hình 23. Sử dụng nmap thực hiện rà quét lỗ hổng
-
Bước 2: Phát hiện cổng 445 mở, thông qua cổng này, sử dụng công cụ
medusa thực hiện tấn công brute force vào máy windows 7 với file tài khoản,
mật khẩu chuẩn bị trước.
Hình 24. Thực hiện tấn công Brute force
-
Bước 3: Mở wazuh trong kibana kiểm tra xem wazuh có bắt được alert
không.
39
Hình 25. Wazuh nhận được alert Brute force
-
Ta thấy wazuh đã bắt được alert của một cuộc tấn công brute force. Ta thực
hiện xem nội dung cảnh báo.
Hình 26. Nội dung alert Brute force
-
Rules giúp ta bắt được alert của cuộc tấn công brute force này:
40
Hình 27. Rules Brute force
2.1.3. Kết quả mong muốn
-
Phát hiện được cuộc tấn công Brute force và đưa ra được hướng xử lí ngăn
chặn.
2.2. SQL injection:
2.2.1. Chuẩn bị môi trường
-
-
Chuẩn bị 3 máy Centos 7, Windows 11 và Kali Linux trong cùng 1 mạng
LAN.
o Máy Centos 7 dùng làm Wazuh Server
o Máy Windows 11 là Wazuh Agent có cài web server thông qua
xampp dùng để thử nghiệm tấn công SQL injection
o Máy Kali Linux để thực hiện tấn công SQL injection
Kịch bản: Sử dụng máy kali-linux thực hiện tấn công SQL injection vào
web server trong máy windows 11 có cài đặt wazuh agent. Sau đó tiến hành
kiểm tra xem wazuh có bắt được alert hay không.
Hình 28. Web server trên máy windows 11
41
2.2.2. Các bước thực hiện
-
Bước 1: Trên kali-linux sử dụng công cụ sqlmap để thực hiện tấn công SQL
injection vào web server
Hình 29. Câu lệnh tấn công SQL injection
Hình 30. Sử dụng máy kali tấn công SQL injection vào web server
-
Bước 2: Mở wazuh trong kibana kiểm tra xem wazuh có bắt được alert
không.
42
Hình 31. Wazuh nhận được alert SQL injection
-
Ta thấy wazuh đã bắt được alert của một cuộc tấn côngSQL injection. Ta
thực hiện xem nội dung cảnh báo.
Hình 32. Nội dung alert SQL injection
-
Rules giúp ta bắt được alert của cuộc tấn công SQL injection này:
43
Hình 33. Rules SQL injection
2.2.3. Kết quả mong muốn
-
.Phát hiện được cuộc tấn công SQL injection và đưa ra được hướng xử lí
ngăn chặn.
2.3.
Brute force vào cổng dịch vụ SSH
2.3.1. Chuẩn bị môi trường
-
Chuẩn bị 3 máy Centos 7, Ubuntu Server và Kali Linux trong cùng 1 mạng
LAN.
o Máy Centos 7 dùng làm Wazuh Server
o Máy Ubuntu Server là Wazuh Agent để thử nghiệm tấn công vào
cổng SSH
o Máy Kali Linux để thực hiện tấn công
2.3.2. Các bước thực hiện
-
Bước 1: Dùng Nmap quét các cổng trên Ubuntu server:
Hình 34: Quét các cổng trên Ubuntu Server
44
-
Bước 2: Phát hiện cổng 22 đang mở, tiến hành tấn công bằng công cụ Hydra
với tệp Username và Password có sẵn:
Hình 35: Tấn công Brute force vào dịch vụ SSH
-
Khi có quá nhiều lần đăng nhập thất bại, cảnh báo brute force được hiện lên:
Hình 36: Cảnh báo Brute force hiện lên
-
-
Từ đây ta có thể xem được thông tin về lần đăng nhập thất bại và xử lí IP xấu
này:
Nov 13 09:49:13 quansao sshd[10141]: Failed password for invalid user
Administrator from 192.168.43.137 port 56992 ssh2
Rule giúp ta bắt được cuộc tấn công này:
</rule>
<rule id="600204" level="12" frequency="20" timeframe="260" >
<if_matched_sid>5710</if_matched_sid>
45
<same_source_ip />
<description>Brute force user or password</description>
<mitre>
<id>T1110</id>
</mitre>
<options>no_full_log</options>
<group>authentication_failures,pci_dss_10.2.4,pci_dss_10.2.5,pci_dss_11.4,
gdpr_IV_35.7.d,gdpr_IV_32.2,hipaa_164.312.b,nist_800_53_AU.14,nist_800
_53_AC.7,nist_800_53_SI.4,tsc_CC6.1,tsc_CC6.8,tsc_CC7.2,tsc_CC7.3,</gr
oup>
</rule>
-
Với mỗi cảnh báo với ID 5710 được lặp lại 20 lần trong 260 giây và tới cùng
từ một địa chỉ IP, cảnh báo Brute force sẽ được hiện lên với level là 12.
2.3.3. Kết quả mong muốn
-
Phát hiện được cuộc tấn công Brute force và đưa ra được hướng xử lí ngăn
chặn.
2.4.
Phát hiện các file độc xuất hiện trong máy
2.4.1. Môi trường chuẩn bị
-
Chuẩn bị 2 máy Centos 7, Windows 10 trong cùng 1 mạng LAN.
o Máy Centos 7 dùng làm Wazuh Server
o Máy Windows 10 là Wazuh Agent để thử nghiệm phát hiện file độc
hại
46
2.4.2. Các bước thực hiện
-
Bước 1: Cấu hình file ossec.conf trên windows 10 agent, ở đây ta sẽ đặt thư
mục cần theo dõi là C:\Users\Administor\Downloads :
Hình 37: Cấu hình file ossec.conf
-
Bước 2: Tạo rule trên Wazuh:
Hình 38: Custom rule phát hiện file độc hại
-
Với IOC là mã băm của file với giá trị như trên, nếu hệ thống phát hiện có
file nào xuất hiện trong thư mục đã định thì sẽ đưa cảnh báo với level là 10.
Bước 3: Restart Wazuh manager:
Hình 39: Restart Wazuh manager
-
Bước 4: Thử nghiệm tải một file độc hại về máy:
47
Hình 40: Tải file độc hại về máy
-
Wazuh đã phát hiện được và đưa ra cảnh báo:
Hình 41: Cảnh báo phát hiện file độc
2.4.3. Kết quả mong muốn
-
Hệ thống phát hiện được file độc hại được tải xuống và đưa ra cảnh báo cho
người quản trị.
IV. KẾT LUẬN
Wazuh là một dự án nguồn mở được phát triển dựa trên OSSEC, HIDS và được
tích hợp thêm Elastic Stack cùng với OpenSCAP, trở thành một giải pháp an ninh tốt
trong thời điểm các cuộc tấn công, xâm nhập mạng ngày càng nhiều.
Xây dựng hệ thống wazuh bằng docker container dễ dàng. Giao diện kibana,
wazuh thân thiện với người dùng, thuận lợi cho việc quản lý.
48
Khả năng bảo mật hệ thống tốt. Các log system của agent cập nhật thường xuyên,
có thông tin chi tiết kèm mức cảnh báo của các alert khiến việc đánh giá khả năng hệ
thống bị tấn công hay không dễ dàng.
Các rule đã cài sẵn khá đầy đủ để cảnh báo các trường hợp xâm nhập mạng phổ
biến khiến việc tấn công vào rất khó khăn.
4.1.
-
4.2.
-
-
Ưu điểm:
Là mã nguồn mở với cộng đồng phát triển mạnh mẽ.
Triển khai tốt với các mô hình quản lý nhỏ.
Tích hợp giao diện kibana dưới dạng plugin đem đến trải nghiệm tuyệt vời
trong việc cấu hình, quản lý các agent, nhận các alert bảo mật.
Khả năng monitoring đáp ứng được nhu cầu cơ bản, đảm bảo khả năng bảo
mật của container chạy trong agent.
Cung cấp trải nghiệm hệ thống wazuh tốt với virtual machine image (OVA)
được tạo sẵn.
Rule cấu hình sẵn khá đầy đủ, đối phó được với các trường hợp tấn công phổ
biến, cảnh báo tốt về khả năng hệ thống bị tấn công.
Nhược điểm:
Cài đặt phức tạp khi triển khai mô hình quy mô lớn
Triển khai theo mô hình phân tán (Distributed deployment) cung cấp khả
năng mở rộng cao của các dịch vụ nhưng cài đặt khó khăn, thường gặp vấn
đề lỗi liên quan đến version khi cài đặt wazuh server.
Triển khai wazuh bằng ansible dễ bị lỗi về vấn đề remote hosts connection.
Nhận những alert không cần thiết nếu cấu hình rule sai.
Không có biểu đồ tương quan với việc sử dụng tài nguyên của các
containers.
Giao diện hệ thống wazuh kết hợp kibana khởi động chậm.
V. TÀI LIỆU THAM KHẢO
-
-
Index (2022). Available at:
https://documentation.wazuh.com/current/index.html (Accessed: 14
November 2022).
(2022). Available at: http://infosecptit.com/cs-attt/Giaotrinh-cs-attt-2018int1472new.pdf?fbclid=IwAR1qvrKz8_GVB4NWyinwjWeekWUX5InXBSKAuDk
LHGgsd2HMRqeZxK0kYZ8 (Accessed: 14 November 2022).
49
-
-
Detecting a brute-force attack (2022). Available at:
https://documentation.wazuh.com/current/proof-of-concept-guide/detectbrute-force-attack.html (Accessed: 14 November 2022).
(4) Tutorial: Wazuh SIEM - Installation and Configuration (Complete
Steps)- YouTube (2022). Available at:
https://www.youtube.com/watch?v=kd5THDYTarM&t=1206s (Accessed: 14
November 2022).
50
Download