wiki:Realisations/2006-2007/Projet/Entreprise2/Client1

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 MachineCPURAMDDIPv4IPv6Adresse Mac
CLIENT1.ENT2667Mhz128Mo10Go10.40.0.13/30fe80::280:c8ff:feb9:d4dd00:80:c8:b9:d4:dd
  • Caractéristiques logicielles:
Système d'exploitationHTTPdSMTPdSNMPdMySQLAutres
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