Konfigurera Telegram åtkomstmeddelanden
PortGuard Server kan skicka ett Telegram-meddelande efter att ett giltigt SPA-paket lägger till en brandväggsregel. Aviseringar inkluderar serverns värdnamn, tillåten käll-IP, paketkälla IP, SPA användarnamn, begärd åtkomst, öppningstid, utgångsdatum tid och timeout.
1. Skapa en Telegram bot
- Öppna @BotFather i Telegram.
- Skicka
/newbotoch följ anvisningarna. - Kopiera Bot Token som returneras av BotFather. Det ser ut som
123456789:AAExampleToken.
Behandla Bot Token som ett lösenord. Överlåt det inte till källkontroll, klistra in det i supportmeddelanden eller avslöja det i skärmdumpar.
2. Hitta destinationen Chat ID
För en privat chatt, öppna den nya boten, välj Starta och skicka ett meddelande till den. För en grupp, lägg till boten i gruppen och skicka ett meddelande eller kommando till boten kan ta emot.
På servern anger du Bot Token utan att spara den i skalhistoriken:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Läs botens senaste uppdateringar:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Hitta message.chat.id i JSON-svaret. Privata Chat ID är normalt
positiva siffror. Grupp Chat ID är normalt negativa och supergrupps-ID:n
börja med -100.
Om result är tom, skicka ett nytt meddelande till boten och kör begäran igen.
För en kanal kan du använda @channel_username efter att ha lagt till boten som en kanal
administratör med behörighet att skicka meddelanden.
3. Konfigurera PortGuard Server
Starta brandväggskonsolen som root:
sudo portguard-fwknopd --fw-console
Välj 5. Configure Telegram notifications och skriv sedan in:
- Bot-token: token som tillhandahålls av BotFather.
- Chat ID: det numeriska privata/grupp-ID eller
@channel_username. - Minsta aviseringsintervall:
0skickar ett meddelande för varje lyckad knackning. Ett högre värde undertrycker ytterligare meddelanden under så många sekunder.
Bekräfta konfigurationen och välj y när du uppmanas att skicka ett test
meddelande. Konsolen lagrar inställningarna i /etc/fwknop/fwknopd.conf
med läge 600 och laddar om den pågående demonen.
4. Konfigurera det manuellt
Samma inställningar kan läggas till direkt i /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 och Chat ID krävs. Skydda konfigurationen och starta om tjänsten efter en manuell ä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. Verifiera meddelanden
Följ demonloggen medan du skickar ett giltigt SPA-paket från PortGuard Client:
sudo journalctl -u fwknopd -f
Ett meddelande ställs i kö först efter att SPA-paketet har accepterats och en brandvägg regeln har lagts till. En upprepad knackning medan samma regel fortfarande gäller aktiv kanske inte skapar en annan regel. Vänta tills den tidigare regeln löper ut innan testar igen.
Om konsoltestet misslyckas eller en accepterad knackning inte skickar ett meddelande, kontrollera:
- Servern kan lösa
api.telegram.orgoch göra utgående HTTPS-anslutningar. - Den privata chatten har startat, eller så har boten tillåtelse att göra inlägg i destinationsgrupp eller kanal.
- Chat ID tillhör samma botkonversation som används med
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALundertrycker inte aviseringen.fwknopdladdades om eller startade om efter en manuell konfigurationsändring.
6. Inaktivera aviseringar
Kör konsolen igen, välj alternativet 5, ange disable som Bot Token och
bekräfta. PortGuard tar bort alla tre Telegram-inställningarna och laddar om demonen.