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.
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.
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:
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.
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.
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:
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.
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
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.
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.
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.
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.
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:
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:
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:
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:
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
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:
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.
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.
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.
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‚.
Überprüfe OpenSearch-Benutzer „kibanaserver„.
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:
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
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.
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
Ü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.
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.
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
Ö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.
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.
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„.
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.
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.