Ajouter un second backend d’authentification à une passerelle VPN donne l’impression d’ajouter un second facteur. En général, cela ajoute un second contrôle, un objet différent avec des modes de défaillance différents. Faut-il que les deux réussissent, ce que chacun prouve et ce qui se passe quand l’un est indisponible sont trois décisions distinctes. Trompez-vous et la passerelle devient plus stricte en démonstration et plus faible pendant une panne.

Ce qu’un second backend prouve réellement

Une recherche de compte local prouve qu’un nom existe dans une base de données et qu’un mot de passe y correspondait. Un échange RADIUS prouve qu’un serveur RADIUS a renvoyé Access-Accept pour les attributs reçus. Aucune des deux affirmations ne mentionne un type de facteur, car les deux vérifient une connaissance. Et le guide d’identité numérique du NIST compte des types de facteur distincts et leurs authentificateurs, pas des serveurs ni des invites.

Il existe une conception légitime où les deux systèmes participent. Un service central peut authentifier la personne tandis que la passerelle vérifie indépendamment si ce compte a droit à ce tunnel. C’est de l’autorisation à côté de l’authentification, et l’appeler deux facteurs confond un contrôle de politique avec une preuve de possession.

RADIUS peut porter un vrai second facteur lorsqu’il précède quelque chose qui en vérifie un, comme une approbation push ou un jeton matériel. L’enveloppe ne dit pas quels authentificateurs l’utilisateur a présentés, alors lisez la politique du backend plutôt que l’étiquette de la passerelle.

AND, OR et le repli sont des produits différents

Avant de comparer les implémentations, décidez ce que les deux signifie dans votre exigence. Une politique AND exige que chaque contrôle nommé passe, une politique OR accepte celui qui réussit, et un repli n’essaie le second que dans des conditions de défaillance déclarées. Ces trois se comportent à l’opposé pendant une panne, et une seule d’entre elles est généralement ce que la revue voulait.

Ajouter deux entrées de backend à un écran de configuration ne révèle pas quelle politique le produit applique. Certaines passerelles enchaînent les plugins dans l’ordre et s’arrêtent au premier refus, ce qui n’est AND que si chaque plugin est requis. D’autres traitent un compte local comme un contournement, ce qui transforme une panne centrale en échappatoire. La réponse fiable est un test négatif documenté pour chaque chemin, exécuté sur la version que vous déployez.

Le repli mérite le plus de suspicion, car il existe pour continuer à fonctionner quand quelque chose est cassé. Un repli qui accepte un mot de passe local dès que RADIUS est injoignable a transformé une politique centrale en une seconde porte plus faible.

Le double contrôle d’OpenVPN est un cas concret

OpenVPN communautaire 2.6 exige à la fois un certificat client et le script auth-user-pass-verify configuré lorsque les deux sont activés. C’est un AND documenté entre la vérification du certificat et un script d’identifiants, et ce sont réellement deux contrôles. Ce n’est toujours pas automatiquement deux types de facteur, car le script peut ne valider qu’un mot de passe.

La combinaison laisse aussi ouverte la question de l’association. Un certificat identifie souvent un appareil tandis que les identifiants identifient une personne, et rien dans le flux par défaut n’exige que les deux désignent le même principal. Décidez quelles paires sont autorisées, puis imposez cette table dans le script de vérification ou dans une étape d’autorisation ultérieure.

Le mode certificat seul est un seul contrôle, adossé à une clé qui peut être protégée par un PIN ou non. Un PIN transforme le même identifiant en connaissance plus possession seulement si la clé ne peut pas être utilisée sans lui. Laisser cette clé non chiffrée sur le disque réduit la seconde partie à une permission de fichier.

Les fabricants d’appliances construisent leur propre plomberie, souvent un module PAM ou un plugin RADIUS derrière une console web. Le comportement communautaire est une référence sur ce à quoi ressemblent les doubles contrôles, pas une description de la façon dont une appliance les combine.

Vérifiez la combinaison sur votre passerelle

Lisez la configuration avant de faire confiance au résumé de la console. Les lignes qui décident de la politique sont le mode de certificat, le script d’identifiants et l’ordre des plugins.

grep -E 'verify-client-cert|auth-user-pass-verify|plugin' /etc/openvpn/server.conf
openssl x509 -in /etc/openvpn/pki/issued/client01.crt -noout -subject -serial
radtest alice 'wrong-password' 127.0.0.1 0 testing123

Le grep indique si un certificat est requis et quel script s’exécute ensuite, et l’ordre compte plus que les noms ne le suggèrent. Le vidage du certificat donne l’identité que la passerelle verra, y compris le CN et le numéro de série nécessaires à la table d’association. Le test RADIUS est le cas négatif : un mauvais mot de passe doit produire Access-Reject, et un bon Access-Accept. Si un identifiant rejeté produit encore une session, le script n’est pas du tout sur le chemin d’authentification.

Exécutez ensuite le cas de panne sur une instance de laboratoire : arrêtez le backend requis et connectez-vous avec des identifiants valides. Le résultat attendu est un refus, et tout le reste est la politique de repli que personne n’a documentée.

Écrivez l’exigence comme des cas négatifs

Une exigence utilisable nomme les preuves, les comptes autorisés à les présenter et le résultat lorsqu’un vérificateur manque. Elle énonce aussi l’appariement autorisé entre l’identité de l’appareil et celle de la personne. C’est plus précis que les noms de produits sur le bon de commande, et c’est testable.

L’acceptation devrait inclure quatre refus : un compte local inapproprié, une preuve requise manquante, un second facteur invalide et un backend requis injoignable. Chaque refus a besoin d’une ligne de journal qui le distingue des autres, sinon le prochain incident commence par des suppositions. Notez quel composant a pris chaque décision, car la passerelle, le serveur RADIUS et l’annuaire s’accuseront mutuellement.

Relancez les quatre refus après tout changement de plugin ou de firmware. Ils sont peu coûteux, et la politique qu’ils protègent est la partie qu’un attaquant sonde en premier.

Articles similaires