Como crear tu servidor proxy

A continuación expongo las instrucciones necesarias para configurar un servidor proxy utilizando Squid en Ubuntu Server y AlmaLinux.

Paso 1: Preparar el servidor

Actualizar el sistema

Ubuntu Server:

sudo apt update
sudo apt upgrade -y

AlmaLinux:

sudo dnf update -y

Paso 2: Instalar Squid

Ubuntu Server

sudo apt install squid -y

AlmaLinux

sudo dnf install squid -y

Paso 3: Configurar Squid

  1. Abre el archivo de configuración de Squid:
sudo nano /etc/squid/squid.conf
  1. Configura las directivas básicas de Squid:

Busca y modifica las siguientes directivas para adaptarlas a tus necesidades:

# Puerto en el que escucha Squid (puedes cambiarlo si es necesario)
http_port 3128

# Permitir acceso local (esto permite que cualquier dirección IP pueda acceder al proxy)
acl localnet src 0.0.0.0/0

# Configura la política de acceso
http_access allow localnet
http_access allow localhost
http_access deny all
  1. Guarda y cierra el archivo.

Paso 4: Configurar las reglas del firewall

Ubuntu Server

  1. Permitir el puerto de Squid en UFW (Uncomplicated Firewall):
sudo ufw allow 3128/tcp
sudo ufw reload

AlmaLinux

  1. Permitir el puerto de Squid en firewalld:
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload

Paso 5: Iniciar y habilitar Squid

Ubuntu Server y AlmaLinux

  1. Inicia el servicio Squid:
sudo systemctl start squid
  1. Habilita Squid para que inicie automáticamente al arrancar el sistema:
sudo systemctl enable squid

Paso 6: Verificar la configuración de Squid

  1. Verifica el estado de Squid para asegurarte de que está funcionando correctamente:
sudo systemctl status squid

Deberías ver una salida indicando que Squid está activo y funcionando.

Paso 7: Probar el proxy

  1. Configura el navegador o el sistema cliente para usar el servidor proxy. Por ejemplo, en la configuración de red del navegador, especifica la dirección IP del servidor y el puerto (3128).

Paso 8: Configuración avanzada (opcional)

  1. Limitar el acceso a ciertas IPs:

    Puedes editar el archivo de configuración de Squid para permitir el acceso solo a ciertas IPs. Por ejemplo:

    acl allowed_ips src 192.168.1.0/24
    http_access allow allowed_ips
    http_access deny all
    
  2. Habilitar autenticación básica:

    Para añadir autenticación, instala el paquete de herramientas adicionales y crea un archivo de contraseñas:

    Ubuntu Server:

    sudo apt install apache2-utils -y
    

    AlmaLinux:

    sudo dnf install httpd-tools -y
    

    Luego, crea un archivo de contraseñas y añade usuarios:

    sudo htpasswd -c /etc/squid/passwords user1
    

    Edita el archivo de configuración de Squid para incluir la autenticación:

    auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
    auth_param basic children 5
    auth_param basic realm Squid proxy-caching web server
    auth_param basic credentialsttl 2 hours
    acl authenticated proxy_auth REQUIRED
    http_access allow authenticated
    

    Guarda y cierra el archivo, y luego reinicia Squid para aplicar los cambios:

    sudo systemctl restart squid
    

Paso 9: Monitorear Squid

  1. Los registros de Squid se encuentran en /var/log/squid/. Puedes revisar el archivo access.log para ver las solicitudes que está manejando Squid:
sudo tail -f /var/log/squid/access.log

 

Ahora has configurado un servidor proxy utilizando Squid en Ubuntu Server y AlmaLinux.