Cách cài đặt OpenSearch trên Debian 11

theanh

Administrator
Nhân viên
OpenSearch là một dự án do cộng đồng Amazon thúc đẩy và là một nhánh của Elasticsearch và Kibana. Đây là một công cụ tìm kiếm và bộ công cụ phân tích hoàn toàn mã nguồn mở với nhiều tính năng phong phú và chức năng sáng tạo. Thành phần chính của dự án OpenSearch là OpenSearch (một nhánh của Elasticsearch) và OpenSearch Dashboards (một nhánh của Kibana). Cả hai thành phần đều cung cấp các tính năng như bảo mật doanh nghiệp, cảnh báo, học máy, SQL, quản lý trạng thái chỉ mục, v.v.

OpenSearch là 100% mã nguồn mở và được cấp phép theo giấy phép Apache 2.0. Nó cho phép bạn dễ dàng thu thập, bảo mật, tìm kiếm, tổng hợp, xem và phân tích dữ liệu cho một số trường hợp sử dụng như phân tích nhật ký, tìm kiếm ứng dụng, tìm kiếm doanh nghiệp, v.v.

Trong hướng dẫn này, bạn sẽ triển khai OpenSearch - một bộ công cụ tìm kiếm, phân tích và trực quan hóa mã nguồn mở - lên máy chủ Debian 11. Quá trình này bao gồm tải xuống gói OpenSearch và cài đặt thủ công trên hệ thống Debian của bạn. Bạn cũng sẽ thiết lập chứng chỉ SSL/TLS an toàn cho OpenSearch và bảo mật việc triển khai bằng xác thực và ủy quyền.

Ngoài ra, bạn cũng sẽ triển khai và cài đặt OpenSearch Dashboards - một công cụ trực quan hóa nguồn mở - và cấu hình nó bằng OpenSearch. Cuối cùng, bạn sẽ có bộ phân tích dữ liệu và trực quan hóa được cài đặt trên máy chủ Debian của mình và bạn cần gửi dữ liệu của mình thông qua các công cụ như fluentd, Logstash, filebeat và nhiều công cụ khác.

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

Để hoàn thành hướng dẫn này, bạn phải có các yêu cầu sau:
  • Một máy chủ cài đặt Debian 11 và ít nhất 8GB RAM. Ví dụ này sử dụng hệ thống Debian với tên máy chủ 'node1' và địa chỉ IP cục bộ '192.168.5.50'.
  • Người dùng không phải root có quyền quản trị viên sudo/root.
Nếu các yêu cầu này đã sẵn sàng, bạn có thể bắt đầu cài đặt OpenSearch ngay bây giờ.

Thiết lập hệ thống​

Trong bước đầu tiên, bạn sẽ thiết lập và tối ưu hóa máy chủ Debian của mình để triển khai OpenSearch. Bạn sẽ thiết lập tên máy chủ và fqdn của hệ thống, vô hiệu hóa phân trang và hoán đổi bộ nhớ, sau đó bạn sẽ tăng số lượng bản đồ bộ nhớ tối đa.

Vô hiệu hóa phân trang và hoán đổi bộ nhớ trên máy chủ OpenSearch sẽ cải thiện hiệu suất. Đối với các bản đồ bộ nhớ tối đa, bạn sẽ cần thiết lập một số lượng ít nhất là '262144' cho sản xuất.

Chạy lệnh 'hostnamectl' bên dưới để thiết lập tên máy chủ hệ thống. Sau đó, thêm cấu hình fqdn vào tệp '/etc/hosts'. Trong ví dụ này, tên máy chủ phải là 'node1' với fqdn 'node1.hwdomain.lan'.
Mã:
sudo hostnamectl set-hostname node1
echo "192.168.5.50 node1.hwdomain.lan node1" >> /etc/hosts
Bây giờ hãy xác minh fqdn của máy chủ của bạn thông qua lệnh hostname bên dưới. Trong ví dụ, fqdn của máy chủ phải là 'node1.hwdomain.lan'.
Mã:
hostname -f
Đầu ra:


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


Tiếp theo, bạn sẽ cần phải vô hiệu hóa swap trên hệ thống của mình. Cho dù bạn đang sử dụng swap thông qua phân vùng hay tệp, cấu hình swap được lưu trữ tại tệp '/etc/fstab'.

