Cách cài đặt OpenSearch trên Rocky Linux 9

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ộ phân tích mã nguồn mở hoàn toàn 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.

Bài viết này hướng dẫn bạn cách cài đặt OpenSearch - một bộ tìm kiếm, phân tích và trực quan hóa mã nguồn mở - trên máy chủ Rocky Linux 9. Bài viết này bao gồm việc bảo mật triển khai OpenSearch bằng chứng chỉ TLS/SSL và thiết lập xác thực và ủy quyền trên OpenSearch.

Bài viết này cũng chỉ cho bạn cách cài đặt OpenSearch Dashboards - một công cụ trực quan hóa nguồn mở giống như Kibana, sau đó cấu hình để kết nối với OpenSearch. Sau khi hoàn tất bài viết này, bạn sẽ có một bộ phân tích dữ liệu và trực quan hóa được cài đặt trên máy chủ Rocky Linux của mì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 Rocky Linux 9 và RAM tối thiểu 4GB - Ví dụ này sử dụng máy chủ Rocky Linux có tên máy chủ 'node-rock1', địa chỉ IP '192.168.5.25' và RAM 8GB.
  • Một người dùng không phải root có quyền quản trị viên sudo/root.
  • SELinux đang chạy ở chế độ cho phép.
Vậy là xong; Hãy bắt đầu cài đặt OpenSearch.

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

Điều đầu tiên bạn phải làm là chuẩn bị máy chủ Rocky Linux của mình. Điều này bao gồm thiết lập tên máy chủ và fqdn thích hợp, vô hiệu hóa SWAP và tăng bộ nhớ bản đồ tối đa trên hệ thống của bạn.

Để thực hiện việc này, bạn phải đăng nhập vào máy chủ Rocky Linux của mình.

Bây giờ hãy đưa ra lệnh sau để thiết lập tên máy chủ và fqdn thích hợp cho máy chủ Rocky Linux của bạn.

Trong ví dụ này, bạn sẽ thiết lập tên máy chủ hệ thống bằng 'node-rock1' và fqdn 'node-rock1.hwdomain.lan'. Ngoài ra, hãy đảm bảo thay đổi địa chỉ IP trong lệnh sau bằng địa chỉ IP máy chủ của bạn.
Mã:
sudo hostnamectl set-hostname node-rock1
echo '192.168.5.25 node-rock1.hwdomain.lan node-rock1' >> /etc/hosts
Đăng xuất khỏi phiên hiện tại và đăng nhập lại. Sau đó, xác minh fqdn thông qua lệnh bên dưới.
Mã:
sudo hostname -f
Bạn sẽ nhận được kết quả như thế này. Fqdn trên máy chủ được cấu hình thành 'node-rock1.hwdomain.lan'.


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


Tiếp theo, bạn sẽ cần tắt phân trang bộ nhớ và SWAP trên máy chủ Rocky Linux của mình. Tắt phân trang bộ nhớ và SWAP sẽ tăng hiệu suất của máy chủ OpenSearch của bạn.

Phát hành lệnh bên dưới để tắt SWAP trên hệ thống của bạn. Lệnh đầu tiên sẽ tắt SWAP vĩnh viễn bằng cách bình luận về cấu hình SWAP tại tệp '/etc/fstab'. Và lệnh thứ hai được sử dụng để vô hiệu hóa SWAP trên phiên hiện tại của bạn.
Mã:
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a
Xác minh trạng thái của SWAP trên hệ thống của bạn thông qua lệnh sau.
Mã:
free -m
Bạn sẽ nhận được đầu ra tương tự như sau - Phần 'Hoán đổi' có giá trị là 0 tổng cộng xác nhận rằng SWAP đã bị vô hiệu hóa.


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


Cuối cùng, bạn phải tăng bộ nhớ bản đồ tối đa trên hệ thống của mình cho OpenSearch. Và điều này có thể được thực hiện thông qua tệp '/etc/sysctl.conf'.

Phát hành lệnh sau để tăng bộ nhớ bản đồ tối đa lên '262144' và áp dụng các thay đổi. Với lệnh này, bạn sẽ thêm cấu hình mới 'vm.max_map_count=262144' vào tệp /etc/sysctl.conf' và áp dụng các thay đổi trên hệ thống của bạn thông qua lệnh 'sysctl -p'.
Mã:
sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p
Bây giờ bạn có thể tắt trạng thái bộ nhớ bản đồ tối đa trên hệ thống của mình bằng lệnh bên dưới. Và bạn nên tăng 'max_map_count' lên '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=%22745%22%20height=%22202%22%3E%3C/svg%3E


Sau khi cấu hình hệ thống, bạn đã sẵn sàng để cài đặt OpenSearch.

Cài đặt OpenSearch​

OpenSearch có thể được cài đặt theo nhiều cách. Bạn có thể cài đặt OpenSearch qua tarball, Docker, RPM và Kubernetes. Đối với các bản phân phối dựa trên RHEL, bạn có thể dễ dàng cài đặt OpenSearch qua kho lưu trữ OpenSearch chính thức.

Phát hành lệnh curl bên dưới để tải kho lưu trữ OpenSearch xuống hệ thống của bạn. Sau đó, hãy xác minh danh sách các kho lưu trữ khả dụng thông qua lệnh bên dưới.
Mã:
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo
sudo dnf repolist
Nếu thành công, bạn sẽ nhận được kho lưu trữ 'OpenSearch 2.x' có sẵn trong đầu ra thiết bị đầu cuối của mình.


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


Bạn cũng có thể kiểm tra các gói khả dụng của 'opensearch' bằng cách phát hành lệnh sau.
Mã:
sudo dnf info opensearch
Tại thời điểm viết bài này, kho lưu trữ OpenSearch cung cấp hai phiên bản OpenSearch cho các kiến trúc hệ thống khác nhau - OpenSearch 2.5 cho x86_64aarch64.


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


Gọi lệnh dnf sau để cài đặt OpenSearch trên máy chủ Rocky Linux của bạn. Khi được nhắc xác nhận, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install opensearch
Đầu ra:


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


Trong quá trình cài đặt, bạn cũng sẽ được nhắc thêm khóa GPG cho kho lưu trữ OpenSearch. Nhập y để xác nhận và nhấn ENTER.


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


Sau khi OpenSearch được cài đặt thành công, hãy tải lại trình quản lý systemd và áp dụng các thay đổi mới bằng tiện ích lệnh systemctl bên dưới.
Mã:
sudo systemctl daemon-reload
Bây giờ hãy khởi động và bật OpenSearch bằng lệnh bên dưới. Với điều này, OpenSearch sẽ chạy với cấu hình mặc định và nó cũng được bật, điều đó có 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

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


Để đảm bảo rằng OpenSearch đang hoạt động và chạy, bạn có thể xác minh bằng lệnh systemctl bên dưới lệnh.
Mã:
sudo systemctl status opensearch
Bạn sẽ nhận được kết quả như thế này - Kết quả 'active (running)' xác nhận rằng dịch vụ OpenSearch đang chạy, trong khi '... enabled;...' xác nhận rằng dịch vụ OpenSearch đang được bật.


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


Bạn hiện đã cài đặt OpenSearch và hiện đang chạy và được kích hoạt. Bây giờ bạn có thể tiến hành bước tiếp theo để thiết lập cài đặt OpenSearch của mình.

Cấu hình OpenSearch​

Theo mặc định, cấu hình OpenSearch được lưu trữ trong thư mục '/etc/opensearch'. Trong bước này, bạn sẽ thực hiện cấu hình cơ bản của OpenSearch ở chế độ một nút. Bạn cũng sẽ tăng bộ nhớ heap tối đa trên hệ thống của mình để có hiệu suất tốt hơn của máy chủ OpenSearch.

Mở tệp cấu hình OpenSearch '/etc/opensearch/opensearch.yml' bằng lệnh trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/opensearch/opensearch.yml
Thay đổi một số tham số OpenSearch mặc định bằng các dòng sau. Với lệnh này, bạn sẽ chạy OpenSearch trong một địa chỉ IP mạng cụ thể '192.168.5.25', loại triển khai là 'single-node' và bật lại các plugin bảo mật OpenSearch.
Mã:
# Bind OpenSearch to the correct network interface. Use 0.0.0.0
# to include all available interfaces or specify an IP address
# assigned to a specific interface.
network.host: 192.168.5.25

