OpenSearch · 30 min read · Oct 12, 2025
Cómo instalar OpenSearch en Debian 12

OpenSearch es un fork de código abierto de Elasticsearch y Kibana desarrollado por Amazon. Es un motor de búsqueda distribuido, escalable y en tiempo real que permite la búsqueda de texto completo así como análisis. Se utiliza para indexar y buscar grandes cantidades de datos. Comúnmente se despliega junto a OpenSearch Dashboards (un fork de Kibana), un potente panel de visualización de datos para OpenSearch. OpenSearch Dashboards te permite explorar los datos de registro de OpenSearch y construir paneles y consultas para obtener información sobre tu aplicación.
Este tutorial te mostrará cómo instalar OpenSearch en un servidor Debian 12. También aprenderás cómo asegurar tu instalación con certificados TLS personalizados y habilitar la autenticación en OpenSearch.
Prerrequisitos
Un servidor que ejecute Debian 12 con un mínimo de 4GB de RAM.
Un usuario no root con privilegios sudo.
El Firewall sin complicaciones (UFW) está habilitado y en funcionamiento.
Un Nombre de Dominio Totalmente Calificado (FQDN) como
opensearch.example.comapuntando a tu servidor. Esto es beneficioso si deseas servir OpenSearch Dashboards a través de SSL utilizando un servidor proxy.Todo está actualizado.
$ sudo apt update && sudo apt upgradeSe requieren algunos paquetes esenciales para que el tutorial y Craft CMS funcionen. Algunos de estos ya estarán en tu servidor.
$ sudo apt install curl wget nano software-properties-common dirmngr apt-transport-https ca-certificates lsb-release debian-archive-keyring gnupg2 ufw unzip -y
Paso 1 - Configurar el Firewall
El primer paso antes de instalar cualquier paquete es configurar el firewall para permitir conexiones HTTP y HTTPS.
Verifica el estado del firewall.
$ sudo ufw statusDeberías ver algo como lo siguiente.
Estado: activo
Para Acción Desde
-- ------ ----
OpenSSH PERMITIR En cualquier lugar
OpenSSH (v6) PERMITIR En cualquier lugar (v6)Permite los puertos HTTP y HTTPS.
$ sudo ufw allow http
$ sudo ufw allow httpsVerifica el estado nuevamente para confirmar.
$ sudo ufw status
Estado: activo
Para Acción Desde
-- ------ ----
OpenSSH PERMITIR En cualquier lugar
80/tcp PERMITIR En cualquier lugar
443/tcp PERMITIR En cualquier lugar
OpenSSH (v6) PERMITIR En cualquier lugar (v6)
80/tcp (v6) PERMITIR En cualquier lugar (v6)
443/tcp (v6) PERMITIR En cualquier lugar (v6)Paso 2 - Preparar el Sistema
Antes de instalar OpenSearch, necesitamos preparar y optimizar nuestro sistema para ello. Hay varios pasos involucrados que incluyen deshabilitar cualquier memoria swap si la tienes, establecer el número de mapas de memoria para tu sistema y configurar el nombre del host del sistema.
Primero, verifica si tienes habilitada la memoria swap.
$ free -mSi tienes swap habilitado, deberías ver una salida similar.
total usado libre compartido buff/cache disponible
Mem: 7945 1083 6492 34 636 6861
Swap: 4242 0 4242Ejecuta los siguientes comandos para deshabilitar el espacio de swap permanentemente.
$ sudo swapoff -a
$ sudo sed -i '/ swap / s/^\(.*\)$/#
1/g' /etc/fstabVerifica nuevamente la memoria swap y debería mostrar lo siguiente.
total usado libre compartido buff/cache disponible
Mem: 7945 1113 6449 37 651 6831
Swap: 0 0 0OpenSearch utiliza un directorio mapfs por defecto para almacenar sus índices. Los límites del sistema operativo predeterminado sobre los recuentos de nmap son demasiado bajos, lo que puede causar errores de falta de memoria.
Verifica el valor existente para la variable vm.max_map_count.
$ sysctl -n vm.max_map_count
65530Para aumentar el número de mapas de memoria utilizados por cada proceso, ejecuta el siguiente comando.
$ sudo sysctl -w vm.max_map_count=262144Esto solo funcionará hasta que se reinicie el sistema. Para hacer que este valor sea permanente, agrega la línea vm.max_map_count=262144 en el archivo /etc/sysctl.conf utilizando el siguiente comando.
$ echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.confPuedes hacer que el cambio sea permanente reiniciando el sistema o ejecutando el siguiente comando.
$ sudo sysctl -pEl paso final es configurar el nombre del host. Dependiendo de dónde estés alojando tu servidor, algunas empresas de la nube te permiten establecer tu nombre de host directamente a través de su panel de control. Sin embargo, es mejor hacerlo a través de la terminal.
Ejecuta el siguiente comando para establecer el nombre del host.
$ sudo hostnamectl set-hostname opensearchAgrega el FQDN (Nombre de dominio totalmente calificado) al archivo /etc/hosts. Aquí, mapeamos el nombre de host opensearch al nombre de dominio opensearch.example.com y lo apuntamos a la dirección IP del servidor. Reemplaza en el comando a continuación con la dirección IP de tu servidor.
$ echo " opensearch.example.com opensearch" | sudo tee -a /etc/hosts Verifica el nombre del host y el FQDN utilizando los siguientes comandos.
$ hostname
opensearch
$ hostname -f
opensearch.example.comEsto termina el proceso de optimización de nuestro sistema para trabajar con OpenSearch.
Paso 3 - Instalar OpenSearch
Importa la clave GPG de OpenSearch utilizada para firmar el paquete de instalación.
$ curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyringCrea el archivo del repositorio APT de OpenSearch.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.listActualiza la lista de repositorios del sistema.
$ sudo apt updateVerifica todas las versiones disponibles de OpenSearch.
$ sudo apt list -a opensearch
Listing... Done
opensearch/stable 2.12.0 amd64
opensearch/stable 2.11.1 amd64
opensearch/stable 2.11.0 amd64
opensearch/stable 2.10.0 amd64
opensearch/stable 2.9.0 amd64
opensearch/stable 2.8.0 amd64
opensearch/stable 2.7.0 amd64
opensearch/stable 2.6.0 amd64
opensearch/stable 2.5.0 amd64La última versión de OpenSearch v2.12.0 requiere que establezcas la contraseña de demostración del administrador antes de la instalación o fallará.
Puedes instalar la última versión de OpenSearch utilizando el siguiente comando. Podemos establecer la contraseña de demostración del administrador utilizando la variable de entorno en el comando de instalación. Elige una contraseña fuerte.
$ sudo env OPENSEARCH_INITIAL_ADMIN_PASSWORD= apt install opensearch Si ves la siguiente advertencia durante la instalación, puedes ignorarla de forma segura.
......
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
chown: warning: '.' should be ':': ‘opensearch.opensearch’
......O puedes instalar una versión específica.
$ sudo apt install opensearch=2.11.1Recarga el demonio del servicio.
$ sudo systemctl daemon-reloadHabilita el servicio OpenSearch.
$ sudo systemctl enable opensearchInicia el servicio OpenSearch.
$ sudo systemctl start opensearchVerifica el estado del servicio OpenSearch.
$ sudo systemctl status opensearchDeberías obtener la siguiente salida.
? opensearch.service - OpenSearch
Cargado: cargado (/lib/systemd/system/opensearch.service; habilitado; preset: habilitado)
Activo: activo (en ejecución) desde Sat 2024-03-02 06:37:01 UTC; 5s hace
Docs: https://opensearch.org/
PID principal: 31109 (java)
Tareas: 75 (límite: 4652)
Memoria: 1.3G
CPU: 1min 3.128s
CGroup: /system.slice/opensearch.service
??31109 /usr/share/opensearch/jdk/bin/java -Xshare:auto -Dopensearch.networkaddress.cache.ttl=60 -Dopensearch.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true...Paso 4 - Probar OpenSearch
Antes de continuar, verifiquemos si la instalación está funcionando correctamente. Ejecuta el siguiente comando para verificar si OpenSearch está funcionando como se espera.
$ curl -X GET https://localhost:9200 -u 'admin:' --insecure Deberías obtener una salida similar.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "El Proyecto OpenSearch: https://opensearch.org/"
}Consulta el endpoint de plugins de OpenSearch para ver la lista de plugins disponibles.
$ curl -X GET https://localhost:9200/_cat/plugins?v -u 'admin:' --insecure También puedes usar el siguiente comando para lo mismo.
$ /usr/share/opensearch/bin/opensearch-plugin listDeberías obtener una salida similar.
name component version
opensearch opensearch-alerting 2.12.0.0
opensearch opensearch-anomaly-detection 2.12.0.0
opensearch opensearch-asynchronous-search 2.12.0.0
opensearch opensearch-cross-cluster-replication 2.12.0.0
opensearch opensearch-custom-codecs 2.12.0.0
opensearch opensearch-flow-framework 2.12.0.0
opensearch opensearch-geospatial 2.12.0.0
opensearch opensearch-index-management 2.12.0.0
opensearch opensearch-job-scheduler 2.12.0.0
opensearch opensearch-knn 2.12.0.0
opensearch opensearch-ml 2.12.0.0
opensearch opensearch-neural-search 2.12.0.0
opensearch opensearch-notifications 2.12.0.0
opensearch opensearch-notifications-core 2.12.0.0
opensearch opensearch-observability 2.12.0.0
opensearch opensearch-performance-analyzer 2.12.0.0
opensearch opensearch-reports-scheduler 2.12.0.0
opensearch opensearch-security 2.12.0.0
opensearch opensearch-security-analytics 2.12.0.0
opensearch opensearch-skills 2.12.0.0
opensearch opensearch-sql 2.12.0.0Puedes instalar plugins adicionales utilizando el siguiente comando.
$ /usr/share/opensearch/bin/opensearch-plugin install Puedes encontrar la lista de plugins disponibles de OpenSearch en su sitio web oficial.
Paso 5 - Configurar OpenSearch
Los ajustes predeterminados de OpenSearch no son adecuados para un entorno de producción. Por defecto, OpenSearch no está vinculado a una interfaz de red y no es accesible desde el exterior. Además, se están utilizando nombres de usuario y contraseñas predeterminados que pueden causar problemas de seguridad si se utilizan directamente en un entorno de producción.
OpenSearch almacena su configuración en el archivo /etc/opensearch/opensearch.yml. Ábrelo para editar.
$ sudo nano /etc/opensearch/opensearch.ymlBusca la línea #network.host: 192.168.0.1 y descoméntala eliminando el hash (#) delante de ella y cambiando su valor como se muestra. Esto vincula OpenSearch a todas las interfaces disponibles. También puedes optar por ingresar una IP específica para vincularla a una interfaz específica.
# Establece la dirección de enlace a una IP específica (IPv4 o IPv6):
#
network.host: 0.0.0.0Agrega las siguientes líneas al final del archivo.
# A menos que ya hayas configurado un clúster, debes establecer
# discovery.type en single-node, o las verificaciones de arranque fallarán
# cuando intentes iniciar el servicio.
discovery.type: single-node
# Si anteriormente deshabilitaste el plugin de seguridad en opensearch.yml,
# asegúrate de volver a habilitarlo. De lo contrario, puedes omitir esta configuración.
plugins.security.disabled: falseDado que estamos instalando en un solo servidor, hemos establecido discovery.type en single-node. Establecer plugins.security.disabled en false habilita el plugin de seguridad de OpenSearch.
Guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
También necesitamos especificar los tamaños de heap inicial y máximo de JVM (Java Virtual Memory). Esta configuración depende del tamaño de RAM de tu servidor. Por ejemplo, estamos utilizando un servidor con 4GB de RAM, por lo que estamos estableciendo el tamaño de heap en 3GB.
Crea y abre el archivo heapsize.options en el directorio /etc/opensearch/jvm.options.d para editar. Sobrescribirá el valor predeterminado establecido en el archivo /etc/opensearch/jvm.options.
$ sudo nano /etc/opensearch/jvm.options.d/heapsize.optionsAgrega las siguientes líneas a él.
-Xms3g
-Xmx3gGuarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Reinicia el servicio OpenSearch para implementar los cambios.
$ sudo systemctl restart opensearchPuedes verificar el tamaño de heap actual y la memoria máxima utilizando el siguiente comando.
$ curl -sS "https://localhost:9200/_cat/nodes?h=heap*&v" -u 'admin:' --insecure Deberías obtener la siguiente salida.
heap.current heap.percent heap.max
345.5mb 11 3gbPaso 6 - Configurar TLS para OpenSearch
Aquí generaremos certificados para asegurar OpenSearch. Los certificados TLS proporcionan seguridad al permitir que los clientes confirmen la identidad de los hosts y cifren el tráfico entre un cliente y el host. Generaremos los siguientes certificados:
- Certificados CA raíz - Estos son los certificados principales que firmarán todos los demás certificados.
- Certificados de administrador - Estos certificados se utilizan para obtener derechos elevados para realizar tareas administrativas relacionadas con el plugin de seguridad.
- Certificados de nodo - Estos certificados se utilizan para la comunicación entre un nodo y el cliente.
Todos los certificados de OpenSearch se almacenan en el directorio /etc/opensearch. El primer paso es eliminar los certificados predeterminados establecidos durante la instalación de OpenSearch.
Cambia al directorio de OpenSearch.
$ cd /etc/opensearchElimina los certificados predeterminados.
$ sudo rm -f *.pemAbre el archivo de configuración de OpenSearch para editar.
$ sudo nano opensearch.ymlComenta el siguiente código al final del archivo poniendo un hash delante de cada línea dentro de la sección Configuración de demostración de seguridad de OpenSearch como se muestra a continuación.
######## Inicio de la configuración de demostración de seguridad de OpenSearch ########
# ADVERTENCIA: revisa todas las líneas a continuación antes de entrar en producción
#plugins.security.ssl.transport.pemcert_filepath: esnode.pem
#plugins.security.ssl.transport.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.transport.pemtrustedcas_filepath: root-ca.pem
#plugins.security.ssl.transport.enforce_hostname_verification: false
#plugins.security.ssl.http.enabled: true
#plugins.security.ssl.http.pemcert_filepath: esnode.pem
#plugins.security.ssl.http.pemkey_filepath: esnode-key.pem
#plugins.security.ssl.http.pemtrustedcas_filepath: root-ca.pem
#plugins.security.allow_unsafe_democertificates: true
#plugins.security.allow_default_init_securityindex: true
#plugins.security.authcz.admin_dn: ['CN=kirk,OU=client,O=client,L=test,C=de']
#plugins.security.audit.type: internal_opensearch
#plugins.security.enable_snapshot_restore_privilege: true
#plugins.security.check_snapshot_restore_write_privileges: true
#plugins.security.restapi.roles_enabled: [all_access, security_rest_api_access]
#plugins.security.system_indices.enabled: true
#plugins.security.system_indices.indices: [.plugins-ml-config, .plugins-ml-connector,
# .plugins-ml-model-group, .plugins-ml-model, .plugins-ml-task, .plugins-ml-conversation-meta,
# .plugins-ml-conversation-interactions, .plugins-ml-memory-meta, .plugins-ml-memory-message,
# .opendistro-alerting-config, .opendistro-alerting-alert*, .opendistro-anomaly-results*,
# .opendistro-anomaly-detector*, .opendistro-anomaly-checkpoints, .opendistro-anomaly-detection-state,
# .opendistro-reports-*, .opensearch-notifications-*, .opensearch-notebooks, .opensearch-observability,
# .ql-datasources, .opendistro-asynchronous-search-response*, .replication-metadata-store,
# .opensearch-knn-models, .geospatial-ip2geo-data*, .plugins-flow-framework-config,
# .plugins-flow-framework-templates, .plugins-flow-framework-state]
#node.max_local_storage_nodes: 3
######## Fin de la configuración de demostración de seguridad de OpenSearch ########Guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
A continuación, crea un directorio para almacenar los certificados dentro del directorio /etc/opensearch.
$ sudo mkdir /etc/opensearch/certsCambia el permiso del directorio al usuario que ha iniciado sesión actualmente para evitar usar sudo mientras generas los certificados.
$ sudo chown $USER:$USER /etc/opensearch/certs -RCambia al directorio de certificados.
$ cd /etc/opensearch/certsGenerar Certificados Raíz
Genera una clave privada para el certificado raíz.
$ openssl genrsa -out root-ca-key.pem 2048Genera un certificado CA raíz autofirmado. Estamos utilizando el parámetro -subj para proporcionar información que se incrustará en el certificado. Si no usas la bandera -subj, se te pedirá toda esta información.
$ 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 730Puedes cambiar la información para adaptarla a tu host específico.
Las variables en el parámetro -subj significan lo siguiente.
C = Nombre del país (código de 2 letras), ST = Nombre del estado o provincia (nombre completo), L = Nombre de la localidad (por ejemplo, ciudad), O = Nombre de la organización, OU = Nombre de la unidad organizativa (por ejemplo, sección), CN = Nombre común (por ejemplo, FQDN del servidor)
Tu certificado raíz ya está activo.
Generar Certificados de Administrador
Genera la clave privada para el certificado de administrador utilizando el siguiente comando.
$ openssl genrsa -out admin-key-temp.pem 2048Convierte la clave privada al formato PKCS#8 para su uso en Java utilizando un algoritmo compatible con PKCS#12 (3DES).
$ openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pemGenera el CSR (Solicitud de Firma de Certificado) de administrador a partir de la clave privada. Dado que este certificado no está vinculado a ningún host y se utiliza para autenticar el acceso elevado, estamos utilizando un valor de A para el Nombre Común (CN).
$ openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csrFirma el CSR de administrador con el certificado raíz y la clave privada que acabas de crear.
$ openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730
Certificado de solicitud de auto-firma ok
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = AGenerar Certificados de Nodo
Genera una clave privada para el certificado de nodo.
$ openssl genrsa -out node1-key-temp.pem 2048Convierte la clave privada del nodo al formato PKCS#8.
$ openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pemCrea un nuevo CSR para el certificado de nodo a partir de la clave privada. Asegúrate de cambiar el valor de la variable CN con el nombre de host de tu nodo. Este certificado está vinculado a tus hosts y debe coincidir con el nombre de host o la dirección IP del nodo.
$ openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=opensearch.example.com" -out node1.csrCrea un archivo de extensión SAN (Nombre Alternativo del Sujeto) que contenga el nombre de host del nodo o FQDN o dirección IP.
$ sh -c 'echo subjectAltName=DNS:opensearch.example.com > node1.ext'Firma el CSR del certificado de nodo con el certificado raíz y la clave privada que acabas de crear.
$ 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
Certificado de solicitud de auto-firma ok
subject=C = CA, ST = ONTARIO, L = TORONTO, O = ORG, OU = UNIT, CN = opensearch.example.comPreparando Certificados para la Instalación
Elimina cualquier certificado temporal, CSR y el archivo de extensión SAN.
$ rm -f *temp.pem *csr *extA continuación, instalaremos el certificado CA raíz en el servidor. Para ello, convierte el certificado CA raíz al formato .crt.
$ openssl x509 -outform der -in root-ca.pem -out root-ca.crtCopia el archivo root-ca.crt al directorio /usr/local/share/ca-certificates/.
$ sudo cp root-ca.crt /usr/local/share/ca-certificates/Agrega el certificado CA raíz a tu servidor Debian utilizando el siguiente comando.
$ sudo update-ca-certificatesDeberías ver la siguiente salida ( 1 agregado) confirmando que el certificado CA raíz se ha agregado a tu sistema.
Actualizando certificados en /etc/ssl/certs...
rehash: warning: skipping ca-certificates.crt,it does not contain exactly one certificate or CRL
rehash: warning: skipping root-ca.pem,it does not contain exactly one certificate or CRL
1 agregado, 0 eliminado; hecho.
Ejecutando hooks en /etc/ca-certificates/update.d...
done.Cambia la propiedad del directorio de nuevo al usuario opensearch.
$ sudo chown opensearch:opensearch /etc/opensearch/certs -RCambia el permiso en el directorio a 0700.
$ sudo chmod 0700 /etc/opensearch/certsCambia el permiso en los certificados a 0600.
$ sudo chmod 0600 /etc/opensearch/certs/{admin-key,admin,node1-key,node1,root-ca-key,root-ca}.pem
$ sudo chmod 0600 /etc/opensearch/certs/root-ca.crtPaso 7 - Instalar TLS en OpenSearch
Ahora que todos los certificados están generados y configurados, es hora de instalar y agregar los certificados a tu instalación de OpenSearch.
El primer paso es crear un script bash que agregue todos los certificados creados y la configuración del plugin de seguridad TLS al archivo de configuración de OpenSearch (/etc/opensearch/opensearch.yml).
Crea un archivo llamado add-opensearch-tls.sh y ábrelo para editar.
$ cd ~
$ nano add-opensearch-tls.shPega el siguiente código en él.
#! /bin/bash
# Antes de ejecutar este script, asegúrate de reemplazar el CN en el
# nombre distintivo del nodo con un registro DNS A real.
echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-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/node1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-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=opensearch.example.com,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.ymlGuarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Haz que el archivo sea ejecutable.
$ chmod +x add-opensearch-tls.shEjecuta el script.
$ ./add-opensearch-tls.shDeberías obtener la siguiente salida.
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/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=opensearch.example.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
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Abre el archivo /etc/opensearch/opensearch.yml para verificar si se han aplicado tus configuraciones.
$ sudo nano /etc/opensearch/opensearch.ymlDesplázate hasta el final del archivo y deberías ver lo siguiente.
# Si anteriormente deshabilitaste el plugin de seguridad en opensearch.yml,
# asegúrate de volver a habilitarlo. De lo contrario, puedes omitir esta configuración.
plugins.security.disabled: false
....
plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem
plugins.security.ssl.http.enabled: true
plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node1.pem
plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node1-key.pem
plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/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=opensearch.example.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
plugins.security.restapi.roles_enabled: ["all_access", "security_rest_api_access"]Una vez que estés satisfecho, guarda el archivo presionando Ctrl + X.
Paso 8 - Crear Usuario de OpenSearch
En este paso, eliminaremos todos los usuarios de demostración excepto el usuario admin y reemplazaremos la contraseña predeterminada de admin utilizando un script.
Cambia al directorio de herramientas del plugin de seguridad de OpenSearch.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsEjecuta el script hash.sh para generar una nueva contraseña.
$ ./hashEl script fallará y obtendrás el siguiente error porque la ruta al ejecutable de Java (JDK) no se ha definido.
************************************************************************
Esta herramienta será descontinuada en la próxima versión principal de OpenSearch
https://github.com/opensearch-project/security/issues/1755
**********************************************************************
ADVERTENCIA: ni OPENSEARCH_JAVA_HOME ni JAVA_HOME están configurados, se utilizará
./hash.sh: línea 35: java: comando no encontradoEjecuta el comando nuevamente declarando la variable de entorno OPENSEARCH_JAVA_HOME con la ubicación del JDK.
$ OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.shObtendrás una salida similar.
********************************************************************** Esta herramienta será descontinuada en la próxima versión principal de OpenSearch https://github.com/opensearch-project/security/issues/1755 ********************************************************************** [Contraseña:] $2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2
Generará el hash de la contraseña que necesitaremos más tarde.
Abre el archivo de configuración de usuarios de OpenSearch internal_users.yml en el directorio /etc/opensearch/opensearch-security/ para editar.
$ sudo nano /etc/opensearch/opensearch-security/internal_users.ymlComenta todos los usuarios de demostración agregando un hash delante de ellos como se muestra.
---
# Esta es la base de datos de usuarios internos
# El valor hash es un hash bcrypt y se puede generar con plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Define tus usuarios internos aquí
## Usuarios de demostración
#admin:
# hash: "$2y$12$Twy84uxOX0SQ1QMQ68og8O/i1MvqWItt/phZX3DiJMjpBoT9u9KX6"
# reservado: true
# backend_roles:
# - "admin"
# descripción: "Usuario administrador de demostración"
#anomalyadmin:Agrega el usuario admin con el hash que generaste arriba como se muestra.
---
# Esta es la base de datos de usuarios internos
# El valor hash es un hash bcrypt y se puede generar con plugin/tools/hash.sh
_meta:
type: "internalusers"
config_version: 2
# Define tus usuarios internos aquí
admin:
hash: "$2y$12$4NL0LqEnN4FXaUdQQC.gOupeCQT2IuMo9gN0b5d3nxdMVbLX088f2"
reservado: true
backend_roles:
- "admin"
descripción: "Usuario administrador"
## Usuarios de demostración
#admin:Una vez finalizado, guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Ahora que los certificados TLS están instalados y los usuarios de demostración eliminados o asignados nuevas contraseñas, es hora de aplicar los cambios de configuración. Para aplicar los cambios, invocaremos el script securityadmin.sh dentro del directorio /usr/share/opensearch/plugins/opensearch-security/tools. El script requiere que el servicio OpenSearch esté en funcionamiento.
Reinicia el servicio OpenSearch.
$ sudo systemctl restart opensearchCambia al directorio /usr/share/opensearch/plugins/opensearch-security/tools.
$ cd /usr/share/opensearch/plugins/opensearch-security/toolsEjecuta el script utilizando el siguiente comando.
$ sudo OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h opensearch.nspeaks.com -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 -nhnvEl plugin de seguridad almacena su configuración, incluidos usuarios, permisos, roles y configuraciones de backend en un índice del sistema en el clúster de OpenSearch. Almacenar estas configuraciones en el clúster te permite cambiar configuraciones sin reiniciar el clúster y elimina la necesidad de editar el archivo de configuración en cada nodo. Esto se logra ejecutando el script securityadmin.sh.
- La opción
-cdespecifica dónde se encuentran los archivos de configuración del plugin de seguridad. - La opción
-icl(--ignore-clustername) le dice al plugin de seguridad que cargue la configuración independientemente del nombre del clúster. También puedes especificar el nombre del clúster en lugar de usar la opción-cn(--clustername). - Dado que los certificados son autofirmados, usamos la opción
-nhnv(--disable-host-name-verification). - Las opciones
--cacert,--certy--keydefinen la ubicación del certificado raíz, el certificado de administrador y la clave privada para el certificado de administrador. Si la clave privada tiene una contraseña, puedes definirla utilizando la opción-keypass.
Puedes aprender más sobre la configuración del plugin de seguridad en la documentación de OpenSearch.
Deberías haber obtenido una salida similar a la siguiente con el comando anterior.
********************************************************************** Esta herramienta será descontinuada en la próxima versión principal de OpenSearch https://github.com/opensearch-project/security/issues/1755 ************************************************************************ Administrador de seguridad v7 Se conectará a opensearch:9200 ... hecho Conectado como "CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA" Versión de OpenSearch: 2.12.0 Contactando al clúster opensearch 'opensearch' y esperando el estado del clúster YELLOW ... Nombre del clúster: opensearch Estado del clúster: GREEN Número de nodos: 1 Número de nodos de datos: 1 .elasticsearch_security ya existe, por lo que no necesitamos crear uno. Poblar configuración desde /etc/opensearch/opensearch-security/ Se actualizará '/config' con /etc/opensearch/opensearch-security/config.yml SUCC: Configuración para 'config' creada o actualizada Se actualizará '/roles' con /etc/opensearch/opensearch-security/roles.yml SUCC: Configuración para 'roles' creada o actualizada Se actualizará '/rolesmapping' con /etc/opensearch/opensearch-security/roles_mapping.yml SUCC: Configuración para 'rolesmapping' creada o actualizada Se actualizará '/internalusers' con /etc/opensearch/opensearch-security/internal_users.yml SUCC: Configuración para 'internalusers' creada o actualizada Se actualizará '/actiongroups' con /etc/opensearch/opensearch-security/action_groups.yml SUCC: Configuración para 'actiongroups' creada o actualizada Se actualizará '/tenants' con /etc/opensearch/opensearch-security/tenants.yml SUCC: Configuración para 'tenants' creada o actualizada Se actualizará '/nodesdn' con /etc/opensearch/opensearch-security/nodes_dn.yml SUCC: Configuración para 'nodesdn' creada o actualizada Se actualizará '/whitelist' con /etc/opensearch/opensearch-security/whitelist.yml SUCC: Configuración para 'whitelist' creada o actualizada Se actualizará '/audit' con /etc/opensearch/opensearch-security/audit.yml SUCC: Configuración para 'audit' creada o actualizada Se actualizará '/allowlist' con /etc/opensearch/opensearch-security/allowlist.yml SUCC: Configuración para 'allowlist' creada o actualizada SUCC: Se esperaban 10 tipos de configuración para el nodo {"updated_config_types":["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"],"updated_config_size":10,"message":null} es 10 (["allowlist","tenants","rolesmapping","nodesdn","audit","roles","whitelist","internalusers","actiongroups","config"]) debido a: null Hecho con éxito
Verifica las nuevas credenciales utilizando el siguiente comando.
Durante la prueba anterior, dirigimos las solicitudes a localhost. Ahora que los certificados TLS están configurados y los nuevos certificados se refieren al registro DNS real del host, las solicitudes a localhost fallarán la verificación de CN y el certificado se considerará inválido. Por lo tanto, agrega tu registro DNS real en el comando a continuación para verificar.
$ curl https://your.host.address:9200 -u admin:yournewpassword -kDeberías ver la siguiente respuesta.
{
"name" : "opensearch",
"cluster_name" : "opensearch",
"cluster_uuid" : "3oFvYn96St2MOpDP3Sf29g",
"version" : {
"distribution" : "opensearch",
"number" : "2.12.0",
"build_type" : "deb",
"build_hash" : "2c355ce1a427e4a528778d4054436b5c4b756221",
"build_date" : "2024-02-20T02:18:31.541484890Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.10.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "El Proyecto OpenSearch: https://opensearch.org/"
}Paso 9 - Instalar OpenSearch Dashboards
Dado que ya instalamos OpenSearch, podemos omitir el paso de importar la clave GPG de OpenSearch.
Para instalar OpenSearch Dashboards, ejecuta el siguiente comando para crear un repositorio APT para ello.
$ echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-dashboards-2.x.listActualiza la lista de repositorios del sistema.
$ sudo apt updateLista todas las versiones disponibles de OpenSearch Dashboards.
$ sudo apt list -a opensearch-dashboardsDeberías ver una salida similar.
Listing... Done
opensearch-dashboards/stable 2.12.0 amd64
opensearch-dashboards/stable 2.11.1 amd64
opensearch-dashboards/stable 2.11.0 amd64
opensearch-dashboards/stable 2.10.0 amd64
opensearch-dashboards/stable 2.9.0 amd64
opensearch-dashboards/stable 2.8.0 amd64
opensearch-dashboards/stable 2.7.0 amd64
opensearch-dashboards/stable 2.6.0 amd64
opensearch-dashboards/stable 2.5.0 amd64Instala la última versión de OpenSearch Dashboard.
$ sudo apt install opensearch-dashboardsO instala una versión específica de OpenSearch Dashboard.
$ sudo apt install opensearch-dashboards=2.12.0La versión de OpenSearch Dashboards y OpenSearch debe ser la misma, de lo contrario, puedes enfrentar múltiples problemas.
Recarga el demonio del servicio.
$ sudo systemctl daemon-reloadHabilita el servicio OpenSearch Dashboards.
$ sudo systemctl enable opensearch-dashboardsInicia el servicio OpenSearch Dashboards.
$ sudo systemctl start opensearch-dashboardsVerifica el estado del servicio OpenSearch Dashboards.
$ sudo systemctl status opensearch-dashboardsDeberías ver la siguiente salida.
? opensearch-dashboards.service - "OpenSearch Dashboards"
Cargado: cargado (/lib/systemd/system/opensearch-dashboards.service; habilitado; preset: habilitado)
Activo: activo (en ejecución) desde Sat 2024-03-02 16:01:25 UTC; 4s hace
PID principal: 7098 (node)
Tareas: 11 (límite: 9484)
Memoria: 175.4M
CPU: 5.389s
CGroup: /system.slice/opensearch-dashboards.service
??7098 /usr/share/opensearch-dashboards/node/bin/node /usr/share/opensearch-dashboards/src/cli/dist
Mar 02 16:01:25 opensearch systemd[1]: Started opensearch-dashboards.service - "OpenSearch Dashboards".Paso 10 - Configurar OpenSearch Dashboards
OpenSearch Dashboards almacena su configuración en el archivo /etc/opensearch-dashboards/opensearch_dashboards.yml. Ábrelo para editar.
$ sudo nano /etc/opensearch-dashboards/opensearch_dashboards.ymlBusca la línea # server.host: "localhost" y descoméntala eliminando el hash delante de ella y cambiando su valor como se muestra.
# Especifica la dirección a la que el servidor OpenSearch Dashboards se vinculará. Las direcciones IP y los nombres de host son valores válidos.
# El valor predeterminado es 'localhost', lo que generalmente significa que las máquinas remotas no podrán conectarse.
# Para permitir conexiones de usuarios remotos, establece este parámetro en una dirección que no sea de bucle invertido.
server.host: 0.0.0.0Establecer el valor de server.host en 0.0.0.0 vincula OpenSearch Dashboard a cualquier IP externa, lo que lo hace accesible a través de la World Wide Web. Si deseas servir los Dashboards a través de SSL utilizando un proxy inverso, entonces deja este valor sin cambios.
Desplázate hacia abajo para encontrar la siguiente sección.
opensearch.hosts: [https://localhost:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanaserver
opensearch.requestHeadersWhitelist: [authorization, securitytenant]Cambia los valores según lo configurado para nuestra instalación de OpenSearch.
opensearch.hosts: [https://opensearch:9200]
opensearch.ssl.verificationMode: none
opensearch.username: admin
opensearch.password:
opensearch.requestHeadersWhitelist: [authorization, securitytenant] Una vez finalizado, guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Reinicia el servicio OpenDashboards.
$ sudo systemctl restart opensearch-dashboardsAbre el puerto 5601 en el firewall UFW.
$ sudo ufw allow 5601Abre la URL http:// o http://opensearch.example.com:5601 para lanzar el sitio web de OpenSearch Dashboards.

Si estás contento accediendo a OpenSearch Dashboards a través de HTTP y con un número de puerto en la URL, puedes detenerte aquí. Sin embargo, es mejor servir los Dashboards a través de SSL. Para esto, instalaremos Nginx como un proxy inverso y servir SSL a través de él.
Paso 11 - Instalar Nginx
Debian 12 viene con una versión más antigua de Nginx. Necesitas descargar el repositorio oficial de Nginx para instalar la última versión.
Importa la clave de firma de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/nullAgrega el repositorio para la versión principal de Nginx.
$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.listActualiza los repositorios del sistema.
$ sudo apt updateInstala Nginx.
$ sudo apt install nginxVerifica la instalación. En sistemas Debian, el siguiente comando solo funcionará con sudo.
$ sudo nginx -v
nginx version: nginx/1.25.4Inicia el servidor Nginx.
$ sudo systemctl start nginxVerifica el estado del servicio.
$ sudo systemctl status nginx
? nginx.service - nginx - servidor web de alto rendimiento
Cargado: cargado (/lib/systemd/system/nginx.service; habilitado; preset: habilitado)
Activo: activo (en ejecución) desde Sat 2024-03-02 12:53:57 UTC; 4s hace
Docs: https://nginx.org/en/docs/
Proceso: 3976 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (código=salió, estado=0/SUCCESS)
PID principal: 3977 (nginx)
Tareas: 3 (límite: 9484)
Memoria: 2.7M
CPU: 9ms
CGroup: /system.slice/nginx.service
??3977 "nginx: proceso maestro /usr/sbin/nginx -c /etc/nginx/nginx.conf"
??3978 "nginx: proceso trabajador"
??3979 "nginx: proceso trabajador"
Mar 02 12:53:57 opensearch systemd[1]: Starting nginx.service - nginx - servidor web de alto rendimiento...
Mar 02 12:53:57 opensearch systemd[1]: Started nginx.service - nginx - servidor web de alto rendimiento.Paso 12 - Instalar SSL
Necesitamos instalar Certbot para generar el certificado SSL. Puedes instalar Certbot utilizando el repositorio de Debian o obtener la última versión utilizando la herramienta Snapd. Usaremos la versión Snapd.
Debian 12 no viene con Snapd instalado. Instala el paquete Snapd.
$ sudo apt install snapdEjecuta los siguientes comandos para asegurarte de que tu versión de Snapd esté actualizada.
$ sudo snap install core && sudo snap refresh coreInstala Certbot.
$ sudo snap install --classic certbotUtiliza el siguiente comando para asegurarte de que el comando Certbot pueda ejecutarse creando un enlace simbólico al directorio /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbotVerifica si Certbot está funcionando correctamente.
$ certbot --version
certbot 2.9.0Ejecuta el siguiente comando para generar un certificado SSL.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d craftcms.example.comEl comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/craftcms.example.com en tu servidor.
Genera un certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096Verifica el servicio programador de renovación de Certbot.
$ sudo systemctl list-timersEncontrarás snap.certbot.renew.service como uno de los servicios programados para ejecutarse.
NEXT LEFT LAST PASSED UNIT ACTIVATES ---------------------------------------------------------------------------------------------------------------------------------------
Sat 2024-03-02 16:25:00 UTC 3h 27min left - - snap.certbot.renew.timer snap.certbot.renew.service
Sat 2024-03-02 23:00:51 UTC 10h left Sat 2024-03-02 06:29:02 UTC 6h ago apt-daily.timer apt-daily.service
Sun 2024-03-03 00:00:00 UTC 11h left - - dpkg-db-backup.timer dpkg-db-backup.service
.....Haz una prueba en seco del proceso para verificar si la renovación de SSL está funcionando bien.
$ sudo certbot renew --dry-runSi no ves errores, estás listo. Tu certificado se renovará automáticamente.
Paso 13 - Configurar Nginx
Abre el archivo /etc/nginx/nginx.conf para editar.
$ sudo nano /etc/nginx/nginx.confAgrega la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;Guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Crea y abre el archivo /etc/nginx/conf.d/opensearch.conf para editar.
$ sudo nano /etc/nginx/conf.d/opensearch.confPega el siguiente código en él. Reemplaza opensearch.example.com con tu nombre de dominio.
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
http3 on;
quic_retry on;
server_name opensearch.example.com;
access_log /var/log/nginx/opensearch.access.log;
error_log /var/log/nginx/opensearch.error.log;
ssl_certificate /etc/letsencrypt/live/opensearch.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/opensearch.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/opensearch.example.com/chain.pem;
ssl_session_timeout 5m;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_early_data on;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://localhost:5601;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
# forzar HTTPS
server {
listen 80;
listen [::]:80;
server_name opensearch.example.com;
return 301 https://$host$request_uri;
}Guarda el archivo presionando Ctrl + X y luego Y cuando se te solicite.
Verifica tu configuración de Nginx.
$ sudo nginx -tReinicia el servidor Nginx.
$ sudo systemctl restart nginxVisita https://opensearch.example.com en tu navegador para lanzar OpenSearch Dashboards.
Paso 14 - Acceder y usar OpenSearch Dashboards
Si usaste Nginx, entonces accede a los Dashboards a través de la URL https://opensearch.example.com o usa http://opensearch.example.com:5601 y deberías obtener la página de inicio de sesión.

Ingresa admin y la contraseña de administrador personalizada que configuraste para OpenSearch en el paso 4 y haz clic en el botón Iniciar sesión para continuar.

Haz clic en el botón Agregar datos para comenzar a agregar datos directamente o haz clic en el enlace Explorar por mi cuenta si deseas navegar primero. Navegaremos primero y debería llevarte a un popup que habla sobre el modo oscuro de OpenSearch Dashboards.

Haz clic en el botón Descartar para continuar. A continuación, se te pedirá que elijas un inquilino.

Los inquilinos en OpenSearch Dashboards son espacios para guardar patrones de índice, visualizaciones, paneles y otros objetos de OpenSearch Dashboards. Cada usuario puede crear múltiples inquilinos para múltiples usos. Los inquilinos son útiles para compartir tu trabajo de forma segura con otros usuarios de OpenSearch Dashboards. OpenSearch te da la opción de elegir entre tres opciones.
- Global - Este inquilino es compartido entre todos los usuarios de OpenSearch Dashboards.
- Privado - Este inquilino es exclusivo para cada usuario y no se puede compartir.
- Personalizado - Los administradores pueden crear inquilinos personalizados y asignarlos a roles específicos. Una vez creados, puedes usar estos inquilinos para proporcionar espacios a un conjunto específico de usuarios.
Por ahora, nos quedaremos con la opción predeterminada de un inquilino Privado. Haz clic en el botón Confirmar para continuar. Serás recibido con la siguiente página.

A continuación, verificaremos la conexión entre OpenSearch y OpenSearch Dashboards.
Haz clic en el botón Dev Tools en la parte superior derecha y se te mostrará un mini popup sobre la interfaz de consola para OpenSearch Dashboards.

Haz clic en el botón Descartar, ingresa la consulta GET / en la consola de la izquierda y haz clic en el pequeño botón de reproducción en el medio. Deberías ver la siguiente salida a la derecha.

Esto confirma que OpenSearch Dashboards está recibiendo datos de OpenSearch y ambos están funcionando bien. Puedes comenzar a agregar datos desde aquí.
Conclusión
Esto concluye el tutorial sobre la instalación de OpenSearch en un servidor Debian 12. Si tienes alguna pregunta, publícalas en los comentarios a continuación.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.