Citrix ADC

OTP-Verschlüsselungstool

Ab Citrix ADC Version 13.0 Build 41.20 werden die geheimen OTP-Daten in einem verschlüsselten Format anstelle von Klartext gespeichert, um die Sicherheit zu erhöhen. Die Speicherung des OTP-Geheimnisses im verschlüsselten Format erfolgt automatisch und erfordert keinen manuellen Eingriff.

Zuvor hat die Citrix ADC Appliance OTP-Geheimnis als Nur-Text im Active Directory gespeichert. Das Speichern von OTP-Geheimnissen in einem Nur-Text-Format stellte eine Sicherheitsbedrohung dar, da ein bösartiger Angreifer oder ein Administrator die Daten ausnutzen konnte, indem er das gemeinsame Geheimnis anderer Benutzer ansieht.

Das OTP-Verschlüsselungstool bietet folgende Vorteile:

  • Es führt nicht zu einem Datenverlust, selbst wenn Sie alte Geräte haben, die altes Format (Klartext) verwenden.
  • Die Unterstützung der Abwärtskompatibilität mit alten Citrix Gateway -Versionen hilft, die vorhandenen Geräte zusammen mit dem neuen Gerät zu integrieren und zu arbeiten.
  • Mit dem OTP-Verschlüsselungstool können Administratoren alle geheimen OTP-Daten aller Benutzer gleichzeitig migrieren.

Hinweis: Das OTP-Verschlüsselungstool verschlüsselt oder entschlüsselt keine KBA-Registrierungsdaten oder E-Mail-Registrierungsdaten.

Verwendung des OTP-Verschlüsselungswerkzeugs

Das OTP-Verschlüsselungstool kann für Folgendes verwendet werden:

  • Verschlüsselung. Speichern Sie das OTP-Geheimnis im verschlüsselten Format. Das Tool extrahiert die OTP-Daten der mit Citrix ADC registrierten Geräte und konvertiert dann die OTP-Daten im Nur-Text-Format in verschlüsseltes Format.
  • Entschlüsselung. Stellen Sie das OTP-Geheimnis in das Nur-Text-Format zurück.
  • Zertifikate aktualisieren. Administratoren können das Zertifikat jederzeit auf ein neues Zertifikat aktualisieren. Administratoren können das Tool verwenden, um das neue Zertifikat einzugeben und alle Einträge mit den neuen Zertifikatsdaten zu aktualisieren. Der Zertifikatpfad muss entweder ein absoluter Pfad oder ein relativer Pfad sein.

Wichtig

  • Sie müssen den Verschlüsselungsparameter in der Citrix ADC Appliance aktivieren, um das OTP-Verschlüsselungstool verwenden zu können.
  • Für Geräte, die vor dem Build 41.20 mit Citrix ADC registriert sind, müssen Sie Folgendes ausführen:
    • Aktualisieren Sie die 13.0 Citrix ADC Appliance auf 13.0 Build 41.20.
    • Aktivieren Sie den Verschlüsselungsparameter auf der Appliance.
    • Verwenden Sie das OTP Secret Migrationstool, um geheime OTP-Daten vom Nur-Text-Format in verschlüsseltes Format zu migrieren.

OTP-Geheimdaten im Nur-Text-Format

Beispiel:

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

Wie Sie sehen können, ist das Startmuster für das alte Format immer #@ und das Endmuster ist immer &. Alle Daten zwischen devicename= und Endmuster, bilden Benutzer OTP-Daten.

OTP-Geheimdaten im verschlüsselten Format

Das neue verschlüsselte Format von OTP-Daten hat das folgende Format:

Beispiel:

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

Wobei Wert1 base64-codierter Wert von kid + IV +Verschlüsselungsdaten ist