# Unless you have already configured a cluster, you should set
# discovery.type to single-node, or the bootstrap checks will
# fail when you try to start the service.
discovery.type: single-node

# If you previously disabled the security plugin in opensearch.yml,
# be sure to re-enable it. Otherwise you can skip this setting.
plugins.security.disabled: false
Lưu và thoát khỏi tệp '/etc/opensearch/opensearch.yml' khi hoàn tất.


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


Tiếp theo, mở tệp tùy chọn JVM mặc định cho OpenSearch '/etc/opensearch/jvm.options' bằng lệnh trình soạn thảo nano sau.
Mã:
sudo nano /etc/opensearch/jvm.options
Thay đổi bộ nhớ heap tối đa mặc định bằng các dòng sau. Điều này phụ thuộc vào bộ nhớ máy chủ của bạn, bạn có thể phân bổ nhiều hơn như 2GB cho OpenSearch nếu bạn có bộ nhớ RAM lớn hơn.
Mã:
-Xms2g
-Xmx2g
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.


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


Cuối cùng, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động lại dịch vụ OpenSearch và áp dụng các thay đổi.
Mã:
sudo systemctl restart opensearch
Bây giờ OpenSearch sẽ chạy trên địa chỉ IP '192.168.5.25' với cổng mặc định '9200'. Xác minh danh sách các cổng mở trên hệ thống của bạn bằng cách phát hành lệnh ss bên dưới.
Mã:
ss -tulpn

Bảo mật OpenSearch bằng Chứng chỉ TLS​

Trong bước này, bạn sẽ tạo nhiều chứng chỉ sẽ được sử dụng để bảo mật triển khai OpenSearch. 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 các thông tin liên lạc giữa máy khách và máy chủ thông 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 tạo chứng chỉ TLS mới, hãy xóa một số chứng chỉ mặc định và cấu hình OpenSearch mặc định.

Phát hành lệnh sau để xóa các chứng chỉ TLS OpenSearch mặc định. Sau đó, mở cấu hình OpenSearch '/etc/opensearch/opensearch.yml' bằng lệnh nano editor sau.
Mã:
rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}
sudo nano /etc/opensearch/opensearch.yml
Ở cuối dòng, hãy bình luận về Cấu hình bản demo bảo mật OpenSearch mặc định như bên dưới.


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


Lưu và thoát khỏi tệp khi hoàn tất.

Tiếp theo, hãy đưa ra lệnh sau để tạo một thư mục mới '/etc/opensearch/certs'. Thư mục này sẽ được sử dụng để lưu trữ các chứng chỉ TLS mới sẽ được tạo. Sau đó, di chuyển thư mục làm việc của bạn vào đó.
Mã:
mkdir -p /etc/opensearch/certs; cd /etc/opensearch/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=%22113%22%3E%3C/svg%3E

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

Tạo khóa riêng của 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 sang định dạngPKCS#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 sẽ 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
Chứng chỉ quản trị của bạn bây giờ phải 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 sang định dạng PKCS#8.

Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22148%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 node-rock1-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ờ phải là 'node-rock1-key.pem'.
Mã:
openssl pkcs8 -inform PEM -outform PEM -in node-rock1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node-rock1-key.pem
Tiếp theo, tạo một CSR mới cho chứng chỉ nút. Đảm bảo thay đổi giá trị 'CN' bằng hostname 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 node-rock1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node-rock1.hwdomain.lan" -out node-rock1.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 'node-rock1.ext'. Nội dung 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:node-rock1.hwdomain.lan' > node-rock1.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 node-rock1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node-rock1.pem -days 730 -extfile node-rock1.ext
Với nội dung này, chứng chỉ nút của bạn là tệp 'node-rock1.pem' và khóa riêng là 'node-rock1-key.pem'.

