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 (1.72 MB, 35 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<small> </small>
<b>Giảng viên hướng dẫn: ThS. Ninh Thị Thu Trang </b>
<b> HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THÔNG </b>
---
<b>Tên thành viên Công việc </b>
</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">Kính gửi cơ, em xin gửi đến cơ bản báo cáo bài tập lớn về chủ đề "Hệ thống phát hiện tấn công đột nhập Wazuh" mà nhóm em đã hồn thành. Báo cáo này là sản phẩm của sự nỗ lực và cống hiến của các thành viên trong nhóm, trong q trình hợp tác và cùng nhau nghiên cứu chủ đề này.
Nhóm được hình thành trong mơn học an tồn bảo mật hệ thống thông tin , chúng em đã cùng nhau thảo luận, chia sẻ ý tưởng và đề xuất các giải pháp để thực hiện bài tập lớn. Mỗi thành viên trong nhóm đã nỗ lực hết mình để đạt được kết quả tốt nhất. Trong quá trình làm việc, nhóm đã đối mặt rất nhiều khó khăn. Tuy nhiên, nhờ sự kiên nhẫn và tinh thần hợp tác của toàn bộ thành viên, chúng em đã vượt qua được những trở ngại và hoàn thành bài tập. Chúng em đã dành nhiều tuần nghiên cứu, phát triển và thử nghiệm để mang đến một sản phẩm tối ưu và hiệu quả.
Wazuh là lựa chọn lý tưởng cho các tổ chức muốn có một giải pháp SIEM và XDR miễn phí, tiết kiệm chi phí cho phần mềm an ninh mạng. Nền tảng mã nguồn mở này mang đến sự linh hoạt và khả năng tùy chỉnh theo nhu cầu cụ thể, đồng thời được hỗ trợ bởi cộng đồng lớn các nhà phát triển và người dùng. Giao diện đơn giản và dễ sử dụng của Wazuh giúp chúng ta dễ dàng triển khai và quản lý hệ thống bảo mật mạng của mình. Nhóm chúng em hiểu rằng báo cáo này chỉ có ý nghĩa thực sự khi nó được nhận xét và đánh giá bởi cô. Chúng em rất mong muốn nhận được sự phản hồi, nhận xét, và hướng dẫn từ cô để chúng em có thể phát triển và hồn thiện kiến thức của mình.
Chúng em xin chân thành cảm ơn cơ vì sự tận tâm và động viên trong suốt quá trình thực hiện bài tập lớn này. Chúng em hy vọng rằng báo cáo này sẽ mang lại giá trị và hữu ích cho cơ.
Chúng em cảm ơn cơ!
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>2.3. Kiến trúc của WAZUH ... 13 </b>
2.3.1. Giao tiếp Agent – Server ... 14
2.3.2. Giao tiếp Wazuh – Elastic ... 15
2.3.3. Required ports ... 15
2.3.4. Archival data storage ... 16
<b>3.1. Wazuh indexer ... 17 </b>
<b>3.2. Cài đặt Wazuh server ... 20 </b>
<b>3.3. Cài đặt Wazuh dashboard ... 20 </b>
<b>3.4. Cài đặt Wazuh agent ... 23 </b>
<b>4.1 Cấu hình ... 26 </b>
4.1.1 Cấu hình Wazuh Agent ... 26
4.1.2.Cấu hình Wazuh Server ... 26
4.1.3. Cấu hình Wazuh Indexer ... 27
4.1.4. Cấu hình Wazuh Dashboard ... 27
<b>4.2 Tạo luật ... 28 </b>
4.2.1 Cấu trúc cây thư mục tạo luật ... 28
4.2.1. Thêm mới bộ quy tắc và giải mã ... 29
<b>5.1. Tấn công Brute-force ... 32 </b>
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">WAZUH là một dự án mã nguồn mở với các chức năng security detection(phát hiện lỗ hổng bảo mật),visibility(tăng cường khả năng quan sát), và compliance monitoring(giám sát tuân thủ các quy định và tiêu chuẩn an ninh thông tin). Wazuh ban đầu được phát triển dựa trên OSSEC HIDS và sau đó đượ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 toàn diện với các khả năng như:
<i>Hình 1. Các chức năng của WAZUH </i>
Monitoring(Giám sát):
<small>• </small> Applications (Ứng dụng):
<small>• </small> Giám sát ứng dụng là việc theo dõi các hoạt động của các ứng dụng trên hệ thống, bao gồm cả việc kiểm tra tính sẵn sàng, hiệu suất và bảo mật của chúng.
<small>• </small> Các hệ thống giám sát thường thu thập thông tin về việc sử dụng tài nguyên của ứng dụng, lưu lượng mạng, các truy cập không hợp lệ hoặc hoạt động đáng ngờ từ các ứng dụng.
<small>• </small> User Behavior (Hành vi người dùng):
<small>• </small> Giám sát hành vi người dùng là việc theo dõi cách mà người dùng tương tác với hệ thống, bao gồm cả việc đăng nhập, truy cập vào các tài nguyên và hoạt động trên các ứng dụng và thiết bị.
<small>• </small> Mục tiêu là phát hiện các hoạt động bất thường hoặc nguy hiểm từ phía người dùng, như việc sử dụng thông tin đăng nhập bị đánh cắp hoặc cố gắng truy cập vào các tài nguyên không được phép.
<small>• </small> File Integrity (Tính tồn vẹn của tập tin):
<small>• </small> Giám sát tính tồn vẹn của tập tin liên quan đến việc theo dõi sự thay đổi trong các tập tin và thư mục trên hệ thống.
<small>• </small> Mục tiêu là phát hiện các sự thay đổi không mong muốn hoặc không được phép trên các tập tin quan trọng, có thể chỉ ra một cuộc tấn công hoặc một sự cố bảo mật.
<small>• </small> Container & Cloud (Container & Đám mây):
<small>• </small> Trong môi trường hiện đại, việc giám sát các container và môi trường đám mây cũng trở nên quan trọng.
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><small>• </small> Các cơng cụ giám sát có thể theo dõi việc triển khai, quản lý và hoạt động của các container và các dịch vụ đám mây, đảm bảo tính ổn định và bảo mật của chúng.
Detection(Phát hiện):
<small>• </small> Intrusion Attempts (Cố gắng xâm nhập):
<small>• </small> Theo dõi và phát hiện các cố gắng xâm nhập vào hệ thống hoặc mạng, bao gồm cả các cuộc tấn công từ bên ngồi và từ bên trong.
<small>• </small> Các kỹ thuật phát hiện này có thể dựa trên việc theo dõi các hoạt động không hợp lệ như đăng nhập thất bại, quét cổng mạng, hoặc các biểu hiện của các loại tấn công phổ biến như SQL injection, cross-site scripting (XSS), và brute force attacks.
<small>• </small> Malware Activity (Hoạt động của phần mềm độc hại):
<small>• </small> Phát hiện và giám sát hoạt động của các phần mềm độc hại trên hệ thống. <small>• </small> Các kỹ thuật phát hiện này có thể bao gồm việc theo dõi các mẫu tập tin có hại, phát hiện các tiến trình hoặc dịch vụ kỳ lạ, và phân tích các hành vi khơng bình thường của các ứng dụng.
<small>• </small> Policy Violations (Vi phạm chính sách):
<small>• </small> Phát hiện các hoạt động khơng tn thủ các chính sách bảo mật và quản lý của tổ chức.
<small>• </small> Các kỹ thuật phát hiện này có thể bao gồm việc theo dõi việc truy cập vào các tài nguyên cấm, sử dụng các ứng dụng không được phép, hoặc chuyển dữ liệu khơng an tồn.
<small>• </small> Vulnerabilities (Lỗ hổng bảo mật):
<small>• </small> Phát hiện các lỗ hổng bảo mật trong hệ thống và ứng dụng.
<small>• </small> Các kỹ thuật phát hiện này có thể bao gồm việc sử dụng các công cụ quét lỗ hổng tự động để tìm ra các lỗ hổng đã được công bố, theo dõi các cập nhật phần mềm, và phân tích các dấu hiệu của các cuộc tấn cơng có thể sử dụng lỗ hổng đó.
Response(phản hồi):
<small>• </small> Prevention (Ngăn chặn):
<small>• </small> Phản ứng bằng các biện pháp ngăn chặn để ngăn chặn các mối đe dọa và cuộc tấn công tiềm ẩn.
<small>• </small> Các biện pháp này có thể bao gồm cấu hình hệ thống, áp dụng chính sách bảo mật, cập nhật phần mềm, và triển khai các giải pháp bảo mật như tường lửa và phần mềm diệt virus.
<small>• </small> Forensics (Pháp y):
<small>• </small> Thu thập và phân tích dữ liệu để xác định nguyên nhân và phạm vi của một sự cố hoặc cuộc tấn công đã xảy ra.
<small>• </small> Các phương tiện pháp y có thể bao gồm việc xem xét log files, giải mã dữ liệu định dạng, và theo dõi lại các hoạt động trên hệ thống và mạng. <small>• </small> Telemetry (Dữ liệu tình hình): // mối đe dọa tiềm ẩn
<small>• </small> Thu thập và phân tích dữ liệu từ nhiều nguồn khác nhau để hiểu rõ hơn về môi trường an ninh và các mối đe dọa tiềm ẩn.
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><small>• </small> Các dữ liệu tình hình có thể bao gồm thông tin từ các thiết bị mạng, endpoint, ứng dụng, và các dịch vụ bảo mật bên ngồi.
<small>• </small> Workflows (Quy trình làm việc):
<small>• </small> Thực hiện các quy trình làm việc và các biện pháp hành động để ứng phó với các sự cố và mối đe dọa an ninh.
<small>• </small> Các quy trình này có thể bao gồm việc cấp phát các nhiệm vụ cho nhóm an ninh, triển khai các biện pháp cần thiết để ngăn chặn hoặc xử lý sự cố, và theo dõi tiến trình và kết quả của các biện pháp hành động.
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, làm cho nó trở thành một giải pháp SIEM cực kỳ toàn diện. 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à xâm nhập. Loại thơng minh này có nghĩa là có khả năng phát hiện mối đe dọa sớm trong các mơi trường khác nhau.
Ví dụ, nhiều tin tặc sử dụng các cuộc tấn cơng brute-force để đốn kết hợp tên người dùng và mật khẩu. Wazuh sẽ lưu ý mỗi lần xác thực không thành công. Với đủ lỗi, hệ thống sẽ nhận ra chúng là một phần của cuộc tấn cơng vét cạn. Vì một tiêu chí nhất định được đáp ứng (ví dụ: năm lần đăng nhập khơng thành cơng), nó sẽ chặn địa chỉ IP đó khỏi các lần thử tiếp theo. Điều này có nghĩa là Wazuh khơng chỉ có thể hứng chịu và báo cáo các cuộc tấn cơng brute-force mà cịn có thể tắt chúng.
OSSEC là một HIDS với kiến trúc gồm các agent vệ tinh đa nền tảng và một hệ thống quản lý trung tâm. Các agent này sẽ forward dữ liệu hệ thống (chẳng hạn log messages, file hashes, và các hoạt động bất thường) đến cho trung tâm quản lý để được phân tích và xử lý và đưa ra các alert thích hợp. Các dữ liệu này sẽ được gửi thông qua các kênh truyền an toàn và được xác thực(giao thức TTL/SSL). Ngồi ra, OSSEC cũng có thể được triển khai với cấu hình một syslog server trung tâm cùng hệ thống giám sát phi tác nhân. Ở cấu hình này, OSSEC sẽ đưa ra các security insight từ các sự kiện và thay đổi diễn ra trên các thiết bị agentlessnhư firewall, switch, routers, access point, network appliance, …
OpenSCAP là trình thơng dịch cho chuẩn ngôn ngữ thẩm định OVAL và định dạng cấu hình an ninh hệ thống ECCDF. OpenSCAP có được sử dụng để kiểm tra các cấu hình của hệ thống và phát hiện các ứng dụng có lỗ hổng. Đây là một cơng cụ được thiết kế với khả năng thẩm định và gia cố của các hệ thống áp dụng các tiêu chuẩn an ninh công nghiệp cho môi trường doanh nghiệp.
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">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. Nó cung cấp tính năng lưu trữ và tìm kiếm nhật kí (logs) 1 cách nhanh chóng và tiện lợi.
• Kibana: Cung cấp một giao diện web linh hoạt và trực quan cho dị tìm ,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à đánh chỉ số 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 tài liệu có các đặc trưng tương tự hoặc liên quan đến nhau.Wazuh sử dụng 3 index sau:
<small>• </small> wazuh-alerts: Các alert được tạo bởi Wazuh server.
<small>• </small> wazuh-events: Mọi event được gửi đến từ agent.
<small>• </small> 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”
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">Wazuh server chịu trách nhiệm phân tích dữ liệu gửi từ agent và gửi lại cảnh báo khi có một sự kiện khớp với rule (chẳng hạn phát hiện xâm nhập, file bị thay đổi, cấu hình khơng tn thủ chính sách, rootkit,...)
<i>Hình 1. WAZUH SERVER </i>
Wazuh server thường sẽ được cài đặt trên một máy chủ vật lý hoặc máy ảo riêng biệt, hay cũng có thể là một máy trên cloud và chạy các agent để tự giám sát chính nó. Các thành phần chính của Wazuh Server:
Agent enrollment service: Được sử dụng để đăng ký Agent mới bằng cách cung cấp và phân phối khóa xác thực chia sẻ trước dành riêng cho từng Agent. Quá trình này chạy như một dịch vụ mạng và hỗ trợ xác thực thông qua chứng chỉ TLS / SSL hoặc bằng cách cung cấp mật khẩu cố định.
Filebeat: Filebeat được sử dụng để gửi các sự kiện và cảnh báo đến trình lập chỉ mục Wazuh. Filebeat đọc đầu ra của cơng cụ phân tích Wazuh và vận chuyển các sự kiện trong thời gian thực. Filebeat cũng cung cấp cân bằng tải khi được kết nối với cụm chỉ mục Wazuh đa nút.
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Analysis engine: Đây là q trình thực hiện phân tích dữ liệu. Nó sử dụng bộ giải mã để xác định loại thơng tin đang được xử lý (ví dụ: Windows events, SSHD logs, web server logs, v.v.) và trích xuất các phần tử dữ liệu có liên quan từ thơng báo nhật ký (ví dụ: source IP address, event ID, username, v.v.) . Tiếp theo, bằng cách sử dụng các quy tắc (Rules), nó xác định các mẫu cụ thể trong các sự kiện được giải mã có thể kích hoạt cảnh báo và thậm chí có thể gọi các biện pháp đối phó tự động (ví dụ: lệnh cấm IP trên tường lửa).
Wazuh RESTful API:Dịch vụ này cung cấp giao diện để tương tác với cơ sở hạ tầng Wazuh. Nó được sử dụng để quản lý các tác nhân và cài đặt cấu hình máy chủ, để theo dõi trạng thái cơ sở hạ tầng và tình trạng tổng thể, quản lý và chỉnh sửa các quy tắc (Rule) và bộ giải mã Wazuh cũng như truy vấn về trạng thái của các thiết bị đầu cuối được giám sát. Nó cũng được sử dụng bởi giao diện người dùng web Wazuh, đó là ứng dụng Kibana.
Wazuh cluster daemon: Dịch vụ này được sử dụng để mở rộng các Wazuh Server theo chiều ngang, triển khai chúng dưới dạng một cụm. Loại cấu hình này, kết hợp với bộ cân bằng tải mạng, cung cấp tính khả dụng cao và cân bằng tải. Wazuh cluster daemon là thứ mà các máy chủ Wazuh sử dụng để giao tiếp với nhau và giữ đồng bộ hóa( ví dụ khi có 1 lỗ hổng mới của 1 agent cụ thể được phát hiện , lỗ hổng sẽ được cập nhật trên toàn bộ các cụm và toàn hệ thống , nhờ vậy mỗi agent luôn nắm được bức tranh tổng thể về các lỗi hiện có ).
Wazuh agent có thể được cài đặt trên các hệ điều hành Windows, Linux, Solaris, BSD, và Mac . Các agent sẽ thu thập dữ liệu từ hệ thống và ứng dụng và sau đó gửi chúng đến Wazuh server qua một kênh truyền đã được mã hóa và xác thực. Kênh truyền an ninh này sẽ được khởi tạo bởi một tiến trình đăng ký sử dụng các khóa duy nhất với mỗi agent.
Các agent có thể được sử dụng để giám sát các máy chủ vật lý, các máy ảo và cloud instance. Các gói cài đặt agent khả dụng hiện tại bao gồm các gói cài đặt cho Linux, HP-UX, AIX, Solaris, Windows, và Darwin (Mac OS X).
Trên các hệ điều hành Unix-based, Wazuh agent sẽ chạy nhiều tiến trình riêng và giao tiếp với nhau thông qua local Unix domain socket. Một trong số các tiến trình này sẽ chịu trách nhiệm giao tiếp và gửi dữ liệu đến Wazuh server. Đối với các hệ điều hành Windows, chỉ có một tiến trình agent duy nhất sử dụng mutex hoặc đa tiến trình (multiprocessing) để chạy đa nhiệm các tác vụ. Các tác vụ hoặc tiến trình khác nhau của agent sẽ chịu trách nhiệm giám sát khác nhau (chẳng hạn file kiểm tra tính tồn vẹn của file, đọc log, quét các cấu hình hệ thống).
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><i>Hình 2. WAZUH AGENT </i>
Các thành phần chính của Wazuh Agent:
<small>• </small> Log collector: Tiến trình này sẽ chịu trách nhiệm đọc log hệ thống và ứng dụng, bao gồm flat log, các log sự kiện tiêu chuẩn và cả các kênh sự kiện Windows. Ngoài ra, log collector cịn có thể được cấu hình để định kỳ bắt các output từ một số lệnh nhất định.
<small>• </small> Command execution: Agent có thể chạy các lệnh được ủy quyền theo định kỳ, thu thập kết quả đầu ra của chúng và báo cáo lại cho Wazuh Server để phân tích thêm. Mơ-đun này có thể được sử dụng để đáp ứng các mục đích khác nhau (ví dụ: theo dõi dung lượng ổ cứng còn lại, nhận danh sách người dùng đăng nhập lần cuối, v.v.).
<small>• </small> File integrity monitoring (FIM): Mô-đun này giám sát hệ thống tệp, báocáo khi tệp được tạo, xóa hoặc sửa đổi. Nó theo dõi các thuộc tính tệp, quyền, quyền sở hữu và nội dung. Khi một sự kiện xảy ra, nó nắm bắt thông tin chi tiết về ai , cái gì và khi nào trong thời gian thực. Ngồi ra, mơ-đun này xây dựng và duy trì cơ sở dữ liệu với trạng thái của các tệp được giám sát, cho phép các truy vấn được chạy từ xa
<small>• </small> Security configuration assessment (SCA): Thành phần này hỗ trợ thẩm định cấu hình liên tục, sử dụng các tiêu chuẩn có sẵn của Trung tâm Bảo mật Internet (CIS). Người dùng cũng có thể tạo kiểm tra SCA của riêng họ để giám sát và thực thi các chính sách bảo mật của họ.
<small>• </small> System inventory:Agent module này quét định kỳ, thu thập các quy ước dữ liệu như phiên bản hệ điều hành, giao diện mạng, tiến trình đang chạy, ứng dụng đã cài đặt và danh sách các cổng mở. Kết quả quét được lưu trữ trong cơ sở dữ liệu SQLite cục bộ nên có thể được truy vấn từ xa.
<small>• </small> Malware detection: Sử dụng cách tiếp cận non-signature-based, thành phần này có khả năng phát hiện sự bất thường và sự hiện diện có thể có của rootkit. Giám sát các cuộc gọi hệ thống, nó tìm kiếm các quy trình ẩn,tệp ẩn và cổng ẩn.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><small>• </small> Active response: Mơ-đun này chạy các hành động tự động khi các mối đe dọa được phát hiện , gửi phản hồi nhằm chặn kết nối mạng, dừng tiến trình đang chạy hoặc xóa tệp độc hại. Người dùng cũng có thể tạo phản hồi tùy chỉnh khi cần thiết (ví dụ: chạy tệp nhị phân trong sandbox ( môi trường độc lập để phân tích và theo dõi các tập tin, chương trình tiềm ẩn rủi ro mà khơng ảnh hưởng tới hệ thống chính) , nắm bắt lưu lượng kết nối mạng, quét tệp bằng phần mềm chống vi-rút, v.v.).
<small>• </small> Containers security monitoring:Agent module này được tích hợp với API Docker Engine để theo dõi các thay đổi trong môi trường lưu trữ cục bộ . Ví dụ: nó phát hiện các thay đổi đối với vùng lưu trữ hình ảnh, cấu hình mạng hoặc khối lượng dữ liệu. Bên cạnh đó, nó cảnh báo về các vùng chứa đang chạy ở chế độ đặc quyền và về việc người dùng thực hiện các lệnh trong vùng chứa đang chạy.
<small>• </small> Cloud security monitoring:Thành phần này giám sát các nhà cung cấp đám mây như Amazon AWS, Microsoft Azure hoặc Google GCP. Nó tự động giao tiếp với các API của họ. Nó có khả năng phát hiện các thay đổiđối với cơ sở hạ tầng đám mây (ví dụ: người dùng mới được tạo, nhóm bảo mật được sửa đổi, phiên bản đám mây bị dừng, v.v.) và thu thập dữ liệu nhật ký dịch vụ đám mây (ví dụ: AWS Cloudtrail, AWS Macie, AWS GuardDuty , Azure Active Directory, v.v.)
Kiến trúc của Wazuh xoay quanh mơ hình: agent chạy trên các host đượcgiám sát và forward (chuyển tiếp) dữ liệu đến server trung tâm. Bên cạnh đó, Wazuh cũng hỗ trợ các thiết bị agentless (firewall, switch, router, access point,...) submit dữ liệu thông qua syslog, hoặc có thể bị động chờ hệ thống quét các thay đổi trong cấu hình của chúng và sau đó forward dữ liệu đến server trung tâm. Server trung tâm sẽ chịu trách nhiệm giải mã và phân tích các thơng tin được gửi đến và chuyển tiếp kết quả đến Elasticsearch để được đánh chỉ mục và lưu trữ.
Một Elasticsearch cluster là một tập hợp của một hay nhiều node (server) giao tiếp với nhau để thực hiện các thao tác đọc và ghi trên các index. Một single- node Elasticsearch cluster có thể dễ dàng quản lý một hệ thống Wazuh cỡ nhỏ với khoảng 50 agent đổ lại. Các multi-node Elasticsearch cluster thường được khuyến cáo khi có một số lượng lớn hệ thống cần giám sát,hay có một lượng dữ liệu lớn, hoặc những hệ thống có yêu cầu cao về tính sẵn sàng.
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Khi mà Wazuh server và Elasticsearch cluster nằm trên các host khác nhau, Filebeat sẽ chịu trách nhiệm truyền tải các alert hoặc các sự kiện hệ thống đến các Elasticsearch server bằng giao thức TLS.
Mơ hình bên dưới minh họa cách các thành phần của một hệ thống Wazuh. Trong kiểu triển khai này, các thành phần sẽ được cài đặt trên các Host riêng biệt. Kibana có thể được cài đặt trên cùng một Host của nút Elasticsearch hoặc trên một Host riêng biệt. Kiểu triển khai này phù hợp với mơi trường sản xuất vì nó cung cấp tính khả dụng và khả năng mở rộng cao của các dịch vụ.
<i>Hình 3. Kiến trúc Wazuh </i>
<b>2.3.1. Giao tiếp Agent – Server</b>
Wazuh Agent liên tục gửi các sự kiện đến máy chủ Wazuh Server để phân tích và phát hiện mối đe dọa. Để bắt đầu vận chuyển chúng, Agent thiết lập kết nối với dịch vụ Server để kết nối Agent, dịch vụ này sẽ lắng nghe trên port 1514 (cổng này có thể cấu hình được). Máy chủ Wazuh sau đó giải mã và kiểm tra rule các sự kiện đã nhận, sử dụng cơng cụ phân tích. Các sự kiện liên quan đến quy tắc được tăng cường với dữ liệu cảnh báo như Rule ID và Rule name. Sự kiện có thể được lưu vào một hoặc cả hai tệp sau, tùy thuộc vào việc quy tắc có bị chặn hay khơng:
<small>• </small> /var/ossec/logs/archives/archives.json lưu trữ mọi sự kiện kể cả có vi phạm rule hay khơng.
<small>• </small> /var/ossec/logs/alerts/alerts.json lưu trữ các sự kiện vi phạm rule
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">Alert sẽ bị lặp nếu sử dụng cả 2 file này để tạo các alert. Bên cạnh đó, cả 2 file này đều chứa các dữ liệu đã được giải mã.Wazuh message protocol sử dụng mã hóa Blowfish 192-bit với đủ 16-round, hoặc mã hóa AES 128 bit mỗi block và 256-bit khóa.
Filebeat sẽ định dạng các dữ liệu được gửi tới (có thể tùy chọn gắn thêm thông tin GeoIP) trước khi gửi chúng đến Elasticsearch (port 9200/TCP). Một khi dữ liệu đã được index tại Elasticsearch , Kibana (port 5601/TCP) sẽ dị tìm và trình bày dữ liệu ở phía front-end.
Wazuh App chạy trên Kibana sẽ thường xuyên query dữ liệu qua RESTful API (port 55000/TCP trên Wazuh manager) để hiển thị cấu hình và các thơng tin trạng thái của các server và agent và có thể thực hiện các yêu cầu khởi động lại agent khi cần thiết. Giao tiếp này sẽ được mã hóa TLS và xác thực với username và password.
Một số dịch vụ được sử dụng để liên lạc với các thành phần của Wazuh. Dưới đây là danh sách các cổng mặc định được sử dụng bởi các dịch vụ này.
<i>Hình 4. Cổng mặc định của một số dịch vụ</i>
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b>2.3.4. Archival data storage</b>
Cả cảnh báo và sự kiện không cảnh báo đều được lưu trữ trong các tệp trên máy chủ Wazuh, ngồi việc được gửi đến trình lập chỉ mục Wazuh. Các tệp này có thể được viết ở định dạng JSON (), hoặc định dạng văn bản thuần túy (). Các tệp này được nén và ký hàng ngày bằng tổng kiểm MD5, SHA1 và SHA256.
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">Cài đặt các thành phần chính của Wazuh:
<i>Hình 5. Quy trình cài đặt </i>
Wazuh indexer là một công cụ phân tích và tìm kiếm tồn văn bản có khả năng mở rộng cao. Thành phần này lập chỉ mục và lưu trữ các cảnh báo do máy chủ Wazuh tạo ra, đồng thời cung cấp khả năng phân tích và tìm kiếm dữ liệu gần như theo thời gian thực. Hệ điều hành đề xuất: Linux 64-bit. Wazuh hỗ trợ các phiên bản hệ điều hành sau:
<i>Hình 6. Hệ điều hành wazuh hỗ trợ </i>
<i>Hình 7. Yêu cầu phần cứng </i>
</div>