Zum Hauptinhalt springen

Konfigurieren Sie Telegram-Zugriffsbenachrichtigungen

PortGuard Server kann eine Telegram-Nachricht senden, nachdem ein gültiges SPA-Paket eine hinzugefügt hat Firewall-Regel. Zu den Benachrichtigungen gehören der Hostname des Servers, die zulässige Quell-IP, Paketquellen-IP, SPA-Benutzername, angeforderter Zugriff, Öffnungszeit, Ablauf Zeit und Auszeit.

1. Erstellen Sie einen Telegram-Bot​

  1. Öffnen Sie @BotFather in Telegram.
  2. Senden Sie /newbot und folgen Sie den Anweisungen.
  3. Kopieren Sie den von BotFather zurückgegebenen Bot Token. Es sieht so aus 123456789:AAExampleToken.

Behandeln Sie Bot Token als Passwort. Übergeben Sie es nicht an die Quellcodeverwaltung, sondern fügen Sie es ein in Support-Nachrichten integrieren oder in Screenshots veröffentlichen.

2. Suchen Sie das Ziel Chat ID​

Für einen privaten Chat öffnen Sie den neuen Bot, wählen Starten und senden ihm eine Nachricht. Fügen Sie für eine Gruppe den Bot zur Gruppe hinzu und senden Sie eine Nachricht oder einen Befehl an den Bot empfangen kann.

Geben Sie auf dem Server Bot Token ein, ohne es im Shell-Verlauf zu speichern:

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

Lesen Sie die neuesten Updates des Bots:

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

Suchen Sie nach message.chat.id in der JSON-Antwort. Private Chat IDs sind normalerweise positive Zahlen. Gruppen-Chat IDs sind normalerweise negativ und Supergruppen-IDs häufig Beginnen Sie mit -100.

Wenn result leer ist, senden Sie dem Bot eine weitere Nachricht und führen Sie die Anfrage erneut aus. Für einen Kanal können Sie @channel_username verwenden, nachdem Sie den Bot als Kanal hinzugefügt haben Administrator mit der Berechtigung zum Posten von Nachrichten.

3. Konfigurieren Sie PortGuard Server​

Starten Sie die Firewall-Konsole als Root:

sudo portguard-fwknopd --fw-console

Wählen Sie 5. Configure Telegram notifications und geben Sie dann Folgendes ein:

  • Bot-Token: das von BotFather bereitgestellte Token.
  • Chat ID: die numerische Privat-/Gruppen-ID oder @channel_username.
  • Mindestbenachrichtigungsintervall: 0 sendet für jeden eine Benachrichtigung erfolgreicher Schlag. Ein größerer Wert unterdrückt zusätzliche Benachrichtigungen während so viele Sekunden.

Bestätigen Sie die Konfiguration und wählen Sie y aus, wenn Sie zum Senden eines Tests aufgefordert werden Benachrichtigung. Die Konsole speichert die Einstellungen in /etc/fwknop/fwknopd.conf mit dem Modus 600 und lädt den laufenden Daemon neu.

4. Konfigurieren Sie es manuell​

Dieselben Einstellungen können direkt zu /etc/fwknop/fwknopd.conf hinzugefügt werden:

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

Sowohl Bot Token als auch Chat ID sind erforderlich. Schützen Sie die Konfiguration und Starten Sie den Dienst nach einer manuellen Änderung neu:

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. Benachrichtigungen überprüfen​

Befolgen Sie das Daemon-Protokoll, während Sie ein gültiges SPA-Paket von PortGuard Client senden:

sudo journalctl -u fwknopd -f

Eine Benachrichtigung wird erst in die Warteschlange gestellt, nachdem das SPA-Paket akzeptiert und eine Firewall aktiviert wurde Die Regel wurde erfolgreich hinzugefügt. Ein wiederholtes Klopfen, während die gleiche Regel immer noch gilt Aktiv darf keine weitere Regel erstellen. Warten Sie, bis die vorherige Regel abläuft nochmal testen.

Wenn der Konsolentest fehlschlägt oder ein akzeptiertes Klopfen keine Nachricht sendet, überprüfen Sie Folgendes:

  • Der Server kann api.telegram.org auflösen und ausgehende HTTPS-Verbindungen herstellen.
  • Der private Chat wurde gestartet oder der Bot hat die Berechtigung zum Posten im Zielgruppe oder Kanal.
  • Der Chat ID gehört zur gleichen Bot-Konversation, die auch mit getUpdates verwendet wird.
  • PORTGUARD_TG_NOTIFY_INTERVAL unterdrückt die Benachrichtigung nicht.
  • fwknopd wurde nach einer manuellen Konfigurationsänderung neu geladen oder neu gestartet.

6. Benachrichtigungen deaktivieren​

Führen Sie die Konsole erneut aus, wählen Sie die Option 5 aus, geben Sie disable als Bot Token ein und bestätigen. PortGuard entfernt alle drei Telegram-Einstellungen und lädt den Daemon neu.