Preskoči na vsebino

Konfigurirajte obvestila o dostopu Telegram

PortGuard Server lahko pošlje sporočilo Telegram, potem ko veljaven paket SPA doda pravilo požarnega zidu. Obvestila vključujejo ime gostitelja strežnika, dovoljen vir IP, IP izvora paketa, uporabniško ime SPA, zahtevani dostop, čas odprtja, potek čas in časovna omejitev.

1. Ustvarite bota Telegram​

  1. Odprite @BotFather v Telegram.
  2. Pošljite /newbot in sledite pozivom.
  3. Kopirajte Bot Token, ki ga je vrnil BotFather. Izgleda kot 123456789:AAExampleToken.

Bot Token obravnavajte kot geslo. Ne dodelite ga nadzoru vira, ampak ga prilepite v sporočila podpore ali ga izpostavite na posnetkih zaslona.

2. Poiščite cilj Chat ID​

Za zasebni klepet odprite novega bota, izberite Začni in mu pošljite sporočilo. Za skupino dodajte bota v skupino in pošljite sporočilo ali ukaz, da botu lahko prejema.

Na strežniku vnesite Bot Token, ne da bi ga shranili v zgodovino lupine:

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

Preberite najnovejše posodobitve bota:

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

Poiščite message.chat.id v odgovoru JSON. Zasebni Chat ID so običajno pozitivna števila. Skupinski Chat ID so običajno negativni ID-ji superskupin začnite z -100.

Če je result prazno, pošljite botu novo sporočilo in znova zaženite zahtevo. Za kanal lahko uporabite @channel_username, potem ko dodate bota kot kanal administrator z dovoljenjem za objavo sporočil.

3. Konfigurirajte PortGuard Server​

Zaženite konzolo požarnega zidu kot root:

sudo portguard-fwknopd --fw-console

Izberite 5. Configure Telegram notifications in vnesite:

  • Žeton bota: žeton, ki ga zagotavlja BotFather.
  • Chat ID: številčni zasebni/skupinski ID ali @channel_username.
  • Minimalni interval obveščanja: 0 pošlje obvestilo za vsak uspešno trkanje. Večja vrednost onemogoči dodatna obvestila med toliko sekund.

Potrdite konfiguracijo in izberite y ob pozivu za pošiljanje testa obvestilo. Konzola shrani nastavitve v /etc/fwknop/fwknopd.conf z načinom 600 in znova naloži delujoči demon.

4. Konfigurirajte ga ročno​

Iste nastavitve je mogoče dodati neposredno v /etc/fwknop/fwknopd.conf:

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

Potrebna sta tako Bot Token kot Chat ID. Zaščitite konfiguracijo in znova zaženite storitev po ročni spremembi:

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. Preverite obvestila​

Sledite dnevniku demona med pošiljanjem veljavnega paketa SPA iz PortGuard Client:

sudo journalctl -u fwknopd -f

Obvestilo se postavi v čakalno vrsto šele, ko je sprejet paket SPA in požarni zid pravilo je uspešno dodano. Ponavljajoče se trkanje, medtem ko isto pravilo miruje aktivno ne sme ustvariti drugega pravila. Počakajte, da prejšnje pravilo poteče prej ponovno testiranje.

Če preizkus konzole ne uspe ali sprejeto trkanje ne pošlje sporočila, preverite:

  • Strežnik lahko razreši api.telegram.org in vzpostavi odhodne povezave HTTPS.
  • Zasebni klepet se je začel ali pa ima bot dovoljenje za objavo v ciljno skupino ali kanal.
  • Chat ID pripada istemu pogovoru z botom, ki se uporablja z getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL ne zavira obvestila.
  • fwknopd je bil znova naložen ali znova zagnan po ročni spremembi konfiguracije.

6. Onemogoči obvestila​

Ponovno zaženite konzolo, izberite možnost 5, vnesite disable kot Bot Token in potrdite. PortGuard odstrani vse tri nastavitve Telegram in znova naloži demona.