Cómo instalar Graylog con Elasticsearch en CentOS 8

Esta guía lo lleva a través de la instalación de Graylog con Elasticsearch 7.x en CentOS 8. Graylog es una solución de administración de registros de código abierto que se fundó en 2009 para capturar y centralizar registros en tiempo real de varios dispositivos en una red. Es una herramienta perfecta para analizar registros cruciales, como inicios de sesión SSH, infracciones o cualquier incidente sospechoso o inusual que pueda indicar una infracción del sistema. Con la capacidad de registro en tiempo real, se presenta como una herramienta de ciberseguridad perfecta que los equipos de operaciones pueden usar para mitigar pequeños problemas antes de que se conviertan en grandes amenazas.

Graylog se compone de 3 componentes cruciales:

  • Elasticsearch: Este es un motor de análisis de código abierto que indexa los datos recibidos del servidor Graylog.
  • MongoDB: Esta es una base de datos NoSQL de código abierto que almacena metainformación y configuraciones.
  • Servidor Graylog: Esto pasa registros y proporciona una interfaz web donde se visualizan los registros.

Con ese resumen, instalaremos Graylog en CentOS 8 de inmediato.

Requisitos previos para el servidor Graylog

Al comenzar, asegúrese de que su instancia de CentOS 8 cumpla con los siguientes requisitos:

  • 2 CPU
  • 4GB RAM
  • Conexión a internet rápida y estable

Paso 1) Instale Java 8 con el comando dnf

Elasticsearch se basa en Java y, por lo tanto, necesitamos instalar Java y, más específicamente, Java 8 antes que nada. Tiene la opción de instalar OpenJDK u Oracle Java. En esta guía, estamos instalando OpenJDK 8.

$ sudo dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel

Para confirmar la versión de Java instalada, ejecute:

$ java -version

Java-Version-Check-CentOS8

Paso 2) Instalar Elasticsearch 7.x

Vamos a instalar la última versión de Elasticsearch que, en el momento de redactar esta guía, es Elasticsearch 7.9.2. Elasticsearch no está disponible en los repositorios de CentOS 8, por lo que crearemos un repositorio local. Pero primero, importemos la clave GPG como se muestra.

$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

Usando su editor de texto, cree un nuevo archivo de repositorio como se muestra:

$ sudo vi /etc/yum.repos.d/elasticsearch.repo

Pegue el contenido que se muestra a continuación

[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

Guarde y salga del archivo de configuración. Para instalar Elasticsearch, ejecute el comando:

$ sudo dnf install -y elasticsearch

Instalar-elasticsearch-centos8

Una vez que se complete la instalación, notifique a systemd y habilite Elasticsearch.

$ sudo systemctl daemon-reload
$ sudo systemctl enable elasticsearch

Necesitamos hacer que Elasticsearch funcione con Graylog y, por lo tanto, actualizaremos el nombre del clúster a ‘graylog’ como se muestra:

$ sudo vi /etc/elasticsearch/elasticsearch.yml
.........
cluster.name:  graylog
.........

Guarde y salga del archivo y reinicie elasticsearch para que los cambios surtan efecto.

$ sudo systemctl restart elasticsearch

Para verificar que Elasticsearch se está ejecutando, enviaremos una solicitud HTTP a través del puerto 9200 como se muestra.

$ curl -X GET "localhost:9200/"

Debería obtener la salida como se muestra a continuación.

Elasticsearch-Estado-CentOS8

Paso 3) Instalar MongoDB 4

Para instalar MongoDB, cree un archivo de repositorio local

$ sudo vi /etc/yum.repos.d/mongodb-org-4.repo

Pegue la configuración que se muestra a continuación

[mongodb-org-4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

Guarde y salga y luego instale MongoDB usando el comando que se muestra.

$ sudo dnf install -y mongodb-org

Una vez que MongoDB esté instalado, inicie MongoDB y confirme su estado como se muestra

$ sudo systemctl start mongod
$ sudo systemctl enable mongod
$ sudo systemctl status mongod

MongoDB-Servicio-Estado-CentOS8

Perfecto, la salida anterior confirma que el servicio mongodb se inició correctamente y funciona bien.

Paso 4) Instalar y configurar el servidor Graylog

Para instalar el servidor Graylog, primero comience instalando el repositorio Graylog como se muestra:

$ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.rpm

Una vez que se agrega el repositorio, instale el servidor Graylog como se muestra.

$ sudo dnf install -y graylog-server

Instalar-Graylog-Server-with-dnf-CentOS8

Tras una instalación exitosa, puede confirmar más detalles sobre el servidor Graylog ejecutando:

$ rpm -qi graylog-server

Graylog-Servidor-RPM-Info-CentOS8

Ahora hagamos algunas configuraciones. Primero, generaremos una contraseña secreta que se pasará en la directiva password_secret en el archivo de configuración /etc/graylog/server/server.conf. Para ello generaremos una contraseña aleatoria usando un generador de contraseñas aleatorias llamado pwgen. Para instalarlo, primero debemos habilitar el repositorio EPEL para CentOS 8.

$ sudo dnf install -y epel-release
$ sudo dnf install -y pwgen

Una vez instalado, puede generar una contraseña aleatoria usando el comando.

$ sudo pwgen -N 1 -s 96

La salida del comando se vería como a continuación:

[[email protected] ~]$ sudo pwgen -N 1 -s 96
EtUtR16i9xwRsGbXROMFhSazZ3PvNe1tYui8wM5Q7h1UiXY0RTDdGygkhuDEJi9fpGwwXhMbYjcv9aFLh9DNF15JPBnMD0ne
[[email protected] ~]$

Copie la contraseña cifrada y guárdela en algún lugar, preferiblemente en un editor de texto. Necesitarás esto en otro lugar.

A continuación, genere una contraseña para el atributo root_password_sha2 como se muestra.

$ echo -n [email protected]@123# | sha256sum

La salida sería,

[[email protected] ~]$ echo -n [email protected]@123# | sha256sum
a8f1a91ef8c534d678c82841a6a88fa01d12c2d184e641458b6bec67eafc0f7c  -
[[email protected] ~]$

Una vez más, guarde esta contraseña cifrada en algún lugar. Ahora abra el archivo de configuración de Graylog.

$ sudo vi /etc/graylog/server/server.conf

Localice los atributos password_secret y root_password_sha2 y pegue las contraseñas cifradas correspondientes.

contraseña-secreta-raíz-contraseña-graylog-centos8

A continuación, elimine el comentario del atributo http_bind_address e ingrese la IP de su servidor.

http-bind-address-graylog-centos8

Vuelva a cargar systemd, inicie y habilite Graylog.

$ sudo systemctl daemon-reload
$ sudo systemctl start graylog-server
$ sudo systemctl enable graylog-server

Ejecute el siguiente comando para verificar el estado del servicio Graylog:

$ sudo systemctl status graylog-server

Graylog-Servicio-Estado-CentOS8

También puede verificar el estado del servicio graylog utilizando su archivo de registro «/var/log/graylog-server/server.log»

Permitir el servidor Graylog en el cortafuegos:

En caso de que el firewall esté habilitado y en ejecución, permita el puerto 9000 tcp usando los comandos debajo,

$ sudo firewall-cmd --permanent --add-port=9000/tcp
$ sudo firewall-cmd --reload

Para acceder a Graylog en un navegador, busque la dirección IP de su servidor como se muestra:

http://IP-del-servidor:9000

Asegúrese de iniciar sesión con el nombre de usuario admin y la contraseña que configuró para el usuario raíz como se especifica en el archivo de configuración.

Graylog-Login-Page-CentOS8

Graylog-Dashboard-CentOS8

Esto concluye nuestro tema de hoy. Le mostramos un procedimiento paso a paso para instalar Graylog en CentOS 8. Comparta sus comentarios y opiniones.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *