Este documento describe los pasos para configurar un firewall ASA, incluyendo la configuración de interfaces de red, asignación de niveles de seguridad, comprobación de conectividad mediante ping, habilitación de administración web, creación de listas de acceso y rutas predeterminadas. El objetivo es permitir el tráfico entre redes internas, DMZ y externas de forma segura.
1. Practica con firewall ASA
En la práctica que observaremos a continuación, se establecerá una
conexión con el fin de poner a prueba los parámetros funcionales de
los dispositivos activos enfocados a la seguridad y el filtrado de
servicios y paquetes
Proseguimos con al configuración previa de la interfaces de red y
demás detalles importantes para la conectividad.
2. Aquí podemos observar parámetros configurados tales como la
asignación de la ip a cada interfas,nivel de seguridad.todo esto fue
efectuados en el ASA
Podremos observar la configuración de interfaces también en los
router
Acontinuacion les explicare la configuración previa de algunos
parámetros un poco desconocios para algunos.
3. Asiganaremos el security-level o “nivel de seguridad”
Para que sea un poco más claro , como cada interfaz tiene un
“security-level” asignado , de la forma:
-Inside: security-level 100
-dmz: security-level 50
-outside: security-level 0
De esta forma, asignamos, en forma jerárquica, el número más alto, es
el que tiene más seguridad en comparacion de las restantes, aunque
la dmz, es donde están todos nuestros servicios/servidores estos,
también son vistos algunos en la internet, como la página web de la
org, concluyendo, de forma predeterminada, la inside podría ver a las
demás redes, pero no de forma inversa.
4. En primer lugar verificaremos la conectividad realizando un ping desde
los router ala puerta de enlace del ASA
Ping desde el dmz ala puerta de enlace
6. En este caso nuestro servidor web es un router entonces necesitamos
una ruta para poder realizar la conexión entre redes diferentes
Haora tenemos que relizarun acces-list para poder permitir la conexión
desde el cliente hasta el servidor web
ASA(config)# access-list pingc permit icmp any any echo-reply
ASA(config)# access-list pingc permit icmp any any
unreachable
ASA(config)# access-list pingc deny icmp any any
7. Asiganaremos al acces-list a la interfaz dmz
Efectuamos el ping desde el cliente hasta la web
Podemos apreciar que fue exitoso
8. Habilitaremos la administración por web
ASA (config)#ip http server
ASA (config)#ip http secure-server
Creamos un access-list para ingresar desde la inside al servidor web
ASA(config)# access-list web permit tcp 192.168.1.0 255.255.255.0
host 192.168.2.2 eq 80
Luego denegamos el trafico restante para evitar problemas de
seguridad
ASA(config)# access-list web deny ip any any
Asignamos la acceslist a la interfaz correspondiente
ASA(config-if)# access-group WEB in interface inside
9. Aqui podemos observer como accedemos a via web
crearemos una ruta por defecto, para que todo el tráfico entrante y
saliente hacia y desde el internet sea por la ruta que definamos, que
casi siempre será una ruta que la ISP nos asigna
10. tendremos que asignar una ruta por defecto para que el tráfico que
que haya conectividad entre el cliente de la lan y el servidor WEB e
internet una ruta estatica.
syo(config)#iproute 0.0.0.0 0.0.0.0 192.168.1.2
También tendremos que asignar una ruta por defecto para que el
tráfico que viene desde internet pueda comunicarse con nuestro ASA.
dmz(config)#iproute 0.0.0.0 0.0.0.0 200.200.1.1
11. ahora, asignaremos una IP pública que rentaremos para poder ver el
servidor Web desde internet usando NAT
dmz(config)# static (dmz,outside) 200.200.1.15 192.168.2.2 netmask
255.255.255.255
tenemos que crear una access-list para poder permitir las peticiones
http en nuestra red, desde la outside.
ASA(config)# access-list publica permit tcp any 200.200.1.15
255.255.255.0 eq 80
ASA(config)# access-list public deny ip any any
ASA(config)# interface ethernet 0/2
ASA(config-if)# access-group publica in interface outside
Hagamos una prueba lo anterior simulando un cliente de internet
12. Crearemos un POOL de direcciones públicas para que nuestros
usuarios de nuestra inside (LAN), puedan salir a internet
Para que los usuarios de la inside “LAN”, puedan realizar una petición
de nuestro servidor Web local y no tengan que recorrer internet para
encontrarlo, hacemos un nat“0” en el ASA y como global, asignaremos
un rango de direcciones públicas para que nuestros clientes puedan
salir a internet
ASA(config)# nat (inside) 0 192.168.1.0 255.255.255.0
ASAconfig)# global (outside) 1 200.200.1.3-200.200.1.10
Tenemos que agregar una access-list para poder permitir que la lan
pueda hacer peticiones web hacia todas las redes, es decir, la internet.
Como ya tenemos una acces-list asignada ala interfaz inside lo que
haremos será aditarla para agregar un nueva línea
ASA(config)# access-list web permit tcp 192.168.1.0 255.255.255.0
any eq 80
ASA(config)# access-list web permit tcp 192.168.1.0 255.255.255.0
any eq 443
Estas 2 lineas la agregamos con el fin de permitir la conexiones
seguras y las conexiones no seguras.
13. Haora veremos la utilidad de algunos comandos ala hora de verificar
conectividad y disponibilidad en la red.
elpacket-tracer, su uso es fundamental para el reconocimiento de
errores en nuestra red
ASA# packet-tracer input inside tcp 192.168.1.2 1234 5 192.168.2.2
http
input = decimos si es tráfico entrante o saliente
inside = nombre de la interfaz, como en nuestro caso, inside, outside,
dmz
tcp = protocolo a hacer el trazado
192.168.1.2 = dirección IP de origen
1234 = puerto origen
172.16.0.2 = dirección IP de destino
http = protocolo de destino
todo tiene que salir Allow para que este bien
result=allow
tambien podemos haser una busqueda especifica con la herramienta
greep
ASA(config)# show running-config | grep nat
14. Tambien cuando queremos ver la configuracion de una acces-list
Usamos el comando
ASA#show access-list
Otra de las herramientas es la captura de paquetes por medio de
una access-list. primero hacemos una access-list y permitimos todo el
tráfico ip del host o red que queremos capturar.
ASA(config)# capture cap0 access-list cap0 interface outside