So installierst du OpenSearch auf Rocky Linux 9

OpenSearch ist ein von der Community betriebenes Projekt von Amazon und ein Fork von Elasticsearch und Kibana. Es ist eine vollständig quelloffene Suchmaschine und Analyse-Suite mit umfangreichen Features und innovativen Funktionen. Die Hauptkomponenten des OpenSearch-Projekts sind OpenSearch (eine Abspaltung von Elasticsearch) und die OpenSearch Dashboards (eine Abspaltung von Kibana). Beide Komponenten bieten Funktionen wie Unternehmenssicherheit, Alarmierung, maschinelles Lernen, SQL, Indexstatusverwaltung und mehr.

OpenSearch ist zu 100 % quelloffen und unter der Apache 2.0-Lizenz lizenziert. Mit OpenSearch kannst du auf einfache Weise Daten aufnehmen, sichern, durchsuchen, aggregieren, anzeigen und analysieren, z. B. für Log-Analysen, Anwendungssuche, Unternehmenssuche und vieles mehr.

Dieser Artikel zeigt dir, wie du OpenSearch – eine Open-Source-Such-, Analyse- und Visualisierungssuite – auf dem Rocky Linux 9 Server installierst. Dieser Artikel beinhaltet die Sicherung der OpenSearch-Installation mit TLS/SSL-Zertifikaten und die Einrichtung von Authentifizierung und Autorisierung für OpenSearch.

Dieser Artikel zeigt dir auch, wie du OpenSearch Dashboards installierst – ein Open-Source-Visualisierungstool wie Kibana – und es dann für die Verbindung mit OpenSearch konfigurierst. Wenn du mit diesem Artikel fertig bist, hast du eine Datenanalyse- und Visualisierungssuite auf deinem Rocky Linux Server installiert.

Voraussetzungen

Um mit dieser Anleitung beginnen zu können, brauchst du die folgenden Voraussetzungen:

  • Ein Server mit Rocky Linux 9 und mindestens 4 GB RAM – In diesem Beispiel wird ein Rocky Linux Server mit dem Hostnamen „node-rock1„, der IP-Adresse „192.168.5.25“ und 8 GB RAM verwendet.
  • Ein Nicht-Root-Benutzer mit sudo/root-Administrator-Rechten.
  • Ein SELinux wird im permissiven Modus ausgeführt.

Das war’s. Beginnen wir mit der Installation von OpenSearch.

System einrichten

Als erstes musst du deinen Rocky Linux-Host vorbereiten. Dazu gehört das Einrichten des richtigen Hostnamens und fqdn, das Deaktivieren von SWAP und das Erhöhen des maximalen Kartenspeichers auf deinem System.

Dazu musst du dich bei deinem Rocky Linux Server anmelden.

Gib nun den folgenden Befehl ein, um den richtigen Hostnamen und fqdn für deinen Rocky Linux Server einzurichten.

In diesem Beispiel wird der Hostname des Systems mit „node-rock1“ und der fqdn mit „node-rock1.hwdomain.lan“ festgelegt. Achte außerdem darauf, dass du die IP-Adresse im folgenden Befehl durch die IP-Adresse deines Servers ersetzt.

sudo hostnamectl set-hostname node-rock1
echo '192.168.5.25  node-rock1.hwdomain.lan  node-rock1' >> /etc/hosts

Melde dich von deiner aktuellen Sitzung ab und melde dich erneut an. Überprüfe dann fqdn mit dem folgenden Befehl.

sudo hostname -f

Du solltest eine Ausgabe wie diese erhalten. Der fqdn auf dem Host ist auf „node-rock1.hwdomain.lan“ konfiguriert.

fqdn einrichten

Als Nächstes musst du das Memory Paging und SWAP auf deinem Rocky Linux-Host deaktivieren. Die Deaktivierung von Memory Paging und SWAP erhöht die Leistung deines OpenSearch Servers.

