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
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
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.
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
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
Tras una instalación exitosa, puede confirmar más detalles sobre el servidor Graylog ejecutando:
$ rpm -qi graylog-server
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.
A continuación, elimine el comentario del atributo http_bind_address e ingrese la IP de su servidor.
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
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.
Esto concluye nuestro tema de hoy. Le mostramos un procedimiento paso a paso para instalar Graylog en CentOS 8. Comparta sus comentarios y opiniones.