O FortiGate é a firewall mais comum em PME portuguesas — combinação de preço acessível, funcionalidades UTM (Unified Threat Management) e suporte alargado de parceiros locais fazem dele a escolha dominante no segmento até 500 utilizadores. No entanto, a sua interface e filosofia de configuração são diferentes das firewalls tradicionais, o que gera dificuldade para técnicos habituados a outros produtos.
Este artigo cobre a configuração base de um FortiGate em ambiente PME — interfaces, políticas de firewall, NAT, VPN SSL de acesso remoto — e as ferramentas de diagnóstico e troubleshooting mais importantes via GUI e CLI.
Neste artigo
- Conceitos base — interfaces, zonas e políticas
- Configuração de interfaces e DHCP
- Políticas de firewall — criar e gerir regras
- NAT e PAT — publicar serviços internos
- VPN SSL — acesso remoto para utilizadores
- Perfis de segurança — antivírus, web filter e IPS
- Diagnóstico via CLI — comandos essenciais
- Problemas comuns e resolução
1. Conceitos base — interfaces, zonas e políticas
O FortiGate trabalha com um modelo de políticas stateful — todo o tráfego que atravessa a firewall precisa de uma política que o permita explicitamente. Por defeito, tudo o que não está permitido é bloqueado.
| Conceito | Descrição | Exemplo típico PME |
|---|---|---|
| Interface | Porta física ou VLAN do FortiGate | wan1 (ISP), internal (LAN), dmz (servidores) |
| Zona | Agrupamento de interfaces com o mesmo nível de confiança | Zona LAN (internal + WiFi), Zona WAN (wan1) |
| Política (Policy) | Regra que define o que pode passar entre interfaces | LAN → WAN: permitir HTTP/HTTPS com NAT |
| Address Object | IP ou subnet nomeada para usar em políticas | Servidor-Web: 192.168.1.100/32 |
| Service Object | Protocolo/porta nomeado para usar em políticas | HTTPS: TCP/443, RDP: TCP/3389 |
2. Configuração de interfaces e DHCP
Caminho GUI: Network → Interfaces → [interface] → Edit
# Configurar interface LAN via CLI config system interface edit "internal" set ip 192.168.10.1 255.255.255.0 set allowaccess ping https ssh set role lan next end # Configurar servidor DHCP na LAN config system dhcp server edit 1 set interface "internal" set default-gateway 192.168.10.1 set netmask 255.255.255.0 set dns-server1 192.168.10.1 # DNS interno (DC ou FortiGate) set dns-server2 8.8.8.8 config ip-range edit 1 set start-ip 192.168.10.100 set end-ip 192.168.10.200 next end next end
3. Políticas de firewall — criar e gerir regras
Caminho GUI: Policy & Objects → Firewall Policy → Create New
# Política base: LAN → WAN com NAT (acesso à Internet) config firewall policy edit 1 set name "LAN-to-WAN" set srcintf "internal" set dstintf "wan1" set srcaddr "all" set dstaddr "all" set action accept set schedule "always" set service "ALL" set nat enable set logtraffic all # Registar todo o tráfego set av-profile "default" # Aplicar perfil antivírus set webfilter-profile "default" # Aplicar web filter next end # Ver todas as políticas activas get firewall policy show firewall policy
⚠ Ordem das políticas: O FortiGate aplica políticas de cima para baixo — a primeira que corresponder ao tráfego é usada. Políticas mais específicas (IP único, porta específica) devem estar acima de políticas mais gerais (all, any). A ordem pode ser alterada na GUI arrastando as políticas ou via CLI com move.
4. NAT e PAT — publicar serviços internos
Para publicar um serviço interno (servidor web, RDP, VPN) para a Internet, é necessário criar um Virtual IP (VIP) que mapeia o IP público para o IP privado.
Caminho GUI: Policy & Objects → Virtual IPs → Create New
# Criar VIP para publicar servidor web interno na porta 443 config firewall vip edit "VIP-WebServer-HTTPS" set extintf "wan1" set extip 203.0.113.10 # IP público da firewall set mappedip 192.168.1.100 # IP privado do servidor set extport 443 # Porta externa set mappedport 443 # Porta interna set portforward enable next end # Criar política WAN → DMZ para o VIP (obrigatório — VIP sem política = sem acesso) config firewall policy edit 10 set name "WAN-to-WebServer" set srcintf "wan1" set dstintf "internal" set srcaddr "all" set dstaddr "VIP-WebServer-HTTPS" set action accept set service "HTTPS" set schedule "always" next end
5. VPN SSL — acesso remoto para utilizadores
A VPN SSL do FortiGate (FortiClient) é a solução mais comum para acesso remoto em PME — os utilizadores instalam o FortiClient no portátil e ligam-se à rede interna a partir de qualquer lugar.
Caminho GUI: VPN → SSL-VPN Settings
- Definir a interface de escuta (Listen on Interface: wan1) e a porta (por defeito: 443 ou 10443)
- Configurar o Address Range para os clientes VPN (ex: 10.10.10.0/24 — diferente da LAN)
- Definir o DNS Server para os clientes VPN (normalmente o DC interno)
- Criar um SSL VPN Portal: VPN → SSL-VPN Portals → Create New — Tunnel Mode activo, Split Tunneling conforme política
- Criar grupo de utilizadores VPN no FortiGate ou integrar com LDAP/AD
- Criar política de firewall: SSL-VPN tunnel interface → LAN — permitir o acesso necessário
# Política firewall para utilizadores VPN SSL acederem à LAN interna config firewall policy edit 20 set name "VPN-SSL-to-LAN" set srcintf "ssl.root" # Interface virtual dos clientes SSL VPN set dstintf "internal" set srcaddr "SSLVPN_TUNNEL_ADDR1" # Range de IPs dos clientes VPN set dstaddr "all" set action accept set service "ALL" set schedule "always" next end
6. Perfis de segurança — antivírus, web filter e IPS
| Perfil | Caminho GUI | Recomendação PME |
|---|---|---|
| Antivírus (AV) | Security Profiles → AntiVirus | Usar perfil “default” na política LAN→WAN. Activar Flow-based em vez de Proxy-based em equipamentos de baixo desempenho |
| Web Filter | Security Profiles → Web Filter | Bloquear categorias: Malicious Websites, Phishing, P2P. Ponderar bloquear Proxy Avoidance. Não bloquear categorias legítimas sem necessidade |
| IPS (Intrusion Prevention) | Security Profiles → Intrusion Prevention | Usar perfil “default” — modo Monitor antes de passar a Block para evitar falsos positivos |
| DNS Filter | Security Profiles → DNS Filter | Bloquear domínios maliciosos por categoria — mais eficiente que web filter para tráfego encriptado (HTTPS) |
7. Diagnóstico via CLI — comandos essenciais
# ─── ESTADO GERAL ──────────────────────────────────────────────────────────── get system status # Versão, uptime, licenças get system performance status # CPU, memória, sessões activas get system interface physical # Estado físico de cada interface (link up/down, erros) # ─── ROUTING ───────────────────────────────────────────────────────────────── get router info routing-table all # Tabela de routing completa get router info routing-table details 0.0.0.0/0 # Default route # ─── SESSÕES E POLÍTICAS ────────────────────────────────────────────────────── diagnose sys session list # Sessões activas (pode ser muito longo) diagnose sys session filter dst 8.8.8.8 # Filtrar sessões por destino diagnose sys session filter src 192.168.10.50 # Filtrar por IP de origem diagnose sys session clear # Limpar todas as sessões (CUIDADO — corta ligações activas) # ─── DEBUG DE POLÍTICAS ─────────────────────────────────────────────────────── # Verificar qual política está a aplicar-se a um fluxo específico diagnose firewall iprope lookup 192.168.10.50 8.8.8.8 6 1234 443 # Parâmetros: src-ip dst-ip protocolo(6=TCP) src-port dst-port # ─── SNIFFER (packet capture) ──────────────────────────────────────────────── diagnose sniffer packet internal "host 192.168.10.50" 4 100 # interface | filtro tcpdump | verbosidade (1-6) | número de pacotes # ─── DEBUG FLOW ────────────────────────────────────────────────────────────── # Rastrear o percurso de um pacote específico pela firewall diagnose debug flow filter addr 192.168.10.50 diagnose debug flow trace start 50 diagnose debug enable # (gerar tráfego do IP 192.168.10.50)... diagnose debug disable diagnose debug flow trace stop
8. Problemas comuns e resolução
| Problema | Causa provável | Diagnóstico e resolução |
|---|---|---|
| PC não acede à Internet mas tem IP válido | Política LAN→WAN em falta; NAT desactivado; rota default em falta | Usar debug flow para ver se existe política a match. Verificar get router info routing-table all |
| VIP não funciona — serviço não acessível externamente | VIP criado mas política WAN→LAN não existe ou não referencia o VIP | Verificar se existe política com srcintf=wan1 e dstaddr=VIP. O sniffer confirma se os pacotes chegam à interface wan1 |
| VPN SSL conecta mas não acede a recursos internos | Política ssl.root → internal em falta; split tunnel mal configurado; DNS não aponta para o DC | Verificar política VPN→LAN. Confirmar IP recebido pelo cliente com ipconfig /all |
| Performance degradada — CPU elevada | Perfis de segurança proxy-based em hardware sem NTurbo/ASIC; número de sessões muito elevado | get system performance status. Mudar perfis de Proxy para Flow-based |
| Licença UTM expirada — features desactivadas | Subscrições FortiGuard expiradas (AV, IPS, Web Filter, etc.) | get system status → verificar expiry dates. Dashboard → License também mostra o estado |
