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

 

 

 

 

 

 

 

 

 

 

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

PGP Desktop

Esta semana he estado tratando con la herramienta PGP “Pretty Good Privacy”. Es un programa desarrollado por Phil Zimmermann que combina técnicas de criptografía simétrica y criptografía asimétrica, lo que la hace una herramienta de seguridad potente y con una interfaz gráfica sencilla. Con este programa podemos proteger nuestra información tanto en local como al circular por Internet.

Funcionamiento PGP

Su funcionamiento se basa en que cifra con dos claves, una privada y una pública siendo la privada la nuestra y la pública la de a quien queramos enviar el archivo cifrado. Para descifrar, se produce el proceso al contrario, se usa la privada la llave del receptor y como pública la nuestra. Este es el principio básico del cifrado asimétrico. En esta herramienta, necesitamos tener todas las llaves, la nuestra y la de la persona a la que queremos enviar la información firmada o cifrada. Para ello se importan desde un servidor.  

 Ahora os detallaré de forma breve cómo descargar, instalar y probar «PGP Desktop»:

  • Nos metemos en la página oficial de Symantec, y descargamos la versión de prueba: http://www.symantec.com/es/es/
  • Nos tenemos que registrar en Symantec, así pues metemos nuestro correo y rellenamos los datos pertinentes.
  • Cuando lo hayamos descargado (Window, MAC o Linux), en el fichero habrá dos archivos ejecutables, e instalaremos el que sea conveniente para nuestro ordenador (32 o 64).
  • Al principio, el programa nos pide que aceptemos el contrato de licencia, después nos aparecerá un recuadro para poner la clave de licencia, que tendremos nosotros en nuestro correo cuando nos registramos, lo introducimos y cuando esté instalado nos pedirá reiniciar el ordenador.
  • Una vez que hayamos instalado el criptosistema PGP, lo primero que vamos a hacer es generar una nueva llave.
  • Después nos saldrá un asistente de instalación. Además de rellenar con el nombre completo, el correo principal y establecer la configuración avanzada de la llave, tenemos que poner una contraseña.
  • En el programa de PGP, para importar llaves en el servidor, seleccionamos la llave que queramos meter, le damos a botón derecho y en enviar a, seleccionamos la segunda opción: ldap://keyserver.pgp.com:389 que es el servidor de claves PGP. Otra manera es entrando en la página y dándole a cargar llave: https://keyserver.pgp.com.
  • Para buscar, descargar e importar llaves se puede entrar en el servidor, en la página https://keyserver.pgp.com, en búsqueda ponemos el id o el correo de la llave a buscar, la descargamos y cuando hacemos doble clic importamos dicha llave a nuestras llaves.
Para cifrar, firmar, cifrar y firmar o descifrar, es tan sencillo como darle a botón derecho el archivo que queráis y cifrarlo o firmarlo.
En el caso de que queráis cifrar o firmar un texto, de un correo por ejemplo, podéis copiar el texto, cuando esté copiado en el porta-papeles, en el símbolo de abajo a la derechera (candado), hacemos clic en el botón derecho, porta-papeles, cifrar y firmar os saldrá el texto cifrado que podéis mandar a quien queráis que lo lea, garantizando así el autenticidad del mensaje.

El autor del siguiente vídeo explica cómo cifrar un archivo: