Outil de chiffrement OTP

À partir de Citrix ADC version 13.0 build 41.20, les données secrètes OTP sont stockées dans un format crypté au lieu d’un texte brut pour une sécurité renforcée. Le stockage du secret OTP dans un format crypté est automatique et ne nécessite pas d’intervention manuelle.

Auparavant, l’appliance Citrix ADC stockait le secret OTP sous forme de texte brut dans le répertoire actif. Le stockage du secret OTP dans un format texte brut constituait une menace pour la sécurité car un attaquant malveillant ou un administrateur pourrait exploiter les données en visualisant le secret partagé d’autres utilisateurs.

L’outil de chiffrement OTP offre les avantages suivants :

  • N’entraîne pas de perte de données, même si vous avez d’anciens appareils utilisant l’ancien format (texte brut).
  • La prise en charge de la rétrocompatibilité avec les anciennes versions de Citrix Gateway permet d’intégrer et de travailler avec les périphériques existants, ainsi qu’avec le nouveau périphérique.
  • L’outil de chiffrement OTP aide les administrateurs à migrer toutes les données secrètes OTP de tous les utilisateurs à la fois.

Utilisation de l’outil de chiffrement OTP

L’outil de chiffrement OTP peut être utilisé pour les éléments suivants :

  • Chiffrement. Stockez le secret OTP au format crypté. L’outil extrait les données OTP des périphériques enregistrés avec Citrix ADC, puis convertit les données OTP au format texte brut au format chiffré.
  • Décryptage. Rétablir le secret OTP au format texte brut.
  • Mettre à jour les certificats. Les administrateurs peuvent mettre à jour le certificat vers un nouveau certificat à tout moment. Les administrateurs peuvent utiliser l’outil pour entrer le nouveau certificat et mettre à jour toutes les entrées avec les nouvelles données de certificat. Le chemin d’accès du certificat doit être un chemin absolu ou un chemin relatif.

Important

  • Vous devez activer le paramètre de chiffrement dans l’appliance Citrix ADC pour utiliser l’outil de chiffrement OTP.
  • Pour les périphériques enregistrés auprès de Citrix ADC avant la version 41.20, vous devez effectuer les opérations suivantes :
    • Mettez à niveau l’appliance Citrix ADC 13.0 vers la version 13.0 41.20.
    • Activez le paramètre de chiffrement sur l’appliance.
    • Utilisez l’outil de migration OTP Secret pour migrer les données secrètes OTP du format texte brut au format crypté.

Données secrètes OTP au format texte brut

Exemple :

#@devicename=<16 or more bytes>&tag=<64bytes>&,

Comme vous pouvez le voir, le motif de départ pour l’ancien format est toujours « #@ » et le motif de fin est toujours « & ». Toutes les données entre « devicename= » et le motif de fin, constituent des données OTP de l’utilisateur.

Données secrètes OTP au format crypté

Le nouveau format crypté des données OTP est du format suivant :

Exemple :

    {
         "otpdata”: {
         “devices”: {
                        “device1”: “value1”,
                        “device2”: “value2”, …
                    }
            }
    }

Où, value1 est la valeur encodée base64 de données kid + IV +chiffrement

Les données de chiffrement sont structurées comme suit :

    {
      secret:<16-byte secret>,
      tag : <64-byte tag value>
      alg: <algorithm used> (not mandatory, default is sha1, specify the algorithm only if it is not default)
    }
  • Dans « devices », vous avez une valeur par rapport à chaque nom. La valeur est base64encode (kid) .base64encode (IV) .base64encode (cipherdata).
  • Dans les algorithmes AES standard, IV est toujours envoyé en tant que 16 ou 32 premiers octets de données chiffrées. Vous pouvez suivre le même modèle.
  • IV diffère pour chaque appareil bien que la clé reste la même.

Configuration de l’outil de chiffrement OTP

L’outil de chiffrement OTP se trouve dans le répertoire\var\netscaler\otptool. Vous devez télécharger le code à partir de la source Citrix ADC et exécuter l’outil avec les informations d’identification AD requises.

  • Conditions préalables à l’utilisation de l’outil de chiffrement OTP :
    • Installez python 3.5 ou version supérieure dans l’environnement où cet outil est exécuté.
    • Installez pip3 ou versions ultérieures.
  • Exécutez les commandes suivantes :
    • pip install requirements.txt. Installe automatiquement les exigences
    • Python main.py. Invoque l’outil de chiffrement OTP. Vous devez fournir les arguments requis en fonction de votre besoin pour la migration des données secrètes OTP.
  • L’outil peut être localisé à\var\netscaler\otptool partir de l’invite de shell.
  • Exécutez l’outil avec les informations d’identification AD requises.

Interface de l’outil de chiffrement OTP

La figure suivante affiche un exemple d’interface d’outil de chiffrement OTP. L’interface contient tous les arguments qui doivent être définis pour le chiffrement, le décryptage et la mise à niveau de certificat. De plus, une brève description de chaque argument est saisie.

Argument OPERATION

Vous devez définir l’argument OPERATION pour utiliser l’outil de chiffrement OTP pour le chiffrement, le déchiffrement ou la mise à niveau de certificat.

Le tableau suivant résume certains des scénarios dans lesquels vous pouvez utiliser l’outil de chiffrement OTP et les valeurs d’argument OPERATION correspondantes.

