Configurando Firewall En Un Router Cisco (3700) Con Soporte Para SDM En GNS3

Después de mucho tiempo sin publicar nada, les vengo a mostrar una actividad que realice en los últimos días, se trata de configurar un Firewall de red en un router Cisco 3700, utilizando la herramienta de Cisco SDM, todo esto simulado en GNS3 y VirtualBox.

Conceptualizando:

Les explicare un poco de las cosas que vamos a hacer, primero que todo debemos tener claros los conceptos de lo que realizaremos a continuación.

Firewall: Un Firewall como su nombre lo dice es un "muro de fuego" este tiene la función de realizar un filtrado de paquetes hacia los diferentes destinos valiéndose de  reglas configuradas a nuestro gusto. Es decir que si no queremos que a el Equipo A le lleguen paquetes de ningún equipo, del tipo TCP con puerto de origen 80 configuraremos dicha regla en el Firewall para que esto se filtre.

Existen varios tipos de Firewall y varias maneras de definirlos, por ahora nos centraremos en que existen Firewall de Host y Firewall de Red. Un Firewall de Host es con el que contamos en nuestros equipos, el que viene de manera nativa en nuestro Sistema Operativo como lo son las IPTABLES en Linux o el Contrafuegos de Windows y solo filtra paquetes desde y hacia nuestro equipo y un Firewall de Red es el que se puede instalar en dispositivos como routers para filtrar todo el trafico que circule a través de el desde y hacia las diferentes subredes.

GNS3: Los routers son dispositivos costosos y al ser una practica de laboratorio contamos con herramientas libres como GNS3 para emular un router, según Wikipedia GNS3 es un "simulador gráfico de red que te permite diseñar topologías de red complejas y poner en marcha simulaciones sobre ellos".

Para permitir completar simulaciones, GNS3 está estrechamente vinculada con:
Dynamips, un emulador de IOS que permite a los usuarios ejecutar binarios imágenes IOS de Cisco Systems. Dynagen, un front-end basado en texto para Dynamips Qemu, un emulador de PIX.GNS3 es una excelente herramienta complementaria a los verdaderos laboratorios para los administradores de redes de Cisco o las personas que quieren pasar sus CCNA, CCNP, CCIE DAC o certificaciones.

En si GNS3 es un software diseñado para emular realmente una topologia de red completa como si tuvieras en realidad un router, enrutando paquetes desde tus maquinas virtuales de VirtualBox hacia Internet u otras subredes según lo que quieras diseñar.

SDM: Muchas personas no están familiarizadas con los comandos de los routers Cisco y los entiendo por que para mi también fue difícil en los primeros años pero para dichas personas existen soluciones como esta, el cual es un software diseñado para simplificarnos la vida al utilizar una interfaz gráfica de JAVA para administrar vía WEB los routers Cisco sin tener que aprendernos todos los comandos que deberíamos ejecutar.

VirtualBox: Este es muy conocido, es un emulador de maquinas o de sistemas operativos, es como tener varios PC dentro de tu PC.

Requerimientos:

Como pudimos ver es algo mas o menos sencillo, para esto entonces necesitaremos.

Un PC real con VirtualBox y GNS3.
En GNS3 debemos tener IOS de routers (en mi caso es un 3745).
En VirtualBox utilizaremos una maquina cliente con Windows XP.

Mas o menos esto es lo que haremos.






Desde los repositorios de nuestro sistema operativo descargaremos la herramienta GNS3, o desde su web oficial http://www.gns3.net también debemos tener claro que debemos tener previamente configuradas las IOS de los Routers a trabajar, para nuestro caso trabajaremos un router CISCO 3745 entonces deberemos tener ingresado en nuestro GNS3 el IOS de dicho router para proceder entonces a realizar la practica.


Teniendo entonces esto claro, les mostrare un poco de la interfaz gráfica de GNS3 en el área azul tenemos los diferentes dispositivos que vamos a utilizar, en el área roja tenemos las opciones, en el área verde tenemos el área de trabajo y en el área naranja se muestra el estado de los dispositivos.




Nuestra IOS quedo en el router 3700 ahora lo arrastraremos hacia el área de trabajo, luego elegimos la nube "cloud" y arrastramos 2 de estas también. Como observamos en la imagen vemos que designaremos una nube para que simule ser nuestra interfaz real de Ethernet, es decir que se comunicara directamente con la salida a Internet, y la otra sera una interfaz virtual que se comunicara con las maquinas virtuales de VirtualBox que serán los clientes.



Configuraremos entonces las interfaces de las nubes, primero la que sale a Internet podemos ver que en esta área la elegimos como eth5 que es nuestra interfaz real.




