Cómo instalar el servidor proxy Squid en Ubuntu 20.04

Compruebe el proxy de calamar

Squid es una aplicación de proxy basada en Linux con todas las funciones que se utiliza principalmente para filtrar el tráfico, la seguridad y las búsquedas de DNS. También se utiliza para mejorar el rendimiento del servidor web mediante el almacenamiento en caché de recursos. En términos simples, un servidor Squid es una computadora que actúa como intermediario entre una computadora de escritorio e Internet que redirige las solicitudes entrantes de los clientes a un servidor donde se almacenan los datos para facilitar su recuperación. Admite varios protocolos, incluidos HTTP, FTP, TLS, SSL, Internet Gopher y HTTPS.

En este tutorial, le mostraremos cómo instalar y configurar el servidor proxy Squid en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Se configura una contraseña de root en el servidor.

Empezando

Antes de comenzar, deberá actualizar los paquetes de su sistema a la última versión. Puede actualizarlos con el siguiente comando:

apt-get update -y

Una vez que todos los paquetes estén actualizados, reinicie su sistema para aplicar los cambios.

Instalar proxy de calamar

De forma predeterminada, el paquete Squid está disponible en el repositorio predeterminado de Ubuntu 20.04. Puedes instalarlo usando el siguiente comando:

apt-get install squid -y

Una vez que Squid está instalado, puede verificar el estado del servicio Squid con el siguiente comando:

systemctl status squid

Deberías obtener el siguiente resultado:

