© Grupo Docente de Redes
[Link]
© Grupo Docente de Redes Squid
[Link]
Pasarela Servidor
Direcciones configuradas Manual interface 10.110.R.x
Manual interface interna
Servidor Primario DNS
10.110.R.1 / 24 Servidor Postfix
Servidor Web
Prácticas de Servicios y Seguridad en Red 2
© Grupo Docente de Redes Squid
[Link]
Un servidor que sirve de intermediario entre un
cliente y un servidor.
Se utiliza para proporcionar funcionalidades
Control de Acceso
Registro de tráfico
Filtrado de tráfico
Mejora de rendimiento
Anonimato
Web Cache
…
Proxy web Proxy ARP
Proxy FTP Proxy Cache
Prácticas de Servicios y Seguridad en Red 3
© Grupo Docente de Redes Squid
[Link]
No transparente
El usuario accede desde la aplicación (p.e. navegador)
Hay que configurarla manualmente
SSL CONNECT
Transparente
Combina proxy con cortafuego
Las peticiones son interceptadas y enviadas al proxy sin que el usuario
tenga que configurar nada.
Opción intercept
Proxy Inverso
Recibe todo el tráfico de internet con destino a un conjunto de
servidores
Seguridad, operaciones de cifrado, distribución de carga, cache del
contenido estático
Prácticas de Servicios y Seguridad en Red 4
© Grupo Docente de Redes Squid
[Link]
Servidor proxy cache para web GNU muy extendido
Cache de contenidos de red de
http, FTP, proxy SSL, DNS
Filtrado de contenidos, control de acceso
Reducir tiempo web
Proteger los hosts de la red interna
Realiza estadísticas de tráfico web en su red
Controla quien y donde se accede en Internet
Mejorar la privacidad del usuario mediante el filtrado
de la información sensible de las peticiones web
Reducir la carga de su propio servidor web (s)
Convertir solicitudes HTTPS a HTTP
Prácticas de Servicios y Seguridad en Red 5
© Grupo Docente de Redes Squid
[Link]
Squid como proxy es un intermediario en una
transacción web.
Acepta una solicitud de un cliente, procesa esa petición, y
luego reenvía la solicitud al servidor de origen.
La solicitud se puede registrar, rechazar o modificar antes de
reenvío
Squid como cache
Almacena el contenido web para utilizarlo posteriormente
Solicitudes del mismo contenido se sirve desde la cache
Puede ser desactivada
Prácticas de Servicios y Seguridad en Red 6
© Grupo Docente de Redes Squid
[Link]
Instalación (yum search squid)
yum install squid.x86_64
Configuración /etc/squid/[Link]
<Directiva> <valores>
La directiva en la columna 1.
Parámetros más relevantes
Listas de control de acceso
Reglas de control de acceso
Puerto http (http_port)
Ubicación y tamaño del espacio para la función de cache
(cache_dir) y cache_mem
Personalización de mensajes
Prácticas de Servicios y Seguridad en Red 7
© Grupo Docente de Redes Squid
[Link]
Paramétros de red
Nombre del host (defecto sistema) visible_hostname
Puerto (por defecto 3128) http_port [<ip>:] <port>
DNS (defecto sistema) dns_nameservers
Archivos de log
cache_log <ruta_archivo> | /dev/null
cache_access_log <ruta_archivo> | /dev/null
cache_store_log <ruta_archivo> | none
Un registro por cada objeto que entra y sale de la cache
Datos administrativos
Usuario que ejecuta el squid cache_efective_user
Correo de contacto cache_mgr <email>
Chequeo configuración squid –k parse
Prácticas de Servicios y Seguridad en Red 8
© Grupo Docente de Redes Squid
[Link]
Por defecto habilita el acceso a todas las redes
privadas tanto ipv4 como IPv6
ACL (agrupación)
acl [nombre de la lista] src [lo que compone a la lista]
acl localnet src [Link]/28
acl permitidos src "/etc/squid/listas/permitidos“
Una dirección en cada línea
Reglas de control de acceso
http_access [deny o allow] [ACL]
http_access allow localnet
http_access allow permitidos
http_access allow lista1 !lista2
http_access deny all
Prácticas de Servicios y Seguridad en Red 9
© Grupo Docente de Redes Squid
[Link]
Tipos de ACL
IP acl <nombre> [src | dst | myip] [ip | ip/mascara | nombre]
Dominios
acl <nombre >[srcdomain |dstdomain ] dominio
acl estedominio dstdomain .[Link]
Puertos port, myport
acl mis_servicios port 80-90 101 103 107 1 2 3 9999
Temporal acl <nombre> time [dia_semana] [h1:m1-h2:m2]
acl laboral time MTWHF 08:00-15:00
maxconn nº conexiones misma IP
acl no_mas maxconn 3
http_access deny no_mas
proxy_auth Soporte de autenticación
……
Prácticas de Servicios y Seguridad en Red 10
© Grupo Docente de Redes Squid
[Link]
Reglas de control de acceso
http_access más importante
Hay muchas más
Evaluación Cuando hay más de un valor
ACL OR Reglas de control de acceso AND
acl A src [Link]
acl B src [Link]
http_access allow A B Nunca se cumple
acl A src [Link] [Link]
http_access allow A Forma correcta
Prácticas de Servicios y Seguridad en Red 11
© Grupo Docente de Redes Squid
[Link]
cache_dir <esquema> <carpeta> <tamaño> <L1> <L2> [opciones]
cache_dir ufs /var/cache_squid 7000 16 256
L1 y L2: 16 carpetas con 256 cada una
ufs por defecto. Se recomienda aufs por rendimiento
Opciones cache_dir
read-only útil antes de una migración de la caché
max-size= Tamaño máximo de un objeto
cache_swap_low y cache_swap_high
Porcentaje para limpiar la cache de manera normal y de
manera agresiva
Politica mantenimiento cache
Prácticas de Servicios y Seguridad en Red 12
© Grupo Docente de Redes Squid
[Link]
Crear carpeta para cache mkdir
Inicializar directorios cache (obligatorio)
squid –z
Chequear squid squid –N –d1
Prácticas de Servicios y Seguridad en Red 13
© Grupo Docente de Redes Squid
[Link]
Instalar squid en el servidor
Inicializar directorios cache squid –z
Cambiar el puerto de escucha al 8888
Solo permitir proxy para los puertos 80,443,8443 y solo para las
difecciones IP de nuestra red
Chequear configuración de squid squid –N –d1
Arrancar el squid
Configurar el navegador del cliente para que vaya por el proxy
Opciones – General– Configuración de Red – Configuración manual del proxy
Conectar por web con el exterior.
Mirar los archivos de log (/var/log/squid)
Captura con wireshark
Prácticas de Servicios y Seguridad en Red 14
© Grupo Docente de Redes Squid
[Link]
A partir del servidor proxy anterior
Solo permitir el acceso al exterior en el horario 8,00-15,00 de
lunes a viernes (horario laboral)
No permitir el acceso a la estación linux
Impedir el acceso a los dominios: [Link] [Link] [Link]
[Link]
Prácticas de Servicios y Seguridad en Red 15
© Grupo Docente de Redes Squid
[Link]
Básico:
Envía la contraseña en texto plano por la red
auth_param basic program /usr/lib64/squid/basic_ncsa_auth
/etc/squid/[Link]
Gestión de los usuarios (yum install httpd-tools)
htpasswd [-c] [-m] [-D] [….] <archivo> <usuario>
htpasswd [-c] /etc/squid/[Link] usuario1
[Link]
Parámetros opcionales. Ejemplos
auth_param basic children 5 startup=5 idle=1
auth_param basic realm autenticación
auth_param basic credentialsttl 2 hours
Prácticas de Servicios y Seguridad en Red 16
© Grupo Docente de Redes Squid
[Link]
auth_param [basic|digest …] …..
************
acl pasa proxy_auth REQUIRED
http_access allow pasa
http_access deny all
****************************
acl pasa proxy_auth REQUIRED
http_access deny !pasa
http_access allow localnet
http_access deny all
*****************************
acl pasa proxy_auth REQUIRED
acl siempre proxy_auth paco toni isa
acl daytime time 08:00-17:00
http_access allow pasa daytime
http_access allow siempre
http_access deny all
Prácticas de Servicios y Seguridad en Red 17
© Grupo Docente de Redes Squid
[Link]
Configurar proxy para acceso autenticado básico
Usuarios
paco, juan, isa, carla con contraseñas cifradas
Condiciones (añadir a las condiciones de las tareas anteriores)
paco y carla pueden acceder siempre
El resto de usuarios declarados con el horario de la tarea anterior (lunes a viernes de 8 a 15) y
siempre que sea desde la pasarela.
Los usuarios no declarados no podrán acceder
Pruebas
Configurar el navegador del cliente para que vaya por el proxy
Opciones – General– Configuración de la Red – Configuración manual del proxy
Conectar por web con el exterior.
Mirar los archivos de log (/var/log/squid)
Captura con wireshark
Prácticas de Servicios y Seguridad en Red 18
© Grupo Docente de Redes Squid
[Link]
Digest:
Envía la contraseña cifrada por la red
Parámetros obligatorios
auth_param digest program /usr/lib64/squid/digest_file_auth –c
/etc/squid/[Link]
auth_param digest children 8
auth_param digest realm Acceso a Squid
auth_param digest nonce_garbage_interval 10 minutes
auth_param digest nonce_max_duration 45 minutes
auth_param digest nonce_max_count 100
Gestión de usuarios (yum install httpd-tools)
htdigest [-c] /etc/squid/[Link] "Acceso a Squid" usuario
[Link]
Prácticas de Servicios y Seguridad en Red 19
© Grupo Docente de Redes Squid
[Link]
Configurar proxy para acceso autenticado digest
Usuarios
paco, juan, isa, carla con contraseñas cifradas
Condiciones (añadir a las condiciones de las tareas anteriores)
paco y carla pueden acceder siempre
El resto de usuarios declarados con el horario de la tarea anterior (lunes a viernes de 8 a 15) y
siempre que sea desde la pasarela.
Los usuarios no declarados no podrán acceder
Pruebas
Configurar el navegador del cliente para que vaya por el proxy
Opciones – Avanzado – Configuración de la Red – Configuración manual del proxy
Conectar por web con el exterior.
Mirar los archivos de log (/var/log/squid)
Captura con wireshark
Prácticas de Servicios y Seguridad en Red 20