Como instalar e configurar o DansGuardian com filtragem por múltiplos grupos e Squid com NTLM no Debian Etch
Objetivo e variantes de intenção
Objetivo principal: instalar e configurar DansGuardian com filtragem por grupos e Squid com autenticação NTLM num gateway Debian Etch. Variações relacionadas úteis: instalar proxy transparente, integrar Squid a Active Directory, configurar filtragem por usuário/grupo, ajustar ClamAV via backports, usar dnsmasq com resolvconf.
Important: este how-to assume duas placas de rede: eth0 (externa) e eth1 (interna, 192.168.1.1/24). A instalação base do Debian deve ter sido feita previamente.
Preparação do sistema base
Pré-requisitos:
- Debian Etch instalado com apenas o sistema base.
- Duas NICs: eth0 (externa, IP estático ou dinâmico) e eth1 (interna, estática 192.168.1.1/24).
Se o SSH não foi instalado no sistema base, instale-o agora para poder continuar remotamente.
apt-get install ssh openssh-serverApós instalar o SSH, prossiga via sessão SSH se preferir.
Nota importante: o ClamAV disponível no Etch contém um bug que pode atrasar a inicialização do DansGuardian. Para contornar, usamos uma versão do ClamAV dos Debian Backports.
Configurar repositórios e obter ClamAV dos backports
Edite /etc/apt/sources.list e adicione as linhas abaixo (exatamente):
deb http://download.webmin.com/download/repository sarge contrib
deb http://www.backports.org/debian etch-backports main contrib non-freePara forçar o APT a obter apenas o ClamAV dos backports, crie/edite /etc/apt/preferences e adicione:
Package: clamav
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-base
Pin: release a=etch-backports
Pin-Priority: 999
Package: clamav-freshclam
Pin: release a=etch-backports
Pin-Priority: 999
Package: libclamav2
Pin: release a=etch-backports
Pin-Priority: 999Nota: se uma versão mais nova do ClamAV que corrija o bug for disponibilizada para Etch, este passo pode não ser necessário.
Atualizar APT e instalar pacotes essenciais
Atualize o índice e instale os pacotes necessários, inclusive chaves e utilitários de integração com Active Directory e rede:
apt-get update
apt-get install debian-backports-keyring
apt-get install dnsmasq webmin squid dansguardian samba winbind krb5-user libcompress-zlib-perl resolvconf ntp ntpdateDurante a instalação, serão feitas perguntas sensíveis a maiúsculas/minúsculas. Exemplos de respostas esperadas (substitua EXAMPLEDOMAIN pelos seus valores reais):
- Workgroup: EXAMPLEDOMAIN
- Modificar smb.conf para usar WINS do DHCP? — No
- Kerberos servers for your realm: domaincontroller.EXAMPLEDOMAIN.LOCAL
- Administrative server for your Kerberos realm: domaincontroller.EXAMPLEDOMAIN.LOCAL
Reconfigure o krb5-config se necessário:
dpkg-reconfigure krb5-configPerguntas adicionais típicas:
- Default Kerberos version 5 realm: EXAMPLEDOMAIN.LOCAL
- Does DNS contain pointers to your realm’s Kerberos Servers? — Yes
Configurar resolvconf e dnsmasq
Motivação: conexões com IP dinâmico podem atualizar os servidores DNS via pppd/dhcp e quebrar Kerberos. O resolvconf ajuda a manter entradas DNS estáveis para serviços locais.
Edite /etc/resolvconf/resolv.conf.d/head e insira a linha de search do seu domínio na terceira linha:
search exampledomain.localDNSmasq age como encaminhador DNS e servidor DHCP leve, integrando-se ao resolvconf. Verifique o arquivo /var/run/dnsmasq/resolv.conf e ajuste para apontar para servidores de DNS válidos (exemplo):
nameserver
nameserver
nameserver Edite /etc/dnsmasq.conf para otimizar desempenho e segurança. Como exemplo:
nano -c /etc/dnsmasq.conf- Descomente as linhas 14 e 16 (dependendo do arquivo) para ativar configurações pertinentes.
- Descomente a linha 71 e adicione eth0 ao final para vincular à interface externa.
Observação: o recurso DHCP do dnsmasq vem desabilitado por padrão no arquivo; se desejar usá-lo, procure a partir da linha 100 para configurações de DHCP. Existem opções avançadas de DNS a partir da linha 307.
Ajustar o servidor NTP para usar o controlador de domínio
Sincronização de tempo é crítica para Kerberos. Modifique /etc/ntp.conf:
nano -c /etc/ntp.confComente as linhas 19 a 22 e insira (na linha 23 aproximada):
server domaincontroller.exampledomain.local iburstReinicie o serviço NTP conforme necessário ou execute ntpdate para sincronizar imediatamente.
Configurar Samba, Winbind e entrar no domínio AD
Faça um backup do smb.conf e edite-o:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano -c /etc/samba/smb.confAlterações essenciais (linhas indicadas como referência; adapte conforme seu arquivo):
- Em torno da linha 53, adicione: interfaces = 192.168.1.1/255.255.255.0
- Descomente a linha 59.
- Em torno da linha 91, descomente e ajuste: security = ads
- Descomente as linhas 204 e 205.
Adicione antes da linha 217:
winbind trusted domains only = yes
realm = EXAMPLEDOMAIN.LOCAL
winbind cache time = 3600Reinicie e sincronize horário com o controlador de domínio:
net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restartAgora entre no domínio usando uma conta administrativa do AD:
net ads join -U AdministratorSe tudo correr bem, valide a confiança e a resolução de usuários/grupos:
wbinfo -tA saída esperada: checking the trust secret via RPC calls succeeded
wbinfo -uLista todos os usuários do domínio.
wbinfo -gLista todos os grupos do domínio.
Integração com Squid (NTLM) e DansGuardian — notas de alto nível
Resumo do fluxo técnico: Squid atua como proxy (possivelmente em modo transparente); NTLM provê autenticação integrada com AD via winbind/SSSD; DansGuardian fica na frente do Squid para filtragem por conteúdo e políticas por grupo. Principais pontos:
- Configure o Squid para usar negotiate/ntlm com helper apropriado e winbind.
- Ajuste o DansGuardian para mapear grupos do AD para perfis de filtragem (multi-group filtering) usando scripts que consultem wbinfo ou getent group.
- Teste com usuários reais, preferencialmente em uma VM de laboratório.
(Detalhes de configuração do Squid e do DansGuardian dependem da versão e exigem arquivos de configuração separados — mantenha cópias de segurança antes de alterar.)
Mini-metodologia: passos recomendados em projeto
- Preparar e testar o servidor base com duas NICs e SSH.
- Atualizar repositórios e obter ClamAV estável dos backports.
- Configurar DNS local (resolvconf + dnsmasq) e validar resolução reversa para o controlador de domínio.
- Ajustar NTP para sincronizar com o controlador de domínio.
- Configurar Samba/Winbind/Kerberos e ingressar no domínio; validar com wbinfo e kinit.
- Instalar e configurar Squid com NTLM; testar autenticação de usuário.
- Instalar e ajustar DansGuardian para mapear grupos AD a perfis de filtragem.
- Testes de aceitação e ajustes finos de desempenho e regras.
Checklist baseado em função
Administrador de Sistema:
- Verificar interfaces de rede e rotas.
- Confirmar instalação de ssh, ntp, resolvconf, dnsmasq.
- Validar entrada em domínio e kinit/wbinfo.
Engenheiro de Rede:
- Testar encaminhamento/masquerading entre eth0 e eth1 (iptables/ipmasq).
- Validar DNS forward e DHCP (se ativado) no dnsmasq.
- Medir latência e throughput no proxy.
Analista de Segurança/Políticas:
- Definir perfis de filtragem no DansGuardian por grupo.
- Testar false-positives e ajustar listas de palavras/domínios.
- Validar logs e criação de alertas.
Problemas comuns e como resolvê-los
- Kerberos falhando: verifique hora (NTP) e /etc/krb5.conf com realm correto; use kinit Administrator para testar.
- wbinfo não mostra usuários/grupos: reinicie winbind, verifique smb.conf e parâmetros realm/security; teste net ads testjoin.
- DansGuardian demora a iniciar: provavelmente ClamAV antigo — confirme que os pacotes foram pinados e instalados a partir do backports.
- DNS dinâmico sobrescrevendo resolv.conf: certifique-se de que resolvconf está configurado e que dnsmasq escreve /var/run/dnsmasq/resolv.conf corretamente.
Segurança e endurecimento recomendado
- Backup dos arquivos /etc/samba/smb.conf, /etc/dnsmasq.conf, /etc/squid/squid.conf, /etc/dansguardian/dansguardian.conf antes de alterações.
- Restrinja acesso SSH por endereço IP ou chaves públicas; desative login por senha para contas administrativas.
- Aplique atualizações de segurança regulares; monitore listas de vulnerabilidades para Etch (ou considere migrar para versão suportada).
- Restrinja interfaces nos serviços (ex.: dnsmasq e squid vinculados apenas a eth1 ou localhost conforme necessidade).
Maturidade e quando considerar alternativas
- Laboratório / pequenas PMEs: abordagem descrita é viável.
- Ambientes com alto número de usuários ou requisitos de alta disponibilidade: considerar appliances dedicados, proxies em cluster, autenticação via SSSD, ou serviços gerenciados.
1-linha de glossário
- NTLM: protocolo de autenticação do Windows usado para autenticar clientes proxy com AD.
- Winbind: serviço Samba que fornece resolução de usuários/grupos do AD para o sistema Unix.
- resolvconf: utilitário para gerenciar dinamicamente /etc/resolv.conf.
Critérios de aceitação (KPI qualitativos)
- Servidor ingressou no domínio com sucesso e wbinfo -u e -g retornam listas.
- Kerberos obtém ticket com kinit sem erros.
- DansGuardian inicializa em tempo aceitável (não fica travado aguardando ClamAV).
- Usuários autenticados no proxy via NTLM conseguem navegar conforme políticas por grupo.
Resumo final
Este tutorial orienta a criação de um gateway completo baseado em Debian Etch com autenticação integrada ao AD, filtragem por grupos e serviços DNS/DHCP leves. Priorize testes em ambiente de laboratório, mantenha backups das configurações e verifique sincronização de tempo para garantir que Kerberos funcione corretamente.
Importante: considere migrar para uma release suportada do Debian se este servidor for crítico em produção, pois Etch está obsoleto e não recebe atualizações de segurança.
Materiais semelhantes
Instalar e usar Podman no Debian 11
Apt‑pinning no Debian: guia prático
Injete FSR 4 com OptiScaler em qualquer jogo
DansGuardian e Squid com NTLM no Debian Etch
Corrigir erro de instalação no Android