Hop til hovedindhold

Konfigurer Telegram adgangsmeddelelser

PortGuard Server kan sende en Telegram-meddelelse, efter at en gyldig SPA-pakke tilføjer en firewall regel. Meddelelser inkluderer serverens værtsnavn, tilladt kilde-IP, pakkekilde IP, SPA brugernavn, anmodet om adgang, åbningstid, udløb tid og timeout.

1. Opret en Telegram bot​

  1. Åbn @BotFather i Telegram.
  2. Send /newbot og følg vejledningen.
  3. Kopier Bot Token returneret af BotFather. Det ligner 123456789:AAExampleToken.

Behandl Bot Token som en adgangskode. Forpligt det ikke til kildekontrol, indsæt det i supportmeddelelser, eller eksponer det i skærmbilleder.

2. Find destinationen Chat ID​

For en privat chat skal du åbne den nye bot, vælge Start og sende den en besked. For en gruppe skal du tilføje botten til gruppen og sende en besked eller kommando til botten kan modtage.

Indtast Bot Token på serveren uden at gemme den i shell-historikken:

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

Læs botens seneste opdateringer:

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

Find message.chat.id i JSON-svaret. Private Chat ID'er er normalt positive tal. Gruppe Chat ID'er er normalt negative og supergruppe-id'er ofte start med -100.

Hvis result er tom, skal du sende botten endnu en besked og køre anmodningen igen. For en kanal kan du bruge @channel_username efter at have tilføjet botten som en kanal administrator med tilladelse til at sende beskeder.

3. Konfigurer PortGuard Server​

Start firewall-konsollen som root:

sudo portguard-fwknopd --fw-console

Vælg 5. Configure Telegram notifications, og indtast derefter:

  • Bot-token: tokenet leveret af BotFather.
  • Chat ID: det numeriske private/gruppe-id eller @channel_username.
  • Minimum meddelelsesinterval: 0 sender en meddelelse for hver vellykket bank. En større værdi undertrykker yderligere meddelelser under så mange sekunder.

Bekræft konfigurationen, og vælg y, når du bliver bedt om at sende en test underretning. Konsollen gemmer indstillingerne i /etc/fwknop/fwknopd.conf med tilstanden 600 og genindlæser den kørende dæmon.

4. Konfigurer det manuelt​

De samme indstillinger kan tilføjes 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 er påkrævet. Beskyt konfigurationen og genstart tjenesten efter en manuel ændring:

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. Bekræft meddelelser​

Følg dæmonloggen, mens du sender en gyldig SPA-pakke fra PortGuard Client:

sudo journalctl -u fwknopd -f

En meddelelse sættes først i kø, efter at SPA-pakken er accepteret og en firewall reglen er tilføjet. Et gentaget bank, mens den samme regel stadig er aktiv kan ikke oprette en anden regel. Vent før den forrige regel udløber test igen.

Hvis konsoltesten mislykkes, eller et accepteret banke ikke sender en besked, skal du kontrollere:

  • Serveren kan løse api.telegram.org og lave udgående HTTPS-forbindelser.
  • Den private chat er startet, eller botten har tilladelse til at skrive i destinationsgruppe eller kanal.
  • Chat ID tilhører den samme bot-samtale, som bruges med getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL undertrykker ikke meddelelsen.
  • fwknopd blev genindlæst eller genstartet efter en manuel konfigurationsændring.

6. Deaktiver meddelelser​

Kør konsollen igen, vælg indstillingen 5, indtast disable som Bot Token, og bekræfte. PortGuard fjerner alle tre Telegram-indstillinger og genindlæser dæmonen.