FortiGate SSL VPN - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

Fortigate SSL VPN Hardening – 15 dicas simples

Fala, galera, beleza? Em 10 de fevereiro de 2024, publicamos neste link uma vulnerabilidade grave no FortiOS relacionada à VPN SSL do FortiGate. Uma das soluções de contorno para essa vulnerabilidade CVE-2024-21762 era desabilitar a SSL VPN. Mas você sabia que a SSL VPN frequentemente aparece uma nova vulnerabilidade relacionada, e existem diversas técnicas de customização da SSL VPN que dão para aumentar a segurança do uso da VPN

 

 

Neste artigo, vamos explorar de forma simples 15 dicas para aprimorar o uso da sua SSL VPN no FortiGate. Você sabia que mais de 70% das empresas enfrentam algum tipo de violação de segurança em suas redes? Com o aumento do trabalho remoto e a crescente dependência de conexões seguras, a proteção de uma VPN SSL se tornou essencial para manter a integridade dos dados corporativos.

 

Como funciona o Fortigate SSL VPN?

Antes de mergulharmos nas dicas de hardening, vamos entender o que é o Fortigate SSL VPN e como ela funciona. Conhecer os conceitos básicos do SSL VPN é essencial para implementar as melhores práticas de segurança.

 

Configuração básica do Fortigate VPN

Nesta seção, vamos guiá-lo pelos passos básicos para configurar o Fortigate VPN. Desde a instalação até a configuração inicial, você encontrará todas as informações necessárias para começar a usar a VPN SSL com segurança.

 

  1. Acesso ao FortiGate:
    • Faça login no seu dispositivo FortiGate usando um navegador da web. Insira o endereço IP do FortiGate na barra de endereços e faça login com suas credenciais de administrador.
  2. Configuração do Tunnel Mode SSL VPN:
    • Vá para “VPN” > “SSL-VPN Settings” e configure as configurações gerais da VPN SSL, como o endereço IP do servidor, portas SSL/TLS, certificado SSL, etc.
  3. Criação de um Usuário SSL VPN:
    • Vá para “User & Device” > “User Definition” e crie um novo usuário para a VPN SSL se você ainda não tiver um.
    • Defina o tipo de autenticação (por exemplo, senha) e atribua o usuário ao grupo SSL VPN.
  4. Configuração do Portal VPN SSL:
    • Vá para “VPN” > “SSL-VPN Portals” e crie um novo portal VPN SSL.
    • Configure as opções de acesso, como os widgets que você deseja exibir, os recursos disponíveis, o design da página de login, etc.
  5. Configuração do Perfil VPN SSL:
    • Vá para “VPN” > “SSL-VPN Settings” e crie um novo perfil VPN SSL.
    • Associe o portal VPN SSL criado anteriormente ao perfil VPN SSL e configure outras opções, como endereços IP de pool para clientes VPN, permissões de acesso, etc.
  6. Configuração de Políticas de Acesso:
    • Vá para “Policy & Objects” > “IPv4 Policy” e crie uma nova política de acesso para permitir o tráfego entre a interface SSL VPN e outras interfaces de rede.
  7. Teste e Verificação:
    • Teste a conexão VPN SSL usando as credenciais do usuário que você configurou anteriormente.
    • Verifique se você pode acessar os recursos de rede internos conforme configurado nas políticas de acesso.
  8. Monitoramento e Manutenção:
    • Monitore o status da conexão VPN SSL na interface do FortiGate para garantir que esteja operacional.
    • Faça manutenção regularmente, como atualizações de firmware, patches de segurança e revisões de configuração.

 

Com esses passos básicos, você estará pronto para usar a SSL VPN e aproveitar os benefícios de uma conexão segura e confiável. Lembre-se de seguir as práticas recomendadas para garantir a máxima segurança da sua rede VPN.

 

Práticas recomendadas para Fortigate VPN

A segurança da sua rede é de extrema importância quando se trata de Fortigate VPN. Para garantir a proteção completa da sua VPN SSL, é essencial seguir as melhores práticas recomendadas. Essas práticas abrangem desde a autenticação até a criptografia e o controle de acesso. Ao implementar essas práticas, você estará fortalecendo a segurança da sua rede VPN e garantindo a proteção dos seus dados sensíveis.

 

Aqui estão algumas das melhores práticas recomendadas para Fortigate VPN:

 

  • Altere a porta VPN SSL padrão 10443/443: Realize a troca da porta padrão da SSL VPN, mesmo sendo uma técnica de segurança por obscuridade, é algo que sempre funciona.
  • Não use usuários locais para autenticação: Utilizar usuários locais e uma técnica em geral muito ruim, em 2018, houve uma vulnerabilidade que afetou a SSL VPN com usuários locais CVE-2018-13379.
  • Habilite a autenticação de vários fatores para usuários de VPN: Qualquer forma de MFA é melhor do que nenhuma.
  • Limite o acesso ao portal SSL da VPN para endereços específicos: Se o usuário possui IP estático oferecido pelo provedor de Internet, é a melhor maneira de fechar a conexão de origem.
  • Limitar o acesso ao portal por localização GeoIP: Quando seus usuários estão localizados em um país específico(s), é aconselhável limitar o acesso à VPN para esses países.
  • Instale o certificado emitido pela CA confiável: Faça o uso de certificados emitidos por uma CA global confiável, para que a conexão SSL VPN tenha a segurança adequada.
  • Evite reutilizar a mesma conta de usuário para se conectar em paralelo: Você pode, por padrão, se conectar com o mesmo usuário VPN de diferentes locais ao mesmo tempo.
  • Nas regras de segurança, permitir o acesso apenas a destinos e serviços específicos, não tudo: Configure políticas de firewall para restringir o acesso não autorizado à VPN e proteger sua rede contra ameaças externas.
  • Se não estiver usando VPN SSL, desative-o ou atribua a uma interface fictícia: A configuração de VPN SSL por padrão está ativa. Até aí é Ok – desde que não haja interface de escuta atribuída a ele e sem regras de segurança usando ssl.root, o serviço NÃO vai ouvir realmente.
  • Crie um portal sem acesso e defina-o como padrão nas configurações da VPN: 
  • Desative protocolos TLS fracos e desatualizados para VPN SSL: Mesmo com as versões mais recentes do FortiOS, a VPN SSL por padrão suporta TLS 1.1 e TLS 1.2, essas versões estão desatualizadas e não é recomendada o seu uso.
  • Considere mudar de VPN SSL para VPN IPSec para clientes: Em todos esses anos de vulnerabilidades do VPN SSL acontecendo, não tenho histórico de nenhum CVE crítico para o daemon IPSec em Fortigate.
  • Considere mover o SSL VPN para o seu próprio VDOM: Esta é uma medida contra o pior cenário possível – remotamente executável 0-day acontece no daemon SSL VPN e os invasores invadem seu Fortigate e terão acesso somente a VDOM.
  • Atualização regular do firmware: Mantenha o firmware do seu dispositivo Fortigate atualizado para garantir que quaisquer vulnerabilidades conhecidas sejam corrigidas.
  • Monitoramento constante do tráfego: Monitore o tráfego da sua VPN em tempo real para detectar atividades suspeitas e identificar possíveis ameaças.
  • Auditoria regular de logs: Realize auditorias de logs regularmente para identificar atividades suspeitas e rastrear possíveis violações de segurança.

 

Hardening SSL VPN no Fortigate

Realizar um hardening efetivo na sua VPN SSL no Fortigate é essencial para fortalecer a segurança da sua rede. Além das práticas básicas de segurança, existem medidas avançadas que podem ser implementadas para garantir a proteção adequada da sua VPN SSL.

 

1. Altere a porta VPN SSL padrão 10443/443

Essa técnica de segurança por obscuridade funciona bem. Mesmo sendo uma ação simples, a maioria dos casos de ataques estão sempre procurando “frutas” baixas, ou seja, sempre está em busca do que é por padrão de cada fabricante para explorar uma vulnerabilidade. E a maneira mais fácil de fazer isso é procurar por portas/serviços conhecidos. Ambas as portas, 443 e 10443, são portas de escuta Fortigate bem conhecidas.

 

