Ir al contenido principal

Creación de un Virtual Appliance para control de Internet con VMware (parte 3)

<< Artículo anterior

Una vez que tenemos nuestro sistema operativo base, el FreeBSD, montado y actuando como router y firewall básico es el momento de seguir con el siguiente paso: la instalación del proxy-caché, el afamado SQUID. Estamos ante uno de esos productos que, además de ser open-source y gratuitos, son la mejor opción del mercado para realizar sus funciones, por lo que una vez más se demuestra que los productos gratuitos no tienen por qué ser necesariamente inferiores a sus competidores comerciales.

Aunque en el momento de escribir este tutorial, la versión estable en producción es la 3.3, me he basado en la versión 2.7.9, no por nada en especial, simplemente porque es el paquete que venía en la ISO de FreeBSD que teníamos por aquí a mano y que hemos usado de base para el proyecto.


La instalación es muy fácil vía sysinstall. Ejecutamos dicha herramienta y seleccionamos los siguientes menús hasta llegar al paquete del Squid:
Configure → Packages → FTP o CD → Net → squid-2.7.9

Para la puesta en marcha, primero haremos unas pequeñas modificaciones de configuración.
Editamos el archivo /usr/local/etc/squid/squid.conf y modificamos la siguiente línea así:
http_port 3128 transparent
Editamos el archivo /etc/rc.conf y agregamos la siguiente línea:
squid_enable=”YES”

Ahora es necesario inicializar el Squid, para crear los subdirectorios de caché, logs, etc. Para ello, con privilegios de root, ejecutamos el siguiente comando:
/usr/local/sbin/squid -z
Y con esto ya podemos arrancar el servicio Squid:
/usr/local/etc/rc.d/squid start
Para probarlo, podemos configurar nuestro navegador de Internet favorito para que conecte a través del proxy (la IP 192.168.3.254, según nuestro ejemplo, y el puerto por defecto, el 3128).

Proxy transparente


Hasta ahora hemos conseguido que nuestro appliance virtual funcione como un eficiente router y como un simple proxy que por defecto nos ahorrará algo de tráfico (por su función de caché) y nos permitirá registrar las visitas de aquellos equipos que lo tengan configurado.

Sin embargo, y aunque hay diversos métodos para forzar a un cliente de la red a que use nuestro proxy, siempre puede quedarnos la posibilidad de que algún usuario avanzado tenga conocimiento y acceso a la configuración de proxy lo que le permitiría borrar esa configuración y salir a Internet directamente por la puerta de enlace, impidiendo así que sus visitas queden registradas.

¿Hay solución a este problema? Por supuesto: se llama "proxy transparente". Es un truco muy habitual en los ISP para ahorrar tráfico de datos y muchas veces nuestras conexiones a la WEB pasan por este tipo de proxies sin darnos cuenta. Consiste en implementar funciones de proxy a la misma puerta de enlace, de tal modo que simplemente por enrutar tráfico hacia dicha puerta de enlace, los paquetes son capturados y redirigidos a un proxy de manera invisible para el usuario. Nuestro Squid, como no podía ser menos, permite el funcionamiento en modo "transparente" (por ello pusimos ese parámetro en el squid.conf).

Para que la puerta de enlace redirija los paquetes de la WEB (por defecto, el puerto 80) hacia el proxy (que hemos puesto en el puerto TCP 3128), utilizaremos el firewall del sistema siguiendo estos pasos:
  • Creamos el archivo /etc/ipnat.rules con el siguiente contenido:

rdr em0 0/0 port 80 -> 127.0.0.1 port 3128 tcp
  • Editamos el archivo /etc/rc.conf y le agregamos las siguientes líneas:
ipnat_enable=”YES”
ipnat_rules=”/etc/ipnat.rules”

Con esta configuración, nuestro flamante appliance funciona como proxy transparente y por tanto cualquier equipo que navegue por la WEB usándolo como puerta de enlace ya pasará por el Squid de manera forzada, incluso aunque el navegador esté configurado para navegar en modo directo.

Podemos en cualquier momento comprobar que las visitas a la WEB se van quedando registradas consultando el log de acceso, el cuál se encuentra en la siguiente ubicación:

/var/squid/logs/access.log

En el siguiente capítulo vamos a integrar Squid con Samba para así poder usar autenticación integrada en las estaciones de trabajo de Windows y poder configurar los accesos a Internet (así como restricciones a diferentes páginas web, etc.) en función de la pertenencia a grupos de Active Directory. Y sí, sigue siendo gratis.

Continuará...

Comentarios

Entradas populares de este blog

Ahorro de costes con Google Apps (III). Bye, bye, Exchange. Bienvenido, Mr. LDAP

<<<< Anterior
En los anteriores artículos vimos cómo configurar nuestro dominio para ser usado con Google Apps y aprendimos a hacer unos ajustes básicos. Ahora ya llegado la hora de configurar nuestras propias aplicaciones con el fin de sustituir el servicio Exchange en nuestra compañía.
De las principales ventajas del Exchange, hay algunas que podemos replicar casi de manera inmediata con lo visto hasta ahora. La primera y más característica de este tipo de servidor: la opción de usar una "Libreta Global de direcciones" de la compañía.
Para poder seguir usando esto, realmente nunca habríamos necesitado un Exchange, ya que éste lo único que hace es mostrarnos una vista de las direcciones que tenemos dadas de alta en nuestro dominio Active Directory. Como todo el mundo sabe, el Active Directory no es nada especialmente nuevo ni mucho menos inventado por Microsoft; es en realidad una (otra) implementación del estándar abierto LDAP (Lightweight directory access prot…

Creación de un Virtual Appliance para control de Internet con VMware (parte 2)

<< Artículo anterior

En el anterior artículo habíamos sentado las bases sobre el appliance que queremos construir: las funcionalidades, la intrastructura y el software y herramientas necesarias.
El siguiente paso es describir el planteamiento de manera más concreta y comenzar con la instalación básica del sistema operativo base y de los paquetes mínimos necesarios.
La red
Desde el punto de vista de la red local, este esquema representa la filosofía del proyecto:

Creación de un Virtual Appliance para control de Internet con VMware (parte 1)

Esta es la primera entrega de varios artículos que voy a publicar en los próximos días mostrando un caso práctico de creación de un appliance virtual para controlar el acceso a Internet de una compañía usando exclusivamente software gratuito.
La guía que vamos a desarrollar podría perfectamente valer para crear un appliance tradicional basado en un equipo headless cualquiera; además no es necesario un equipo de extremada potencia por lo que es la excusa perfecta para reutilizar cualquier PC al que íbamos a dar matarile. Sin embargo, he escogido el formato de máquina virtual porque así de paso nos aprovechamos de las distintas ventajas de usar una plataforma como VMware para usos que no siempre son tan conocidos o habituales.