Citrix Workspace-App

Zulassungsliste für Anwendungen konfigurieren, die LD_PRELOAD-Funktionalitäten verwenden

Hinweis:

Das Konfigurieren der Zulassungsliste mithilfe der LD_PRELOAD-Funktionalität ist nur für die Citrix Workspace™-App für Linux verfügbar.

Der App-Schutz blockiert den Start einer geschützten Sitzung, wenn andere ausgeführte Anwendungen LD_PRELOAD verwenden. Wenn es sich um legitime Anwendungen handelt oder wenn diese vom Administrator genehmigt wurden, können Sie die Zulassungslistenfunktion verwenden. Um die Verwendung anderer Anwendungen, die LD_PRELOAD verwenden, zu erlauben, müssen Sie die Zulassungsliste konfigurieren.

Der App-Schutz verhindert den Start einer geschützten Sitzung, wenn andere Anwendungen, die LD_PRELOAD verwenden, ausgeführt werden. Wenn es sich jedoch um legitime Anwendungen handelt oder der Administrator dies genehmigt, können Sie die Zulassungslistenfunktion verwenden. Um diesen Anwendungen die Ausführung zu ermöglichen, müssen Sie die Zulassungsliste einrichten.

Sie können Anwendungen mit Preload-Funktionalitäten mithilfe der folgenden Schritte zur Zulassungsliste hinzufügen:

  1. Identifizieren Sie den Prozess, der den Start der geschützten VDA-/App-Sitzung blockiert.
  2. Erstellen Sie eine Konfigurationsdatei für die Zulassungsliste und fügen Sie den identifizierten Prozess hinzu.

Identifizieren Sie den Prozess, der den Start des geschützten VDA verhindert

Wenn AppProtection den Start eines geschützten VDA aufgrund der LD_PRELOAD-Nutzung verhindert, überprüfen Sie die Prozesse, die LD_PRELOAD verwenden. Legitime Prozesse können der Zulassungsliste hinzugefügt werden.

Um Prozesse zu identifizieren, die LD_PRELOAD verwenden, nutzen Sie das folgende Skript. Speichern Sie es mit der Erweiterung .sh und führen Sie es als sudo in einem Terminalfenster aus:

   #!/bin/bash

    for pid in /proc/*/; do
        pid=${pid%*/}
        pid=${pid##*/}
        environ_file="/proc/$pid/environ"

        if [[ ! -f "$environ_file" ]]; then
            continue
        fi

        ld_preload_entry=$(tr '\0' '\n' < "$environ_file" | grep -w "LD_PRELOAD")
        if [[ -n "$ld_preload_entry" ]]; then
            cmdline_file="/proc/$pid/cmdline"
            cmdline=$(tr '\0' ' ' < "$cmdline_file" | awk '{print $1}')
            echo "\"$ld_preload_entry\" : \"$cmdline\""
        fi
    done
<!--NeedCopy-->

Basierend auf der Ausgabe des vorhergehenden Skripts identifizieren Sie die Prozesse, die den Start des geschützten VDA fehlschlagen lassen, und fügen Sie diese Prozesse der Zulassungsliste hinzu.

Hier ist ein Beispielbild, das die Ausgabe mit einer Liste von Anwendungen mit einer Preload-Liste anzeigt.

Ausgabeanzeige

Erstellen der Konfigurationsdatei für die Zulassungsliste

Die Konfigurationsdatei für die Prozess-Zulassungsliste wird aus Sicherheitsgründen standardmäßig nicht installiert. Sie müssen diese Konfigurationsdatei erstellen, wenn sie zum ersten Mal benötigt wird.

  1. Erstellen Sie eine leere Datei mit dem Namen AppProtection_Preload_Allowlist.json im Ordner „$ICAROOT/config/“.
  2. Fügen Sie die Prozessdetails im folgenden Format hinzu:

        {
            "LD_PRELOAD_PATH1" : "PROCESS_PATH1",
            "LD_PRELOAD_PATH2" : "PROCESS_PATH2"
        }
    <!--NeedCopy-->
    

    Hier ist ein Beispielbild, das die neu hinzugefügte Konfiguration zeigt: Konfigurationsdatei

  3. Speichern Sie die Datei und legen Sie dann die Berechtigungen für die Datei AppProtection_Preload_Allowlist.json mit dem folgenden Befehl fest.

sudo chmod 644 $ICAROOT/config/AppProtection_Preload_Allowlist.json

Hinweis:

Minimale Regex-Ausdrücke sind in Konfigurationseinträgen zulässig, um Redundanz zu vermeiden. Spezielle Regex-Zeichen müssen überprüft und mit einem doppelten Backslash (\) maskiert werden.

  • Betrachten Sie zum Beispiel, dass die Skriptausgabe wie folgt lautet:

LD_PRELOAD=:/snap/blue-recorder/126/$LIB/bindtextdomain.so" : "/snap/blue-recorder/126/blue-recorder

  • Sie können sehen, dass die Ausgabe „.“ und „$“ enthält, die Sonderzeichen in Regex-Mustern sind. Daher müssen Sie sie mit einem Backslash wie folgt maskieren:

LD_PRELOAD=:/snap/blue-recorder/126/\\$LIB/bindtextdomain\\.so" : "/snap/blue-recorder/126/blue-recorder

  • Um variable Elemente wie die Zahl 126 zu verwenden, können Regex-Ausdrücke für einen allgemeineren Zulassungslisteneintrag verwendet werden:

LD_PRELOAD=:/snap/blue-recorder/\\d+/\\$LIB/bindtextdomain\\.so" : "/snap/blue-recorder/\\d+/blue-recorder

Zulassungsliste für Anwendungen konfigurieren, die LD_PRELOAD-Funktionalitäten verwenden