Configuration du protocole d’authentification Kerberos
L’authentification Kerberos est une méthode sécurisée et largement adoptée pour vérifier l’identité des utilisateurs sur des réseaux distribués. Elle fournit une vérification mutuelle—garantissant que l’utilisateur et le service confirment la légitimité de chacun—sans transmettre de mots de passe en clair.
Qu’est-ce que l’authentification Kerberos ?
Ce protocole, développé au MIT, repose sur des tickets chiffrés pour authentifier les utilisateurs de manière sécurisée et évolutive. Il est particulièrement répandu dans les systèmes informatiques d’entreprise, y compris Windows Active Directory, l’authentification unique (SSO) et les environnements hybrides de cloud.
Contrairement aux protocoles d’authentification de base, Kerberos n’expose pas les identifiants sur le réseau. Il utilise plutôt une tierce partie de confiance, appelée Centre de Distribution de Clés (KDC), pour délivrer des jetons de session.
Toute communication est chiffrée à l’aide d’une cryptographie symétrique, protégeant contre l’écoute clandestine et les attaques par rejeu. Ce système élimine la transmission des mots de passe en clair, le rendant bien plus résistant au vol d’identifiants.
Pourquoi c’est important
L’authentification Kerberos constitue l’épine dorsale de nombreux systèmes de contrôle d’accès d’entreprise. Elle simplifie la gestion des utilisateurs, réduit les risques et permet de véritables flux de travail d’authentification unique—particulièrement précieux dans les architectures distribuées à plusieurs niveaux.
Aujourd’hui, Kerberos prend en charge les modèles de sécurité modernes à travers Active Directory, les plateformes en conteneur, les applications cloud natives et les pipelines CI/CD. Des outils tels que DataSunrise appliquent le contrôle d’accès via des services proxy qui s’intègrent directement avec Kerberos et les politiques d’Active Directory.
Limitations courantes de l’authentification Kerberos
Bien que Kerberos améliore considérablement la sécurité de l’authentification, il présente plusieurs limitations opérationnelles et architecturales:
| Limitation | Impact |
|---|---|
| Disponibilité du KDC | Si le Centre de Distribution de Clés (KDC) est hors ligne ou inaccessible, toutes les tentatives de connexion échoueront à moins qu’une méthode d’authentification de secours ne soit mise en place. |
| Dépendance à la synchronisation horaire | Les tickets Kerberos dépendent d’horloges synchronisées. Si un décalage horaire survient entre les systèmes, l’authentification peut échouer en raison de tickets expirés ou invalides. |
| Limité aux clients de confiance | Kerberos ne prend pas en charge les connexions depuis des appareils non fiables ou des systèmes en dehors du domaine de confiance. |
| Point de défaillance unique (KDC) | En mode symétrique, si le KDC est compromis, tous les tickets de service et clés de session peuvent être exposés, en faisant une cible de grande valeur. |
| Prolifération des principaux de service | Chaque point de terminaison de service (nom d’hôte) nécessite sa propre entrée keytab, augmentant la complexité dans les environnements avec de nombreux services distribués. |
Comment fonctionne l’authentification Kerberos
Voici un déroulement simplifié:
- L’utilisateur se connecte et demande un ticket au Serveur d’Authentification (AS).
- Le Serveur d’Authentification valide la demande et délivre un Ticket Granting Ticket (TGT).
- Le TGT est envoyé au Serveur de Ticket (TGS) pour demander l’accès à un service spécifique.
- Le TGS délivre un ticket de service, que l’utilisateur présente au service cible.
- Le service déchiffre le ticket, valide la session et accorde l’accès.
Tout au long de ce processus, des clés partagées et des jetons de session sont utilisés au lieu de transmettre des mots de passe. Cela empêche l’analyse de paquets, atténue l’usurpation et permet une authentification mutuelle.
Cas d’utilisation modernes
L’authentification Kerberos continue d’évoluer. Elle alimente :
- Le SSO d’entreprise à travers les applications web, mobiles et VPN
- L’accès sécurisé aux bases de données via des proxys d’authentification tels que DataSunrise
- La fédération inter-domaines et la médiation d’identité
- Les modèles de réseau Zero Trust dans les clouds hybrides
- Les workflows DevOps automatisés avec délégation d’identifiants
Configuration et intégration
La mise en place de Kerberos nécessite l’intégration des services d’annuaire (par exemple, Active Directory), des outils clients (comme les générateurs de keytab) et une configuration appropriée à travers les systèmes. Voici un bref aperçu :
1. Configuration des utilisateurs dans Active Directory
- Créer ou identifier un utilisateur AD avec un mot de passe permanent sans expiration.
- Attribuer les SPN (Service Principal Names) pertinents en utilisant
ktpassousetspn.
2. Génération des fichiers keytab
Utilisez l’outil ktpass pour générer les entrées keytab. Celles-ci sont stockées de manière chiffrée et utilisées par les services pour l’authentification basée sur des tickets. Exemple :
ktpass /princ [email protected] /mapuser user1_backend /pass P@ssword123 \ /crypto all /ptype KRB5_NT_PRINCIPAL /out datasunrise.keytab -setupn
3. Configurer les clients Linux
Installez les paquets requis et éditez /etc/krb5.conf pour refléter les paramètres du domaine, du KDC et du realm. Assurez-vous qu’il n’existe aucune ligne commentée utilisant le symbole #.
4. Intégration du proxy Kerberos
DataSunrise peut fonctionner en tant que proxy d’authentification. Il prend en charge les déploiements sous Windows et Linux en utilisant Kerberos, permettant une application sécurisée de l’accès à divers services et bases de données.
5. Configuration sous Windows
Utilisez setspn pour enregistrer les SPN de MSSQL :
setspn -A MSSQLSvc/proxy-host:proxy-port proxy-host setspn -L proxy-host
Utilisez select auth_scheme from sys.dm_exec_connections where session_id=@@spid pour vérifier l’authentification MSSQL. Si nécessaire, dépannez via le guide SSPI de Microsoft.
Avantages en matière de sécurité
Kerberos protège contre :
- L’écoute de mots de passe sur le réseau
- Les attaques par rejeu utilisant des jetons de session
- Les connexions non autorisées depuis des points finaux non fiables
Il permet également des sessions d’authentification à durée limitée, une délégation de confiance et une traçabilité—essentielles pour la conformité avec le RGPD, HIPAA et SOX.
Vérification de l’authentification Kerberos avec PostgreSQL
Une fois que Kerberos est configuré et que votre principal de service est enregistré, vous pouvez vérifier que l’authentification fonctionne correctement en utilisant psql sur un client Linux. L’exemple suivant démontre une connexion sécurisée sans demander de mot de passe :
# Premièrement, obtenez un TGT (Ticket Granting Ticket) valide kinit [email protected] # Vérifiez que le ticket est délivré klist # Connectez-vous à PostgreSQL en utilisant Kerberos psql "host=db.domain.com port=5432 dbname=exampledb user=user1_backend sslmode=prefer gssencmode=prefer"
Si la connexion réussit, la connexion s’établira sans demander de mot de passe, confirmant que l’authentification Kerberos est active et que le ticket de session est valide.
Assurez-vous que PostgreSQL est compilé avec le support GSSAPI et configuré dans pg_hba.conf avec une entrée appropriée telle que :
# Activer l'authentification basée sur GSSAPI host all all 0.0.0.0/0 gss include_realm=1 krb_realm=DOMAIN.COM
Cette configuration garantit que votre base de données PostgreSQL respecte l’authentification Kerberos et impose des connexions sécurisées sans identifiants—idéal pour une sécurité de niveau entreprise et un contrôle d’accès centralisé.
Conclusion
L’authentification Kerberos est une solution fiable et conforme aux normes pour la gestion sécurisée des identités dans les environnements d’entreprise. Lorsqu’elle est déployée correctement, elle renforce le contrôle d’accès, simplifie la conformité et réduit les risques liés aux identifiants.
DataSunrise prend en charge les fonctionnalités de proxy d’authentification sécurisée et s’intègre parfaitement aux environnements Kerberos—tant sur site que dans le cloud. Demandez une démonstration pour découvrir comment vous pouvez étendre l’authentification basée sur Kerberos à vos actifs de bases de données critiques.
