Configuración de un servidor Proxy con Squid y Webmin
El paquete Squid es una solución técnica para el control de la navegación en Internet para una red de datos empresarial. Con Squid, el administrador de la red puede definir un esquema de control llamado Listas de Control de Acceso (ACL), para regular la navegación de los usuarios de forma centralizada. Además, le permite segmentar el canal en velocidades de descarga, teniendo así un sistema de Control de Tráfico incluído. Por lo tanto, el administrador de la red con un servidor Proxy puede:
- Restringir el acceso a sitios web
- Controlar puertos de navegación
- Registrar el tráfico
- Hacer web caché
- Control de Tráfico
Squid es un servicio que se administra por línea de comandos, aunque también vía web con el paquete Webmin.

Topología típica de un servidor Proxy
Manos a la obra para poner en marcha el servidor proxy
Paso 1 – Crear el usuario y grupo squid para asignarlo como propietario de los archivos comprometidos en la administración del servicio:
_$ sudo groupadd squid
_$ sudo useradd -s /bin/false -g squid squid
Paso 2 – Instalar la última versión estable de Squid (para éste caso la versión 4.13) soportada por Webmin. Puede descargarlo desde aquí.
¿Cómo instalar programas en Linux desde un tarball?
Paso 3 – Descomprimimos del tarball de Squid, entramos a su directorio, y procedemos a compilarlo e instalarlo:
Nota: Antes de comenzar con el proceso de compilado, asegurémonos de instalar las librerías SSL, así como las herramientas de compilación GCC y G++, así:
_$ sudo apt-get install g++ libcrypto++-dev
Otro paquetes necesarios antes de compilar Squid:
_$ sudo apt-get install libssl-dev
_$ apt-get install devscripts
_$ apt-get install libssl1.0
Ahora si procedemos a entrar a la carpeta del Squid, acto seguido compilamos e instalamos:
_$ cd squid-4.13
_$ ./configure --sysconfdir=/etc/squid --prefix=/opt/squid --exec-prefix=/opt/squid --enable-delay-pools --enable-cache-digests --enable-poll --disable-ident-lookups --enable-truncate --enable-removal-policies --enable-ssl --enable-icap-client --enable-nf-transparent --enable-ssl-crtd --with-openssl
_$ sudo make
_$ sudo make install
Armate de paciencia porque el proceso de compilado (make) puede llevar algo de tiempo. En una máquina como la mía, con procesador AMD Opteron Dual Core de 1.8 GHz y 7 GB de RAM, toma 30 minutos ese proceso.
Con este proceso hemos generado dos directorios; una con el archivo de configuración en /etc/squid; otra con el resto de archivos y carpetas, incluyendo la aplicación, en /opt/squid. Ambos directorios deben tener permisos de lectura y escritura para el usuario propietario squid.
Paso 4 – Vamos al archivo de configuración de Squid (/etc/squid/squid.conf) y en la última linea, o después de una ACL, ponemos lo siguiente:
visible_hostname “nombre_de_mi_proxy”
Paso 5 – El siguiente paso es crear tres archivos en el directorio /opt/squid/var/logs :
access.log
cache.log
store.log
El archivo access.log es donde Squid registra toda actividad de navegación en Internet. Precisamente este es el archivo que utiliza la herramienta de auditoría SARG, para generar los informes de uso que cada cliente le da a la conexión de Internet. Por otra parte, el archivo cache.log registra todo el comportamiento del servicio.
Instalación de Webmin
Paso 6 – Descargamos la última versión de Webmin en formato Debian. Lo instalamos de la siguiente manera:
_$ sudo dpkg -i webmin-1.962_all.deb
Si en el proceso de instalación salen errores de dependencias, solucionelo con el comando apt-get install -f. Finalmente podemos entrar a Webmin por medio del navegador, así:
https://ip_del_servidor_proxy:10000
Paso 7 – Debemos preparar los puertos de trabajo del servidor Proxy. Vamos al menú “Puertos y Trabajo en Red”. El puerto de escucha por defecto en Squid es el 3128. Sin embargo para este caso lo cambiamos a 8080 tanto para HTTP como para HTTPS.
Recomendamos que guarde y aplique los cambios que usted haga en la configuración del servidor Squid, haciendo clic en el botón “Salvar” y “Aplicar cambios”.
Tal vez le interese ver: Migrar de Windows a Linux
Creación de los certificados SSL para el servidor Proxy
Adicionalmente necesitamos en el servidor Proxy un par de certificados para trabajar con tráfico seguro SSL (HTTPS). La ubicación de dichos certificados se la indicamos en el módulo “Opciones de puerto”. Entonces, para crearlos ejecutamos los siguientes pasos:
Creamos dos directorios:
_$ sudo mkdir /etc/squid/ssl && cd /etc/squid/ssl
Generamos los certificados:
_$ sudo openssl genrsa -des3 -out squid.key 1024
_$ sudo openssl req -new -key squid.key -out squid.csr
Firmamos los certificados:
_$ cp squid.key squid.key.org
_$ openssl rsa -in squid.key.org -out squid.key
_$ openssl x509 -req -days 365 -in squid.csr -signkey squid.key -out squid.crt
En el siguiente gráfico mostramos la configuración final para que Squid nos soporte tráfico HTTPS:

También podemos declarar la ruta de la llave y el certificado directamente en el archivo de configuración de Squid, así: https_port 8080 cert=/etc/squid/ssl/squid.crt key=/etc/squid/ssl/squid.key
Paso 8 – Seguidamente entramos a la configuración del módulo para especificarle a Webmin la ubicación del ejecutable de Squid y su archivo de configuración. Además, Webmin debe saber la ruta del script de inicio de Squid (más adelante veremos la configuración de ese script):
Si necesitas asesoría o apoyo, cotiza conmigo en el siguiente Whatsapp:
317 8751154
Valora este artículo:
Buena explicación
Comparte esto en