Cette méthode peut être appliquée en même temps et en parallèle à l'usage des secrets prépartagés. Je vous recommande la lecture de la page précédente qui traite ce sujet : preshared_secrets.htm.
ipsec configuration files
1) IPSEC Main
Configuration File
2) Pluto Shared Secrets
q) quit
----------------------------------------------------------------------------
Selection:
Là encore, voyez les exemples laissés dans mes fichiers de configuration. Je passerai sous silence ce qui est déjà décrit dans la page relative aux phrases secrêtes prépartagées.
Comment ça marche ?
Voici un exemple de tunnel :
conn VE3BHFtoF6HQZ
authby=rsasig
left=%defaultroute
leftsubnet=44.151.177.64/27
leftfirewall=yes
leftrsasigkey=0sAQOUJ7EANZKl2XSlf...
leftid=@F6HQZ
right=router.8inchfloppy.com
rightsubnet=44.135.202.224/27
rightfirewall=yes
rightrsasigkey=0sAQNOi+qwOBgFHPbY...
rightid=@VA3BHF
esp=3des-md5-96
auto=add
Le nom de la connexion est VE3BHFtoF6HQZ. C'est mon premier tunnel avec une zone radioamateur hors de nos frontières. Ce fût une première mondiale en ce qui concerne notre petit monde :-)
"authby=rsasig" signifie que les deux correspondants sont identifiés par leurs
clefs RSA respectives.
Celles de la passerelles de sécurité sont enregistrées dans le fichier
/etc/ipsec.secrets :
"leftrsasigkey=0sAQOUJ7EANZKl2XSlf..."
Notre clef RSA publique, voir plus bas.
"leftid=@F6HQZ"
l'identifiant de notre machine (arbitraire, mais pratique sous cette forme).
"rightid=@VA3BHF"
L'identifiant de mon camarade de jeux.
"rightrsasigkey=0sAQNOi+qwOBgFHPbY..."
La clef publique de notre correspondant à l'autre bout du tunnel, remise par lui-même
dans un mail précédent.
Voyons maintenant notre fichier /etc/ipsec.secrets :
# This file holds shared secrets or RSA
private keys for inter-Pluto
# authentication. See ipsec_pluto(8) manpage, and HTML documentation.
80.13.8.11 212.180.113.45 : PSK "phrasesupersecreteprepartagee"
%any 44.151.177.94 : PSK "grossecretlepluslongpossible"
# RSA private key for this host, authenticating it to any other host
# which knows the public part. Suitable public keys, for ipsec.conf, DNS,
# or configuration of other implementations, can be extracted conveniently
# with "ipsec showhostkey".
# -- Create your own RSA key with "ipsec rsasigkey" or :
# "ipsec newhostkey --output - --hostname bering > /newkey.txt"
# from another Debian full distro with freeswan installed and
# copy the output file into this ipsec.secrets file.
: RSA {
# RSA 2048 bits bering
Thu Jun 10 21:56:18 2004
# for signatures only, UNSAFE FOR ENCRYPTION
#pubkey=0sAnjDWUZKl2XEAN/0afyq9vJIqXDAQOUJ7O8ycOfWx9cmTilSlWBiLM1deCOW5q
#IN KEY 0x4200 4 1 AQOq/0afyq9vJIqXDAx9cmTilO8yAUJ7ECOW5NZKl2XSlWBiLM1de
# (0x4200 = auth-only host-level, 4 = IPSec,
1 = RSA)
Modulus: 0x9427b100e08e5b9abfd1a7f35923558188b39225752abdbca5d974aa5c303
PublicExponent: 0x03
# everything after this point is secret
PrivateExponent: 0x18b741733393a90e40870f993754d9bfd56d0f441482ab3c74f4c
Prime1: 0xc9dc86348fbf338521f40c47b9fe2b6f0147e92e3f1dff9a639f3ee3733855
Prime2: 0xbbebdc968895dc660b4e03fd0d72e88153b919dec878de7c6b3285f0bfb2c2
Exponent1: 0x869e193042306a2b2da7724a00beaa6bfc426aa7f77a29ecda9b742a4cd
Exponent2: 0x7d428b9b06308f4b2a11e7ba5e9957fd3d47e3fa8745ab8cc5944078307
Coefficient: 0x8e2fb96ee66813997b7df3bc5ba7d8d301fc6d385c1302b9584215ed5
}
# do not change the indenting of that "}"
Voici la paire de clefs privée et publique qui sont utilisées par la passerelle IPSec locale, sous des phrases prépartagée présentées précédement.
A ne dévoiler sous aucun pretexte, à l'exception de la clef publique qui se trouve sur la ligne à partir du mot "pubkey=". Vous devez la copier telle quel, sans le début "pubkey=" jusqu'au bout de la ligne, et la coller après la déclaration "leftrsasigkey=" du fichier "/etc/ipsec.conf".
Pour créer ce jeux de clefs privée et publique, vous devez avoir un package IPSec complet sur un PC sous Linux et saisir l'instruction suivante en ligne de commande :
ipsec newhostkey --output - --hostname bering > /newkey.txt
Cette instruction enregistre des clefs sous un fichier "newkey.txt" ou de tout autre
titre.
Vous n'avez plus qu'à le transférer dans votre routeur IPSec préféré et copier son
contenu dans le fichier "/etc/ipsec.secrets" comme ci-dessus.
Le mode "opportunistic" éviterait toutes ces déclarations (pensez à la maintenance d'une centaine de tunnels), sauf le stockage de ces clefs RSA ou d'un certificat X509 :
conn me-to-anyone
left=%defaultroute
right=%opportunistic
Mais c'est une autre histoire... La prochaine probablement, si nous montons plusieurs microcellules wireless à usage exclusif radioamateurs de ce type...
A suivre...
Attention : n'oubliez pas de sauver votre package IPSec après modification !
73, de F6HQZ François BERGERET f6hqz-m@hamwlan.net
Dernière modif le : 08/27/06