Cách cài đặt Fleet Osquery Manager trên Ubuntu 22.04

theanh

Administrator
Nhân viên
Fleet là trình quản lý osquery nguồn mở có thể được sử dụng để duy trì các máy trạm và máy chủ an toàn, đồng thời lưu trữ chính xác tất cả các thiết bị của bạn. Fleet cho phép lập trình các truy vấn trực tiếp, nhật ký phát trực tuyến và khả năng hiển thị thời gian thực của máy chủ, vùng chứa và thiết bị như máy tính xách tay và máy tính cục bộ.

Với fleet, bạn có thể xác định các lỗ hổng trên thiết bị của mình. Điều này có nghĩa là fleet sẽ tự động xác định phần mềm, ứng dụng và gói đã lỗi thời, dễ bị tấn công hoặc bị xâm phạm. Ngoài ra, fleet sẽ xác định các cấu hình sai của thiết bị và các sự cố đăng ký MDM. Fleet có thể hữu ích cho các ngành công nghiệp CNTT, bảo mật hoặc bất kỳ thiết bị giám sát tuân thủ nào.

Fleet cũng cho phép và tự động hóa các quy trình công việc bảo mật trong một ứng dụng duy nhất. Bạn có thể thu thập các sự kiện bằng osquery/agent từ nhiều máy chủ và thiết bị, sau đó lưu trữ dữ liệu đã thu thập ở một nơi duy nhất có thể truy cập thông qua bảng điều khiển Fleet hoặc sử dụng thiết bị đầu cuối qua fleetctl.

Trong hướng dẫn này, bạn sẽ cài đặt Fleet Osquery Manager trên máy chủ Ubuntu 22.04. Quá trình này bao gồm cài đặt máy chủ MySQL và Redis trên hệ thống Ubuntu. Và cuối cùng, bạn cũng sẽ học cách thêm máy chủ vào fleet thông qua Orbit, đây là thời gian chạy osquery và trình cập nhật tự động cho phép bạn dễ dàng triển khai osquery và quản lý cấu hình.

Điều kiện tiên quyết​

Để bắt đầu với hướng dẫn này, bạn phải có các yêu cầu sau:
  • Một máy chủ chạy Ubuntu 22.04 - Ví dụ này sử dụng máy chủ Ubuntu có tên máy chủ là 'fleet'.
  • Một người dùng không phải root có quyền quản trị viên sudo/root.
  • Một tên miền trỏ đến địa chỉ IP của máy chủ - Ví dụ này sử dụng tên miền 'fleet.howtoforge.local'.
Vậy là xong; Bây giờ chúng ta hãy bắt đầu cài đặt trình quản lý fleet osquery.

Cài đặt MySQL Server​

Trong kiến trúc cơ bản, trình quản lý fleet osquery sử dụng máy chủ MySQL làm cơ sở dữ liệu phụ trợ và lưu trữ dữ liệu. Điều đầu tiên bạn phải làm đối với hướng dẫn này là cài đặt máy chủ MySQL, bảo mật cài đặt MySQL và thiết lập mật khẩu gốc MySQL.

Để bắt đầu, hãy chạy lệnh apt bên dưới để cập nhật và làm mới chỉ mục gói Ubuntu của bạn.
Mã:
sudo apt update
Sau đó cài đặt gói máy chủ MySQL thông qua lệnh apt sau. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo apt install mysql-server

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22348%22%3E%3C/svg%3E


Sau khi MySQL được cài đặt, hãy chạy lệnh systemctl bên dưới để xác minh máy chủ MySQL và đảm bảo rằng dịch vụ đã được bật và đang chạy.
Mã:
sudo systemctl is-enabled mysql
sudo systemctl status mysql
Bạn sẽ nhận được thông báo như thế này - Máy chủ MySQL đã được bật và sẽ tự động khởi động khi hệ thống khởi động. Và trạng thái của máy chủ MySQL đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22234%22%3E%3C/svg%3E


