Přeskočit na hlavní obsah

Nakonfigurujte oznámení o přístupu Telegram

PortGuard Server může odeslat zprávu Telegram poté, co platný paket SPA přidá pravidlo brány firewall. Oznámení zahrnují název hostitele serveru, povolenou zdrojovou IP, IP zdroje paketu, uživatelské jméno SPA, požadovaný přístup, čas otevření, expirace čas a časový limit.

1. Vytvořte robota Telegram​

  1. Otevřete @BotFather v Telegram.
  2. Odešlete /newbot a postupujte podle pokynů.
  3. Zkopírujte Bot Token vrácené BotFather. Vypadá to jako 123456789:AAExampleToken.

Považujte Bot Token za heslo. Nezavazujte jej ke kontrole zdroje, vložte jej do zpráv podpory nebo je vystavte na snímcích obrazovky.

2. Najděte cíl Chat ID​

Pro soukromý chat otevřete nového robota, vyberte Start a odešlete mu zprávu. Pro skupinu přidejte robota do skupiny a odešlete zprávu nebo příkaz, že robot může přijímat.

Na serveru zadejte Bot Token bez uložení do historie shellu:

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

Přečtěte si nejnovější aktualizace robota:

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

Najděte message.chat.id v odpovědi JSON. Soukromé Chat ID jsou normálně kladná čísla. Skupiny Chat ID jsou obvykle negativní a často jsou ID superskupiny začněte s -100.

Pokud je result prázdný, pošlete robotovi další zprávu a spusťte požadavek znovu. Pro kanál můžete použít @channel_username po přidání robota jako kanálu správce s oprávněním vkládat zprávy.

3. Nakonfigurujte PortGuard Server​

Spusťte konzolu brány firewall jako root:

sudo portguard-fwknopd --fw-console

Vyberte 5. Configure Telegram notifications a zadejte:

  • Token robota: token dodaný společností BotFather.
  • Chat ID: číselné soukromé/skupinové ID nebo @channel_username.
  • Minimální interval upozornění: 0 odešle upozornění na každý úspěšné zaklepání. Vyšší hodnota potlačí další upozornění během tolik sekund.

Po zobrazení výzvy k odeslání testu potvrďte konfiguraci a zvolte y oznámení. Konzole ukládá nastavení do /etc/fwknop/fwknopd.conf s režimem 600 a znovu načte běžícího démona.

4. Nakonfigurujte jej ručně​

Stejná nastavení lze přidat přímo do /etc/fwknop/fwknopd.conf:

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

Jsou vyžadovány jak Bot Token, tak Chat ID. Chraňte konfiguraci a restartujte službu po ruční změně:

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. Ověřte oznámení​

Při odesílání platného paketu SPA ze PortGuard Client postupujte podle protokolu démona:

sudo journalctl -u fwknopd -f

Oznámení se zařadí do fronty až po přijetí paketu SPA a firewallu pravidlo bylo úspěšně přidáno. Opakované zaklepání, zatímco platí stejné pravidlo aktivní nemůže vytvořit další pravidlo. Počkejte, než vyprší platnost předchozího pravidla znovu testování.

Pokud se test konzoly nezdaří nebo přijaté zaklepání neodešle zprávu, zkontrolujte:

  • Server dokáže vyřešit api.telegram.org a vytvořit odchozí připojení HTTPS.
  • Soukromý chat byl zahájen nebo má robot oprávnění přispívat do cílová skupina nebo kanál.
  • Chat ID patří ke stejné konverzaci robota, která se používá u getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL nepotlačuje oznámení.
  • fwknopd byl znovu načten nebo restartován po ruční změně konfigurace.

6. Vypněte upozornění​

Znovu spusťte konzolu, vyberte možnost 5, zadejte disable jako Bot Token a potvrdit. PortGuard odstraní všechna tři nastavení Telegram a znovu načte démona.