Passa al contenuto principale

Configura le notifiche di accesso Telegram

PortGuard Server può inviare un messaggio Telegram dopo che un pacchetto SPA valido aggiunge un regola del firewall. Le notifiche includono il nome host del server, l'IP di origine consentito, IP di origine del pacchetto, nome utente SPA, accesso richiesto, orario di apertura, scadenza tempo e timeout.

1. Crea un bot Telegram​

  1. Apri @BotFather in Telegram.
  2. Invia /newbot e segui le istruzioni.
  3. Copiare il Bot Token restituito da BotFather. Sembra 123456789:AAExampleToken.

Considera Bot Token come una password. Non impegnarlo nel controllo del codice sorgente, incollalo nei messaggi di supporto o esporlo in screenshot.

2. Trova la destinazione Chat ID​

Per una chat privata, apri il nuovo bot, seleziona Avvia e inviagli un messaggio. Per un gruppo, aggiungi il bot al gruppo e invia un messaggio o impartisci un comando al bot può ricevere.

Sul server, inserisci Bot Token senza salvarlo nella cronologia della shell:

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

Leggi gli ultimi aggiornamenti del bot:

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

Trova message.chat.id nella risposta JSON. Gli Chat ID privati sono normalmente numeri positivi. I gruppi Chat ID sono normalmente negativi e spesso gli ID dei supergruppi iniziare con -100.

Se result è vuoto, invia un altro messaggio al bot ed esegui nuovamente la richiesta. Per un canale, puoi utilizzare @channel_username dopo aver aggiunto il bot come canale amministratore con il permesso di pubblicare messaggi.

3. Configura PortGuard Server​

Avvia la console del firewall come root:

sudo portguard-fwknopd --fw-console

Selezionare 5. Configure Telegram notifications, quindi inserire:

  • Token bot: il token fornito da BotFather.
  • Chat ID: l'ID numerico privato/gruppo o @channel_username.
  • Intervallo minimo di notifica: 0 invia una notifica per ogni colpo riuscito. Un valore maggiore sopprime le notifiche aggiuntive durante tanti secondi.

Conferma la configurazione e scegli y quando ti viene chiesto di inviare un test notifica. La console memorizza le impostazioni in /etc/fwknop/fwknopd.conf con la modalità 600 e ricarica il demone in esecuzione.

4. Configuralo manualmente​

Le stesse impostazioni possono essere aggiunte direttamente a /etc/fwknop/fwknopd.conf:

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

Sono necessari sia Bot Token che Chat ID. Proteggi la configurazione e riavviare il servizio dopo una modifica manuale:

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. Verifica le notifiche​

Segui il registro del demone durante l'invio di un pacchetto SPA valido da PortGuard Client:

sudo journalctl -u fwknopd -f

Una notifica viene accodata solo dopo che il pacchetto SPA è stato accettato e un firewall la regola è stata aggiunta correttamente. Un colpo ripetuto mentre la stessa regola è ferma attivo non può creare un'altra regola. Attendi prima la scadenza della regola precedente testare di nuovo.

Se il test della console fallisce o un colpo accettato non invia un messaggio, controllare:

  • Il server può risolvere api.telegram.org ed effettuare connessioni HTTPS in uscita.
  • La chat privata è stata avviata o il bot ha il permesso di postare nel gruppo o canale di destinazione.
  • Chat ID appartiene alla stessa conversazione bot utilizzata con getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL non sopprime la notifica.
  • fwknopd è stato ricaricato o riavviato dopo una modifica manuale della configurazione.

6. Disabilita le notifiche​

Esegui nuovamente la console, seleziona l'opzione 5, inserisci disable come Bot Token e confermare. PortGuard rimuove tutte e tre le impostazioni Telegram e ricarica il demone.