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í 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. 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.28) 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.28 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:

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

_$ 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 para compilar e instalar:

_$ cd squid-3.5.28

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

La instalación genera 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. 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 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

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.