Manual de Instalación de Servidor Proxy Web con Ubuntu Server y Squid

Jorge Armando Medina

Computación Gráfica de México.
Documentación Técnica


          
        

Alejandro Gabriel Sánchez Martínez

Computación Gráfica de México.
Documentación Técnica


          
        

Se otorga permiso para copiar, distribuir y/o modificar éste documento bajo los términos de la Licencia de Documentación Libre GNU GFDL, Versión 1.2 o cualquier otra posterior publicada por la Fundación de Software Libre; sin secciones invariantes, sin textos en portada y contraportada. Una copia de la licencia en ingles la puede encontrar en los apendices al final del ibro, tambien una traducción libre no oficial al español de la licencia GFDL y referencias de como utilizarla en sus proyectos, si por alguna razón se tuviera que utilizar por cuestiones legales la licencia GFDL la unica valida es la versión en inlges de ella.

2012/06/15

Resumen

En este documento se describen los diferentes procedimientos para la implementación de un servidor Proxy Web con Squid y otras herramientas de software libre sobre un sistema GNU/Linux usando la distribución Ubuntu Server, veremos desde la instalación y configuración básica de un servidor proxy, administración de reglas de control de acceso ó ACLs, diferentes ejemplos de ACLs basadas en direcciones IP, usuarios NCSA, usuarios y grupos de sistema PAM, LDAP y Active Directory, ejemplos de filtrado de contenido, integración con el filtro de URLs SquidGuard. También se ven los procedimientos para realizar algunas otras tareas de administración relativas a la implementación del proxy como monitorización de conexiones y peticiones al proxy, generación de gráficas y reportes del uso web usando la herramienta de análisis y generación de reportes SARG, se describen diferentes métodos de configuración manual y automática de los parámetros del proxy en navegadores web usando archivos PAC y el protocolo WPAD.


Tabla de contenidos

