Virtual Private Network (VPN)

Una VPN es una red privada que conecta interlocutores a través de redes públicas (por ejemplo Internet).

No garantiza confidencialidad, pero sí métodos criptográficos y autenticidad de datos. Para proporcionar confidencialidad se puede unir con IPSec (IP security) que sí proporciona esta característica junto con autenticidad e integridad.

 

IPSEC (IP Security)

Es un protocolo seguro de la capa de Red, contenido en el estándar 2401, es del IETF del 1999. Proporciona seguridad para IP y los protocolos de capas superiores. Provee control de acceso, integridad, rechazo o reenvio de paquetes, confidencialidad, autenticación y negociación de compresión IP. Es independiente de los algoritmos criptográficos, contempla su implementación en IPv4 e IPv6.

La arquitectura de IPSEC estácompuesta por: protocolos de seguridad (AH – Authentication Header y ESP – Encapsulation Security Payload), Asociaciones de seguridad (SA), IKE (Internet Key Exchange) y algoritmos de autenticación y cifrado.

 

Existen dos tipo de tecnologías VPN:

VPN DE ACCESO REMOTO

Se caracteriza porque los usuarios remotos deben tener acceso de banda ancha, el usuario establece un túnel VPN a través de un proveedor de servicios de Internet, el túnel se establece solo cuando se necesita y los parámetros VPN se negocian dinámicamente.

VPN SITE-TO-SITE

Son configuradas entre dos dispositivos compatibles en los extremos de la conexión, provee conectividad a múltiples redes en ambos lados de la comunicación y en cada extremo del túnel actúa como una puerta de enlace a las diferentes redes.

 

 

Práctica: VPN Site-to-Site

Capt22ura

Primero habría que realizar una lista de control de acceso poniendo como dirección de origen la red en la que estamos y la de destino la red a la que queremos conectarnos y después configurar una política IKE en el router R1, se identifican por números cuanto más bajo más prioridad tiene:

R1(config)# Access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255

R1(config)# crypto isakmp policy 10

R1(config-isakmp)# authentification pre-share

R1(config-isakmp)# group 2

R1(config-isakmp)# encryption aes

R1(config-isakmp)# exit

R1(config)# crypto isakmp key miclavevpn address 10.2.2.2

 Esta dirección última es la dirección serial del router de destino. Ahora una vez declaradas las políticas IKE, vamos a configurar las propiedades de IPSec en R1:

R1(config)# crypto ipsec transform-set SETVPN esp-3des esp-sha-hmac

R1(config)# crypto map MAPVPN 10 ipsec-isakmp

R1(config-crypto-map)# description VPN connection to R3

R1(config-crypto-map)# set peer 10.2.2.2

R1(config-crypto-map)# set transform-set SETVPN

 R1(config-crypto-map)# match address 101

R1(config-crypto-map)# exit

 Ahora pasamos a configurar el crypto-map en la interfaz que va a R3:

R1(config)# interface serial0/0

R1(config-if)# crypto map MAPVPN

 

Para finalizar lo único que hace falta es establecer el mismo procedimiento en sentido contrario, en nuestro caso de R3 a R1:

R3(config)# Access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255

R3(config)# crypto isakmp policy 10

R3(config-isakmp)# authentification pre-share

R3(config-isakmp)# group 2

R3(config-isakmp)# encryption aes

R3(config-isakmp)# exit

R3(config)# crypto isakmp key miclavevpn address 10.1.1.2

 Esta dirección última es la dirección serial del router de destino. Ahora una vez declarado el IPSec, vamos a configurar las propiedades de isakmp en R3:

R3(config)# crypto ipsec transform-set SETVPN esp-3des esp-sha-hmac

R3(config)# crypto map MAPVPN 10 ipsec-isakmp

R3(config-crypto-map)# description VPN connection to R1

R3(config-crypto-map)# set peer 10.1.1.2

R3(config-crypto-map)# set transform-set SETVPN

 R3(config-crypto-map)# match address 101

R3(config-crypto-map)# exit

 Ahora pasamos a configurar el crypto-map en la interfaz que va a R3

R3(config)# interface serial0/0

R3(config-if)# crypto map MAPVPN

 

Por ultimo, para comprobar el correcto funcionamiento podemos usar el comando: show crypto ipsec sa

 

 

 

 

 

 

 

 

 

 

Anuncios

Autenticación, autorización y auditoria

Buenos días, en este post quería comentar de qué se trata el protocolo AAA (Autenticación, Autorización y Auditoría) y además adjuntar una pequeña práctica en la que se emplea este protocolo de forma sencilla.

 

¿Qué es el protocolo AAA?

Se trata de un conjunto de protocolos que satisfacen estas tres características: autenticación, autorización y auditoria. Entre estos protocolos se encuentran: TACACS+ y RADIUS.

