Si vous rencontrez des problèmes avec les configurations Kerberos et les échecs de pré-authentification qui vous empêchent de dormir la nuit, vous n'êtes pas seul. Même les administrateurs système les plus expérimentés connaissent les frustrations uniques qui accompagnent la mise en place de l'authentification Kerberos.
Et vous ne pouvez pas contourner les petites erreurs car vous savez qu'elle joue un rôle crucial dans la sécurité de l'entreprise en tant que pilier des protocoles d'authentification pour les organisations de toutes tailles. C'est pourquoi votre équipe de développement a besoin de plateformes pour tester vos API authentifiées par Kerberos, ce qui peut être un défi car, malheureusement, même les plateformes de test les plus populaires comme Postman ne le prennent pas encore en charge ou sont beaucoup trop compliquées à utiliser comme dans SoapUI.
C'est là qu'Apidog entre en jeu, offrant une prise en charge native des protocoles d'authentification Kerberos et NTLM, vous permettant de commencer à tester les API authentifiées par Kerberos sur Windows, Mac et Linux. Maintenant, que nous ayons ou non suscité votre intérêt, veuillez continuer à lire le reste de notre blog, où nous vous aiderons à vous familiariser avec Kerberos, à expliquer son importance et à démontrer comment l'utiliser sur notre plateforme.
Avant de plonger dans les étapes, faisons un bref rappel sur le protocole d'authentification Kerberos, le cœur de nombreux systèmes de sécurité d'entreprise.
Qu'est-ce que le protocole d'authentification Kerberos ?
Développé par le MIT, Kerberos est un protocole d'authentification de sécurité réseau qui offre un moyen sûr de transmettre les données d'identité des utilisateurs sur un réseau. Il est particulièrement populaire dans les environnements Microsoft Windows et fait partie intégrante des solutions Single Sign-On (SSO), permettant aux utilisateurs de s'authentifier une fois et d'accéder à plusieurs services sans avoir besoin de ressaisir leurs mots de passe.
Comment fonctionne l'authentification Kerberos ?
Au cœur de Kerberos se trouvent plusieurs composants clés qui fonctionnent ensemble pour assurer une authentification sécurisée :
- KDC (Key Distribution Center) : Il s'agit du serveur central qui gère les demandes d'authentification. Il comprend deux composants essentiels :
- AS (Authentication Server) : Vérifie l'identité de l'utilisateur et émet le Ticket Granting Ticket (TGT).
- TGS (Ticket Granting Service) : Émet des tickets de service qui permettent aux utilisateurs d'accéder à des ressources spécifiques.
- TGS (Ticket Granting Service) : Émet des tickets de service qui permettent aux utilisateurs d'accéder à des ressources spécifiques.
- Service Tickets : Ceux-ci sont émis par le TGS et sont utilisés pour authentifier l'accès à des services spécifiques.
Le flux d'authentification Kerberos est simple mais sécurisé :
- L'utilisateur se connecte et demande un TGT à l'AS.
- L'AS vérifie l'identité de l'utilisateur et émet un TGT.
- Pour accéder à un service, l'utilisateur demande un ticket de service au TGS en utilisant son TGT.
- Le TGS vérifie le TGT et émet le ticket de service.
- L'utilisateur utilise le ticket de service pour authentifier l'accès au service demandé.
Dans ce processus, le KDC fonctionne comme une entité centrale, englobant deux composants clés : le serveur d'authentification (AS) et le service d'octroi de tickets (TGS). Le TGT (Ticket Granting Ticket) et les tickets de service servent d'informations d'identification essentielles pour vérifier l'identité et autoriser l'accès tout au long du flux d'authentification.
Cette conception permet aux utilisateurs de s'authentifier une seule fois (en obtenant un TGT), puis de demander plusieurs tickets de service si nécessaire, sans avoir à ressaisir leurs informations d'identification. Cette approche prend en charge l'authentification unique (SSO), offrant une expérience utilisateur transparente tout en maintenant une sécurité robuste au sein du système.

Tester les API authentifiées par Kerberos avec Apidog sur macOS

Maintenant que vous comprenez comment fonctionne Kerberos, examinons les étapes pour tester un point de terminaison d'API authentifié par Kerberos à l'aide d'Apidog sur macOS.
Étape 1 : Préparation
Pour commencer, vous aurez besoin de quelques informations de base relatives à Kerberos que votre organisation fournit généralement lors de l'utilisation de l'authentification Kerberos :
- Compte : Votre compte utilisateur Kerberos (par exemple, Scarlett@APIDOG.LOCAL).
- Mot de passe : Votre mot de passe de connexion Kerberos.
- Realm Kerberos : Le nom de domaine en majuscules (par exemple, APIDOG.LOCAL).
- Adresse du serveur KDC : Le nom de domaine complet (FQDN) ou l'adresse IP du KDC (par exemple, ills7i8hyt2.apidog.local).
Avant de commencer, assurez-vous d'avoir téléchargé et installé la dernière version d'Apidog. Notez que la version Web d'Apidog ne prend pas en charge Kerberos, vous devez donc utiliser le client de bureau.
Étape 2 : Modifiez votre DNS local pour l'authentification Kerberos :
L'authentification Kerberos est généralement utilisée au sein d'un réseau interne. Pour assurer une connectivité correcte, vous devrez configurer votre serveur DNS pour qu'il pointe vers l'adresse de votre serveur Active Directory (AD).
Étape 3 : Configurer /etc/krb5.conf
sur macOS
Le fichier krb5.conf
est la configuration centrale de Kerberos. Il définit votre domaine Kerberos et l'adresse du serveur KDC. Vous devrez créer ou modifier ce fichier sur votre système.
- Ouvrez un terminal et vérifiez si
krb5.conf
existe déjà :
cat /etc/krb5.conf
- Si le fichier n'existe pas, créez-le :
nano /etc/krb5.conf
- Ajoutez le contenu suivant pour configurer le domaine Kerberos et le serveur KDC :
[libdefaults]
default_realm = APIDOG.LOCAL # Votre nom de domaine Kerberos, généralement la forme en majuscules du nom de domaine de votre organisation
[realms]
EXAMPLE.COM = {
kdc = ills7i8hyt2.apidog.local # Adresse du serveur KDC, supposée ici être le FQDN du contrôleur de domaine
admin_server = ills7i8hyt2.apidog.local # Généralement le même que le KDC
}
[domain_realm]
.apidog.local = APIDOG.LOCAL # Mappage entre le nom de domaine et le nom de domaine Kerberos, le côté gauche est en minuscules
apidog.local = APIDOG.LOCAL
- Enregistrez et fermez le fichier.
Étape 4 : Connectez-vous au compte AD
Pour vous authentifier avec Kerberos, vous pouvez utiliser les outils GUI ou CLI sur macOS.
GUI : Utilisez Ticket Viewer pour ajouter votre identité. Ouvrez Spotlight, recherchez Ticket Viewer, puis ajoutez vos informations d'identification.

CLI : Vous pouvez également utiliser la commande kinit
: bash kinit <username@domain>
Vérifiez vos tickets Kerberos avec : bash klist
# Obtenir un ticket pour un compte AD
kinit <username@domain>
# Vérifier les tickets locaux
klist
Étape 5 : Configurer l'authentification Kerberos dans Apidog
Maintenant que vous êtes connecté à votre compte AD et que Kerberos est configuré, ouvrez Apidog et suivez ces étapes :
- Créez une
Nouvelle requête
dans Apidog.

- Dans la section Auth, sélectionnez Kerberos comme type d'authentification.

- Entrez le Nom du principal du service (SPN), qui est une combinaison de votre serveur KDC et du nom du domaine. Par exemple :
HTTP/ills7i8hyt2.apidog.local@APIDOG.LOCAL

- Cliquez sur Envoyer pour tester l'API.

Dépannage des erreurs 401
Si vous rencontrez une erreur 401 Unauthorized, vérifiez ce qui suit :
- Configuration DNS : Assurez-vous que le DNS est correctement configuré.
- Configuration Kerberos : Vérifiez votre configuration Kerberos dans
krb5.conf
. - Validité des informations d'identification : Assurez-vous que votre nom d'utilisateur et votre mot de passe sont corrects et actifs.
- Autorisations d'accès à l'API : Confirmez que vous disposez des autorisations nécessaires pour accéder à l'API.
- Expiration du ticket : Les tickets Kerberos expirent, alors assurez-vous que votre ticket est toujours valide. Vous devrez peut-être le renouveler avec
kinit
.