Đầu ra:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22136%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.
Mã:
rm *temp.pem *csr *ext
ls
Chuyển đổi chứng chỉ CA gốc sang định dạng .crt.
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 Rocky Linux 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 '/etc/pki/ca-trust/source/anchors/' 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 /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust
Đầu ra:


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


Cuối cùng, chạy lệnh bên dưới để thiết lập quyền sở hữu và quyền cho chứng chỉ của bạn. Quyền sở hữu thư mục '/etc/opensearch/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:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certs
Mã:
sudo chmod 0600 /etc/opensearch/certs/*.pem
sudo chmod 0600 /etc/opensearch/certs/*.crt

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

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

Khi 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 '/etc/opensearch/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. Hãy đảm bảo thay đổi và sử dụng đúng đường dẫn đến tệp chứng chỉ và tệp cấu hình OpenSearch đích.
Mã:
#! /bin/bash

# Before running this script, make sure to replace the CN in the 
# node's distinguished name with a real DNS A record.

echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node-rock1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node-rock1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node-rock1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node-rock1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo " - 'CN=node-rock1.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /etc/opensearch/opensearch.yml
Lưu và thoát 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 '/etc/opensearch/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=%22404%22%3E%3C/svg%3E


Nếu bạn kiểm tra tệp cấu hình OpenSearch '/etc/opensearch/opensearch.yml', bạn sẽ thấy các thiết lập mới được tạo bởi tập lệnh 'add.sh'.

Bây giờ, 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.

Thiết lập Người dùng Quản trị OpenSearch​

Trước tiên, hãy di chuyển thư mục làm việc của bạn đến '/usr/share/opensearch/plugins/opensearch-security/tools' bằng cách phát hành lệnh cd bên dưới.
Mã:
cd /usr/share/opensearch/plugins/opensearch-security/tools
Thực thi tập lệnh 'hash.sh' để tạo băm mật khẩu mới cho OpenSearch. Nhập mật khẩu bạn sẽ tạo và nhấn ENTER.
Mã:
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh
Bạn sẽ nhận được mã băm được tạo của mật khẩu. Sao chép mã băm đó vì bạn sẽ cần thêm mật khẩu đã băm đó vào cấu hình OpenSearch.


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


Chạy lại tập lệnh 'hash.sh' để tạo một mã băm mật khẩu khác sẽ được sử dụng cho Bảng điều khiển OpenSearch.
Mã:
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh
Với điều này, bây giờ bạn đã tạo hai mật khẩu băm cho OpenSearch.

Tiếp theo, mở cấu hình người dùng OpenSearch '/etc/opensearch/opensearch-security/internal_users.yml' bằng lệnh nano editor bên dưới. Bây giờ bạn sẽ thiết lập người dùng OpenSearch thông qua OpenSearch Security.
Mã:
sudo nano /etc/opensearch/opensearch-security/internal_users.yml
Xóa tất cả người dùng OpenSearch 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. Trong ví dụ này, bạn sẽ tạo hai người dùng cho OpenSearch, người dùng 'admin' cho OpenSearch và người dùng 'kibanaserver' sẽ được sử dụng bởi Bảng điều khiển OpenSearch.
Mã:
...
...
admin:
 hash: "$2y$12$BnfqwqWRi7DkyuPgLa8.3.kLzdpIY11jFpSXTAOKOMCVj/i20k9oW"
 reserved: true
 backend_roles:
 - "admin"
 description: "Admin user"

kibanaserver:
 hash: "$2y$12$kYjgPjPzIp9oTghNdWIHcuUalE99RqSYtTCh6AiNuS5wmeEaWnbzK"
 reserved: true
 description: "Demo OpenSearch Dashboards user"
Lưu và thoát tệp khi hoàn tất.


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


Bây giờ hãy phát hành tiện ích lệnh systemctl sau để khởi động lại dịch vụ OpenSearch và áp dụng các thay đổi.
Mã:
sudo systemctl restart opensearch
Bây giờ hãy di chuyển đến thư mục '/usr/share/opensearch/plugins/opensearch-security/tools' và gọi tập lệnh 'securityadmin.sh' để áp dụng những thay đổi mới trên OpenSearch Security.
Mã:
cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.5.25 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv
Tập lệnh 'securityadmin.sh' sẽ kết nối với máy chủ OpenSearch chạy trên địa chỉ IP '192.168.5.25' và cổng mặc định '9200'. Sau đó, áp dụng những người dùng mới mà bạn đã cấu hình trong tệp '/etc/opensearch/opensearch-security/internal_users.yml' vào triển khai OpenSearch.


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


Cuối cùng, với những người dùng mới được thêm vào và áp dụng thông qua tập lệnh 'securityadmin.sh', giờ đây bạn sẽ xác minh người dùng OpenSearch thông qua lệnh curl bên dưới. Hãy chắc chắn thay đổi tên máy chủ hoặc địa chỉ IP và tên người dùng và mật khẩu cho OpenSearch.
Mã:
curl https://node-rock1:9200 -u admin:password -k
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k
Nếu cấu hình của người dùng thành công, bạn sẽ nhận được kết quả như sau:

Xác minh người dùng OpenSearch 'admin'.


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


Xác minh người dùng OpenSearch 'kibanaserver'.


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


Lúc này, bạn đã hoàn tất cài đặt OpenSearch thông qua các gói RPM trên máy chủ Rocky Linux 9. Và cũng bảo mật triển khai OpenSearch thông qua chứng chỉ TLS và cho phép xác thực và ủy quyền người dùng thông qua các plugin Bảo mật OpenSearch.

Trong Bước tiếp theo, bạn sẽ cài đặt Bảng điều khiển OpenSearch và thêm máy chủ OpenSearch của mình vào đó bằng cách sử dụng người dùng mới mà bạn đã tạo 'kibanaserver'.

Cài đặt Bảng điều khiển OpenSearch​

Vì kho lưu trữ OpenSearch vẫn sử dụng hàm băm SHA1 cũ để xác minh gói Bảng điều khiển OpenSearch, nên bạn phải thay đổi chính sách mã hóa mặc định trên Rocky Linux của mình thành LEGACY.

Chạy lệnh bên dưới để cập nhật chính sách mã hóa mặc định thành LEGACY.
Mã:
sudo update-crypto-policies --set LEGACY
Tiếp theo, thêm kho lưu trữ Bảng điều khiển OpenSearch vào hệ thống của bạn thông qua lệnh curl bên dưới.
Mã:
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/opensearch-dashboards-2.x.repo -o /etc/yum.repos.d/opensearch-dashboards-2.x.repo
Sau đó, hãy xác minh danh sách các kho lưu trữ khả dụng trên hệ thống của bạn. Bạn sẽ thấy kho lưu trữ 'OpenSearch Dashboard 2.x' có trong danh sách kho lưu trữ.
Mã:
sudo dnf repolist
Đầu ra:


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


Bây giờ hãy gọi lệnh dnf sau để cài đặt gói OpenSearch Dashboards. Khi được nhắc, hãy nhập y để xác nhận và nhấn ENTER để tiếp tục.
Mã:
sudo dnf install opensearch-dashboards

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


Trong quá trình cài đặt, bạn cũng sẽ được nhắc chấp nhận khóa GPG của kho lưu trữ OpenSearch Dashboards. Nhập y và nhấn ENTER để xác nhận.


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


Sau khi OpenSearch Dashboards được cài đặt, hãy chạy tiện ích lệnh systemctl bên dưới để khởi động và kích hoạt dịch vụ 'opensearch-dashboard'. Bảng điều khiển OpenSearch hiện đang chạy với cấu hình mặc định và phải được bật, nghĩa là dịch vụ 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=%22145%22%3E%3C/svg%3E


Xác minh dịch vụ Bảng điều khiển OpenSearch để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl status opensearch-dashboards
Bạn sẽ nhận được kết quả như thế này - trạng thái của dịch vụ Bảng điều khiển OpenSearch đang chạy và hiện cũng đã được bật và sẽ tự động chạy khi khởi động hệ thống.


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


Bây giờ hãy chuyển sang bước tiếp theo để thiết lập cài đặt Bảng điều khiển OpenSearch của bạn.

Cấu hình Bảng điều khiển OpenSearch​

Trong bước này, bạn sẽ thiết lập Bảng điều khiển OpenSearch trên địa chỉ IP và cổng mà Bảng điều khiển Open Search sẽ chạy và bạn cũng sẽ thiết lập kết nối đến máy chủ OpenSearch.

Mở tệp cấu hình Bảng điều khiển OpenSearch '/etc/opensearch-dashboards/opensearch-dashboard.yml' bằng trình chỉnh sửa nano bên dưới.
Mã:
sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml
Bỏ chú thích và thay đổi tham số mặc định 'server.port' và 'server.host' bằng các dòng sau. Bảng điều khiển OpenSearch mặc định sẽ chạy trên cổng '5601', hãy đảm bảo điều chỉnh tham số 'server.host' theo địa chỉ IP máy chủ của bạn.
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.25"
Di chuyển đến dòng cuối cùng của cấu hình và thay đổi thông tin chi tiết của các tham số OpenSearch được sử dụng để kết nối với máy chủ OpenSearch. Hãy đảm bảo thay đổi tham số của '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.25:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass
Lưu tệp và thoát khỏi trình chỉnh sửa khi hoàn tất.


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


Tiếp theo, chạy lệnh systemctl bên dưới để khởi động lại dịch vụ Bảng điều khiển OpenSearch và áp dụng các thay đổi.
Mã:
sudo systemctl restart opensearch-dashboards
Với lệnh này, Bảng điều khiển OpenSearch sẽ chạy trên địa chỉ IP '192.168.5.25' với cổng '5601'. Ngoài ra, Bảng điều khiển OpenSearch sẽ được kết nối với máy chủ OpenSearch với thông tin người dùng 'kibanaserver'.

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

Tại thời điểm này, bạn đã hoàn tất cài đặt và cấu hình Bảng điều khiển OpenSearch. Bây giờ, bạn sẽ xác minh cài đặt Bảng điều khiển OpenSearch bằng cách truy cập qua trình duyệt web và xác minh kết nối với máy chủ OpenSearch qua 'Dev Tools'.

Trước khi truy cập Bảng điều khiển OpenSearch, bạn phải mở cổng 5601 trên tường lửa của mình.

Gọi các lệnh firewall-cmd sau để mở cổng TCP 5601. Sau đó, tải lại firewalld để áp dụng các thay đổi.
Mã:
sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload
Tiếp theo, xác minh danh sách các quy tắc trên firewalld bằng lệnh bên dưới. Bạn sẽ thấy cổng 5601 khả dụng trên firewalld.
Mã:
sudo firewall-cmd --list-all

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


Bây giờ hãy mở trình duyệt web của bạn và truy cập địa chỉ IP của OpenSearch Dashboards có cổng 5601 (tức là: http:192.168.5.25:5601). Bây giờ bạn sẽ thấy trang đăng nhập của OpenSearch Dashboards.

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=%22585%22%20height=%22488%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=%22528%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 để chuyển đến phần Quản lý và nhấp vào 'Công cụ dành cho nhà phát triển'.


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


Bây giờ nhập truy vấn 'GET /' vào 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=%22257%22%3E%3C/svg%3E


Với điều này trong tâm trí, bây giờ bạn đã cài đặt OpenSearch Dashboards trên máy chủ Rocky Linux thông qua gói RPM. Ngoài ra, bạn đã cấu hình OpenSearch Dashboards để kết nối với máy chủ OpenSearch.

Kết luận​

Trong bài viết này, bạn đã cài đặt OpenSearch thông qua RPM trên máy chủ Rocky Linux 9. 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ũng đã cấu hình và tối ưu hóa máy chủ Rocky Linux để triển khai OpenSearch.

Bạn cũng đã cài đặt OpenSearch Dashboards thông qua RPM trên máy chủ Rocky Linux 9. Bạn đã cấu hình và kết nối thành công OpenSearch Dashboards với OpenSearch Server với xác thực được bật và cũng đã xác minh thành công cài đặt OpenSearch và OpenSearch Dashboards.

Với thiết lập nà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