Prefacio
Convenciones del Documento
Convenciones Tipográficas
Convenciones del documento
Notas y Advertencias
¡Necesitamos sus comentarios!
1. Introducción a la Implementación de servidor Proxy HTTP
Que es un Proxy HTTP y como me puede servir
Introducción a las características de Squid y amigos
Recursos adicionales
Sitios web
Paginas de manual
2. Requerimientos de Sistema
Requerimientos de Hardware
CPU
Memoria
Disco duro y sistemas de archivos
Requerimientos de Conectividad
Topologias de red
Requerimientos de conectividad
3. Instalación y configuración básica de Squid
Objetivos
Instalación de Squid 3
Instalando los paquetes de Squid3 con APT
Recompilando squid3 en Debian/Ubuntu
Validando la instalación de Squid3
Configuración básica de Squid
Introducción al archivo de configuración de Squid
Validando los archivos de configuración de Squid
Configuración de parámetros de red
Configuración de parámetros administrativos
Configurando el uso del cache en memoria
Configuración y creación del directorio de cache
Configurando el tamaño para los objetos en cache
Configuración de los parámetros de logs
Configurando las paginas de error de squid
Configuración de parámetros misceláneos
Controlando el servicio squid
Recursos adicionales
Sitios web
Paginas de manual
4. Configuración de los esquemas de control de acceso en Squid
Introducción a los esquemas de control de acceso en Squid
Tipos de elementos de ACL
Sintaxis de los elementos de ACL
Reglas de control de acceso
Creando reglas de acceso basadas en direcciones IP
Creando reglas de acceso basadas en puertos, dominios, URLs y tipos MIME
Listas de control de acceso basadas en puertos y método HTTP
Listas de control de acceso basadas en dominios
Listas de control de acceso basadas en URLs
Listas de control de acceso basadas en tipos MIME
Controles de acceso basados en la petición de tipos MIME
Controles de acceso basados en la respuesta de tipos MIME
Autenticación por usuarios y grupos con Squid
Introducción a la autenticación de usuarios en Squid
Esquemas de autenticación de usuarios en Squid
Autenticación de usuarios NCSA
Instalando los requisitos para la autenticación de usuarios NCSA
Definiendo el modulo de autenticación básica NCSA
Creando usuarios y contraseñas NCSA usando htpasswd
Creando listas y reglas de control de acceso basadas en usuarios NCSA
Creando diferentes perfiles de acceso basados en usuarios NCSA
Verificación manual del modulo de autenticación ncsa_auth
Autenticación de usuarios y grupos UNIX
Autenticación de usuarios y grupos LDAP
Autenticación de usuarios y grupos Active Directory vía NTLM
Sobre la autenticación de usuarios y grupos con Active Directory y NTLM
Integrando el cliente Linux como miembro de dominio Active Directory vía Kerberos y Samba
Definiendo el modulo de autenticación NTLM para usuarios Active Directory
Definiendo el modulo de autenticación externa para grupos AD
Creando listas y reglas de control de acceso para usuarios y grupos AD
Integrando Squid con Winbind para la autenticación NTLM con AD
Verificación manual del modulo de autenticación ncsa_auth
Diagnosticando problemas con las ACLs de Squid
Recursos adicionales
Sitios web
Páginas de manual
5. Instalación y configuración del filtro de URLs squidGuard con squid3
Instalación de squidGuard 1.4
Configuraciones basicas de squidGuard
El archivo de configuración squidGuard.conf
Permisos de archivos de bases de datos y logs
Configurando Squid con el redirector de URLs squidGuard
Validando la configuración de squidGuard
Introducción a las ACLs de squidGuard
Configurando ACLs destino en squidGuard
Creación de listas negras de dominios y URLs
Creación de listas blancas de dominios y URLs
Instalación de las listas negras shalla en squidGuard
Configurando ACLs origen para direcciones IP
Configurando ACLs origen para usuarios y grupos
Configurando ACLs para autorizar usuarios autenticados
Configurando ACLs para autorizar usuarios basados en grupos LDAP con squidGuard
Configurando ACLs para usuarios y grupos en OpenLDAP
Configurando ACLs para usuarios y grupos en Active Directory
Registro en logs de sitios o URLs bloqueados por squidGuard
Mantenimiento de categorias y ACLs de squidGuard
Realizando cambios al archivo de configuración de squidGuard
Actualización manual de listas de dominios y URLs en squidGuard
Referencias adicionales
Sitios web
6. Configuración de parámetros de proxy en clientes web
Sobre la configuración de parámetros de proxy en navegadores web
Configuración manual de parámetros de proxy
Configuración de parámetros de proxy usando script Proxy Auto-config
Configuración de parámetros de proxy usando la detección automática WPAD
Creación de script Proxy auto-config
Configuración básica del archivo PAC
Configuraciones extras y exclusiones
Usando nombres planos para excluir no FQDN
Usando nombres de dominio para excluir dominios locales
Usando expresiones regulares para excluir URLs
Ejemplo de script Proxy auto-config
Recargando los parámetros de detección de proxy en clientes web
Configurando el servidor web Apache para publicar un script PAC
Configuración de servidores DHCP y DNS para WPAD
Configurando el servidor ISC dhcpd para WPAD
Configurando el servidor Microsoft DHCP para WPAD
Configurando el servidor ISC bind para WPAD
Configurando el servidor Microsoft DNS para WPAD
Recursos adicionales
Sitios web
7. Monitorización de peticiones y generación de reportes de acceso
Introducción a la generación de informes de uso web
Configurando la rotación de logs del proxy cache Squid
Monitorizando conexiones usando herramientas del shell
Coloreando los logs de acceso de squid con MultiTail
Monitorizando las conexiones al proxy con Squidview
Monitorizando los dominios y URLs bloqueados por squidGuard
Usando SARG para generar reportes de acceso al proxy Squid
Introducción a SARG
Instalación y configuración básica de SARG
Creación manual de reportes con SARG
Generación automática de reportes periodicos con SARG
Protegiendo los reportes de sarg con SSL y contraseña
Introducción a Calamaris
Recursos adicionales
Sitios web
Páginas de manual
A. Historial de Revisiones
B. Licencia de Documentación Libre de GNU
PREÁMBULO
APLICABILIDAD Y DEFINICIONES
COPIA LITERAL
COPIADO EN CANTIDAD
MODIFICACIONES
COMBINACIÓN DE DOCUMENTOS
COLECCIONES DE DOCUMENTOS
AGREGACIÓN CON TRABAJOS INDEPENDIENTES
TRADUCCIÓN
TERMINACIÓN
REVISIONES FUTURAS DE ESTA LICENCIA
ADENDA: Cómo usar esta Licencia en sus documentos
C. GNU Free Documentation License

Lista de figuras

1.1. Esquema básico proxy HTTP

Lista de tablas

3.1. Códigos de formato
4.1. Módulos de autenticación de usuarios Squid
4.2. Privilegios Squid