Ahora configuraremos nuestra otra nube para que se comunique con los clientes en maquinas virtuales en esta elegimos la interfaz vboxnet0 la cual no es una interfaz real, tan solo se crea al instalar el VirtualBox.




Ahora conectaremos las interfaces a el router, esto lo hacemos con un cable FastEthernet. También les muestro el botón que debemos elegir para que en pantalla se nos muestren los nombres de las interfaces.




GNS3 es una herramienta muy buena para trabajar como router pero consume recursos reales de la maquina, es decir, que la carga de CPU al encender el router puede subir hasta el 100% y como no queremos que nuestro sistema se cuelgue existe una herramienta incluida en GNS3 llamada IDLE PC que es un optimizador de cargas de la CPU, procedemos entonces a dar clic derecho al router y a elegir IDLE PC.



Podemos ver entonces que en se nos abre un recuadro como el subrayado de verde y nos da varios valores en hexadecimal, generalmente nos antepone uno por un asterisco (*) este seria el valor recomendado a utilizar para bajar la carga, si no les aparece ninguno subrayado pueden elegir uno a prueba y error. También en mi caso abrí el monitor del sistema de Linux para ver la carga de CPU y podemos ver en la imagen que la CPU 3 esta al 100%




Al aplicar el valor IDLE PC correcto la carga de la CPU bajara radicalmente y podremos proceder a configurar el router eligiendo el botón mostrado en pantalla. 


Si alguna vez han configurado un router sea en la vida real o sea simulado en software como Packet Tracer estarán familiarizados con este prompt.






Configurando el router:

Observamos entonces que la interfaz FastEthernet 0/0 va hacia la WAN y que la interfaz FastEthernet 0/1 va hacia la LAN. Les mostrare entonces las configuraciones que debemos hacer.

Configurando la WAN

Router>enable
Router#configure terminal
Router(config)#interface fastEthernet 0/0
Router(config-if)#ip address dhcp
Router(config-if)#no shutdown
Router(config-if)#exit

Configurando la LAN
 
Router>enable
Router#configure terminal
Router(config)#interface fastEthernet 0/1
Router(config-if)#ip address 192.168.100.1 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit

En lo anterior simplemente configuramos la WAN para que reciba dirección y la LAN con una IP en mi caso esta en la subred 192.168.100.0/24. Asumo entonces que si diéramos un ping desde el router a cualquier IP publica de Internet como la 8.8.8.8 debería ser satisfactorio.

Ahora lo que haremos sera configurar el router para que el SDM funcione a la perfección.

Configurando SDM

Router>enable
Router#configure terminal

##Aquí crearemos un usuario con nivel de privilegios 15 con su contraseña. 
Router(config)#username gnunick privilege 15 password gnunick123

##Aquí habilitaremos el servidor HTTP y HTTPS y se creara un certificado.
Router(config)#ip http server
Router(config)#ip http secure-server
% Generating 1024 bit RSA keys, keys will be non-exportable...[OK]


*Mar 1 00:05:07.491: %SSH-5-ENABLED: SSH 1.99 has been enabled
*Mar 1 00:05:08.079: %PKI-4-NOAUTOSAVE: Configuration was modified. Issue "write memory" to save new certificate

##Ahora permitiremos el ingreso via SSH y telnet para finalizar.
Router(config)#ip http authentication local
Router(config)#line vty 0 4
Router(config-line)#login local
Router(config-line)#transport input telnet ssh

Listo, con esto habremos finalizado en el router.

Configurando el Cliente:

Asumo que ya tienen VirtualBox instalado, entonces antes de prender la maquina virtual ingresamos a archivo>Preferencias y configuraremos la tarjeta de red virtual que el crea automáticamente.




Le asignaremos una dirección IP dentro del rango de la interfaz FastEthernet 0/1 del router.




Ahora encendemos la maquina cliente, en mi caso es un XP y configuramos su tarjeta de red para que se comunique mediante el adaptador solo anfitrión vboxnet.




En el cliente configure una dirección IP dentro del mismo rango de la interfaz FastEthernet 0/1 del router y la tarjeta virtual vboxnet0 y como gateway elegí el router. Entonces si diéramos un ping al router debería ser satisfactorio.




Instalando SDM:

Previamente debemos tener instalado el Java en su versión mas reciente y el Mozilla Firefox ya que intente con Google Chrome y con IE y solo el Firefox sirvió. Como cualquier programa en Windows el SDM se instala de la siguiente manera:




 Elegimos solo instalar el cliente en el equipo.





Listo, luego de instalado nos mostrara este recuadro en el cual ingresaremos la dirección IP del router para conectarnos a el.






