« IPsec sous debian avec strongswan » : différence entre les versions
Aller à la navigation
Aller à la recherche
Aucun résumé des modifications |
|||
| Ligne 20 : | Ligne 20 : | ||
* left* correspond à la machine locale | * left* correspond à la machine locale | ||
* right* correspond à la machine distante | * right* correspond à la machine distante | ||
<br> | |||
Les champs suivant sont à modifier : | Les champs suivant sont à modifier : | ||
* left = l'ip de la machine locale (peut être une ip rfc1918) | * left = l'ip de la machine locale (peut être une ip rfc1918) | ||
| Ligne 28 : | Ligne 28 : | ||
* leftcert contient le chemin vers le certificat ssl local. La clé privé est définie dans /etc/ipsec.secret | * leftcert contient le chemin vers le certificat ssl local. La clé privé est définie dans /etc/ipsec.secret | ||
* rightca contient une manière d'identifier la CA ayant généré le certificat distant. | * rightca contient une manière d'identifier la CA ayant généré le certificat distant. | ||
* leftsubnet est défini à l'ip locale servant de transport VTI. Vous avez besoin d'un minimum de deux ip pour définir un transport VTI, le choix de /30 est donc à privilégier. | |||
* rightsubnet est défini à l'ip distante servant de transport VTI. | |||
<pre> | <pre> | ||
Version du 31 décembre 2019 à 22:06
aptitude install strongswan strongswan-swanctl
Placer la CA dans /etc/ipsec.d/cacerts puis :
cd /etc/ipsec.d/cacerts/ ln -s myca.pem `openssl x509 -hash -noout -in myca.pem`.0
Placer le certificat dans /etc/ipsec.d/certs/
Placer la clé privée dans /etc/ipsec.d/private/
Il faut définir la clé privé dans /etc/ipsec.secrets sous le format ID : TYPE KEY. L'ID peut être vide, contenir une ip, un FQDN, user@FQSN, %any ou any6. TYPE est PSK ou RSA. KEY peut être soit une clé, soit un chemin vers une clé.
: RSA /etc/ipsec.d/private/mykey.key
VTI auth RSA
ipsec.conf
De manière générale :
- left* correspond à la machine locale
- right* correspond à la machine distante
Les champs suivant sont à modifier :
- left = l'ip de la machine locale (peut être une ip rfc1918)
- right = l'ip de la machine distante (obligatoirement une ip accessible sur le réseau, donc pas d'ip rfc1918)
- leftid une manière d'identifier la machine locale (IP, FQDN, etc). En cas d'authentification RSA, cet identifiant devra exister soit au champ CN soit au champ SubjectAltName du certificat local.
- rightid une manière d'identifier la machine distante (IP, FQDN, etc). En cas d'authentification RSA, cet identifiant devra exister soit au champ CN soit au champ SubjectAltName du certificat distant.
- leftcert contient le chemin vers le certificat ssl local. La clé privé est définie dans /etc/ipsec.secret
- rightca contient une manière d'identifier la CA ayant généré le certificat distant.
- leftsubnet est défini à l'ip locale servant de transport VTI. Vous avez besoin d'un minimum de deux ip pour définir un transport VTI, le choix de /30 est donc à privilégier.
- rightsubnet est défini à l'ip distante servant de transport VTI.
conn ipsec1
reqid = 1
fragmentation = yes
keyexchange = ikev2
reauth = yes
forceencaps = no
mobike = no
rekey = yes
installpolicy = yes
auto = start
dpdaction = restart
dpddelay = 10s
dpdtimeout = 60s
left = 211.124.34.153
right = 92.119.29.26
leftid = nodeA.domain.tld
rightid = nodeB.domain.tld
ikelifetime = 28800s
lifetime = 3600s
ike = aes128gcm128-sha512-modp4096!
esp = aes128gcm128-sha256-modp2048!
leftauth = pubkey
rightauth = pubkey
leftcert="/etc/ipsec.d/certs/mycert.crt"
rightca="/CN=My Ca/ST=My Location/L=My City/O=My Company/OU=My Company Unit/"
leftsubnet = 10.66.10.2/30
rightsubnet = 10.66.10.1
mark = 42
leftupdown = /etc/ipsec.updown