TACACS+ (terminal Access control access control server plus)

Está soportado por Cisco, es multiprotocolo, TCP, tiene paquete completamente cifrado, separa autenticación y autorización (por tanto hay mayor modularidad), desafío bidireccional y autorización comandos del router a usuarios y grupos.

RADIUS (remote dial-in user services)

Es un estándar abierto IRFC, UDP, no soporta ARA ni NetBEVI, tiene contraseña cifrada, no autoriza comandos, combina autorización y autenticación pero separa auditoría (por tanto hay menor flexibilidad), desafío unidireccional y respuesta desde el servidor RADIUS al cliente RADIUS.

 

Autenticación

Los usuarios y administradores deben probar que son quienes dicen ser. La autenticación puede establecerse por medio de combinaciones de usuario y contraseña, preguntas de desafío y respuesta, tarjetas token y otros métodos. Se utilizan dos tipos de autenticación en los router Cisco:

  • Local: Usa una base de datos local para la autenticación. Este método almacena los nombres de usuario y sus correspondientes contraseñas localmente en el router Cisco, y los usuarios se autentican en la base de datos local. Es ideal para redes pequeñas.
  • Basada en Servidor: Usa un recurso externo de servidor de base de datos que utiliza los protocolos RADIUS o TACACS+. Este tipo de autenticación es preferible para redes grandes.

Autorización

Una vez el usuario ha sido autenticado, los servicios de autorización determinan los recursos y operaciones a los que el usuario tiene acceso.

Auditoria

Registran lo que el usuario hace, incluyendo los recursos a los que accede, la cantidad de tiempo que se mantiene y cualquier cambio que se haga. Recolecta y reporta datos (comandos, fecha, hora, nombre, número de paquetes, número de bytes).

 

Práctica: AAA

Captuasdfra

Primero vamos a configurar por consola a R1:

R1(config)# username Admin1 secret admin1pa55

R1(config)# aaa new-model

R1(config)# aaa authentication login default local

R1(config)# line console 0

R1(config-con)# login authentication default

R1(config-con)#exit

 Ahora voy a configurar el router R1 pero esta vez por telnet:

R1(config)# aaa authentication login TELNET local

R1(config)# line vty 0 4

R1(config-con)# login authentication TELNET

R1(config-con)#exit

 A continuación vamos a realizar que la autentificación sea a través de un servidor y por tanto no sea local, para ello vamos a probar con el servidor TACACS+ que se encuentra en la dirección 192.168.2.2:

R2(config)# username Admin secret adminpa55

R2(config)# tacacs-server host 192.168.2.2

R2(config)# tacacs-server key tacacspass

R2(config)# aaa new-model

R2(config)# aaa authentication login default group tacacs+ local

R2(config)# line console 0

R2(config-con)# login authentication default

 Finalmente, decir que del mismo modo que se ha operado para el servidor TACACS+ se podría hacer con el servidor RADIUS:

R3(config)# username Admin secret adminpa55

R3(config)# radius-server host 192.168.3.2

R3(config)# radius-server key radiuspass

R3(config)# aaa new-model

R3(config)# aaa authentication login default group radius local

R3(config)# line console 0

R3(config-con)# login authentication default

Listas de Control de Acceso

Hace una semana empecé a escribir este post pero hoy ya lo he acabado, así que espero que os guste, trata sobre qué son las listas de acceso y adjunto una práctica sobre ella.

¿Qué es una lista de control de acceso o ACL?

Son listas secuenciales que dan permiso o deniegan direcciones IP o protocolos en una red y se aplican a una interfaz del router. Su utilización permite controlar y limitar el tráfico, controlar áreas de red y analizar hosts. Operan en la capa de Red y de Transporte.

La aceptación y rechazo se pueden basar en dirección origen, dirección destino, protocolo de capa superior y número de puerto. Las ACL no actúan sobre paquetes que se originan en el router dónde se encuentran sino sobre los paquetes que entran o salen. ACL pueden controlar la mayoría de protocolos en un router Cisco. Sólo se puede especificar una ACL por protocolo y por interfaz.

El lugar dónde se encuentre una ACL influye en la reducción del tráfico innecesario: las ACL extendidas se deben colocar lo más cerca posible del origen del tráfico denegado y las ACL estándar lo más cerca posible del destino.

Existen varios tipos de listas de control de acceso, aunque los más importantes son los dos primeros:

  • Estándar

Permiten o deniegan el tráfico desde una IP de origen. No importa el destino ni los puertos. Como número identificativo usan entre 1 y 99.

  • Extendida

Filtran por tipo de protocolo, IP de origen, IP de destino, puerto de origen, puerto de destino, información adicional,  puertos TCP UDP. Como número identificativo usan entre 101 y 199.

 

  • Nombradas: Se utiliza una cadena alfanumérica en lugar de números del 1- 199. Se suelen usar cuando todos los identificativos han sido utilizados.

