Saturday, January 18, 2025

[CrowdSec] – Phần 8 – Cài đặt Metabase (Dashboard) cho CrowdSec

-

1. Tổng quan.

Dashboard cho CrowdSec là một giao diện người dùng trực quan giúp bạn theo dõi và quản lý các hoạt động bảo mật được ghi lại và xử lý bởi CrowdSec. Nó cung cấp một cách tiện lợi để hiển thị thông tin cảnh báo, thống kê, và các chi tiết về các sự kiện bảo mật trên hệ thống của bạn.

Một số tính năng và chức năng chính của Dashboard CrowdSec bao gồm:

  • Hiển thị Cảnh báo: Dashboard cho phép bạn xem danh sách các cảnh báo bảo mật mà CrowdSec đã phát hiện. Bạn có thể thấy thông tin chi tiết về mỗi cảnh báo, bao gồm nguồn IP, loại tấn công, và thời gian xảy ra.
  • Biểu đồ và Thống kê: Dashboard cung cấp biểu đồ và thống kê để giúp bạn hiểu về mức độ nguy cơ và hoạt động bảo mật trên hệ thống của bạn. Bạn có thể theo dõi xu hướng tấn công, thống kê IP đang bị cấm, và nhiều thông tin hữu ích khác.
  • Tùy chỉnh: Bạn có thể tùy chỉnh Dashboard để hiển thị các biểu đồ và báo cáo theo nhu cầu của bạn. Điều này cho phép bạn tạo một giao diện quản trị tập trung dựa trên các yếu tố quan trọng cho tổ chức của bạn.
  • Quản lý Quyết định: Dashboard cung cấp giao diện để quản lý các quyết định bảo mật, cho phép bạn xem và điều chỉnh cách CrowdSec xử lý các sự kiện cụ thể.
  • Cài đặt và Cấu hình: Bạn có thể cài đặt và cấu hình Dashboard để phù hợp với môi trường của bạn. Điều này bao gồm cấu hình kết nối đến dịch vụ CrowdSec và quyền truy cập người dùng.

2. Thông tin quan trọng.

Phần này cung cấp một số thông tin quan trọng sau khi bạn đã thiết lập CrowdSec Metabase Dashboard bằng lệnh sudo cscli dashboard setup:

  • Credentials (Thông tin đăng nhập): Lệnh dashboard setup sẽ tạo ra các thông tin đăng nhập (credentials) cho Metabase. Thông tin này bao gồm tên người dùng và mật khẩu để truy cập vào Metabase Dashboard.
  • Lưu trữ Credentials: Các thông tin đăng nhập này được lưu trữ trong file /etc/crowdsec/metabase/metabase.yaml trên máy chủ của bạn. Bạn có thể kiểm tra file này để xem các thông tin đăng nhập được lưu trữ.
  • Kết nối đến Dashboard: Bây giờ, sau khi đã thiết lập Metabase Dashboard, bạn có thể kết nối đến nó bằng cách sử dụng thông tin đăng nhập được tạo ra trước đó. Truy cập Metabase Dashboard bằng cách mở trình duyệt web và điền địa chỉ IP hoặc tên miền của máy chủ của bạn, sau đó sử dụng thông tin đăng nhập (tên người dùng và mật khẩu) để đăng nhập.
  • Quản lý Image Docker: Bạn có thể quản lý image Docker của Metabase Dashboard bằng cách sử dụng cả csclidocker cli. Để biết thêm thông tin về cách quản lý Docker image của Dashboard, bạn có thể kiểm tra hướng dẫn sử dụng lệnh sudo cscli dashboard -h. Điều này sẽ hiển thị các tùy chọn liên quan đến quản lý Dashboard bằng cscli.

3. Cài đặt Dashboard.

Nếu CrowdSec Dashboard không được cài đặt sẵn khi bạn cài đặt CrowdSec, bạn có thể phải cài đặt nó riêng biệt bằng cách thực hiện các bước sau:

Bước 1 – Cài đặt Docker (nếu chưa có): Dashboard của CrowdSec được đóng gói trong một container Docker, vì vậy trước tiên, bạn cần cài đặt Docker nếu chưa có nó trên máy chủ của bạn. Bạn có thể thực hiện điều này bằng cách tuân theo hướng dẫn cài đặt Docker cho hệ điều hành của bạn. Đây là ví dụ cho hệ điều hành Ubuntu https://wiki.hoanghd.com/cai-dat-docker-tren-ubuntu/.

Bước 2 – Tải và chạy Container của CrowdSec Dashboard: Mở terminal và chạy lệnh cscli dashboard setup -l 0.0.0.0 -p 3000 --password Hoanghd164 -y để tải và chạy container của CrowdSec Dashboard.

