Hintergrund

Vor kurzen wurde in einem AEM-Pfad eine Server Side Request Forgery-Schwachstelle gefunden, die dazu missbraucht werden kann, um Rollenanmeldeinformationen der IAM-Instanzen aus dem Metadatendienst der AWS- oder Azure-Instanz durchsickern zu lassen. Diese Schwachstelle wurde im Salesforce MCM-Bundle entdeckt.

Eine anfällige AEM-Instanz gibt temporäre API-Schlüssel zurück. Diese API-Schlüssel laufen innerhalb von Stunden ab und haben Berechtigungen, die der Rolle des ManagedServicesBigBearInstance entsprechen.

Schadensminderungsoptionen

Empfohlene Schadensminderung - Das Salesforce-Bundle deaktivieren

Die bevorzugte Schadensminderung ist die Deaktivierung des Salesforce-Bundles. Befolgen Sie dazu die folgenden Anweisungen:

  1. Gehen Sie zu der Author-Systemkonsole, indem Sie zu dieser URL gehen:

    • http://serveraddress:serverip/system/console/bundles
  2. Suchen Sie nach com.day.cq.mcm.cq-mcm-salesforce. Wenn Sie es gefunden haben, drücken Sie den Stopp-Button in der rechten Ecke des Bundles, um es zu stoppen.

    screen_shot_2018-06-14at160114
  3. Löschen Sie den Dispatcher-Cache, indem Sie diese Befehle im Gerät ausführen:

    cd /mnt/var/www/html

    Nachdem Sie zum richtigen Speicherort gewechselt haben, löschen Sie den Cache, indem Sie Folgendes ausführen:

    rm -rf ./libs/*
  4. Bestätigen Sie abschließend, dass die URLs die Schlüsselinformationen nicht zurückgeben. Sie können dies tun, indem Sie auf diese beiden URLs zugreifen:

    • http://publishurl:pubishport/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzzredirect_uri=xxxx&code=e
    • http://authorandpublishurl:port/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/metadata/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzz&redirect_uri=xxxx&code=e

Verringerung der Sicherheitsanfälligkeit, falls Sie die SalesForce-Integration verwenden

Überprüfen Sie zunächst, ob Sie die AEM Salesforce verwenden. Dazu können Sie Folgendes tun:

  1. Gehen Sie zu http://serveraddress:serverip/etc/cloudservices/salesforce.html und prüfen Sie, ob im Dashboard angezeigt wird, dass der Dienst aktiviert ist oder nicht.
  2. Oder indem Sie diesen cURL-Befehl ausführen:
    1. curl -s -u "admin:$(pass CQ_Admin)" serveraddress:serverport/etc/cloudservices/salesforce.html|grep enabled|wc -l

Wenn der Dienst ausgeführt wird, gehen Sie wie folgt vor, um die Schadensmilderung anzuwenden:

  1. Identifizieren Sie die Konfigurationsdatei, die die Dispatcher-Regeln steuert. Im Allgemeinen können Sie dies tun, indem Sie zu /etc/httpd/conf/ gehen und nach „*.any“-Dateien suchen, wie unten gezeigt:

    Hinweis:

    Pfade und Dateinamen können abhängig von der Konfiguration Ihrer Instanz variieren.

    cd /etc/httpd/conf/
    cat dispatcher.any
    cat publish-farm.any
  2. Wenn Sie die Datei identifiziert haben, sichern Sie sie an einem anderen Ort. Anschließend bearbeiten Sie die aktuelle Datei wie folgt:

    cp publish-farm.any publish-farm.any.20180525
    vi publish-farm.any

    Fügen Sie nun diese Zeile der Konfigurationsdatei hinzu:

    /9999 { /type "deny" /glob "GET *libs/mcm/salesforce/customer*" }
  3. Überprüfen Sie die Konfiguration, indem Sie Folgendes ausführen:

    apachectl configtest
  4. Führen Sie die folgenden Befehle aus, um den httpd-Service neu zu starten:

    service httpd reload
    service httpd status
  5. Löschen Sie jetzt den Dispatcher-Cache:

    cd /mnt/var/www/html
    rm -rf ./libs/*
  6. Bestätigen Sie abschließend, dass die URLs nicht die Schlüsselinformationen zurückgeben, indem Sie auf folgende URLs zugreifen:

    • http://publishurl:pubishport/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/meta-data/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzzredirect_uri=xxxx&code=e
    • http://authorandpublishurl:port/libs/mcm/salesforce/customer.html%3b%0aa.css?checkType=authorize&authorization_url=http://169.254.169.254/latest/metadata/iam/security-credentials/ManagedServicesBigBearInstance&customer_key=zzzz&customer_secret=zzzz&redirect_uri=xxxx&code=e

Eine weitere Schadensminderungsoption für den Fall, dass das oben genannte fehlschlägt

Wenn Sie die Salesforce-Integration verwenden, die oben genannte Schadensminderung jedoch fehlschlägt, können Sie alternativ die folgende Umschreibungsregel in jedem VirtualHost-Abschnitt des in der dispatcher_conf.any hinzufügen:

  • RewriteRule ^/libs/mcm/salesforce/customer.html* [F]

Dieses Werk unterliegt den Bedingungen der Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.  Twitter™- und Facebook-Beiträge fallen nicht unter die Bedingungen der Creative Commons-Lizenz.

Rechtliche Hinweise   |   Online-Datenschutzrichtlinie