ï» FreeBSD IPsec/PGPnet

Interconectividad IPsec


Autor:   kING_z <king@v2project.com>

Data:  29-Oct-01.

Rev:  01102901.


Este documento pretende mostrar a compatibilidade que possui o sistema FreeBSD com outros sistemas como por exemplo plataformas Windows , nesta ocasi³ interconectividad a nível de protocolo cifrado de comunicações IPsec entre FreeBSD e PGPnet de Networks Associates em sua versi³ para uso pessoal.


Que é IPsec?

O mecanismo IPsec provê de uma transmisi³ segura para as comunicações da capa IP e a capa Socket, pode assegurar o tr¡ tanto IPv4 como IPv6.

IPsec pode ser usado para construir tuneles entre subredes (modo tunel) ou assegurar as comunicações entre duas maquinas diretamente (modo transporte) com a garantia de que os pacotes estan cifrados, autenticados e protegidos com anti-replay.

Por dise±#O, as comunicações mediante IPsec estan cifradas mediante algoritmos simetricos (Blowfish, DÊS,3DÊS). Isto é conhecido como ESP (conteúdo seguro encapsulado), no que o conteúdo do pacote é encriptado.

As cabeceiras do pacote permanecem intactas. Se não queres encriptar o trafico, podes usar IPsec num modo chamado AH (Cabeceira Autenticada). Neste modo o conteúdo do pacote não esta encriptado, mas os campos das cabeceiras são hasheados usando um algoritmo seguro, e se a± ao pacote uma cabeceira adicional que permite que a informaci³ do pacote seja autenticada. Neste documento se tratasse o modo transporte para a comunicacion entre duas m¡.


Implementaci³ do suporte IPsec em kernel



A± as seguintes lineas no fichero de configuraci³ do kernel


options  IPSEC            #IP security

options  IPSEC_ESP       #IP security (crypto; define w/ IPSEC)

options  IPSEC_DEBUG      #debug for IP security


Para instruções de como criar um novo kernel, dirigir-se à seccion “Configurando o Kernel em FreeBSD” do handbook.


Implementaci³ do meio seguro


Partimos da idéia de que nossa rede consta de duas maquinas


FreeBSD:  192.168.1.1

Windows:  192.168.1.2




Para poder prover de um sistema autom¡ para o intercâmbio de chaves entre as duas m¡. precisa-se o pacote racoon que se pode encontrar nos ports (/usr/ports/security/racoon), para nosso prop³ não é necessário modificar o fichero de configuracion (/usr/local/etc/racoon/racoon.conf) basta com a± a contrase±#A compartida em ( /usr/local/etc/racoon/psk.txt) e arrancar o daemon (/usr/local/sbin/racoon).


Exemplo do fichero psk.txt


   # /usr/local/etc/racoon/psk.txt

# IPv4/v6 addresses

#

192.168.1.2 eldemonio



O fichero de claves deve estar protegido com permissões 0600 de não ter as permissões adequadas racoon não arrancar¡:


# chown root.wheel /usr/local/etc/racoon/psk.txt

# chmod 0600 /usr/local/etc/racoon/psk.txt



Para que o daemon arranque quando o sistema se inicie, pode-se usar um script como o seguinte no fichero (/etc/rc.local).


#!/bin/sh

#

# /etc/rc.local

#

# racoon key exchange server

if %[ -x /usr/local/sbin/racoon ]; then

    echo -n “racoon "

    /usr/local/sbin/racoon -f /usr/local/etc/racoon/racoon.conf

fi



Agora são necessários os passos nos que se requer conexion autenticada e encriptada desde e para as ips das maquinas anteriormente definidas, para fazer isso há que a± as seguintes lineas ao fichero (/etc/ipsec.conf), e fazê-las ativas mediante

setkey -f /etc/ipsec.conf


Fichero de exemplo:


/etc/ipsec.conf


spdadd 192.168.1.1 192.168.1.2 any -P out ipsec esp/transport//require ;

spdadd 192.168.1.2 192.168.1.1 any -P in ipsec esp/transport//require ;


Desde este momento a maquina FreeBSD não aceitasse nenhuma conexion que não tenha sido autenticada e encriptada mediante a clave anteriormente descrita.

Para que a configuracion do ipsec fica ativa desde o arranque é necessário a± no /etc/rc.conf as seguintes l­:


ipsec_enable="YES”  # Set to YES to run setkey on ipsec_file
ipsec_file="/etc/ipsec.conf” # Name of config file for setkey


Configuracion do cliente


Como já se comentou antes o cliente que utilizaremos sera PGPnet que forma parte do pacote PGP freeware 7.03 que se pode descarregar gratuitamente de http://www.pgpi.com.



Tela About:


AbiWord Image0.png




Tela principal do PGPnet:



AbiWord Image1.png














Para a correta comunicacion com o sistema de intercâmbio de chaves e o suporte IPsec da maquina FreeBSD a configuracion dos algoritmos de encriptacion do PGPnet devem ficar como o seguinte:



AbiWord Image2.png




Agora há que a± um host ao que conectar (usaremos o modo experto):

AbiWord Image3.png

Ficando a ventada de estado como o seguinte:


AbiWord Image4.png




Muito importante: para este tipo de provas se recomenda se façam contra uma ip virtual do servo FreeBSD, porque caso contrário ante um erro pode fica incomunicado totalmente.


Agora qualquer conexion para a ip 192.168.1.1 (Maquina FreeBSD) lanzar¡ #el peticion de autentificacion e se establecera uma conexion segura.






Hosted by www.Geocities.ws

1