Cómo instalar y configurar Dansguardian con filtrado multi-grupo y Squid con autenticación 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
Asegúrese de que las interfaces estén configuradas. eth0 como externa (estática o dinámica). eth1 como 192.168.1.1/24.
Instale SSH si no está presente:
apt-get install ssh openssh-serverPuede 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-freePara 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: 999Nota: 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 ntpdateDurante 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-configMá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.
- Edite /etc/resolvconf/resolv.conf.d/head y añada en la tercera línea:
search exampledomain.local- 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 - 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.confComente las líneas 19–22 y añada en la línea 23:
server domaincontroller.exampledomain.local iburstEsto mantiene el tiempo sincronizado con el dominio, requisito para Kerberos.
Configurar Samba y unir el equipo al dominio
- 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- 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- Reinicie servicios y sincronice hora:
net time set -S domaincontroller
/etc/init.d/samba restart
/etc/init.d/winbind restart- Unir al dominio:
net ads join -U AdministratorVerifique el estado de confianza y que Winbind puede listar usuarios y grupos:
wbinfo -tLa salida debería indicar que la comprobación del secreto de confianza via RPC tuvo éxito.
wbinfo -uDebería listar todos los usuarios del dominio.
wbinfo -gDeberí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
- Configurar interfaces: eth0 (WAN), eth1 (LAN 192.168.1.1/24).
- Instalar SSH y conectar.
- Añadir repositorios y preference para ClamAV.
- apt-get update y apt-get install de paquetes listados.
- Configurar resolvconf (search) y ajustar /var/run/dnsmasq/resolv.conf.
- Ajustar /etc/dnsmasq.conf, /etc/ntp.conf y /etc/samba/smb.conf.
- Reiniciar servicios: dnsmasq, samba, winbind, ntp.
- net ads join -U Administrator y verificar con wbinfo.
- 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 allEn 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)
- Desde un cliente en LAN, intente resolver un nombre del dominio y un nombre externo.
- Compruebe que los usuarios de dominio aparecen con wbinfo -u.
- Intente navegar; verifique que Squid recibe la conexión (logs) y Dansguardian aplica una política.
- 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.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD