FreeBSD OpenSearch - Mengkonfigurasi Plugin dan Sertifikat TLS OpenSearch dengan OpenSSL

· 2 min read

OpenSearch lahir berkat partisipasi komunitas dan dukungan dari perusahaan besar seperti Red Hat, SAP, Capital One, dll. Sistem Opensearch sering digu

OpenSearch adalah utilitas sumber terbuka yang sering digunakan sebagai mesin pencari dan juga digunakan sebagai alat yang ampuh untuk melakukan analisis data. Penulisan Opensearch diambil dari basis kode Elasticsearch 7.10.2. Sistem dalam Opensearch meliputi:
  • Penyimpanan dan mesin pencari.
  • Antarmuka web.
  • Lingkungan visualisasi data OpenSearch Dashboard.
  • Serta add-on yang memungkinkan Anda menggunakan sejumlah fitur mesin Elasticsearch.
OpenSearch lahir berkat partisipasi komunitas dan dukungan dari perusahaan besar seperti Red Hat, SAP, Capital One, dll. Sistem Opensearch sering digunakan untuk pencarian teks lengkap di situs karena dapat menyimpan dan menganalisis log, serta memvisualisasikan dan menganalisis informasi yang diterima.

Opensearch dapat dikombinasikan dengan platform pengiriman data Beat (Filebeat, Winlogbeat, dll.), sehingga pengguna OpenSearch dapat membangun siklus penuh manajemen log dalam bentuk pengumpulan, sistematisasi, dan pencarian.


opensearch kafka di freebsd




Spesifikasi Sistem Yang Digunakan

OS: FreeBSD 13.3
Hostname: ns3
IP address: 192.168.5.2
Logstash version: logstash8-8.11.3
Opensearch version: Opensearch-2.11.1
Dependencies: bash jna
Java version:
a. openjdk version "17.0.9" 2023-10-17
b. OpenJDK Runtime Environment (build 17.0.9+9-1)
c. OpenJDK 64-Bit Server VM (build 17.0.9+9-1, mixed mode, sharing)

A. Menyiapkan TLS lapisan Transport

Di bagian ini kami akan menjelaskan cara mengonfigurasi plugin keamanan Opensearch di FreeBSD. Di Opensearch ada banyak plugin yang dapat Anda gunakan, semua plugin ini memerlukan sertifikat SSL yang dapat mendukung banyak fitur dan metode konfigurasi tambahan. Anda dapat membuat konfigurasi sertifikat TLS menggunakan alat seperti OpenSSL.

Menambahkan Sertifikat TLS akan memberikan keamanan tambahan untuk host Opensearch Anda. Sertifikat TLS akan memberikan izin kepada klien untuk memverifikasi identitas node dan mengenkripsi lalu lintas antara klien dan host. Sertifikat TLS dikonfigurasi dalam file opensearch.yml, dan kami akan menyimpannya di direktori /usr/local/etc/opensearch. Ikuti langkah-langkah di bawah ini untuk membuat sertifikat yang ditandatangani sendiri.

Remove certificate
root@ns3:~ # cd /usr/local/etc/opensearch
root@ns3:/usr/local/etc/opensearch # rm -f *pem

a. Hasilkan sertifikat root

Sebelum melangkah lebih jauh, pertama-tama kita buat kunci pribadi untuk sertifikat root. Sertifikat root digunakan untuk menandatangani sertifikat lainnya.

Root certificate
root@ns3:/usr/local/etc/opensearch # openssl genrsa -out root-ca-key.pem 2048
Generating RSA private key, 2048 bit long modulus (2 primes)
.........................................+++++
.............................+++++
e is 65537 (0x010001)
Setelah itu, Anda membuat sertifikat CA root yang Anda tandatangani sendiri. Gunakan parameter -subj untuk memberikan informasi khusus host Anda.

Root certificate
root@ns3:/usr/local/etc/opensearch # openssl req -new -x509 -sha256 -key root-ca-key.pem -out root-ca.pem -days 730

b. Hasilkan Sertifikat Administrator

Berikutnya, buat sertifikat untuk administrator. Untuk membuat sertifikat administrator, pertama-tama buat kunci baru sehingga administrator dapat melakukan tugas administratif yang terkait dengan plugin keamanan.

Create administrator certificate
root@ns3:/usr/local/etc/opensearch # openssl genrsa -out admin-key-temp.pem 2048
Agar sertifikat administrator dapat digunakan dengan program Java, konversikan kunci ke format PKCS.

Convert administrator certificate to PKCS
root@ns3:/usr/local/etc/opensearch # openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem
Selanjutnya, buat permintaan penandatanganan sertifikat (CSR) untuk sertifikat administrator (Permintaan Penandatanganan Sertifikat) berdasarkan kunci privat. File ini bertindak sebagai aplikasi ke CA untuk sertifikat yang telah Anda tandatangani.

