Como configurar ambiente com autenticação simplificada com FSSO/NTLM em FortiGate

Salve, pessoALL. Me chamo TD Matias ou para a galera das antigas, Tango-Delta (vide Alfabeto Fonético) e este é o primeiro artigo que escrevo para colaborar com a comunidade de TIC e Segurança da informação (#InfoSec). Então, desde já agradeço por ler este artigo, pelo joinha no final e pelo compartilhar (cara de pau, né?!). Se houver alguma falha, perdão, estarei melhorando cada vez mais!!!

Então, vamos parar de cozinhar o galo e ir para o cerne de nosso artigo; quem quiser saber mais da minha história pode ir no “Sobre os autores”.

Como configurar um ambiente com autenticação simplificada com FSSO/NTLM em firewalls FortiGate.  Há muitas explicações em como configurar ambientes de autenticação em FortiGate com Pooling Mode, DC Agent, Standard, Advance, Mega blaster… Mas pouco se vê sobre o  uso de NTLM e FSSO, juntos, como uma solução de autenticação com FortiGate. Necessitei pesquisar mais sobre isso na volta de um treinamento que fiz no México, o Fortinet Xtreme Team Engineering 2015, onde estudei exaustivamente sobre temas de Secure Wireless, mas um assunto que buscava, só foi abordado nas mesas de cafezinho: Problemas com autenticação de usuários corporativos que frequentemente mudavam entre o uso de redes cabeadas e sem fio. Tínhamos este problema em alguns clientes: Usuário começava o dia de trabalho com o notebook ligado ao cabo de rede na sua posição de trabalho, certa feita ele precisa seguir para uma sala de reunião, despluga o cabo de rede, logo o SO reconhece e se conecta ao SSID Corporativo, mas ao abrir uma página no navegador, aparece para o bendito a página de logon (se usa LDAP além do FSSO). Aí, logo vem o iluminado “Essa rede não funciona! É uma b****!”.  Conversando nos intervalos do café, relatando a epopéia sofrida do retirante  administrador do firewall, um amigo do Suuullll, tchê, comentara que para reduzir os problemas de cenários como este, ele usa autenticação FSSO+NTLM. No retorno para o Brasil, ele compartilhou conosco esta e outras informações e vim a fazer alguns Labs. Ele citou que o NTLM é a solução de contorno de 90% dos problemas de autenticação do FSSO. E hoje eu concordo! Mas quem disse que tinha material público? Nada sobre configuração do cenário em FortiGate. Assim, surgiu a ideia de descrever os  passos de configuração deste cenário de autenticação, inclusive com a configuração para GPO nos navegadores IE-like (IE, Chrome, Opera) e Mozilla Firefox. E em PT-BR!!!

 

Segue o procedimento:

1. Instalar o FSSO Collector Agent: Executar a configuração para o Fortinet SSO Collector Agent. Depois de instalado, configure o agente como na tela. Atenção: Selecione como Método de acesso do Diretório Windows como Advanced.

artigo101

2. Depois de instalado, adicionar a informação de endereço IP do Collector Agent.

artigo102

3. Selecione o(s) domínio(s) para monitorar, e quaisquer usuários de que a atividade de  logon/logoff você não deseja  monitorar.

artigo103

4. Configure o working mode, o DC que deseja monitorar e finalize a configuração.

artigo104

5. Configurar o Single Sign-on Agent: Se preciso for (recomendado), selecione Require authenticated connection from FortiGate, e adicione uma chave compartilhada. Você também entrará com esta senha quando configurar o Autenticador FSSO no FortiGate. Aqui deve manter ativado Support  NTLM authentication para este  cenário. Recomendo também  manter selecionado Log logon events in separate logs.

artigo105

6. Configurar o FortiGate para conectar ao FSSO agent: No FortiGate, vá em User & Device > Single Sign-On. Digite a chave compartilhada usada na configuração do FSSO Collector Agent.

artigo106

7. Adicionar registro (opcional): Crie um registro tipo A  ou CNAME no servidor DNS apontando para o Fortigate, como por exemplo: “portal.dominio.local”; Agora, defina um FQDN para o portal de autenticação do firewall:

config firewall auth-portal

    set portal-addr "portal.dominio.local"

 end

 

8. Configurar a Autenticação de NTLM no navegador: Para a autenticação de NTLM, o navegador usa as credenciais do usuário de domínio logado na estação (se o usuário estiver conectado ao domínio), oferecendo assim a funcionalidade total de login único. Como funciona a autenticação nos diversos tipos de navegadores:

  • Internet Explorer – Utiliza as credenciais do domínio do usuário e autentica de forma transparente ao acessar um site web pelo FortiGate, tendo o endereço de login no firewall com intranet local neste navegador, de acordo com a guia Segurança em Opções de Internet. Isto requer a inclusão do endereço do FortiGate na lista de websites na zona de Intranet Local em Opções de Internet, como segue:
http://<Endereço IP ou FQDN do FGT>/

https://<Endereço IP ou FQDN do FGT>/

artigo107

  • Isto pode ser feito por meio da política de grupo do domínio na Lista de atribuição de website à zona em Configuração do computador > Políticas (no caso de Windows Server 2008 ou superior, senão não haverá este subitem) > Modelos administrativos > Componentes do Windows > Internet Explorer > Painel de controle da Internet > Página de segurança >  duplo clique em Lista de atribuição de website a zonas > botão Mostrar; adiciona registro como segue na imagem, com o  valor ‘1’ (Intranet local). Ainda, cheque se há a configuração para usar a autenticação de NTLM de navegador no Internet Explorer.

artigo116

  • Google Chrome / Opera 10 ou superior – O Chrome se comporta da mesma maneira que o Internet Explorer, incluindo na exigência de que o endereço do Fortigate seja adicionado à lista de websites na zona de Intranet Local em Opções de Internet.
  • Firefox 3.6 – O Firefox utiliza as credenciais de domínio do usuário e autentica de forma transparente se o website ao qual ele está se conectando no Fortigate está listado na entrada de configuração network.automatic-ntlm-auth.trusted-uris (acessada ao digitar about:config na barra de endereços do Firefox).

artigo108

  • Você pode configurar uma GPO para executar no logon o seguinte Batch file para setar as mesmas informações no Firefox:
pushd "%APPDATA%\Mozilla\Firefox\Profiles\*.default"

echo user_pref("network.automatic-ntlm-auth.allow-non-fqdn", true);>>prefs.js

echo user_pref("network.automatic-ntlm-auth.trusted-uris","<Endereço IP ou FQDN do FGT>");>>prefs.js

popd

 

  • Basta executar ‘gpmc.msc’, editar uma GPO aplicada aos usuários e ir em Configuração de usuário  > Políticas > Configurações do Windows > Scripts (Logon/Logoff) > duplo clique no item ‘Logon’. Clicando em ‘Mostrar Arquivos…’, abrirá o Explorador de Arquivos, no diretório onde deve salvar seu arquivo de bat. Em seguida, volte a tela anterior, clique em ‘Adicionar’ e entre com o nome do arquivo. Clique em Ok. OBS: Deve-se tomar cuidado pois a cada logon de usuário, ele executará o bat. Deve-se mante-lo ativo por tempo determinado  para não causar sobrecarga nos logons de usuário;

artigo115

  • Safari 3.6 – Embora o Safari ofereça suporte ao NTLM, atualmente ele não oferece suporte um login totalmente transparente usando as credenciais de domínio do usuário. Utilize Device Definition para autenticar este tipo de dispositivo;
  • Navegadores em plataformas fora do PC – As plataformas fora do PC como o Linux e Mac podem acessar recursos em um domínio do Windows por meio do Samba, mas não têm o conceito de “efetuar login do PC no domínio” como os PCs com Windows. Portanto, os navegadores nessas plataformas não têm acesso às credenciais de domínio do usuário e não é possível usá-las para o NTLM.
  • Quando um usuário não estiver conectado ao domínio ou o navegador não é capaz de usar suas credenciais de domínio, ele solicitará um nome de usuário e senha ou utilizará as credenciais em cache, caso o usuário já tiver optado por salvá-las anteriormente.
  • Em todos os casos, em caso de falha na autenticação ao utilizar as credenciais de domínio do usuário (que pode ocorrer devido ao fato de o usuário não estar num grupo de autenticação mapeado no FortiGate), então o navegador solicitará que o usuário insira um nome e uma senha. Isso permite que o usuário insira credenciais diferentes das credenciais de domínio para obter acesso.

9. Adicionar um grupo de usuário FSSO: No FortiGate, vá em User & Device > User Groups.

artigo109

10. Adicionar um objeto Endereço IPv4 (firewall address) para a rede interna: Vá em Policy & Objects > Addresses.

artigo110

11. Adicionar um Perfil de Segurança para relacionar a uma política autenticada: Vá em Policy & Objects > IPv4 Policy. Adicione usuário(s) e/ou grupo(s) de usuários FSSO numa política com ação Aceita.

artigo111

12. Aí, acesse a CLI e habilite NTLM na regra de firewall:

config firewall policy

     set ntlm enable

 end

 

13. Resultados: Vá em Log & Report > Forward Traffic. Como os usuários efetuam login no sistema Windows AD, o FortiGate coletas estas informações. Selecione uma entrada de log para ver mais. Ainda, você pode checa no FSSO Collector Agent instalado no Controlador de Domínio as informações NTLM clicando em Show Service Status > Get NTLM Statistics.

artigo112 artigo113

Agora gente, é pau na moleira! É só testar e partir para o abraço. Reduzirá bastante as reclamações de usuários em relação a autenticação com dispositivos que se movimentam entre redes, ou entre cabeada e sem fio.

Obrigado por ler este artigo e esteja ligado no TI com Uai para o lançamentos dos próximos!

The following two tabs change content below.

TD Matias

Engenheiro de Sistemas de Segurança da Informação e entusiasta por tecnologia e Defesa digital. Bacharel em Ciência da Computação. Possui dentre outras, certificação Fortinet NSE4.

Deixe uma resposta

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