servidor proxy

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 gestión llamado Listas de Control de Acceso (ACL), para controlar la navegación de los usuarios de forma centralizada. Además, le permite segmentar el canal en velocidades de descarga, teniendo así incluido un sistema de Control de Tráfico. Por lo tanto, con un servidor Proxy el administrador de la red 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. También puede administrarse gráficamente instalando la herramienta de configuración de GadminTools. En este tutorial lo haremos con Webmin.

servidor proxy

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 3.5.5) soportada por Webmin. Puede descargarlo desde aquí.

 

Nota: Hasta la fecha el paquete Squid versión 4 no es soportado por Webmin, sin embargo la versión 3.5.5 trabaja bastante bien.

Puede ver: Mitigación de la Obsolescencia Programada con Software Libre, aquí

 

Paso 3 – Descomprimimos y entramos al directorio resultante de la descompresión del tarball de Squid, y procedemos a compilarlo e instalarlo:

./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

Nota: Antes de comenzar con el proceso de compilado, asegurémonos de instalar las librerías SSL, las herramientas de compilación GCC, G++ así:

apt-get install g++ libcrypto++-dev

Otro paquetes necesarios:

apt-get install libssl-dev
apt-get install devscripts

La instalación genera dos rutas; una con el archivo de configuración en /etc/squid y otra con el resto de archivos y carpetas, incluyendo la aplicación, en /opt/squid. Ambas rutas 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.870_all.deb

 

Si salen errores de dependencias al instalar Webmin, solucionelo con el comando apt-get install -f. Finalmente entre por medio del navegador, así:

https://ip_del_servidor_proxy:10000

servidor proxy

Pantalla principal del módulo de gestión de Squid Proxy

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:

servidor proxy

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):

servidor proxy

 

Segunda Parte >

 

Servidor Proxy en Linux - Primera Parte Overall rating: ★★★★★ 5 based on 1 reviews
5 1

 

Su nombre
Email
Titulo
Valoración
Opinión

 

Buena explicación

★★★★★
5 5 1
Muy buena la explicación, todo claro.

 

Comparte esto en
Publicado en Servidor Proxy.