Red Hat Enterprise Linux 3: Manual de seguridad | ||
---|---|---|
Anterior | Capítulo 6. Redes privadas virtuales | Siguiente |
IPsec se puede configurar para conectar un escritorio o estación de trabajo a otro a través de una conexión host-a-host. Este tipo de conexión utiliza la red a la cual estan conectados los hosts para crear un túnel seguro entre ellos. Los requerimientos de una conexión host-a-host son mínimos, como lo es la configuración de IPsec en cada host. Los hosts solamente necesitan una conexión dedicada al transportador de red (tal como la Internet) y Red Hat Enterprise Linux para crear la conexión IPsec.
El primer paso en la creación de una conexión es reunir la información del sistema y de la red de cada estación de trabajo. Para una conexión host-a-host, necesita la información siguiente:
La dirección IP para ambos hosts
Un nombre único para identificar la conexión IPsec y distinguirla de los otros dispositivos o conexiones (por ejemplo, ipsec0)
Una llave encriptada fija o una generada automáticamente por racoon
Una llave pre-compartida que se utiliza para iniciar la conexión e intercambiar las llaves de encriptación durante la sesión
Por ejemplo, suponga que la Estación A y la Estación B desean conectarse a través de un túnel IPsec. Ellas desean conectarse usando una llave pre-compartida con el valor de foobarbaz y los usuarios acuerdan dejar que racoon automáticamente genere y comparta una llave de autenticación entre cada host. Ambos usuarios de los hosts deciden nombrar sus conexiones como ipsec0.
Lo siguiente es el archivo ifcfg para la conexión IPsec de host-a-host para la Estación A. El nombre único para identificar la conexión en este ejemplo es ipsec0, por lo que el archivo resultante es llamado /etc/sysconfig/network-scripts/ifcfg-ipsec0.
DST=X.X.X.X TYPE=IPsec ONBOOT=yes IKE_METHOD=PSK |
La Estación A reemplazará X.X.X.X con la dirección IP de la Estación B, mientras que la Estación B, reemplaza X.X.X.X con la dirección IP de la Estación A. La conexión es configurada para iniciarse luego del arranque (ONBOOT=yes) y utiliza el método de autenticación de llave pre-compartida (IKE_METHOD=PSK).
Lo siguiente en el archivo de llave pre-compartida (llamado /etc/sysconfig/network-scripts/keys-ipsec0) que ambas estaciones de trabajo utilizan para autenticarse mutuamente. Los contenidos de este archivo deberían ser idénticos en ambas estaciones de trabajo y solamente el usuario root debería ser capaz de leer o escribir en el mismo.
IKE_PSK=foobarbaz |
![]() | Importante | |
---|---|---|
Para cambiar el archivo keys-ipsec0 para que solamente el usuario root pueda leerlo o modificarlo, ejecute el comando siguiente después de crear el archivo:
|
Para cambiar la llave de autenticación en cualquier momento, modifique el archivo keys-ipsec0 en ambas estaciones de trabajo. Ambas llaves deben ser idénticas para una conectividad apropiada.
El archivo /etc/racoon/racoon.conf debería ser idéntico excepto por la declaración include "/etc/racoon/X.X.X.X.conf". Esta declaración (y el archivo que referencia) es generado cuando se activa el túnel IPsec. Para la Estación A, X.X.X.X en la declaración include, es la dirección IP de la Estación B. Lo opósito es cierto también para la Estación B. A continuación se muestra un archivo típico racoon.conf cuando se activa la conexión IPsec.
# Racoon IKE daemon configuration file. # See 'man racoon.conf' for a description of the format and entries. path include "/etc/racoon"; path pre_shared_key "/etc/racoon/psk.txt"; path certificate "/etc/racoon/certs"; sainfo anonymous { pfs_group 2; lifetime time 1 hour ; encryption_algorithm 3des, blowfish 448, rijndael ; authentication_algorithm hmac_sha1, hmac_md5 ; compression_algorithm deflate ; } include "/etc/racoon/X.X.X.X.conf" |
Para iniciar la conexión, reinicie la estación de trabajo o ejecute el comando siguiente como root en cada host:
/sbin/ifup ipsec0 |
Para verificar la conexión IPsec, ejecute la utilidad tcpdump para ver los paquetes de red que están siendo transferidos entre los hosts (o redes) y verificar que están encriptados con IPsec. El paquete debería incluir una cabecera AH y se deberían mostrar como paquetes ESP. ESP significa que están encriptados. Por ejemplo:
17:13:20.617872 pinky.example.com > ijin.example.com: \ AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF) |