GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Installer et configurer StrongSwan VPN sur Ubuntu 20.04

Un réseau privé virtuel est utilisé pour créer un réseau privé à partir d'une connexion Internet publique afin de protéger votre identité. Le VPN utilise un tunnel crypté pour envoyer et recevoir les données en toute sécurité.

strongSwan est l'un des logiciels VPN les plus connus qui prend en charge différents systèmes d'exploitation, notamment Linux, OS X, FreeBSD, Windows, Android et iOS. Il utilise les protocoles IKEv1 et IKEv2 pour l'établissement d'une connexion sécurisée. Vous pouvez étendre ses fonctionnalités avec des plugins intégrés.

Dans ce didacticiel, nous expliquerons étape par étape comment configurer un serveur VPN KEv2 avec StrongSwan sur Ubuntu 20.04.

Prérequis

• Deux systèmes exécutant le serveur Ubuntu 20.04
• Un mot de passe root est configuré sur les deux serveurs

Installer StrongSwan

Par défaut, StrongSwan est disponible dans le référentiel par défaut d'Ubuntu 20.04. Vous pouvez l'installer avec les autres composants requis à l'aide de la commande suivante :

apt-get install strongswan strongswan-pki libcharon-extra-plugins libcharon-extauth-plugins libstrongswan-extra-plugins -y

Après avoir installé tous les packages, vous pouvez procéder à la génération d'un certificat CA.

Générer un certificat pour le serveur VPN

Ensuite, vous devrez générer un certificat et une clé pour le serveur VPN afin de vérifier l'authenticité du serveur côté client.

Commencez par créer une clé privée pour l'autorité de certification racine avec la commande suivante :

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/ca.key.pem

Créez ensuite une autorité de certification racine et signez-la à l'aide de la clé ci-dessus :

ipsec pki --self --in /etc/ipsec.d/private/ca.key.pem --type rsa --dn "CN=My VPN Server CA" --ca --lifetime 3650 --outform pem > /etc/ipsec.d/cacerts/ca.cert.pem

Créez ensuite une clé privée pour le serveur VPN à l'aide de la commande suivante :

ipsec pki --gen --size 4096 --type rsa --outform pem > /etc/ipsec.d/private/server.key.pem

Enfin, générez le certificat du serveur à l'aide de la commande suivante :

ipsec pki --pub --in /etc/ipsec.d/private/server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert /etc/ipsec.d/cacerts/ca.cert.pem --cakey /etc/ipsec.d/private/ca.key.pem --dn "CN=vpn.domain.com" --san="vpn.domain.com" --flag serverAuth --flag ikeIntermediate --outform pem > /etc/ipsec.d/certs/server.cert.pem

À ce stade, tous les certificats sont prêts pour le serveur VPN.

Configurer le VPN StrongSwan

Le fichier de configuration par défaut de strongswan est /etc/ipsec.conf. Nous pouvons sauvegarder le fichier de configuration principal et créer un nouveau fichier :

mv /etc/ipsec.conf /etc/ipsec.conf-bak

Créez ensuite un nouveau fichier de configuration :

nano /etc/ipsec.conf

Ajoutez les paramètres de configuration et de connexion suivants :

config setup
        charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
        strictcrlpolicy=no
        uniqueids=yes
        cachecrls=no

conn ipsec-ikev2-vpn
      auto=add
      compress=no
      type=tunnel
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]
      leftcert=server.cert.pem
      leftsendcert=always 
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=10.10.10.0/24
      rightdns=8.8.8.8
      rightsendcert=never
      eap_identity=%identity

Enregistrez et fermez le fichier /etc/ipsec.conf.

Ensuite, vous devrez définir les informations d'identification de l'utilisateur EAP et les clés privées RSA pour l'authentification.

Vous pouvez le configurer en éditant le fichier /etc/ipsec.secrets :

nano /etc/ipsec.secrets

Ajoutez la ligne suivante :

: RSA "server.key.pem"
vpnsecure : EAP "password"

Redémarrez ensuite le service StrongSwan comme suit :

systemctl restart strongswan-starter

Pour permettre à StrongSwan de démarrer au démarrage du système, tapez :

systemctl enable strongswan-starter

Vérifiez l'état du serveur VPN, tapez :

systemctl status strongswan-starter

Activer le transfert de paquets du noyau

Ensuite, vous devrez configurer le noyau pour activer le transfert de paquets en modifiant le fichier /etc/sysctl.conf :

nano /etc/sysctl.conf

Décommentez les lignes suivantes :

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Enregistrez et fermez le fichier puis rechargez les nouveaux paramètres à l'aide de la commande suivante :

sysctl -p

Installer et configurer le client StrongSwan

Dans cette section, nous allons installer le client StrongSwan sur la machine distante et nous connecter au serveur VPN.

Tout d'abord, installez tous les packages requis avec la commande suivante :

apt-get install strongswan libcharon-extra-plugins -y

Une fois tous les packages installés, arrêtez le service StrongSwan avec la commande suivante :

systemctl stop strongswan-starter

Ensuite, vous devrez copier le fichier ca.cert.pem du serveur VPN dans le répertoire /etc/ipsec.d/cacerts/. Vous pouvez le copier à l'aide de la commande SCP comme indiqué ci-dessous :

scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/

Pour configurer l'authentification du client VPN, utilisez le fichier /etc/ipsec.secrets :

nano /etc/ipsec.secrets

Ajoutez la ligne suivante :

vpnsecure : EAP "password"

Modifiez ensuite le fichier de configuration principal de strongSwan :

nano /etc/ipsec.conf

Ajoutez les lignes suivantes qui correspondent à votre domaine, mot de passe que vous avez spécifié dans le fichier /etc/ipsec.secrets.

conn ipsec-ikev2-vpn-client
    auto=start
    right=vpn.domain.com
    rightid=vpn.domain.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=vpnsecure
    leftauth=eap-mschapv2
    eap_identity=%identity

Démarrez maintenant le service VPN StrongSwan à l'aide de la commande suivante :

systemctl start strongswan-starter

Ensuite, vérifiez l'état de la connexion VPN à l'aide de la commande suivante :

ipsec status

Vous devriez obtenir le résultat suivant :

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 28 seconds ago, 104.245.32.158[vpnsecure]...104.245.33.84[vpn.domain.com]
ipsec-ikev2-vpn-client{1}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: ca6f451c_i ca9f9ff7_o
ipsec-ikev2-vpn-client{1}: 10.10.10.1/32 === 0.0.0.0/0

La sortie ci-dessus indique qu'une connexion VPN est établie entre le client et le serveur, et l'adresse IP 10.10.10.1 est attribuée à la machine cliente.

Vous pouvez également vérifier votre nouvelle adresse IP avec la commande suivante :

ip a

Vous devriez obtenir le résultat suivant :

eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:00:68:f5:20:9e brd ff:ff:ff:ff:ff:ff
inet 104.245.32.158/25 brd 104.245.32.255 scope global eth0
valid_lft forever preferred_lft forever
inet 10.10.10.1/32 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::200:68ff:fef5:209e/64 scope link
valid_lft forever preferred_lft forever

Conclusion

Dans le guide ci-dessus, nous avons appris à configurer un serveur et un client VPN StrongSwan sur Ubuntu 20.04. Vous pouvez désormais protéger votre identité et sécuriser vos activités en ligne.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Installer et configurer PHP OPcache sur Ubuntu 20.04

  4. Comment installer et configurer Algo VPN Server sur Ubuntu 20.04

  5. Comment installer et configurer strongSwan VPN sur Ubuntu 18.04

Installer et configurer Git sur Ubuntu 16.04

Installer et configurer le serveur VNC sur Ubuntu 16.04

Installer et configurer VNC sur Ubuntu 20.04

Comment installer et configurer Git sur Ubuntu 20.04

Installer et configurer Fail2ban sur Ubuntu 20.04

Comment installer et configurer OpenVAS 9 sur Ubuntu