Saltar al contenido principal

Configurar notificaciones de acceso Telegram

PortGuard Server puede enviar un mensaje Telegram después de que un paquete SPA válido agregue un regla de firewall. Las notificaciones incluyen el nombre de host del servidor, la IP de origen permitida, IP de origen del paquete, nombre de usuario SPA, acceso solicitado, hora de apertura, vencimiento tiempo y tiempo de espera.

1. Crea un bot Telegram​

  1. Abra @BotFather en Telegram.
  2. Envíe /newbot y siga las indicaciones.
  3. Copie el Bot Token devuelto por BotFather. parece 123456789:AAExampleToken.

Trate el Bot Token como una contraseña. No lo envíes al control de fuente, pégalo. en mensajes de soporte o exponerlo en capturas de pantalla.

2. Encuentra el destino Chat ID​

Para un chat privado, abra el nuevo bot, seleccione Iniciar y envíele un mensaje. Para un grupo, agregue el bot al grupo y envíe un mensaje o comando para que el bot puede recibir.

En el servidor, ingrese Bot Token sin guardarlo en el historial del shell:

read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo

Lea las últimas actualizaciones del bot:

curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN

Busque message.chat.id en la respuesta JSON. Los Chat ID privados normalmente son números positivos. Los grupos Chat ID normalmente son negativos y los ID de supergrupos a menudo comience con -100.

Si result está vacío, envíe otro mensaje al bot y ejecute la solicitud nuevamente. Para un canal, puede usar @channel_username después de agregar el bot como canal. administrador con permiso para publicar mensajes.

3. Configurar PortGuard Server​

Inicie la consola del firewall como root:

sudo portguard-fwknopd --fw-console

Seleccione 5. Configure Telegram notifications, luego ingrese:

  • Token de bot: el token proporcionado por BotFather.
  • Chat ID: el ID numérico privado/de grupo o @channel_username.
  • Intervalo mínimo de notificación: 0 envía una notificación por cada golpe exitoso. Un valor mayor suprime notificaciones adicionales durante tantos segundos.

Confirme la configuración y elija y cuando se le solicite enviar una prueba. notificación. La consola almacena la configuración en /etc/fwknop/fwknopd.conf con el modo 600 y recarga el demonio en ejecución.

4. Configurarlo manualmente​

Se pueden agregar las mismas configuraciones directamente a /etc/fwknop/fwknopd.conf:

PORTGUARD_TG_BOT_TOKEN       123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;

Se requieren tanto Bot Token como Chat ID. Proteger la configuración y reinicie el servicio después de un cambio manual:

sudo chmod 600 /etc/fwknop/fwknopd.conf
sudo portguard-fwknopd --exit-parse-config \
-c /etc/fwknop/fwknopd.conf \
-a /etc/fwknop/access.conf
sudo systemctl restart fwknopd

5. Verificar notificaciones​

Siga el registro del demonio mientras envía un paquete SPA válido desde PortGuard Client:

sudo journalctl -u fwknopd -f

Una notificación se pone en cola sólo después de que se acepta el paquete SPA y se activa un firewall. La regla se agregó correctamente. Un golpe repetido mientras se mantiene la misma regla. active no puede crear otra regla. Espere a que caduque la regla anterior antes probando nuevamente.

Si la prueba de la consola falla o un golpe aceptado no envía un mensaje, verifique:

  • El servidor puede resolver api.telegram.org y realizar conexiones salientes HTTPS.
  • Se ha iniciado el chat privado o el bot tiene permiso para publicar en el grupo o canal de destino.
  • El Chat ID pertenece a la misma conversación de bot utilizada con getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL no suprime la notificación.
  • fwknopd se recargó o reinició después de un cambio de configuración manual.

6. Desactivar notificaciones​

Ejecute la consola nuevamente, seleccione la opción 5, ingrese disable como Bot Token y confirmar. PortGuard elimina las tres configuraciones de Telegram y recarga el demonio.