Graylog es una herramienta de administración de registros de código abierto que lo ayuda a almacenar y analizar los registros de cualquier máquina de manera centralizada. La configuración de Graylog consta de tres componentes:servidor Graylog, Elasticsearch y MongoDB.
Aquí veremos cómo instalar Graylog en Ubuntu 20.04.
Instalar Java
La configuración de Graylog requiere la versión 8 de Java o superior. Puede usar OpenJDK u Oracle JDK en su máquina para continuar.
LEER: Cómo instalar Oracle Java en Ubuntu 20.04
Aquí, usaré OpenJDK 11.
sudo apt update sudo apt install -y apt-transport-https openjdk-11-jre-headless uuid-runtime pwgen curl dirmngr
Verifique la versión de Java posterior a la instalación de OpenJDK.
java -version
Salida:
openjdk version "11.0.8" 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu120.04) OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu120.04, mixed mode, sharing)
Instalar Elasticsearch
Elasticsearch almacena registros provenientes de fuentes externas y ofrece análisis y búsqueda distribuidos en tiempo real con la interfaz web RESTful.
Descargue e instale la clave de firma GPG.
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Configure el repositorio de Elasticsearch en su sistema ejecutando el siguiente comando.
echo "deb https://artifacts.elastic.co/packages/oss-6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list
Actualice el caché del repositorio y luego instale el paquete Elasticsearch.
sudo apt update sudo apt install -y elasticsearch-oss
Edite el archivo de configuración de Elasticsearch para establecer el nombre del clúster para la configuración de Graylog.
sudo nano /etc/elasticsearch/elasticsearch.yml
Establezca el nombre del clúster como graylog, como se muestra a continuación.
cluster.name: graylog
Luego, descomente la siguiente línea.
action.auto_create_index: false
Inicie el servicio Elasticsearch para leer las nuevas configuraciones.
sudo systemctl daemon-reload sudo systemctl start elasticsearch sudo systemctl enable elasticsearch
Espere al menos un minuto para que Elasticsearch se inicie por completo.
Elastisearch ahora debería estar escuchando en el puerto 9200. Use el comando curl para verificar la respuesta de Elasticsearch.
curl -X GET http://localhost:9200
Salida:
Asegúrese de que la salida tenga el nombre del clúster, graylog.
{ "name" : "vQklpl4", "cluster_name" : "graylog", "cluster_uuid" : "jLztxJoOROK-XuZkoKJr6A", "version" : { "number" : "6.8.11", "build_flavor" : "oss", "build_type" : "deb", "build_hash" : "00bf386", "build_date" : "2020-07-09T19:08:08.940669Z", "build_snapshot" : false, "lucene_version" : "7.7.3", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }
Instalar MongoDB
MongoDB actúa como una base de datos para almacenar la configuración de Graylog. Graylog requiere MongoDB v3.6, 4.0 o 4.2.
Desafortunadamente, el repositorio oficial de MongoDB no tiene las versiones requeridas de MongoDB para Ubuntu 20.04. Entonces, instalaremos MongoDB v3.6 desde el repositorio base de Ubuntu.
sudo apt update sudo apt install -y mongodb-server
Inicie MongoDB y habilítelo al iniciar el sistema.
sudo systemctl start mongodb sudo systemctl enable mongodb
Instalar servidor Graylog
Graylog Server lee los datos de Elasticsearch para las consultas de búsqueda que provienen de los usuarios y luego los muestra a través de la interfaz web de Graylog.
Descargue e instale el paquete de configuración del repositorio Graylog 3.3.
wget https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.deb sudo dpkg -i graylog-3.3-repository_latest.deb
Actualice la memoria caché del repositorio.
sudo apt update
Instale el servidor Graylog usando el siguiente comando.
sudo apt install -y graylog-server
Debe establecer un secreto para proteger las contraseñas de los usuarios. Utilice el comando pwgen para generar el secreto.
pwgen -N 1 -s 96
Salida:
HRy1WNsMQIWF228SsbdQCnCsTBL7wVez28UsZXI8PXqStx5DQe3PAmtpm8PNm6g8K44fVFNo4c7Bvp4WCOyxGiSXvdhOXl8w
Edite el archivo server.conf.
sudo nano /etc/graylog/server/server.conf
Luego, coloca el secreto como se muestra a continuación.
password_secret = HRy1WNsMQIWF228SsbdQCnCsTBL7wVez28UsZXI8PXqStx5DQe3PAmtpm8PNm6g8K44fVFNo4c7Bvp4WCOyxGiSXvdhOXl8w
Ahora, genere una contraseña hash (sha256) para el usuario root (que no debe confundirse con el usuario del sistema, el usuario root de graylog es admin).
Necesitará esta contraseña para iniciar sesión en la interfaz web de Graylog. La contraseña del administrador no se puede cambiar mediante la interfaz web. Por lo tanto, debe editar esta variable para configurarla.
Reemplace la contraseña con la elección de su contraseña.
echo -n password | sha256sum
Salida:
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Edite el archivo server.conf nuevamente.
sudo nano /etc/graylog/server/server.conf
Luego, coloque la contraseña hash, como se muestra a continuación.
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
Configurar la interfaz web de Graylog
A partir de la versión Graylog 2.x, el servidor Graylog sirve directamente la interfaz web. Habilite la interfaz web de Graylog editando el archivo server.conf.
sudo nano /etc/graylog/server/server.conf
Actualice la siguiente entrada con la dirección IP de su sistema mediante la cual accederá a la interfaz web de Graylog.
http_bind_address = 192.168.0.10:9000Si accede a Graylog utilizando una dirección IP pública debido a NAT, actualice los valores a continuación. De lo contrario, sáltelo.
http_external_uri = http://public_ip:9000/
Inicie y habilite el servicio Graylog.
sudo systemctl daemon-reload sudo systemctl start graylog-server sudo systemctl enable graylog-server
Siga buscando registros de inicio del servidor Graylog. Este registro le será útil para solucionar problemas de Graylog en caso de que surja algún problema.
sudo tail -f /var/log/graylog-server/server.log
En el inicio exitoso del servidor Graylog, debería recibir el siguiente mensaje en el archivo de registro.
2020-08-03T16:03:06.326-04:00 INFO [ServerBootstrap] Graylog server up and running.
Acceder a Graylog
La interfaz web de Graylog ahora estará escuchando en el puerto 9000. Abra su navegador y diríjalo a.
http://ip.add.re.ss:9000Inicie sesión con el nombre de usuario admin y la contraseña que configuró en root_password_sha2 en el archivo server.conf.
Una vez que haya iniciado sesión, verá la página de inicio.
Haga clic en Sistema>> Resumen para conocer el estado del servidor Graylog.
Crear entrada de Graylog
En el próximo artículo, veremos cómo configurar Graylog para recibir registros de Rsyslog de fuentes externas.
Conclusión
Ha instalado correctamente Graylog 3.0 en Ubuntu 20.04. Como lectura adicional, puede intentar configurar Nginx o Apache como un proxy inverso y configurar HTTPS para la interfaz web de Graylog.