Ahora nos pedirá autenticacion, esto lo hacemos con las credenciales que creamos en el router.






 Nos volveremos a autenticar, ahora contra JAVA.



Esta es la interfaz del SDM, esta contiene muchas cosas interesantes que les recomiendo explorar, en este caso nos centraremos en configurar el Firewall y el NAT.



Configurando NAT:

En este momento este PC tiene acceso al router mas no tiene salida a Internet, para esto deberemos hacer traducción de direcciones o NAT.

Elegimos configurar, NAT, NAT básica.




En la parte superior, subrayada de roja elegimos la interfaz roja o la WAN que es la que sale hacia Internet y en la parte inferior elegimos la interfaz verde o LAN que es la de nuestros clientes.



Cuando ejecutamos los cambios podremos intentar navegar a Internet o por lo menos probar salida mediante un ping a una IP publica y deberá ser satisfactorio.



Finalizamos esta parte, ahora llegamos a lo que queríamos, que es configurar el Firewall y sus reglas.

Configurando el Firewall:

Antes de crear las reglas del Firewall deberemos crear el Firewall.





Elegimos en el área roja la interfaz no fiable o WAN, y en la verde la fiable o LAN, en mi caso no voy a permitir el acceso desde interfaces externas y esto me lanzara una advertencia en el siguiente paso.





Como nuestra WAN esta configurada mediante DHCP el nos recomendara permitir este tipo de trafico, en mi caso lo permitiré.



Ahora comenzaremos a crear las reglas en el Firewall.

Aprendiendo un poco sobre Firewall:

Para crear reglas en el Firewall debemos saber un poco de protocolos y puertos, les daré unos ejemplos.

Supongamos que un cliente quiere hacer una conexión a una pagina WEB (omitamos el DNS) supongamos solo que va a hacer una petición a la IP, como bien lo debemos saber los servidores WEB o HTTP por lo general abren el puerto 80 para que los clientes puedan ver el contenido de las paginas WEB.

Lo que ocurre es mas o menos lo siguiente. 






El cliente abre un puerto superior al 1024 para por ahí llevar una petición desde su IP, dicha peticion va dirigida hacia el puerto 80 de la IP del servidor.


Luego el servidor responde de la siguiente manera.



Ahora cambiaron los puertos de origen y destino y las IP de origen y destino ya que este es el trafico de vuelta.

Supongamos entonces que vamos a denegar todo en el Firewall y solo permitiremos este tipo de conexiones, lo que deberíamos hacer seria que desde el origen se permitan las conexiones desde la IP 192.168.100.2 (o desde toda la subred 192.168.100.0/24) con cualquier puerto de origen, hasta cualquier IP con puerto de destino 80. Y de vuelta se permitan conexiones desde cualquier IP con puerto de origen 80 hasta la IP 192.168.100.2 (o toda la subred 192.168.100.0/24) a cualquier puerto.


Creando las reglas del Firewall:

Ya tenemos mas o menos claro el concepto, ahora les mostrare como lo hice, en mi caso borre todas las reglas que habían creadas por defecto y comenzare a crearlas a mi gusto, las primeras reglas que deberemos configurar sera permitir el trafico HTTP y HTTPS para no cortar comunicación con el SDM.

Comenzamos con el trafico de origen y agregaremos una nueva regla.



Permitimos entonces esta IP con cualquier puerto de origen hasta cualquier IP con puerto de destino 80.




Insertamos una regla después.







Lo mismo con HTTPS lo único que cambia es el puerto de destino ya que es el 443.




Ahora denegaremos el resto de conexiones de salida, tanto TCP como UDP.



Así saldrán conexiones a Internet mas no se podrán hacer consultas DNS, en mi caso así quedaron las reglas de salida y permití el DNS el cual es el puerto 53 en TCP y UDP.






Ahora el trafico de vuelta, que en realidad es mas o menos lo mismo solo cambiaran el origen por el destino en puertos y en IP.



Así quedo mi trafico de vuelta. 


Con esto comenzaran a configurar satisfactoriamente su Firewall, espero que les haya servido, en el próximo manual les enseñare como hacer backup de los routers mediante TFTP pasando a través del Firewall, muchas gracias, comentar es agradecer.

Si has encontrado útil este artículo puedes compartirlo desde tu blog, página Web o foro.




2 comentarios:

Bernardo dijo...

Muy bueno y muy claro

Alejandro Calderon dijo...

Me alegra mucho que te haya gustado, ojalá lo compartas con más personas, saludos.

Publicar un comentario

 
Licencia Creative Commons
Este obra está bajo una licencia Creative Commons Atribución-NoComercial-SinDerivadas 2.5 Colombia.