Guía de tecnologías

Cómo instalar y configurar Dansguardian con filtrado multi-grupo y Squid con autenticación NTLM en Debian Etch

7 min read Redes Actualizado 22 Oct 2025
Dansguardian + Squid NTLM en Debian Etch
Dansguardian + Squid NTLM en Debian Etch

Este artículo explica paso a paso cómo convertir un servidor Debian Etch con dos interfaces de red en una pasarela de Internet completa: proxy transparente con Squid + NTLM, filtrado por grupos con Dansguardian, y servicios auxiliares (dnsmasq, resolvconf, Samba/Winbind y Kerberos). Incluye un playbook rápido, listas de verificación por rol y resolución de problemas comunes.

Objetivo y variantes de búsqueda

Objetivo principal: instalar y configurar Dansguardian + Squid con autenticación NTLM en Debian Etch. Variantes relacionadas: instalar Dansguardian en Debian, Squid NTLM en Linux, proxy transparente con autenticación, integración Squid–Samba–Kerberos, gateway con dnsmasq y resolvconf.

Requisitos y suposiciones

  • Dos interfaces de red: una externa (eth0) y una interna (eth1).
  • eth1 tiene la IP estática 192.168.1.1/24.
  • Acceso a la red del dominio con un controlador de dominio compatible (Active Directory) para Kerberos/Winbind.
  • Instalación base de Debian Etch (solo sistema base).

Definición rápida: Kerberos es un protocolo de autenticación de red. Winbind es el servicio que integra usuarios de dominio en Linux.

Importante: Ejecute estas instrucciones como root o con privilegios sudo.

Preparar el sistema base

  1. Asegúrese de que las interfaces estén configuradas. eth0 como externa (estática o dinámica). eth1 como 192.168.1.1/24.

  2. Instale SSH si no está presente:

apt-get install ssh openssh-server

Puede continuar el resto del procedimiento desde una sesión SSH.

Nota: En Etch hay un bug conocido con ClamAV que provoca que Dansguardian tarde mucho en arrancar. La solución práctica es tomar ClamAV desde backports.

Añadir repositorios y fijar ClamAV desde backports

Edite /etc/apt/sources.list y añada estas líneas:

deb http://download.webmin.com/download/repository sarge contrib
deb http://www.backports.org/debian etch-backports main contrib non-free

Para forzar que Apt obtenga solo ClamAV de backports, edite /etc/apt/preferences y añada:

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: si en el futuro ClamAV en Etch recibe una versión que corrige el problema, puede omitir este paso.

Actualizar e instalar paquetes necesarios

Ejecute:

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 la instalación se le harán preguntas de configuración. Responda con cuidado; las respuestas distinguen mayúsculas y minúsculas. Ejemplos de respuestas:

  • Workgroup para Samba: EXAMPLEDOMAIN
  • ¿Modificar smb.conf para usar WINS desde DHCP?: No
  • Servidores Kerberos para su realm: domaincontroller.EXAMPLEDOMAIN.LOCAL
  • Servidor administrativo Kerberos: domaincontroller.EXAMPLEDOMAIN.LOCAL

Configure Kerberos con:

dpkg-reconfigure krb5-config

Más preguntas aparecerán:

  • Realm por defecto de Kerberos v5: EXAMPLEDOMAIN.LOCAL
  • ¿DNS contiene punteros a los servidores Kerberos?: Yes

Configurar resolvconf y dnsmasq

Motivación: muchas conexiones a Internet usan IPs de DNS dinámicas (pppd/dhcp) y eso puede romper Kerberos cuando cambia resolv.conf. resolvconf centraliza la gestión.

  1. Edite /etc/resolvconf/resolv.conf.d/head y añada en la tercera línea:
search exampledomain.local
  1. dnsmasq actúa como reenvío DNS y servidor DHCP ligero. Verifique que /var/run/dnsmasq/resolv.conf contiene los servidores correctos (ejemplo):
nameserver 
nameserver 
nameserver 
  1. Edite /etc/dnsmasq.conf para mejorar rendimiento y seguridad:
nano -c /etc/dnsmasq.conf
  • Descomente la línea 14 y la 16.
  • Descomente la 71 y añada eth0 al final de la línea.

Nota: las opciones DHCP comienzan alrededor de la línea 100 y hay opciones DNS avanzadas desde la línea 307.

Configurar el controlador de dominio como servidor NTP

Edite /etc/ntp.conf:

nano -c /etc/ntp.conf

Comente las líneas 19–22 y añada en la línea 23:

server domaincontroller.exampledomain.local iburst

Esto mantiene el tiempo sincronizado con el dominio, requisito para Kerberos.

Configurar Samba y unir el equipo al dominio

  1. Haga una copia de seguridad del smb.conf y edítelo:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano -c /etc/samba/smb.conf
  1. Modificaciones sugeridas (líneas referenciales citadas del original):
  • Añada en la línea 53: interfaces = 192.168.1.1/255.255.255.0
  • Descomente la línea 59.
  • Descomente la línea 91 y cambie a: security = ads
  • Descomente las líneas 204 y 205.
  • Antes de la línea 217, añada:
winbind trusted domains only = yes
realm = EXAMPLEDOMAIN.LOCAL
winbind cache time = 3600
  1. Reinicie servicios y sincronice hora:
net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restart
  1. Unir al dominio:
net ads join -U Administrator

Verifique el estado de confianza y que Winbind puede listar usuarios y grupos:

wbinfo -t

La salida debería indicar que la comprobación del secreto de confianza via RPC tuvo éxito.

wbinfo -u

Debería listar todos los usuarios del dominio.

wbinfo -g

