Giám sát bảo mật trong hệ thống doanh nghiệp là một công việc hết sức phức tạp, đòi hỏi nhiều về quy trình nguồn lực và con người. Nhiều công cụ ra đời phục vụ công việc này có thể kể tới như IBM Qradar , Spunk , Rapid7 MSS... Hầu hết chúng đều hết sức tuyệt vời, cung cấp khả năng thu thập và phân tích log ưu việt. Tuy nhiên giá thành lại khá đắt đỏ nên việc tiếp cận với doanh nghiệp vừa vào nhỏ là không hiệu quả. Wazuh ra đời như một giải pháp thay thế , đáp ứng đầy đủ với tiêu chí : Tốt - Miễn phí và Dễ sử dụng . Chúng ta cùng tìm hiểu công cụ này thông qua bài viết dưới đây nhé !!!
1. Wazuh là gì ?
Wazuh là một nền tảng bảo mật mã nguồn mở - miễn phí tập hợp các công cụ XDR và SIEM. Nó bảo vệ hệ thống trên các môi trường local, ảo hóa, container và cloud. Wazuh cung cấp các tính năng cần thiết để phát hiện các mối đe dọa phổ biến như tấn công từ chối dịch vụ (DoS), scan hệ thống, tấn công dò tìm lỗ hổng (vulnerability scan) và tấn công tràn bộ đệm (buffer overflow).
Wazuh nổi bật với các ưu điểm :
- Miễn phí sử dụng, hỗ trợ đa nền tảng (Windows, Linux, MacOS)
- Dễ dàng cài đặt, linh hoạt sử dụng , hiệu quả với các hệ thống lớn (> 2000 users vẫn thoải mái)
- Giám sát tốt các phần mềm cài đặt trên máy người dùng
- Giám sát hoạt động của người dùng theo các tiêu chuẩn hiện đại (GDPR, PCI-DSS …)
- Tích hợp với VirusTotal API , kiểm tra mã độc liên tục trên máy được cấu hình
- Giám sát log các phần mềm quan trọng , kiểm tra tính toàn vẹn liên tục của hệ thống
- Khả năng tích hợp hiệu quả với các hệ thống thông báo (Email, Slack, Discord)
2. Cài đặt Wazuh
Khác với ELK Stack hay các SIEM khác , Wazuh nổi tiếng với khả năng cài đặt dễ dàng, chạy câu lệnh sau là bạn đã hoàn tất cả quá trình :
sudo apt-get update;
curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
Cài đặt thành công, hệ thống hiển thị thông tin User và Password để tiến hành đăng nhập
Lưu ý : Chúng ta nên đổi mật khẩu sau lần đăng nhập đầu tiên thông qua câu lệnh sau
curl -so wazuh-passwords-tool.sh https://packages.wazuh.com/4.8/wazuh-passwords-tool.sh
bash wazuh-passwords-tool.sh -u admin -p Secr3tP4ssw*rd (user/password mới)
Quá trình cài đặt hoàn tất, tuy nhiên mình muốn bổ sung một lớp bảo mật với SSL Let's Encrypt. Thực hiện như sau:
Bước 1. Cài đặt công cụ certbot từ Let's Encrypt
sudo apt-get install software-properties-common apt-transport-https ca-certificates -y
sudo add-apt-repository ppa:certbot/certbot sudo apt-get update -y
sudo apt-get install certbot python3-certbot-apache -y
Bước 2. Sử dụng certbot để yêu cầu SSL Key
Do port SSL hiện tại đang sử dụng dùng chung port mặc định với Wazuh Dashboard , đó đó ta tiến hành thay đổi để tránh xung đột
Truy cập file cấu hình tại đường dẫn "/etc/wazuh-dashboard/opensearchdashboards.yml" - đổi giá trị server.port sang 4433
Tiến hành khởi động lại wazuh-dashboard . Sử dụng certbot để yêu cầu SSL KEY
sudo systemctl restart wazuh-dashboard
Bước 3. Cấu hình SSL cho Wazuh Dashboard
sudo cp -r /etc/letsencrypt/live/redlab.cloud /etc/wazuh-dashboard/certs
Truy cập file "/etc/wazuh-dashboard/opensearchdashboards.yml" và bổ sung cấu hình sau
server.ssl.key: "/etc/wazuh-dashboard/certs/privkey.pem"
server.ssl.certificate: "/etc/wazuh-dashboard/certs/fullchain.pem"
Bước 4. Khởi động lại Wazuh Dashboard
sudo systemctl restart wazuh-dashboard
3. Các thành phần trong Wazuh
Để hoạt động hiệu quả , Wazuh solution được xây dựng trên loạt các thành phần :
- Wazuh indexer : Là một công cụ tìm kiếm và phân tích toàn diện , đồng thời có khả năng mở rộng cao. Đây là khu vực chính lưu trữ và hiển thị các cảnh báo cho máy chủ Wazuh tạo ra
- Wazuh server : Được thiết kế để xử lý hàng trăm hoặc hàng nghìn dữ liệu đổ về cùng lúc từ các Agent
- Wazuh dashboard : Là giao diện trực tiếp tương tác với người dùng, trực quan hóa các dữ liệu hiển thị.
- Wazuh agents : Được cài đặt trên các Endpoint (như Laptop,Server, PC , Cloud , Docker...) chúng cung cấp các thông tin cần thiết cho Wazuh server để phát hiện các mối đe dọa tiềm tàng.
Wazuh hoạt động dựa trên các port mặc định như sau :
Các sự kiện (alert hoặc non-alert) được lưu trữ cùng vị trí trong thư mục trên Wazuh server với định dạng JSON hoặc plain text , được nén hàng ngày và được ký với MD5 và SHA1 checksums.
Ngoài khả năng giám sát dựa trên Agent, Wazuh cũng có thể giám sát các thiết bị đặc thù như Firewall , Switches , Routers hoặc IDS/IPS ...
4. Cấu hình Wazuh Agent
Wazuh Agent là thành phần chính trong Wazuh , được cài đặt trên các endpoint cần giám sát với các chức năng như : Thu thập thông tin nhật ký , Thực thi lệnh được yêu cầu , Giám sát tính toàn vẹn của tệp , Đánh giá cấu hình bảo mật, Kiểm tra hệ thống , Phát hiện mã độc hại , Kiểm tra khả năng bảo mật Docker , Cloud .... Để cài đặt Wazuh Agent ta thực hiện như sau :
Bước 1. Truy cập Wazuh Dashboard > Total Agent > Deploy new agent
Bước 2. Lựa chọn môi trường mà Agent sẽ được cài đặt (Windows / Linux / Mac OS) và điền lần lượt các thông số (Ở đây mình chọn Linux)
- Server address: IP/Domain của Wazuh server (nơi dữ liệu sẽ được agent đổ về)
- Assign an agent name (Options) : Tên của agent
Bước 3. Sau khi hoàn tất 2 nội dung trên, ta nhận được câu lệnh hướng dẫn thực thi trên máy chủ cần cài đặt
wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.5-1_amd64.deb && sudo WAZUH_MANAGER='redlab.cloud' WAZUH_AGENT_NAME='linux_agent' dpkg -i ./wazuh-agent_4.7.5-1_amd64.deb
sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent
Bước 4. Thực thi câu lệnh trên với đặc quyền root trên máy chủ cần theo dõi , ta hoàn tất quá trình cấu hình Wazuh Agent
5. Chức năng hoạt động Wazuh
Sau khi cấu hình Agent thành công, Wazuh ngay lập tức hoạt động với hàng loạt các tính năng có thể kể tới như :
1. Inventory data : Hiển thị chi tiết thông tin hệ thống được giám sát bao gồm (Thông tin vật lý , Network interfaces , Network ports , Network settings , Packages , Processes ...)
2. Security information management
- Security Event : Hiện thi chi tiết các event của hệ thống cần giám sát với giao diện trực quan (Truy cập Agent > Events)
- Integrity monitoring. Chức năng giám sát sự thay đổi của các file cấu hình quan trọng hoặc được chỉ định
3. Auditing and Policy Monitoring
- Security configuration assessment. Chức năng này tìm kiếm điểm yếu bảo mật thông qua việc đánh giá các file cấu hình theo các tiêu chuẩn khác nhau (CIS, NIS , PCI-DSS...)
- Policy monitoring . Đánh giá sự thay đổi của Policy hệ thống hoặc Policy được người dùng chỉ định
4. Threat detection and response
-
Vulnerabilities. Tìm kiếm lỗ hổng bảo mật hệ thống thông qua các tiêu chuẩn bảo mật thông thường
-
MITRE ATT&CK. Đánh giá lỗ hổng bảo mật hệ thống thông qua MITRE ATT&CK Framework
5. Regulatory Compliance : Kiểm tra khả năng đáp ứng của hệ thống với các tiêu chuẩn bảo mật tiên tiến (PCI-DSS , GDPR , HIPPA , NIST 800-53 , TSC)
6. Kiểm thử khả năng phát hiện của Wazuh
Case 1 : Sử dụng nikto để dò quét máy chủ được giám sát với câu lệnh sau
nikto -H ip_scan -Turning 1
Hệ thống nhận diện và thông báo về cuộc tấn công
Case 2. Thay đổi thông tin trong file (/etc/shadow) trong máy chủ cần giám sát
Hệ thống cảnh báo về sự thay đổi bất thường
Case 3. Phân quyền không an toàn cho các file cấu hình hệ thống
chmod 777 /etc/crontab
chmod 777 /etc/cron.d
Hệ thống cảnh báo về việc cấu hình không an toàn
7. Tổng kết
Như vậy là ta đã tìm hiểu những điều sơ lược nhất về Wazuh , ở phần 2 chúng ta sẽ cùng nhau tìm hiểu khả năng giám sát của công cụ này trên các môi trường đặc thù như : Cloud , Docker , Firewall , Router .. Hẹn gặp lại mọi người !!! 😄