Guia de tecnologias

Como instalar e configurar o DansGuardian com filtragem por múltiplos grupos e Squid com NTLM no Debian Etch

7 min read Infraestrutura Atualizado 22 Oct 2025
DansGuardian e Squid com NTLM no Debian Etch
DansGuardian 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-server

Apó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-free

Para 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: 999

Nota: 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 ntpdate

Durante 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-config

Perguntas 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.local

DNSmasq 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.conf

Comente as linhas 19 a 22 e insira (na linha 23 aproximada):

server domaincontroller.exampledomain.local iburst

Reinicie 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.conf

Alteraçõ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 = 3600

Reinicie e sincronize horário com o controlador de domínio:

net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restart

Agora entre no domínio usando uma conta administrativa do AD:

net ads join -U Administrator

Se tudo correr bem, valide a confiança e a resolução de usuários/grupos:

wbinfo -t

A saída esperada: checking the trust secret via RPC calls succeeded

wbinfo -u

Lista todos os usuários do domínio.

wbinfo -g

Lista 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

  1. Preparar e testar o servidor base com duas NICs e SSH.
  2. Atualizar repositórios e obter ClamAV estável dos backports.
  3. Configurar DNS local (resolvconf + dnsmasq) e validar resolução reversa para o controlador de domínio.
  4. Ajustar NTP para sincronizar com o controlador de domínio.
  5. Configurar Samba/Winbind/Kerberos e ingressar no domínio; validar com wbinfo e kinit.
  6. Instalar e configurar Squid com NTLM; testar autenticação de usuário.
  7. Instalar e ajustar DansGuardian para mapear grupos AD a perfis de filtragem.
  8. 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.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE