Version 8 (modified by alladoum, 18 years ago) (diff) |
---|
ENTREPRISE2? : Matériel? : 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 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 CLIENT1.ENT2?(10.40.0.13) et SERVEUR1.ENT2? (10.40.0.9).
- Vérifiez que les options
options IPSEC options IPSEC_ESP options IPSEC_DEBUG
sont bien présentes dans le noyau, sinon recompilez votre noyau.
- Installez IPSec-tools et Racoon ( votre bonheur se trouve dans les /usr/ports/security)
- Configurez IPSec pour FreeBSD:
-> 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.40.0.13/use; EOF-> Puis entrez
$ setkey -v -f /etc/ipsec.conf-> Maintenant, 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
- Configurer Racoon
-> 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 <christophe[dot]alladoum[at]gmail[dot]com>$ # $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 [...]
Pour plus d'infos, se référer aux man de setkey , racoon , ipsec
- Annexes:
Puissance | 700W |
Voltage | ?V |
Ampérage | ?A |