Skip to main content

Configurați notificările de acces Telegram

PortGuard Server poate trimite un mesaj Telegram după ce un pachet valid SPA adaugă un regula firewall. Notificările includ numele de gazdă a serverului, IP-ul sursă permis, IP sursă pachet, nume de utilizator SPA, acces solicitat, ora de deschidere, expirare timp și timeout.

1. Creați un bot Telegram​

  1. Deschideți @BotFather în Telegram.
  2. Trimiteți /newbot și urmați instrucțiunile.
  3. Copiați Bot Token returnat de BotFather. Se pare că 123456789:AAExampleToken.

Tratați Bot Token ca o parolă. Nu îl angajați în controlul sursei, lipiți-l în mesaje de asistență sau expuneți-l în capturi de ecran.

2. Găsiți destinația Chat ID​

Pentru un chat privat, deschide noul bot, selectează Start și trimite-i un mesaj. Pentru un grup, adăugați botul la grup și trimiteți un mesaj sau o comandă către bot poate primi.

Pe server, introduceți Bot Token fără a-l salva în istoricul shell:

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

Citiți cele mai recente actualizări ale botului:

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

Găsiți message.chat.id în răspunsul JSON. Chat ID-urile private sunt în mod normal numere pozitive. Grupurile Chat ID sunt în mod normal negative și ID-urile supergrupului sunt adesea începe cu -100.

Dacă result este gol, trimiteți bot-ului un alt mesaj și rulați din nou cererea. Pentru un canal, puteți folosi @channel_username după adăugarea botului ca canal administrator cu permisiunea de a posta mesaje.

3. Configurați PortGuard Server​

Porniți consola firewall ca root:

sudo portguard-fwknopd --fw-console

Selectați 5. Configure Telegram notifications, apoi introduceți:

  • Token bot: jetonul furnizat de BotFather.
  • Chat ID: ID-ul numeric privat/grup sau @channel_username.
  • Interval minim de notificare: 0 trimite o notificare pentru fiecare ciocănire reușită. O valoare mai mare suprimă notificările suplimentare în timpul atâtea secunde.

Confirmați configurația și alegeți y când vi se cere să trimiteți un test notificare. Consola stochează setările în /etc/fwknop/fwknopd.conf cu modul 600 și reîncarcă demonul care rulează.

4. Configurați-l manual​

Aceleași setări pot fi adăugate direct la /etc/fwknop/fwknopd.conf:

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

Sunt necesare atât Bot Token, cât și Chat ID. Protejați configurația și reporniți serviciul după o schimbare manuală:

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ți notificările​

Urmați jurnalul demonului în timp ce trimiteți un pachet SPA valid de la PortGuard Client:

sudo journalctl -u fwknopd -f

O notificare este pusă în coadă numai după ce pachetul SPA este acceptat și un firewall regula a fost adăugată cu succes. O lovitură repetată în timp ce aceeași regulă este încă activ nu poate crea o altă regulă. Așteptați ca regula anterioară să expire înainte testarea din nou.

Dacă testul consolei eșuează sau o bătaie acceptată nu trimite un mesaj, verificați:

  • Serverul poate rezolva api.telegram.org și poate face conexiuni de ieșire HTTPS.
  • Chatul privat a fost pornit sau botul are permisiunea de a posta în grup de destinație sau canal.
  • Chat ID aparține aceleiași conversații bot utilizate cu getUpdates.
  • PORTGUARD_TG_NOTIFY_INTERVAL nu suprimă notificarea.
  • fwknopd a fost reîncărcat sau repornit după o modificare manuală a configurației.

6. Dezactivează notificările​

Rulați din nou consola, selectați opțiunea 5, introduceți disable ca Bot Token și confirma. PortGuard elimină toate cele trei setări Telegram și reîncarcă demonul.