Comment implémenter IPSec dans Linux

Comment implémenter IPSec dans Linux

Ce tutoriel explique comment implémenter le protocole IPSEC pour protéger la connexion Internet à l'aide de Songswan et ProtonVPN.

Bases IPSec:

IPSec est un protocole sécurisé de niveau 3. Il assure la sécurité de la couche de transport et supérieur à la fois avec IPv4 et IPv6.
L'IPEC travaille avec 2 protocoles de sécurité et un protocole de gestion clé: En particulier (Résumer la charge utile de sécurité), Ah (En-tête d'authentification), et Ike (Échange de clés Internet).
Protocoles En particulier et Ah Accorder différents niveaux de sécurité et peut fonctionner en mode transport et modes de tunnel. Les modes de tunnel et de transport peuvent être appliqués à la fois avec une implémentation ESP ou AH.
Alors que AH et ESP fonctionnent de différentes manières, ils peuvent être mélangés pour fournir des fonctionnalités de sécurité différentes.

Mode de transport: L'en-tête IP d'origine contient des informations sur l'expéditeur et la destination.

Mode tunnel: Un nouvel en-tête IP contenant des adresses source et de destination est implémenté. L'IP originale peut différer du nouveau.

Ah, protocole (en-tête d'authentification): Le protocole AH garantit les paquets d'intégrité et d'authentification point à point pour le transport et les couches d'application à l'exception des données variables: TOS, TTL, drapeaux, somme de contrôle et décalage.
Les utilisateurs de ce protocole garantissent que les paquets ont été envoyés par un véritable expéditeur et n'ont pas été modifiés (comme cela se produirait dans un homme dans l'attaque moyenne).
La figure suivante décrit la mise en œuvre du protocole AH en mode transport.

Protocole ESP (charge utile de sécurité encapsulant):

Le protocole ESP combine différentes méthodes de sécurité pour sécuriser l'intégrité des paquets, l'authentification, la confidentialité et la sécurité des connexions pour le transport et les couches d'application. Pour y parvenir, ESP met en œuvre des en-têtes d'authentification et de chiffrement.

L'image suivante montre la mise en œuvre du protocole ESP fonctionnant en mode tunnel:

En comparant les graphiques précédents, vous pouvez réaliser que le processus ESP couvre les en-têtes d'origine les chiffrer. En même temps, AH ajoute un en-tête d'authentification.

Protocole IKE (échange de clés Internet):

L'IKE gère l'association de sécurité avec des informations telles que les adresses, clés et certificats IPSEC, comme requis.

Vous pouvez en savoir plus sur IPSec sur ce qui est IPSec et comment cela fonctionne.

Implémentation d'IPSec dans Linux avec StrongSwan et ProtonVPN:

Ce tutoriel montre comment implémenter le protocole IPSec dans Mode tunnel en utilisant Strongswan, une implémentation IPSec open source et ProtonVPN sur Debian. Les étapes décrites ci-dessous sont les mêmes pour les distributions basées sur Debian comme Ubuntu.

Pour commencer à installer StrongSwan en exécutant la commande suivante (Debian et distributions basées)

sudo apt install Strongswan -y

Une fois Strongswan installé, ajoutez les bibliothèques nécessaires en exécutant:

sudo apt installer libnstrongswan-extra-plugins libcharon-extra-plugins

Pour télécharger ProtonVPN à l'aide de WGET RUN:

wget https: // protonvpn.com / download / protonvpn_ike_root.der -o / tmp / protonvpn.der

Déplacer les certificats vers le répertoire IPSec en fonctionnant:

sudo mv / tmp / protonvpn.der / etc / ipsec.d / cacerts /

Maintenant, allez sur https: // protonvpn.com / et appuyez sur le Obtenez ProtonVPN maintenant bouton vert.

appuie sur le bouton Être libre.

Remplissez le formulaire d'inscription et appuyez sur le bouton vert Créer un compte.

Vérifiez votre adresse e-mail à l'aide du code de vérification envoyé par ProtonVPN.

Une fois dans le tableau de bord, cliquez sur Compte> OpenVPN / IKEV2 Nom d'utilisateur. Ce sont les informations d'identification dont vous avez besoin pour modifier les fichiers de configuration IPSec.

Modifier le fichier / etc / ipsec.Conf en fonctionnant:

/ etc / ipsec.confli

Dessous Exemple de connexions VPN, Ajouter ce qui suit:

NOTE: Où Linuxhint est le nom de connexion, un champ arbitraire. doit être remplacé par votre nom d'utilisateur trouvé au Protonvpn Tableau de bord sous Compte> openvpn / ikev2 nom d'utilisateur.

La valeur nl-libre-01.protonvpn.com est le serveur choisi; Vous pouvez trouver plus de serveurs dans le tableau de bord sous Téléchargements> Clients ProtonVPN.

Conn Linuxhint
gauche =% Defaultroute
LeftSourceip =% config
LeftAuth = EAP-MSCHAPV2
eap_identity =
Droite = NL-libre-01.protonvpn.com
RightBnet = 0.0.0.0/0
RightAuth = pubkey
droite =% nl-libre-01.protonvpn.com
Rightca = / etc / ipsec.d / cacerts / protonvpn.der
keyExchange = ikev2
type = tunnel
auto = ajouter

Presse Ctrl + x Pour économiser et fermer.

Après édition / etc / ipsec.confr vous devez modifier le fichier / etc / ipsec.secrets qui stocke les références. Pour modifier ce fichier Run:

nano / etc / ipsec.secrets

Vous devez ajouter le nom d'utilisateur et la clé à l'aide de la syntaxe "Utilisateur: clé EAP«Comme indiqué dans la capture d'écran suivante, dans laquelle Vggxpjvrts1822q0 est le nom d'utilisateur et B9HM1U0OVPEOZ6YCZK0MNXIOBC3JJACH la clé; Vous devez les remplacer les deux pour vos informations d'identification réelles trouvées dans le tableau de bord sous Compte> openvpn / ikev2 nom d'utilisateur.

Appuyez sur Ctrl + X pour enregistrer et fermer.

Il est maintenant temps de se connecter, mais avant d'exécuter ProtonVPN, redémarrez le service IPSec en fonctionnant:

sudo ipsec redémarrer

Vous pouvez maintenant vous connecter en cours d'exécution:

sudo ipsec up linuxhint

Comme vous pouvez le voir, la connexion a été établie avec succès.

Si vous souhaitez désactiver ProtonVPN, vous pouvez courir:

sudo ipsec down linuxhint

Comme vous pouvez le voir, IPSec a été désactivé correctement.

Conclusion:

En implémentant IPSEC, les utilisateurs évoluent considérablement dans les problèmes de sécurité. L'exemple ci-dessus montre comment déployer IPSec avec Protocole ESP et IKEV2 en mode tunnel. Comme le montre ce tutoriel, l'implémentation est très facile et accessible à tous les niveaux d'utilisateur Linux. Ce tutoriel est expliqué à l'aide d'un compte VPN gratuit. Pourtant, la mise en œuvre de l'IPSEC décrite ci-dessus peut être améliorée avec les plans premium offerts par les fournisseurs de services VPN, l'obtention de plus de vitesse et d'emplacements de proxy supplémentaires. Les alternatives à ProtonVPN sont NordVPN et ExpressVPN.

En ce qui concerne StrongSwan en tant qu'implémentation IPSec open source, il a été choisi pour être une alternative multiplateforme; Les autres options disponibles pour Linux sont les Libreswan et OpenSwan.

J'espère que vous avez trouvé ce tutoriel pour implémenter IPSec dans Linux utile. Continuez à suivre Linuxhint pour plus de conseils et de tutoriels Linux.