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
- Åbn @BotFather i Telegram.
- Send
/newbotog følg vejledningen. - 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:
0sender 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.orgog 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_INTERVALundertrykker ikke meddelelsen.fwknopdblev 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.