Gå til hovedinnhold

Konfigurer Telegram tilgangsvarsler

PortGuard Server kan sende en Telegram-melding etter at en gyldig SPA-pakke legger til en brannmurregel. Varsler inkluderer serverens vertsnavn, tillatt kilde-IP, pakkekilde IP, SPA brukernavn, forespurt tilgang, åpningstid, utløp tid og timeout.

1. Opprett en Telegram-bot​

  1. Åpne @BotFather i Telegram.
  2. Send /newbot og følg instruksjonene.
  3. Kopier Bot Token returnert av BotFather. Det ser ut som 123456789:AAExampleToken.

Behandle Bot Token som et passord. Ikke forplikt den til kildekontroll, lim den inn inn i støttemeldinger, eller eksponer det i skjermbilder.

2. Finn destinasjonen Chat ID​

For en privat chat, åpne den nye boten, velg Start og send den en melding. For en gruppe, legg til roboten i gruppen og send en melding eller kommando til roboten kan motta.

Skriv inn Bot Token på serveren uten å lagre den i skallhistorikken:

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

Les botens siste oppdateringer:

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

Finn message.chat.id i JSON-svaret. Private Chat ID er normalt positive tall. Gruppe Chat ID-er er vanligvis negative og supergruppe-ID-er start med -100.

Hvis result er tom, send boten en ny melding og kjør forespørselen på nytt. For en kanal kan du bruke @channel_username etter å ha lagt til boten som en kanal administrator med tillatelse til å legge ut meldinger.

3. Konfigurer PortGuard Server​

Start brannmurkonsollen som root:

sudo portguard-fwknopd --fw-console

Velg 5. Configure Telegram notifications, og skriv deretter inn:

  • Bot-token: tokenet levert av BotFather.
  • Chat ID: den numeriske private/gruppe-IDen eller @channel_username.
  • Minste varslingsintervall: 0 sender et varsel for hver vellykket bank. En høyere verdi undertrykker flere varsler under så mange sekunder.

Bekreft konfigurasjonen og velg y når du blir bedt om å sende en test varsling. Konsollen lagrer innstillingene i /etc/fwknop/fwknopd.conf med modus 600 og laster den kjørende daemonen på nytt.

4. Konfigurer den manuelt​

De samme innstillingene kan legges direkte til /etc/fwknop/fwknopd.conf:

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

Både Bot Token og Chat ID kreves. Beskytt konfigurasjonen og start tjenesten på nytt etter en manuell endring:

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. Bekreft varsler​

Følg daemonloggen mens du sender en gyldig SPA-pakke fra PortGuard Client:

sudo journalctl -u fwknopd -f

Et varsel settes i kø først etter at SPA-pakken er akseptert og en brannmur regelen er lagt til. En gjentatt banking mens den samme regelen fortsatt er Active oppretter kanskje ikke en annen regel. Vent til den forrige regelen utløper før tester igjen.

Hvis konsolltesten mislykkes eller en akseptert banking ikke sender en melding, sjekk:

  • Serveren kan løse api.telegram.org og lage utgående HTTPS-tilkoblinger.
  • Den private chatten er startet, eller boten har tillatelse til å legge ut innlegg i destinasjonsgruppe eller kanal.
  • Chat ID tilhører den samme bot-samtalen som brukes med getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL undertrykker ikke varslingen.
  • fwknopd ble lastet inn på nytt eller startet på nytt etter en manuell konfigurasjonsendring.

6. Deaktiver varsler​

Kjør konsollen igjen, velg alternativet 5, skriv inn disable som Bot Token, og bekrefte. PortGuard fjerner alle tre Telegram-innstillingene og laster inn daemonen på nytt.