Debería listar todos los grupos del dominio.

Importante: Si wbinfo falla, revise /var/log/samba/log.winbind y /var/log/auth.log para pistas.

Playbook rápido (SOP) — pasos mínimos para poner en marcha

  1. Configurar interfaces: eth0 (WAN), eth1 (LAN 192.168.1.1/24).
  2. Instalar SSH y conectar.
  3. Añadir repositorios y preference para ClamAV.
  4. apt-get update y apt-get install de paquetes listados.
  5. Configurar resolvconf (search) y ajustar /var/run/dnsmasq/resolv.conf.
  6. Ajustar /etc/dnsmasq.conf, /etc/ntp.conf y /etc/samba/smb.conf.
  7. Reiniciar servicios: dnsmasq, samba, winbind, ntp.
  8. net ads join -U Administrator y verificar con wbinfo.
  9. Configurar Squid y Dansguardian (sección siguiente).

Configuración básica de Squid y Dansguardian (líneas generales)

Este how-to prepara el servidor para Squid + Dansguardian, pero no detalla todos los ficheros de configuración de filtrado. Recomendaciones:

  • Configure Squid en modo transparente (http_port 3128 intercept) si desea proxy transparente.
  • Configure Squid para autenticación NTLM integrando con winbind/ntlm_auth (módulo helper).
  • Dansguardian se configura para filtrar el tráfico que pasa por Squid. Habilite listas y políticas por grupo.

Fragmento habitual para Squid (ejemplo, adapte a su /etc/squid/squid.conf):

http_port 3128 intercept
auth_param ntlm program /usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp
auth_param ntlm children 10
auth_param ntlm keep_alive on
acl localnet src 192.168.1.0/24
http_access allow localnet
http_access deny all

En Dansguardian, configure los archivos de grupos y políticas para asociar usuarios a perfiles de filtrado. Consulte la documentación de Dansguardian para los ficheros exactos en /etc/dansguardian/.

Nota: Al cambiar a proxy transparente necesitará reglas de iptables para redirigir el tráfico HTTP hacia Squid.

Listas de verificación por rol

Administrador de red:

  • Verificar interfaces y enrutamiento.
  • Comprobar resolución DNS y NTP.
  • Asegurar que winbind y Kerberos funcionan.

Administrador de seguridad/filtrado:

  • Definir políticas de filtrado por grupo en Dansguardian.
  • Revisar y actualizar listas negras y blancas.
  • Probar con varios usuarios del dominio.

Soporte de usuarios:

  • Documentar el cambio de proxy (si no es transparente).
  • Incluir instrucciones para autenticación NTLM/SSO en clientes Windows.

Resolución de problemas comunes

  • wbinfo falla en autenticación: compruebe /etc/krb5.conf, que la hora esté sincronizada y que Samba esté en modo ads.
  • Kerberos da errores de tickets: sincronice la hora con ntpdate y confirme registros DNS SRV para Kerberos.
  • Dansguardian tarda en arrancar: confirme que ClamAV se instaló desde backports y que freshclam no está bloqueando el arranque.
  • Problemas con NTLM en Squid: asegúrese de que ntlm_auth está en PATH y que Squid tiene permisos para ejecutarlo; compruebe logs de Squid.

Alternativas y cuándo optar por ellas

  • Si no necesita autenticación integrada, use autenticación básica sobre HTTPS o proxy sin autenticación.
  • Para redes grandes o con alta escala, considere soluciones comerciales de filtrado o appliances dedicadas; Dansguardian y Squid en Etch pueden ser limitados en rendimiento.
  • Si su dominio usa Kerberos moderno y no desea Samba/Winbind, evalúe usar SSSD (en versiones modernas de Debian) en lugar de winbind.

Fact box — puntos clave

  • Topología mínima: 2 NICs (WAN y LAN).
  • Servicios principales instalados: dnsmasq, resolvconf, Samba, Winbind, Kerberos, Squid, Dansguardian, ClamAV.
  • Archivo de configuración Samba usual: /etc/samba/smb.conf.
  • Ubicación de config de dnsmasq: /etc/dnsmasq.conf.

Mini-metodología de pruebas (aceptación rápida)

  1. Desde un cliente en LAN, intente resolver un nombre del dominio y un nombre externo.
  2. Compruebe que los usuarios de dominio aparecen con wbinfo -u.
  3. Intente navegar; verifique que Squid recibe la conexión (logs) y Dansguardian aplica una política.
  4. Revise logs en /var/log/squid/, /var/log/dansguardian/ y /var/log/samba/.

Compatibilidad y migración

  • Debian Etch es una versión antigua; planifique migración a Debian más reciente para soporte de seguridad.
  • En migraciones, sustituya winbind por sssd si quiere integración más moderna con Active Directory.
  • Revise rutas y permisos de helpers NTLM al migrar versiones de Squid (sintaxis de auth helpers puede cambiar).

Glosario (una línea por término)

  • Winbind: servicio que permite que usuarios y grupos de Active Directory aparezcan en Linux.
  • Kerberos: protocolo de autenticación que usa tickets en entornos de dominio.
  • dnsmasq: servidor DNS y DHCP ligero para redes pequeñas.

Resumen final

Este documento proporciona los pasos para instalar y configurar una pasarela de Internet basada en Debian Etch con Squid autenticado mediante NTLM, filtrado por Dansguardian y servicios auxiliares como dnsmasq, resolvconf y Samba/Winbind. Siga el playbook rápido para desplegar y use las listas de verificación por rol para validar la instalación. Planifique migración a versiones modernas de Debian cuando sea posible.

Importante: mantenga copias de seguridad de los archivos de configuración antes de modificarlos.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach