S3L5 Ipsec exportVM
S3L5 Ipsec exportVM
S3L5 Ipsec exportVM
1 Introduction
Une entreprise est située sur deux sites distants. Les réseaux privés associés LAN1 et LAN2
sont interconnectés à Internet, comme le montre la Figure 1. Le réseau LAN 2 héberge un ser-
veur http et les clients des réseaux LAN1 et LAN2 accèdent à Server. L’entreprise souhaite
configurer un VPN IPsec site-à-site entre les firewalls F w1 et F w2 pour permettre à un employé
du LAN1 de se connecter au serveur du LAN2 de façon sécurisée.
1
ATTENTION au copier-coller des configurations du TP qui nécessite d’adapter les
guillemets
2 Lancement du TP
Dans la machine virtuelle Labtainers, lancez le TP de la manière suivante à partir du réper-
toire courant (~/labtainer/labtainer-student) :
@f w1
# !/usr/sbin/setkey -f
flush ;
spdflush ;
add 172.20.0.1 172.20.0.3 ah 0x200 -m tunnel -A hmac-sha1 “hmacsha1authenticati”;
add 172.20.0.3 172.20.0.1 ah 0x300 -m tunnel -A hmac-sha1 “12345678910111213141”;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P out ipsec
ah/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P in ipsec
ah/tunnel/172.20.0.3-172.20.0.1/require ;
@f w2
# !/usr/sbin/setkey -f
flush ;
spdflush ;
add 172.20.0.1 172.20.0.3 ah 0x200 -m tunnel -A hmac-sha1 “hmacsha1authenticati”;
add 172.20.0.3 172.20.0.1 ah 0x300 -m tunnel -A hmac-sha1 “12345678910111213141”;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P in ipsec
ah/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P out ipsec
ah/tunnel/172.20.0.3-172.20.0.1/require ;
? add : sert à définir une association de sécurité SA dans la base SAD (Security association
Database).
? spdadd : sert à ajouter une politique de sécurité dans la SPD (Security Policy Database).
2
Lancez la mise à jour de la politique de sécurité pour la prise en compte par la pile protocolaire
de F w1 et F w2 :
Vérifiez que cette politique est bien prise en compte par la pile de protocoles :
a) SPI
b) Numéro de séquence
c) Identifiant de l’association de sécurité
d) Code d’authentification du message
Q2 : Que signifie la politique de sécurité ” spdadd 172.25.0.0/16 172.35.0.0/16 any -P in ipsec
ah/tunnel/172.20.0.1-172.20.0.3/require ; ” [1 bonne réponse]
Visualisez sur wireshark les traces obtenues. Il est conseillé de cliquer sur le paquet que vous
souhaitez analyser et de regarder le détail de son contenu. Vous devez observer la présence de
l’entête Authentication Header.
3
Q3 : Quelle figure décrit l’encapsulation du sous-protocole AH en mode tunnel ?
a)
b)
c)
Q4 : Quels mode et protocole d’IPsec peuvent être utilisés pour sécuriser les communications
entre deux réseaux locaux distants [2 bonnes réponses]
@f w1
# !/usr/sbin/setkey -f
flush ;
spdflush ;
add 172.20.0.1 172.20.0.3 esp 0x201 -m tunnel -E 3des-cbc “secretsecretsecretsecret” -A
hmac-sha1 “hmacsha1authenticati”;
add 172.20.0.3 172.20.0.1 esp 0x301 -m tunnel -E 3des-cbc “autresecretautresecretau”
-A hmac-sha1 “12345678910111213141”;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P out ipsec
esp/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P in ipsec
esp/tunnel/172.20.0.3-172.20.0.1/require ;
@f w2
# !/usr/sbin/setkey -f
flush ;
spdflush ;
add 172.20.0.1 172.20.0.3 esp 0x201 -m tunnel -E 3des-cbc “secretsecretsecretsecret” -A
hmac-sha1 “hmacsha1authenticati”;
add 172.20.0.3 172.20.0.1 esp 0x301 -m tunnel -E 3des-cbc “autresecretautresecretau”
-A hmac-sha1 “12345678910111213141”;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P in ipsec
esp/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P out ipsec
esp/tunnel/172.20.0.3-172.20.0.1/require ;
4
Relancez wireshark sur F w1.
Relancez la mise à jour sur les deux firewalls.
A partir du Client, connectez-vous en http sur Server.
a) Les adresses IP
b) Les types de connexion
c) Types de systèmes d’exploitation
d) RAM requise
Q6 : A quoi servent les éléments ” spdflush ” et ” flush ” dans le fichier de configuration ?
Utilisez la commande en ligne man pour répondre à la question. [2 bonnes réponses]
5
172.20.0.3 moocsecureseaumoocsecu
@f w2
172.20.0.1 moocsecureseaumoocsecu
6
@f w2
log notify ;
path pre shared key “/etc/racoon/psk.txt”;
remote 172.20.0.1 {
exchange mode main,aggressive ;
lifetime time 24 hour ;
proposal {
encryption algorithm 3des ;
hash algorithm sha1 ;
authentication method pre shared key ;
dh group modp2048 ;
}
}
sainfo address 172.35.0.0/16 any address 172.25.0.0/16 any {
pfs group modp2048 ;
lifetime time 1 hour ;
encryption algorithm aes ;
authentication algorithm hmac sha1 ;
compression algorithm deflate ;
}
? path pre shared key : sert à spécifier le chemin dans lequel se trouve la clé pré-partagée.
? remote : sert à spécifier les algorithmes utilisés pendant la phase 1 du protocole IKE.
? proposal : sert à décrire les algorithmes utilisés.
? exchange mode : sert à décrire le mode d’échange de la phase 1. En effet, il existe trois
modes : main, base et aggressive.
? encryption algorithm : sert à décrire l’algorithme de chiffrement utilisé dans la phase 1.
? hash algorithm : sert à décrire l’algorithme de ” hachage ”.
? authentication method : sert à décrire l’algorithme d’authentification de la phase 1. Dans
notre cas, on utilise une clé pré-partagée (Pre-shared Key). Dans le cas des certificats,
l’algorithme d’authentification utilisé est ” rsasig ”.
? dh group (resp. pfs group) : sert à décrire l’algorithme d’échange de clefs Diffie-Hellman de
la phase 1 (resp. phase 2) avec la codification possible suivante : 1=modp768,2=modp1024,
14=modp2048, ...,18=modp8192.
? sainfo : sert à spécifier les algorithmes utilisés pendant la phase 2 du protocole IKE.
? encryption algorithm : sert à décrire l’algorithme de chiffrement utilisé pour ESP.
? authentication algorithm : sert à décrire l’algorithme d’authentification pour ESP et AH.
7
@f w1
# !/usr/sbin/setkey -f
flush ;
spdflush ;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P out ipsec
esp/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P in ipsec
esp/tunnel/172.20.0.3-172.20.0.1/require ;
@f w2
# !/usr/sbin/setkey -f
flush ;
spdflush ;
spdadd 172.25.0.0/16 172.35.0.0/16 any -P in ipsec
esp/tunnel/172.20.0.1-172.20.0.3/require ;
spdadd 172.35.0.0/16 172.25.0.0/16 any -P out ipsec
esp/tunnel/172.20.0.3-172.20.0.1/require ;
a) Main
b) Aggressive
c) Base
Q10 : Quel(s) est le(s) type(s) de payload présent(s) en clair dans les messages ” Identity
Protection ” de ISAKMP ? [2 bonnes réponses]
a) Security Policy
b) Security Association
c) Key Exchange
d) Identification
Q11 : En utilisant Wireshark, quel est l’algorithme de chiffrement retenu pour IKE au mo-
ment de la négociation ?
a) AES-CBC
8
b) 3DES-CBC
c) 3DES-ECB
d) AES-CFB
Lancez Wireshark sur F w1 et écoutez sur l’interface eth0. Constatez que le trafic passe en
clair.
@client /etc/racoon/psk.txt
X.X.X.X moocsecureseaumoocsecu
9
@server /etc/racoon/racoon.conf
log notify ;
path pre shared key “/etc/racoon/psk.txt”;
remote X.X.X.X{
exchange mode main,aggressive ;
lifetime time 24 hour ;
proposal {
encryption algorithm 3des ;
hash algorithm sha1 ;
authentication method pre shared key ;
dh group 2 ;
}
}
sainfo address X.X.X.X any address X.X.X.X any {
pfs group 2 ;
lifetime time 1 hour ;
encryption algorithm aes ;
authentication algorithm hmac sha1 ;
compression algorithm deflate ;
}
@server /etc/racoon/psk.txt
X.X.X.X moocsecureseaumoocsecu
@server /etc/ipsec-tools.conf
# !/usr/sbin/setkey -f
flush ;
spdflush ;
spdadd 172.25.0.2 172.35.0.4 any -P in ipsec
esp/transport//require ;
spdadd 172.35.0.4 172.25.0.2 any -P out ipsec
esp/transport//require ;
10
Q12 : Quel est le nombre d’associations de sécurité observé sur Wireshark du F w1 sur eth0 ?
a) 2
b) 3
c) 4
Q13 : Quels sont les champs chiffrés dans les paquets émis par Client vers Server ? [1 bonne
réponse]
a) L’en-tête IP d’origine
b) L’en-tête IP d’origine et les champs de données
6 Fin du TP
Une fois le TP complété, vous pouvez stopper les conteneurs Labtainers en tapant la com-
mande dans le terminal de l’apprenant :
stop.py
11