Để sử dụng SSL với Elasticsearch, bạn cần tạo keystore và truststore. Dưới đây là các bước để tạo các file .jks (Java KeyStore) mà bạn sẽ sử dụng trong cấu hình Elasticsearch:
Bước 1: Cài đặt OpenSSL Nếu bạn chưa cài đặt OpenSSL, hãy cài đặt nó. Trên Ubuntu, bạn có thể cài đặt bằng lệnh:
sudo apt-get install openssl
Bước 2: Tạo Khóa và Chứng Chỉ Tạo Khóa Riêng:
Bạn có thể tạo một khóa riêng bằng lệnh sau:
openssl genrsa -out private.key 2048
Tạo Chứng Chỉ:
Sử dụng khóa riêng để tạo một chứng chỉ tự ký:
bash
Copy code
openssl req -new -x509 -key private.key -out certificate.crt -days 365
Trong quá trình này, bạn sẽ được yêu cầu nhập thông tin cho chứng chỉ.
Bước 3: Tạo Keystore (.jks) Để tạo keystore từ chứng chỉ và khóa, bạn có thể sử dụng keytool, công cụ đi kèm với Java. Đầu tiên, hãy chắc chắn rằng bạn đã cài đặt Java Development Kit (JDK).
Chuyển đổi chứng chỉ và khóa thành định dạng PKCS12:
openssl pkcs12 -export -in certificate.crt -inkey private.key -out keystore.p12 -name "elasticsearch"
Bạn sẽ được yêu cầu nhập mật khẩu cho file .p12.
Tạo Keystore (.jks) từ PKCS12:
Sử dụng keytool để chuyển đổi file .p12 thành .jks:
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -destkeystore keystore.jks -deststoretype JKS
Bạn sẽ được yêu cầu nhập mật khẩu cho keystore.
Bước 4: Tạo Truststore (.jks) Nếu bạn muốn tạo truststore để xác thực các chứng chỉ của các node khác, bạn có thể làm như sau:
Tạo Truststore:
keytool -import -alias elasticsearch -file certificate.crt -keystore truststore.jks
Bạn sẽ được yêu cầu nhập mật khẩu cho truststore.
Bước 5: Triển Khai vào Kubernetes Sau khi bạn đã tạo keystore.jks và truststore.jks, bạn có thể tạo secret trong Kubernetes như đã hướng dẫn ở phần trước và sử dụng chúng trong cấu hình của Elasticsearch.
Lưu Ý Đảm bảo rằng bạn giữ an toàn cho các file khóa và chứng chỉ, vì chúng là các thành phần nhạy cảm trong bảo mật. Nếu bạn triển khai một cluster Elasticsearch, bạn sẽ cần phải lặp lại quá trình này cho mỗi node trong cluster.