Tiếp theo, đăng nhập vào shell MySQL thông qua lệnh 'mysql' bên dưới.
Mã:
sudo mysql
Chạy truy vấn bên dưới để thay đổi mật khẩu cho người dùng 'root' MySQL. Ngoài ra, hãy nhớ thay đổi mật khẩu sau trong truy vấn. Sau đó, nhập 'exit' để đăng xuất khỏi shell MySQL.
Mã:
ALTER USER "root"@"localhost" IDENTIFIED WITH mysql_native_password BY "toor?p4ssw0rd";
exit

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22271%22%3E%3C/svg%3E


Với lệnh đó, giờ bạn có thể bắt đầu bảo mật máy chủ MySQL thông qua lệnh 'mysql_secure_installation' bên dưới.
Mã:
sudo mysql_secure_installation
Khi được nhắc nhập mật khẩu gốc MySQL, hãy nhập mật khẩu mới mà bạn đã cấu hình. Sau đó, bây giờ bạn sẽ được hỏi về các cấu hình máy chủ MySQL sau:
  • Thiết lập thành phần VALIDATE PASSWORD trên MySQL? Nhập Y để xác nhận.
  • Nhập chính sách mật khẩu số mà bạn muốn sử dụng. Chọn chính sách lựa chọn ưa thích của bạn cho máy chủ MySQL của bạn.
  • Thay đổi mật khẩu gốc MySQL? Nhập n cho Không.
  • Xóa người dùng ẩn danh MySQL mặc định? Nhập Y.
  • Vô hiệu hóa đăng nhập từ xa cho người dùng gốc MySQL? Nhập Y.
  • Xóa kiểm tra cơ sở dữ liệu mặc định khỏi máy chủ MySQL? Nhập Y.
  • Tải lại quyền bảng để áp dụng thay đổi? Nhập Y để xác nhận.
Với lệnh này, máy chủ MySQL đã được cài đặt, mật khẩu gốc đã được cấu hình và máy chủ MySQL cũng được bảo mật thông qua lệnh 'mysql_secure_installation'.

Cài đặt Redis Server​

Theo mặc định, trình quản lý hạm đội osquery sử dụng Redis để thu thập và xếp hàng kết quả của các truy vấn phân tán, lưu trữ dữ liệu đệm, v.v. Trong bước này, bạn sẽ cài đặt Redis trên máy chủ Ubuntu của mình.

Chạy lệnh apt sau để bắt đầu cài đặt Redis. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo apt install redis

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22245%22%3E%3C/svg%3E


Sau khi Redis được cài đặt, hãy chạy lệnh systemctl sau để xác minh dịch vụ Redis và đảm bảo rằng dịch vụ đã được bật và đang chạy.
Mã:
sudo systemctl is-enabled redis-server
sudo systemctl status redis-server
Bạn sẽ nhận được kết quả như thế này - Kết quả 'enabled' xác nhận rằng dịch vụ Redis đã được bật và sẽ tự động chạy khi hệ thống khởi động. Trạng thái của dịch vụ Redis theo mặc định là đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22254%22%3E%3C/svg%3E

Thiết lập Cơ sở dữ liệu và Người dùng MySQL​

Sau khi cài đặt máy chủ MySQL và Redis, bây giờ bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được fleet sử dụng.

Đăng nhập vào shell MySQL thông qua lệnh 'mysql' bên dưới.
Mã:
mysql -u root -p
Chạy các truy vấn sau để tạo cơ sở dữ liệu MySQL và người dùng mới. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu fleetdb với người dùng fleetadmin sẽ được sử dụng để cài đặt trình quản lý flee osquery. Ngoài ra, hãy nhớ thay đổi mật khẩu trong truy vấn sau.
Mã:
CREATE DATABASE fleetdb;
CREATE USER fleetadmin@localhost IDENTIFIED BY 'S3curep4ssw0rd--=';
GRANT ALL PRIVILEGES ON fleetdb.* TO fleetadmin@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Tiếp theo, chạy truy vấn sau để xác minh danh sách người dùng trên máy chủ MySQL. Và bạn sẽ nhận được kết quả đầu ra mà người dùng fleetadmin đã thêm vào MySQL.
Mã:
SELECT USER,host FROM mysql.user;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22456%22%20height=%22259%22%3E%3C/svg%3E


Chạy truy vấn sau để kiểm tra quyền cho người dùng MySQL fleetadmin. Bạn sẽ nhận được thông báo rằng fleetadmin có quyền truy cập vào cơ sở dữ liệu fleetdb.
Mã:
SHOW GRANTS FOR fleetadmin@localhost;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Bây giờ hãy nhập 'quit' để đăng xuất khỏi shell MySQL. Và bây giờ, bạn đã hoàn tất cấu hình máy chủ MySQL và sẵn sàng cài đặt trình quản lý fleet osquery.

Tải xuống Fleet Osquery Manager​

Trình quản lý Fleet osquery có sẵn dưới dạng tệp nhị phân duy nhất cung cấp các nội dung sau:
  • Máy chủ web Fleet TLS (không yêu cầu máy chủ web bên ngoài nhưng hỗ trợ proxy nếu muốn)
  • Giao diện web Fleet
  • API REST quản lý ứng dụng Fleet
  • Điểm cuối API Fleet osquery
Đối với fleetctl, đây là giao diện dòng lệnh của fleet cho phép bạn quản lý triển khai, cấu hình, tích hợp và báo cáo của fleet từ dòng lệnh.

Trong bước này, bạn sẽ tải xuống gói nhị phân fleet và fleetctl từ trang GitHub chính thức. Tại thời điểm viết bài này, phiên bản mới nhất của fleet và fleetctl là v4.26.

Trước khi bắt đầu, hãy tạo một người dùng hệ thống mới 'fleet' bằng lệnh bên dưới.
Mã:
sudo useradd -r -d /opt/fleet -s /usr/sbin/nologin fleet
Tải xuống gói nhị phân fleetfleetctl - giao diện dòng lệnh cho fleet - thông qua lệnh curl bên dưới.
Mã:
curl -LO https://github.com/fleetdm/fleet/releases/download/fleet-v4.26.0/fleet_v4.26.0_linux.tar.gz
curl -LO https://github.com/fleetdm/fleet/releases/download/fleet-v4.26.0/fleetctl_v4.26.0_linux.tar.gz

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22211%22%3E%3C/svg%3E


Sau khi tải xuống, hãy giải nén cả hai gói fleet và fleetctl thông qua lệnh tar bên dưới.
Mã:
tar xf fleet_v4.26.0_linux.tar.gz
tar xf fleetctl_v4.26.0_linux.tar.gz
Bây giờ hãy di chuyển tệp nhị phân của 'fleet' và 'fleetctl' vào thư mục '/usr/local/bin'.
Mã:
cp fleet_v4.26.0_linux/fleet /usr/local/bin/
cp fleetctl_v4.26.0_linux/fleetctl /usr/local/bin/

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22233%22%3E%3C/svg%3E


Kiểm tra biến môi trường PATH hiện tại trên hệ thống của bạn. Nếu thư mục '/usr/local/bin' có sẵn trên biến môi trường PATH, thì bạn có thể chạy lệnh 'fleet' và 'fleetctl'.
Mã:
echo $PATH
Xác minh đường dẫn đầy đủ của lệnh 'fleet' và 'fleetctl' bằng lệnh bên dưới. Cả hai tệp nhị phân đều có trong thư mục '/usr/local/bin'.
Mã:
which fleet
which fleetctl
Kiểm tra phiên bản của 'fleet' và 'fleetctl' bằng lệnh sau. Trong ví dụ này, bạn đã cài đặt fleet và fleetctl v4.26.
Mã:
fleet version
fleetctl --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22369%22%3E%3C/svg%3E


Cuối cùng, hãy chạy lệnh 'fleet' sau để khởi tạo cơ sở dữ liệu cho cài đặt của bạn. Ngoài ra, hãy nhớ thay đổi tên cơ sở dữ liệu, người dùng và mật khẩu. Với điều này, bạn sẽ tạo các bảng cần thiết cho trình quản lý osquery của đội tàu.
Mã:
fleet prepare db --mysql_address=127.0.0.1:3306 --mysql_database=fleetdb --mysql_username=fleetadmin --mysql_password=S3curep4ssw0rd--=
Dưới đây là kết quả trong quá trình khởi tạo/di chuyển cơ sở dữ liệu đội tàu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Khi quá trình khởi tạo hoàn tất, bạn sẽ nhận được kết quả như sau như 'Di chuyển đã hoàn tất'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22646%22%20height=%22233%22%3E%3C/svg%3E


