PDF de programación - BULMA: VPN con KAME IPsec y kernel 2.6

Imágen de pdf BULMA: VPN con KAME IPsec y kernel 2.6

BULMA: VPN con KAME IPsec y kernel 2.6gráfica de visualizaciones

Actualizado el 10 de Abril del 2020 (Publicado el 8 de Mayo del 2017)
989 visualizaciones desde el 8 de Mayo del 2017
247,9 KB
10 paginas
Creado hace 18a (13/01/2006)
Bisoños Usuarios de GNU/Linux de Mallorca y Alrededores | Bergantells Usuaris de GNU/Linux de Mallorca i Afegitons

VPN con KAME IPsec y kernel 2.6 (1038 lectures)
Per Jaume Sabater, Primetime (http://www.linuxsilo.net/)
Creado el 07/01/2006 17:21 modificado el 07/01/2006 17:21

Este tutorial pretende mostrar cómo montar una VPN (del inglés, Virtual Private Network) entre dos máquinas usando la
implementación KAME IPSec(1) disponible en la rama 2.6 del kernel de Linux(2). Paso a paso se configurará una VPN en
modo túnel entre dos puertas de enlace usango IPSec(3), Racoon(4) y una clave compartida (del inglés, Shared Secret o
Shared Key). En este tutorial se ha escrito a partir de una VPN montada entre dos máquinas con Debian GNU/Linux(5)
Sarge y se ha usado Netfilter/IPtables(6) para el filtrado.

Índice

. 1 Introducción
. 2 Instalación y configuración de una VPN
. 3 Configuración de una VPN en modo túnel
. 4 Sobre los algoritmos de cifrado y autenticación
¿Qué es la criptografía?
¿Qué es la criptografía de clave secreta?
¿Qué es la criptografía de clave pública?
¿Qué es Diffie-Hellman?
¿Qué son SHA y SHA-1?
¿Qué son MD2, MD4 y MD5?

. 5 Bibliografía
. 6 Historial de revisiones

Introducción
IPSec puede operar de dos maneras diferentes:
1. Modo túnel (del inglés, Tunnel mode). El propósito de este modo es establecer una comunicación segura entre dos redes remotas sobre
un canal inseguro. Por ejemplo:



LAN A

Gateway A

Canales IPSec

Internet

Canales IPSec

Gateway B

LAN B

IPSec en modo túnel entre las dos puertas de enlace A y B

2. Modo transporte (del inglés, Transport mode). El propósito de este modo es establecer una comunicación segura punto a punto, entre
dos hosts y sobre un canal inseguro. Por ejemplo:



Cliente

Canales IPSec

Dial-up

Canales IPSec

Internet

Canales IPSec

Servidor

IPSec en modo transporte entre un host cliente y uno servidor

Normalmente las VPNs se configuran en modo túnel.
IPsec funciona a partir de dos bases de datos:

. 1 SPD (Security Policy Database, en inglés Base de datos de políticas de seguridad). Estas políticas le dicen a IPSec cuando debe o

no debe actuar sobre un paquete IP.

. 2 SAD (Security Association Database, en inglés Base de datos de asociaciones de seguridad). Estas asociaciones le dicen a IPSec

cómo debe crear el canal entre las dos máquinas.

Una SP o política de seguridad (del inglés, Security Policy) está formada, básicamente, por lo siguientes aspectos:
Rango de direcciones de origen. Si la dirección de origen del paquete está dentro de este rango, entonces...
Rango de direcciones de destino. Si la dirección de destino del paquete está dentro de este rango, entonces...
Protocolo de alto nivel. Si el protocolo del paquete es tcp, udp, icmp, cualquiera, entonces...
Política que se aplicará. Que consta de la dirección del canal a crear (entrada o salida) y la acción a tomar (discard, none o ipsec).

En el caso de aplicarse la política ipsec sobre el paquete, deberán especificarse los siguientes datos:

Protocolo IPSec a usar: ah, esp o ipcomp.
Modo IPSec que se usará (túnel o transporte). En el caso de túnel se deberán especificar las direcciones IPs de inicio y fin del
mismo.
Nivel IPSec:

default: nivel estándar.
use: usar una asociación de seguridad (SA) sólo si está disponible, o darle al paquete el tratamiento habitual en su defecto.
require: el uso de la asociación de seguridad es obligatorio para que se envíe el paquete.

Nota: si no hay una asociación de seguridad disponible, el kernel solicita una negociación de asociación de seguridad al demonio IKE
(racoon).
Una asociación de seguridad (SA) está formada principalmente por los siguientes aspectos:

Dirección IP de origen.
Dirección IP de destino.
Protocolo IPSec que debe usarse: ah, esp o ipcomp.
Índice numérico (SPI, del inglés Security Parameter Index).
Modo del protocolo: tunnel, transport o any (cualquiera de los dos).
Algoritmos:

Autenticación y la clave
Cifrado y la clave
Cifrado y autenticación con las claves
Compresión

Nota: las asociaciones de seguridad (SA) sólo pueden usarse si están asociadas con una política, y esta asociación sólo puede establecerse
si existe una política cuyas reglas tengan los mismos parámetros que la asociación de seguridad (SA). Aún así, puede haber una política
de seguridad (SP) funcional sin una asociación de seguridad (SA) en uno de los dos casos siguientes:

. 1 Cuando la política de seguridad (SP) tiene el tipo none o discard y no haya ninguna asociación de seguridad (SA) que usar, pues
. 2 Cuando la asociación de seguridad (SA) sea creada dinámicamente por el demonio IKE (racoon).

IPSec no será aplicado.

Instalación y configuración de una VPN
Antes de seguir deberemos asegurarnos de que tenemos un kernel 2.6 instalado y funcionando. Si es así, los siguientes paquetes deberían
estar ya instalados:

cramfsprogs: Tools for CramFs (Compressed ROM File System)
dash: The Debian Almquist Shell
initrd-tools: tools to create initrd image for prepackaged Linux kernel
module-init-tools: tools for managing Linux kernel modules

A continuación se listan las opciones específicas del kernel que son necesarias para la VPN. Estas opciones activarán sus dependencias
pero, de todos modos, se considera que el usuario ya tiene un kernel 2.6 con iptables funcionando.
Cryptographic options

MD5 digest algorithm
SHA1 digest algorithm
DES and Triple DES EDE cipher algorithms
Blowfish cipher algorithm
AES cipher algorithms (i586)
Deflate compression algorithm
CRC32c CRC algorithm

Device Drivers: Networking support: Networking options

PF_KEY sockets
IP: AH transformation
IP: ESP transformation

IP: IPComp transformation
IP: tunnel transformation
IPsec user configuration interface

Device Drivers: Networking support: Networking options: Network packet filtering (replaces ipchains): IP: Netfilter Configuration

IP tables support (required for filtering/masq/NAT)
AH/ESP match support
Packet filtering
MASQUERADE target support

En el fichero /usr/src/linux/.config serían las siguientes opciones:

# Networking options
CONFIG_NET_KEY=y
CONFIG_INET_AH=y
CONFIG_INET_ESP=y
CONFIG_INET_IPCOMP=y
CONFIG_INET_TUNNEL=y

# IP: Netfilter Configuration
CONFIG_IP_NF_IPTABLES
CONFIG_XFRM_USER
CONFIG_IP_NF_MATCH_AH_ESP
CONFIG_IP_NF_FILTER
CONFIG_IP_NF_TARGET_MASQUERADE

# Cryptographic options
CONFIG_CRYPTO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_DES=y
CONFIG_CRYPTO_BLOWFISH=y
CONFIG_CRYPTO_AES_586=y
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_CRC32C=y



Si, tras finalizar de leer el artículo, estamos seguros de que sólo vamos a usar un algoritmo de cifrado, por ejemplo Blowfish y no DES o
AES, entonces obviamente el segundo no será necesario. De todos modos, el autor recomienda seleccionar todas las opciones para que
cuando queramos cambiar de algoritmo no tengamos que recompilar el kernel y reiniciar la máquina.
Los paquetes necesarios para instalar y configurar una VPN con KAME IPSec sobre kernel 2.6 son los siguientes:

ipsec-tools: IPsec tools for Linux
racoon: IPsec IKE keying daemon
iproute: Professional tools to control the networking in Linux kernels
iptables: Linux kernel 2.4+ iptables administration tools

Nota: durante la instalación del paquete racoon elegiremos el método de configuración directo.
Asimismo, se recomienda la instalación de los siguientes paquetes:

dnsutils: Clients provided with BIND
tcpdump: A powerful tool for network monitoring and data acquisition
ntpdate: The ntpdate client for setting system time from NTP servers

Por lo tanto, como root, ejecutaremos:

apt-get install ipsec-tools racoon iproute iptables dnsutils tcpdump ntpdate
Con el kernel 2.4 de Linux(7) y FreeS/WAN(8), la asociación del tráfico cifrado y las zonas se hacía fácil gracias a la presencia de
pseudointerfaces con nombres del estilo ipsecn (p.e. ipsec0). El tráfico cifrado saliente era enviado a través de un dispositivo ipsecn
mientras que el tráfico cifrado entrante llegaba desde un dispositivo ipsecn. La implementación introducida en el kernel 2.6(9) prescinde
de estas pseudointerfaces. El tráfico saliente que va a ser cifrado y el tráfico entrante que debe ser descifrado deben compararse con las
políticas en la SPD (del inglés, Security Policty Database) o de la SA (del inglés, Security Association) apropiada.
Configuración de una VPN en modo túnel
Supongamos que nos interesa que las máquinas de la subred local 192.168.0.0/24 sean capaces de comunicarse con los de la subred local
192.168.1.0/24. Ambas redes locales acceden a internet mediante sendas puertas de enlace 192.168.0.1 y 192.168.1.1, respectivamente.
Las puertas de enlace tienen IPs públicas 213.96.80.51 y 80.36.214.182, respectivamente. En ambos gateways existen dos interfaces de
red, una conectada a la LAN y otra a la WAN. La interfaz conectada a la red local es eth0 y la interfaz conectada al router es eth1 en
ambos casos. Entonces, la topología de red es la siguiente:

192.168.0.0/24

192.168.0.1 213.96.80.51

Internet

80.36.214.182 192.168.1.1

192.168.1.0/24



Para conseguir esto necesitamos hacer dos cosas:

Red A <-> Red B

. 1 Abrir el cortafuegos de modo que se permita establecer un túnel IPSec (permitir los protocolos ESP y AH y el puerto UDP 500)
. 2 Permitir el tráfico a través del túnel.

Para permitir el tráfico por el túnel, empezaremos configurando las políticas de seguridad. Para gestionar dichas políticas, Debian cuenta
con un demonio llamado setkey, manejable mediante el script /etc/init.d/setkey, el cuál ejecuta las sentencias que se encuentren en el
fichero /etc/ipsec-tools.conf tras haber borrado las políticas que estén cargadas actualmente. Para una conexión de este tipo necesitaremos
ocho entradas en el fichero /etc/ipsec-tools.conf del gateway A (192.168.0.1):

spdadd 192.168.1.0/24 192.168.0.0/24 any -P in ipsec esp/tunnel/80.36.214.182-213.96.80.51/require;
spdadd 192.168.1.0/24 213.96.80.51/32 any -P in ipsec esp/t
  • Links de descarga
http://lwp-l.com/pdf3380

Comentarios de: BULMA: VPN con KAME IPsec y kernel 2.6 (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad