viernes, enero 19, 2007

SmoothWall Express: Open Source Firewall


En este artículo vamos a ver cómo configurar el firewall SmoothWall Express 2.0 en nuestra oficina o casa. Al final del artículo obtendremos un entorno seguro con las siguientes ventajas:
  • DMZ con nuestro servidor web publicado
  • LAN segura con nuestro servidor de base de datos y los equipos clientes
  • Web Proxy con control de quién sale a internet y quién no
Para realizar esta configuración nos vamos a basar en herramientas Open Source disponibles para todo el mundo y de manera gratuita. Éstas son:
Escenario de partida:
Nuestro escenario de partida es el siguiente:





















Tenemos nuestro router que nos da acceso a internet y nuestros clientes que acceden a los servidores de la LAN y a internet. No tenemos ningún control sobre quién accede a internet, anchos de banda utilizados, políticas de acceso y tampoco podemos publicar nuestro servidor web a internet por no tener una infraestructura de seguridad. Nuestro objetivo, por lo tanto, será montar dicha infraestructura de seguridad que nos de control sobre nuestra red y el tráfico que por ella se mueve.

Escenario Objetivo:
Nuestro objetivo será llegar a un escenario como este:























Tenemos tres zonas bien diferenciadas:
  • DMZ: Zona DesMilitarizada, donde colocaremos el servidor o servidores que queramos publicar a internet. Todo el tráfico entrante desde internet (salvo que se definan reglas) se derivará hacia esta zona).
  • LAN Segura: en esta zona estarán nuestros clientes y servidores seguros. Ningún tráfico de internet se dejará pasar a esta zona (salvo que se definan reglas). Sólamente el tráfico definido podrá pasar desde la DMZ hasta esta zona (típicamente para acceder al servidor de base de datos).
  • Zona Insegura: esta es la zona por la que llegan las peticiones de internet y se realizan los bloqueos necesarios.
Como se observa, en el firewall se encuentra también el Advanced Web Proxy, el cual nos permitirá controlar el acceso a internet por parte de los clientes.

Configuración de SmoothWall Express 2.0:

Nos descargamos la versión desde su sitio y la guardamos en un CD. SmoothWall es un firewall montado sobre un linux precompilado. Es necesaria una máquina completa para él puesto que elimina todo el contenido existente en los discos duros. No se necesitan conocimientos previos de Linux, aunque si tener claro lo que se quiere conseguir. Lo primero que necesitaremos serán 3 tarjetas de red que pincharemos en nuestro equipo. Los requisitos del equipo son muy bajos: recomendado 64MB de RAM y unos cuantos gigas de disco para el proxy.

Los datos de configuración que tenemos que tener claros son:
  • IP para la red LAN Segura
  • IP para la red DMZ
  • IP para la red Insegura
  • Nombre del cortafuegos
  • Si vamos a usar DHCP para la LAN Segura (trae uno incorporado)
En nuestro caso vamos a utilizar los siguientes datos:
  • IP LAN Segura: 192.168.0.1 / 255.255.255.0
  • IP DMZ: 192.168.1.1/ 255.255.255.0
  • IP red Insegura: DHCP (Nuestro router nos da la IP automáticamente)
  • Nombre: firewall
  • ¿Usamos DHCP para la LAN?: Sí
Los manuales que acompañan a SmoothWall Express indican perfectamente pantalla a pantalla el proceso de instalación, por lo que no nos vamos a detener en el mismo. Una vez instalado el equipo, podremos acceder a la consola de administración web del firewall a través de la dirección:

http://nombre_del _firewall:81 o
https://nombre_del _firewall:441
















Desde las pestañas podremos acceder a todos los
servicios que nos ofrece el firewall. Tendremos que actualizar todos los parches de seguridad para estar seguros nada más empezar. Esto lo haremos desde la pestaña "Maintenance-->Updates". Una vez actualizados, pasaremos a configurar el DHCP para que nuestro servidor de base de datos (que se encuentra en la LAN) tenga una dirección IP estática:
  • Pulsaremos sobre la pestaña "Services" (nos pedirá autentificación para poder acceder)
  • Entraremos en "dhcp"
Aquí podremos dar de alta una nueva regla a partir de la MAC del equipo para que le asigne una IP fija. En nuestro caso vamos a darle la IP 192.168.0.2, por lo que cambiaremos la configuración del servidor DHCP para que empiece a dar direcciones a partir de la dirección 192.168.0.3.
















Activaremos a continuación la detección de intrusos del firewall para darle una protección extra más y también el acceso remoto mediante SSH que utilizaremos más tarde para conectarnos al servidor.

En este punto tenemos configurado el firewall para evitar las entradas desde internet, pero nos faltan los siguientes puntos:

  • Publicación del Servidor Web
  • Control de Acceso a Internet por parte de los clientes
Publicación del Servidor Web:
Para poder publicar el servidor web necesitaremos tener los siguientes puntos resueltos:
  • Haber obtenido una IP fija por parte de nuestro proveedor para nuestro router
  • Tener los puertos del web abiertos en el router para permitir la entrada
  • Darle una IP al servidor web (en nuestro caso 192.168.1.2, recordemos que la interfaz de la DMZ tiene la IP 192.168.1.1)
Una vez solucionado este tema, lo que tendremos que hacer será conectar nuestro servidor a la interfaz naranja del firewall y habilitar una nueva regla de entrada a la DMZ desde internet.












Configuramos la regla para que las peticiones al puerto 80 desde cualquier IP se redirijan a nuestro servidor web.

Una vez hecho esto, tenemos que habilitar la comunicación entre el servidor web y el de base de datos que se encuentra en la LAN segura. Para hacer esto, entraremos en la opción "dmz pinholes".













En este caso, configuramos una regla para acceder al puerto 3306 (el de MySQL) desde la IP 192.168.1.2 (servidor web) a 192.168.0.2 (servidor de base de datos).

Con esto tenemos configurada nuestra publicación del servidor web. Nos falta tener el control de acceso a internet por parte de los usuarios.

Advanced Web Proxy:
El Advanced Web Proxy es una extensión de SmoothWall Express para permitir una gestión
mucho más potente del acceso a internet que la que trae por defecto el servidor. Las características principales que ofrece son:
  • Autentificación de varios tipos (local, LDAP, RADIUS, Dominio de Windows, identd)
  • Manejo de grupos de usuarios
  • Bloqueo de browsers no permitidos
  • Reglas de acceso a internet por horas
  • Control del ancho de banda
  • CRE Classroom Extension para la gestión de aulas por personas sin conocimiento técnico
Para la instalación necesitaremos los dos programas que se comentaron al principio FileZilla y Putty. Con el primero podremos copiar el fichero de la descarga a la carpeta del servidor correspondiente y con Putty podremos acceder al servidor mediante SSH e instalar el paquete. Las instrucciones que se proporcionan con advproxy son muy detalladas y no vamos a entrar en el proceso de instalación.

Lo que nos queda es configurar el advproxy para que todos los clientes tengan que pasar por él obligatoriamente. Para hacerlo tendremos que deshabilitar todo el tráfico saliente obligando a que pase por el proxy. Al hacer esto, tendremos control sobre quién puede y quién no puede salir a Internet:
  • Mediante Putty nos conectamos al servidor e introducimos las credenciales de root
  • Accedemos al directorio /etc/rc.d
  • Abrimos con "vi" el fichero rc.firewall.up donde se guardan las políticas
  • Introduciremos por cada puerto la siguiente línea (debajo de):
  • /sbin/iptables -P INPUT DROP
    /sbin/iptables -P FORWARD DROP
    /sbin/iptables -P OUTPUT ACCEPT
  • # Block direct web access from inside
    /sbin/iptables -A FORWARD -i $GREEN_DEV -o ppp0 -p TCP --dport 80 -j DROP
Los puertos a bloquear son: 80,81,443,3128,6588,8000,8080,8181. Una vez realizados estos cambios, guardaremos el fichero y volveremos a la interfaz web para habilitar el uso del proxy. Habrá aparecido una nueva pestaña llamada "Advanced Proxy" dentro de "Services". Dentro de ella tendremos todas las opciones para habilitar tráfico por horas, bloquear IPs, crear grupos mediante la extensión CRE, etc.

Conclusión:
Finalmente hemos conseguido montar nuestra infraestructura de seguridad para poder realizar las tres tareas que nos planteamos en un principio:
  • Tener nuestro servidor web publicado
  • Tener una red LAN segura
  • Tener control sobre el acceso a internet por parte de los usuarios























El tiempo de configuración es muy corto y en uno o dos días podeis tener montado y configurado vuestro firewall. Existen múltiples
extensiones para SmoothWall disponibles en Internet (control de contenidos, reglas avanzadas, etc.) así que podeis personalizar vuestra instalación tanto como queráis.

Espero que os haya gustado este a
rtículo sobre la seguridad en nuestras instalaciones.


miércoles, enero 10, 2007

Administración Remota (Hamachi y UltraVNC)

Suele ser una problemática importante en el sector de la administración informática cuando aquellos equipos que se deben controlar se encuentran en ubicaciones de difícil acceso. Existen muchos negocios que disponen de diferentes sedes, oficinas o equipos geográficamente dispersos. En estos casos, la administración y control suele ser bastante incómoda, obligando a muchos desplazamientos o a arreglos temporales que se suelen convertir en definitivos en la mayoría de los casos.

Vamos a ver en este artículo cómo configurar varias VPNs para un negocio con varias oficinas de forma que al final tengamos todos los equipos en la misma LAN y podamos administrarlos. Para realizar esto nos basamos en dos productos gratuitos que nos ofrecen la funcionalidad que queremos: UltraVNC y Hamachi.

UltraVNC:

UltraVNC es un software gratuito que nos permite acceder remotamente al escritorio de cualquier ordenador. Podemos usar el teclado y el ratón remoto como si estuviéramos sentados frente al ordenador.

Para usar este software sólo tenemos que descargarnos la última versión y realizar una pequeña instalación. UltraVNC se compone básicamente de dos componentes, el visor y el servidor. A cada equipo que queramos monitorizar le tendremos que instalar el UltraVNC Server para que nos presente el escritorio. Aquellos equipos desde los que vayamos a monitorizar les instalaremos el UltraVNC Viewer. La instalación es muy sencilla y se compone de muy pocos pasos bien explicados en la página web.

Una vez instalado el UltraVNC Server, nos pedirá que pongamos una contraseña para evitar entradas no autorizadas. Cuando queramos conectarnos desde el visor, nos pedirá esta contraseña. Al introducirla, accederemos al
escritorio real del equipo remoto.

Podemos tener monitorizados tantos equipos como queramos, sin límite. Únicamente tendremos que instalar el programa en ellos. Mediante esta herramienta podemos controlar aquellos equipos que tengamos en nuestra LAN o a los que tengamos acceso (modem, VPN). En nuestro caso vamos a configurar ahora las VPN para que podamos acceder a los equipos de las oficinas remotas.

Hamachi:

Hamachi es una aplicación para realizar VPN sin configuración técnica por parte del usuario. Permite la unión de múltiples equipos en una sola red segura como si estuvieran en la misma LAN.

Como se puede suponer, las posibilidades de Hamachi son muy grandes (monitorización, servidores web internos, juegos, compartición de archivos, música, etc...). Nos centraremos en el área de monitorización, aunque todo lo escrito aquí se puede aplicar a cualquier otro ámbito.

En primer lugar, partimos de la siguiente situación:



















Disponemos de una oficina principal y dos oficinas secundarias. El administrador se encuentra en la oficina principal. Cada oficina dispone de sus propios servidores para funcionar de manera autónoma.

Partiendo de esta situación, vamos a montar una infraestructura de VPNs que permita al administrador administrar los servidores y monitorizar a los usuarios, pudiendo realizar tareas preventivas y de apoyo a los mismos.

Lo primero que debemos hacer es descargarnos el software de Hamachi a nuestro equipo que será el administrador. La instalación es muy simple solamente marcaremos la opción de
deshabilitar el acceso a los servicios vulnerables de Windows (compartición de archivos y servicios propensos a ataques). Hamachi instala una nueva interfaz de red que permitirá conectarnos a su servidor para montar la VPN.

Una vez instalado, nos conectaremos a la red de Hamachi que nos asignará una IP única para nuestra interfaz de red y nos dará un identificador único también. Una vez lo tengamos vamos a crear 4 redes nuevas:
  • Red de Servidores: para albergar los servidores de todas las oficinas.
  • Red de la Oficina Principal: equipos de usuario de esta oficina
  • Red de la Oficina Secundaria 1: equipos de usuario
  • Red de la Oficina Secundaria 2: equipos de usuario
Para cada red tendremos que dar un nombre identificador y una contraseña de acceso a la red. Hay que tener en cuenta que para la versión gratuita, el número máximo de equipos en una red virtual es de 16 incluyendo al propietario y que cada usuario puede pertenecer a 64 redes como máximo, por lo que si una oficina tiene más de 16 equipos, tendremos que crear varias redes.

Una vez dada la contraseña, habremos creado la red y seremos los propietarios de la misma. En este punto, tendremos que instalar el software de Hamachi en todos aquellos equipos que queramos que entren en alguna de las redes que hemos creado. Al configurarlos, en vez de crear una red, les diremos que se unan a la red correspondiente. Al arrancar los equipos, automáticamente se arranca el cliente de Hamachi, de forma que tendremos a
todos nuestros equipos en las redes que queremos y de las que somos propietarios.



















Hamachi incluye un administrador web que nos permitirá ver el estado de nuestros clientes y echarlos de nuestras redes si queremos. Para acceder a la administración web deberemos crearnos una cuenta en MyHamachi.

Finalmente, lo que tenemos es lo que se refleja en el siguiente esquema:























El administrador podrá acceder a todos los equipos a través de las diferentes VPNs creadas como si estuviesen en su misma LAN.


Unión de UltraVNC y Hamachi:
Como habíamos instalado UltraVNC en todos los equipos, podremos administrar desde el ordenador del administrador todos los equipos de nuestra oficina de una manera fácil y eficiente. El administrador podrá acceder a los equipos desde cualquier ubicación que disponga de una conexión a internet.

Espero que os haya gustado este artículo y que le saquéis el máximo de provecho a estas herramientas.