Configuration de l'authentification Kerberos sur Windows
Pour les systèmes Windows joints à un domaine, Apidog s'intègre de manière transparente aux configurations Kerberos existantes. Si votre système fait déjà partie d'un domaine, aucune configuration supplémentaire n'est nécessaire pour commencer à tester les API authentifiées par Kerberos.
Pour les systèmes non-domaines, vous aurez besoin de privilèges administratifs et d'informations d'identification de domaine valides pour rejoindre le domaine et configurer Kerberos. Voici les étapes impliquées :
- Configurez vos paramètres DNS pour qu'ils pointent vers les serveurs DNS du domaine.
- Accédez à Paramètres système > Accéder au travail ou à l'école pour accéder aux paramètres du domaine.
- Terminez le processus de jonction au domaine en fournissant les informations d'identification autorisées nécessaires.
Utilisation d'Apidog pour tester les API authentifiées par NTLM
En plus de Kerberos, Apidog prend également en charge l'authentification NTLM, couramment utilisée pour les systèmes hérités. NTLM est plus rapide mais moins sécurisé que Kerberos, ce qui le rend idéal pour les petits réseaux ou comme solution de repli lorsque Kerberos n'est pas disponible.
Pour l'authentification NTLM, entrez simplement votre nom d'utilisateur et votre mot de passe dans la section Auth d'Apidog et cliquez sur Envoyer, aucune configuration supplémentaire n'est requise.
Étape 1 : Préparation et modification du DNS local
L'authentification NTLM est simple et ne nécessite que le compte et le mot de passe fournis par votre entreprise. Assurez-vous d'avoir téléchargé et enregistré la dernière version d'Apidog.
Étant donné que les points de terminaison authentifiés par NTLM sont souvent accessibles au sein du réseau interne, assurez-vous que votre serveur DNS est configuré pour pointer vers l'adresse du serveur Active Directory (AD).
Étape 2 : Configurer Auth dans Apidog
La configuration de l'authentification NTLM dans Apidog est simple et ne nécessite aucune configuration supplémentaire.
Dans la section Auth
d'Apidog, sélectionnez Authentification NTLM
comme type d'authentification. Vous serez invité à entrer votre nom d'utilisateur et votre mot de passe dans les champs respectifs.

Une fois que vous avez rempli vos informations d'identification, cliquez sur le bouton Envoyer
pour terminer le processus d'authentification.
Avantages de l'authentification Kerberos
Kerberos offre plusieurs avantages qui en font la méthode d'authentification préférée des entreprises :
- Authentification centralisée : Toute l'authentification est gérée par un serveur central, ce qui facilite la gestion des utilisateurs et l'application des stratégies.
- Authentification mutuelle : Le client et le serveur vérifient l'identité de chacun, offrant une couche de sécurité supplémentaire.
- Authentification unique (SSO) : Une fois authentifiés, les utilisateurs peuvent accéder à plusieurs services sans avoir besoin de se reconnecter.
- Authentification basée sur les tickets : Les informations d'identification des utilisateurs (mots de passe) ne sont jamais transmises sur le réseau. Au lieu de cela, des tickets cryptés sont utilisés pour prouver l'identité.
- Validité limitée des tickets : Les tickets sont horodatés et expirent après une période définie, ce qui réduit les risques associés aux informations d'identification compromises.
- Réduction de la charge du serveur : Les serveurs n'ont pas besoin d'authentifier les utilisateurs à plusieurs reprises, ce qui améliore les performances du système.
Conclusion
Dans les environnements d'entreprise modernes, Kerberos et NTLM jouent tous deux des rôles essentiels dans l'authentification. Alors que Kerberos offre une sécurité améliorée pour les déploiements à grande échelle, NTLM offre une compatibilité avec les anciens systèmes et les petits réseaux.
Grâce à la prise en charge native d'Apidog pour les deux protocoles, le test des API qui reposent sur ces méthodes d'authentification devient simple, que vous travailliez avec des services authentifiés par Kerberos dans un environnement Windows, Mac ou Linux, ou que vous utilisiez NTLM pour les systèmes hérités.
Apidog vous aide à tester et à valider votre configuration d'authentification efficacement, ce qui permet de gagner du temps et de réduire la frustration des développeurs et des équipes d'assurance qualité. Commencez avec Apidog dès aujourd'hui et découvrez des tests d'API transparents et sécurisés avec la prise en charge intégrée de Kerberos et NTLM.