Yunohost et la sécurité, en cas d'hébergement d'un serveur VPN

Bonjour,

Actuellement client d’un fournisseur VPN, j’ai toujours envisagé d’héberger mon propre serveur VPN (j’ai un vieux RPi 3 qui traine dans un placard).

L’idée des apps “en 1 clic” (ou en tout cas, le plus simplement possible) de Yunohost me plait bien.

Néanmoins, qu’est-il de la sécurité de mon réseau si je peux y accéder depuis l’extérieur ? Comment Yunohost gère ceci ?
Mon besoin est surtout de router ma connexion extérieure (avec le VPN) jusqu’à chez moi, puis d’en ressortir (je ne suis actuellement pas intéressé par le fait de consulter mes fichiers depuis l’extérieur, etc …). Yunohost permet justement d’interdire l’accès aux autres machines situés sur le réseau ?

Merci à vous :slight_smile:

Bienvenue !

Quel est ton modèle de menaces ?

A priori nullement, ce sont les apps VPN qui ouvrent des ports ou activent ou pas l’IP forwarding par exemple.

Peux-tu expliquer ça un peu plus en détail ? Que souhaites-tu faire ?

Intrusion sur mon réseau domestique. Le VPN doit servir uniquement de relai quand je suis en déplacement.

Actuellement, j’utilise ProtonVPN dans sa version gratuite. Le problème est que la localisation n’est pas en France, ce qui pose des soucis sur mon téléphone pour quelques apps (genre banque et co).

L’idée est donc de remplacer ce fournisseur par de l’auto-hébergement pour que la localisation soit en France.
L’alternative aurait été de prendre une offre payante mais 5 euros pour une seule connexion et uniquement pour surfer (pas de jeux ni netflix ou autre), ça fait un peu cher …

Donc au maximum, et en omettant ce l’app VPN, il doit y avoir que le port SSH d’ouvert ?

Si je comprend bien, ta topologie de réseau se résume à ça. J’ai bien noté que tu ne veux pas pouvoir accéder au réseau local dU RPi depuis le VPN.

Je te propose d’installer l’app WireGuard sur ton Raspberry Pi.

Il faudra ouvrir le port de WireGuard en UDP tel qu’indiqué dans l’app dans les paramètres du routeur.

La configuration par défaut devrait autoriser l’accès au réseau local. Pour bloquer cela, tu peux ajouter ; iptables -I FORWARD -i %i -d 192.168.1.0/24 -j REJECT à la fin des commandes PostUp et ; iptables -D FORWARD -i %i -d 192.168.1.0/24 -j REJECT à la fin des commandes PostDown dans la configuration du serveur. Si ton réseau local n’est pas sur le sous-réseau 192.168.1.0, adapte-le.


(tu peux ignorer l’adresse de l’interface)

Après avoir cliqué sur Apply Config (j’ai dû aussi redémarrer le service wg-quick@wg0, mais c’est peut-être lié à mes bidouilles), tu pourras vérifier que c’est bloqué en tentant de contacter ton routeur depuis le VPN (192.168.1.1, le plus souvent ou 192.168.1.254 chez Free).

1 Like

Globalement c’est ça (mis à part qu’il n’y aura pas d’autres clients, c’est exclusivement quand je suis en extérieur).

Le système permet de gérer le fonctionnement d’application selon une plage horaire (genre, activer le VPN qu’entre certaines heures) ?

Je sors le Pi3 et fait mes essais ce week-end :wink:

Non, mais tu peux manuellement écrire des tâches cron (je te laisse duckduckgoter ça) pour lancer automatiquement des commandes du type systemctl stop wg-quick@wg0 (stop pour arrêter, start pour démarrer). Il faudra passer par la ligne de commande du serveur.

1 Like

Bonjour,

J’ai pas oublié l’histoire du VPN :stuck_out_tongue:
Ma dernière problématique était de limiter les accès “illégitimes” sur mon Pi, et je suis tombé sur un article exploitant la fonctionnalité Cloudflare Tunnels (là c’est pour l’hébergement de site mais je doute que ça change quoi que ce soit).

Du coup je vais voir si je peux pas exploiter ce point.

EDIT : en fait non, c’est tout sauf une solution, le RPi étant isolé du réseau dans ce cas, il risque pas de transmettre quoi que ce soit …

Bonjour,

Désolé pour le (mois de) retard, j’ai pu faire mes essais.

En premier lieu, je suis impressionné par les capacités offertes, ça me conforte dans mon choix de Yunohost :smiley:
Avec le serveur Wireguard, j’ai aussi découvert AdGuard que j’ai réparti entre deux sous-domaines : vpn.test.local et dns.test.local.
Pas convaincu d’avoir tout fait correctement mais je vois le potentiel.

Néanmoins, je rencontre un problème notamment sur la sécurité (mais pas lié à Yunohost) : ma Livebox ne gère pas les vlan …
Concernant l’auto-hébergement, ça tombe (un peu) à l’eau mais j’ai trouvé un alternative peu onéreuse (et qui répond partiellement à mon problème de sécu) : Infomaniak propose des VPS à faible coût (et moins cher que ProtonVPN en période de promo).

Ce sera mon prochain objectif :slight_smile: