Introducción

La mayoría de los sistemas y el software generan registros en estos días, incluidos los navegadores web, los sistemas operativos, los firewalls y los sistemas de detección de intrusos. Una solución de monitoreo de registros es importante en un entorno de este tipo, ya que actúa como una torre de vigilancia para las actividades de su red.

La solución de gestión de registros proporciona servicios como la revisión de eventos del sistema y el almacenamiento de acciones del usuario, como cambiar el nombre, crear o eliminar archivos. Todos estos registros generados desde diferentes puntos pueden ser fundamentales para la consolidación, no solo para la responsabilidad, sino también para la seguridad de su negocio. Pueden proporcionar una buena información sobre un ataque o con fines forenses, como B. saber en qué momento ocurrió un ataque.

Graylog es una buena solución de gestión de registros que es de código abierto y ofrece funciones sólidas como analizar registros, visualizar registros y personalizar las alertas y acciones que se activarán.

requisito

  • Ubuntu VPS o servidor dedicado con Ubuntu 18.04
  • Un usuario no root configurado con privilegios sudo
  • Para este tutorial, debe estar familiarizado con el entorno Linux.

pasos

Actualice los paquetes de su sistema Linux

$ sudo apt update && sudo apt upgrade

Instalar paquetes adicionales

Graylog se creó con Java, por lo que técnicamente se puede ejecutar en cualquier lugar. Sin embargo, es posible que deba instalar Java Development Kit, que también incluye el entorno de ejecución. Junto con esto, deberá instalar algunos otros paquetes adicionales:

$ sudo apt install openjdk-8-jre pwgen uuid-runtime apt-transport-https

Instalar MongoDB

Los datos de configuración específicos del usuario se almacenan en la base de datos NoSQL, pero no sus datos de registro: Cómo llevar a cabo la instalación y activación:

  1. Obtenga la clave pública utilizada por el administrador de paquetes:
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv  9DA31620334BD75D9DCB49F368818C72E52529D4
  1. Crear un archivo de lista MongoDB
$ echo"deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
  1. Vuelva a cargar los paquetes del sistema db e instale MongoDB
$ sudo apt update
$ sudo apt install -y mongodb-org
  1. Inicie y habilite los servicios de MongoDB durante el inicio del sistema.
$ sudo systemctl start mongod
$ sudo systemctl enable mongod

Instalar y configurar Elasticsearch

Para guardar los datos de registro y realizar análisis de datos utilizando los algoritmos personalizados de Graylog, instale Elasticsearch y luego configure el nombre del clúster:

  1. Obtenga la clave pública para usar el administrador de paquetes
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
  1. Cree un archivo de listado para MongoDB
$ echo"deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
  1. Instale el paquete Elasticsearch
$ sudo apt update && sudo apt install elasticsearch
  1. Iniciar y activar el servicio Elasticsearch
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch

Cambie al archivo de configuración en /etc/elasticsearch/elasticsearch.yml. Busque la entrada de configuración cluster.name, comente la línea y cambie my-application a Graylog.

Instalar Graylog

Ahora use los siguientes comandos para finalmente instalar la configuración de Graylog:

$ wget https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.deb
$ sudo dpkg -i graylog-2.4-repository_latest.deb
$ sudo apt update && sudo apt install graylog-server

Después de completar con éxito, ahora debe generar una secreto Clave y root_password_sha2 (contraseña de la cuenta de administrador).

Utilice el siguiente comando para generar root_password_sha2 mientras reemplaza la “contraseña” con su propia contraseña.

$ echo -n password | sha256sum5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  -

Puede utilizar para generar la clave_secretapwgen Comando para hacerlo.

$ pwgen -s 80 1Zb4NpK0im9I4FoWGp20o0E0EFWiGjXNZdM3miaF6bi1MqKD2zfjfiGILSlpraqYSVeoLZzXz9WcEpoE6

Abra el archivo de configuración del servidor en /etc/graylog/server/server.conf y realice los siguientes cambios:

  1. Agregue los valores password_secret y root_password_sha2 de sus salidas generadas de los comandos anteriores.
  2. Agregue los valores web_listen_uri y rest_listen_uri en consecuencia.

El archivo de configuración debe tener un aspecto similar al siguiente:

...
# You MUST set a secret to secure/pepper the stored user passwords here. Use at least 64 characters.                                                                    # Generate one by using for example: pwgen -N 1 -s 96                                                                                                                   password_secret = Zb4NpK0im9I4FoWGp20o0E0EFWiGjXNZdM3miaF6bi1MqKD2zfjfiGILSlpraqYSVeoLZzXz9WcEpoE6                                                                                                                                                                                                                                              # The default root user is named 'admin'                                                                                                                                #root_username = admin                                                                                                                                                                                                                                                                                                                          # You MUST specify a hash password for the root user (which you only need to initially set up the                                                                       # system and in case you lose connectivity to your authentication backend)                                                                                              # This password cannot be changed using the API or via the web interface. If you need to change it,                                                                     # modify it in this file.                                                                                                                                               # Create one by using for example: echo -n yourpassword | shasum -a 256                                                                                                 # and put the resulting hash value into the following line                                                                                                              root_password_sha2 = e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8  - 
...

Reinicie el servidor Graylog y verifique el estado para ver si funciona correctamente.

$ sudo systemctl start Graylog
$ sudo systemctl status Graylog●graylog-server.service-Graylogserver
Loaded: loaded(/usr/lib/systemd/system/graylog-server.service;disabled;vendor preset: enabled)
Active: active(running)sinceSat2018-10-2500:22:14CDT;54sago
Docs: http://docs.graylog.org/
Main PID: 571(graylog-server)
CGroup: /system.slice/graylog-server.service
├─571/bin/sh/usr/share/graylog-server/bin/graylog-server
└─572/usr/bin/java-Xms1g-Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseParNewGC -XX:-OmitStackTraceInFastThr

Conclusión

Ha instalado con éxito el servidor Graylog en su Ubuntu 18.04 VPS o servidor dedicado. Graylog se puede configurar de acuerdo con el tamaño de sus operaciones.

Esto puede diferir de la configuración más simple, donde los tres componentes, es decir, Elasticsearch, MongoDB y Graylog, están en un host o en un entorno de múltiples nodos donde los componentes pueden estar en diferentes hosts.