TroubleshootingFortinet

Falha no email de ativação FortiToken: IP de origem SMTP local-out

Ir para o conteúdo ↓

Diagnosticar a falha de envio do email FortiToken por timeout TCP/465 quando o tráfego SMTP local-out da FortiGate utiliza um IP de origem WAN inadequado.

Avançadorisco: MédioAtualFortiOS FortiOS 7.2.13
Última verificação 2026-10-27 · Próxima revisão 2027-01-27
FortinetFortiGateTroubleshooting
01Antes de executar

Utiliza durante troubleshooting controlado. Regista primeiro o estado atual e garante que sabes como parar ou reverter a operação.

02Aplica-se a

FortiGate · FortiToken Mobile · FortiOS · FortiOS 7.2.13

Quando utilizar este conteúdo

Utiliza este workflow quando FortiGate está acessível ou parcialmente operacional, mas o serviço ou tráfego esperado não se comporta corretamente.

Artigo técnico

Problema

Ao solicitar o código de ativação do FortiToken Mobile para um utilizador LDAP remoto, a FortiGate apresentava:

text
Failed to send alert email from notification.fortinet.net to (user@example.com)

O DNS resolvia notification.fortinet.net, mas a ligação TCP à porta 465 terminava em timeout. A captura de pacotes mostrava vários SYN de saída sem receber SYN-ACK.

Na implementação observada, a FortiGate tinha uma WAN em VLAN, com um endereço principal da gama CGNAT e um IP público secundário /32 encaminhado pelo operador. O serviço SMTP utilizava inicialmente o endereço principal como origem. O envio passou a funcionar após selecionar o IP público secundário como origem SMTP.

Esta é uma solução confirmada para esta topologia; não prova que o CGNAT bloqueie sempre SMTP nem identifica exatamente em que ponto o tráfego anterior era descartado.

1. Consultar a configuração de email

bash
show full-configuration system email-server

Parâmetros relevantes antes da correção:

text
set type custom
set server "notification.fortinet.net"
set port 465
set source-ip 0.0.0.0
set authenticate disable
set security smtps
set interface-select-method auto

Verificar SMTP, DNS e IP de origem. Remover credenciais antes de partilhar outputs.

2. Verificar DNS e TCP

bash
execute ping notification.fortinet.net
execute telnet notification.fortinet.net 465

Uma falha de ping não demonstra, por si só, que o SMTP esteja bloqueado. Porém, um timeout de TCP/465 em conjunto com a falha de envio justifica investigar a conectividade.

Em TCP/465, o SMTPS utiliza TLS desde o início; não esperar um banner SMTP legível em Telnet.

3. Capturar a interface e origem escolhidas

Utilizar o IP retornado pela resolução DNS na própria sessão (aqui, endereço reservado para documentação):

bash
diagnose sniffer packet any 'host 192.0.2.25 and tcp port 465' 4 0 a

Numa segunda sessão administrativa, repetir o envio do email ou o teste TCP.

Exemplo anonimizado:

text
WAN-ISP out 100.67.22.238.6724 -> 192.0.2.25.465: syn
wan1    out 100.67.22.238.6724 -> 192.0.2.25.465: syn
WAN-ISP out 100.67.22.238.6724 -> 192.0.2.25.465: syn

A captura em any pode mostrar o mesmo pacote na interface VLAN e na interface física. Isto não significa que existam duas ligações WAN.

EvidênciaInterpretação
DNS resolve, ping falhaICMP inconclusivo
SYN repetidos sem respostaHandshake TCP não concluído
SYN-ACK recebidoHá conectividade TCP; analisar SMTP/TLS
RST recebidoLigação rejeitada ou terminada
Não existem SYN de saídaVerificar routing, local-out e filtragem

4. Compreender local-out e SNAT

O tráfego gerado pela própria FortiGate, como os alertas de email, é local-out traffic: não herda automaticamente o SNAT das policies de encaminhamento LAN→WAN.

A instalação analisada tinha uma única WAN física, com uma VLAN WAN, endereço principal pertencente à gama partilhada 100.64.0.0/10 e endereço público secundário /32 encaminhado pelo ISP. Com source-ip 0.0.0.0, o SMTP utilizava o IP principal.

Só configurar um IP de origem alternativo se esse IP estiver corretamente atribuído e encaminhado para a FortiGate. Introduzir arbitrariamente um IP público pode interromper a comunicação.

5. Aplicar a correção validada

Depois de validar a existência do IP público secundário encaminhado pelo operador:

bash
config system email-server
    set source-ip <YOUR-ROUTED-PUBLIC-SECONDARY-IP>
end

O valor entre sinais de comparação é um placeholder, não sintaxe literal FortiOS. Substituir pelo endereço autorizado.

Deixar inalteradas a interface de saída automática, as rotas e as políticas de firewall.

Validar a configuração:

bash
show system email-server

Repetir Send Activation Code Email na conta FortiToken. Resultado observado: o responsável confirmou a receção depois desta alteração. Não foi confirmado, nesta intervenção, o login VPN com segundo fator.

6. Validação por captura após alteração

Quando necessário, utilizar novamente o sniffer e procurar:

text
WAN-ISP out <PUBLIC-IP>.<EPHEMERAL-PORT> -> <SMTP-IP>.465: syn
WAN-ISP in  <SMTP-IP>.465 -> <PUBLIC-IP>.<EPHEMERAL-PORT>: syn ack

O sucesso de entrega do email foi reportado, mas não foi partilhada captura pós-correção: não presumir que foi registada.

7. Debug SMTP opcional

Se TCP funcionar mas o email continuar a falhar:

bash
diagnose debug reset
diagnose debug console timestamp enable
diagnose debug application alertmail -1
diagnose debug enable

Efetuar uma tentativa e desativar imediatamente:

bash
diagnose debug disable
diagnose debug reset

Ocultar destinatários, credenciais e códigos de ativação antes de divulgar logs.

Rollback

Para regressar à seleção automática do endereço de origem:

bash
config system email-server
    set source-ip 0.0.0.0
end

Isto modifica apenas o serviço SMTP local-out, não o SNAT das policies.

Prevenção

  • Documentar IP principal, IP secundário e encaminhamento do operador.
  • Testar TCP/465 com o IP efetivamente utilizado pela FortiGate.
  • Restringir alterações SMTP a administradores.
  • Monitorizar falhas antes de ativar tokens para muitos utilizadores.
  • Nunca publicar códigos de ativação, QR codes, números de série ou endereços pessoais.
Qualidade do conhecimento

Este artigo ajudou-te a resolver o problema?

Cada conta pode votar uma vez por artigo. Podes alterar o voto sem aumentar a contagem total.