
Configurar El Servidor Proxy Squid En Ubuntu
A continuación te hablaremos claramente sobre Cómo Configurar El Servidor Proxy Squid En Ubuntu. Servidor Squid y su instalación en el sistema Linux. En este post, vamos a seguir para configurar el servidor proxy Squid paso a paso y con imágenes que lo harán todo más fácil, continuemos.
- Requisitos previos
- Cómo Configurar El Servidor Proxy Squid En Ubuntu
- Configurar Squid para que escuche en un puerto diferente
- Configurar el nombre de host para el servidor proxy Squid
- Configurar el tamaño de la memoria caché de Squid
- Especificación de los servidores de nombres DNS a utilizar
- Controlando el acceso al servidor proxy
- Configuración de las fuentes proxy para acceder a Internet
- Negar el acceso a ciertos sitios web en el servidor proxy Squid
- Configuración de la autenticación del cliente proxy Squid
- Configuración de los clientes para conectarse a través del servidor proxy Squid
Requisitos previos
- Máquina con Ubuntu o Debian instalado
- Usuario Sudo
Nota: Los comandos y procedimientos discutidos en este artículo han sido probados en Ubuntu 20.04 LTS (Focal Fossa). Los mismos comandos y procedimientos son también válidos para la distribución Debian.
Cómo Configurar El Servidor Proxy Squid En Ubuntu
El archivo de configuración del servidor proxy Squid se encuentra en /etc/squid/squid.conf.list. Este archivo contiene directivas a través de las cuales se configura el servidor proxy Squid.
Configurar Squid para que escuche en un puerto diferente
Por defecto, el servidor proxy Squid escucha en el puerto 3128 para el tráfico procedente de las máquinas cliente. Sin embargo, puedes configurarlo para que escuche en algún puerto diferente al predeterminado utilizando la directiva http_port.
Edita la configuración de Squid usando el siguiente comando:
Mira También
$ sudo nano /etc/squid/squid.conf
Ahora encuentra la siguiente entrada en el archivo de configuración.
Nota: Puede usar Ctrl+W para buscar cualquier línea. Presione Ctrl+W, escriba las palabras clave y presione Enter.
http_port 3128
Ahora reemplaza 3128 con el número de puerto que quieres que el servidor proxy Squid escuche, digamos 3155:
http_port 3155
Ahora, reinicia el servicio del servidor proxy Squid para que los cambios surtan efecto:
$ sudo service squid restart
Configurar el nombre de host para el servidor proxy Squid
Puedes configurar el nombre de host para el servidor proxy Squid si no puedes determinar el nombre de host de la máquina por sí mismo. Para configurar el nombre de host, puedes utilizar la directiva visible_hostname. Este nombre es utilizado por Squid en los mensajes de error, URLs internas, listados de directorios FTP, etc.
Mira También
Edita la configuración de Squid usando el siguiente comando:
$ sudo nano /etc/squid/squid.conf
Ahora añade la siguiente entrada en el archivo de configuración sustituyendo <nombre_de_host> por cualquier nombre que quieras establecer como nombre de host para el servidor proxy Squid. No es necesario utilizar el nombre real de tu sistema.
visible_hostname <host_name>
Por ejemplo, para establecer "Linux" como nombre de host del servidor proxy Squid, la entrada sería:
visible_hostname linux
Una vez que hayas terminado con las configuraciones, guarda y sal del archivo de configuración.
Ahora, reinicia el servicio proxy Squid para que los cambios de configuración surtan efecto.
Mira También
$ sudo service squid restart
En caso de que el cliente Squid reciba alguna página de error, verás el nombre de host listado en la parte inferior de la página web.
Configurar el tamaño de la memoria caché de Squid
Squid almacena en caché el contenido visitado con frecuencia en la memoria. El tamaño por defecto de la memoria caché de Squid es de 256 MB. Para cambiar el tamaño de la memoria caché de Squid, se utiliza la directiva cache_mem.
Edita el archivo de configuración utilizando el siguiente comando:
$ sudo nano /etc/squid/squid.conf
A continuación, busca la siguiente entrada en el archivo de configuración y sustituye 256 por la cantidad a establecer para el tamaño de la memoria caché.
cache_mem 256 MB
Por ejemplo, para establecer el tamaño de la caché a 512 MB, la entrada se cambiaría a:
Mira También
cache_mem 512 MB
Una vez que hayas terminado con las configuraciones, guarda y sal del archivo de configuración.
Ahora, reinicia el servicio squid para aplicar los cambios:
$ sudo service squid restart
Especificación de los servidores de nombres DNS a utilizar
Por defecto, Squid utiliza /etc/resolv.conf para resolver los nombres de dominio. Si deseas que Squid utilice un servidor de nombres diferente, puede hacerlo utilizando la directiva dns_nameservers. Edita la configuración de Squid usando el siguiente comando:
$ sudo nano /etc/squid/squid.conf
Ahora agrega la siguiente entrada en el archivo de configuración reemplazando:
dns_nameservers <IP address of DNS server>
Por ejemplo, para establecer 8.8.4.4 como servidores de nombres, la entrada sería:
dns_nameservers 8.8.8.8 8.8.4.4
Una vez que hayas terminado con las configuraciones, guarda y sal del archivo.
Ahora, reinicia el servicio squid para aplicar los cambios:
$ sudo service squid restart
Controlando el acceso al servidor proxy
Continúa leyendo y mira como hacerlo.
Cómo funcionan las ACL de Squid
Para el control de acceso, las ACL se utilizan en combinación con la directiva de control de acceso. Las ACL por sí solas no sirven de nada, solo ayudan a identificar las peticiones de los usuarios basándose en varias reglas. Para permitir o denegar el acceso, se combinan con la directiva http_access.
Para definir ACL, la sintaxis es:
acl NAME TYPE value
Ejemplo: Permitir el tráfico de la LAN a través del servidor proxy Squid
Para permitir el tráfico proveniente de la LAN 192.168.5.0/24, necesitaremos crear una regla ACL en el archivo de configuración de Squid:
acl myacl src 192.168.5.0/24
Una vez definida la ACL, puedes utilizar la directiva http_access para permitir/denegar el acceso. Esta es la sintaxis de la directiva http_access:
http_access allow|deny NAME
Donde NOMBRE identifica el tráfico al que se quiere permitir/denegar el acceso.
Para permitir el tráfico identificado en la ACL, tendrás que añadir la siguiente directiva http_access en el archivo de configuración de Squid:
http_access allow myacl
Configuración de las fuentes proxy para acceder a Internet
En primer lugar, configuraremos las fuentes a las que queremos permitir el acceso a internet a través del servidor proxy. Por ejemplo, es posible que quieras permitir el acceso al servidor proxy solo desde la red interna.
1. Para configurar las fuentes permitidas, edita el archivo de configuración de Squid:
$ sudo nano /etc/squid/squid.conf
2. Ahora, busca la entrada acl localnet src.
Nota: Para buscar una entrada en el editor Nano, pulsa Ctrl+w y escribe la expresión que deseas buscar. En el caso del ejemplo anterior, pulse Ctr+w y escribe acl localnet src como se muestra en la siguiente captura de pantalla.
3. Aquí, verás el número de entradas para diferentes rangos de direcciones IP. Aquí, añade una entrada para tu red como se muestra a continuación:
acl localnet src subnet_ID/subnet_mask
Por ejemplo, tu red local funciona en la subred 192.168.72.0/24. En este caso, la entrada sería:
acl localnet src 192.168.72.0/255.255.255.0
4. Ahora, utilizando la directiva http_access, permita las fuentes identificadas por la acl llamada localnet definida anteriormente. La directiva http_access ya está definida en el configurado, solo hay que buscarla y descomentarla.
Busca la entrada #http_access allow localnet y luego descomente quitando el carácter #.
http_access allow localnet
Ahora guarda y sal del archivo de configuración de squid.
3. Ahora, reinicia el servicio squid usando el siguiente comando:
$ sudo service squid restart
Negar el acceso a ciertos sitios web en el servidor proxy Squid
Para denegar el acceso a algunos sitios web en el servidor proxy Squid, crea un archivo y liste todos los sitios web a los que quieres denegar el acceso.
$ sudo nano /etc/squid/deniedsites.acl
Ahora liste los sitios a los que quiere negar el acceso y luego guarda y sal del archivo.
...
.msn.com
.yahoo.com
.bbc.com
...
A continuación, edita el archivo de configuración de Squid utilizando el siguiente comando:
$ sudo nano /etc/squid/squid.conf
Ahora cree una regla ACL para los sitios web denegados y menciona el archivo que contiene la lista de sitios web denegados.
acl denied_sites dstdomain “/etc/squid/deniedsites.acl”
La regla ACL denied_sites coincidirá con todas las solicitudes destinadas a los sitios web enumerados en el archivo "/etc/squid/deniedsites.acl".
Ahora tendrás que añadir la directiva http_access para denegar los sitios web identificados por la regla ACL anterior denominada denied_sites. Añade la siguiente línea en el archivo de configuración de Squid:
http_access deny denied_sites
Una vez que hayas terminado con las configuraciones, guarda y sal del archivo.
Ahora, reinicia el servicio Squid usando el siguiente comando:
$ sudo service squid restart
Configuración de la autenticación del cliente proxy Squid
Con el servidor proxy Squid, podemos añadir una autenticación básica basada en el usuario para tener algo de seguridad. Para ello, utilizaremos el programa htpasswd que viene con el servidor HTTP Apache. Luego crearemos un archivo que contendrá nombres de usuario y contraseñas para la autenticación.
1. Primero, tendremos que instalar Apache2-utils. Utiliza el siguiente comando para hacerlo:
$ apt install -y apache2-utils
2. Ahora crea el archivo passwd en el directorio /etc/squid para almacenar las contraseñas:
$ touch /etc/squid/passwd
3. Utiliza el siguiente comando para establecer la propiedad al usuario "proxy":
$ chown proxy: /etc/squid/passwd
4. Ahora añade un usuario en el archivo /etc/squid/passwd:
htpasswd /etc/squid/passwd tin
Escribe una contraseña y confírmala volviendo a introducirla. Ahora el usuario y tu contraseña cifrada se guardarán en el archivo /etc/squid/passwd.
5. Edita el archivo /etc/squid/squid.conf utilizando el siguiente comando:
$ sudo nano /etc/squid/squid.conf
Ahora agrega las siguientes líneas en el archivo:
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwdauth_param basic children 5 auth_param basic realm Squid Basic Authentication auth_param basic credentialsttl 2 hours acl auth_users proxy_auth REQUIRED http_access allow auth_users Once you are done with the configurations, save and exit the configuration file.
Configuración de los clientes para conectarse a través del servidor proxy Squid
En esta sección, configuraremos los clientes para que se conecten a través del servidor proxy Squid.
1. Abre un navegador web en tu sistema. Aquí usaremos el navegador Firefox.
2. Ve a la esquina superior derecha de tu navegador y haz clic en el icono de las tres barras horizontales. A continuación, haz clic en Opciones.
3. A continuación, en la barra de búsqueda, escribe red. Cuando aparezca el resultado de la búsqueda, haz clic en Configuración como se puede ver en la siguiente captura de pantalla.
4. Selecciona el botón de la opción Configuración manual del proxy. A continuación, escribe la dirección IP del servidor proxy Squid en el campo Proxy HTTP y el número de puerto en el campo Puerto. Además, marque la casilla Utilizar también este proxy para FTP y HTTPS. A continuación, haz clic en Aceptar.
Ahora, para comprobar si el servidor Squid está funcionando, intenta acceder a cualquier sitio web en tu navegador. Verás un diálogo de autenticación. Introduce el nombre de usuario y la contraseña de Squid que ha creado antes y haz clic en Aceptar.
Ahora deberías poder acceder al sitio web solicitado.
Ahora intenta acceder a otro sitio web que hayas bloqueado usando la lista de acceso. El navegador mostrará la siguiente página diciendo "El servidor proxy está rechazando las conexiones".
Eso es todo. En este artículo, has aprendido a configurar el servidor proxy Squid en un sistema Linux. Solo hemos discutido las configuraciones básicas. Hay mucho más que puedes hacer con el servidor proxy Squid.
Deja una respuesta
►TAMBIÉN DEBERÍAS LEER...