SSL VPN Port - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

2. Não use usuários locais para autenticação

Em 2018, a vulnerabilidade CVE-2018-13379 afetou apenas FortiGates com usuários locais utilizando autenticação local. Vale ressaltar que o FortiGate possui várias formas de integração para autenticação no FortiGate via SSL VPN, tais como (LDAP, Azure LDAP, SAML, RADIUS, Okta, DUO, etc.). Abaixo vou deixar um exemplo de uma autenticação via SAML no Azure AD.

 

Em uma outra oportunidade, irei escrever um artigo focado no Hands-on de autenticação via SAML com Azure AD.

 

config user saml
edit “azure-saml”
set cert “Certificado_Publico_da_Empresa”
set entity-id “https://FQDN_Publico/remote/saml/metadata/”
set single-sign-on-url “https://FQDN_Publico/remote/saml/login/”
set single-logout-url “https://FQDN_Publico/remote/saml/logout/”
set idp-entity-id “https://sts.windows.net/YYY-e027-4bb6-a213-XXX/”
set idp-single-sign-on-url “https://https://login.microsoftonline.com/YYY-e027-4bb6-a213-XXX/saml2”
set idp-single-logout-url “https://https://login.microsoftonline.com/YYY-e027-4bb6-a213-XXX/saml2”
set idp-cert “Azure_Certificate”
set user-name “username”
set group-name “group”
next
end

 

3. Habilite a autenticação de vários fatores para usuários de VPN

Bom, qualquer forma de MFA vai ser a melhor opção para quem não utiliza nenhuma. De fábrica, o FortiGate vem com 02 (dois) FortiTokens de graça. Além disso, o FortiGate consegue integrar o uso do e-mail para MFA ou até mesmo o SMS. Porém, para utilizar o SMS haverá um custo de contratação de uma operadora de SMS.

 

Habilitando o MFA via e-mail para um usuário:

 

config user local
edit “Andy”
set type password
set two-factor email
set email-to “andy@diariodesuporte.com.br”
next
end

 

Observação: A opção de e-mail só aparecerá depois que configurar via CLI.

 

SSL VPN e-mail - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

4. Limite o acesso ao portal SSL da VPN para endereços específicos

Se o usuário possui IP estático oferecido pelo provedor de Internet, é a melhor maneira de fechar a conexão de origem.

 

SSL VPN IPs - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

5. Limitar o acesso ao portal por localização GeoIP

Quando seus usuários estão localizados em um país específico(s), é aconselhável limitar o acesso à VPN para esses países. Por exemplo, para usuários provenientes do Brasil:

 

SSL VPN GEO-IP - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

6. Instale o certificado emitido pela CA confiável

