Trong hướng dẫn này, bạn sẽ khám phá cách tích hợp Suricata với Elasticsearch, Kibana và Filebeat để bắt đầu tạo công cụ Security Information and Event Management (SIEM) (Quản lý sự kiện và Thông tin bảo mật) của riêng bạn bằng cách sử dụng Elastic stack và Ubuntu 20.04. 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 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ờ trên mạng và máy chủ 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 của riêng mình là:
eve.json
của Suricata và gửi từng sự kiện đến Elasticsearch để xử lý.Trước tiên, bạn sẽ cài đặt và thiết lập cấu hình Elasticsearch và Kibana với một số cài đặt xác thực cụ thể. Sau đó, bạn sẽ thêm Filebeat vào hệ thống Suricata của mình để gửi nhật ký eve.json
của nó tới Elasticsearch.
Cuối cùng, bạn sẽ học cách kết nối với Kibana bằng SSH và trình duyệt web của mình, sau đó tải và tương tác với trang tổng quan Kibana hiển thị các sự kiện và cảnh báo của Suricata.
Nếu bạn đang theo dõi loạt bài hướng dẫn này thì bạn đã có Suricata đang chạy trên máy chủ Ubuntu 20.04. Máy chủ này sẽ được gọi là Suricata server của bạn.
Bạn cũng sẽ cần một máy chủ thứ hai để lưu trữ Elasticsearch và Kibana. Máy chủ này sẽ được gọi là Elasticsearch server của bạn. Nó phải là một máy chủ Ubuntu 20.04 với:
Đối với mục đích của hướng dẫn này, cả hai máy chủ sẽ có thể giao tiếp bằng địa chỉ IP riêng. Bạn có thể sử dụng VPN như WireGuard để kết nối các máy chủ của mình hoặc sử dụng nhà cung cấp dịch vụ đám mây có mạng riêng giữa các máy chủ. Bạn cũng có thể chọn chạy Elasticsearch, Kibana, Filebeat và Suricata trên cùng một máy chủ để thử nghiệm.
Bước đầu tiên trong hướng dẫn này là cài đặt Elasticsearch và Kibana trên máy chủ Elasticsearch của bạn. Để bắt đầu, hãy thêm Elastic GPG key vào máy chủ 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 nguồn 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 chỉ mục gói của máy chủ của bạn và cài đặt Elasticsearch và Kibana:
- sudo apt update
- sudo apt install elasticsearch kibana
Sau khi cài đặt xong các gói, hãy tìm và ghi lại địa chỉ IP riêng của máy chủ của bạn bằng lệnh ip address show
:
- ip -brief address show
Bạn sẽ nhận được đầu ra như sau:
Outputlo 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
Giao diện mạng riêng trong đầu ra này 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 nhau. Tuy nhiên, địa chỉ sẽ từ các khối địa chỉ dành riêng sau:
10.0.0.0
to 10.255.255.255
(10/8 prefix)172.16.0.0
to 172.31.255.255
(172.16/12 prefix)192.168.0.0
to 192.168.255.255
(192.168/16 prefix)Nếu bạn muốn tìm hiểu thêm về cách các khối này được phân bổ, hãy truy cập RFC 1918 specification
Ghi lại địa chỉ IP riêng cho máy chủ Elasticsearch 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
trong phần còn lại của hướng dẫn này. Cũng lưu ý tên của giao diện mạng, trong trường hợp này là eth1
. Trong phần tiếp theo của hướng dẫn này, bạn sẽ thiết lập cấu hình Elasticsearch và Kibana để lắng nghe các kết nối trên địa chỉ IP riêng đến từ máy chủ Suricata của bạn.
Elasticsearch được thiết lập cấu hình để chỉ chấp nhận các kết nối cục bộ theo mặc định. Ngoài ra, nó không có bất kỳ xác thực nào được kích hoạt, vì vậy các công cụ như Filebeat sẽ không thể gửi nhật ký đến nó. Trong phần này của hướng dẫn, bạn sẽ thiết lập cấu hình cài đặt mạng cho Elasticsearch và sau đó bật mô-đun bảo mật xpack
tích hợp sẵn của Elasticsearch.
Vì máy chủ Elasticsearch và Suricata của bạn là riêng biệt, bạn sẽ cần phải thiết lập cấu hình Elasticsearch để lắng nghe các kết nối trên giao diện mạng riêng của nó. Bạn cũng sẽ cần phải thiết lập cấu hình các quy tắc tường lửa của mình để cho phép truy cập vào Elasticsearch trên giao diện mạng riêng của bạn.
Mở tệp /etc/elasticsearch/elasticsearch.yml
bằng nano
hoặc trình chỉnh sửa ưa thích của bạn:
- sudo nano /etc/elasticsearch/elasticsearch.yml
Tìm dòng được nhận xét trong #network.host: 192.168.0.1
giữa các dòng 50–60 và thêm một dòng mới sau dòng đó để thiết lập cấu hình cài đặt network.bind_host
, như được đánh dấu bên dưới:
# 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 riêng của bạn cho địa chỉ your_private_ip
. Dòng này sẽ đảm bảo rằng Elasticsearch vẫn có sẵn trên địa chỉ cục bộ của nó để Kibana có thể truy cập nó, cũng như trên địa chỉ IP riêng cho máy chủ của bạn.
Tiếp theo, đi đến cuối tệp bằng phím tắt nano
CTRL + v
cho đến khi bạn đến cuối tệp.
Thêm các dòng được đánh dấu sau vào cuối tệp:
. . .
discovery.type: single-node
xpack.security.enabled: true
Cài đặt discovery.type
cho phép Elasticsearch chạy như một node duy nhất, trái ngược với trong một cụm các máy chủ Elasticsearch khác. Cài đặt xpack.security.enabled
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 bạn đang sử dụng nano
, bạn có thể làm như vậy bằng 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ủa bạn có thể truy cập được trên giao diện mạng riêng của nó. Nếu bạn đã làm theo các hướng dẫn trước 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ế giao diện mạng riêng của bạn thay cho eth1
nếu nó sử dụng một tên khác.
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 mô-đun bảo mật xpack
.
Bây giờ bạn đã thiết lập 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ó để các thay đổi có hiệu lực.
Chạy lệnh systemctl
dưới đây để khởi động Elasticsearch:
- sudo systemctl start elasticsearch.service
Khi Elasticsearch khởi động xong, bạn có thể tiếp tục đến phần tiếp theo của hướng dẫn này, nơi bạn sẽ tạo mật khẩu cho người dùng mặc định được tích hợp sẵn trong Elasticsearch.
Bây giờ bạn đã bật cài đặt xpack.security.enabled
, bạn cần tạo mật khẩu cho người dùng Elasticsearch mặc định. Elasticsearch bao gồm một tiện ích trong thư mục /usr/share/elasticsearch/bin
có thể tự động tạo mật khẩu ngẫu nhiên cho những người dùng này.
Chạy lệnh dưới đây để cd
vào thư mục và sau đó tạo mật khẩu ngẫu nhiên cho tất cả người dùng mặc định:
- cd /usr/share/elasticsearch/bin
- sudo ./elasticsearch-setup-passwords auto
Bạn sẽ nhận được đầu ra như dưới đây. Khi được nhắc tiếp tục, hãy nhấn y
và sau đó 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. Bạn sẽ cần sử dụng mật khẩu của kibana_system
user trong phần tiếp theo của hướng dẫn này và mật khẩu của elastic
user trong bước Thiết lập cấu hình Filebeat của hướng dẫn này.
Tại thời điểm này trong hướng dẫn, bạn đã hoàn tất việc thiết lập cấu hình Elasticsearch. Phần tiếp theo giải thích cách thiết lập cấu hình cài đặt mạng của Kibana và mô-đun bảo mật xpack
của nó.
Trong phần trước của hướng dẫn này, bạn đã thiết lập cấu hình Elasticsearch để lắng nghe các kết nối trên địa chỉ IP riêng của máy chủ Elasticsearch của mình. Bạn sẽ cần làm điều tương tự đối với Kibana để Filebeats trên máy chủ Suricata của bạn có thể tiếp cận nó.
Trước tiên, bạn sẽ kích hoạt chức năng bảo mật xpack
của Kibana bằng cách tạo một số bí mật mà Kibana sẽ sử dụng để lưu trữ dữ liệu trong Elasticsearch. Sau đó, bạn sẽ thiết lập cấu hình cài đặt mạng và chi tiết xác thực của Kibana để kết nối với Elasticsearch.
xpack.security
trong KibanaĐể bắt đầu với 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 phiên (như cookie), cũng như các trang tổng quan và chế độ xem dữ liệu đã lưu khác nhau trong Elasticsearch.
Bạn có thể tạo các khóa mã hóa cần thiết bằng cách sử dụng tiện ích kibana-encryption-keys
có trong thư mục /usr/share/kibana/bin
. Chạy lệnh dưới đây để cd
vào thư mục và sau đó tạo các khóa:
- cd /usr/share/kibana/bin/
- sudo ./kibana-encryption-keys generate -q
Cờ -q
ngăn chặn các hướng dẫn của công cụ để bạn chỉ nhận được đầu ra như sau:
Outputxpack.encryptedSavedObjects.encryptionKey: 66fbd85ceb3cba51c0e939fb2526f585
xpack.reporting.encryptionKey: 9358f4bc7189ae0ade1b8deeec7f38ef
xpack.security.encryptionKey: 8f847a594e4a813c4187fa93c884e92b
Sao chép đầu ra của bạn ở một nơi an toàn. Bây giờ bạn sẽ thêm chúng vào tệp cấu hình /etc/kibana/kibana.yml
của Kibana.
Mở tệp 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 tới cuối tệp bằng phím tắt nano
CTRL + v
cho đến khi bạn đến cuối tệp. 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
Giữ tệp mở và chuyển sang phần tiếp theo, nơi bạn sẽ thiết lập cấu hình cài đặt mạng của Kibana.
Để thiết lập cấu hình mạng của Kibana để nó khả dụng trên địa chỉ IP riêng của máy chủ Elasticsearch của bạn, hãy tìm dòng #server.host: "localhost"
được nhận xét trong /etc/kibana/kibana.yml
. Dòng ở gần đầu tệp. Thêm một dòng mới sau dòng với địa chỉ IP riêng của máy chủ của bạn, như được đánh dấu bên dưới:
# 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 riêng của bạn thay cho địa chỉ your_private_ip
.
Lưu và đóng tệp khi bạn chỉnh sửa xong. Nếu bạn đang sử dụng nano
, bạn có thể làm như vậy bằng CTRL + X
, sau đó Y
và ENTER
để xác nhận.
Tiếp theo, bạn sẽ cần thiết lập cấu hình username và password mà Kibana sử dụng để kết nối với Elasticsearch.
Có hai cách để đặt username và password 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 keystore của Kibana, đây là một tệp được xáo trộn mà Kibana có thể sử dụng để lưu trữ bí mật.
Chúng ta sẽ sử dụng phương pháp keystore trong hướng dẫn này vì nó tránh chỉnh sửa trực tiếp tệp cấu hình của Kibana.
Thay vào đó, nếu bạn muốn chỉnh sửa tệp, các cài đặt để thiết lập cấu hình trong đó là elasticsearch.username
và elasticsearch.password
.
Nếu bạn chọn chỉnh sửa tệp cấu hình, hãy bỏ qua các bước còn lại trong phần này.
Để thêm bảo mật cho keystore bằng tiện ích kibana-keystore
, trước tiên hãy chuyển cd
vào thư mục /usr/share/kibana/bin
. Tiếp theo, chạy lệnh sau để đặt username cho Kibana:
- sudo ./kibana-keystore add elasticsearch.username
Bạn sẽ nhận được một lời nhắc 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 username cẩn thận. Mỗi ký tự bạn nhập sẽ được che bằng ký tự *
. Nhấn ENTER
hoặc RETURN
khi bạn nhập xong username.
Bây giờ lặp lại lệnh tương tự cho password. Đảm bảo sao chép mật khẩu cho kibana_system
user mà bạn đã tạo trong phần trước của hướng dẫn này. Để tham khảo, trong hướng dẫn này, mật khẩu ví dụ là 1HLVxfqZMd7aFQS6Uabl
.
Chạy lệnh sau để đặt mật khẩu:
- 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 phiên âm nào:
Enter value for elasticsearch.password: ********************
Bây giờ bạn đã thiết lập cấu hình mạng và cài đặt bảo mật xpack
cho Kibana, cũng như thêm thông tin đăng nhập vào kho khóa, bạn cần khởi động nó để các thay đổi có hiệu lực.
Chạy lệnh systemctl
dưới đây để khởi động lại Kibana:
- sudo systemctl start kibana.service
Khi Kibana khởi động, bạn có thể tiếp tục đến phần tiếp theo của hướng dẫn này, nơi bạn sẽ thiết lập cấu hình Filebeat trên máy chủ Suricata của mình để gửi nhật ký của nó đến Elasticsearch.
Bây giờ các quy trình Elasticsearch và Kibana của bạn đã được thiết lậph cấu hình với cài đặt mạng và xác thực chính xác, bước tiếp theo là cài đặt và thiết lập Filebeat trên máy chủ Suricata của bạn.
Để bắt đầu cài đặt Filebeat, hãy thêm Elastic GPG key vào máy chủ Suricata 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 nguồn đàn hồi 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 chỉ mục gói của máy chủ và cài đặt gói Filebeat:
- sudo apt update
- sudo apt install filebeat
Tiếp theo, bạn sẽ cần thiết lập cấu hình Filebeat để 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
của tệp xung quanh dòng 100. Thêm một dòng sau dòng được nhận xét #host: "localhost: 5601"
trỏ đến địa chỉ IP riêng và cổng của cá thể Kibana của bạn:
. . .
# 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 để tạo các chỉ số SIEM, trang tổng quan và đường ống xử lý khác nhau trong Elasticsearch để xử lý nhật ký Suricata của bạn.
Tiếp theo, tìm phần Elasticsearch Output
của tệp xung quanh dòng 130 và chỉnh sửa cài đặt hosts
, username
và password
để khớp với các giá trị cho máy chủ Elasticsearch 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 riêng của máy chủ Elasticsearch của bạn trên dòng hosts
thay cho giá trị your_private_ip
. Bỏ ghi chú trường username
và đặt nó cho 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 Thiết lập cấu hình Mật khẩu Elasticsearch của hướng dẫn này.
Lưu và đóng tệp khi bạn chỉnh sửa xong. Nếu bạn đang sử dụng nano
, bạn có thể làm như vậy bằng CTRL + X
, sau đó Y
và ENTER
để xác nhận.
Tiếp theo, kích hoạt mô-đun Suricata tích hợp sẵn của Filebeats bằng lệnh sau:
- sudo filebeat modules enable suricata
Bây giờ Filebeat đã được thiết lập cấu hình để kết nối với Elasticsearch và Kibana, với mô-đun Suricata được kích hoạt, bước tiếp theo là tải bảng điều khiển (dashboards) và đường ống (pipelines) SIEM vào Elasticsearch.
Chạy lệnh filebeat setup
. Có thể mất vài phút để tải mọi thứ:
- sudo filebeat setup
Khi lệnh kết thúc, bạn sẽ nhận được đầu ra như sau:
OutputOverwriting 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. Nó sẽ bắt đầu gửi các sự kiện từ nhật ký eve.json
của Suricata tới Elasticsearch khi nó đang chạy.
- sudo systemctl start filebeat.service
Bây giờ bạn đã thiết lập cấu hình Filebeat, Kibana và Elasticsearch để xử lý nhật ký Suricata của mình, 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á SIEM dashboards.
Kibana là thành phần đồ họa của Elastic stack. Bạn sẽ sử dụng Kibana với trình duyệt của mình để khám phá dữ liệu cảnh báo và sự kiện của Suricata. Vì bạn đã thiết lập cấu hình Kibana để chỉ khả dụng qua địa chỉ IP riêng của máy chủ Elasticsearch, bạn sẽ cần sử dụng SSH tunnel để kết nối với Kibana.
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 một cổng cục bộ qua kết nối của nó với địa chỉ IP từ xa và cổng 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 sang phiên bản Kibana của bạn.
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 khách SSH tích hợp sẵn để tạo đường hầm. Bạn sẽ sử dụng lệnh này mỗi khi muốn kết nối với Kibana. Bạn có thể đóng kết nối này bất kỳ lúc nào và sau đó chạy lại lệnh SSH để thiết lập lại đường hầm.
Chạy lệnh sau trong một thiết bị đầu cuối trên máy tính để bàn hoặc máy tính xách tay cục bộ của bạn để tạo đường hầm SSH tới Kibana:
- ssh -L 5601:your_private_ip:5601 sammy@203.0.113.5 -N
Các đối số khác nhau cho SSH là:
-L
chuyển tiếp lưu lượng truy cập đến hệ thống cục bộ của bạn trên cổng 5601
đến máy chủ từ xa.your_private_ip: 5601
của lệnh chỉ định dịch vụ trên máy chủ Elasticsearch của bạn 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. Đảm bảo thay thế địa chỉ IP riêng của máy chủ Elasticsearch của bạn thay cho your_private_ip
.203.11.0.5
là địa chỉ IP công cộng mà bạn sử dụng để kết nối và quản trị máy chủ của mình. Thay thế địa chỉ IP công cộng của máy chủ Elasticsearch của bạn vào vị trí của nó.-N
hướng dẫn SSH không chạy một lệnh giống như một trình bao tương tác /bin/bash
, và thay vào đó, chỉ giữ kết nối mở. Nó thường được sử dụng khi chuyển tiếp các cổng như trong ví dụ này.Nếu bạn muốn đóng đường hầm bất kỳ lúc nào, hãy nhấn CTRL + C
.
Trên Windows, thiết bị đầu cuối 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 bạn không sử dụng SSH key. Nhập hoặc dán nó vào lời nhắc và nhấn ENTER
hoặc RETURN
.
Trên macOS và Linux, thiết bị đầu cuối của bạn sẽ tương tự như ảnh chụp màn hình sau:
Khi bạn đã kết nối với máy chủ Elasticsearch của mình qua SSH với cổng chuyển tiếp tại chỗ, 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 của bạn không thể kết nối với Kibana, bạn sẽ nhận được một thông báo như sau trong thiết bị đầu cuối của mình:
Outputchannel 3: open failed: connect failed: No route to host
Lỗi này cho biết rằng đường hầm SSH của bạn không thể kết nối với dịch vụ Kibana trên máy chủ của bạn. Đảm bảo rằng bạn đã chỉ định địa chỉ IP riêng chính xác cho máy chủ Elasticsearch của mình và tải lại trang trong trình duyệt của bạn.
Đăng nhập vào máy chủ Kibana của bạn bằng cách sử dụng elastic
cho Username và password mà bạn đã sao chép trước đó trong hướng dẫn này cho user.
Sau khi đăng nhập vào Kibana, bạn có thể khám phá Suricata dashboards mà Filebeat đã thiết lập cấu hình cho bạn.
Trong trường tìm kiếm ở đầu trang Kibana Welcome, hãy 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ả: trang Suricata Events và Suricata Alerts dashboards theo ảnh chụp màn hình sau:
Nhấp vào kết quả [Filebeat Suricata] Events Overview
để truy cập Kibana dashboard hiển thị tổng quan về tất cả các sự kiện Suricata đã ghi:
Để truy cập trang Suricata Alerts dashboard, hãy lặp lại tìm kiếm hoặc nhấp vào liên kết Alerts
có trong Events dashboard. Trang của bạn sẽ giống như ảnh chụp màn hình sau:
Nếu bạn muốn kiểm tra các sự kiện và cảnh báo mà mỗi dashboard hiển thị, hãy cuộn xuống cuối trang, nơi bạn sẽ tìm thấy một bảng liệt kê từng sự kiện và cảnh báo. Bạn có thể mở rộng từng mục nhập để xem mục nhập nhật ký ban đầu từ Suricata và kiểm tra chi tiết các trường khác nhau như IP nguồn và đích cho một cảnh báo, kiểu tấn công, ID chữ ký Suricata và các trường khác.
Kibana cũng có một bộ Security dashboards được tích hợp sẵn mà bạn có thể truy cập bằng cách sử dụng menu ở bên trái của 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 của bạn. Trang tổng quan của bạn sẽ giống như ảnh chụp màn hình sau:
Bạn có thể cuộn xuống cuối trang Network dashboard để có 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 được chỉ định của bạn. 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 Kibana timeline, sau đó bạn có thể sử dụng để điều tra luồng lưu lượng truy cập cụ thể, cảnh báo hoặc ID cộng đồng.
Trong hướng dẫn này, bạn đã cài đặt và thiết lập cấu hình Elasticsearch và Kibana trên một máy chủ độc lập. Bạn đã thiết lập cấu hình cả hai công cụ để khả dụng trên một địa chỉ IP riêng. Bạn cũng đã thiết lập cấu hình cài đặt xác thực của Elasticsearch và Kibana bằng mô-đun bảo mật xpack
đi kèm với mỗi công cụ.
Sau khi hoàn thành các bước cấu hình Elasticsearch và Kibana, bạn cũng đã cài đặt và thiết lập cấu hình Filebeat trên máy chủ Suricata của mình. Bạn đã sử dụng Filebeat để điền trang tổng quan của Kibana và bắt đầu gửi nhật ký Suricata tới Elasticsearch.
Cuối cùng, bạn đã tạo một đường hầm SSH đến máy chủ Elasticsearch của mình và đăng nhập vào Kibana. Bạn đã tìm thấy các trang Suricata Events và Alerts dashboards mới, cũng như trang Network dashboard.