Trong bài viết này, bạn sẽ khám phá cách tích hợp Suricata với Elasticsearch, Kibana và Filebeat để có thể tạo ra công cụ Security Information and Event Management (SIEM) của riêng bạn. Đây là công cụ cực hữu ích cho quá trình bảo mật dữ liệu cho mạng và máy chủ của bạn. Cùng Vietnix tìm hiểu về cách cài đặt SIEM với Suricata và Elastic Stack trên Ubuntu 20.04 ngay.
Giới thiệu về SIEM
Các công cụ SIEM được sử dụng để thu thập, tổng hợp, lưu trữ và phân tích dữ liệu các sự kiện nhằm tìm kiếm các mối đe dọa bảo mật và hoạt động đáng ngờ ở trong mạng và server của bạn.
Các thành phần mà bạn sẽ sử dụng để xây dựng công cụ SIEM là:
- Elasticsearch để lưu trữ, lập chỉ mục, thể hiện tương quan dữ liệu và tìm kiếm các sự kiện bảo mật đến từ máy chủ Suricata của bạn.
- Kibana để hiển thị và điều hướng xung quanh nhật ký sự kiện bảo mật được lưu trữ trong Elasticsearch.
- Filebeat để phân tích file nhật ký
eve.json
của Suricata và gửi từng sự kiện tới Elasticsearch để xử lý. - Suricata giúp quét lưu lượng mạng để tìm kiếm các sự kiện đáng ngờ và ghi nhật ký hoặc loại bỏ các gói không hợp lệ.
Trong bài viết này, bạn sẽ được hướng dẫn cách xây dựng hệ thống SIEM với Suricata và Elastic Stack trên Ubuntu 20.04.
Điều kiện để cài đặt SIEM với Suricata và Elastic Stack trên Ubuntu 20.04
Để thực hiện theo bài hướng dẫn này, bạn cần đáp ứng những điều kiện sau:
- Suricata chạy trên Ubuntu server 20.04. Server này sẽ là server Suricata của bạn (Hướng dẫn chi tiết về cách cài đặt Suricata trên Ubuntu 20.04 tại đây).
- Bạn sẽ cần tải và cấu hình một số Suricata signature để tạo cảnh báo hoặc giảm lưu lượng truy cập.
- Một server thứ hai để lưu trữ Elasticsearch và Kibana. Đây sẽ là server Elasticsearch của bạn, với 4GB RAM và 2 CPU được thiết lập với user non-root có quyền sudo.
- Cả hai server cần phải giao tiếp bằng địa chỉ IP riêng. Bạn có thể dùng VPN (như WireGuard) để kết nối các server hoặc sử dụng dịch vụ của các nhà cung cấp thứ 3. Ngoài ra, bạn cũng có thể chọn chạy Elasticsearch, Kibana, Filebeat và Suricata trên cùng một server để thử nghiệm.
Và cuối cùng, nếu bạn muốn đảm bảo tính ổn định và độ tin cậy của hệ thống, VPS (Virtual Private Server) là lựa chọn tốt nhất cho những điều này. Việc sử dụng VPS sẽ cung cấp cho hệ thống một môi trường ổn định, đáp ứng đầy đủ những yêu cầu của phần mềm, đồng thời giảm thiểu rủi ro về bảo mật và tiết kiệm chi phí so với việc sử dụng server riêng.
Vietnix hiện đang cung cấp đa dạng các gói VPS với nhiều tính năng, mức giá; giúp bạn dễ dàng chọn được gói dịch vụ phù hợp với nhu cầu và ngân sách của bạn gồm: VPS Giá Rẻ, VPS Phổ Thông, VPS Cao Cấp, VPS NVMe và VPS GPU.
Bên cạnh đó, Vietnix thực hiện trợ kỹ thuật 24/7 để đảm bảo hệ thống của bạn luôn hoạt động ổn định và tin cậy. Với VPS Vietnix, bạn hoàn toàn yên tâm về tính ổn định và độ bảo mật cho hệ thống của mình.
Hãy tham khảo ngay các gói dịch vụ VPS của Vietnix để lựa chọn cho mình một giải pháp tốt nhất.
Bước 1: Cài đặt Elasticsearch và Kibana
Bước đầu tiên là cài đặt Elasticsearch và Kibana trên Elasticsearch server của bạn. Để bắt đầu, hãy thêm khóa GPG Elastic vào server của bạn bằng lệnh sau:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Tiếp theo, thêm danh sách Elastic source vào thư mục sources.list.d
, nơi apt
sẽ tìm kiếm các source mới:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Bây giờ hãy cập nhật package index của server, sau đó cài đặt Elasticsearch và Kibana:
sudo apt update
sudo apt install elasticsearch kibana
Khi bạn đã cài đặt xong các gói, hãy tìm và ghi lại địa chỉ IP riêng của server bằng cách sử dụng lệnh ip address show
:
ip -brief address show
Bạn sẽ nhận được output như sau:
Output
lo UNKNOWN 127.0.0.1/8 ::1/128
eth0 UP 159.89.122.115/20 10.20.0.8/16 2604:a880:cad:d0::e56:8001/64 fe80::b832:69ff:fe46:7e5d/64
eth1 UP 10.137.0.5/16 fe80::b883:5bff:fe19:43f3/64
Interface của mạng riêng trong output là thiết bị eth1
đã được đánh dấu, với địa chỉ IPv4 10.137.0.5/16
. Tên thiết bị và địa chỉ IP của bạn sẽ khác so với bài này. Tuy nhiên, địa chỉ IP sẽ được chia như sau:
10.0.0.0
tới10.255.255.255
(10/8 prefix)172.16.0.0
tới172.31.255.255
(172.16/12 prefix)192.168.0.0
tới192.168.255.255
(192.168/16 prefix)
Ghi lại địa chỉ private IP cho Elasticsearch server của bạn (trong trường hợp này là 10.137.0.5
). Địa chỉ này sẽ được gọi là your_private_ip
. Bạn cũng nên lưu ý tên của network interface, trong trường hợp này là eth1. Trong phần tiếp theo, bạn sẽ cấu hình Elasticsearch và Kibana để lắng nghe các kết nối trên địa chỉ private IP đến từ Suricata server của bạn.
Bước 2: Cấu hình Elasticsearch
Theo mặc định, Elasticsearch được cấu hình để chỉ chấp nhận các kết nối local. Ngoài ra, không có bất kỳ xác thực nào được bật, vì vậy các công cụ như Filebeat sẽ không thể gửi log tới. Vì vậy ở phần này, bạn sẽ tiến hành cài đặt mạng cho Elasticsearch và sau đó kích hoạt module bảo mật xpack
tích hợp trên Elasticsearch để giải quyết tình trạng này.
Cấu hình mạng cho Elasticsearch
Vì Elasticsearch và Suricata server là riêng biệt nên bạn sẽ cần cấu hình Elasticsearch để lắng nghe các kết nối trên network interface. Bạn cũng sẽ cần cấu hình các rule cho tường lửa để cho phép truy cập vào Elasticsearch trên network interface.
Sử dụng nano
hoặc trình chỉnh sửa khác để mở /etc/elasticsearch/elasticsearch.yml
:
sudo nano /etc/elasticsearch/elasticsearch.yml
Tìm dòng #network.host: 192.168.0.1
ở giữa các dòng 50–60 và thêm một dòng mới sau đó để cấu hình cài đặt network.bind_host
:
# By default Elasticsearch is only accessible on localhost. Set a different
# address here to expose this node on the network:
#
#network.host: 192.168.0.1
network.bind_host: ["127.0.0.1", "your_private_ip"]
#
# By default Elasticsearch listens for HTTP traffic on the first free port it
# finds starting at 9200. Set a specific HTTP port here:
Thay thế IP private của bạn vào địa chỉ your_private_ip
. Dòng này sẽ đảm bảo rằng Elasticsearch vẫn khả dụng trên địa chỉ local của chính nó và cho phép Kibana có thể truy cập vào đó và vào địa chỉ IP server của bạn.
Tiếp theo, đi đến cuối file bằng phím tắt trong nano
là CTRL+v
.
Thêm các dòng sau vào cuối tệp:
. . .
discovery.type: single-node
xpack.security.enabled: true
Cài đặt discovery.type
sẽ cho phép Elasticsearch chạy dưới dạng một node. Còn cài đặt xpack.security.enabled
sẽ bật một số tính năng bảo mật có trong Elasticsearch.
Lưu và đóng tệp khi bạn chỉnh sửa xong. Nếu đang sử dụng nano
, bạn có thể dùng tổ hợp phím CTRL+
X, sau đó Y
và ENTER
để xác nhận.
Cuối cùng, thêm các quy tắc tường lửa để đảm bảo máy chủ Elasticsearch có thể truy cập được trên private network interface. Nếu như bạn đạt đủ điều kiện và đang sử dụng Uncomplicated Firewall (ufw), hãy chạy các lệnh sau:
sudo ufw allow in on eth1
sudo ufw allow out on eth1
Thay thế private network interface của bạn vào thông số eth1.
Tiếp theo, bạn sẽ khởi động Elasticsearch daemon và sau đó cấu hình mật khẩu để sử dụng với module bảo mật xpack
.
Khởi động Elasticsearch
Sau khi đã định cấu hình mạng và cài đặt bảo mật xpack
cho Elasticsearch, bạn cần khởi động nó lên để các thay đổi có hiệu lực.
Chạy lệnh systemctl
để bắt đầu Elasticsearch:
sudo systemctl start elasticsearch.service
Ở bước tiếp theo, bạn có thể tạo mật khẩu cho người dùng mặc định được tích hợp sẵn trong Elasticsearch.
Thiết lập mật khẩu cho Elasticsearch
Một tiện ích trong thư mục /usr/share/elasticsearch/bin
của Elasticsearch có thể tự động tạo mật khẩu ngẫu nhiên cho những user mặc định. Bạn chạy lệnh sau để cd
vào thư mục và tạo mật khẩu:
cd /usr/share/elasticsearch/bin
sudo ./elasticsearch-setup-passwords auto
Bạn sẽ nhận được output như sau. Khi được nhắc tiếp tục, nhấn y
rồi nhấn RETURN
hoặc ENTER
:
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.
The passwords will be randomly generated and printed to the console.
Please confirm that you would like to continue [y/N]y
Changed password for user apm_system
PASSWORD apm_system = eWqzd0asAmxZ0gcJpOvn
Changed password for user kibana_system
PASSWORD kibana_system = 1HLVxfqZMd7aFQS6Uabl
Changed password for user kibana
PASSWORD kibana = 1HLVxfqZMd7aFQS6Uabl
Changed password for user logstash_system
PASSWORD logstash_system = wUjY59H91WGvGaN8uFLc
Changed password for user beats_system
PASSWORD beats_system = 2p81hIdAzWKknhzA992m
Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 85HF85Fl6cPslJlA8wPG
Changed password for user elastic
PASSWORD elastic = 6kNbsxQGYZ2EQJiqJpgl
Bạn sẽ không thể chạy lại tiện ích, vì vậy hãy đảm bảo ghi lại những mật khẩu này ở một nơi an toàn. Mật khẩu của người dùng kibana_system
và elastic
sẽ được sử dụng trong phần tiếp theo của hướng dẫn này.
Bước 3: Cấu hình Kibana
Trong phần trước của hướng dẫn này, bạn đã định cấu hình Elasticsearch để lắng nghe các kết nối trên địa chỉ IP riêng của Elasticsearch server. Bạn sẽ cần thực hiện tương tự với Kibana để Filebeats trên Suricata server của bạn có thể truy cập được.
Bật tính năng xpack.security
trong Kibana
Để bắt đầu cài đặt bảo mật xpack
trong Kibana, bạn cần tạo một số khóa mã hóa. Kibana sử dụng các khóa này để lưu trữ dữ liệu của session (như cookie), cũng như những bảng điều khiển và chế độ xem dữ liệu trong Elasticsearch.
Bạn có thể tạo các khóa mã hóa cần thiết bằng tiện ích kibana-encryption-keys
có trong thư mục /usr/share/kibana/bin
. Chạy code sau để cd
vào thư mục và tạo khóa:
cd /usr/share/kibana/bin/
sudo ./kibana-encryption-keys generate -q
Cờ -q
ở cuối đoạn code giúp bạn nhận được output như sau:
Output
xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b
Sao chép output của bạn vào nơi an toàn. Bây giờ, bạn sẽ thêm chúng vào file cấu hình /etc/kibana/kibana.yml
của Kibana.
Mở file bằng nano
hoặc trình chỉnh sửa ưa thích của bạn:
sudo nano /etc/kibana/kibana.yml
Đi đến cuối tệp bằng phím tắt trong nano
bằng cách CTRL+v
. Dán ba dòng xpack
mà bạn đã sao chép vào cuối tệp:
. . .
# Specifies locale to be used for all localizable strings, dates and number formats.
# Supported languages are the following: English - en , by default , Chinese - zh-CN .
#i18n.locale: "en"
xpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b
Tiếp tục mở tệp và chuyển sang phần tiếp theo – nơi bạn sẽ cấu hình cài đặt network cho Kibana.
Cấu hình mạng cho Kibana
Để cấu hình mạng Kibana sao cho khả dụng trên địa chỉ IP private của máy chủ Elasticsearch thì bạn cần tìm dòng #server.host: "localhost"
đã được comment trong /etc/kibana/kibana.yml
. Dòng này thường nằm gần đầu tệp. Thêm một dòng mới sau địa chỉ IP private:
# Kibana is served by a back end server. This setting specifies the port to use.
#server.port: 5601
# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
#server.host: "localhost"
server.host: "your_private_ip"
Thay thế IP private của bạn cho địa chỉ your_private_ip
.
Lưu và đóng tệp khi chỉnh sửa xong. Nếu đang sử dụng nano
, bạn có thể thực hiện lệnh CTRL+X
, sau đó Y
và ENTER
để xác nhận.
Tiếp theo, bạn sẽ cần cấu hình tên người dùng và mật khẩu mà Kibana sử dụng để kết nối với Elasticsearch.
Thiết lập thông tin đăng nhập cho Kibana
Có hai cách để đặt tên người dùng và mật khẩu mà Kibana sử dụng để xác thực với Elasticsearch. Đầu tiên là chỉnh sửa tệp cấu hình /etc/kibana/kibana.yml
và thêm các giá trị vào đó. Phương pháp thứ hai là lưu trữ các giá trị trong kho khóa của Kibana (keystore). Đây là một file được xử lý đặc biệt giúp Kibana lưu trữ bí mật.
Bạn sẽ sử dụng phương pháp keystore trong hướng dẫn này để tránh chỉnh sửa trực tiếp tệp cấu hình của Kibana. Để thêm dữ liệu bí mật vào keystore bằng tiện ích kibana-keystore
, trước tiên hãy cd
vào thư mục /usr/share/kibana/bin
. Tiếp theo, chạy lệnh dưới đây để đặt tên người dùng cho Kibana:
sudo ./kibana-keystore add elasticsearch.username
Bạn sẽ nhận được một prompt như sau:
Enter value for elasticsearch.username: *************
Nhập kibana_system
khi được nhắc bằng cách sao chép và dán hoặc nhập tên người dùng thủ công. Mỗi ký tự bạn nhập sẽ được che dấu bằng dấu hoa thị *
. Nhấn ENTER
hoặc RETURN
khi bạn nhập xong tên người dùng.
Bây giờ lặp lại lệnh tương tự cho mật khẩu. Đảm bảo sao chép mật khẩu cho người dùng kibana_system
mà bạn đã tạo trong phần trước của hướng dẫn này. Ví dụ mật khẩu là 1HLVxfqZMd7aFQS6Uabl
thì hãy chạy lệnh sau:
sudo ./kibana-keystore add elasticsearch.password
Khi được nhắc, hãy dán mật khẩu để tránh bất kỳ lỗi sao chép nào:
Enter value for elasticsearch.password: ********************
Khởi động Kibana
Bây giờ bạn đã cấu hình network, cài đặt bảo mật xpack
cho Kibana, cũng như đã thêm thông tin xác thực vào keystore hoàn tất. Để toàn bộ những thay đổi này có hiệu lực thì việc khởi động Kibana là điều cần thiết. Chạy lệnh systemctl
:
sudo systemctl start kibana.service
Khi Kibana khởi động xong, bạn có thể tiếp tục thực hiện cấu hình Filebeat trên máy chủ Suricata của mình để gửi nhật ký tới Elasticsearch.
Bước 4: Cài đặt Filebeat
Giờ đây, các quy trình Elasticsearch và Kibana của bạn đã được cấu hình với cài đặt xác thực và network chính xác. Bước tiếp theo bạn sẽ cần cài và thiết lập Filebeat trên máy chủ Suricata.
Để bắt đầu cài đặt Filebeat, thêm khóa elastic GPG vào máy chủ Suricata bằng lệnh sau:
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Tiếp theo, thêm danh sách nguồn của elastic vào thư mục sources.list.d
, nơi apt
sẽ tìm kiếm các nguồn mới:
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
Bây giờ hãy cập nhật package index của server và cài đặt gói Filebeat:
sudo apt update
sudo apt install filebeat
Tiếp theo, bạn sẽ cấu hình Filebeat để có thể kết nối với cả Elasticsearch và Kibana. Mở tệp cấu hình /etc/filebeat/filebeat.yml
bằng nano
hoặc trình chỉnh sửa ưa thích của bạn:
sudo nano /etc/filebeat/filebeat.yml
Tìm phần Kibana
trong file ở vị trí xung quanh dòng thứ 100. Thêm một dòng sau dòng #host: "localhost:5601"
để trỏ đến cổng và địa chỉ IP private của phiên bản Kibana:
. . .
# Starting with Beats version 6.0.0, the dashboards are loaded via the Kibana API.
# This requires a Kibana endpoint configuration.
setup.kibana:
# Kibana Host
# Scheme and port can be left out and will be set to the default (http and 5601)
# In case you specify and additional path, the scheme is required: http://localhost:5601/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:5601
#host: "localhost:5601"
host: "your_private_ip:5601"
. . .
Thay đổi này sẽ đảm bảo rằng Filebeat có thể kết nối với Kibana; đồng thời tạo các chỉ số SIEM, dashboard và quy trình xử lý pipeline trong Elasticsearch để xử lý Suricata log.
Tiếp theo, tìm phần Elasticsearch Output
trong file ở vị trí xung quanh dòng 130. Sau đó chỉnh sửa cài đặt host
s, username
và password
để khớp với các giá trị Elasticsearch server của bạn:
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["your_private_ip:9200"]
# Protocol - either `http` (default) or `https`.
#protocol: "https"
# Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
username: "elastic"
password: "6kNbsxQGYZ2EQJiqJpgl"
. . .
Thay thế địa chỉ IP private của Elasticsearch server trên dòng hosts
tương ứng với giá trị your_private_ip
. Bỏ comment ở dòng username
và đặt thông số đấy thành elastic
user. Thay đổi trường password từ changeme
thành mật khẩu cho elastic
user mà bạn đã tạo trong phần trước.
Lưu và đóng tệp khi bạn chỉnh sửa xong. Nếu đang sử dụng nano
, bạn có thể dùng phím tắt CTRL+X
, sau đó nhấn Y
và ENTER
để xác nhận.
Tiếp theo, kích hoạt module Suricata tích hợp trên Filebeats bằng lệnh sau:
sudo filebeat modules enable suricata
Giờ đây, Filebeat đã được cấu hình để kết nối với cả Elasticsearch và Kibana cùng module Suricata được bật sẵn. Bước tiếp theo là tải dashboard SIEM và pipepline vào Elasticsearch.
Chạy lệnh filebeat setup
. Bạn có thể mất vài phút để tải:
sudo filebeat setup
Khi lệnh kết thúc, bạn sẽ nhận được output như sau:
Output
Overwriting ILM policy is disabled. Set `setup.ilm.overwrite: true` for enabling.
Index setup finished.
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards
Setting up ML using setup --machine-learning is going to be removed in 8.0.0. Please use the ML app instead.
See more: https://www.elastic.co/guide/en/machine-learning/current/index.html
It is not possible to load ML jobs into an Elasticsearch 8.0.0 or newer using the Beat.
Loaded machine learning job configurations
Loaded Ingest pipelines
Nếu không có lỗi, hãy sử dụng lệnh systemctl
để khởi động. Filebeat sẽ bắt đầu gửi các sự kiện từ log eve.json
của Suricata tới Elasticsearch sau khi khởi chạy.
sudo systemctl start filebeat.service
Bây giờ bạn đã cấu hình Filebeat, Kibana và Elasticsearch để xử lý Suricata log. Bước cuối cùng trong hướng dẫn này là kết nối với Kibana và khám phá dashboard của SIEM.
Bước 5: Điều hướng dashboard SIEM của Kibana
Kibana là thành phần đồ họa của Elastic stack. Bạn sẽ sử dụng Kibana kết hợp cùng trình duyệt để khám phá các event và dữ liệu cảnh báo trên Suricata. Vì các bước trên đã cấu hình Kibana chỉ khả dụng qua địa chỉ IP private của máy chủ Elasticsearch nên bạn sẽ cần sử dụng SSH tunnel để kết nối với Kibana.
Kết nối tới Kibana bằng SSH
SSH có một tùy chọn -L
cho phép bạn chuyển tiếp lưu lượng mạng trên port nội bộ để kết nối với địa chỉ IP từ xa và port trên máy chủ. Bạn sẽ sử dụng tùy chọn này để chuyển tiếp lưu lượng truy cập từ trình duyệt đến phiên bản Kibana của mình.
Trên Linux, macOS và các phiên bản cập nhật của Windows 10 trở lên, bạn có thể sử dụng ứng dụng SSH client có sẵn để tạo tunnel mỗi khi muốn kết nối với Kibana. Kết nối này sẽ được phép đóng bất cứ lúc nào và sau đó chạy lại SSH để thiết lập lại tunnel.
Chạy lệnh sau trong terminal trên máy tính local để tạo SSH tunnel tới Kibana:
ssh -L 5601:your_private_ip:5601 sammy@203.0.113.5 -N
Các thông số trong lệnh trên bao gồm:
- Cờ
-L
chuyển tiếp lưu lượng truy cập từ hệ thống nội bộ trên port5601
đến máy remote server. - Phần
your_private_ip:5601
của lệnh chỉ định dịch vụ trên máy chủ Elasticsearch – nơi lưu lượng truy cập của bạn sẽ được chuyển tiếp đến. Trong trường hợp này, dịch vụ đó là Kibana. Hãy thay thế địa chỉ IP private của máy chủ Elasticsearch vào trườngyour_private_ip
. 203.11.0.5
là địa chỉ IP public mà bạn sử dụng để kết nối và quản trị server của mình. Thay thế địa chỉ IP public của máy chủ Elasticsearch vào tương ứng.- Cờ
-N
hướng dẫn SSH không chạy lệnh như shell/bin/bash
mà thay vào đó chỉ giữ kết nối mở. Cờ này thường được sử dụng khi chuyển tiếp các port như trong ví dụ này.
Nếu bạn muốn đóng tunnel bất cứ lúc nào, hãy nhấn CTRL+C
. Trên Windows, terminal của bạn sẽ giống như ảnh chụp màn hình sau:
Lưu ý: Bạn có thể được nhắc nhập mật khẩu nếu không sử dụng khóa SSH. Nhập hoặc dán mật khẩu vào lời nhắc và nhấn ENTER
hoặc RETURN
.
Ở trên macOS và Linux thì terminal có dạng như sau:
Khi đã kết nối với máy chủ Elasticsearch qua SSH port forward, hãy mở trình duyệt của bạn và truy cập http://127.0.0.1:5601. Bạn sẽ được chuyển hướng đến trang đăng nhập của Kibana:
Nếu trình duyệt không thể kết nối với Kibana, bạn sẽ nhận được thông báo như sau trong terminal của mình:
Output
channel 3: open failed: connect failed: No route to host
Lỗi này cho biết rằng SSH tunnel không thể truy cập dịch vụ Kibana trên máy chủ của bạn. Hãy xem lại bạn đã chỉ định đúng địa chỉ IP private cho máy chủ Elasticsearch chưa và tải lại trang một lần nữa.
Tiếp theo, thực hiên đăng nhập vào máy chủ Kibana bằng cách sử dụng tên người dùng elastic
và mật khẩu mà bạn đã sao chép trước đó.
Tra cứu dữ liệu tại dashboard SIEM Kibana
Sau khi đăng nhập vào Kibana, bạn có thể khám phá bảng điều khiển Suricata mà Filebeat đã cấu hình.
Trong trường tìm kiếm ở đầu trang Kibana Welcome, nhập cụm từ tìm kiếm type:dashboard suricata
. Tìm kiếm này sẽ trả về hai kết quả: Bảng điều khiển Suricata Event và Suricata Alert theo ảnh chụp màn hình sau:
Nhấp vào kết quả [Filebeat Suricata] Events Overview
để truy cập bảng điều khiển Kibana – nơi hiển thị tổng quan về tất cả các sự kiện Suricata đã ghi:
Để truy cập Suricata Alert dashboard, hãy lặp lại tìm kiếm hoặc nhấp vào liên kết Alert
có trong bảng điều khiển Event. Trang của bạn sẽ giống như ảnh sau:
Nếu bạn muốn kiểm tra các sự kiện và cảnh báo mà mỗi trang dashboard hiển thị, hãy cuộn xuống cuối trang để xem xét. Bạn có thể mở rộng từng mục để xem log gốc từ Suricata và kiểm tra chi tiết các trường khác như: IP nguồn và đích của một cảnh báo, loại tấn công, ID chữ ký Suricata và các trường khác.
Kibana cũng có một bảng điều khiển Security tích hợp mà bạn có thể truy cập bằng menu ở bên trái cửa sổ trình duyệt. Điều hướng đến Network dashboard để biết tổng quan về các sự kiện được hiển thị trên bản đồ cũng như dữ liệu tổng hợp về các sự kiện trên mạng. Trang dashboard của bạn sẽ giống như hình sau:
Hãy cuộn xuống cuối Network dashboard để xem bảng liệt kê tất cả các sự kiện phù hợp với khung thời gian tìm kiếm đã chỉ định. Bạn cũng có thể kiểm tra chi tiết từng sự kiện hoặc chọn một sự kiện để tạo dòng thời gian Kibana. Chúng rất hữu ích điều tra các luồng lưu lượng truy cập, community IDs hoặc alert.
Vietnix với hơn 11 năm hoạt động đã đồng hành với hơn 50.000 khách hàng cá nhân và doanh nghiệp. Đến năm 2022 Vietnix vinh dự được nhận giải Thương hiệu Việt Nam xuất sắc. Đồng thời, với tỷ lệ 97% khách hàng sau khi sử dụng dịch vụ tại Vietnix đã giới thiệu đến bạn bè, đồng nghiệp cũng là một minh chứng cho chất lượng dịch vụ luôn đáp ứng được mọi nhu cầu của khách hàng.
Nhanh tay đăng ký Vietnix VPS ngay và trải nghiệm dịch vụ ổn định, tốc độ cao, hỗ trợ nhanh chóng với nhiều ưu đãi hấp dẫn nhất.
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Hotline: 1800 1093
- Email: sales@vietnix.com.vn
Lời kết
Trong bài viết này, bạn đã cài đặt và cấu hình Elasticsearch và Kibana trên một server độc lập. Bên cạnh đó là cấu hình xác thực Elasticsearch và Kibana bằng cách sử dụng module bảo mật xpack
đi kèm với mỗi công cụ. Chúc bạn thực hiện thành công.
có cách cấu hình nào để trực quan hóa dữ liệu của Suricata hơn không ạ