Faça o uso de certificados emitidos por uma CA global confiável, para que a conexão SSL VPN tenha a segurança adequada. Em ambientes que não possui certificado público certificados por uma certificadora confiável que possui custo, como, por exemplo, a GoDaddy (https://www.godaddy.com/pt-br), os FortiGates a partir da versão 7.0 vem com a possibilidade de utilizar o Let’s Encrypt para criar um certificado público e gratuito.

 

VPN SSL Lets Encrypt - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

7. Evite reutilizar a mesma conta de usuário para se conectar em paralelo

Por padrão, o FortiGate permite o mesmo usuário VPN de diferentes locais e, ao mesmo tempo, se conectar à SSL VPN. Desativar o uso de logins simultâneos é uma excelente prática.

 

SSL VPN limitar - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

8. Nas regras de segurança, permitir o acesso apenas a destinos e serviços específicos, não tudo

Durante muitas vezes que eu dei consultoria em firewalls FortiGate, via muitas configurações de policies de SSL VPN com destino ALL e serviços ALL. Essa é a pior prática de segurança que um administrador de redes/firewalls deveria fazer. Acredito que muitas dessas configurações foram realizadas por preguiça só para economizar alguns cliques.

 

Imagine que, assim que um atacante obtiver acesso à conexão VPN, a primeira coisa que eles farão é varrer todas as portas em massa e aí com os serviços habilitados, eles conseguirão explorar as vulnerabilidades.

 

VPN SSL Policy - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

9. Se não estiver usando VPN SSL, desative-o ou atribua a uma interface fictícia

A configuração de VPN SSL por padrão está ativa. Até aí Ok – desde que não haja interface de escuta atribuída a ele e sem regras de segurança usando ssl.root, o serviço NÃO vai ouvir realmente.

 

SSL VPN desativar - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

A. Crie um portal sem acesso e defina-o como padrão nas configurações da VPN

Após desativar a SSL VPN, você pode especificar um portal padrão para o qual todos os usuários não mapeados serão atribuídos. E aí evita usuários/grupos não desejados conectando-se através deste portal padrão, ou seja, crie um único desabilitando todos os acessos dentro dele e, em seguida, configurá-lo como o padrão.

 

VPN SSL portal - Blog Diário de Suporte - O Seu Guia de Conteúdo de Segurança e Redes

 

config vpn ssl setting
        set default-portal "nome_do_portal_sem_acesso
end

 

B. Desative protocolos TLS fracos e desatualizados para VPN SSL

Mesmo com as versões mais recentes do FortiOS, a VPN SSL por padrão suporta TLS 1.1 e TLS 1.2, essas versões estão desatualizadas e não é recomendada o seu uso. Você consegue fazer com que o FortiGate só aceite conexões SSL VPN usando apenas TLS 1.2 e 1.3, porém, essa prática só funciona via CLI.

 

config vpn ssl settings
        set ssl-min-proto-ver tls1-2
end

 

C. Considere mudar de VPN SSL para VPN IPSec para clientes

Se vocês perceberem ao longo dos anos, as últimas vulnerabilidades conhecida para VPN no FortiGate foi para o uso do protocolo SSL. Eu não me lembro de nenhuma vulnerabilidade de CVE crítico para o daemon IPSec do FortiGate. Pode ser algo drástico em realizar essa configuração, mas pode valer a pena o esforço para evitar essas vulnerabilidades utilizando o protocolo IPSec no lugar do SSL.

 

D. Considere mover a SSL VPN para o seu próprio VDOM

Essa é outra medida drástica a ser realizada, porém, em um pior cenário que a SSL VPN tenha sido comprometida pelo atacante. Imagine só, se aplicarmos esse mesmo raciocínio ao VDOM direcionado para a Internet, que possui apenas configurações de VPN SSL e regras de saída. Tudo o que eles poderão acessar é o que você abriu explicitamente nas regras entre os VDOMs. E se você estabeleceu regras específicas para permitir certos protocolos em hosts específicos, isso não representaria um avanço para possíveis atacantes.

 

E. Atualização regular do firmware

Mantenha o firmware do seu dispositivo Fortigate atualizado para garantir que quaisquer vulnerabilidades conhecidas sejam corrigidas. Mas lembre-se que não basta atualizar desenfreadamente, é importante revisar o release notes da versão de FortiOS que deseja atualizar e verificar se algum bug conhecido irá afetar o funcionamento do seu ambiente após a atualização e também se há correção da vulnerabilidade que sua VPN SSL está exposta.

 

F. Monitoramento constante do tráfego e Auditoria regular de logs

Monitore o tráfego da sua VPN em tempo real para detectar atividades suspeitas e identificar possíveis ameaças. Realize auditorias de logs regularmente para identificar atividades suspeitas e rastrear possíveis violações de segurança.

 

Conclusão

Ao longo do artigo, mostrei algumas práticas recomendadas e as medidas de segurança necessárias para fortalecer a sua rede VPN. Seguir essas diretrizes é fundamental para garantir que a sua VPN SSL esteja protegida contra ameaças e vulnerabilidades.

 

Reforçamos a importância de configurar corretamente o Fortigate SSL VPN, implementando as melhores práticas e utilizando as configurações avançadas disponíveis. Além disso, destacamos a necessidade de realizar um hardening efetivo, fortalecendo a segurança da sua VPN SSL por meio da configuração de políticas de firewall, auditoria de logs e outras medidas adicionais.

 

Quer saber mais sobre esse e outros tipos de conteúdo? Fique de olho no Diário de Suporte. 😉

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *