Le chiffrement de liaison de Firebird 3 et le VPN sont deux frontières
Un VPN qui fonctionne ne dit rien sur qui peut ouvrir l'écouteur Firebird ni sur ce que le client a négocié. Vérifiez séparément l'accessibilité, l'authentification et le chiffrement de liaison.
Le VPN se connecte, le client ouvre une session et tout le monde suppose que la connexion à la base est sécurisée. Trois choses différentes viennent d'être confondues. Que l'écouteur soit accessible, que le serveur ait accepté l'utilisateur et que Firebird ait négocié le chiffrement de liaison sont des mécanismes distincts avec des preuves distinctes. Un tunnel ne répond qu'à la première, et seulement pour les sources que vous avez autorisées.
Deux frontières qui ne se recouvrent pas
La frontière du VPN protège les paquets entre un client et une passerelle. Le chiffrement de liaison de Firebird protège le protocole de base de données entre la bibliothèque cliente et le processus serveur. Les deux peuvent être présents et aucun ne remplace l'autre.
Si le tunnel se termine avant l'hôte de la base, le trafic au-delà n'est protégé que par ce que la session de base a négocié. C'est dans cet écart qu'une revue trouve généralement la surprise. Le schéma du tunnel se termine à une passerelle, et la connexion qui transporte votre requête continue au-delà. Quiconque lit ce schéma plus tard hérite de l'hypothèse.
Frontière un : qui peut ouvrir l'écouteur
Identifiez l'adresse réelle du serveur et le port configuré, qui est 3050 sauf s'il a été modifié, puis n'autorisez que les sources VPN approuvées sur les pare-feu de l'hôte et du réseau. Tenez compte de toute traduction d'adresses à la passerelle VPN et donnez à l'hôte de la base une route de retour vers le pool de clients si la passerelle est séparée.
Prouvez ensuite le négatif. Un chemin externe qui doit être refusé doit le rester, car ouvrir le tunnel ne restreint pas l'écouteur Firebird à lui seul.
Frontière deux : ce que Firebird négocie
Firebird 3 a introduit un cadre de chiffrement de liaison avec une politique serveur qui peut être désactivée, activée ou exigée. La politique fixe le plancher. La session réelle dépend encore de la bibliothèque cliente chargée par l'application et des plugins que les deux côtés prennent en charge.
Dans les notes de version de Firebird 3, Arc4 est répertorié comme plugin de chiffrement de liaison par défaut de cette version. Arc4 est un défaut historique, pas une recommandation de chiffrement moderne, et ce n'est pas la même chose que la protection VPN externe.
L'authentification est une troisième variable dans la même négociation. Le serveur accepte un ensemble de plugins d'authentification, la bibliothèque cliente en propose un sous-ensemble, et les deux doivent se recouvrir.
Le piège Legacy_Auth
Prendre en charge Legacy_Auth exige d'assouplir la politique d'exigence de chiffrement par défaut du serveur. C'est le coût de compatibilité documenté, et c'est pourquoi abaisser la politique pour faire taire une erreur de connexion est un changement de sécurité et non un correctif.
Si un client échoue soudainement après une mise à niveau du serveur, comparez les listes de plugins avant d'affaiblir quoi que ce soit. L'échec est généralement un décalage de négociation, et la réponse est un plugin pris en charge des deux côtés.
Vérifiez la connexion qui compte
Sur une version qui fournit la variable de contexte, cette requête indique l'état de chiffrement de la connexion actuelle :
SELECT RDB$GET_CONTEXT('SYSTEM', 'WIRE_ENCRYPTED')
FROM RDB$DATABASE;
Exécutez-la via la connexion propre de l'application, pas via une session d'administrateur sur le même serveur. Une connexion d'administration chiffrée ne dit rien de la session d'une autre bibliothèque cliente, et une version plus ancienne qui ne prend pas en charge la variable ne prouve pas que le chiffrement est désactivé.
Notez ensemble la version de la bibliothèque cliente, la version du serveur et le résultat, car aucun des trois seul n'est lisible.
Droits et chemin de mise à niveau
Restreindre les sources et chiffrer le transport ne remplacent ni l'authentification ni les droits de moindre privilège. Vérifiez les permissions de l'utilisateur ordinaire de la base sur les objets qu'il touche réellement.
Enfin, traitez un déploiement de longue durée comme une question de maintenance. Un tunnel ne rend pas une bibliothèque cliente obsolète sûre indéfiniment, et un chemin de mise à niveau pris en charge coûte moins cher que découvrir que le plugin nécessaire a été supprimé.