Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Squid y ACLs - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Squid y ACLs
hola a todos vamos a hablar en este vídeo de tanto script como también de las acl es
00:00:00
vamos a empezar primero con la implementación con script en linux
00:00:12
definir qué es empezar con lo básico es que es un programa que convierte un ordenador en un
00:00:20
servidor proxy. ¿Y qué significa eso exactamente? Pues significa que ese ordenador va a actuar como
00:00:26
intermediario entre los usuarios y las páginas web de internet. En vez de que los usuarios salgan
00:00:31
directamente a internet, primero pasan por Skid, Skid recibe la perición, la analiza, decide si la
00:00:37
permite o no y después la envía al servidor destino. Además puede guardar una copia de lo que se
00:00:44
descarga y eso es lo que llamaríamos cache. Es importante entender que Skid no es un navegador
00:00:51
ni un firewall puro, es un servicio que trabaja en segundo plano gestionando el tráfico web.
00:00:57
Con respecto a los beneficios, ¿por qué usar Skid? Skid primero mejora la velocidad. Imaginemos
00:01:06
que 20 alumnos entran en la misma máquina web, entonces sin proxy la página se descarga 20 veces
00:01:14
desde Internet. Con Skid se descarga una vez
00:01:20
y las demás veces se sirve desde la copia guardada.
00:01:23
Segundo, además, ahorra el ancho de banda.
00:01:27
Esto es importante cuando la conexión
00:01:29
a Internet es limitada. Tercero, mejora
00:01:31
la seguridad. Podemos bloquear páginas, restringir
00:01:35
horarios y obligar a los usuarios a identificarse.
00:01:38
Y cuarto, podemos hacer también que
00:01:42
pueda ser un proxy transparente, lo que significa
00:01:44
que el usuario ni siquiera sabe que está usando un proxy.
00:01:47
Con respecto a las características de Skid, aquí vemos funciones técnicas importantes. Modo caché transparente, que significa que puede interceptar tráfico sin configuración manual en el navegador. Aceleración HTTP, que puede mejorar el rendimiento de servidores web internos. Cache HTTPS, aunque HTTPS va cifrado, Skid puede gestionar conexiones mediante túneles.
00:01:50
Y luego control de IP y usuario, en el que podemos decidir quién navega y quién no.
00:02:14
Skid está pensado principalmente para Linux. Esto significa que normalmente se instala en un servidor Ubuntu. Debian o similar. También existe versión para Windows, pero en entornos profesionales casi siempre se usa en Linux. Además, herramientas como PFSense y Cential lo incorporan con interfaz gráfica.
00:02:20
Y con respecto a la instalación, instalar Skid es sencillo. En Ubuntu o Debian usamos sudo apt-get install skid y cuando termina el servicio ya lo tenemos instalado, no hay mucho más. Muy importante el archivo de configuración principal que estaría en esta ruta que aparece aquí, que sería etc.skid.conf. Aquí es donde vamos a trabajar casi todo el tiempo.
00:02:42
En cuanto a los archivos de registro, los logs son los registros de lo que ocurre.
00:03:05
En barra log barra skid tenemos que encontrar archivos que registran quién accede, a qué página, a qué hora y si fue permitido o bloqueado.
00:03:15
Esto es fundamental para mecanismos de auditoría.
00:03:25
En cuanto a los comandos de gestión en skid, skid es un servicio del sistema.
00:03:32
Entonces podemos iniciarlo con start, skid start, con skid stop y reiniciarlo con restart.
00:03:36
Siempre que cambiemos la configuración debemos reiniciarlo.
00:03:42
También podemos determinar la versión instalada con el skid guión v.
00:03:45
Si cometemos un error en skid.conf, skid puede no arrancar.
00:03:52
Entonces para comprobar errores, ¿qué usamos? Pues skid guión k parse.
00:03:58
Y para ver más detalles, pues haríamos un skid guión de 5.
00:04:03
Aquí, cuanto mayor es el número, más información muestra.
00:04:08
Si pusiéramos un 9, sería el más detallado de todos ellos.
00:04:12
En cuanto al inicio automático, podemos decidir si es que te arranca automáticamente cuando se enciende el servidor.
00:04:17
Esto es importante en entornos empresariales donde el proxy debe estar siempre activo.
00:04:25
Aquí, cómo habilitarlo y cómo deshabilitarlo.
00:04:30
No tenéis aquí ni cada uno de los comandos para realizar una opción u otra.
00:04:33
En cuanto a la gestión con sistema CTL, en sistemas modernos usamos CTL para arrancarlo, aquí lo veis, start, stop, para pararlo, para restaurarlo y para ver el estatus. Esto es la forma estándar de un Linux actual. Veis aquí lo que he dicho antes de comprobar los errores de configuración que se hace con skip-kparsen.
00:04:38
Parse. Parámetros clave
00:05:02
en Skip
00:05:07
aparecerán en skip.conf
00:05:08
y hay muchas líneas, pero estas son
00:05:10
las básicas, que serían el HTTP port
00:05:12
que sería el puerto donde se escucha el servicio
00:05:14
que sería el 3128
00:05:16
3128, también el
00:05:17
access log, donde define
00:05:20
donde se guardan los registros
00:05:22
y el error-directory
00:05:24
en el que define el idioma de los
00:05:26
mensajes de error
00:05:28
En cuanto al registro de accesos, access log
00:05:29
Guión bajo log indica el archivo donde se guarda la actividad.
00:05:34
Entonces, para verlo en directo, ¿qué usamos?
00:05:39
Usamos el tail en guión F, en barra bar, barra log, barra skid, barra acex.log.
00:05:42
Si queremos que cuando se bloquee una página al mensaje salga en español,
00:05:51
pues configuramos el error directory con la ruta en español, como aparece aquí.
00:05:57
Bien, ¿qué es un proxy caché? Un proxy caché, lo indica aquí, guarda copias temporales de páginas web. ¿Esto qué evita? Pues descargar, lo que he dicho al principio de la charla, descargar repetidamente el mismo contenido.
00:06:04
En cuanto a la configuración de memoria caché, aquí configuramos cuánto espacio usamos y utilizamos todos estos parámetros que aparecen aquí, como son el caché barra baja mem, que nos va a definir el tamaño de memoria caché en RAM, el maximum object size, que sería tamaño máximo de objetos almacenados, el reference age, que sería tiempo de almacenamiento de objetos, el caché dir, que sería el que especifica el tamaño que necesita Skid para el almacenamiento caché
00:06:23
Y luego el caché MGR, que indica el correo del administrador.
00:06:52
Aquí tenemos un ejemplo de configuración de memoria.
00:07:01
Si ponemos caché MEM a 256 megas,
00:07:05
pues significa que usamos 256 megas de RAM para caché.
00:07:09
Es importante no poner más memoria de la disponible.
00:07:13
Aquí aparecen las tres disposiciones.
00:07:17
Veis aquí, tendríamos el Maximum Object Size, en el que está indicando que almacenará en caché objetos de hasta 4096 kilobites.
00:07:20
En cambio, tenemos aquí el otro, que sería el Reference Age, en One Month, en el que nos indica el tiempo máximo que un objeto puede permanecer en la caché antes de ser eliminado o actualizado.
00:07:29
En este caso, los objetos en caché pueden permanecer hasta un mes antes de ser considerados como obsoletos.
00:07:39
obsoletos. En cuanto a la configuración del caché en disco, caché dir va a definir pues cuánto disco
00:07:45
vamos a utilizar. Aquí tenemos un ejemplo en el que define la configuración de almacenamiento de caché
00:07:54
en skid, en el que nos indica el que, nos va a indicar que 300 significará 300 megas de almacenamiento
00:07:58
en disco. Aquí nos indica cómo en cada uno de los parámetros que utiliza, esta sería UFS, nos va a
00:08:05
File System, que es el por defecto en Skid.
00:08:17
Luego tenemos la ruta donde almacenar los archivos en caché,
00:08:21
que será esta de aquí, bar, barra, spool, barra, Skid.
00:08:24
Y luego tenemos el 300, que ya lo hemos dicho,
00:08:27
que sean los 300 megabytes que va a poder de tamaño total de caché.
00:08:28
El número de subdirectorios, que sería este de aquí, 16,
00:08:33
de primer nivel, dentro del directorio de caché.
00:08:36
Y los 256 serían de subdirectorios de segundo nivel.
00:08:38
La optimización de la caché, pues cuanto mayor caché,
00:08:45
Claro, mejor rendimiento, pero necesitaremos un espacio suficiente para ello.
00:08:48
Una caché más grande permite almacenar más contenido y reducir el tráfico de Internet.
00:08:54
Pero se recomienda siempre ajustar ese tamaño de caché según el almacenamiento que tengamos disponible.
00:08:58
¿Precaución en el uso de AdCaché?
00:09:03
Pues las precauciones que vamos a tener es que si confirmamos más espacio que el que tenemos,
00:09:05
pues es que va a fallar y se va a bloquear.
00:09:09
Entonces, no establecer un caché mayor del espacio disponible en disco, en sentido común.
00:09:11
la configuración básica de Skid
00:09:16
¿qué será? configuramos
00:09:20
lo mínimamente funcional
00:09:22
hay que decir que hay que dirigirse
00:09:24
al archivo Skid
00:09:27
dentro de esa ruta
00:09:28
que sería el skid.conf
00:09:31
donde se configuran los parámetros que aparecen
00:09:32
aquí, por ejemplo el primero sería el puerto
00:09:35
donde se escucha, que sería el 3128
00:09:36
el segundo pues es
00:09:38
una regla CL en el que luego lo veremos
00:09:40
que define la red local
00:09:43
permitida, esto de SRC
00:09:44
viene de source, de fuente
00:09:47
en cuanto a la tercera
00:09:48
nos está diciendo que otra regla CL
00:09:51
en el que nos permite el acceso a la red interna
00:09:52
este de aquí
00:09:54
y por último tenemos el tamaño de caché en memoria
00:09:56
en el que vamos a proporcionarle
00:09:58
256 megas
00:10:01
aquí tenemos
00:10:02
dentro de la configuración de proxy caché
00:10:06
pues tenemos el que
00:10:09
los ejemplos de lo que hemos visto
00:10:09
anteriormente, veis
00:10:13
aquí define el almacenamiento en disco
00:10:14
con 700 megas, con directores de primer nivel
00:10:16
y 256 de segundo nivel, aquí el tamaño
00:10:19
máximo de los objetos caché, máximo 4096
00:10:22
como lo hemos visto, el tiempo de almacenamiento que era un mes
00:10:25
y la configuración de alertas para el administrador
00:10:28
a través de este dominio
00:10:30
de esta ruta, de este correo
00:10:34
pasamos a los logs
00:10:37
y el monitoreo de skid
00:10:44
hay que decir que los tres principales logs son
00:10:47
el access.log, el caché.log y el
00:10:50
store.log. El primero sería el registro de accesos,
00:10:53
el segundo sería la información interna y
00:10:56
el tercero los objetos almacenados. Para
00:10:59
visualizar estos logs, ya lo vimos en tiempo real, se realizaba a través
00:11:02
de TAIL. Seguridad y control de acceso, pues
00:11:05
es que permite aplicar reglas de seguridad en su configuración.
00:11:12
Bloquear a través de las reglas ACL, que luego
00:11:15
veremos. Bloquear sitios específicos, como aparece aquí.
00:11:18
Luego veremos en qué consiste esta línea. Denegar
00:11:21
acceso a sitios bloqueados
00:11:24
y configurar
00:11:25
autenticación de usuarios con LDAB
00:11:28
o cuentas locales.
00:11:30
Por tanto, las ventajas de Skid, pues tenemos
00:11:32
una solución potente y flexible
00:11:34
y que para implementar servidores
00:11:36
proxy, mejora la velocidad de navegación,
00:11:38
aumenta la seguridad de filtrado,
00:11:40
lo hemos visto, y su configuración
00:11:42
es altamente personalizable y adaptable
00:11:44
a las necesidades que nosotros podamos tener.
00:11:46
Conclusión, Skid
00:11:49
es una solución eficaz,
00:11:50
se instala de manera sencilla en Linux,
00:11:52
tiene un control granular del tráfico de red
00:11:53
y es compatible con diversas plataformas y herramientas.
00:11:57
Hemos visto que también se puede realizar a nivel profesional en Windows.
00:11:59
Bien, ¿qué nos queda de lo que quería hablar?
00:12:03
Aparte de Skid, quiero hablar también de las reglas ACL
00:12:09
que vas a aplicar en Skid.
00:12:11
Bien, lo primero que decir, ¿qué son las reglas ACL?
00:12:15
ACL significa Access Control List
00:12:19
y es una lista que define una serie de condiciones.
00:12:21
Pero, ojo, definir un ACL no bloquea nada por sí sola.
00:12:26
Entonces, estas listas de control permiten filtrar y controlar el tráfico en un proxy.
00:12:30
Se pueden usar para permitir o denegar acceso a sitios web, IPs, dominios, horarios
00:12:35
y se definen con la sintaxis que aparece aquí.
00:12:40
Primero sería la palabra ACL, luego sería el nombre de la lista de filtrado
00:12:43
y luego los parámetros.
00:12:48
El ACL va a indicar que estamos definiendo una lista de control de acceso. El nombre de la lista sería el identificador personalizado para esa lista. Esto luego se puede utilizar para referenciarla en otras reglas.
00:12:50
El tipo de filtrado sería ACL, nombre lista, tipo de filtrado y parámetros. El tipo de filtrado nos definiría el tipo de criterio de filtrado que se va a aplicar, bien para un IP, bien para un dominio, para un puerto, para un URL, etc.
00:13:04
Y los parámetros se especifican valores o condiciones que se aplicarán al tipo filtrado. Por ejemplo, dirigidos IP, dominios. Aquí tenemos tipos de ACLN Skid en el que vamos a ver el que tanto SRC, DST, DST Domain, URL-reggs y Time.
00:13:18
Bueno, estos tipos, según hemos visto anteriormente, sería el tipo de filtrado. Estamos hablando de esta parte de aquí. Ponemos el ACL, el nombre de la lista y tendremos que saber cuáles son los tipos para primero filtrar el criterio de filtrado.
00:13:44
Y luego, pues eso se acompañará de una serie de parámetros.
00:14:04
Entonces, el primero sería SRC, que sería un filtrado por direcciones IP de origen,
00:14:07
de source, mientras que Destiny, que sería DST, sería para direcciones IP de destino.
00:14:12
Aquí tenemos varios ejemplos, una ACL, en el que la he llamado IP bloqueada,
00:14:17
y en el que nos dice que el único dirección de origen sería esta que aparece aquí.
00:14:21
Después nos pone un HTTP access, deny IP bloqueada,
00:14:29
y esto lo que nos va a decir es que esa CL llamada IP bloqueada
00:14:32
va a filtrar el tráfico proveniente de la IP y se le deniega el acceso.
00:14:36
En cuanto a DST, sería de destino.
00:14:43
Que tendríamos ahora a CL, le llamamos destino bloqueado
00:14:47
y le tenemos DST y con la IP que aparece aquí.
00:14:50
Después ponemos el HTTP access, destino bloqueado.
00:14:53
Se va a bloquear el acceso a la dirección IP 200.200.200.10
00:14:58
sin importar la IP de origen.
00:15:03
ST-DOMIN es cuando hablamos de dominios.
00:15:06
Y esos dominios siempre se añaden posterior al de ST-DOMIN
00:15:09
con un punto delante.
00:15:13
Esto no es un error, sino que aparece,
00:15:15
se pone el dominio con el punto delante.
00:15:16
Está negando el acceso a los dominios
00:15:19
indicados sin importar la IP de destino.
00:15:21
El URL-REGIS es un filtrado por expresiones regulares.
00:15:24
Entonces aquí podemos establecer todas estas expresiones regulares que le he añadido al parámetro que hemos puesto. Ese tipo de expresiones regulares pueden terminar para todos los archivos que terminan en mp3, o para los .exe, o también hacer que la búsqueda no distinga entre mayúsculas y minúsculas, que sería el guión i.
00:15:27
gotTime que sería filtrado por horarios
00:15:55
pues entremos ahora, lo que hace es que
00:15:58
va a filtrar por horario, estableciendo un
00:15:59
vamos a poner esto
00:16:02
que desaparezca
00:16:03
un horario restringido
00:16:04
se pone
00:16:08
tanto los días de la
00:16:08
semana, que se pondría en ese orden
00:16:12
mtwhf
00:16:13
y que se indicaría el lunes, martes, miércoles
00:16:15
jueves y viernes en inglés, y luego tendríamos
00:16:18
la hora
00:16:20
de qué hora a qué hora, que aparecería
00:16:20
aquí me sale que sería el horario restringido acl por ip origen sirve para aplicar reglas a
00:16:24
una red concreta entonces para permitir acceso sólo a una red específica veis aquí que lo ha
00:16:34
añadido define que los equipos de las redes tanto de esta ip como de esta de esta cosa de esta red
00:16:40
como de esta otra red tanto la punto 1 como la punto 3 que tienen acceso cuando es por ip de
00:16:45
destino, se pone el DST y está diciendo
00:16:54
pues el que
00:16:56
si queremos, en el ejemplo, bloquear
00:16:57
el acceso a ciertas direcciones, primero con
00:17:00
las direcciones de destino se ponen las direcciones que son
00:17:02
y luego tenemos que
00:17:04
se le dice que el acceso
00:17:05
a esa regla, a institutos
00:17:08
pues está totalmente denegado
00:17:11
si estos servidores cambian
00:17:12
de IP, la regla pues dejará de ser
00:17:21
válida
00:17:23
con respecto a
00:17:25
CL por dominio, ahora estamos hablando de
00:17:31
DST domain, para bloquear
00:17:33
dominios en lugar de direcciones ip veis aquí en llama a esta cl institutos y le pone el parámetro
00:17:35
de st domain y le dice pues que el dominio y es andaluz y el dominio y es austriana en el que le
00:17:42
pone con el punto delante lo veis después dice que pues que se deniegue pues a esos dos dominios se
00:17:50
deniegue el acceso pues a esa regla a institutos entonces esto evita problemas de ips cambiantes
00:17:58
y bloqueo de sitios compartidos.
00:18:04
Con respecto a las expresiones regulares,
00:18:10
que les hemos visto anteriormente,
00:18:12
para bloquear las URLs que contengan ciertas palabras.
00:18:13
Entonces aquí veis, sería primero la palabra CL,
00:18:17
luego le pone el nombre de la CL, que va a ser casinos,
00:18:19
y posteriormente utiliza el parámetro URL-regs.
00:18:23
¿Qué nos está indicando aquí?
00:18:27
Pues que ahora lo que está añadiendo es una ruta
00:18:29
en el que contiene un fichero que sería palabras bloqueadas.
00:18:35
Ese fichero va a tener una serie de palabras en su interior.
00:18:38
Entonces, el archivo va a contener las palabras casino, juegos apuesta.
00:18:40
Entonces, ¿qué hace?
00:18:45
Estamos creando una ACL donde se llama casinos
00:18:46
y que bloquea las URLs que tengan o coincidan con expresiones regulares
00:18:49
definidas con el archivo de lo que hay dentro de palabras bloqueadas.
00:18:53
En cuanto a ACL por horarios, está claro.
00:19:00
En cuanto a la ACL por horario, tenemos que el ejemplo se hacía con el parámetro time, la llamada horario laboral, y aquí indica que tanto los lunes, los martes, los miércoles, los jueves y los viernes y de 9 a 7 y media.
00:19:03
¿Esto qué está haciendo? Está permitiendo, esto permite el acceso, a no ser que pongamos un HTTP access denied, el acceso solo de lunes a viernes y en un periodo de 9 a 7 y media.
00:19:16
Activación de ACLs con HTTP access.
00:19:29
Para permitir o denegar acceso con ACLs en SQL,
00:19:32
pues se usa el HTTP access.
00:19:34
Aquí tenemos estas tres reglas.
00:19:37
Tenemos HTTP access hello,
00:19:38
con el nombre de la lista que está permitiendo el acceso.
00:19:40
Hello es permitir en inglés.
00:19:43
HTTP access deny, en el que sería que lo bloquea, lo deniega.
00:19:45
Y aquí añadiendo también una determinada...
00:19:50
Este es un ejemplo con una determinada lista,
00:19:55
Pero si veis, ha puesto aquí una exclamación. Esto está diciendo que está permitiendo el acceso a todo, a excepción del aula 1. Por eso es la exclamación que lo que hace es negarlo.
00:19:57
Entonces aquí tenemos un ejemplo, está poniendo HTTP Access Denay, denegando a Aula 1, pero fuera de un horario laboral, porque está negando el horario laboral, está indicando que se denegará el acceso a la condición especificada.
00:20:09
Es una CLE en el que probablemente presenta las IPs o la red de un aula, que sería el de Aula 1, que habrá sido definido anteriormente.
00:20:29
Entonces, al negar con el símbolo de negación, de exclamación, el horario laboral, lo que indica es que la regla se aplicará fuera del horario laboral.
00:20:39
O sea, que está denegando a la IP del aula 1, le está denegando el que el acceso siempre fuera del horario laboral. Por tanto, dentro del horario laboral sí tendrá acceso.
00:20:49
en cuanto a las reglas finales en skid.conf
00:21:02
pues a decir que skid evalúa las reglas
00:21:08
esto es muy importante, las va a evaluar en orden de arriba a abajo
00:21:10
y aquí, si no hay coincidencia
00:21:13
continúa leyendo las reglas, pero
00:21:16
¿qué sucederá? cuando llega una regla en el que ya la cumple
00:21:19
ahí se para y no seguirá leyendo todas las demás
00:21:22
para evitar accesos indeseados
00:21:25
imaginaos que empieza a leer y no hemos dado con la regla
00:21:28
que queremos que, entonces, agrega al final siempre
00:21:32
un http access deny all
00:21:35
en el que lo que está diciendo es que deniegue todo
00:21:37
esta regla no es necesario que llegue, si llega
00:21:40
otra regla, el que era lo que nos interesaba y que estaba
00:21:44
antes de esta, hará esa y no seguirá leyendo
00:21:47
pero que sucede si no tenemos una regla
00:21:49
en el que la hemos configurado de manera
00:21:52
inadecuada, pues podrá llegar a esta línea
00:21:55
no coincidirá con ninguna, llegará a esta línea
00:21:59
y nos generará todo por defecto
00:22:00
bien, la ubicación
00:22:04
en el archivo de configuración
00:22:06
tenemos que
00:22:08
veis este comentario que aparece aquí
00:22:09
este comentario en el archivo marca el lugar
00:22:12
donde debes definir las reglas
00:22:14
cuando abráis el archivo de configuración
00:22:16
el script.conf
00:22:18
pondrá una línea
00:22:20
donde comentada con la almohadilla
00:22:22
en el que pone insert your own rules
00:22:24
en el que aquí es donde
00:22:27
Podréis poner vuestras reglas
00:22:28
Cualquier regla que pongas antes
00:22:31
Va a ser ignorada
00:22:32
Por las reglas preexistentes
00:22:34
Entonces el orden es clave en Skid
00:22:36
Ya que las reglas se procesarán de arriba a abajo
00:22:38
Conclusión, las ACLs permiten
00:22:41
Un control preciso
00:22:45
Del acceso en Skid
00:22:46
Se pueden definir filtros por IP
00:22:48
Dominio, URL o tiempo
00:22:50
La combinación de ACLs y HTTP Access
00:22:52
Proporciona seguridad y flexibilidad
00:22:55
Y es importante organizar las reglas
00:22:57
adecuadamente para evitar errores.
00:22:59
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Autor/es:
- Francisco J. González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 28 de febrero de 2026 - 19:14
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 23′ 09″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 377.52 MBytes