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
- Öffnen Sie @BotFather in Telegram.
- Senden Sie
/newbotund folgen Sie den Anweisungen. - 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:
0sendet 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.orgauflö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
getUpdatesverwendet wird. PORTGUARD_TG_NOTIFY_INTERVALunterdrückt die Benachrichtigung nicht.fwknopdwurde 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.