Guía completa: cómo configurar un servidor proxy HTTPS en Linux con Squid

Guía completa: cómo configurar un servidor proxy HTTPS en Linux con Squid

Los servidores proxy juegan un papel importante en la seguridad, el anonimato y la gestión del tráfico de Internet. Uno de los tipos más populares es el proxy HTTPS, que proporciona cifrado de datos. En esta guía explicaré cómo instalar y configurar un servidor proxy HTTPS en Linux usando Squid.

Paso 1: Instalación de Squid en Linux

Squid es un servidor proxy con caché que admite varios tipos de proxy, incluido HTTPS. Para instalarlo ejecute los siguientes comandos según su sistema.

Para Ubuntu/Debian:

sudo apt update
sudo apt install squid -y

Para CentOS/RHEL:

sudo yum install squid -y

Después de la instalación, Squid se iniciará automáticamente.

Paso 2: Configuración de Squid para trabajar con HTTPS

Ahora es necesario modificar la configuración de Squid para admitir HTTPS. Abra el archivo de configuración de Squid en un editor de texto:

sudo nano /etc/squid/squid.conf

En el archivo debe encontrar o añadir las siguientes líneas, que activan el funcionamiento del proxy HTTPS:

# Indicamos los puertos permitidos para HTTPS
http_port 3128 ssl-bump cert=/etc/squid/squid.pem key=/etc/squid/squid.key
# Configuración SSL
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

Aquí:
http_port 3128 ssl-bump — activa el proxy HTTPS con SSL bump.
cert y key — son la ruta a los certificados SSL que crearemos más adelante.

Paso 3: Generación de certificados SSL para Squid

Para que su proxy HTTPS funcione correctamente, es necesario generar certificados SSL. Para ello use OpenSSL:

openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout /etc/squid/squid.key -out /etc/squid/squid.pem

Siga las instrucciones en pantalla introduciendo la información para el certificado. Después de esto se crearán dos archivos: squid.key y squid.pem.

Establezca los permisos de acceso para los certificados:

sudo chmod 400 /etc/squid/squid.key
sudo chmod 400 /etc/squid/squid.pem

Paso 4: Permitir el acceso al proxy

Por defecto Squid bloquea todas las conexiones externas. Para cambiar esto, debe añadir permisos para las direcciones IP o subredes que usarán el proxy. Busque la sección con las reglas de acceso en el archivo de configuración /etc/squid/squid.conf y añada las siguientes líneas:

acl allowed_ips src <tu_IP_o_subred>
http_access allow allowed_ips

Reemplace <tu_IP_o_subred> por la dirección IP o subred desde la que se permitirá el acceso.

Paso 5: Reinicio de Squid

Después de realizar cambios en la configuración, debe reiniciar Squid para que entren en vigor:

sudo systemctl restart squid

Compruebe que Squid funciona correctamente:

sudo systemctl status squid

Si todo está configurado correctamente, verá el estado activo (en ejecución).

Paso 6: Configuración del cortafuegos

Asegúrese de que su cortafuegos esté configurado para permitir el acceso al puerto que usa su servidor proxy (por defecto 3128). Para ello ejecute los siguientes comandos (como ejemplo con UFW):

sudo ufw allow 3128/tcp
sudo ufw reload

Paso 7: Verificación del funcionamiento del proxy

Para comprobar que su proxy funciona correctamente, puede usar cualquier navegador o utilidad, por ejemplo, cURL:

curl -x http://<tu_IP_proxy>:3128 -L https://www.google.com

Si el comando se ejecuta sin errores, significa que su servidor proxy HTTPS se ha configurado correctamente.

Conclusión

Configurar un servidor proxy HTTPS en Linux usando Squid es una forma eficaz de proteger el tráfico de Internet y gestionar el acceso. Con Squid obtiene alta flexibilidad y rendimiento. Siga esta guía paso a paso para instalar y configurar su propio servidor proxy. No olvide comprobar la seguridad de las conexiones y actualizar los certificados de forma periódica.

Ahora su servidor está listo para su uso y puede emplearlo para garantizar anonimato, proteger datos y filtrar el tráfico de Internet.


Alt text