Chạy lệnh bên dưới để vô hiệu hóa swap trên hệ thống của bạn. Lệnh 'sed' ở đây sẽ vô hiệu hóa swap vĩnh viễn thông qua tệp '/etc/fstab' bằng cách thêm lệnh '#' vào đầu dòng cài đặt swap. Lệnh 'swapoff' sẽ vô hiệu hóa hoán đổi trong phiên hiện tại.
Mã:
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a
Xác minh trạng thái hoán đổi thông qua lệnh bên dưới. Nếu bị vô hiệu hóa, bạn sẽ nhận được kết quả đầu ra '0' trong phần hoán đổi.
Mã:
free -m
Đầu ra:


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


Cuối cùng, bạn sẽ thêm cấu hình vào tệp '/etc/sysctl.conf' để tăng tối đa bản đồ bộ nhớ trên hệ thống của bạn.

Chạy lệnh bên dưới để thêm tham số 'vm.max_map_count=262144' vào tệp '/etc/sysctl.conf'. Sau đó, áp dụng các thay đổi thông qua lệnh 'sysctl -p'.
Mã:
sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p
Xác minh bản đồ bộ nhớ tối đa bằng cách chạy lệnh bên dưới. Nếu thành công, bản đồ bộ nhớ tối đa của bạn sẽ là '262144'.
Mã:
cat /proc/sys/vm/max_map_count
Đầu ra:


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


Với hệ thống đã được cấu hình và tối ưu hóa, bạn đã sẵn sàng cài đặt OpenSearch trên đó.

Tải xuống OpenSearch​

OpenSearch có thể được cài đặt theo nhiều cách. Trong ví dụ này, bạn sẽ cài đặt OpenSearch qua Tarball. Ở bước này, bạn sẽ tạo một người dùng hệ thống chuyên dụng mới 'opensearch', tải xuống gói tarball OpenSearch, sau đó thiết lập thư mục cài đặt OpenSearch với quyền và quyền sở hữu phù hợp.

Đầu tiên, hãy thêm người dùng hệ thống mới 'opensearch' bằng lệnh bên dưới.
Mã:
sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch
Thêm một nhóm mới 'opensearch' bằng lệnh groupadd bên dưới. Sau đó, thêm người dùng hệ thống của bạn 'opensearch' vào nhóm 'opensearch' thông qua lệnh usermod.
Mã:
sudo groupadd opensearch
sudo usermod -aG opensearch opensearch
Bây giờ hãy tạo một thư mục gốc mới '/home/opensearch' và thay đổi quyền sở hữu của thư mục gốc '/home/opensearch' thành 'opensearch' người dùng.
Mã:
mkdir -p /home/opensearch
sudo chown -R opensearch /home/opensearch
Đầu ra:


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


Tiếp theo, tải xuống gói OpenSource thông qua lệnh wget. Sau khi tải xuống hoàn tất, hãy giải nén tệp thông qua lệnh tar bên dưới. Trong ví dụ này, bạn sẽ cài đặt OpenSearch 2.4.1. Kiểm tra phiên bản mới nhất của OpenSearch trên trang tải xuống chính thức.
Mã:
wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.4.1/opensearch-2.4.1-linux-x64.tar.gz
tar xf opensearch-2.4.1-linux-x64.tar.gz
Sau khi giải nén gói OpenSearch, hãy di chuyển thư mục đã giải nén đến '/opt/opensearch'. Đây sẽ là thư mục cài đặt chính cho OpenSearch. Sau đó, chạy lệnh chown để thay đổi quyền sở hữu thư mục '/opt/opesearch' thành người dùng 'opensearch'.
Mã:
mv opensearch-2.4.1 /opt/opensearch
sudo chown -R opensearch /opt/opensearch
Đầu ra:


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


Bây giờ bạn đã tải xuống gói OpenSearch, hãy định cấu hình mục tiêu thư mục cài đặt tới '/opt/opensearch'. Tiếp theo, bạn sẽ thiết lập và cấu hình cài đặt OpenSearch của mình.

Cấu hình OpenSearch​

Trong bước này, bạn sẽ thiết lập OpenSearch để chạy trên một địa chỉ IP cụ thể, chạy trên một nút, bật plugin bảo mật OpenSearch và thiết lập bộ nhớ heap tối đa cho quy trình OpenSearch. Tất cả những điều này có thể được thực hiện bằng cách chỉnh sửa tệp cấu hình OpenSearch '/opt/opensearch/config/opensearch.yml' và tệp tùy chọn JVM OpenSearch 'config/jvm.options'.

Di chuyển thư mục làm việc đến '/opt/opensearch' thông qua lệnh cd.
Mã:
cd /opt/opensearch
Mở tệp cấu hình OpenSearch 'config/opensearch.yml' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano config/opensearch.yml
Thêm các dòng sau vào tệp.
Mã:
# Bind OpenSearch to interface or IP address
network.host: 192.168.5.50

# OpenSearch deployment type
discovery.type: single-node

# Re-enable security plugins 
plugins.security.disabled: false
Lưu và thoát tệp 'config/opensearch.yml' khi hoàn tất.


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


Chi tiết các tham số:
  • Tham số 'network.host' được sử dụng để liên kết OpenSearch với một địa chỉ IP cụ thể. Trong ví dụ này, OpenSearch sẽ chạy trên địa chỉ IP nội bộ '192.168.5.50'.
  • Tham số 'discovery.type: single-node' được sử dụng khi bạn muốn triển khai OpenSearch trong một nút duy nhất.
  • Tham số 'plugins.security.disabled' được đặt thành 'false', nghĩa là plugin bảo mật cho OpenSearch sẽ được bật.
Tiếp theo, hãy mở tệp 'config/jvm.options' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
sudo nano config/jvm.options
Điều chỉnh bộ nhớ heap tối đa cho quy trình OpenSearch. Thiết lập này tùy thuộc vào bộ nhớ khả dụng hoặc RAM của máy chủ của bạn. Ví dụ này sẽ phân bổ 2GB bộ nhớ cho OpenSearch.
Mã:
-Xms2g
-Xmx2g
Lưu và thoát khỏi tệp 'config/jvm.options' khi hoàn tất.


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


Cuối cùng, hãy chạy lệnh bên dưới để thiết lập biến môi trường 'OPENSEARCH_JAVA_HOME' trên phiên hiện tại của bạn. Gói OpenSearch bao gồm các gói java và JDK cần thiết có sẵn trong thư mục '/opt/opensearch/jdk'.
Mã:
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
echo $OPENSEARCH_JAVA_HOME
Sau khi hoàn tất cấu hình OpenSearch cơ bản, tiếp theo, bạn sẽ tạo chứng chỉ TLS và triển khai OpenSearch an toàn.

Tạo chứng chỉ TLS​

Trong bước này, bạn sẽ tạo nhiều chứng chỉ sẽ được sử dụng để triển khai OpenSearch an toàn. Bạn sẽ bảo mật thông tin liên lạc giữa các nút với nhau bằng chứng chỉ TLS và bảo mật lưu lượng lớp REST giữa thông tin liên lạc giữa máy khách và máy chủ qua TLS.

Dưới đây là danh sách các chứng chỉ sẽ được tạo:
  • Chứng chỉ CA gốc: Các chứng chỉ này sẽ được sử dụng để ký các chứng chỉ khác.
  • Chứng chỉ quản trị: Các chứng chỉ này sẽ được sử dụng để có được quyền quản trị nhằm thực hiện tất cả các tác vụ liên quan đến plugin bảo mật.
  • Chứng chỉ nút và máy khách: Các chứng chỉ này sẽ được các nút và máy khách trong cụm OpenSearch sử dụng.
Trước khi bắt đầu, hãy chạy lệnh bên dưới để tạo một thư mục mới '/opt/opensearch/config/certs' và di chuyển thư mục làm việc của bạn vào đó. Thư mục này sẽ được sử dụng để lưu trữ chứng chỉ TLS.
Mã:
mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs

Tạo chứng chỉ CA gốc​

Tạo khóa riêng cho chứng chỉ CA gốc bằng cách sử dụng lệnh bên dưới.
Mã:
openssl genrsa -out root-ca-key.pem 2048
Bây giờ, hãy tạo chứng chỉ CA gốc tự ký thông qua lệnh bên dưới. Bạn cũng có thể thay đổi các giá trị trong tham số '-subj' bằng thông tin của bạn.
Mã:
openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730
Với điều này, bạn sẽ nhận được khóa riêng CA gốc 'root-ca-key.pem' và chứng chỉ CA gốc 'root-ca.pem'.

Đầu ra:


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

Tạo chứng chỉ quản trị​

Tạo khóa riêng chứng chỉ quản trị mới 'admin-key-temp.pem' bằng lệnh bên dưới.
Mã:
openssl genrsa -out admin-key-temp.pem 2048
Chuyển đổi khóa riêng quản trị mặc định thành Định dạng PKCS#8. Đối với ứng dụng Java, bạn cần chuyển đổi khóa riêng mặc định sang thuật toán tương thích PKCS#12 (3DES). Với thuật toán này, khóa riêng quản trị của bạn phải là 'admin-key.pem'.
Mã:
openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem
Tiếp theo, chạy lệnh bên dưới để tạo CSR (Yêu cầu ký chứng chỉ) của quản trị viên từ khóa riêng 'admin-key.pem'. CSR bạn tạo ra bây giờ phải là tệp 'admin.csr'.