Verschlüsselungsdaten sind wie folgt strukturiert:

    {
      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)
    }
  • In “devices” haben Sie einen Wert für jeden Namen. Der Wert ist base64encode(kid).base64encode(IV).base64encode(cipherdata).
  • In Standard-AES-Algorithmen wird IV immer als erste 16 oder 32 Byte Verschlüsselungsdaten gesendet. Sie können dem gleichen Modell folgen.
  • IV unterscheidet sich für jedes Gerät, obwohl der Schlüssel gleich bleibt.

Einrichtung des OTP-Verschlüsselungswerkzeugs

Das OTP-Verschlüsselungstool befindet sich im Verzeichnis \var\netscaler\otptool. Sie müssen den Code von der Citrix ADC Quelle herunterladen und das Tool mit den erforderlichen AD-Anmeldeinformationen ausführen.

  • Voraussetzungen für die Verwendung des OTP-Verschlüsselungstools:
    • Installieren Sie Python 3.5 oder höher in der Umgebung, in der dieses Tool ausgeführt wird.
    • Installieren Sie pip3 oder höher.
  • Führen Sie die folgenden Befehle aus:
    • pip install requirements.txt. Automatische Installation der Anforderungen
    • python main.py. Ruft das OTP-Verschlüsselungstool auf. Sie müssen die erforderlichen Argumente für die Migration von geheimen OTP-Daten angeben.
  • Das Tool ist unter \var\netscaler\otptool am Shell-Prompt
  • Führen Sie das Tool mit den erforderlichen AD-Anmeldeinformationen aus.

OTP-Verschlüsselungstool-Schnittstelle

Die folgende Abbildung zeigt eine Beispielschnittstelle des OTP-Verschlüsselungswerkzeugs. Die Schnittstelle enthält alle Argumente, die für die Verschlüsselung/Entschlüsselung/Zertifikataktualisierung definiert werden müssen. Außerdem wird eine kurze Beschreibung jedes Arguments erfasst.

OPERATION-Argument

Sie müssen das Argument OPERATION definieren, um das OTP-Verschlüsselungstool für Verschlüsselung, Entschlüsselung oder Zertifikataktualisierung zu verwenden.

In der folgenden Tabelle werden einige der Szenarien zusammengefasst, in denen Sie das OTP-Verschlüsselungstool und die entsprechenden Argumentwerte OPERATION verwenden können.

Szenario Operationsargumentwert und andere Argumente
Konvertieren Sie Klartext-OTP-Geheimnis in verschlüsseltes Format im gleichen Attribut Geben Sie den Argumentwert OPERATION als 0 ein, und geben Sie denselben Wert für das Quell- und Zielattribut an. Beispiel: 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
Konvertieren Sie Klartext-OTP-Geheimnis in verschlüsseltes Format in einem anderen Attribut Geben Sie den Argumentwert OPERATION als 0 ein, und geben Sie die entsprechenden Werte für das Quell- und Zielattribut an. Beispiel: 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
Konvertieren Sie die verschlüsselten Einträge zurück in Klartext Geben Sie den Argumentwert OPERATION als 1 ein, und geben Sie die entsprechenden Werte für das Quell- und Zielattribut an. Beispiel: 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
Aktualisieren des Zertifikats auf ein neues Zertifikat Geben Sie den Argumentwert OPERATION als 2 ein, und geben Sie alle vorherigen Zertifikate und die neuen Zertifikatdetails in die entsprechenden Argumente ein. Beispiel: 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

Aktivieren der Verschlüsselungsoption in der Citrix ADC Appliance

Um das Nur-Text-Format zu verschlüsseln, müssen Sie die Verschlüsselungsoption in der Citrix ADC Appliance aktivieren.

Um OTP-Verschlüsselungsdaten mit der CLI zu aktivieren, geben Sie an der Eingabeaufforderung Folgendes ein:

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

Beispiel:

set aaa otpparameter -encryption ON

Anwendungsfälle des OTP-Verschlüsselungswerkzeugs

Das OTP-Verschlüsselungstool kann für die folgenden Anwendungsfälle verwendet werden.