Bây giờ cơ sở dữ liệu cho fleet osquery manager đã được di chuyển. Ở bước tiếp theo, bạn sẽ cấu hình triển khai fleet.

Cấu hình Fleet Osquery Manager​

Để triển khai fleet, bạn phải đảm bảo rằng bạn đã xác minh chứng chỉ SSL/TLS. Vì vậy, trước khi bắt đầu, hãy đảm bảo rằng bạn có tên miền hoặc tên miền cục bộ được trỏ đến địa chỉ IP của máy chủ và chứng chỉ SSL/TLS đã tạo. Bạn có thể sử dụng letsencrypt hoặc bất kỳ trình quản lý chứng chỉ nào trong môi trường cục bộ của bạn.

Đối với ví dụ này, các chứng chỉ SSL/TLS được tạo từ Letsencryopt sẽ được sử dụng để cài đặt Fleet Osquery Manager.

Chạy lệnh bên dưới để tạo các thư mục mới '/etc/fleet', '/etc/fleet/certs' và một tệp cấu hình mới '/etc/fleet/fleet.yml' và tệp dịch vụ mới '/etc/systemd/system/fleet.service'.
Mã:
mkdir -p /etc/fleet/certs
touch /etc/fleet/fleet.yml
touch /etc/systemd/system/fleet.service
Sao chép các chứng chỉ SSL/TLS của bạn vào Thư mục '/etc/fleet/certs'.
Mã:
cp /etc/letsencrypt/live/fleet.howtoforge.local/fullchain.pem /etc/fleet/certs/
cp /etc/letsencrypt/live/fleet.howtoforge.local/privkey.pem /etc/fleet/certs/
Thay đổi quyền sở hữu thư mục cấu hình đội tàu '/etc/fleet/certs' thành người dùng và nhóm 'fleet'.
Mã:
sudo chown -R fleet:fleet /etc/fleet
Tiếp theo, mở tệp cấu hình đội tàu '/etc/fleet/fleet.yml' bằng lệnh trình chỉnh sửa nano sau.
Mã:
nano /etc/fleet/fleet.yml
Thêm các dòng sau vào tệp. Ngoài ra, hãy đảm bảo thay đổi thông tin chi tiết về cơ sở dữ liệu (dbname, người dùng và mật khẩu) trong các dòng bên dưới.
Mã:
mysql:
 address: 127.0.0.1:3306
 database: fleetdb
 username: fleetadmin
 password: S3curep4ssw0rd--=
redis:
 address: 127.0.0.1:6379
server:
 cert: /etc/fleet/certs/fullchain.pem
 key: /etc/fleet/certs/privkey.pem
logging:
 json: true
# auth:
# jwt_key: 0iXLJRKhB77puDm13G6ehgkClK0kff6N
Lưu và thoát khỏi tệp '/etc/fleet/fleet.yml' khi hoàn tất.

Bây giờ hãy mở tệp dịch vụ đội tàu '/etc/systemd/system/fleet.service' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano /etc/systemd/system/fleet.service
Thêm các dòng sau vào tệp. Với lệnh này, bạn sẽ chạy fleet như một dịch vụ systemd cho phép bạn dễ dàng quản lý fleet thông qua tiện ích lệnh systemctl.
Mã:
[Unit]
Description=Fleet Osquery Fleet Manager
After=network.target

[Service]
User=fleet
Group=fleet
LimitNOFILE=8192
ExecStart=/usr/local/bin/fleet serve -c /etc/fleet/fleet.yml
ExecStop=/bin/kill -15 $(ps aux | grep "fleet serve" | grep -v grep | awk '{print$2}')

[Install]
WantedBy=multi-user.target
Lưu và thoát tệp khi hoàn tất.