Estos son tipos de listas de control de acceso complejas:

  • Dinámicas: Permite tráfico por un tiempo, producen errores por inactividad y superar el tiempo de espera.
  • Reflexivas: Sólo entradas temporales, sesiones de forma dinámica y sólo lleva a cabo la conexión si sólo es iniciado en una dirección. Usan los protocolos UDP e ICMP.
  • Basadas en tiempo: Similar a las ACL extendida con control de acceso basado en tiempo, rango horario, identifica el rango con nombre y se remite a él con una función, se puede poner restricciones temporales.

 

 Práctica: LISTA CONTROL ACCESO BÁSICAS (ACL)

Capt22ura

Primero vamos a hacer una lista estándar:

R3(config)# ip Access-list standard MIESTANDAR

R3(config-acl)# deny 192.168.11.0 0.0.0.255

R3(config-acl)# permit any

R3(config-acl)# exit

R3(config)# interface serial 0/0

R3(config-if)# ip acces-group MIESTANDAR in

R3(config-if)# end

 Una vez hecho esto vamos a probar a realizar una lista de control de acceso extendida:

R3(config)# ip Access-list extended MIEXTENDIDA

R3(config-acl)# deny ip 192.168.10.0 0.0.0.255 host 209.168.200.225

R3(config-acl)# permit ip any any

R3(config-acl)# exit

R3(config)# interface serial 0/0

R3(config-if)# ip acces-group MIEXTENDIDA out

R3(config-if)# end

 Finalmente, voy a realizar una lista de control de acceso estándar para controlar las líneas telnet:

R3(config)# ip Access-list standard MIOTRAESTANDAR

R3(config-acl)# permit 10.2.2.0 0.0.0.3

R3(config-acl)# permit 192.168.30.0 0.0.0.255

R3(config-acl)# deny any

R3(config-acl)# exit

R3(config)# line vty 0 4

R3(config-if)# acces-class MIOTRAESTANDAR in

R3(config-if)# end

 

Finalmente decir que cuando incluimos la lista de control de acceso a una interfaz o a una línea telnet o de consola introduzco el comando “in” o “out”. Usamos “in” si el tráfico o paquetes son entrantes, y en caso contrario “out” cuando los paquetes o tráfico es saliente.

¡Un saludo!

Firewall y usos en redes

Buenas noches,

ante todo quería disculparme por no escribir durante un mes, pero con la entrega de prácticas, el trabajo de fin de grado, y la semana santa de por medio, me ha sido imposible.

En el post de hoy quería explicar algunos conceptos del Firewall y adjuntar dos prácticas que he realizado, dónde se ven algunos comandos que utilizo y su empleo.

 

¿Qué es un Firewall?

Un firewall es un sistema que aplica una política de control de acceso dentro de la red.

Tiene la propiedad de ser el punto de tránsito sólo entre redes.

Entre los beneficios que proporciona está evitar la exposición a usuarios no confiables, prevenir la explotación de los fallos de protocolo, evitar que los datos maliciosos se envíen a los servidores y clientes, subordinar la ejecución de políticas de seguridad y reducir la complejidad de la gestión de la seguridad (control de red en un par de puntos). Entre los tipos de filtrado de un firewall se encuentran:

  • Cortafuego de filtrado de paquete

Algunos contenidos de los paquetes entrantes en los routers son filtrados. Trabaja en el nivel de red (direcciones IP e interfaz) y transporte (puertos y tipo de conexión) usando listas de acceso.

Se basan en permitir y denegar un conjunto de reglas, son compatibles con la mayoría de los routers, aplica a dispositivos de capa de red y tienen un bajo impacto en el rendimiento de la red, ya que son fáciles de implementar.

Sin embargo, las desventajas de este tipo de filtrado son que es susceptible a la falsificación de direcciones IP, son paquetes independientes, no guardan información de contexto y son difíciles de seguir en ejecución y usa ACL complejas, difíciles de mantener e implementar.

  • Cortafuego de estado

Es un tipo de filtrado de paquete que tiene en cuenta la conexión o nivel de flujo. Mantiene una tabla de estado y en función de ella se inspecciona cada paquete.

Como ventajas tiene que tiene un mayor rendimiento gracias al filtrado de paquete o servidores proxy, un control más estricto, defensa para filtrar paquetes no deseados y protege contra spoofing y ataque DoS.

Por otra parte no se pueden evitar ataques al nivel de aplicación, no son compatibles con la autenticación de usuarios, no todos los protocolos son STATEFUL (por ejemplo UDP e ICMP) y algunas aplicaciones requieren múltiples conexiones abiertas.

 

 CONTROL DE ACCESO BASADO EN CONTEXTO (CBAC)

