--- author: Daniel A. Rodriguez date: 2022-12-28 --- # Monitoreo de servidor de correo con Lightmeter Lightmeter es una herramienta de monitoreo de servidores de correo autoalojados de código abierto, para que puedas saber lo que está pasando con tu servidor de correo. ## Características de Lightmeter * Interfaz web fácil de usar * Monitorización del tiempo de inactividad del servidor de correo * Monitorización RBL (Listas de Bloqueo en Tiempo Real) * Detección en tiempo real de correos bloqueados por otros servidores SMTP como Gmail y Microsoft * Notificaciones de advertencia instantáneas por correo electrónico y Slack * Protección automática contra Botnet y ataques de fuerza bruta * Admite archivos de registro locales y remotos Es básicamente una versión avanzada de pflogsumm con una interfaz web. ## Requisitos Se asume que tienes un servidor de correo en funcionamiento. Ten en cuenta que sólo es compatible con el servidor SMTP **Postfix**. ## 1: Instalar el binario Lightmeter Descarga la última versión estable de Lightmeter (1.9.1 en el momento de escribir esto). Puedes consultar [su repositorio en GitLab](https://gitlab.com/lightmeter/controlcenter/-/releases) para averiguar cuál es la última versión. ```bash wget -O /usr/local/bin/lightmeter https://gitlab.com/api/v4/projects/17017123/packages/generic/lightmeter/1.9.1/lightmeter-linux_amd64-1.9.1 ``` Asigamos permiso de ejecución. ```bash chmod +x /usr/local/bin/lightmeter ``` Agregamos un usuario `lightmeter`. ```bash useradd lightmeter --create-home --home-dir /var/lib/lightmeter_workspace --system ``` Ejecutamos Lightmeter con el usuario creado. ```bash sudo -u lightmeter /usr/local/bin/lightmeter -watch_dir /var/log ``` Ahora puedes visitar la interfaz web de Lightmeter. http://ip-de-tu-servidor:8080 ![Registro](img/registro-lightmeter.png) Se te pedirá que crees una cuenta de administrador. Antes de hacerlo, vamos a crear un servicio systemd para Lightmeter y habilitar HTTPS. ## 2: Creación del Servicio Systemd Presiona `Ctrl+C` para detener el proceso actual de Lightmeter. A continuación creamos una unidad de servicio systemd para Lightmeter, `/etc/systemd/system/lightmeter.service` con el siguiente contenido. ```bash [Unit] Description=Mail Server Monitoring After=network.target [Service] Type=simple ExecStartPre=/bin/bash -c '/usr/bin/setfacl -R -m u:lightmeter:rx /var/log/mail*' ExecStart=sudo -u lightmeter usr/local/bin/lightmeter -watch_dir /var/log/ ExecStop=sudo -u lightmeter /usr/bin/pkill /usr/local/bin/lightmeter Restart=always SyslogIdentifier=Lightmeter [Install] WantedBy=multi-user.target ``` Presiona `Ctrl+o`, luego `Enter`para guardar el archivo. Presiona `Ctrl+x` para salir. Luego recarga systemd. ```bash systemctl daemon-reload ``` Iniciamos Lightmeter y activamos el arranque automático ```bash systemctl start lightmeter systemctl enable lightmeter ``` Comprobamos su estado: ```bash systemctl status lightmeter ``` ![Estado](img/status-lightmeter.png) ## 3: Configurar Proxy Reverso Para acceder a la interfaz web de Lightmeter a través de un nombre de dominio sobre el protocolo seguro HTTPS, necesitamos configurar un proxy reverso con Apache o Nginx. ### Nginx Si prefieres usar Nginx, crea un archivo de bloque de servidor para Lightmeter: `/etc/nginx/conf.d/lightmeter.conf` Agrega el siguiente contenido, reemplaza `lightmeter.dominio.edu.ar` con el dominio que hayas escogido. ```bash server { listen 80; listen [::]:80; server_name lightmeter.dominio.edu.ar; access_log /var/log/nginx/lightmeter.access; error_log /var/log/nginx/lightmeter.error; location / { proxy_pass http://127.0.0.1:8080; 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; proxy_set_header X-Forwarded-Protocol $scheme; proxy_set_header X-Forwarded-Host $http_host; } ``` Guarda y cierra este archivo. Luego comprueba la configuración con server `nginx -t`. Si todo está bien recarga Nginx para que los cambios surtan efecto. ```bash systemctl reload nginx ``` Ahora puedes acceder a Lightmeter via `lightmeter.dominio.edu.ar`. ### Apache Si prefieres Apache debes habilitar los módulos `proxy` y header. ```bash a2enmod proxy proxy_http headers proxy_wstunnel ``` Luego crea un archivo de virtual host para Lightmeter, `/etc/apache2/sites-available/lightmeter.conf` Agrega el siguiente contenido ```bash ServerName lightmeter.dominio.edu.ar ErrorDocument 404 /404.html #HTTP proxy ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ ``` Guarda y cierra el archivo. Luego habilita este virtual host. ```bash a2ensite lightmeter ``` Reinicia Apache ```bash systemctl restart apache2 ``` Ahora puedes acceder a Lightmeter via `lightmeter.dominio.edu.ar`. ## 4: Habilitar HTTPS En artículos anteriores ya se ha abordado este tema. Dependerá del servidor web escogido. * [**Nginx**](/acme.md) * [**Apache**](/apache/certificado-ssl.md) Sea cual fuere la opción escogida puedes acceder a la interfaz web de Lightmeter via HTTPS: `https://lightmeter.dominio.edu.ar`. ## 5: Configurar LightMeter Ahora puedes ir a la interfaz web de Lightmeter para crear la cuenta de administrador, estas **serán las únicas credenciales habilitadas** para ingresar. Lightmeter analiza automáticamente los registros de correo y te ofrece una visión general de los dominios más ocupados, los dominios rebotados y los dominios diferidos. ![Observatorio](img/observatorio-lightmeter.png) ### Notificaciones Haz clic en el icono del engranaje en la esquina superior derecha, **Settings**, y activa la notificación por correo electrónico, para que Lightmeter pueda notificarte cuando haya correos rebotados, diferidos, o la dirección IP de tu servidor entra en una lista negra. ![Opciones de configuración](img/settings-lightmeter.png) ### Detective de Mensajes Lightmeter permite comprobar el estado de entrega de cada mensaje de correo electrónico. Haz clic en el icono de la lupa en la esquina superior derecha. A continuación, introduce las direcciones de correo electrónico del remitente y del destinatario. ![Detective Lightmeter](img/detective-lightmeter.png) Como puedes ver, el mensaje fue enviado correctamente. Puedes ir a **Settings** y habilitar el acceso público a la página del detective de mensajes, para que los usuarios de tu servidor también puedan comprobar el estado de entrega del correo electrónico. > [Linux Mail Server Monitoring with Lightmeter (Debian, Ubuntu)](https://www.linuxbabe.com/mail-server/linux-mail-server-monitoring-lightmeter-debian-ubuntu)