Gib den folgenden Befehl ein, um SWAP auf deinem System zu deaktivieren. Der erste Befehl deaktiviert SWAP dauerhaft, indem er die SWAP-Konfiguration in der Datei „/etc/fstab“ auskommentiert. Der zweite Befehl wird verwendet, um SWAP in der aktuellen Sitzung zu deaktivieren.

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a

Überprüfe den Status von SWAP auf deinem System mit dem folgenden Befehl.

free -m

Du erhältst eine ähnliche Ausgabe wie diese – der Abschnitt „Swap“ mit einem Wert von insgesamt 0 bestätigt, dass SWAP deaktiviert ist.

Swap deaktivieren

Zu guter Letzt musst du den maximalen Kartenspeicher auf deinem System für OpenSearch erhöhen. Das kannst du über die Datei „/etc/sysctl.conf“ machen.

Gib den folgenden Befehl ein, um den maximalen Kartenspeicher auf „262144“ zu erhöhen, und wende die Änderungen an. Damit fügst du eine neue Konfiguration „vm.max_map_count=262144“ in die Datei /etc/sysctl.conf ein und wendest die Änderungen mit dem Befehl „sysctl -p“ auf deinem System an.

sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p

Mit dem folgenden Befehl kannst du nun den Status von max maps memory auf deinem System deaktivieren. Und du solltest ‚max_map_count‚ auf ‚262144‚ erhöhen.

cat /proc/sys/vm/max_map_count

Ausgabe:

setuo vm max

Nachdem das System konfiguriert ist, kannst du OpenSearch installieren.

Installation von OpenSearch

OpenSearch kann auf verschiedene Arten installiert werden. Du kannst OpenSearch über Tarball, Docker, RPM und Kubernetes installieren. Bei RHEL-basierten Distributionen kannst du OpenSearch ganz einfach über das offizielle OpenSearch-Repository installieren.

Gib den folgenden curl-Befehl ein, um das OpenSearch-Repository auf dein System herunterzuladen. Überprüfe dann die Liste der verfügbaren Repositories mit dem unten stehenden Befehl.

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

Wenn du erfolgreich warst, solltest du das Repository„OpenSearch 2.x“ in deiner Terminalausgabe sehen.

Liste der Repos verifizieren

Du kannst auch die verfügbaren Pakete von „opensearch“ überprüfen, indem du den folgenden Befehl eingibst.

sudo dnf info opensearch

Zum Zeitpunkt der Erstellung dieses Artikels bietet das OpenSearch-Repository zwei Versionen von OpenSearch für verschiedene Systemarchitekturen – OpenSearch 2.5 für x86_64 und aarch64.

Version mit offener Suche

Rufe den folgenden dnf-Befehl auf, um OpenSearch auf deinem Rocky Linux Server zu installieren. Wenn du zur Bestätigung aufgefordert wirst, gibst du y ein, um zu bestätigen, und drückst ENTER, um fortzufahren.

sudo dnf install opensearch

Ausgabe:

installiere das OpenSearch

Während der Installation wirst du auch aufgefordert, den GPG-Schlüssel für das OpenSearch-Repository hinzuzufügen. Gib zur Bestätigung y ein und drücke ENTER.

gpg-Schlüssel akzeptieren

Sobald OpenSearch erfolgreich installiert ist, lädst du den systemd manager neu und wendest die neuen Änderungen mit dem unten stehenden systemctl Befehl an.

sudo systemctl daemon-reload

Starte nun OpenSearch und aktiviere es mit dem unten stehenden Befehl. Damit sollte OpenSearch mit den Standardkonfigurationen laufen und ist außerdem aktiviert, d.h. OpenSearch wird beim Systemstart automatisch gestartet.

sudo systemctl start opensearch
sudo systemctl enable opensearch

start enable opensearch

Um sicherzugehen, dass die OpenSearch funktioniert und läuft, kannst du das mit dem folgenden systemctl-Befehl überprüfen.

sudo systemctl status opensearch

Du solltest eine Ausgabe wie diese erhalten – Die Ausgabe „active (running)“ bestätigt, dass der OpenSearch-Dienst läuft, während „… enabled;...“ bestätigt, dass der OpenSearch-Dienst aktiviert ist.

Überprüfen Sie die Eröffnungssuche

Du hast nun OpenSearch installiert und es läuft und ist aktiviert. Du kannst nun mit dem nächsten Schritt fortfahren, um deine OpenSearch-Installation einzurichten.

OpenSearch konfigurieren

Standardmäßig werden die OpenSearch-Konfigurationen im Verzeichnis „/etc/opensearch“ gespeichert. In diesem Schritt nimmst du die Grundkonfiguration von OpenSearch im Single-Node-Modus vor. Außerdem erhöhst du den maximalen Heap-Speicher auf deinem System, um die Leistung des OpenSearch-Servers zu verbessern.

Öffne die OpenSearch-Konfigurationsdatei „/etc/opensearch/opensearch.yml“ mit dem unten stehenden nano-Editor-Befehl.

sudo nano /etc/opensearch/opensearch.yml

Ändere einige Standardparameter von OpenSearch mit den folgenden Zeilen. Damit führst du OpenSearch mit einer bestimmten Netzwerk-IP-Adresse „192.168.5.25“ aus, wählst den Einsatztyp „single-node“ und aktivierst die OpenSearch-Sicherheitsplugins wieder.

# 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

Speichere und beende die Datei „/etc/opensearch/opensearch.yml„, wenn du fertig bist.

Einrichten einer offenen Suche

Als Nächstes öffnest du die Standard-JVM-Optionsdatei für OpenSearch „/etc/opensearch/jvm.options“ mit dem folgenden nano-Editor-Befehl.

sudo nano /etc/opensearch/jvm.options

Ändere den standardmäßigen maximalen Heap-Speicher mit den folgenden Zeilen. Dies hängt von deinem Serverspeicher ab. Du kannst mehr als 2 GB für OpenSearch zuweisen, wenn du einen größeren RAM-Speicher hast.

-Xms2g
-Xmx2g

Speichere die Datei und beende den Editor, wenn du fertig bist.

maxc Heap-Speicher einrichten

Zum Schluss führst du den unten stehenden systemctl-Befehl aus, um den OpenSearch-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart opensearch

Jetzt sollte OpenSearch unter der IP-Adresse „192.168.5.25“ mit dem Standardport „9200“ laufen. Überprüfe die Liste der offenen Ports auf deinem System, indem du den folgenden ss-Befehl eingibst.

ss -tulpn

OpenSearch mit TLS-Zertifikaten absichern

In diesem Schritt erstellst du mehrere Zertifikate, die zur Sicherung der OpenSearch-Installation verwendet werden. Du sicherst die Node-to-Node-Kommunikation mit TLS-Zertifikaten ab und sicherst den REST-Layer-Verkehr zwischen Client und Server über TLS.

Im Folgenden findest du eine Liste der Zertifikate, die du erstellen wirst:

  • Root-CA-Zertifikate: Diese Zertifikate werden verwendet, um andere Zertifikate zu signieren.
  • Admin-Zertifikate: Diese Zertifikate werden verwendet, um administrative Rechte zu erhalten und alle Aufgaben im Zusammenhang mit dem Sicherheits-Plugin auszuführen.
  • Node- und Client-Zertifikate: Diese Zertifikate werden von den Knoten und Clients innerhalb des OpenSearch-Clusters verwendet.

Bevor wir neue TLS-Zertifikate erstellen, müssen wir einige Standardzertifikate und Standardkonfigurationen von OpenSearch entfernen.

Gib den folgenden Befehl ein, um die Standard-OpenSearch-TLS-Zertifikate zu entfernen. Öffne dann die OpenSearch-Konfiguration „/etc/opensearch/opensearch.yml“ mit dem folgenden nano-Editor-Befehl.

rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}
sudo nano /etc/opensearch/opensearch.yml

Kommentiere unten in der Zeile die Standardkonfiguration für die OpenSearch-Sicherheitsdemo wie folgt aus.

Demo-Zertifikate löschen

Speichere und beende die Datei, wenn du fertig bist.

Gib als nächstes den folgenden Befehl ein, um ein neues Verzeichnis „/etc/opensearch/certs“ zu erstellen. In diesem Verzeichnis werden die neuen TLS-Zertifikate gespeichert, die erzeugt werden. Verschiebe dann dein Arbeitsverzeichnis in dieses Verzeichnis.

mkdir -p /etc/opensearch/certs; cd /etc/opensearch/certs

Erzeugen von Root-CA-Zertifikaten

Erstelle einen privaten Schlüssel für die Root-CA-Zertifikate wie unten beschrieben.

openssl genrsa -out root-ca-key.pem 2048

Erstelle nun ein selbstsigniertes Root-CA-Zertifikat mit dem unten stehenden Befehl. Du kannst auch die Werte des Parameters „-subj“ nach deinen Angaben ändern.

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

Damit solltest du den privaten Schlüssel der Root-CA „root-ca-key.pem“ und das Root-CA-Zertifikat „root-ca.pem“ erhalten.

Ausgabe:

root ca erzeugen

Admin-Zertifikate generieren

Erstelle den neuen privaten Schlüssel des Admin-Zertifikats „admin-key-temp.pem“ mit dem folgenden Befehl.

openssl genrsa -out admin-key-temp.pem 2048

Konvertiere den Standard-Admin-Schlüssel in das PKCS#8-Format. Für die Java-Anwendung musst du den standardmäßigen privaten Schlüssel in einen PKCS#12-kompatiblen Algorithmus (3DES) umwandeln. Damit sollte dein privater Schlüssel „admin-key.pem“ lauten.

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

Als Nächstes führst du den folgenden Befehl aus, um die CSR (Certificate Signing Request) aus dem privaten Schlüssel „admin-key.pem“ zu erzeugen. Die erzeugte CSR sollte jetzt die Datei „admin.csr“ sein.

Da dieses Zertifikat für die Authentifizierung des erweiterten Zugangs verwendet wird und nicht an einen Host gebunden ist, kannst du in der„CN„-Konfiguration alles verwenden.

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

Zum Schluss führst du den folgenden Befehl aus, um die Admin-CSR mit dem Root-CA-Zertifikat und dem privaten Schlüssel zu signieren. Die Ausgabe des Admin-Zertifikats ist die Datei „admin.pem„.

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Dein Admin-Zertifikat sollte nun die Datei „admin.pem“ sein, die mit Root-CA-Zertifikaten signiert ist. Und der private Schlüssel ist die Datei „admin-key.pem„, die in das PKCS#8-Format konvertiert wurde.

Ausgabe:

Admin-Zertifikate erstellen

Knotenzertifikate generieren

Der Prozess der Erstellung von Knotenzertifikaten ist ähnlich wie bei den Admin-Zertifikaten. Allerdings kannst du den CN-Wert mit dem Hostnamen oder der IP-Adresse deines Knotens angeben.

Erstelle den privaten Schlüssel des Knotens mit dem unten stehenden Befehl.

openssl genrsa -out node-rock1-key-temp.pem 2048

Konvertiere den privaten Schlüssel des Knotens in das PKCS#8-Format. Dein privater Knotenschlüssel sollte nun „node-rock1-key.pem“ heißen.

openssl pkcs8 -inform PEM -outform PEM -in node-rock1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node-rock1-key.pem

Als Nächstes erstellst du eine neue CSR für das Knotenzertifikat. Achte darauf, dass du den „CN„-Wert durch den Hostnamen deines Knotens ersetzt. Dieses Zertifikat ist an Hosts gebunden, und du musst den CN-Wert mit dem Hostnamen oder der IP-Adresse deines OpenSearch-Knotens angeben.

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

Bevor du das Knotenzertifikat signierst, führe den folgenden Befehl aus, um eine SAN-Erweiterungsdatei „node-rock1.ext“ zu erstellen. Diese enthält den Hostnamen, den FQDN oder die IP-Adresse des Knotens.

echo 'subjectAltName=DNS:node-rock1.hwdomain.lan' > node-rock1.ext

Zum Schluss signierst du die CSR-Datei des Knotenzertifikats mit dem Root-CA-Zertifikat und dem privaten Zertifikat mit dem unten stehenden Befehl.

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

Damit ist dein Knotenzertifikat eine „node-rock1.pem„-Datei und der private Schlüssel ist „node-rock1-key.pem„.

Ausgabe:

Nodecerts erzeugen

Einrichten von Zertifikaten

Führe den folgenden Befehl aus, um das temporäre Zertifikat, die CSR und die SAN-Erweiterungsdatei zu entfernen.

rm *temp.pem *csr *ext
ls

Konvertiere das Root-CA-Zertifikat in das .crt-Format.

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

Füge das Root-CA-Zertifikat mit dem unten stehenden Befehl zu deinem Rocky Linux-System hinzu. Kopiere die Datei root-ca.crt in das Verzeichnis „/etc/pki/ca-trust/source/anchors/“ und lade das neue Root-CA-Zertifikat in dein System.

sudo cp root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Ausgabe:

root ca hinzufügen

Zum Schluss führst du den folgenden Befehl aus, um die richtigen Berechtigungen und Eigentumsrechte für deine Zertifikate einzurichten. Der Eigentümer des Verzeichnisses „/etc/opensearch/certs“ sollte der Benutzer „opensearch“ mit der Berechtigung 0700 sein. Und für alle Zertifikatsdateien sollte die Berechtigung 0600 sein.

sudo chown -R opensearch:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem
sudo chmod 0600 /etc/opensearch/certs/*.crt

Zeugnisse auflisten

Hinzufügen von TLS-Zertifikaten zu OpenSearch

Nachdem die TLS-Zertifikate erstellt wurden, sind die Root-CA, die Admin-Zertifikate und die Node-Zertifikate vorhanden. Als Nächstes fügst du Zertifikate zur OpenSearch-Konfigurationsdatei „/etc/opensearch/opensearch.yml“ hinzu. In diesem Beispiel erstellst du ein neues Bash-Skript, das Zertifikate und TLS-Sicherheits-Plugin-Einstellungen zu OpenSearch hinzufügt.

Erstelle eine neue Datei „add.sh“ mit dem unten stehenden nano-Editor-Befehl.

nano add.sh

Füge die folgenden Zeilen in die Datei ein. Achte darauf, dass du den korrekten Pfad deiner Zertifikatsdateien und der OpenSearch-Konfigurationsdatei angibst.

#! /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

Speichere und beende die Datei, wenn du fertig bist.

Mache die Datei „add.sh“ ausführbar und führe sie aus. Das neue TLS-Sicherheits-Plugin für OpenSearch sollte der OpenSearch-Konfigurationsdatei ‚/etc/opensearch/opensearch.yml‚ hinzugefügt werden.

chmod +x add.sh
./add.sh

Ausgabe:

tls-konfiguration hinzufügen opensearch

Wenn du die OpenSearch-Konfigurationsdatei ‚/etc/opensearch/opensearch.yml‘ überprüfst, solltest du die neuen Einstellungen sehen, die durch das Skript ‚add.sh‚ erzeugt wurden.

Jetzt hast du TLS-Zertifikate zu OpenSearch hinzugefügt und die Sicherheitsplugins aktiviert. Im nächsten Schritt sicherst du OpenSearch mit Authentifizierung und Autorisierung, indem du einen neuen Benutzer für OpenSearch anlegst.

Admin-Benutzer OpenSearch einrichten

Verschiebe zunächst dein Arbeitsverzeichnis nach „/usr/share/opensearch/plugins/opensearch-security/tools„, indem du den folgenden cd-Befehl ausführst.

cd /usr/share/opensearch/plugins/opensearch-security/tools

Führe das Skript „hash.sh“ aus, um einen neuen Passwort-Hash für OpenSearch zu erzeugen. Gib das Passwort ein, das du erstellen willst, und drücke ENTER.

OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Du solltest den generierten Hash deines Passworts erhalten. Kopiere diesen Hash, denn du musst das gehashte Passwort zur OpenSearch-Konfiguration hinzufügen.

Admin-Passwort generieren

Führe das Skript „hash.sh“ erneut aus, um einen weiteren Passwort-Hash zu erzeugen, der für die OpenSearch Dashboards verwendet wird.

OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh

Damit hast du nun zwei Hash-Passwörter für OpenSearch erzeugt.

Als Nächstes öffnest du die OpenSearch-Benutzerkonfiguration „/etc/opensearch/opensearch-security/internal_users.yml“ mit dem unten stehenden nano-Editor-Befehl. Jetzt richtest du die OpenSearch-Benutzer über OpenSearch Security ein.

sudo nano /etc/opensearch/opensearch-security/internal_users.yml

Lösche alle Standard-OpenSearch-Benutzer und ersetze sie durch die folgenden Zeilen. Achte darauf, dass du das Hash-Passwort durch dein generiertes Passwort ersetzt. In diesem Beispiel legst du zwei Benutzer für OpenSearch an: den Benutzer „admin“ für OpenSearch und den Benutzer „kibanaserver„, der von OpenSearch Dashboards verwendet wird.

...
...
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"

Speichere und beende die Datei, wenn du fertig bist.

Benutzereinstellungen

Gib nun den folgenden systemctl-Befehl ein, um den OpenSearch-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart opensearch

Wechsle nun in das Verzeichnis „/usr/share/opensearch/plugins/opensearch-security/tools“ und rufe das Skript „securityadmin.sh“ auf, um die neuen Änderungen an OpenSearch Security anzuwenden.

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

Das Skript „securityadmin.sh“ verbindet sich mit dem OpenSearch-Server, der unter der IP-Adresse „192.168.5.25“ und dem Standardport „9200“ läuft. Dann wendest du die neuen Benutzer, die du in der Datei „/etc/opensearch/opensearch-security/internal_users.yml“ konfiguriert hast, auf den OpenSearch-Einsatz an.

Admin-Benutzer anwenden

Nachdem du die neuen Benutzer mit dem Skript „securityadmin.sh“ hinzugefügt und angewendet hast, kannst du die OpenSearch-Benutzer mit dem folgenden curl-Befehl überprüfen. Achte darauf, dass du den Hostnamen oder die IP-Adresse sowie den Benutzer und das Passwort für OpenSearch änderst.

curl https://node-rock1:9200 -u admin:password -k
curl https://node-rock1:9200 -u kibanaserver:kibanapass -k

Wenn die Konfiguration des Benutzers erfolgreich ist, solltest du eine Ausgabe wie diese erhalten:

Überprüfe OpenSearch-Benutzer ‚admin‚.

admin verifizieren öffnen Suche

Überprüfe OpenSearch-Benutzer „kibanaserver„.

Kibana-Benutzer verifizieren

Damit hast du die Installation von OpenSearch über RPM-Pakete auf dem Rocky Linux 9 Server abgeschlossen. Außerdem hast du die OpenSearch-Installation über TLS-Zertifikate gesichert und die Benutzerauthentifizierung und -autorisierung über die OpenSearch Security Plugins aktiviert.

Im nächsten Schritt installierst du OpenSearch Dashboards und fügst deinen OpenSearch-Server mit dem neu angelegten Benutzer „kibanaserver“ hinzu.

Installation von OpenSearch Dashboard

Da das OpenSearch-Repository immer noch den alten SHA1-Hash verwendet, um das OpenSearch Dashboard-Paket zu verifizieren, musst du die Standard-Kryptorichtlinien auf deinem Rocky Linux auf LEGACY ändern.

Führe den folgenden Befehl aus, um die Standard-Krypto-Richtlinie auf LEGACY zu aktualisieren.

sudo update-crypto-policies --set LEGACY

Als Nächstes fügst du das OpenSearch Dashboards Repository mit dem unten stehenden curl-Befehl zu deinem System hinzu.

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

Überprüfe dann die Liste der verfügbaren Repositories auf deinem System. Du solltest das Repository „OpenSearch Dashboard 2.x“ in der Repository-Liste sehen.

sudo dnf repolist

Ausgabe:

Repo hinzufügen

Rufe nun den folgenden dnf-Befehl auf, um das OpenSearch Dashboards-Paket zu installieren. Wenn du dazu aufgefordert wirst, gib zur Bestätigung y ein und drücke ENTER, um fortzufahren.

sudo dnf install opensearch-dashboards

opensearch Dashboards installieren

Während der Installation wirst du außerdem aufgefordert, den GPG-Schlüssel des OpenSearch Dashboards-Repositorys zu akzeptieren. Gib y ein und drücke zur Bestätigung ENTER.

gpg-Schlüssel akzeptieren

Sobald OpenSearch Dashboards installiert ist, führe den folgenden systemctl-Befehl aus, um den Dienst „opensearch-dashboard“ zu starten und zu aktivieren. Das OpenSearch Dashboard sollte jetzt mit der Standardkonfiguration laufen und aktiviert sein, d.h. der Dienst wird beim Systemstart automatisch gestartet.

sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards

Start der Suche nach Dashboards

Überprüfe den OpenSearch Dashboard-Dienst, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status opensearch-dashboards

Du solltest eine Ausgabe wie diese erhalten – der Status des OpenSearch Dashboard-Dienstes lautet „running“ und er ist nun auch aktiviert und wird beim Systemstart automatisch ausgeführt.

Überprüfe die Dashboards von Opensearch

Gehe nun zum nächsten Schritt über, um deine OpenSearch Dashboard-Installation einzurichten.

OpenSearch Dashboards konfigurieren

In diesem Schritt richtest du die OpenSearch Dashboards ein, unter welcher IP-Adresse und an welchem Port das Open Search Dashboard laufen soll, und du stellst eine Verbindung zum OpenSearch-Server her.

Öffne die OpenSearch Dashboard-Konfigurationsdatei „/etc/opensearch-dashboards/opensearch-dashboard.yml“ mit dem unten stehenden nano-Editor.

sudo nano /etc/opensearch-dashboards/opensearch-dashboard.yml

Entferne die Kommentare und ändere die Standardparameter „server.port“ und „server.host“ durch die folgenden Zeilen. Standardmäßig läuft OpenSearch Dashboards auf dem Port „5601„, passe den Parameter „server.host“ mit deiner Server-IP-Adresse an.

# 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"

Gehe zur untersten Zeile der Konfiguration und ändere die Details der OpenSearch-Parameter, die für die Verbindung mit dem OpenSearch-Server verwendet werden. Achte darauf, dass du die Parameter „opensearch.hosts„, „opensearch.username“ und „opensearch.password“ mit den Daten deines OpenSearch-Servers änderst.

opensearch.hosts: [https://192.168.5.25:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass

Speichere die Datei und beende den Editor, wenn du fertig bist.

configure opensearch

Als Nächstes führst du den folgenden systemctl-Befehl aus, um den OpenSearch Dashboards-Dienst neu zu starten und die Änderungen zu übernehmen.

sudo systemctl restart opensearch-dashboards

Damit sollten die OpenSearch Dashboards unter der IP-Adresse „192.168.5.25“ mit dem Port „5601“ laufen. Außerdem wird das OpenSearch Dashboard mit dem OpenSearch Server mit dem Benutzer „kibanaserver“ verbunden.

Zugriff auf OpenSearch Dashboards

An diesem Punkt hast du die Installation und Konfiguration von OpenSearch Dashboard abgeschlossen. Überprüfe nun die Installation von OpenSearch Dashboards, indem du über den Webbrowser darauf zugreifst und die Verbindung zum OpenSearch-Server über „Dev Tools“ überprüfst.

Bevor du auf die OpenSearch Dashboards zugreifen kannst, musst du Port 5601 in deiner Firewall öffnen.

Rufe die folgenden Firewall-cmd-Befehle auf, um den TCP-Port 5601 zu öffnen. Lade dann die Firewalld neu, um die Änderungen zu übernehmen.

sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload

Überprüfe dann die Liste der Regeln in der Firewalld mit dem folgenden Befehl. Du solltest sehen, dass Port 5601 in der Firewalld verfügbar ist.

sudo firewall-cmd --list-all

firewalld einrichten

Öffne nun deinen Webbrowser und rufe die IP-Adresse des OpenSearch Dashboards mit Port 5601 auf (z.B.: http:192.168.5.25:5601). Du siehst nun die Anmeldeseite von OpenSearch Dashboards.

Gib deinen Benutzernamen und dein Passwort ein, die du erstellt hast. In diesem Beispiel ist der Benutzer „kibanaserver“. Klicke dann auf die Schaltfläche „Anmelden„, um zu bestätigen und dich bei OpenSearch Dashboards anzumelden.

opensearch Anmeldung

Wenn die Anmeldung erfolgreich war, solltest du die folgende Seite mit der Meldung „Willkommen bei OpenSearch Dashboards“ erhalten. Du kannst nun auf „Daten hinzufügen“ klicken, um neue Daten zu deinem OpenSearch-Server hinzuzufügen, oder auf „Meine eigenen erforschen“ für eine spätere Einrichtung.

Dashboards öffnen

Um sicherzustellen, dass OpenSearch Dashboards mit dem OpenSearch-Server verbunden ist, führst du die folgenden Schritte durch:

Klicke im linken Menü auf den Abschnitt „Verwaltung“ und dann auf „Dev Tools„.

Entwicklungswerkzeuge

Gib nun die Abfrage „GET /“ in die Konsole ein und klicke auf die Schaltfläche „Abspielen“. Wenn die Abfrage erfolgreich war, solltest du auf der rechten Seite eine Ausgabe mit detaillierten Informationen über deinen OpenSearch-Server sehen. Außerdem kannst du oben rechts den HTTP-Code „200 – OK“ sehen, der bestätigt, dass die Abfrage ohne Fehler ausgeführt wurde.

Test über Entwicklungswerkzeuge

Damit hast du OpenSearch Dashboards über das RPM-Paket auf dem Rocky Linux Server installiert. Außerdem hast du OpenSearch Dashboards so konfiguriert, dass es sich mit dem OpenSearch-Server verbindet.

Fazit

In diesem Artikel hast du OpenSearch über RPM auf dem Rocky Linux 9 Server installiert. Außerdem hast du OpenSearch mit TLS-Zertifikaten abgesichert, die Authentifizierung und Autorisierung aktiviert und die Benutzer in OpenSearch konfiguriert. Außerdem hast du den Rocky Linux Server für den Einsatz von OpenSearch konfiguriert und optimiert.

Du hast auch die OpenSearch Dashboards per RPM auf dem Rocky Linux 9 Server installiert. Du hast die OpenSearch Dashboards erfolgreich konfiguriert und mit aktivierter Authentifizierung mit dem OpenSearch Server verbunden und die Installation von OpenSearch und OpenSearch Dashboards erfolgreich überprüft.

Mit diesem Setup kannst du mehr über OpenSearch erfahren, indem du OpenSearch Cluster einsetzt, zusätzliche Authentifizierungen einrichtest und vieles mehr. Mehr über OpenSearch erfährst du in der offiziellen Dokumentation von OpenSearch.

Das könnte dich auch interessieren …