Scénario Valeur de l’argument d’opération et autres arguments
Convertir le secret OTP en texte brut au format chiffré dans le même attribut Entrez la valeur de l’argument OPÉRATION sur 0 et fournissez la même valeur pour l’attribut source et cible. Exemple : python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute unixhomedirectory -operation 0
Convertir un secret OTP en texte brut au format chiffré dans un attribut différent Entrez la valeur de l’argument OPÉRATION sous la forme 0 et indiquez les valeurs correspondantes pour l’attribut source et cible. Exemple : python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 0
Convertir les entrées chiffrées en texte clair Entrez la valeur de l’argument OPÉRATION comme 1 et indiquez les valeurs correspondantes pour l’attribut source et cible. Exemple : python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 1
Convertir les entrées chiffrées d’un attribut KBA en texte clair Entrez la valeur de l’argument OPÉRATION comme 1 et il est obligatoire de fournir un attribut cible différent. Exemple : python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 1
Mettre à jour le certificat vers un nouveau certificat Entrez la valeur 2 de l’argument OPÉRATION et indiquez tous les détails du certificat précédent et du nouveau certificat dans les arguments correspondants. Exemple : python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 2 -cert_path aaatm_wild_all.cert –new_cert_path aaatm_wild_all_new.cert

Activation de l’option de chiffrement dans l’appliance Citrix ADC

Pour chiffrer le format de texte brut, vous devez activer l’option de chiffrement dans l’appliance Citrix ADC.

Pour activer les données de chiffrement OTP à l’aide de l’interface de ligne de commande, tapez :

set aaa otpparameter [-encryption ( ON | OFF )]

Exemple :

set aaa otpparameter -encryption ON

Cas d’utilisation de l’outil de chiffrement OTP

L’outil de chiffrement OTP peut être utilisé dans les cas d’utilisation suivants.

Enregistrer de nouveaux périphériques avec l’appliance Citrix ADC version 13.0 build 41.20

Lorsque vous enregistrez votre nouveau périphérique auprès de l’appliance Citrix ADC version 13.0 build 41.x, et si l’option de chiffrement est activée, les données OTP sont enregistrées dans un format chiffré. Vous pouvez éviter une intervention manuelle.

Si l’option de chiffrement n’est pas activée, les données OTP sont stockées au format texte brut.

Migrer les données OTP pour les périphériques enregistrés avant la version 13.0 41.20

Vous devez effectuer les opérations suivantes pour chiffrer les données secrètes OTP pour les périphériques qui sont enregistrés auprès de l’appliance Citrix ADC avant la version 13.0 41.20.

  • Utilisez l’outil de conversion pour migrer les données OTP du format texte brut au format chiffré.
  • Activez le paramètre « Encryption » sur l’appliance Citrix ADC.
    • Pour activer l’option de chiffrement à l’aide de l’interface de ligne de commande :
      • set aaa otpparameter -encryption ON
    • Pour activer les options de chiffrement à l’aide de l’interface graphique :
      • Accédez à Sécurité > AAA — Trafic d’application et cliquez sur Modifier l’authentification AAA OTP Parameter sous la section Paramètres d’authentification.
      • Sur la page Configurer le paramètre OTP AAA, sélectionnez Chiffrement secret OTP, puis cliquez sur OK.
    • Connectez-vous avec les informations d’identification AD valides.
    • Si cela est nécessaire, enregistrez des périphériques supplémentaires (facultatif).

Migrer des données chiffrées de l’ancien certificat vers le nouveau certificat

Si les administrateurs souhaitent mettre à jour le certificat vers un nouveau certificat, l’outil fournit une option pour mettre à jour les nouvelles entrées de données de certificat.

Pour mettre à jour le certificat vers un nouveau certificat à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

Exemple :

python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 2 -cert_path aaatm_wild_all.cert –new_cert_path aaatm_wild_all_new.cert

Remarque

  • Les certificats doivent contenir à la fois des clés privées et publiques.
  • Actuellement, la fonctionnalité est fournie uniquement pour OTP.

Rechiffrer ou migrer vers un nouveau certificat pour les périphériques enregistrés après la mise à niveau de l’appliance vers la version 13.0 41.20 avec chiffrement

Admin peut utiliser l’outil sur les périphériques déjà chiffrés avec un certificat et peut mettre à jour ce certificat avec un nouveau certificat.

Convertir les données chiffrées au format texte brut

Admin peut décrypter le secret OTP et les rétablir au format de texte brut original. L’outil de chiffrement OTP scanne tous les utilisateurs pour le secret OTP au format crypté et les convertit au format déchiffré.

Pour mettre à jour le certificat vers un nouveau certificat à l’aide de l’interface de ligne de commande

À l’invite de commandes, tapez :

Exemple :

python3 main.py -Host 192.0.2.1 –Port 636 -username ldapbind_user@aaa.local -search_base cn=users,dc=aaa,dc=local -source_attribute unixhomedirectory -target_attribute userparameters -operation 1

Résolution des problèmes

L’outil génère les fichiers journaux suivants.

  • app.log. Consigne toutes les étapes principales de l’exécution et les informations sur les erreurs, les avertissements et les échecs.
  • unmodified_users.txt. Contient une liste des noms de domaine utilisateur qui n’ont pas été mis à niveau du texte brut au format chiffré. Ces journaux sont générés à une erreur de format ou peuvent être dus à une autre raison.