GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer strongSwan VPN sur Ubuntu 18.04

Un VPN vous permet d'accéder à Internet en toute sécurité sur un réseau Wi-Fi public non fiable. Vous pouvez vous connecter à des serveurs VPN distants à l'aide de la connexion cryptée et surfer sur le Web de manière anonyme.

strongSwan est gratuit, open-source et l'implémentation de réseau privé virtuel basée sur IPsec la plus largement utilisée, vous permettant de créer un tunnel sécurisé chiffré entre deux ou plusieurs réseaux distants.

strongSwan utilise le protocole IKEv2, qui permet un tunnel IPSec direct entre le serveur et le client. strongSwan signifie Strong Secure WAN et prend en charge les deux versions d'échange de clé automatique dans IPsec VPN, IKE V1 et V2.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer strongSwan VPN sur Ubuntu 18.04.

Prérequis

  • Un nouveau VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
  • Un mot de passe root configuré sur votre serveur.

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 1 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Étape 2 :Activer le transfert de paquets du noyau

Tout d'abord, vous devrez configurer le noyau pour activer le transfert de paquets pour IPv4. Vous pouvez le configurer en éditant le fichier /etc/sysctl.conf :

nano /etc/sysctl.conf

Ajoutez les lignes suivantes à la fin du fichier :

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. Ensuite, exécutez la commande suivante pour recharger les paramètres :

sysctl -p

Étape 3 - Installer strongSwan

Tout d'abord, vous devrez installer le démon strongSwan IPSec sur votre système. Vous pouvez l'installer en exécutant simplement la commande suivante :

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

Une fois l'installation terminée, vous pouvez passer à l'étape suivante.

Étape 4 – Configuration d'une autorité de certification

Vous devrez maintenant générer le certificat et la clé du serveur VPN pour que le client VPN vérifie l'authenticité du serveur VPN.

Tout d'abord, générez une clé privée pour auto-signer le certificat CA à l'aide d'un utilitaire PKI :

ipsec pki --gen --size 4096 --type rsa --outform pem > ca.key.pem

Ensuite, créez votre autorité de certification racine et utilisez la clé ci-dessus pour signer le certificat racine :

ipsec pki --self --in ca.key.pem --type rsa --dn "CN=VPN Server CA" --ca --lifetime 3650 --outform pem > ca.cert.pem

Ensuite, vous devrez créer un certificat et une clé pour le serveur VPN afin que le client puisse vérifier l'authenticité du serveur à l'aide du certificat CA que nous venons de générer.

Commencez par créer une clé privée pour le serveur VPN avec la commande suivante :

ipsec pki --gen --size 4096 --type rsa --outform pem > server.key.pem

Ensuite, générez le certificat du serveur en exécutant la commande suivante :

ipsec pki --pub --in server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert ca.cert.pem --cakey ca.key.pem --dn "CN=vpn.example.com" --san="vpn.example.com" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem

Ensuite, vous devrez copier le certificat ci-dessus dans les répertoires de certificats IPSec respectifs, comme indiqué ci-dessous :

mv ca.cert.pem /etc/ipsec.d/cacerts/
mv server.cert.pem /etc/ipsec.d/certs/
mv ca.key.pem /etc/ipsec.d/private/
mv server.key.pem /etc/ipsec.d/private/

À ce stade, tous les certificats sont prêts et vous pouvez maintenant passer à l'étape suivante.

Étape 5 - Configurer strongSwan

strongSwan a un fichier de configuration par défaut situé dans /etc/ipsec.conf. Il est recommandé de renommer le fichier de configuration par défaut et de créer un nouveau fichier.

Pour renommer le fichier de configuration par défaut, exécutez la commande suivante :

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

Ensuite, créez un nouveau fichier de configuration comme indiqué ci-dessous :

nano /etc/ipsec.conf

Ajoutez les lignes suivantes :

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  # defines the type of connection, tunnel.
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]    # if using IP, define it without the @ sign
      leftcert=server.cert.pem  # reads the VPN server cert in /etc/ipsec.d/certs
      leftsendcert=always
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=192.168.0.0/24
      rightdns=8.8.8.8 DNS to be assigned to clients
      rightsendcert=never
      eap_identity=%identity  # defines the identity the client uses to reply to an EAP Identity request.

Enregistrez et fermez le fichier lorsque vous avez terminé.

Où :

configuration : Spécifie les informations de configuration générales pour IPSec qui s'appliquent à toutes les connexions.
charondebug : Définit la quantité de sortie de débogage Charon à enregistrer.
leftid : Spécifie le nom de domaine ou l'adresse IP du serveur.
leftcert : Spécifie le nom du certificat du serveur.
leftsubnet : Spécifie le sous-réseau privé derrière le participant de gauche.
rightsourceip : Pool d'adresses IP à attribuer aux clients.
rightdns : DNS à attribuer aux clients.

Étape 6 - Configurer l'authentification

À ce stade, votre serveur VPN est configuré pour accepter les connexions client. Ensuite, vous devrez configurer les informations d'authentification client-serveur pour définir les clés privées RSA pour l'authentification et configurer les informations d'identification de l'utilisateur EAP.

nano /etc/ipsec.secrets

Ajoutez les lignes suivantes :

: RSA "server.key.pem"
.vpnsecure : EAP "your-secure-password"

Enregistrez et fermez le fichier. Ensuite, redémarrez le service strongSwan et activez-le pour qu'il démarre au redémarrage :

systemctl restart strongswan
systemctl enable strongswan

Vous pouvez également vérifier l'état du service strongSwan à l'aide de la commande suivante :

systemctl status strongswan

Vous devriez voir le résultat suivant :

• strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf
   Loaded: loaded (/lib/systemd/system/strongswan.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-05-08 08:02:08 UTC; 8s ago
 Main PID: 29947 (starter)
    Tasks: 18 (limit: 2359)
   CGroup: /system.slice/strongswan.service
           ├─29947 /usr/lib/ipsec/starter --daemon charon --nofork
           └─29973 /usr/lib/ipsec/charon --debug-ike 2 --debug-knl 2 --debug-cfg 2 --debug-net 2 --debug-esp 2 --debug-dmn 2 --debug-mgr 2

May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   eap_identity=%identity
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpddelay=300
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdtimeout=150
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdaction=1
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   sha256_96=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   mediation=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   keyexchange=ikev2
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] adding virtual IP address pool 192.168.0.0/24
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   loaded certificate "CN=vpn.example.com" from 'server.cert.pem'
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] added configuration 'ipsec-ikev2-vpn'

Vous pouvez également vérifier les certificats strongSwan à l'aide de la commande suivante :

ipsec listcerts

Vous devriez obtenir le résultat suivant :

List of X.509 End Entity Certificates

  subject:  "CN=vpn.example.com"
  issuer:   "CN=VPN Server CA"
  validity:  not before May 08 07:59:18 2020, ok
             not after  Nov 18 07:59:18 2027, ok (expires in 2749 days)
  serial:    7b:f8:ab:dc:ca:64:dd:93
  altNames:  vpn.example.com
  flags:     serverAuth ikeIntermediate
  authkeyId: 12:60:f6:05:15:80:91:61:d6:e9:8f:72:a3:a5:a5:ff:a7:38:1a:32
  subjkeyId: bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09
  pubkey:    RSA 4096 bits
  keyid:     e4:72:d0:97:20:ec:a5:79:f2:e0:bf:aa:0e:41:a8:ec:67:06:de:ee
  subjkey:   bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09

À ce stade, votre serveur VPN strongSwan est installé et configuré. Vous pouvez maintenant procéder à l'installation et à la configuration du client VPN pour connecter le serveur VPN.

Étape 7 - Installer et configurer le client strongSwan

Connectez-vous au système client et exécutez la commande suivante pour installer les packages client strongSwan :

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

Une fois installé, désactivez le service strongSwan pour démarrer au démarrage :

systemctl disable strongswan

Copiez ensuite le fichier ca.cert.pem du serveur VPN vers le client VPN à l'aide de la commande suivante :

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

Ensuite, configurez l'authentification du client VPN en éditant le fichier /etc/ipsec.secrets :

nano /etc/ipsec.secrets

Ajoutez la ligne suivante :

vpnsecure : EAP "your-secure-password"

Enregistrez et fermez le fichier. Ensuite, modifiez le fichier de configuration par défaut de strongSwan :

nano /etc/ipsec.conf

Ajoutez les lignes suivantes :

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

Enregistrez et fermez le fichier. Ensuite, redémarrez le service strongSwan avec la commande suivante :

systemctl restart strongswan

Sur le serveur strongSwan, vérifiez l'état de la connexion VPN à l'aide de la commande suivante :

ipsec status

Vous devriez voir que l'IP 192.168.0.5 est attribuée au client VPN :

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 1 minutes ago, [vpnsecure]...192.168.0.1[vpn.example.com]
ipsec-ikev2-vpn-client{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: 74ab87d0db9ea3d5_i 684cb0dbe4d1a70d_r
ipsec-ikev2-vpn-client{1}:   192.168.0.5/32 === 0.0.0.0/0

Conclusion

Toutes nos félicitations! Vous avez installé et configuré avec succès le serveur et le client VPN strongSwan sur Ubuntu 18.04. Vous naviguez maintenant en toute sécurité sur Internet en protégeant votre identité, votre emplacement et votre trafic contre les fouineurs et les censeurs - lancez-vous dès aujourd'hui sur votre serveur Ubuntu hébergé VPS sur Atlantic.Net !

En savoir plus sur nos services d'hébergement VPS et nos serveurs privés virtuels.


Linux
  1. Comment installer et configurer Algo VPN Server sur Ubuntu 20.04

  2. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  3. Comment installer et configurer le serveur Redis dans Ubuntu

  4. Comment installer et configurer le serveur OpenVPN sur Ubuntu 20.04

  5. Comment installer et configurer Fail2ban sur Ubuntu ?

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer et configurer Parse Server sur Ubuntu 20.04

Comment installer et configurer un serveur TeamSpeak sur Ubuntu 18.04

Comment installer et configurer un serveur Minecraft sur Ubuntu 18.04