Hoppa till huvudinnehåll

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​

  1. Öppna @BotFather i Telegram.
  2. Skicka /newbot och följ anvisningarna.
  3. 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: 0 skickar 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.org och 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_INTERVAL undertrycker inte aviseringen.
  • fwknopd laddades 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.