Comparaison StrongSwan vs OpenVPN vs Wireguard

Le document ici: https://delaat.net/rp/2019-2020/p71/report.pdf

en gros, StrongSwan est le plus performants d’une façon globale. Open VPN est plus facile à configurer, Wireguard est le plus rapide à établir la connexion mais est le plus mauvais en terme de latence et de CPU.

Je ne suis pas d’accord avec ta conclusion.

OpenVPN est plus efficace que Wireguard uniquement si le microprocesseur supporte l’extension AESNI.
Or, AESNI ne fonctionne qu’avec OpenVPN en mode client-serveur, où l’on est obligé d’avoir un certificat TLS (avec une autorité de certification etc). Ce qui rend OpenVPN bien plus complexe à configurer.


AnonymousCoward

1 J'aime

Openvpn est effectivement celui des trois qui utilise un fonctionnement user plutot que kernel comme les deux autres. utilisant de plus TLS, tu as effectivement raison. mais dans le cadre des tests, ca reste une conclusion valable, car toutes les machines ne sont pas AESNI.

En plus, d’après les infos que j’en ai, openvpn ne gère pas le multi-processeur alors que Wireguard si. Je ne sais pas pour stronswan.

Les trois soft sont à mon avis assez spécifique dans leur utilisation de prédilection.

Wireguard est à mon avis la solution qui monte pour les petites structures, OpenVPN un must have pour gérer de la liaison VPN client et le plus documenté pour le quidam.

Strongswan est quant à lui intégré à des solutions plus orienté Appliance.

1 J'aime

Stringswan comme wireguard travaille au niveau du kernel, donc supporte aussi comme wireguard le multi-processeur.
Openvpn lui travaille au niveau du user.

Même chose, OpenVPN fonctionne au niveau user, donc pas efficace à défaut d’être applicable dans le cadre d’une compliance.
Ensuite, StrongSwan est plus complexe à configurer que OpenVPN. Mais le corolaire aussi, c’est que OpenVPN n’est pas capable de gérer certains types de configuration.
En gros, et en simplifiant, OpenVPN c’est bien pour du VPN utilisateur vite fait, facile à mettre en place.
StrongSwan c’est plus sur sur des configuration plus complexes et sur de la gestion de tunnel permanent par exemple.
Wireguard est à mi-chemin des deux j’ai l’impression, mais ses performances sont pour le moment très inférieures aux deux autres.

Personnellement, pour des liaisons à hautes sécurité, j’utiliserais plutot StringSwan, pour du tout venant de base de l’OpenVPN.

Tu parles de quelle mesure de performance ? Sur la consommation de ressources, ou bien en termes de débit, ou de sécurité ?
J’ai utilisé un peu OpenVPN il y a un moment, puis plus aucune solution VPN, puis depuis quelques mois Wireguard. Je n’ai pas constaté de mauvaises performances en termes de débit avec Wireguard, ni en termes de consommation de ressources (l’usage que j’en ai est très peu intensif, il faut dire).
Par contre le truc que j’ai constaté c’est la simplicité d’installation et de configuration de Wireguard.

Pour les perfs, j’ai lu plusieurs témoignages qui semblent plus en faveur de Wireguard, ou en tout cas plus nuancés que ton constat:



Tout est dans le document cité

Juste pour info, sous OpenBSD, Wireguard est dès le début de son intégration devenu très facile à gérer, bien plus qu’OpenVPN. Le support est natif !

Quant à StrongSWAN, je ne sais pas du tout s’il est supporté - et m’en contre-fiche :stuck_out_tongue:

Pourquoi?
StrongSwan est sur FreeBSD et ses utilisation tels que PFsense et OPNsense.

Qu’est ce que tu entends par « support natif » dans ce cas là?

Il est intégré nativement dans le noyau ; si besoin, il suffit juste d’activer l’interface wg(4).
C’est le protocole VPN le plus simple et par défaut le plus sécurisé à utiliser !

StrongSwan, OpenVPN et Wireguard ne sont pas des protocols VPN.

Ce sont des implémentations différentes du VPN, (voir le tableau page 2 du document cité en début de fil de discussion). Dans le cas de WireGuard c’est aussi un protocole. En prime Wireguard ne fait que du peer to peer et pas de certificats. Enfin, à la date de rédaction du document en question.

hummm, quelque chose me dit que tu aimes bien l’extrême précision !

oui et non. Si tu veux utiliser Wireguard pour faire du VPN avec certificat ou avec une intégrité configurable, tu vas chercher pour rien car, alors, c’est un mauvais choix.

Ne cherches pas, ce n’est pas fait pour cela !
⇒ OpenVPN ! :wink:

1 J'aime

D’où l’intérêt du document de comparaison :slight_smile:
De fait, sur mon ISO d’installation d’un routeur/box, j’ai mis les 3 possibilités (en fait pour le moment, en test uniquement StrongSwan et OpenVPN, Wireguard viendra après).

Tout dépend de tes besoins réels, si tu as besoin d’un montage vpn pour de la remote gateway OpenVPN est bien entendu assez simple à mettre en place avec les règles iptables nécessaires.

Si tu désire interconnecté deux plateformes Wireguard est on ne peu plus simple à mettre ne place et bien assez véloce pour des besoins Lambda.

StrongSwan quant à lui est réservé à être utilisé pour du VPN bien plus complexe avec de’ l’appliance ou autre IKE, GRE etc …

Dans les 3 cas tu as besoin de règles IPtables de toute façon :slight_smile:
OpenVPN est effectivement plus simple à configurer coté client que StrongSwan.
Aucun n’est vraiment réservé à quoique ce soit. Le plus rapide est certainement OpenVPN pour de la gateway.
Mais en fait ils ont tous les trois un mode Tunnel et un mode TAP.
StrongSwan fait de l’IPSec en mode tunnel ou en mode transport.
WG et SS sont intégré au kernel, du moins en partie.
C’est d’ailleurs pour ça que OpenVPN, qui ne l’est pas, ne fait pas de multithreading (en attendant la version 3 qui pourra peut être le faire).
Wireguard n’est capable de faire que du tunnel UDP (avec un header supplémentaire). Il est moins customisable que les deux autres, mais de ce fait il est aussi moins susceptible d’être mal configuré.
Etc…
… en fait, lit le document, tu verras ce n’est pas aussi tranché que ça.

Ahhh, oui, SrongSwan est le pendant d’OpenIKED - disponible nativement aussi sur OpenBSD - mais c’est vrai que c’est un « poil plus complexe » à configurer. OpenIked ne fait que du Ikedv2 !
Avec Wireguard, ce sont les deux outils natifs sous OpenBSD, utilisables directement.
(excusez-moi, je me « réveille ») :stuck_out_tongue:

C’est aussi le but avoué, déployer rapidement un VPN, avec son protocole, de manière sécurisée, avec les paramètres des plus sécurisés par défaut, et peu configurables afin d’éviter les erreurs possibles (tel avec OpenVPN, par exemple).

D’où, franchement, l’intérêt de faire ça sous OpenBSD, car très sérieusement, iptables à côté de Packet-Filter est inutilement compliqué, sans même parler des sécurités intrinsèques de PF.
Et comme dit précédemment, deux de ses outils VPN sont intégrés nativement à l’OS.

Mais je concède et comprend qu’on veuille utiliser Linux pour… même si c’est envisageable, possible, ce n’est pas forcément l’outil le plus adéquat.