Registrieren neuer Geräte bei der Citrix ADC Appliance Version 13.0 Build 41.20

Wenn Sie Ihr neues Gerät bei der Citrix ADC Appliance Version 13.0 Build 41.x registrieren und die Verschlüsselungsoption aktiviert ist, werden die OTP-Daten in einem verschlüsselten Format gespeichert. Sie können manuelle Eingriffe vermeiden.

Wenn die Verschlüsselungsoption nicht aktiviert ist, werden die OTP-Daten im Nur-Text-Format gespeichert.

Migrieren von OTP-Daten für Geräte, die vor 13.0 Build 41.20 registriert wurden

Sie müssen die folgenden Schritte ausführen, um die geheimen OTP-Daten für die Geräte zu verschlüsseln, die vor 13.0 Build 41.20 bei der Citrix ADC Appliance registriert sind.

  • Verwenden Sie das Konvertierungstool, um OTP-Daten vom Nur-Text-Format in ein verschlüsseltes Format zu migrieren.
  • Aktivieren Sie den Parameter Verschlüsselung auf der Citrix ADC Appliance.
    • So aktivieren Sie die Verschlüsselungsoption mit der CLI:
      • set aaa otpparameter -encryption ON
    • So aktivieren Sie Verschlüsselungsoptionen mit der GUI:
      • Navigieren Sie zu Sicherheit > AAA — Anwendungsdatenverkehr, und klicken Sie im Abschnitt Authentifizierungseinstellungen auf Authentifizierung AAA OTP-Parameter ändern.
      • Wählen Sie auf der Seite AAA OTP-Parameter konfigurieren die Option OTP Secret Encryption aus, und klicken Sie auf OK .
    • Melden Sie sich mit den gültigen AD-Anmeldeinformationen an.
    • Registrieren Sie bei Bedarf weitere Geräte (optional).

Migrieren verschlüsselter Daten vom alten Zertifikat auf ein neues Zertifikat

Wenn Administratoren das Zertifikat auf ein neues Zertifikat aktualisieren möchten, bietet das Tool eine Option zum Aktualisieren der neuen Zertifikatdateneinträge.

So aktualisieren Sie das Zertifikat mit der CLI auf ein neues Zertifikat

Geben Sie an der Eingabeaufforderung Folgendes ein:

Beispiel:

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

Hinweis:

  • Die Zertifikate müssen sowohl private als auch öffentliche Schlüssel enthalten.
  • Derzeit wird die Funktionalität nur für OTP bereitgestellt.

Erneutes Verschlüsseln oder Migrieren auf neues Zertifikat für Geräte, die registriert wurden, nachdem die Appliance auf 13.0 Build 41.20 mit Verschlüsselung aktualisiert wurde

Der Administrator kann das Tool auf Geräten verwenden, die bereits mit einem Zertifikat verschlüsselt sind, und kann dieses Zertifikat mit einem neuen Zertifikat aktualisieren.

Konvertieren Sie verschlüsselte Daten zurück in das Nur-Text-Format

Der Administrator kann das OTP-Geheimnis entschlüsseln und das ursprüngliche Nur-Text-Format wiederherstellen. Das OTP-Verschlüsselungstool durchsucht alle Benutzer nach OTP-Geheimnissen im verschlüsselten Format und wandelt sie in entschlüsseltes Format um.

So aktualisieren Sie das Zertifikat mit der CLI auf ein neues Zertifikat

Geben Sie an der Eingabeaufforderung Folgendes ein:

Beispiel: 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

Problembehandlung

Das Tool generiert die folgenden Protokolldateien.

  • app.log. Protokolliert alle wichtigen Schritte der Ausführung und Informationen zu Fehlern, Warnungen und Fehlern.
  • unmodified_users.txt. Enthält eine Liste der Benutzer-DNs, die nicht von Klartext auf verschlüsseltes Format aktualisiert wurden. Diese Protokolle werden zu einem Fehler im Format generiert oder aus einem anderen Grund.