EQF_SOFTWARE

Choix du modèle d'infrastructure

CritèreAutohébergéService managé
Contrôle des clésTotalPartiel (vérifier contractuellement)
Contrôle des logsTotalVariable — exiger export SIEM
JuridictionVotre choix d'hébergeurDépend du fournisseur
PatchingVotre responsabilité (<48h CVE critique)Fournisseur
Coût infrastructureVPS 5–20 €/mois5–15 €/utilisateur/mois
Compétences requisesAdministration Linux, réseauInterface web uniquement
Autohébergement — engagement opérationnel

Autohéberger un VPN transfère la totalité de la responsabilité de sécurité vers l'équipe IT. CVE-2023-27997 (Fortinet, CVSS 9.8) et CVE-2024-3400 (Palo Alto, CVSS 10.0) ont été exploitées en production dans des délais courts après divulgation. Sans capacité de patching sous 48 heures sur les vulnérabilités critiques, un service managé est objectivement plus sécurisé.

Outils de référence

StrongSwan — IPsec/IKEv2

Implémentation open source IPsec/IKEv2 pour Linux, disponible dans toutes les distributions majeures. Configuration via swanctl.conf (format moderne, VICI API) — préférer à l'ancien ipsec.conf. Supporte EAP-TLS (certificats), EAP-MSCHAPv2, EAP-RADIUS. Intégration avec les IdP via RADIUS proxy ou authentification native.

Exemple de configuration minimale sécurisée (swanctl.conf) :

  • proposals = aes256gcm16-sha384-ecp384 — suite cryptographique Phase 1, ! pour refuser tout autre
  • esp_proposals = aes256gcm16-ecp384 — suite cryptographique Phase 2 avec PFS
  • rekey_time = 4h — renouvellement des SA toutes les 4 heures
  • fragmentation = yes — fragmentation IKEv2 pour compatibilité NAT

Headscale — WireGuard mesh

Headscale est une implémentation open source auto-hébergeable du plan de contrôle de Tailscale. Il gère la distribution des clés publiques WireGuard, le DNS, les ACL et les routes dans un réseau mesh. Interface d'administration CLI et API REST. Déploiement sur un VPS Linux standard, base de données SQLite ou PostgreSQL. Clients Tailscale officiels compatibles sur tous les OS.

OpenVPN Access Server

Version commerciale d'OpenVPN avec interface d'administration web, gestion des utilisateurs intégrée, authentification LDAP/RADIUS native et portail de téléchargement des clients par utilisateur. Licence par nombre de connexions simultanées (2 connexions gratuites, payant au-delà). Adapté aux déploiements sans compétences techniques avancées.

Architectures HA en production

Actif-actif (load balancing)

Plusieurs instances de concentrateur répartissent les connexions. DNS round-robin ou load balancer L4 (HAProxy, Nginx stream). Aucune interruption en cas de panne d'une instance — les connexions sur l'instance défaillante sont redistribuées. WireGuard et IKEv2 gèrent le changement de serveur sans reconnexion complète (via MOBIKE pour IKEv2). Surveiller le déséquilibre de charge si les sessions sont longues.

Actif-passif (failover)

Une instance principale, une instance en veille. Keepalived ou Corosync/Pacemaker gèrent la bascule automatique de l'adresse IP virtuelle. Délai de bascule typique : 5 à 30 secondes. Les sessions actives sont interrompues lors du failover — les clients se reconnectent automatiquement si le kill switch n'est pas activé. Tester le failover en charge avant mise en production.

Comportement des protocoles sur failover

  • WireGuard : reconstitution du tunnel transparente. Le client détecte le changement d'adresse du serveur et réétablit le tunnel sans intervention utilisateur.
  • IKEv2 avec MOBIKE : maintien du tunnel sur changement d'adresse, si MOBIKE est activé côté client et serveur. Sans MOBIKE, renégociation complète des SA.
  • OpenVPN : reconnexion complète requise. Le client OpenVPN inclut un mécanisme de reconnexion automatique avec liste de serveurs (directive remote multiple).

Journalisation et détection d'anomalies

Catégories de logs minimales

  • Authentification : identifiant, timestamp (UTC), IP source, méthode d'authentification, succès/échec, code d'erreur si échec.
  • Session : timestamp de connexion/déconnexion, durée, volume de données transféré (octets entrants/sortants), disconnect reason.
  • Erreurs de négociation : échecs SA, erreurs de certificat (révoqué, expiré, chaîne invalide), rejets de connexion avec motif.
  • Administratifs : ajout/suppression de comptes, modification des ACL, changements de configuration. Trace d'audit indépendante des logs de connexion.

Intégration SIEM

L'intégration avec un SIEM (Splunk, Elastic Security, Microsoft Sentinel, Wazuh pour l'open source) permet la corrélation avec d'autres événements de sécurité et la détection d'anomalies comportementales : connexion depuis une IP géographiquement inhabituelle, connexion en dehors des heures habituelles, volume de données anormalement élevé, pic d'échecs d'authentification (credential stuffing).

Formats de log natifs : StrongSwan produit des logs syslog structurés. OpenVPN produit des logs texte parsables. Pour l'intégration SIEM, un shipper (Filebeat, Fluent Bit) normalise en JSON vers l'indexeur.

RGPD — rétention des logs

Les logs d'accès nominatifs (identifiant, IP, timestamp) sont des données personnelles au sens du RGPD. Durée de rétention à définir proportionnellement à la finalité (détection d'incidents : 3 à 6 mois recommandés). Documenter dans le registre des activités de traitement (article 30). La durée ne peut pas être indéfinie — prévoir une purge automatique.

Gestion des départs — révocation immédiate

La révocation des accès VPN lors des départs est le point le plus systématiquement oublié en production. Trois mesures complémentaires : désactivation du compte dans l'IdP (coupe l'accès si VPN intégré via SAML/OIDC), révocation du certificat client dans la PKI (publication CRL ou notification OCSP), et suppression explicite du compte VPN si la solution utilise une base locale. Intégrer ces trois actions dans la checklist RH de départ, avec une personne responsable désignée.