Capítulo 34 – SSO com Active Directory
Introdução
Uma das maiores vantagens de integrar o Squid Proxy ao Active Directory (AD) é a possibilidade de autenticação automática dos usuários sem necessidade de inserir manualmente login e senha a cada acesso. Isso é possível graças ao uso dos protocolos Kerberos e LDAP, os mesmos utilizados nativamente pelos sistemas Windows para autenticação integrada (SSO – Single Sign-On).
Neste capítulo, você aprenderá como:
- Integrar o Squid Proxy ao AD via LDAP;
- Habilitar a autenticação SSO com Kerberos;
- Realizar testes de validação e corrigir possíveis erros comuns.
Benefício da Autenticação SSO
A autenticação SSO melhora a experiência do usuário e reforça o controle de acesso, associando as requisições web diretamente às contas de domínio. Além disso, simplifica a auditoria e o rastreamento de atividades.
Visão Geral do Processo
- Configurar o servidor LDAP no OPNsense.
- Habilitar a autenticação básica no Squid.
- Validar o funcionamento do login.
- Habilitar o modo Single Sign-On (Kerberos).
- Criar o Key Table (arquivo de chave) para o domínio.
- Corrigir eventuais falhas de DNS e sincronismo de horário.
- Validar a autenticação transparente nas estações clientes.
1 – Configurar o Servidor de Autenticação LDAP
- Acesse o menu System → Access → Servers.
-
Clique em + Add e preencha conforme o exemplo:
Type LDAP Name LDAP-PARA-PROXY Hostname IP ou FQDN do Controlador de Domínio Port 389 (ou 636 se usar LDAPS) Scope Subtree Base DN DC=empresa,DC=corpAuthentication containers CN=Users,DC=empresa,DC=corpBind User proxybind@empresa.corpPassword senha do bind user Group Filter Deixe em branco (os filtros por grupo serão configurados depois nos perfis de acesso) -
Clique em Save e, em seguida, teste a autenticação:
- Acesse System → Access → Tester.
- Selecione o servidor LDAP-PARA-PROXY.
- Insira um usuário e senha de domínio e clique em Test.
- A resposta deverá indicar sucesso na autenticação.
Validação
O teste de autenticação garante que o OPNsense consegue consultar o AD corretamente. Sem essa etapa, a autenticação via proxy falhará.
2 – Habilitar Autenticação no Proxy
- Vá até Services → Squid Web Proxy → Administration → Forward Proxy → Authentication Settings.
- No campo Authentication Method, selecione o servidor LDAP criado anteriormente (LDAP-PARA-PROXY).
- Clique em Apply.
- Retorne ao computador cliente e tente navegar na Internet.
Durante o teste:
- O navegador exibirá um prompt de autenticação solicitando login e senha.
- Após inserir as credenciais de domínio, a navegação deve ser liberada.
- Nos logs do proxy (Services → Squid → Access Log) o nome do usuário deve aparecer junto ao registro de acesso.
3 – Habilitar a Autenticação SSO (Kerberos)
Agora iremos habilitar o Single Sign-On, permitindo que o navegador use o ticket Kerberos do Windows para autenticar automaticamente o usuário.
- Acesse Services → Squid Web Proxy → Single Sign-On.
- Marque a opção Enable Single Sign-On e clique em Apply.
- Clique na aba Kerberos Authentication.
- Ignore a checagem inicial de pré-requisitos (alguns itens podem aparecer em amarelo).
-
Em Key Table Creation, insira as credenciais do administrador de domínio:
-
Domain Admin User:
administrator@empresa.corp - Password: (senha correspondente)
- Clique em Create Key Table.
Se o processo for bem-sucedido, o OPNsense criará automaticamente uma conta de computador no AD representando o firewall e exibirá uma mensagem de sucesso.
Caso contrário, exibirá uma mensagem de erro que deve ser avaliada para ajustar o que precisa ser corrigido.
4 – Corrigindo Problemas Comuns na Criação da Key Table
Erro “getnameinfo failed” ou “Name does not resolve”
Se aparecer a mensagem:
isso indica que o DNS reverso (PTR) do AD não está configurado corretamente.
Solução:
- No Servidor DNS do Active Directory, crie uma zona reversa correspondente à sub-rede LAN.
- Após criada, edite o registro A do servidor AD e marque a opção de atualizar o registro PTR.
- Tente novamente o processo de criação da Key Table.
Persistindo o erro
Se mesmo assim o erro persistir:
- Vá até Services → Unbound DNS → Query Forwarding.
- Adicione um Query Forwarding para a zona reversa (ex. 1.168.192.in-addr.arpa) apontando ao DNS do AD.
- Clique em Apply, depois retente a criação da Key Table.
Erro “Password Failed”
Se ocorrer erro de senha:
- Acesse o servidor AD.
- Abra Active Directory Users and Computers.
- Remova a conta de máquina correspondente ao nome do firewall (ex.:
FW-MATRIZ$). - Volte ao OPNsense e clique novamente em Create Key Table.
5 – Testar a Autenticação SSO
- Reinicie o computador cliente.
- Faça login com um usuário de domínio.
- Abra o navegador e tente acessar um site externo.
Se tudo estiver configurado corretamente:
- A navegação será liberada sem solicitar usuário e senha.
- Nos logs do Squid, o nome de domínio do usuário (
dominio\usuario) será exibido junto aos registros.
Autenticação transparente
Se a navegação ocorre automaticamente, significa que o Kerberos negociou o ticket com sucesso e a autenticação está 100% funcional.
Troubleshooting
Se ainda houver prompt de autenticação, verifique:
- O usuário está logado com uma conta de domínio, não uma conta local.
-
O relógio do firewall, servidor AD e cliente estão sincronizados.
-
Por padrão, o Kerberos falha se houver diferença de mais de 5 minutos.
-
Nos logs do Squid, o erro será semelhante a:
-
Caso o Domain Controller esteja com horário incorreto, execute no servidor (Prompt como Administrador):
-
Certifique-se de que a porta UDP 123 (NTP) está liberada para a Internet.
- Após ajustar o horário, reinicie o cliente, o AD e o firewall para renovar os tickets Kerberos.
Importante
Para que o SSO funcione, é necessário que o computador use o proxy pelo hostname do firewall e não mais pelo IP. Caso tenha feito a etapa anterior do WPAD, este processo será automático. Caso não tenha feito, reveja o apontamento do proxy nas opções de Internet.
Conclusão
A integração do Squid Proxy ao Active Directory com autenticação SSO via Kerberos oferece uma solução elegante, segura e transparente para o ambiente corporativo. Além de eliminar a necessidade de inserir senhas manualmente, o método garante que toda a navegação web esteja autenticada e associada ao usuário real do domínio.
Com isso, o ambiente ganha em usabilidade, segurança e rastreabilidade, consolidando o proxy como uma peça central de controle e governança da rede.