? squid.service - Squid Web Proxy Server
     Loaded: loaded (/lib/systemd/system/squid.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 12:00:24 UTC; 11s ago
       Docs: man:squid(8)
    Process: 49265 ExecStartPre=/usr/sbin/squid --foreground -z (code=exited, status=0/SUCCESS)
    Process: 49282 ExecStart=/usr/sbin/squid -sYC (code=exited, status=0/SUCCESS)
   Main PID: 49283 (squid)
      Tasks: 4 (limit: 2353)
     Memory: 16.4M
     CGroup: /system.slice/squid.service
             ??49283 /usr/sbin/squid -sYC
             ??49285 (squid-1) --kid squid-1 -sYC
             ??49287 (logfile-daemon) /var/log/squid/access.log
             ??49288 (pinger)

Aug 23 12:00:24 ubuntu2004 squid[49285]: Max Swap size: 0 KB
Aug 23 12:00:24 ubuntu2004 squid[49285]: Using Least Load store dir selection
Aug 23 12:00:24 ubuntu2004 squid[49285]: Set Current Directory to /var/spool/squid
Aug 23 12:00:24 ubuntu2004 squid[49285]: Finished loading MIME types and icons.
Aug 23 12:00:24 ubuntu2004 squid[49285]: HTCP Disabled.
Aug 23 12:00:24 ubuntu2004 squid[49285]: Pinger socket opened on FD 14
Aug 23 12:00:24 ubuntu2004 squid[49285]: Squid plugin modules loaded: 0
Aug 23 12:00:24 ubuntu2004 squid[49285]: Adaptation support is off.
Aug 23 12:00:24 ubuntu2004 squid[49285]: Accepting HTTP Socket connections at local=[::]:3128 remote=[::] FD 12 flags=9
Aug 23 12:00:25 ubuntu2004 squid[49285]: storeLateRelease: released 0 objects

De forma predeterminada, Squid escucha en el puerto 3128. Puede verificarlo con el siguiente comando:

netstat -plunt | grep 3128

Debería ver el siguiente resultado:

tcp6       0      0 :::3128                 :::*                    LISTEN      50017/(squid-1)

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar la autenticación basada en IP

Hay varias formas de restringir el acceso del cliente a Internet. En esta sección, configuraremos Squid para que se autentique según la dirección IP del Cliente.

Puede hacerlo editando el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Agregue la siguiente línea al principio del archivo:

acl client1 src 192.168.10.10
acl client2 src 192.168.10.11
http_access allow client1 client2

Guarde y cierre el archivo cuando haya terminado. Luego reinicie el servicio Squid para aplicar los cambios:

systemctl restart squid

Dónde:

  • cliente1 y cliente2 es el nombre que identificó los equipos cliente.
  • 192.168.10.10 y 192.168.10.11 es la dirección IP del equipo cliente.

Ahora, solo las computadoras que están configuradas con IP 192.168.10.10 y 192.168.10.11 pueden acceder a Internet.

Configurar la autenticación basada en el usuario

También puede configurar Squid para autenticarse según el usuario y la contraseña. Para hacerlo, deberá instalar el paquete Apache utils en su sistema.

Ejecute el siguiente comando para instalar el paquete de utilidades de Apache:

apt install apache2-utils -y

Una vez instalado, crea un primer usuario con el siguiente comando:

htpasswd /etc/squid/passwd client1

Se le pedirá que establezca una contraseña como se muestra a continuación:

New password: 
Re-type new password: 
Adding password for user client1

A continuación, cree un segundo usuario con el siguiente comando:

htpasswd /etc/squid/passwd client2

Configure su contraseña como se muestra a continuación:

New password: 
Re-type new password: 
Adding password for user client2

A continuación, puede verificar a ambos usuarios con el siguiente comando:

cat /etc/squid/passwd

Deberías obtener el siguiente resultado:

client1:$apr1$CPlx8eVt$NJq3CT/hzfDCnAZRypIq5/
client2:$apr1$XYxQ2npc$IW0Nqjp15O5WYCo/wCFlB0

A continuación, abra el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Elimine las primeras tres líneas que agregó en la sección anterior y agregue las siguientes líneas al comienzo del archivo:

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Guarde y cierre el archivo. Luego, reinicie el servicio de proxy Squid para aplicar los cambios:

systemctl restart squid

Ahora, deberá proporcionar un nombre de usuario y una contraseña para acceder a Internet.

Configurar la autenticación combinada

También puede configurar un Squid para autenticar a un cliente según la dirección IP y el nombre de usuario/contraseña.

Abra el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Encuentre las siguientes líneas que ha agregado en la sección anterior:

auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow ncsa_users

Y reemplácelos con las siguientes líneas:

acl client1 src 192.168.10.10
acl client2 src 192.168.10.11
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid/passwd
acl ncsa_users proxy_auth REQUIRED
http_access allow client1 client2 ncsa_users

Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio Squid para aplicar los cambios:

systemctl restart squid

Configurar Squid para anonimizar el tráfico

A continuación, deberá agregar algunas reglas para enmascarar las direcciones IP de los clientes de los servidores que reciben tráfico de su proxy Squid HTTP.

Puede hacerlo editando el archivo de configuración predeterminado de Squid:

nano /etc/squid/squid.conf

Agregue las siguientes líneas al principio del archivo:

forwarded_for off
request_header_access Allow allow all
request_header_access Authorization allow all
request_header_access WWW-Authenticate allow all
request_header_access Proxy-Authorization allow all
request_header_access Proxy-Authenticate allow all
request_header_access Cache-Control allow all
request_header_access Content-Encoding allow all
request_header_access Content-Length allow all
request_header_access Content-Type allow all
request_header_access Date allow all
request_header_access Expires allow all
request_header_access Host allow all
request_header_access If-Modified-Since allow all
request_header_access Last-Modified allow all
request_header_access Location allow all
request_header_access Pragma allow all
request_header_access Accept allow all
request_header_access Accept-Charset allow all
request_header_access Accept-Encoding allow all
request_header_access Accept-Language allow all
request_header_access Content-Language allow all
request_header_access Mime-Version allow all
request_header_access Retry-After allow all
request_header_access Title allow all
request_header_access Connection allow all
request_header_access Proxy-Connection allow all
request_header_access User-Agent allow all
request_header_access Cookie allow all
request_header_access All deny all

Guarde y cierre el archivo cuando haya terminado, luego reinicie el servicio Squid para aplicar los cambios:

systemctl restart squid

Verificar proxy de calamar

A continuación, deberá definir su servidor Proxy en su navegador web Mozilla.

Vaya al sistema cliente, abra el navegador web Mozilla y haga clic en el Editar => preferencias Como se muestra abajo:

Compruebe el proxy de calamar

Haga clic en el La red Ajustes sección y haga clic en el Ajustes. Deberías ver la siguiente página:

Configuración del servidor proxy

Selecciona el Manual apoderado configuración botón de opción, ingrese la dirección IP de su servidor Squid en el campo HTTP Host y 3128 en el campo Puerto y seleccione la casilla de verificación Usar este servidor proxy para todos los protocolos y haga clic en el OK botón para guardar la configuración.

Ahora, su navegador está configurado para navegar por Internet a través del proxy Squid.

Para verificarlo, escriba la URL https://www.whatismyip.com/. Se le pedirá que proporcione un nombre de usuario y una contraseña como se muestra a continuación:

Autenticarse en el servidor proxy

Proporcione su nombre de usuario y contraseña del servidor proxy Squid que ha creado anteriormente y haga clic en el OK botón. Deberías ver la siguiente página:

Sitio web de Axxess a través del proxy squid

En la página anterior, debería ver la dirección IP de su servidor Squid en lugar de la dirección IP de su computadora cliente.

Conclusión

¡Felicidades! Ha instalado y configurado con éxito el servidor proxy Squid en el servidor Ubuntu 20.04. También puede configurar el proxy Squid para restringir el sitio web específico según la palabra, el dominio y las direcciones IP. Para obtener más información, visite el sitio web oficial de Squid. documentación.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *