[wiki:Groupe1Entreprise2 ENTREPRISE2] : [wiki:Entreprise2Materiel Matériel] : [wiki:Entreprise2Client1 CLIENT1.ENT2] ---- * '''Description de la machine:''' Machine type Client sur le réseau d'entreprise. Il sera capable de créer une (ou plus) communication(s) sécurisée(s) avec le [wiki:Entreprise2Serveur1 SERVEUR1.ENT2] en mode Transport. * '''Caractéristiques matérielles:''' ||'''Nom Machine'''||'''CPU'''||'''RAM'''||'''DD'''||'''IPv4'''||'''IPv6'''||'''Adresse Mac'''|| ||CLIENT1.ENT2||667Mhz||128Mo||10Go||10.40.0.13/30||fe80::280:c8ff:feb9:d4dd||00:80:c8:b9:d4:dd|| * '''Caractéristiques logicielles:''' ||'''Système d'exploitation'''||'''HTTPd'''||'''SMTPd'''||'''SNMPd'''||'''MySQL'''||'''Autres'''|| ||FreeBSD 6.2|| non || non || non || oui || cf. liste || * ''' Caractéristiques de back-up ''' L'interface 0 (dc0) est l'interface directement reliée au réseau. Les autres interfaces possèdent toutes l'adresse IP 192.168.0.1/24 dans un but d'amélioration de capacité de restauration et/ou d'accès rapide. ---- = '''''Configuration d'un flux IPSec en mode Transport sous FreeBSD''''' = == Configuration d'IPSec == Cet exemple a été écrit pour la création d'un flux IPSec en mode Transport entre [wiki:Entreprise2Client1 CLIENT1.ENT2](10.40.0.13) et [wiki:Entreprise2Serveur1 SERVEUR1.ENT2] (10.40.0.9). [[BR]] * Vérifiez que les options {{{ options IPSEC options IPSEC_ESP options IPSEC_DEBUG }}} sont bien présentes dans le noyau, sinon [http://www.freebsdebutant.org/index.php?page=configuration_noyau recompilez votre noyau]. * Installez IPSec-tools et Racoon ( votre bonheur se trouve dans les /usr/ports/security) * Configurez IPSec pour FreeBSD: [[BR]] -> Créer le fichier /etc/ipsec.conf : {{{ $ cat > /etc/ipsec.conf << EOF # Definition des SA + Cles # Rappel : # 3des-cbc,cle de 192 bits (24o) # hmac-md5,cle de 128 bits(16o) flush; ## de client1 vers serveur1 add 10.40.0.13 10.40.0.9 ah 1000 -m transport -A hmac-md5 "1234567890123456"; add 10.40.0.13 10.40.0.9 esp 1001 -m transport -E 3des-cbc "123456789012345678901234"; ## de serveur1 vers client1 add 10.40.0.9 10.40.0.13 ah 2000 -m transport -A hmac-md5 "1234567890123456"; add 10.40.0.9 10.40.0.13 esp 2001 -m transport -E 3des-cbc "123456789012345678901234"; # Definition des SPD spdflush; spdadd 10.40.0.13 10.40.0.9 any -P out ipsec esp/transport/10.40.0.13-10.40.0.9/use ah/transport/10.40.0.13-10.40.0.9/use; # politique en entree spdadd 10.40.0.9 10.40.0.13 any -P in ipsec ah/transport/10.40.0.9-10.40.0.13/use esp/transport/10.40.0.9-10.0.0.13/use; EOF }}} -> Puis entrez {{{ $ setkey -v -f /etc/ipsec.conf }}} -> Si vous entrez {{{ $ setkey -D -P }}} la création des SA et SP devraient vous produire un affichage à peu près similaire à {{{ [root@SERVEUR1 ~]# setkey -P -D 10.40.0.13[any] 10.40.0.9[any] any in ipsec ah/transport/10.40.0.13-10.40.0.9/use esp/transport/10.40.0.13-10.40.0.9/use created: Apr 20 18:10:44 2007 lastused: Apr 20 18:10:44 2007 lifetime: 0(s) validtime: 0(s) spid=16393 seq=1 pid=7761 refcnt=1 10.40.0.9[any] 10.40.0.13[any] any out ipsec ah/transport/10.40.0.9-10.40.0.13/use esp/transport/10.40.0.9-10.40.0.13/use created: Apr 20 18:10:44 2007 lastused: Apr 20 18:10:44 2007 lifetime: 0(s) validtime: 0(s) spid=16392 seq=0 pid=7761 refcnt=1 }}} -> Pour automatiser cette procédure au démarrage de la machine, éditez dans /etc/rc.conf en ajoutant : {{{ ipsec_enable="YES" ipsec_file="/etc/ipsec.conf" }}} -> '''Votre démon IPSec sera actif avec les bons paramètres dès le prochain démarrage''' [[BR]] * Configurer Racoon [[BR]] -> Créer psk.txt initiant l'échange de clé partagé {{{ $ cat > psk.txt << EOF 10.40.0.9 mot_de_passe_t3$T EOF }}} L'adresse IP est celle de la cible (ici Serveur1), suivi du mot de passe. -> Créer racoon.conf. Vous pouvez vous inspirer de l'exemple fourni par défaut avec Racoon, ou bien utiliser (en le modifiant) celui-ci: {{{ $ cat > racoon.conf << EOF # $File: /home/chris/PRes/Postes_Rackables/ipsec_client1/racoon.conf $ # $MD5: 2922df40b60a8f1eb7116f90a485f84a $ # $By Christophe Alladoum $ # $Last-Modified: Fri Apr 20 18:28:11 2007$ # # Configuration de RACOON cote client # path include "/chemin/absolu/vers/ce/repertoire" ; path pre_shared_key "/chemin/absolu/vers/psk.txt" ; # path pre_shared_key "/root/ipsec_client1/psk.txt" ; # path certificate "/usr/local/etc/cert" ; # "log" indique le niveau de debug # choix : notify, debug, debug2 # log debug; padding { maximum_length 20; # maximum padding length. randomize off; # enable randomize length. strict_check off; # enable strict check. exclusive_tail off; # extract last one octet. } # Interfaces a ecouter (IPv4 et/ou v6) # Si aucune, ecoute sur toutes les interfaces de la machine listen { # pour le client IPv4 isakmp 10.40.0.13 [500]; # pour le client IPv6 # isakmp ::1 [7000]; } # Temporisateurs d echange de cle timer { counter 5; # maximum trying count to send. interval 20 sec; # maximum interval to resend. persend 1; # the number of packets per a send. # Temps max. pour chaque phase phase1 2 min; phase2 4 min; } # Cas du client1 remote 10.40.0.9 { exchange_mode aggressive,main; doi ipsec_doi; situation identity_only; nonce_size 16; lifetime time 60 min; # sec,min,hour initial_contact on; support_proxy on; proposal_check obey; # obey, strict or claim proposal { encryption_algorithm blowfish; hash_algorithm sha1; authentication_method pre_shared_key ; dh_group 5 ; } } # Cas du client1 sainfo anonymous { pfs_group 5; lifetime time 48 hour; encryption_algorithm 3des, cast128, blowfish 448, des; authentication_algorithm hmac_md5, hmac_sha1; compression_algorithm deflate ; } EOF }}} -> A présent, lancez: {{{ $ /usr/local/sbin/racoon -l /var/log/racoon.log -f /chemin/vers/racoon.conf }}} Un fichier de log (utile pour le debug) sera crée à l'adresse /var/log/racoon.log -> ''' Votre Racoon est lancé !! ''' et le traçage des paquets ISAKMP peut se voir, via le monitoring {{{ Capturing on dc3 [...] 904.714799 10.40.0.9 -> 10.40.0.13 ISAKMP Aggressive 904.715327 10.40.0.9 -> 10.40.0.13 ISAKMP Aggressive 904.715883 10.40.0.9 -> 10.40.0.13 ISAKMP Aggressive [...] }}} [[BR]] ---- Pour plus d'infos, se référer aux man de setkey , racoon , ipsec ---- * ''' Annexes:''' ||'''Puissance'''|| 700W || ||'''Voltage'''|| ?V || ||'''Ampérage'''|| ?A ||