Ich möchte Ihnen eine Erfahrung mitteilen, die ich kürzlich mit Microsoft AppLocker gemacht habe und die anderen helfen könnte, wertvolle Zeit zu sparen.
Microsoft AppLocker ist eine Anwendung, mit der Sie die Kontrolle über Anwendungen und Dateien auf lokalen Systemen erhalten. In meinem Fall führte sie jedoch zu erheblichen Kopfschmerzen und schließlich zu einem unerwarteten Ergebnis, mit dem selbst Microsoft nicht gerechnet hat. Also, lassen Sie uns in das Thema eintauchen.
Das Problem
panagenda bietet eine Lösung für Digital Experience Monitoring an, bei der die Kunden eine Paketanwendung unter Windows installieren müssen. Diese Anwendung hat ein einfaches Design mit minimalen Anforderungen und ist mit einem von der Global Root CA ausgestellten Zertifikat signiert.
Kunden, die AppLocker-Regeln verwenden, werden gebeten, unsere Anwendung zur Liste der vertrauenswürdigen verpackten Anwendungen hinzuzufügen, wenn es keine bestehende Regel gibt, die allen signierten verpackten Anwendungen vertraut. Normalerweise fügt ein AppLocker-Administrator die Regel auf einem Verwaltungscomputer hinzu. Die Richtlinie wird dann exportiert und auf Endpoint Manager (ehemals Intune) angewendet, um auf allen Client-Geräten bereitgestellt zu werden.
Das Problem trat auf, als die Anwendung blockiert wurde, obwohl die Zulassungsregel aktiv und verfügbar war. Das Windows-Ereignisprotokoll enthielt nur eine sehr allgemeine Meldung ohne weitere Details als die, dass es keine Regel gibt, die diese Anwendung zulassen würde. Sehr hilfreich, nicht wahr?
Die Untersuchung
Wenn Sie eine AppLocker-Regel in der MMC-Benutzeroberfläche hinzufügen, wählen Sie normalerweise die App aus und nehmen einige Anpassungen vor. Wir empfehlen unseren Kunden, Platzhalter für den Paketnamen und die Version zu verwenden und die Regel nur auf die Herausgeberebene zu beschränken (siehe Screenshot).
Sie denken vielleicht, dass alles richtig eingestellt ist, aber das ist es nicht.
Wenn Sie sich den Publisher String des Zertifikats innerhalb der App ansehen, sieht er so aus:
E=office@panagenda.com, CN=panagenda GmbH, O=panagenda GmbH, STREET=Sonnenfelsgasse 13/9, L=Vienna, S=Vienna, C=AT, OID.1.3.6.1.4.1.311.60.2.1.1=Vienna, OID.1.3.6.1.4.1.311.60.2.1.2=Vienna, OID.1.3.6.1.4.1.311.60.2.1.3=AT, SERIALNUMBER=293516T, OID.2.5.4.15=Private Organization
Nicht wirklich etwas Besonderes. Es ist so ziemlich das Gleiche, wie wenn Sie die Informationen des Herausgebers für eine andere Anwendung wie z.B. Adobe nehmen würden.
CN=Adobe Inc., OU=Adobe Inc., O=Adobe Inc., L=San Jose, S=ca, C=US, SERIALNUMBER=2748129, OID.2.5.4.15=Private Organization, OID.1.3.6.1.4.1.311.60.2.1.2=Delaware, OID.1.3.6.1.4.1.311.60.2.1.3=US
Nach der Erstellung muss die Regel als XML exportiert und dann in den Endpoint Manager importiert werden, um sie an die Endpunkte weiter zu verteilen. Und genau hier ging es schief.
Es stellte sich heraus, dass in der exportierten Regel der String PublisherName nach 260 Zeichen abgeschnitten wurde!
Microsoft gibt an, dass die Publisher-Zeichenfolge genau übereinstimmen muss, wenn AppLocker seine Regeln auswertet. https://learn.microsoft.com/en-us/windows/security/application-security/application-control/app-control-for-business/applocker/understanding-the-publisher-rule-condition-in-applocker. Die abgeschnittene Zeichenfolge führte dazu, dass die Auswertung immer fehlschlug.
Ist der Export hier das Problem, oder ist etwas anderes die Ursache?
In der Tat war es nicht der Export, sondern etwas anderes. Im Grunde erstellen Sie die Regel, wählen die Anwendung aus und legen dann die Verlegerstufe fest – Sie würden annehmen, dass alles in Ordnung ist, oder? Falsch, wenn Sie die Regel in der MMC-Benutzeroberfläche erneut öffnen, werden Sie feststellen, dass der Publisher-String bereits abgeschnitten ist. Da der Export einfach das übernimmt, was vorhanden ist, ist das Ergebnis auch im Export ein falscher Publisher-String.
Selbst Microsoft war überrascht, als wir dieses Thema ansprachen.
Die Lösung
Ziemlich einfach: Exportieren Sie die Regel und aktualisieren Sie die exportierte XML-Datei, damit sie den vollständigen Publisher String enthält. Fügen Sie die geänderte XML-Datei in Endpoint Manager ein und stellen Sie sie bereit. Um zu überprüfen, ob die Publisher-Bedingung korrekt konfiguriert ist, führen Sie das folgende PowerShell-Cmdlet auf dem PC des Benutzers aus.
Get-AppLockerPolicy -Effective | Select-Object -ExpandProperty RuleCollections
Sie sollten auf dem Client-PC die korrekte Publisher-Bedingung sehen, die genau mit dem Namen des Publishers auf dem installierten Paket übereinstimmt.
Denken Sie jedoch daran, dass Sie die exportierte XML-Datei jedes Mal aktualisieren müssen, wenn Sie die Regel ändern oder zu einem späteren Zeitpunkt einen neuen Export erstellen, da Publisher immer noch nur den abgeschnittenen Publisher String enthält.
Lektion gelernt
Der Benutzeroberfläche zu vertrauen, hat Stunden gekostet – selbst für Microsoft. Hinterfragen Sie das nächste Mal alles, dokumentieren Sie das Seltsame und denken Sie daran: „Wildcards mögen den Tag retten, aber das Verstehen der Details rettet Ihren Verstand. “ 😊