Es una mejora radical en comparación de las opciones de firewall TCP established y ACLs reflexivas en varios aspectos como son: el monitoreo del establecimientos de conexiones TCP, revisar los números de secuencia TCP, inspeccionar consultas y respuestas DNS, tipos de mensajes ICMP, direcciones incrustadas, información de capa de aplicación y soportar aplicaciones de múltiples conexiones.

CBAC detecta y previene contra ataques populares en las redes, sólo ofrece detección y protección contra ataques que pasan a través del Firewall, y sólo ofrece filtrados para los protocolos especificados por el administrador (si no las listas de control de acceso se encargan).

 

Práctica: Configurando control de acceso basado en contexto (CBAC)

Capt22ura

Antes de nada, hay que configurar una lista de control de acceso para saber qué direcciones vamos a permitir y cuáles no, y ponerla en la interfaz correspondiente. En nuestro caso configuraremos el router R3:

R3(config)# ip Access-list extended FUERADENTRO

R3(config-ext-nacl)# den ip any any

R3(config-ext-nacl)# exit

R3(config)# interface serial0/1

R3(config-if)# ip access-group FUERADENTRO in

R3(config-if)#exit

Ahora pasamos a crear algunas reglas de inspección CBAC para distintos protocolos:

R3(config)# ip inspect name MICBAC telnet

R3(config)# ip inspect name MICBAC http

R3(config)# ip inspect name MICBAC icmp

Una vez declaradas estas reglas, podemos ponerles mensajes en el tiempo, haciéndolo de la siguiente forma:

R3(config)# ip inspect audit-trail

R3(config)# service timestamps debug datetime msec

R3(config)# logging host 192.168.1.3

Cuando acabamos de configurar las reglas CBAC como queremos, ahora sí tenemos que incluirlo en la interfaz correspondiente del siguiente modo:

R3(config)# interface serial 0/1

R3(config-if)# ip inspect MICBAC out

Ya hemos finalizado, para verificar estos resultados yo he usado los siguientes comandos:

  • Show ip inspect sessions
  • Show ip inspect interfaces
  • Show ip inspect config
  • Debug ip inspect detailed

 

FIREWALL BASADO EN ZONAS

Es un tipo de Firewall cuya diferencia con el Firewall de Control de Acceso basado en Contexto son el empleo de zonas, quedando en un router distintas zonas, en las que podemos declarar a una de ellas como origen y otra como destino. Un ejemplo de este tipo de firewall sería la siguiente práctica:

 

Práctica: Configurando Firewall basado en zona (ZPF)

Capt22ura

Si queremos poner un Firewall en el Router R3, después de poner las IPs y que haya conectividad entre todos los elementos escribimos lo siguiente:

Para declarar las zonas que serán la de dentro y la de fuera del tráfico en el router:

R3(config)# zone security ZONADENTRO

R3(config)# zone security ZONAFUERA

Ahora creamos una lista de acceso para permitir o denegar el tráfico que queremos que pase, en nuestro caso desde nuestra red 192.168.3.0 queremos que vaya a cualquier destino:

R3(config)# Access-list 101 permit 192.168.3.0 0.0.0.255 any

A continuación, declaramos un mapa dónde tendremos que incluir la lista de control de acceso previamente hecha:

R3(config)# class-map type inspect match-all MIMAPA

R3(config-cmap)# match access-group 101

R3(config-cmap)# exit

Una vez configurado el mapa con el nombre de MIMAPA (todo lo que está en mayúsculas son nombres identificativos). Ahora realizaremos una política basada en nuestro mapa:

R3(config)# police-map type inspect MIPOLITICA

R3(config-pmap)# class type inspect MIMAPA

R3(config-pmap-c)# inspect

Ahora vamos a crear un par de zonas dónde diremos qué zona (hechas al principio) serán la del origen y cual la del destino. Además de aplicar la política que acabamos de realizar a nuestro par de zonas:

R3(config)# zone-pair security MIPARDEZONAS source ZONADENTRO destination ZONAFUERA

R3(config-sec-zone-pair)# service-policy type inspect MIPOLITICA

R3(config-sec-zone-pair)#exit

Y por último sólo queda poner a cada interfaz la zona a la que pertenece:

R3(config)# interface fastEthernet0/0

R3(config-if)# zona-member security ZONADENTRO

R3(config-if)# exit

 R3(config)# interface serial0/0

R3(config-if)# zona-member security ZONAFUERA

R3(config-if)# exit

 Para verificar esta práctica yo he usado el comando: show policy-map type inspect zone-pair sessions

 

Para finalizar con este post, decir que unas buenas prácticas de Firewall son aquellas en la que se tienen en cuenta estos factores:

  • Controlar el acceso físico al Firewall
  • Monitorear regularmente los registros
  • Denegar el tráfico por defecto
  • Que el cortafuego sea la seguridad principal
  • Posicionar el Firewall en los límites de seguridad