LinuxParty
En la siguiente entrada os explicaremos la utilidad y el funcionamiento de un Proxy de red, así como la instalación y configuración de Squid en una maquina Linux.
Un proxy es una programa o dispositivo informático que actúa como intermediario,es decir,una máquina solicita un determinado recurso a una tercera máquina, lo hará a través de una petición una máquina intermedia, lo que conllevará que la tercera máquina no sabrá que la petición proviene originalmente de la primera máquina. La principal utilidad dada a esta máquina intermedia es suportar una seria de utilidades: control de acceso, registro de tráfico,prohibir determinado tipo de tráfico…
La finalidad más habitual de un servidor proxy es interceptar las conexiones de red que un cliente hace a un servidor de destino, por varios motivos posibles como seguridad, rendimiento, anonimato, etc. Esta función de servidor proxy puede ser realizada por un programa o dispositivo.
Squid consiste de un programa principal como servidor, un programa para búsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticación y algunas herramientas para administración y herramientas para clientes. Al iniciar Squid da origen a un número configurable de procesos de búsqueda en servidores DNS, cada uno de los cuales realiza una búsqueda única en servidores DNS, reduciendo la cantidad de tiempo de espera para las búsquedas en servidores DNS.
En primer lugar tenemos que instalar Squid.
apt-get install squid |
Realizada la instalación Squid nos proveerá de un archivo de configuración alojado en /etc/squid/squid.conf. Este archivo contiene la información de toda la configuración de squid. Por lo que crearemos una copia de seguridad de dicho archivo.
|
1
|
cp /etc/squid/squid.conf /etc/squid/squid.conf.backup |
A continuación modificamos el archivo squid.conf dejándolo con el siguiente contenido:
|
|
http_port 3128 transparentcache_mem 100 MBcache_dir ufs /var/spool/squid 150 16 256acl red_local src 10.10.10.0/24acl localhost src 127.0.0.1/32acl all src allhttp_access allow localhosthttp_access allow red_local |
Configuramos la iptables para que tengamos acceso a internet a través del proxy:
|
|
iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to 192.168.1.1iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 |
Para que Squid coja esta nueva configuración tenemos que recargar la configuración como sigue:
squid -k reconfigure |
Recuerdes que está configuración de proxy transparente solo sirve para almacenar en la caché y agilizar la navegación por Internet. A continuación explicaremos diversas reglas para restringir el acceso.
Restricción de acceso por horarios
Editar el archivo /etc/squid/squid.conf.
|
|
nano /etc/squid/squid.conf |
Sintaxis de Listas de Control de Acceso(acl) que definan horarios.
acl [nombre] time [días de la semana] hh:mm-hh:mm |
Los días de la semana se definen con la letra inicial del nombre del mismo en inglés. Como se muestra a continuación:
- S – Domingo
- M – Lunes
- T – Martes
- W – Miércoles
- H – Jueves
- F – Viernes
- A – Sábado
Ejemplo de una lista, denominada laboral, que comprende un horario de 09:00-21:00 de Lunes a Viernes.
acl laboral time MTWHF 09:00-21:00 |
Este tipo de listas se aplican en las Reglas de Control de Acceso con una mecánica similar a la siguiente:
http_access [allow | deny] [nombre del horario] [lista de entidades] |
A continuación mostramos un ejemplo en el cual los miembros de la Lista de Control de Acceso denominada localnet tengan permitido el acceso a Internet en un horario que denominaremos mañana y comprende de Lunes a Viernes de 08:00-15:00 horas.
Definimos el horario:
acl localnet src 192.168.1.0/24 |
acl mañana time MTWHF 08:00-15:00 |
Definimos la Regla de Control de Acceso:
http_access allow mañana localnet |
En resumen los miembros de localnet podrán acceder a Internet de Lunes a Viernes de 08:00 a 15:00.

-
Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Configuración paso a paso de una NAT con los iptables
- Snort para Windows, detección de Intrusos y seguridad.
- Detectar ROOTKITS en Linux
- 20 Ejemplos IPTables para nuevos Administradores de Sistemas
- IPTABLES para evitar ataques de Denegación de Servicio (DDoS)
- mod_security y mod_evasive en Linux para CentOS / RedHat
- Un Windows XP sin protección y conectado a Internet: el experimento que demuestra por qué no deberías hacerlo
- Contraseñas Aleatorias en Internet: Cómo Crear Claves Seguras Sin Complicarte
- DuckDuckGo ahora te permite ocultar imágenes generadas por IA en los resultados de búsqueda
- El analizador de protocolos de red de código abierto Wireshark 4.4.8 actualiza la compatibilidad de protocolos
- GNU Screen para los que les gustan la Paranoia del logeo.




Comentarios
estoy tratando de implementar un servidor Proxy Squid
en Centos7 pero en mi caso. las búsquedas se están haciendo un poco lentas. y he visto que eso se puede solucionar configurando los DNS, pero no entiendo si los DNS se especifican en el archivo squid.confg o debo instalar bind para poder realizar toda la configuración.. .