Create CSR
root@ns3:/usr/local/etc/opensearch # openssl req -new -key admin-key.pem -out admin.csr
Sekarang setelah kunci pribadi dan permintaan penandatanganan telah dibuat, tandatangani sertifikat administrator menggunakan sertifikat akar dan kunci pribadi yang Anda buat sebelumnya.

Sign the administrator certificate
root@ns3:/usr/local/etc/opensearch # openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

c. Buat Sertifikat Node

Membuat simpul Sertifikat hampir sama dengan langkah-langkah untuk membuat sertifikat administrator di atas. Di bagian ini, kita akan membuat kunci dan CSR dengan nama file baru untuk setiap simpul dan sertifikat klien. Untuk membuat simpul atau sertifikat klien, pertama-tama buat kunci baru.

Generate Node Certificates
root@ns3:/usr/local/etc/opensearch # openssl genrsa -out node1-key-temp.pem 2048
Kemudian konversi kunci pribadi ke format PKCS, sehingga dapat digunakan oleh aplikasi Java.

Convert private key to PKCS
root@ns3:/usr/local/etc/opensearch # openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem
Berikutnya, buat CSR baru untuk sertifikat host berdasarkan kunci privat.

Create CSR
root@ns3:/usr/local/etc/opensearch # openssl req -new -key node1-key.pem -out node1.csr
Untuk semua sertifikat host dan klien, Anda harus menentukan nama alternatif subjek (SAN). Sebelum membuat sertifikat yang ditandatangani, buat file ekstensi SAN yang berisi nama host dan nama domain.

Create a SAN
root@ns3:/usr/local/etc/opensearch # echo 'subjectAltName=DNS:node1.datainchi.com' > node1.ext
Berikutnya, buat sertifikatnya.

Sign the CSR
root@ns3:/usr/local/etc/opensearch # 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
Berikutnya, konversi sertifikat akar CA ke format .crt sehingga sertifikat akar CA dapat diinstal pada server Opensearch.

Convert CA root
root@ns3:/usr/local/etc/opensearch # openssl x509 -outform der -in root-ca.pem -out root-ca.crt
Ubah kepemilikan dan izin direktori ke opensearch:opensearch.

Change the ownership and permissions
root@ns3:/usr/local/etc/opensearch # chown -R opensearch:opensearch /usr/local/etc/opensearch/

d. Menyiapkan Sertifikat Untuk Opensearch

Setelah Anda membuat semua sertifikat, lanjutkan dengan menginstal dan menambahkannya ke berkas konfigurasi OpenSearch Anda, yaitu "opensearch.yml". Buka "/usr/local/etc/opensearch/opensearch.yml", dan di bagian paling bawah skrip (akhir skrip), Anda menambahkan skrip di bawah ini.

Change the ownership and permissions
root@ns3:/usr/local/etc/opensearch # ee opensearch.yml
plugins.security.ssl.transport.pemcert_filepath: /usr/local/etc/opensearch/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /usr/local/etc/opensearch/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /usr/local/etc/opensearch/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /usr/local/etc/opensearch/node1.pem
plugins.security.ssl.http.pemkey_filepath: /usr/local/etc/opensearch/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /usr/local/etc/opensearch/root-ca.pem
plugins.security.allow_default_init_securityindex: true
plugins.security.authcz.admin_dn:
  - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.nodes_dn:
  - 'CN=node1.datainchi.com,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'
plugins.security.audit.type: internal_opensearch
plugins.security.enable_snapshot_restore_privilege: true
plugins.security.check_snapshot_restore_write_privileges: true

B. Proses Instal Plugins

Seperti yang kita ketahui, Opensearch memiliki beberapa plugin inti sebagai bagian dari instalasi rilisnya. Di Opensearch, plugin digunakan untuk meningkatkan fungsi dan fitur utama. Selain plugin inti, Anda juga dapat menulis plugin kustom Anda sendiri dan ada juga plugin yang dibuat komunitas yang tersedia di Github.

Agar fungsi plugin dapat berjalan dengan sempurna dan terhubung dengan Opensearch, semua plugin harus dapat mengakses data di cluster. Sebelum Anda menggunakan plugin, Anda harus terlebih dahulu memahami fungsi dan manfaat plugin tersebut. Lalu, plugin apa saja yang ada di Opensearch. Anda dapat melihat plugin yang tersedia dengan menjalankan perintah di bawah ini.

Check the plugin list
root@ns3:~ # cd /usr/local/lib/opensearch/bin
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin list
analysis-extension
analysis-fess
analysis-icu
configsync
minhash
opensearch-alerting
opensearch-anomaly-detection
opensearch-asynchronous-search
opensearch-cross-cluster-replication
opensearch-custom-codecs
opensearch-geospatial
opensearch-index-management
opensearch-job-scheduler
opensearch-knn
opensearch-ml
opensearch-neural-search
opensearch-notifications
opensearch-notifications-core
opensearch-observability
opensearch-performance-analyzer
opensearch-reports-scheduler
opensearch-security
opensearch-security-analytics
opensearch-sql
Daftar lengkap plugin tambahan yang didukung:

- repository-gcs
Menambahkan dukungan untuk layanan Google Cloud Storage sebagai repositori snapshot.

- analysis-icu
Menambahkan modul Lucene ICU dengan dukungan Unicode yang diperluas dan penggunaan pustaka ICU. Modul ini menyediakan analisis bahasa Asia yang lebih baik, normalisasi Unicode, konversi huruf besar-kecil Unicode, dukungan pencocokan, dan transliterasi.

- repository-azure
Menambahkan dukungan untuk penyimpanan Azure Blob sebagai repositori snapshot.

- analysis-kuromoji
Menambahkan modul analisis Lucene kuromoji untuk bahasa Jepang.

- analysis-nori
Menambahkan modul analisis nori Lucene untuk Korea.

- analysis-phonetic
Menyediakan filter token yang mengubah ekspresi ke representasi fonetiknya menggunakan Soundex, Metaphone, dan algoritma lainnya.

- repository-s3
Menambahkan dukungan untuk AWS S3 sebagai repositori snapshot.

- analysis-smartcn
Menambahkan modul analisis Smart Chinese Lucene untuk teks Mandarin atau teks campuran Mandarin-Inggris.

- analysis-stempel
Menambahkan modul analisis Stempel Lucene untuk bahasa Polandia.

- ingest-attachment
Ekstrak lampiran file dalam format umum (seperti PPT, XLS, dan PDF) menggunakan pustaka ekstraksi teks Apache Tika.

- mapper-annotated-text
Mengindeks teks yang merupakan gabungan teks biasa dan markup khusus. Kombinasi ini digunakan untuk mengidentifikasi objek, seperti orang atau organisasi.

- mapper-murmur3
Menghitung hash nilai bidang berdasarkan waktu indeks dan menyimpannya dalam indeks.

- mapper-size
Menyediakan ukuran bidang metadata, yang mengindeks ukuran dalam byte dari sumber

- repository-hdfs
Menambahkan dukungan untuk sistem berkas HDFS sebagai repositori snapshot.

- transport-nio
Pustaka jaringan non-pemblokiran server-klien yang dibuat menggunakan Netty.

C. Cara menggunakan plugin Opensearch

Fungsionalitas dan fitur Opensearch dapat ditingkatkan dengan menambahkan plugin khusus. Contoh penggunaan plugin yang dapat meningkatkan fungsionalitas Opensearch seperti plugin dapat menambahkan jenis pemetaan khusus, skrip mesin, dll. Di bagian ini kita akan mempelajari cara menggunakan plugin Opensearch. Berikut ini adalah contoh skrip untuk menginstal plugin.

/usr/local/lib/opensearch/bin/opensearch-plugin install plugin-name.

Untuk memperjelas pemahaman Anda tentang plugin, berikut ini kami tunjukkan contoh cara menginstal plugin.

Example of how to install the plugin
root@ns3:~ # cd /usr/local/lib/opensearch/bin
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-fess:2.9.0
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install org.codelibs.opensearch:opensearch-analysis-extension:2.9.0
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install org.codelibs.opensearch:opensearch-minhash:2.9.0
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install org.codelibs.opensearch:opensearch-configsync:2.9.0
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install analysis-icu
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin install org.opensearch.plugin:opensearch-anomaly-detection:2.2.0.0

D. Cara Hapus plugin

Setelah Anda mempelajari cara memasang plugin, Anda pasti ingin tahu cara menghapus plugin. Skripnya hampir sama dengan memasang plugin, berikut sintaksis cara menghapus plugin.

/usr/local/lib/opensearch/bin/opensearch-plugin remove plugin-name.

Di bawah ini, kami menunjukkan cara menghapus plugin.

Remove plugin
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin remove org.codelibs.opensearch:opensearch-configsync:2.9.0
root@ns3:/usr/local/lib/opensearch/bin # ./opensearch-plugin remove analysis-icu
Dalam postingan ini kami telah menjelaskan secara rinci proses pembuatan sertifikat SSL dan cara memasang, menghapus plugin Opensearch. Kami sarankan Anda membaca semua halaman dokumentasi Opensearch agar pemahaman Anda lebih luas dan dapat mempermudah penggunaan fungsi dan fitur Opensearch.
Subscribe on LinkedIn FreeBSD OpenSearch - Mengkonfigurasi Plugin dan Sertifikat TLS OpenSearch dengan OpenSSL

Enclosures Link: FreeBSD OpenSearch - Mengkonfigurasi Plugin dan Sertifikat TLS OpenSearch dengan OpenSSL

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar