Skonfiguruj powiadomienia o dostępie Telegram
PortGuard Server może wysłać wiadomość Telegram po dodaniu prawidłowego pakietu SPA reguła zapory sieciowej. Powiadomienia obejmują nazwę hosta serwera, dozwolony źródłowy adres IP, IP źródła pakietu, nazwa użytkownika SPA, żądany dostęp, czas otwarcia, wygaśnięcie czas i limit czasu.
1. Utwórz bota Telegram
- Otwórz @BotFather w Telegram.
- Wyślij
/newboti postępuj zgodnie z instrukcjami. - Skopiuj Bot Token zwrócony przez BotFather. Wygląda na to
123456789:AAExampleToken.
Traktuj Bot Token jako hasło. Nie przekazuj go do kontroli źródła, wklej go do wiadomości pomocy technicznej lub udostępnij je na zrzutach ekranu.
2. Znajdź miejsce docelowe Chat ID
Aby skorzystać z prywatnego czatu, otwórz nowego bota, wybierz Start i wyślij mu wiadomość. W przypadku grupy dodaj bota do grupy i wyślij wiadomość lub polecenie do bota może otrzymać.
Na serwerze wpisz Bot Token bez zapisywania go w historii powłoki:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Przeczytaj najnowsze aktualizacje bota:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Znajdź message.chat.id w odpowiedzi JSON. Prywatne Chat ID są zwykle
liczby dodatnie. Identyfikatory grup Chat ID są zwykle ujemne i często stanowią identyfikatory supergrup
zacznij od -100.
Jeśli result jest pusty, wyślij botowi kolejną wiadomość i ponownie uruchom żądanie.
W przypadku kanału możesz użyć @channel_username po dodaniu bota jako kanału
administrator z uprawnieniami do wysyłania wiadomości.
3. Skonfiguruj PortGuard Server
Uruchom konsolę zapory sieciowej jako root:
sudo portguard-fwknopd --fw-console
Wybierz 5. Configure Telegram notifications, a następnie wpisz:
- Token bota: token dostarczony przez BotFather.
- Chat ID: numeryczny identyfikator prywatny/grupowy lub
@channel_username. - Minimalny odstęp powiadomień:
0wysyła powiadomienie po każdym udane pukanie. Większa wartość powoduje pominięcie dodatkowych powiadomień tyle sekund.
Potwierdź konfigurację i wybierz y, gdy zostaniesz poproszony o przesłanie testu
powiadomienie. Konsola przechowuje ustawienia w /etc/fwknop/fwknopd.conf
w trybie 600 i ponownie ładuje działającego demona.
4. Skonfiguruj ręcznie
Te same ustawienia można dodać bezpośrednio do /etc/fwknop/fwknopd.conf:
PORTGUARD_TG_BOT_TOKEN 123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;
Wymagane są zarówno Bot Token, jak i Chat ID. Chroń konfigurację i zrestartuj usługę po ręcznej zmianie:
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. Sprawdź powiadomienia
Postępuj zgodnie z dziennikiem demona podczas wysyłania prawidłowego pakietu SPA z PortGuard Client:
sudo journalctl -u fwknopd -f
Powiadomienie trafia do kolejki dopiero po przyjęciu pakietu SPA i zaporze firewall reguła została pomyślnie dodana. Powtarzające się pukanie, gdy zasada jest wciąż ta sama active nie może utworzyć kolejnej reguły. Poczekaj, aż poprzednia reguła wygaśnie wcześniej testowanie ponownie.
Jeśli test konsoli zakończy się niepowodzeniem lub zaakceptowane pukanie nie powoduje wysłania wiadomości, sprawdź:
- Serwer może rozpoznać
api.telegram.orgi wykonać połączenia wychodzące HTTPS. - Rozpoczęto prywatny czat lub bot ma uprawnienia do publikowania postów grupę docelową lub kanał.
- Chat ID należy do tej samej konwersacji z botem, co
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALnie blokuje powiadomienia.fwknopdzostał ponownie załadowany lub uruchomiony ponownie po ręcznej zmianie konfiguracji.
6. Wyłącz powiadomienia
Uruchom konsolę ponownie, wybierz opcję 5, wpisz disable jako Bot Token i
potwierdź. PortGuard usuwa wszystkie trzy ustawienia Telegram i ponownie ładuje demona.