Configurar notificações de acesso Telegram
PortGuard Server pode enviar uma mensagem Telegram depois que um pacote SPA válido adiciona um regra de firewall. As notificações incluem o nome do host do servidor, IP de origem permitido, IP de origem do pacote, nome de usuário SPA, acesso solicitado, horário de abertura, expiração tempo e tempo limite.
1. Crie um bot Telegram
- Abra @BotFather em Telegram.
- Envie
/newbote siga as instruções. - Copie Bot Token retornado por BotFather. Parece
123456789:AAExampleToken.
Trate Bot Token como uma senha. Não envie-o para o controle de origem, cole-o em mensagens de suporte ou exponha-o em capturas de tela.
2. Encontre o destino Chat ID
Para um bate-papo privado, abra o novo bot, selecione Iniciar e envie uma mensagem. Para um grupo, adicione o bot ao grupo e envie uma mensagem ou comando para que o bot pode receber.
No servidor, digite Bot Token sem salvá-lo no histórico do shell:
read -rsp 'Telegram Bot Token: ' TG_TOKEN; echo
Leia as atualizações mais recentes do bot:
curl --config - <<EOF
silent
show-error
fail
url = "https://api.telegram.org/bot${TG_TOKEN}/getUpdates"
EOF
unset TG_TOKEN
Encontre message.chat.id na resposta JSON. Chat IDs privados são normalmente
números positivos. Os grupos Chat IDs são normalmente negativos e os IDs de supergrupo geralmente
comece com -100.
Se result estiver vazio, envie outra mensagem ao bot e execute a solicitação novamente.
Para um canal, você pode usar @channel_username após adicionar o bot como canal
administrador com permissão para postar mensagens.
3. Configurar PortGuard Server
Inicie o console do firewall como root:
sudo portguard-fwknopd --fw-console
Selecione 5. Configure Telegram notifications e digite:
- Token de bot: o token fornecido por BotFather.
- Chat ID: o ID numérico privado/de grupo ou
@channel_username. - Intervalo mínimo de notificação:
0envia uma notificação para cada batida bem sucedida. Um valor maior suprime notificações adicionais durante tantos segundos.
Confirme a configuração e escolha y quando solicitado a enviar um teste
notificação. O console armazena as configurações em /etc/fwknop/fwknopd.conf
com o modo 600 e recarrega o daemon em execução.
4. Configure-o manualmente
As mesmas configurações podem ser adicionadas diretamente ao /etc/fwknop/fwknopd.conf:
PORTGUARD_TG_BOT_TOKEN 123456789:replace_with_bot_token;
PORTGUARD_TG_CHAT_ID -1001234567890;
PORTGUARD_TG_NOTIFY_INTERVAL 0;
Tanto Bot Token quanto Chat ID são necessários. Proteja a configuração e reinicie o serviço após uma alteração 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. Verifique as notificações
Siga o log do daemon ao enviar um pacote SPA válido de PortGuard Client:
sudo journalctl -u fwknopd -f
Uma notificação é colocada na fila somente após o pacote SPA ser aceito e um firewall regra foi adicionada com sucesso. Uma batida repetida enquanto a mesma regra ainda é ativo não pode criar outra regra. Aguarde a regra anterior expirar antes testando novamente.
Se o teste do console falhar ou uma batida aceita não enviar uma mensagem, verifique:
- O servidor pode resolver
api.telegram.orge fazer conexões de saída HTTPS. - O chat privado foi iniciado ou o bot tem permissão para postar no grupo ou canal de destino.
- O Chat ID pertence à mesma conversa de bot usada com
getUpdates. PORTGUARD_TG_NOTIFY_INTERVALnão está suprimindo a notificação.fwknopdfoi recarregado ou reiniciado após uma alteração manual na configuração.
6. Desative notificações
Execute o console novamente, selecione a opção 5, insira disable como Bot Token e
confirme. PortGuard remove todas as três configurações Telegram e recarrega o daemon.