Vì chứng chỉ này được sử dụng để xác thực quyền truy cập nâng cao và không bị ràng buộc với bất kỳ máy chủ nào, nên bạn có thể sử dụng bất kỳ thứ gì trong cấu hình 'CN'.
Mã:
openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr
Cuối cùng, hãy chạy lệnh bên dưới để ký CSR quản trị bằng chứng chỉ CA gốc và khóa riêng. Đầu ra của chứng chỉ quản trị là tệp 'admin.pem'.
Mã:
openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Bây giờ, chứng chỉ quản trị của bạn sẽ là tệp 'admin.pem' được ký bằng chứng chỉ CA gốc. Và khóa riêng của quản trị viên là 'admin-key.pem', được chuyển đổi thành định dạng PKCS#8.

Đầu ra:


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

Tạo chứng chỉ nút​

Quy trình tạo chứng chỉ nút tương tự như chứng chỉ quản trị viên. Tuy nhiên, bạn có thể chỉ định giá trị CN bằng tên máy chủ hoặc địa chỉ IP của nút.

Tạo khóa riêng của nút bằng lệnh bên dưới.
Mã:
openssl genrsa -out node1-key-temp.pem 2048
Chuyển đổi khóa riêng của nút sang định dạng PKCS#8. Khóa riêng của nút của bạn bây giờ sẽ là 'node1-key.pem'.
Mã:
openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem
Tiếp theo, tạo CSR mới cho chứng chỉ nút. Đảm bảo thay đổi giá trị 'CN' bằng tên máy chủ của nút của bạn. Chứng chỉ này được liên kết với máy chủ và bạn phải chỉ định giá trị CN với tên máy chủ hoặc địa chỉ IP của nút OpenSearch của bạn.
Mã:
openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node1.hwdomain.lan" -out node1.csr
Trước khi ký chứng chỉ nút, hãy chạy lệnh bên dưới để tạo tệp mở rộng SAN 'node1.ext'. Điều này sẽ chứa tên máy chủ của nút hoặc FQDN hoặc địa chỉ IP
Mã:
echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext
Cuối cùng, hãy ký tệp CSR của chứng chỉ nút bằng chứng chỉ CA gốc và riêng tư bằng lệnh bên dưới.
Mã:
openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext
Với điều này, chứng chỉ nút của bạn là tệp 'node1.pem' và khóa riêng là 'node1-key.pem'.

Đầu ra:


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

Thiết lập chứng chỉ​

Chạy lệnh bên dưới để xóa chứng chỉ tạm thời, CSR và tiện ích mở rộng SAN tập tin.
Mã:
rm *temp.pem *csr *ext
ls

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


Chuyển đổi chứng chỉ CA gốc thành .crt định dạng.
Mã:
openssl x509 -outform der -in root-ca.pem -out root-ca.crt
Thêm chứng chỉ CA gốc vào hệ thống Debian của bạn bằng lệnh bên dưới. Sao chép tệp root-ca.crt vào thư mục '/usr/local/share/ca-certificates/' và tải chứng chỉ CA gốc mới vào hệ thống của bạn.
Mã:
sudo cp root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
Đầu ra '1 added' xác nhận rằng các chứng chỉ CA gốc mới đã được thêm vào hệ thống của bạn.


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


Cuối cùng, hãy chạy lệnh bên dưới để thiết lập quyền và quyền sở hữu thích hợp cho chứng chỉ của bạn. Quyền sở hữu thư mục '/opt/opensearch/config/certs' phải là người dùng 'opensearch' có quyền 0700. Và đối với tất cả các tệp chứng chỉ, quyền phải là 0600.
Mã:
sudo chown -R opensearch /opt/opensearch/config/certs
sudo chmod 0700 /opt/opensearch/config/certs
Mã:
sudo chmod 0600 /opt/opensearch/config/certs/*.pem
sudo chmod 0600 /opt/opensearch/config/certs/*.crt

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

Thêm chứng chỉ TLS vào OpenSearch​

Với chứng chỉ TLS được tạo, CA gốc, chứng chỉ quản trị và chứng chỉ nút là. Tiếp theo, bạn sẽ thêm chứng chỉ vào tệp cấu hình OpenSearch '/opt/opensearch/config/opensearch.yml'. Trong ví dụ này, bạn sẽ tạo một tập lệnh bash mới sẽ thêm chứng chỉ và cài đặt plugin bảo mật TLS vào OpenSearch.

Tạo một tệp mới 'add.sh' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
nano add.sh
Thêm các dòng sau vào tệp. Đảm bảo thay đổi và sử dụng đúng đường dẫn của tệp chứng chỉ và tệp cấu hình OpenSearch mục tiêu.
Mã:
#! /bin/bash

# Before running this script, make sure to replace the /path/to your OpenSearch directory,
# and remember to replace the CN in the node's distinguished name with a real
# DNS A record.

echo "plugins.security.ssl.transport.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo " - 'CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /opt/opensearch/config/opensearch.yml
Lưu và thoát khỏi tệp khi hoàn tất.

Tiếp theo, hãy thực thi tệp 'add.sh' và chạy tệp đó. Plugin bảo mật TLS mới cho OpenSearch sẽ được thêm vào tệp cấu hình OpenSearch '/opt/opensearch/config/opensearch.yml'.
Mã:
chmod +x add.sh
./add.sh
Đầu ra:


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


Nếu bạn kiểm tra cấu hình OpenSearch tệp '/opt/opensearch/config/opensearch.yml', bạn sẽ thấy các thiết lập mới như thế này ở cuối tệp cấu hình.


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


Lúc này, bạn đã thêm chứng chỉ TLS vào OpenSearch và bật các plugin bảo mật. Ở bước tiếp theo, bạn sẽ bảo mật OpenSearch bằng xác thực và ủy quyền bằng cách tạo người dùng mới trên OpenSearch.

Tạo người dùng trên OpenSearch​

Trước khi bắt đầu, hãy chạy lệnh bên dưới để thiết lập biến môi trường cho 'OPENSEARCH_JAVA_HOME' và làm cho các công cụ bảo mật OpenSearch có thể thực thi được.
Mã:
export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh

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


Di chuyển thư mục làm việc của bạn đến '/opt/opensearch/plugins/opensearch-security/tools' và thực thi tập lệnh 'hash.sh' để tạo mật khẩu băm cho OpenSearch.
Mã:
cd /opt/opensearch/plugins/opensearch-security/tools
./hash.sh
Nhập mật khẩu của bạn và sao chép mật khẩu băm đã tạo.

Đầu ra:


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


Bây giờ hãy chạy lại tập lệnh 'hash.sh' để tạo một mật khẩu băm khác sẽ được sử dụng cho Bảng điều khiển OpenSearch. Nhập mật khẩu mới và sao chép mật khẩu băm đã tạo.
Mã:
./hash.sh
Sau khi tạo mật khẩu băm, bạn sẽ thiết lập người dùng OpenSearch thông qua tệp cấu hình 'internal_users.yml'.

Di chuyển thư mục làm việc của bạn đến '/opt/opensearch/config/opensearch-security/' và mở tệp 'internal_users.yml' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
cd /opt/opensearch/config/opensearch-security/
sudo nano internal_users.yml
Xóa cài đặt người dùng mặc định và thay thế chúng bằng các dòng sau. Đảm bảo thay đổi mật khẩu băm bằng mật khẩu bạn đã tạo. Với thao tác này, bạn sẽ tạo hai người dùng OpenSearch, người dùng 'admin' và người dùng 'kibanaserver' sẽ được OpenSearch Dashboards sử dụng.
Mã:
...
...
admin:
 hash: "$2y$12$ChrsBPaDAJsuel.HXFi2Ie2Jn1MpdzXA4Nd1jeyXf65N97RDJc3Ky"
 reserved: true
 backend_roles:
 - "admin"
 description: "Admin user"

kibanaserver:
 hash: "$2y$12$wIeuRDp5txoJ3d6.lyybJOPwoRaizuuBvlKKzAGdAiu.I/qaX8hXu"
 reserved: true
 description: "Demo OpenSearch Dashboards user"
Lưu và thoát khỏi tệp 'internal_users.yml' khi hoàn tất.


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


Tiếp theo, chạy lệnh bên dưới để đảm bảo quyền sở hữu thư mục cài đặt OpenSearch thuộc về người dùng 'opensearch'. Sau đó, đăng nhập với tư cách là người dùng 'opensearch'.
Mã:
sudo chown -R opensearch /opt/opensearch
su - opensearch
Di chuyển đến thư mục '/opt/opensearch/bin' và chạy cài đặt OpenSearch của bạn. OpenSearch hiện sẽ chạy trên địa chỉ IP cục bộ '192.168.5.50' với cổng mặc định '9200'.
Mã:
cd /opt/opensearch/bin
./opensearch
Bạn sẽ nhận được kết quả tương tự như sau:


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


Bây giờ mở một thiết bị đầu cuối mới, kết nối với máy chủ OpenSearch của bạn, sau đó đăng nhập với tư cách là người dùng 'opensearch'.
Mã:
su - opensearch
Di chuyển thư mục làm việc đến '/opt/opensearch/plugins/opensearch-security/tools' và chạy tập lệnh 'securityadmin.sh' như bên dưới. Hãy đảm bảo thay đổi địa chỉ IP máy chủ OpenSearch và đường dẫn chứng chỉ quản trị.

Điều này sẽ kết nối với máy chủ OpenSearch và áp dụng các thay đổi mới cho người dùng OpenSearch mà bạn đã định cấu hình trong tệp 'internal_users.yml'.
Mã:
cd /opt/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk ./securityadmin.sh -h 192.168.5.50 -p 9200 -cd /opt/opensearch/config/opensearch-security/ -cacert /opt/opensearch/config/certs/root-ca.pem -cert /opt/opensearch/config/certs/admin.pem -key /opt/opensearch/config/certs/admin-key.pem -icl -nhnv
Đầu ra:


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


Bây giờ hãy quay lại thiết bị đầu cuối đầu tiên và kết thúc máy chủ OpenSearch bằng cách nhấn nút 'Ctrl+c'. Sau đó, chạy lại máy chủ OpenSearch.
Mã:
./opensearch
Lúc này, máy chủ OpenSearch đang chạy với người dùng mới được cấu hình.

Quay lại phiên thiết bị đầu cuối thứ hai và chạy lệnh bên dưới để xác minh máy chủ OpenSearch của bạn. Với lệnh này, bạn sẽ xác thực với tư cách là người dùng OpenSearch 'admin' và 'kibanaserver'. Ngoài ra, hãy đảm bảo thay đổi mật khẩu cho từng người dùng.
Mã:
curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
Khi xác thực thành công, bạn sẽ thấy thông tin chi tiết về máy chủ OpenSearch của mình.

Đầu ra - được xác thực là người dùng 'admin'


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


Đầu ra - được xác thực là người dùng 'kibanaserver'.


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


Với điều này, bây giờ bạn đã cấu hình thành công xác thực và ủy quyền trên máy chủ OpenSearch. Bây giờ hãy quay lại phiên đầu cuối đầu tiên và nhấn Ctrl+c vào đầu cuối để thực hiện quy trình OpenSearch.

Ở bước tiếp theo, bạn sẽ thiết lập tệp dịch vụ systemd sẽ được sử dụng để chạy máy chủ OpenSearch.

Chạy OpenSearch dưới dạng Dịch vụ Systemd​

Đối với hướng dẫn này, bạn sẽ chạy máy chủ OpenSearch ở chế độ nền dưới dạng dịch vụ systemd. Để thực hiện được điều này, bạn phải tạo một tệp dịch vụ systemd mới, tải lại trình quản lý systemd, sau đó bạn có thể chạy và kích hoạt OpenSearch thông qua tiện ích lệnh systemctl.

Tạo một tệp dịch vụ systemd mới '/etc/systemd/system/opensearch.service' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/systemd/system/opensearch.service
Thêm các dòng sau vào tệp.
Mã:
[Unit]
Description=OpenSearch
Wants=network-online.target
After=network-online.target

[Service]
Type=forking
RuntimeDirectory=data

WorkingDirectory=/opt/opensearch
ExecStart=/opt/opensearch/bin/opensearch -d

User=opensearch
Group=opensearch
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65535
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
TimeoutStartSec=75

[Install]
WantedBy=multi-user.target
Lưu và đóng 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 đó, khởi động và kích hoạt dịch vụ OpenSearch bằng lệnh systemctl bên dưới. Với lệnh này, dịch vụ OpenSearch hiện sẽ chạy ở chế độ nền như một dịch vụ systemd và dịch vụ này sẽ được bật, nghĩa là OpenSearch sẽ tự động khởi động khi hệ thống khởi động.
Mã:
sudo systemctl start opensearch
sudo systemctl enable opensearch
Đầu ra:


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


Bây giờ hãy xác minh dịch vụ OpenSearch để đảm bảo rằng dịch vụ đang chạy. Bạn sẽ thấy đầu ra cho biết dịch vụ OpenSearch đang chạy và hiện đã được bật.
Mã:
sudo systemctl status opensearch
Đầu ra:


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


Bạn cũng có thể xác minh máy chủ OpenSearch bằng lệnh curl để xác thực với OpenSearch.
Mã:
curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k
Nếu OpenSearch đang chạy, bạn sẽ được xác thực và nhận thông tin chi tiết về cài đặt OpenSearch của mình.

Đối với người dùng quản trị OpenSearch.


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


Đối với kibanaserver người dùng.


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


Bạn cũng có thể xác minh danh sách các cổng mở trên hệ thống của mình thông qua lệnh ss bên dưới. Bạn sẽ thấy các cổng 92009300 được mở bởi ứng dụng Java, là máy chủ OpenSearch.
Mã:
ss -tulpn
Đầu ra:


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


Với điều này, bạn đã hoàn thành cài đặt OpenSearch. Và bây giờ, nó đang chạy trên địa chỉ IP cục bộ 192.168.5.50 với cổng mặc định 9200. Nó đang chạy ở chế độ nền như một dịch vụ systemd và sẽ tự động khởi động khi hệ thống khởi động.

Cài đặt OpenSearch Dashboards​

Trong bước này, bạn sẽ tải xuống gói OpenSearch Dashboards và cài đặt thủ công qua Tarball. Bạn cũng sẽ thiết lập cách OpenSearch Dashboard sẽ chạy và cách kết nối với máy chủ OpenSearch thông qua tên người dùng và mật khẩu.

Tải xuống gói OpenSearch Dashboards thông qua lệnh wget sau.
Mã:
wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz
Sau khi tải xuống hoàn tất, hãy giải nén gói OpenSearch Dashboards thông qua lệnh tar bên dưới. Bạn sẽ nhận được một thư mục mới 'opensearch-dashboards-2.4.1'.
Mã:
tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz

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


Di chuyển thư mục Bảng điều khiển OpenSearch đến '/opt/opensearch-dashboards'. Sau đó, hãy thay đổi quyền sở hữu thư mục đó thành người dùng 'opensearch'.
Mã:
mv opensearch-dashboards-* /opt/opensearch-dashboards
sudo chown -R opensearch /opt/opensearch-dashboards
Tiếp theo, hãy di chuyển thư mục làm việc của bạn đến '/opt/opensearch-dashboards' và mở tệp cấu hình Bảng điều khiển OpenSearch 'config/opensearch_dashboards.yml' bằng trình chỉnh sửa nano bên dưới lệnh.
Mã:
cd /opt/opensearch-dashboards
sudo nano config/opensearch_dashboards.yml
Bỏ chú thích các dòng sau và thay thế giá trị cho từng tham số bằng cài đặt của bạn. Trong ví dụ này, bạn sẽ chạy Bảng điều khiển OpenSearch trên cổng mặc định '5601' và địa chỉ IP máy chủ '192.168.5.50'.
Mã:
# OpenSearch Dashboards is served by a back end server. This setting specifies the port to use.
server.port: 5601

# Specifies the address to which the OpenSearch Dashboards 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: "192.168.5.50"
Tiếp theo, thêm các dòng sau vào cuối dòng. Hãy đảm bảo thay đổi tham số 'opensearch.hosts', 'opensearch.username' và 'opensearch.password' bằng thông tin chi tiết về máy chủ OpenSearch của bạn.
Mã:
opensearch.hosts: [https://192.168.5.50:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass
Lưu và thoát khỏi tệp 'config/opensearch_dashboards.yml' khi hoàn tất.


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


Bây giờ bạn đã tải xuống Bảng điều khiển OpenSearch và cấu hình để kết nối với máy chủ OpenSearch. Tiếp theo, bạn sẽ thiết lập tệp dịch vụ systemd sẽ được sử dụng để chạy Bảng điều khiển OpenSearch.

Chạy Bảng điều khiển OpenSearch dưới dạng Dịch vụ Systemd​

Trong bước này, bạn sẽ tạo một dịch vụ systemd mới sẽ được sử dụng để chạy Bảng điều khiển OpenSearch.

Tạo tệp dịch vụ systemd mới '/etc/systemd/system/opensearch-dashboards.service' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/systemd/system/opensearch-dashboards.service
Thêm các dòng sau vào tệp.
Mã:
[Unit]
Description=OpenSearch-Dashboards
Wants=network-online.target
After=network-online.target opensearch.service 

[Service]
Type=simple
User=opensearch
Environment=NODE_ENV=production
Environment=CONFIG_PATH=/opt/opensearch-dashboards/config/opensearch_dashboards.yml
WorkingDirectory=/opt/opensearch-dashboards
ExecStart=/opt/opensearch-dashboards/bin/opensearch-dashboards
StandardOutput=journal
StandardError=inherit
Restart=on-failure

[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ới.
Mã:
sudo systemctl daemon-reload
Sau đó, khởi động và kích hoạt dịch vụ Bảng điều khiển OpenSearch bằng lệnh systemctl bên dưới. Với điều này, dịch vụ Bảng điều khiển OpenSearch sẽ chạy và được bật, nghĩa là dịch vụ Bảng điều khiển OpenSearch sẽ tự động khởi động khi hệ thống khởi động.
Mã:
sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards

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


Xác minh dịch vụ Bảng điều khiển OpenSearch bằng cách sử dụng bên dưới lệnh.
Mã:
sudo systemctl status opensearch-dashboards
Đầu ra 'active (running)' xác nhận rằng dịch vụ Bảng điều khiển OpenSearch đang chạy. Và đầu ra '...; enabled;...' xác nhận rằng dịch vụ đã được bật.


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


Với lệnh này, OpenSearch Dashboards hiện đang chạy trên máy chủ Debian của bạn với tệp cấu hình mặc định '/opt/opensearch-dashboards/config/opensearch_dashboards.yml'. Nó đang chạy trên cổng mặc định 5601 với địa chỉ IP máy chủ 192.168.5.50

Truy cập Bảng điều khiển OpenSearch​

Mở trình duyệt web của bạn và truy cập địa chỉ IP Bảng điều khiển OpenSearch với cổng 5601 (tức là: http:192.168.5.50:5601). Bây giờ bạn sẽ thấy trang đăng nhập Bảng điều khiển OpenSearch.

Nhập tên người dùng và mật khẩu mà bạn đã tạo. Trong ví dụ này, người dùng là 'kibanaserver'. Sau đó nhấp vào nút 'Đăng nhập' để xác nhận và đăng nhập vào Bảng điều khiển OpenSearch.


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


Khi thành công, bạn sẽ nhận được trang sau với thông báo 'Chào mừng đến với Bảng điều khiển OpenSearch'. Bây giờ bạn có thể nhấp vào 'Thêm dữ liệu' để thêm dữ liệu mới vào máy chủ OpenSearch của mình hoặc nhấp vào 'Khám phá dữ liệu của riêng tôi' để thiết lập sau.


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


Tiếp theo, để đảm bảo rằng Bảng điều khiển OpenSearch được kết nối với máy chủ OpenSearch, bạn sẽ thực hiện các bước sau:

Nhấp vào menu bên trái để di chuyển đến phần Quản lý và nhấp vào 'Công cụ phát triển'.


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


Bây giờ hãy nhập truy vấn 'GET /' trên bảng điều khiển và nhấp vào nút phát. Khi thành công, bạn sẽ thấy đầu ra ở bên phải với thông tin chi tiết về máy chủ OpenSearch của bạn. Ngoài ra, bạn có thể thấy ở phía trên bên phải mã HTTP '200 - OK' xác nhận rằng truy vấn được thực hiện mà không có lỗi.


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


Với những điều này trong đầu, giờ đây bạn đã hoàn tất việc cài đặt OpenSearch Dashboards trên máy chủ Debian thông qua Tarball. Và cũng đã cấu hình OpenSearch Dashboard để kết nối với máy chủ OpenSearch.

Kết luận​

Trong hướng dẫn này, bạn đã cài đặt OpenSearch thông qua Tarball trên máy chủ Debian 11. Bạn cũng đã bảo mật OpenSearch bằng chứng chỉ TLS, bật xác thực và ủy quyền, và cấu hình người dùng trong OpenSearch. Ngoài ra, bạn đã cấu hình OpenSearch để chạy như một dịch vụ systemd và tối ưu hóa máy chủ Debian Linux để triển khai OpenSearch.

Bạn cũng đã cài đặt OpenSearch Dashboards thông qua Tarball trên máy chủ Debian. Bạn đã cấu hình OpenSearch Dashboards để chạy như một dịch vụ systemd, kết nối OpenSearch Dashboards với OpenSearch Server với xác thực được bật và xác minh thành công cài đặt OpenSearch và OpenSearch Dashboards.

Với thiết lập này, giờ đây bạn có thể khám phá thêm về OpenSearch bằng cách triển khai OpenSearch Cluster, thiết lập xác thực bổ sung và nhiều hơn nữa. Bạn tìm hiểu thêm về OpenSearch từ tài liệu chính thức của OpenSearch.
 
Back
Bên trên