IPsec vs. OpenVPN pour une connexion VPN auto-hébergée

Salut, tout le monde !

J’ai récemment acheté un routeur pfSense et je voudrais le configurer pour permettre des connexions VPN entrantes lorsque je suis absent, afin de pouvoir faire :

  • synchronisation automatique de fichiers
  • streaming média
  • gestion du serveur

Si ce sont mes cas d’utilisation principaux, peu importe que je choisisse IPsec ou OpenVPN comme protocole ? J’ai entendu dire qu’IPsec est plus rapide, ce qui pourrait être important pour le streaming, mais je ne suis pas sûr que ce soit plus rapide de façon significative.

Quoi qu’il en soit, quels sont quelques avantages/inconvénients de l’utilisation de l’un ou l’autre protocole pour un tel cas d’usage ? Cela aurait-il réellement une importance (subjectif, je sais, mais j’aimerais entendre les avis et raisonnements subjectifs des autres) selon celui utilisé ?

Longue explication copiée et collée depuis stackexchange, version TLDR : utiliser OpenVPN (qu’on appelle aussi VPN SSL) est plus que suffisant pour ce que vous essayez d’accomplir :

IPSec vs VPN SSL

Les VPN SSL et IPSec sont toutes deux de bonnes options, toutes deux avec un pedigree de sécurité considérable, bien qu’elles conviennent à des applications différentes.

Les VPN IPsec fonctionnent au niveau 3 (réseau), et dans un déploiement typique, donnent un accès complet au réseau local (même si cet accès peut être restreint via des pare-feu et certains serveurs VPN supportent des ACL). Cette solution est donc mieux adaptée aux situations où vous souhaitez que les clients distants se comportent comme s’ils étaient connectés localement au réseau, et est particulièrement utile pour les VPN site-à-site. Les VPN IPSec ont aussi tendance à nécessiter un logiciel spécifique fourni par le fournisseur, ce qui est plus difficile à maintenir sur les appareils des utilisateurs finaux, et limite l’usage du VPN aux appareils gérés.

Les VPN SSL sont souvent préférés pour l’accès distant. Ils opèrent sur les couches 5 et 6, et dans un déploiement typique, donnent accès à des services spécifiques en fonction du rôle de l’utilisateur, notamment les applications basées sur le navigateur. Il est généralement plus simple de configurer un VPN SSL avec un contrôle plus granulaire sur les permissions d’accès, ce qui peut offrir un environnement plus sécurisé pour l’accès à distance dans certains cas. De plus, SSL/TLS est intrinsèquement supporté par les appareils modernes, et peut généralement être déployé sans logiciel client spécialisé, ou avec des clients légers basés sur le navigateur. Ces clients légers peuvent aussi effectuer des vérifications locales pour garantir que les machines connectées respectent certaines exigences avant d’accorder l’accès — une fonctionnalité plus difficile à réaliser avec IPSec.

Dans les deux cas, une configuration peut être mise en place pour obtenir des fonctionnalités similaires : les VPN SSL peuvent être utilisés pour créer simplement un tunnel avec un accès complet au réseau, et les VPN IPSec peuvent être verrouillés sur des services spécifiques — cependant, il est largement admis qu’ils conviennent mieux aux scénarios mentionnés ci-dessus.

Cependant, pour ces mêmes raisons, beaucoup d’organisations utilisent une combinaison des deux ; souvent un VPN IPsec pour les connexions site-à-site et un VPN SSL pour l’accès à distance.

Voici quelques références concernant le sujet SSL vs IPSec (certaines proviennent directement de fournisseurs) :

Chiffrement de bout en bout

Dans certains des cas évoqués, comme les VPN IPSec et SSL, vous ne bénéficiez peut-être pas d’un chiffrement de bout en bout avec le service utilisé. C’est ici qu’ajouter une couche SSL/TLS supplémentaire s’avère utile.

Supposons que vous soyez à distance et que vous essayiez de vous connecter à une application web hébergée en interne via un VPN IPSec. Si vous utilisez le protocole HTTP via votre navigateur, votre trafic est chiffré pendant qu’il passe par le tunnel VPN, mais il est déchiffré lorsque cela atteint le point de terminaison VPN distant, et circule en clair sur le réseau interne. Cela peut être acceptable dans certains cas, mais dans un souci de défense en profondeur, nous voulons pouvoir garantir que nos données ne soient interceptées nulle part entre vous et le service lui-même. En vous connectant à cette application via HTTPS, vous disposez de deux couches de sécurité : une entre vous et le point de terminaison VPN, et une autre entre vous et le serveur web.

Bien sûr, cela ne se limite pas à HTTPS — vous devriez également utiliser d’autres protocoles sécurisés comme SSH, FTPS, SMTP avec STARTTLS, etc.