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 transparent cache_mem 100 MB cache_dir ufs /var/spool/squid 150 16 256 acl red_local src 10.10.10.0 /24 acl localhost src 127.0.0.1 /32 acl all src all http_access allow localhost http_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.1 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128 iptables -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
- Conexión Segura NFS en Linux, Tunelizar NFS sobre SSH y Configuración de NFS sobre SSH para Mayor Seguridad
- Utilizar ssh sin contraseña con ssh-keygen y ssh-copy-id
- Millones de teléfonos móviles podrían ser vulnerables a la vigilancia del gobierno chino
- Cómo limitar las conexiones SSH a la red local en Linux
- Los televisores inteligentes son como un «caballo de Troya digital» en los hogares
- Snort para Windows, detección de Intrusos y seguridad.
- Detección de Intrusiones con las herramientas: BASE y Snort.
- El Sistema de Detección de Intrusos: Snort. ( Windows y Linux )
- Configuración con Ejemplos de Snort para Windows, detección de intrusiones
- ¿El gobierno de EE. UU. ignoró la oportunidad de hacer que TikTok fuera más seguro?
- ¿Qué es SSH y cómo se utiliza? Los conceptos básicos de Secure Shell que necesitas saber
- Asegurar memcached del servidor, para evitar amplificar ataques DDoS
- Consejos de Seguridad para Pagos Móviles en España: Protege tus Transacciones con Estos Consejos Prácticos
- 22 herramientas de seguridad de servidores Linux de código abierto en 2023
- 8 hábitos que deben tomar los teletrabajadores altamente seguros
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.. .