Skip to main content

Konfigurácia upozornení na prístup Telegram

PortGuard Server môže odoslať správu Telegram po pridaní platného paketu SPA pravidlo brány firewall. Upozornenia zahŕňajú názov hostiteľa servera, povolenú zdrojovú IP, IP zdroja paketov, užívateľské meno SPA, požadovaný prístup, čas otvorenia, expirácia čas a časový limit.

1. Vytvorte robota Telegram​

  1. Otvorte @BotFather v Telegram.
  2. Pošlite /newbot a postupujte podľa pokynov.
  3. Skopírujte Bot Token vrátené BotFather. Vyzerá to tak 123456789:AAExampleToken.

Považujte Bot Token za heslo. Nezaväzujte ho na kontrolu zdroja, prilepte ho do správ podpory alebo ho vystavte na snímkach obrazovky.

2. Nájdite cieľ Chat ID​

Pre súkromný čet otvorte nového robota, vyberte Štart a pošlite mu správu. V prípade skupiny pridajte robota do skupiny a odošlite správu alebo príkaz, že robot môže prijímať.

Na serveri zadajte Bot Token bez toho, aby ste ho uložili do histórie shellu:

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

Prečítajte si najnovšie aktualizácie robota:

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

Nájdite message.chat.id v odpovedi JSON. Súkromné Chat ID sú normálne kladné čísla. Skupiny Chat ID sú zvyčajne negatívne a často ide o superskupiny začnite s -100.

Ak je result prázdny, pošlite robotovi ďalšiu správu a spustite požiadavku znova. Pre kanál môžete použiť @channel_username po pridaní robota ako kanála správca s povolením uverejňovať správy.

3. Nakonfigurujte PortGuard Server​

Spustite konzolu brány firewall ako root:

sudo portguard-fwknopd --fw-console

Vyberte 5. Configure Telegram notifications a potom zadajte:

  • Token bota: token dodávaný spoločnosťou BotFather.
  • Chat ID: číselné súkromné/skupinové ID alebo @channel_username.
  • Minimálny interval upozornení: 0 odošle upozornenie na každý úspešné zaklopanie. Väčšia hodnota potlačí ďalšie upozornenia počas toľko sekúnd.

Po výzve na odoslanie testu potvrďte konfiguráciu a vyberte y oznámenie. Konzola ukladá nastavenia do /etc/fwknop/fwknopd.conf s režimom 600 a znovu načíta bežiaceho démona.

4. Nakonfigurujte ho manuálne​

Rovnaké nastavenia je možné pridať priamo do /etc/fwknop/fwknopd.conf:

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

Vyžaduje sa Bot Token aj Chat ID. Chráňte konfiguráciu a reštartujte službu po manuálnej zmene:

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. Overte upozornenia​

Pri odosielaní platného paketu SPA zo PortGuard Client postupujte podľa denníka démona:

sudo journalctl -u fwknopd -f

Oznámenie sa zaradí do frontu až po prijatí paketu SPA a firewalle pravidlo je úspešne pridané. Opakované zaklopanie, kým je stále rovnaké pravidlo aktívne nemôže vytvoriť ďalšie pravidlo. Predtým počkajte, kým vyprší platnosť predchádzajúceho pravidla testovanie znova.

Ak test konzoly zlyhá alebo akceptované zaklopanie neodošle správu, skontrolujte:

  • Server dokáže vyriešiť api.telegram.org a vytvoriť odchádzajúce pripojenia HTTPS.
  • Súkromný rozhovor bol spustený alebo má robot povolenie uverejňovať príspevky cieľovú skupinu alebo kanál.
  • Chat ID patrí do rovnakej konverzácie robota, ktorá sa používa so getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL nepotláča upozornenie.
  • fwknopd bol znovu načítaný alebo reštartovaný po manuálnej zmene konfigurácie.

6. Vypnite upozornenia​

Znova spustite konzolu, vyberte možnosť 5, zadajte disable ako Bot Token a potvrdiť. PortGuard odstráni všetky tri nastavenia Telegram a znova načíta démona.