Câu lệnh sudo cscli dashboard setup được sử dụng để thiết lập và bắt đầu Dashboard của CrowdSec Metabase. Dưới đây là các tùy chọn và đối số tùy chọn bạn có thể sử dụng với lệnh này:

  • -l hoặc --listen: Đây là địa chỉ IP mà Metabase Dashboard sẽ lắng nghe. Theo mặc định, nó sẽ lắng nghe trên địa chỉ IP 127.0.0.1, tức là chỉ từ máy chủ nơi bạn đang chạy lệnh này có thể truy cập Dashboard. Nếu bạn muốn cho phép truy cập từ các máy tính khác trong mạng, bạn có thể chỉ định địa chỉ IP của máy chủ của bạn. Ví dụ: -l 0.0.0.0 sẽ lắng nghe trên tất cả các giao diện mạng.
  • -p hoặc --port: Đây là cổng mà Metabase Dashboard sẽ lắng nghe. Theo mặc định, nó sẽ lắng nghe trên cổng 8080. Bạn có thể thay đổi cổng này nếu cần thiết.
  • --password: Đây là mật khẩu cho tài khoản Metabase. Mặc định, một mật khẩu sẽ được tạo ngẫu nhiên. Nếu bạn muốn chỉ định một mật khẩu cụ thể, bạn có thể sử dụng đối số này.
  • -f hoặc --force: Nếu bạn muốn ghi đè lên cài đặt Metabase Dashboard hiện có (nếu có), bạn có thể sử dụng đối số này.

Sau khi chạy lệnh cscli dashboard setup -l 0.0.0.0 -p 3000 --password Hoanghd164 -y, Metabase Dashboard sẽ được thiết lập và bắt đầu chạy với các cài đặt bạn đã chỉ định. Sau đó, bạn có thể truy cập Dashboard bằng cách sử dụng địa chỉ IP hoặc tên miền của máy chủ của bạn và cổng bạn đã cấu hình.

$ cscli dashboard setup -l 0.0.0.0 -p 3000 --password Hoanghd164 -y
WARN[20-08-2023 11:29:59] You are using sqlite without WAL, this can have a performance impact. If you do not store the database in a network share, set db_config.use_wal to true. Set explicitly to false to disable this warning. 
WARN[20-08-2023 11:29:59] You are using sqlite without WAL, this can have a performance impact. If you do not store the database in a network share, set db_config.use_wal to true. Set explicitly to false to disable this warning. 
? For metabase docker to be able to access SQLite file we need to add a new group called 'crowdsec' to the system, is it ok for you ? Yes
INFO[20-08-2023 11:30:03] Pulling docker image metabase/metabase:v0.41.5 
...
INFO[20-08-2023 11:30:05] creating container 'crowdsec-metabase'       
INFO[20-08-2023 11:30:06] waiting for metabase to be up (can take up to a minute) 
...........
INFO[20-08-2023 11:30:49] Metabase is ready                            

        URL       : 'http://0.0.0.0:3000'
        username  : 'crowdsec@crowdsec.net'
        password  : 'qMIwBCVPOzk4Tn6R'

Verify lại kết quả.

$ docker ps
CONTAINER ID   IMAGE                       COMMAND                  CREATED         STATUS         PORTS                    NAMES
e74b79d3a122   metabase/metabase:v0.41.5   "/app/run_metabase.sh"   2 minutes ago   Up 2 minutes   0.0.0.0:3000->3000/tcp   crowdsec-metabase

Như bạn đã thấy crowdsec-metabase đang listen port 3000 nên bạn hãy sử dụng trình duyệt và login vào http://<ip_node>:3000 và sủ dụng username/password ở trên để login nó.

Kết quả login thành công.

Nếu bạn muốn xoá crowdsec-metabase này, hãy sử dụng lệnh cscli dashboard remove.

$ cscli dashboard remove
WARN[20-08-2023 11:29:53] You are using sqlite without WAL, this can have a performance impact. If you do not store the database in a network share, set db_config.use_wal to true. Set explicitly to false to disable this warning. 
WARN[20-08-2023 11:29:53] You are using sqlite without WAL, this can have a performance impact. If you do not store the database in a network share, set db_config.use_wal to true. Set explicitly to false to disable this warning. 
? Do you really want to remove crowdsec dashboard? (all your changes will be lost) Yes
INFO[20-08-2023 11:29:56] container stopped successfully               
INFO[20-08-2023 11:29:56] Removing docker metabase crowdsec-metabase   
INFO[20-08-2023 11:29:56] container crowdsec-metabase stopped & removed

4. Một số lệnh cơ bản để quản lý CrowdSec.

Dưới đây là một số lệnh và tùy chọn để quản lý Dashboard của CrowdSec Metabase:

  • Xóa Dashboard:
    • sudo cscli dashboard remove: Sử dụng lệnh này để xóa Dashboard của CrowdSec Metabase. Lưu ý rằng bạn có thể cung cấp đối số -f hoặc --force để buộc việc xóa, nếu cần thiết. Lệnh này sẽ gỡ bỏ Dashboard khỏi hệ thống của bạn.
  • Dừng Dashboard:
    • sudo cscli dashboard stop: Sử dụng lệnh này để tạm dừng Dashboard của CrowdSec Metabase. Điều này sẽ ngừng hoạt động của Dashboard mà không xóa nó khỏi hệ thống.
  • Khởi động Dashboard:
    • sudo cscli dashboard start: Sử dụng lệnh này để khởi động lại Dashboard của CrowdSec Metabase sau khi đã dừng nó.

Lưu ý rằng bạn cũng có thể xem tài liệu liên quan đến việc triển khai Metabase mà không sử dụng Docker để biết thêm thông tin về cách triển khai Dashboard trong môi trường khác: CrowdSec Metabase Deployment Documentation.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories