Utilisez des outils open source pour configurer un VPN privé
Utilisez OpenWRT et Wireguard pour créer votre propre réseau privé virtuel sur votre routeur.
Se déplacer d'un endroit à un autre via un réseau informatique peut être une tâche délicate. Au-delà de connaître la bonne adresse et d’ouvrir les bons ports, se pose la question de la sécurité. Pour Linux, SSH est une valeur par défaut populaire, et bien que vous puissiez faire beaucoup de choses avec SSH, il reste "juste" un shell sécurisé (c'est ce que SSH signifie, en fait.) Un protocole plus large pour le trafic chiffré est VPN, qui crée un réseau privé virtuel unique entre deux points. Avec lui, vous pouvez vous connecter à un ordinateur sur un autre réseau et utiliser tous ses services (partages de fichiers, imprimantes, etc.) comme si vous étiez physiquement assis dans la même pièce, et chaque bit de données est crypté à partir du point d'accès. pointer.
Normalement, pour rendre possible une connexion VPN, les passerelles de chaque réseau doivent accepter le trafic VPN et certains ordinateurs de votre réseau cible doivent écouter le trafic VPN. Cependant, il est possible d'exécuter votre propre micrologiciel de routeur qui exécute un serveur VPN, vous permettant de vous connecter à votre réseau cible sans avoir à vous soucier du transfert des ports ni à penser à la topographie interne. Mon firmware préféré est OpenWrt, et dans cet article, je montre comment le configurer et comment activer le VPN dessus.
Qu’est-ce qu’OpenWrt ?
OpenWrt est un projet open source qui utilise Linux pour cibler les appareils embarqués. Il existe depuis plus de 15 ans et possède une communauté nombreuse et active.
Il existe de nombreuses façons d'utiliser OpenWrt, mais son objectif principal réside dans les routeurs. Il fournit un système de fichiers entièrement inscriptible avec gestion des packages, et comme il est open source, vous pouvez voir et modifier le code et contribuer à l'écosystème. Si vous souhaitez avoir plus de contrôle sur votre routeur, c'est le système que vous souhaitez utiliser.
OpenWrt prend en charge de nombreux routeurs, notamment des marques célèbres telles que Cisco, ASUS, MikroTik, Teltonika Networks, D-Link, TP-link, Buffalo, Ubiquiti et bien d'autres.
Qu’est-ce que Wireguard ?
Wireguard est un logiciel de réseau privé virtuel (VPN) open source qui est beaucoup plus rapide, plus simple et plus sécurisé que d'autres options telles qu'OpenVPN. Il utilise une cryptographie de pointe : ChaCha20 pour la cryptographie symétrique ; Courbe 25519 (qui utilise des courbes elliptiques) pour l'accord des touches ; et BLAKE2 pour le hachage. Ces algorithmes sont conçus de manière efficace sur les systèmes embarqués. WIreguard est également disponible sur une grande variété de plates-formes de systèmes d'exploitation.
Conditions préalables
Pour ce projet, vous aurez besoin de :
- Teltonika RUT955 ou un autre routeur pris en charge par OpenWrt
- Une adresse IP publique pour vous connecter à votre VPN depuis l'extérieur de votre réseau
- Un téléphone Android
Installer OpenWrt
Pour commencer, téléchargez l'image OpenWrt pour votre routeur. Utilisez le sélecteur de micrologiciel pour vérifier si OpenWrt prend en charge votre routeur et téléchargez le micrologiciel. Entrez le modèle de votre routeur et il affichera vos options :
(Lukas Janenas, CC BY-SA 4.0)
Sélectionnez la version du micrologiciel que vous souhaitez télécharger en utilisant la liste déroulante située à droite du champ de recherche.
Téléchargez l'image de l'usine.
(Lukas Janenas, CC BY-SA 4.0)
De nombreux routeurs vous permettent de flasher un micrologiciel non autorisé à partir de l'interface Web, mais pas Teltonika Networks. Pour flasher le firmware OpenWrt sur un routeur comme celui-ci, vous devez utiliser le chargeur de démarrage. Pour ce faire, procédez comme suit :
- Débranchez le câble d'alimentation du routeur.
- Appuyez et maintenez enfoncé le bouton Réinitialiser.
- Branchez le câble d'alimentation du routeur.
- Continuez à maintenir le bouton de réinitialisation enfoncé pendant 5 à 8 secondes après avoir branché le câble d'alimentation.
- Définissez l'adresse IP de l'ordinateur sur
192.168.1.15
et le masque de réseau sur255.255.255.0
. - Connectez le routeur et votre ordinateur avec un câble Ethernet sur un port LAN.
- Ouvrez un navigateur Web et saisissez
192.168.1.1:/index.html
. - Téléchargez et flashez le firmware.
Le processus de clignotement peut prendre jusqu'à trois minutes. Ensuite, vous devriez pouvoir accéder à l'interface Web du routeur en saisissant 192.168.1.1
dans un navigateur. Aucun mot de passe n'est défini par défaut.
(Lukas Janenas, CC BY-SA 4.0)
Configurer la connectivité réseau
La connectivité réseau est une exigence. Si votre fournisseur d'accès Internet (FAI) attribue automatiquement votre adresse IP via DHCP, il vous suffit de brancher votre câble Ethernet sur le port WAN de votre routeur.
Si vous devez attribuer l'adresse IP manuellement, accédez à Réseau → Interfaces. Sélectionnez Modifier pour modifier votre interface WAN. Dans le champ Protocole, sélectionnez Adresse statique, puis Changer de protocole.
(Lukas Janenas, CC BY-SA 4.0)
Dans le champ Adresse IPv4, saisissez l'adresse de votre routeur. Définissez le masque de réseau IPv4 pour qu'il corresponde au sous-réseau de votre réseau ; saisissez l'adresse de la passerelle IPv4 que vous utiliserez pour vous connecter au réseau ; et saisissez l'adresse du serveur DNS dans le champ Utiliser des serveurs DNS personnalisés. Enregistrez la configuration.
C'est ça! Vous avez configuré avec succès votre interface WAN pour obtenir une connectivité réseau.
Installez les packages nécessaires
Le micrologiciel n'inclut pas beaucoup de packages par défaut, mais OpenWrt dispose d'un gestionnaire de packages avec une sélection de packages que vous pouvez installer. Accédez à Système → Logiciel et mettez à jour votre gestionnaire de packages en sélectionnant Mettre à jour les listes…
(Lukas Janenas, CC BY-SA 4.0)
Dans l'entrée Filtre, tapez Wireguard et attendez que le système trouve tous les packages qui incluent ce mot-clé. Recherchez et installez le package nommé luci-app-wireguard.
(Lukas Janenas, CC BY-SA 4.0)
Ce package comprend une interface Web pour configurer Wireguard et installe toutes les dépendances nécessaires au fonctionnement de Wireguard.
Si vous recevez un avertissement indiquant qu'un package est manquant et introuvable dans les référentiels avant d'installer le package Wireguard, ignorez-le et continuez.
Ensuite, recherchez et installez le package nommé luci-app-ttyd. Celui-ci sera utilisé pour accéder au terminal ultérieurement.
Une fois ces packages installés, redémarrez votre routeur pour que les modifications prennent effet.
Configurer l'interface Wireguard
Ensuite, créez l'interface Wireguard. Accédez à Réseau → Interfaces et sélectionnez Ajouter une nouvelle interface… en bas à gauche. Dans la fenêtre contextuelle, saisissez le nom de votre choix pour l'interface, choisissez Wireguard VPN dans la liste déroulante, puis sélectionnez Créer une interface en bas à droite.
(Lukas Janenas, CC BY-SA 4.0)
Dans la nouvelle fenêtre contextuelle, sélectionnez Générer une clé pour générer une clé privée pour l'interface Wireguard. Dans le champ Port d'écoute, saisissez le port souhaité. J'utiliserai le port Wireguard par défaut, 51820. Dans le champ Adresses IP, attribuez l'adresse IP qui sera utilisée pour l'interface Wireguard. Dans cet exemple, j'utilise 10.0.0.1/24
. Le nombre 24 indique la taille de mon sous-réseau.
(Lukas Janenas, CC BY-SA 4.0)
Enregistrez la configuration et redémarrez l'interface.
Accédez à Services → Terminal, connectez-vous au shell et entrez la commande wg show
. Vous verrez quelques informations sur votre interface Wiregaurd, y compris sa clé publique. Copiez la clé publique : vous en aurez besoin pour créer des pairs plus tard.
(Lukas Janenas, CC BY-SA 4.0)
Configurer le pare-feu
Accédez à Réseau → Pare-feu et sélectionnez l'onglet Règles de trafic. Au bas de la page, sélectionnez Ajouter. Dans le champ Nom de la fenêtre contextuelle, donnez un nom à votre règle, par exemple Allow-wg. Ensuite, modifiez la Zone de destination de Lan à Appareil et définissez le Port de destination sur 51820.
(Lukas Janenas, CC BY-SA 4.0)
Enregistrez la configuration.
Configurer Wireguard sur un téléphone Android
Installez l'application Wireguard sur votre téléphone depuis Google Play. Une fois installée, ouvrez l'application et créez une nouvelle interface à partir de zéro. Dans le champ Nom, saisissez le nom que vous souhaitez utiliser pour votre interface. Dans le champ Clé privée, appuyez sur l'icône en forme de double flèche à droite pour générer une paire de clés. Vous aurez besoin de la clé publique ci-dessus pour créer un homologue entre votre téléphone et votre routeur. Dans le champ Adresses, attribuez l'adresse IP que vous utiliserez pour joindre le téléphone via VPN. J'utiliserai 10.0.0.2/24
. Dans Port d'écoute, saisissez un port ; J'utiliserai à nouveau le port par défaut.
(Lukas Janenas, CC BY-SA 4.0)
Enregistrez la configuration.
Pour ajouter un homologue à la configuration, sélectionnez Ajouter un homologue. Dans le champ Clé publique, saisissez la clé publique Wireguard de votre routeur. Dans le champ Endpoint, saisissez l'adresse IP publique et le port de votre routeur séparés par deux points, par exemple 12.34.56.78:51820
. Dans le champ IPs autorisés, saisissez les adresses IP que vous souhaitez atteindre via l'interface Wireguard. (Vous pouvez saisir l'adresse IP de l'interface VPN et l'adresse de l'interface LAN de votre routeur.) Les adresses IP doivent être séparées par des virgules. Vous pouvez également définir la taille du sous-réseau.
(Lukas Janenas, CC BY-SA 4.0)
Enregistrez la configuration.
Il reste une dernière étape dans la configuration : ajouter un homologue sur le routeur.
Ajouter un homologue sur le routeur
Accédez à Réseau → Interfaces et sélectionnez votre interface Wireguard. Accédez à l'onglet Pairs et sélectionnez Ajouter un homologue. Dans le champ Description, saisissez le nom de l'homologue. Dans le champ Clé publique, saisissez la clé publique de l'interface Wireguard de votre téléphone et dans le champ IP autorisées, saisissez l'adresse IP de l'interface Wireguard de votre téléphone. Cochez la case Acheminer les adresses IP autorisées.
(Lukas Janenas, CC BY-SA 4.0)
Enregistrez la configuration et redémarrez l'interface.
Tester la configuration
Ouvrez un navigateur Web sur votre téléphone. Dans la barre d'URL, saisissez l'adresse IP 10.0.0.1
ou 192.168.1.1
. Vous devriez pouvoir accéder au site Web de votre routeur.
(Lukas Janenas, CC BY-SA 4.0)
Votre propre VPN
De nombreux services VPN sont annoncés ces jours-ci, mais il y a beaucoup à dire sur la possession et le contrôle de votre propre infrastructure, en particulier lorsque cette infrastructure n'existe que pour renforcer la sécurité. Il n'est pas nécessaire de compter sur quelqu'un d'autre pour vous fournir une connexion sécurisée à vos données. En utilisant OpenWrt et Wireguard, vous pouvez disposer de votre propre solution VPN open source.