Tiếp theo, chạy lệnh systemctl bên dưới để tải lại trình quản lý systemd và áp dụng các thay đổi.
Mã:
sudo systemctl daemon-reload
Sau đó, hãy khởi động và kích hoạt dịch vụ fleet bằng tiện ích lệnh systemctl bên dưới. Và dịch vụ fleet sẽ chạy và được kích hoạt.
Mã:
sudo systemctl start fleet
sudo systemctl enable fleet

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22179%22%3E%3C/svg%3E


Chạy tiện ích lệnh systemctl bên dưới để xác minh fleet dịch vụ.
Mã:
sudo systemctl status fleet
Đầu ra 'active (running)' xác nhận rằng dịch vụ đội tàu đang chạy và đầu ra '...; enabled;..' xác nhận rằng dịch vụ đội tàu sẽ tự động bắt đầu khi hệ thống khởi động. Ngoài ra, bạn có thể thấy lệnh start của fleet chạy với tệp cấu hình '/etc/fleet/fleet.yml'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22233%22%3E%3C/svg%3E

Cấu hình tường lửa UFW​

Trong bước này, bạn sẽ thiết lập và chạy tường lửa UFW trên Ubuntu. Bạn sẽ mở cổng dịch vụ OpenSSH và cổng TCP 8080 được fleet osquery manager sử dụng, sau đó bạn sẽ khởi động và bật UFW.

Chạy lệnh ufw bên dưới để thêm dịch vụ OpenSSH và cổng TCP 8080 vào UFW. Đầu ra 'Cập nhật quy tắc' xác nhận rằng cấu hình mới đã được thêm vào UFW.
Mã:
sudo ufw allow OpenSSH
sudo ufw allow 8080/tcp
Tiếp theo, chạy lệnh sau để khởi động và bật tường lửa UFW. Khi được nhắc, hãy nhập y và nhấn ENTER để tiếp tục. Với lệnh này, tường lửa UFW sẽ chạy và được bật.
Mã:
sudo ufw enable
Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22736%22%20height=%22238%22%3E%3C/svg%3E


Xác minh trạng thái của tường lửa UFW bằng lệnh sau. Bạn sẽ thấy đầu ra như 'Trạng thái: hoạt động' xác nhận rằng UFW đang chạy và được bật. Ngoài ra, bạn sẽ thấy cổng dịch vụ OpenSSH 8080/tcp khả dụng và được thêm vào tường lửa UFW.
Mã:
sudo ufw status
Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22509%22%20height=%22208%22%3E%3C/svg%3E

Cấu hình Fleet Osquery Quản lý​

Trong bước này, bạn sẽ thiết lập triển khai quản lý đội xe osquery. Bạn sẽ thiết lập người dùng đầu tiên và thiết lập triển khai thông qua trình duyệt web.

Mở trình duyệt web và truy cập miền cài đặt quản lý đội xe osquery của bạn với cổng TCP 8080 (tức là: https://fleet.howtoforge.local:8080/).

Trong bước đầu tiên, bạn sẽ được yêu cầu thiết lập người dùng đầu tiên cho triển khai đội xe của mình. Nhập tên đầy đủ, địa chỉ email và mật khẩu của bạn, sau đó nhấp vào Tiếp theo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22574%22%3E%3C/svg%3E


Nhập thông tin chi tiết về tổ chức, sau đó nhấp vào Tiếp theo một lần nữa.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22673%22%20height=%22750%22%3E%3C/svg%3E


Đối với URL đội xe, bạn có thể để nguyên mặc định và nhấp vào Tiếp theo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22729%22%20height=%22750%22%3E%3C/svg%3E


Kiểm tra lại cấu hình đội xe của bạn và nhấp vào Xác nhận để hoàn tất triển khai.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22700%22%20height=%22750%22%3E%3C/svg%3E


Khi thành công, bạn sẽ nhận được bảng điều khiển quản lý đội xe.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22337%22%3E%3C/svg%3E


Bây giờ quá trình cài đặt trình quản lý osquery đội xe đã hoàn tất. Với điều này, bạn có thể thêm máy chủ mới vào fleet theo nhiều cách như sử dụng Orbit (osquery runtime), fleet Desktop cho máy chủ có môi trường máy tính để bàn (bao gồm Windows và macOS) hoặc thủ công bằng cách tạo chứng chỉ TLS và bí mật fleet.

Thêm máy chủ thông qua Orbit Osquery Runtime​

Orbit là một osquery runtime và trình cập nhật tự động cho phép bạn dễ dàng triển khai osquery và quản lý cấu hình. Orbit là một tác nhân cho fleet, có thể sử dụng với hoặc không có Fleet và Fleet có thể sử dụng với hoặc không có Orbit.

Trong bước này, bạn sẽ tìm hiểu cách tạo trình cài đặt gói Orbit cho các bản phân phối dựa trên Debian. Sau đó, bạn sẽ học cách thêm máy chủ mới vào đội tàu thông qua Orbit.

Để bắt đầu, hãy quay lại bảng điều khiển đội tàu và nhấp vào 'Thêm máy chủ'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22508%22%20height=%22361%22%3E%3C/svg%3E


Chọn tab 'Nâng cao', tải xuống chứng chỉ hạm đội 'fleet.pem', sau đó sao chép lệnh sẽ được sử dụng để tạo gói quỹ đạo cho các bản phân phối cụ thể. Bạn có thể tạo trình cài đặt quỹ đạo cho RPM, DEB và pkg (dành cho macOS).


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22640%22%20height=%22540%22%3E%3C/svg%3E


Tiếp theo, tải chứng chỉ hạm đội mà bạn đã tải xuống lên máy chủ hạm đội. Trong ví dụ này, bạn sẽ sử dụng 'scp' để tải tệp 'fleet.pem' lên máy chủ fleet.
Mã:
scp fleet.pem [emailprotected]:/opt/
Sau khi chứng chỉ fleet.pem được tải lên, hãy chạy dòng lệnh sẽ được sử dụng để tạo gói cài đặt orbit. Hãy đảm bảo thay đổi tham số '--type' thành gói bạn muốn.

Trong ví dụ này, bạn sẽ tạo một gói orbit cho bản phân phối dựa trên Debian. Đối với RPM dựa trên, bạn có thể thay đổi tham số '--type' thành 'rpm', trong khi gói 'pkg' có thể được sử dụng để tạo trình cài đặt quỹ đạo cho macOS.
Mã:
fleetctl package --type=deb --fleet-url=https://fleet.howtoforge.local:8080 \
--enroll-secret=TSSnHvy350wlo1HmIeLcxRS3DrQO+Vah \
--fleet-certificate=/opt/fleet.pem
Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22252%22%3E%3C/svg%3E


Sau khi quá trình hoàn tất, bạn có thể thấy tệp 'fleet-osquery_version.deb' trong thư mục làm việc hiện tại của mình.

Tiếp theo, cài đặt gói orbit đã tạo thông qua lệnh dpkg bên dưới. Sau khi cài đặt, gói orbit sẽ tạo một tệp dịch vụ mới 'orbit.service' cho phép bạn quản lý orbit thông qua systemctl.
Mã:
sudo dpkg -i fleet-osquery_version.deb
Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22200%22%3E%3C/svg%3E


Sau khi orbit được cài đặt, hãy chạy lệnh systemctl bên dưới để khởi động dịch vụ orbit. Sau đó, hãy xác minh trạng thái để đảm bảo rằng dịch vụ quỹ đạo đang chạy.
Mã:
sudo systemctl start orbit
sudo systemctl status orbit
Bạn sẽ nhận được thông báo như thế này - Dịch vụ quỹ đạo đang 'hoạt động (đang chạy)' và được bật, sẽ tự động chạy khi hệ thống khởi động.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22226%22%3E%3C/svg%3E


Bây giờ quay lại bảng điều khiển đội tàu và bạn sẽ thấy máy chủ mới 'fleet.howtoforge.local' được thêm vào trình quản lý osquery đội tàu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22156%22%3E%3C/svg%3E


Nhấp vào tên máy chủ 'fleet.howtoforge.local' để biết thông tin chi tiết về máy chủ.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22386%22%3E%3C/svg%3E


Với điều này, giờ bạn đã thêm một máy chủ vào trình quản lý fleet osquery thông qua Orbit osquery runtime. Bạn cũng đã tạo trình cài đặt orbit cho các bản phân phối dựa trên Debian.

Thiết lập Fleetctl để quản lý Fleet​

Fleetctl hay Fleet control là dòng lệnh để quản lý việc triển khai fleet từ thiết bị đầu cuối. Fleetctl cho phép bạn quản lý cấu hình và truy vấn, tạo trình cài đặt osquery và kích hoạt quy trình làm việc GitOps với fleet.

Trong bước này, bạn sẽ thiết lập fleetctl và kết nối với trình quản lý fleet osquery mà bạn đã cài đặt.

Trước tiên, hãy chạy lệnh sau để thiết lập URL fleet mặc định. Hãy nhớ thay đổi tên miền và đảm bảo rằng bạn đang sử dụng kết nối bảo mật HTTPS. Với lệnh này, bạn sẽ thiết lập kết nối fleet trong ngữ cảnh/hồ sơ 'mặc định'.
Mã:
fleetctl config set --address https://fleet.howtoforge.local:8080
Đăng nhập vào trình quản lý fleet osquery của bạn bằng lệnh bên dưới. Hãy nhớ thay đổi địa chỉ email trong lệnh bên dưới.
Mã:
fleetctl login --email [emailprotected]
Bây giờ hãy nhập mật khẩu mà bạn đang sử dụng để đăng nhập vào bảng điều khiển đội xe. Sau khi thành công, bạn sẽ nhận được thông báo như sau 'Đăng nhập Fleet thành công và đã cấu hình ngữ cảnh!'.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22158%22%3E%3C/svg%3E


Sau khi đăng nhập vào fleet, hãy chạy lệnh fleetctl sau để xác minh cấu hình của bạn.

Kiểm tra danh sách các máy chủ khả dụng trên hạm đội.
Mã:
fleetctl get hosts
Đầu ra - Bạn sẽ thấy máy chủ 'fleet.howtoforge.local' có sẵn trên hạm đội với osquery v5.7.0.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22169%22%3E%3C/svg%3E


Đang kiểm tra danh sách người dùng có sẵn trên fleet.
Mã:
fleetctl get ur
Đầu ra - Bạn sẽ thấy người dùng fleet mà bạn đã tạo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22417%22%20height=%22191%22%3E%3C/svg%3E


Với điều này, giờ bạn đã cấu hình fleetctl và kết nối với triển khai fleet của mình. Giờ bạn có thể thiết lập máy chủ và truy vấn, quản lý cập nhật, chạy truy vấn trực tiếp từ máy chủ đầu cuối của mình.

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt Fleet Osquery Manager trên máy chủ Ubuntu 220.04. Bạn đã cài đặt Fleet với MySQL làm cơ sở dữ liệu phụ trợ và Redis để thu thập dữ liệu hàng đợi và bộ đệm. Ngoài ra, bạn đã bảo mật Fleet bằng chứng chỉ SSL/TLS và chạy Fleet như một dịch vụ systemd cho phép bạn quản lý Fleet bằng tiện ích lệnh systemctl một cách dễ dàng.

Cuối cùng, bạn đã thêm một máy chủ vào Fleet thông qua Orbit (thời gian chạy osquery) và tạo trình cài đặt gói cho các bản phân phối dựa trên Debian. Ngoài ra, bạn đã cấu hình fleetctl và đăng nhập vào Fleet để bạn có thể quản lý và cấu hình máy chủ từ máy chủ đầu cuối của mình.

Với điều này trong tâm trí, giờ đây bạn có thể thêm máy chủ mới vào Fleet osquery manage thông qua orbit hoặc thủ công thông qua dịch vụ osqueryd thông thường. Ngoài ra, bạn có thể xác định các truy vấn mới để giám sát máy chủ của mình, thiết lập xử lý lỗ hổng cho phép bạn phát hiện CVE thông qua Fleet và nhiều hơn nữa. Tìm hiểu thêm về Fleet từ tài liệu chính thức của Fleet.
 
Back
Bên trên