GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar y configurar Squid Proxy en Debian 10 Linux

Squid es un proxy de almacenamiento en caché con todas las funciones que admite protocolos de red populares como HTTP, HTTPS, FTP y más. Se puede utilizar para mejorar el rendimiento del servidor web mediante el almacenamiento en caché de solicitudes repetidas, el filtrado del tráfico web y el acceso a contenido restringido geográficamente.

En este tutorial, explicaremos cómo configurar un Squid Proxy en Debian Buster. También le mostraremos cómo configurar los navegadores web Firefox y Google Chrome para usarlo.

Instalando Squid en Debian #

El paquete Squid está incluido en el estándar en los repositorios de Debian 10. Ejecute los siguientes comandos como usuario sudo para instalar Squid:

sudo apt updatesudo apt install squid

Una vez completada la instalación, el servicio Squid se iniciará automáticamente.

Verifique que la instalación se haya realizado correctamente y que el servicio Squid se esté ejecutando comprobando el estado del servicio Squid:

sudo systemctl status squid
● squid.service - LSB: Squid HTTP Proxy version 3.x
   Loaded: loaded (/etc/init.d/squid; generated)
   Active: active (running) since Sat 2019-08-03 08:52:47 PDT; 3s ago
...

Configurando Squid #

Squid se puede configurar editando /etc/squid/squid.conf archivo de configuración. Se pueden incluir archivos de configuración separados utilizando la directiva "incluir".

El squid.conf El archivo de configuración incluye comentarios que describen lo que hace cada opción de configuración.

Antes de realizar cualquier cambio, siempre es una buena idea hacer una copia de seguridad del archivo original:

sudo cp /etc/squid/squid.conf{,.orginal}

Para modificar la configuración, abra el archivo en su editor de texto:

sudo nano /etc/squid/squid.conf

Por defecto, Squid escucha en el puerto 3128 en todas las interfaces de red.

Si desea cambiar el puerto y establecer una interfaz de escucha, busque la línea que comienza con http_port y especifique la dirección IP de la interfaz y el nuevo puerto. Si no se especifica ninguna interfaz, Squid escuchará en todas las interfaces.

/etc/squid/squid.conf
# Squid normally listens to port 3128
http_port IP_ADDR:PORT

Ejecutar Squid en todas las interfaces y en el puerto predeterminado debería estar bien para la mayoría de los usuarios.

Las Listas de control de acceso (ACL) le permiten controlar cómo los clientes pueden acceder a los recursos web. De forma predeterminada, Squid permite el acceso solo desde el servidor local.

Si todos los clientes que utilizarán el proxy tienen una dirección IP estática, la opción más sencilla es crear una ACL que incluya las IP permitidas.

En lugar de agregar las direcciones IP en el archivo de configuración principal, crearemos un nuevo archivo de inclusión que almacenará las direcciones IP:

/etc/squid/allowed_ips.txt
192.168.33.1
# All other allowed IPs

Una vez hecho esto, abra el archivo de configuración principal y cree una nueva ACL llamada allowed_ips (primera línea resaltada) y permita el acceso a esa ACL usando el http_access directiva (segunda línea resaltada):

/etc/squid/squid.conf
# ...
acl allowed_ips  src "/etc/squid/allowed_ips.txt"
# ...
#http_access allow localnet
http_access allow localhost
http_access allow allowed_ips
# And finally deny all other access to this proxy
http_access deny all

El orden del http_access reglas es importante. Asegúrese de agregar la línea antes de http_access deny all .

El http_access La directiva funciona de manera similar a las reglas del cortafuegos. Squid lee las reglas de arriba a abajo, y cuando una regla coincide, las siguientes reglas no se procesan.

Cada vez que realice cambios en el archivo de configuración, debe reiniciar el servicio Squid para que los cambios surtan efecto:

sudo systemctl restart squid

N.º de autenticación de Squid

Squid puede usar diferentes back-ends, incluidos Samba, LDAP y autenticación básica HTTP para usuarios autenticados.

En este ejemplo, configuraremos Squid para usar autenticación básica. Es un método de autenticación simple integrado en el protocolo HTTP.

Usaremos el openssl utilidad para generar las contraseñas y agregar el username:password empareje con /etc/squid/htpasswd archivo con la tee comando como se muestra a continuación:

printf "USERNAME:$(openssl passwd -crypt PASSWORD)\n" | sudo tee -a /etc/squid/htpasswd

Vamos a crear un usuario llamado “buster” con contraseña “Sz$Zdg69 ":

printf "buster:$(openssl passwd -crypt 'Sz$Zdg69')\n" | sudo tee -a /etc/squid/htpasswd
buster:RrvgO7NxY86VM

El siguiente paso es habilitar la autenticación básica HTTP. Abra la configuración principal y agregue lo siguiente:

/etc/squid/squid.conf
# ...
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/htpasswd
auth_param basic realm proxy
acl authenticated proxy_auth REQUIRED
# ...
#http_access allow localnet
http_access allow localhost
http_access allow authenticated
# And finally deny all other access to this proxy
http_access deny all

Las primeras tres líneas resaltadas están creando una nueva ACL llamada authenticated y la última línea resaltada permite el acceso a usuarios autenticados.

Reinicie el servicio Squid:

sudo systemctl restart squid

Configurando cortafuegos #

Los usuarios de UFW pueden abrir el puerto 3128 al habilitar el perfil 'Squid':

sudo ufw allow 'Squid'

Si está utilizando nftables para filtrar las conexiones a su sistema, abra los puertos necesarios emitiendo el siguiente comando:

sudo nft add rule inet filter input tcp dport 3128 ct state new,established counter accept
Si Squid se ejecuta en otro puerto no predeterminado, deberá permitir el tráfico en ese puerto.

Configurando su navegador para usar Proxy #

En esta sección le mostraremos cómo configurar su navegador para usar el proxy Squid.

Firefox #

Los pasos a continuación son los mismos para Windows, macOS y Linux.

  1. En la esquina superior derecha, haz clic en el ícono de la hamburguesa para abrir el menú de Firefox:

  2. Haz clic en ⚙ Preferences enlace.

  3. Desplácese hacia abajo hasta Network Settings y haz clic en Settings... botón.

  4. Se abrirá una nueva ventana.

    • Seleccione la Manual proxy configuration botón de opción.
    • Ingrese la dirección IP de su servidor Squid en el HTTP Host campo y 3128 en el Port campo.
    • Seleccione Use this proxy server for all protocols casilla de verificación.
    • Haga clic en OK botón para guardar la configuración.

En este punto, su Firefox está configurado y puede navegar por Internet a través del proxy Squid. Para verificarlo, abre google.com , escriba "cuál es mi IP" y debería ver la dirección IP de su servidor Squid.

Para volver a la configuración predeterminada, vaya a Network Settings , seleccione Use system proxy settings botón de opción y guarde la configuración.

También hay varios complementos que pueden ayudarte a configurar los ajustes de proxy de Firefox, como FoxyProxy.

Google Chrome #

Google Chrome utiliza la configuración de proxy del sistema predeterminada. En lugar de cambiar la configuración del proxy de su sistema operativo, puede usar un complemento como SwitchyOmega o iniciar el navegador web Chrome desde la línea de comandos.

Para iniciar Chrome usando un nuevo perfil y conectarse al servidor Squid, use el siguiente comando:

Linux:

/usr/bin/google-chrome \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

macOS:

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
    --user-data-dir="$HOME/proxy-profile" \
    --proxy-server="http://SQUID_IP:3128"

Windows:

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" ^
    --user-data-dir="%USERPROFILE%\proxy-profile" ^
    --proxy-server="http://SQUID_IP:3128"

El perfil se creará automáticamente si no existe. De esta forma, puede ejecutar varias instancias de Chrome al mismo tiempo.

Para confirmar que el servidor proxy funciona correctamente, abre google.com , y escriba "cuál es mi ip". La IP que se muestra en su navegador debe ser la dirección IP de su servidor.


Debian
  1. Cómo instalar y configurar Squid Proxy en Ubuntu 18.04

  2. Cómo instalar y configurar ZFS en Linux usando Debian Jessie 8.1

  3. Cómo instalar y configurar docker en Debian 11

  4. Cómo instalar y configurar Squid Proxy en Debian 11

  5. Cómo instalar y configurar Squid Proxy en Rocky Linux/Alma Linux 8

Cómo instalar y configurar Monit en Debian 9

Cómo instalar y configurar Squid Proxy en Ubuntu, Linux Mint

Cómo instalar y configurar Nagios en Linux

Cómo instalar y configurar Samba en Debian 11

Cómo instalar y configurar Git en Debian 11

Cómo instalar y configurar Squid Proxy en el sistema Linux