Mit diesem Tool findet man schnell und einfach alle verwendeten CRL eines clients und kann prüfen ob der client diese erreicht.
In den vergangenen Jahren habe ich persönlich miterlebt, wie die Zertifikatssperrung auf Windows-Systemen oft unterschätzt wird, selbst in großen Unternehmen.
Dieses Problem beeinträchtigt sowohl Client- als auch Server-Systeme erheblich, wenn es nicht korrekt verwaltet wird.
Es kann sich auf verschiedene Weise manifestieren, von Startverzögerungen von Anwendungen bis hin zu fehlgeschlagenen Upgrades auf Servern, bis hin zu unerklärlichen Vorfällen, die sporadisch auftreten.
Am schlimmsten ist, dass diese Probleme oft herausfordernd sind, konsistent zu reproduzieren. Solche Probleme persistieren oft wochenlang, wenn sie nicht behoben werden. Bis jemand sich eingehend mit dem Problem beschäftigt, kann das Problem bereits verschwunden sein, nur um Tage später wieder aufzutauchen.
In zahlreichen Fällen traten in Arbeitsumgebungen Startverzoegerungen auf, wobei Sicherheitssoftware wie Antivirus fälschlicherweise fuer diese Verzögerungen verantwortlich gemacht wurde. Darüber hinaus sind wir bei Betriebssystembereitstellungen wie Windows 7, 10 und 11 auf mehrere gross angelegte Bereitstellungen gestossen, die aufgrund von Verzögerungen bei der Treiberinstallation, insbesondere fuer Speicher- oder NIC-Treiber, fehlschlugen, was dazu führte, dass Clients das Fully Qualified Domain Name (FQDN) der Zertifikatssperrungsliste (CRL) nicht über das WAN erreichen konnten.
Mitarbeiter, die an der Aktualisierung von Serversystemen wie Windows Server oder Exchange Server beteiligt sind, stellen häufig unterschiedliche Aktualisierungszeiten oder insgesamt langsame Prozesse fest. Diese Probleme können direkt mit der Unfaehigkeit des Endpunkts zusammenhaengen, bestimmte Zertifikatssperrungslisten im Internet zu erreichen.
Obwohl es Befehlszeilentools wie certutil.exe gibt, die zur Analyse dieser Probleme zur Verfügung stehen, stellten wir fest, dass sie fuer unsere Bedürfnisse nicht ausreichend waren.
Folglich haben wir die Entscheidung getroffen, unser eigenes Werkzeug zu entwickeln, um diesen Herausforderungen effektiv zu begegnen.
Was macht unser Tool:
• Alle EXE-Dateien in einem gemeinsamen Verzeichnis, Prozesse, die als Benutzer ausgeführt werden, oder einem vom Benutzer angegebenen Verzeichnis finden.
• Überprüfen, ob die ausführbare Datei digital signiert ist und CRL + OCSP aufgelistet sind.
• Überprüfen, ob CRL + OCSP aus dem Internet heruntergeladen werden können.
• Alle .CER- und .CRL-Dateien exportieren, zusammen mit den entschlüsselten Informationen, die in jeder CRL-Liste gefunden wurden.
• Die zwischengespeicherte CRL + OSCP überprüfen, die Ihr Client oft verwendet, und dasselbe tun
Wer braucht diesess Software?
Sie haben eine Liste von FQDNs (vollqualifizierte Domänennamen), auf die Ihr Endpunkt in Bezug auf die digitale Signierung verweist, und können diese Liste an Ihren Sicherheits- und Netzwerktechniker übergeben, um diese Ports zu überprüfen.
CRLcheck.exe ist ein Tool, das entwickelt wurde, um ausführbare Dateien (*.exe) von bekannten Pfaden auf Ihrem Client zu sammeln. Es überprüft, ob sie digital mit einem Zertifikat signiert sind, und ruft dann die Zertifikatssperrlisten (CRL) und OCSP für jede signierte Datei ab, die es findet. Anschließend wird überprüft, ob der Client erfolgreich eine Anfrage stellt und diese Datei aus dem Internet herunterladen kann.
Worüber wir in einem Zertifikat sprechen:
Warum ist es wichtig, die CRL zu überprüfen?
Für Softwareanbieter ist es bewährte Praxis, ihre ausführbaren Dateien mit kommerziellen Zertifikaten zu signieren. Wenn diese Zertifikate kompromittiert oder gestohlen werden, bietet das Betriebssystem eine Option, solche Vorfälle über die Zertifikatswiderrufsliste (CRL) über HTTP (Port 80) zu überprüfen.
Da es nicht möglich ist, ein Zertifikat zurückzurufen, listet die Zertifikatswiderrufsliste Zertifikate auf, die von gültigen CAs signiert wurden und nicht mehr vertrauenswürdig sind. Zertifikate können aus verschiedenen Gründen widerrufen werden, zum Beispiel wenn das Zertifikat versehentlich ausgestellt wurde oder wenn der private Schlüssel eines gültigen Zertifikats kompromittiert wurde.
Dieser Prozess funktioniert nur, wenn der Client mit dem Internet verbunden ist und sich in einer Unternehmensumgebung befindet, die nicht hinter einem Proxy oder einer Firewall steht, die diese Anfragen blockiert. Wenn Sie eine isolierte Umgebung ohne Internetzugang haben, müssen Sie möglicherweise sogar diese CRL-Dateien auf einem internen Webserver bereitstellen, damit einige Software reibungslos funktioniert.
Warum dies in Unternehmen oder in Umgebungen mit Proxy und Webfiltern wichtig ist:
Häufig wird der Browserverkehr auf einen Web-Sicherheitsproxy umgeleitet, während der Client (System) -Verkehr durch einen anderen Weg geht und möglicherweise blockiert wird. In solchen Fällen kann der CRL-Prozess zu erheblichen Verzögerungen beim Start einer ausführbaren Datei führen. In den meisten Windows-Systemen sehen Sie einen blauen Kreis neben dem Mauszeiger und der Anwendung, die Sie gerade gestartet haben, wenn diese Verzögerung auftritt.
Genau das wollen wir verhindern mit unserem tool. Der blaue warte Kreis.
Bitte beachten Sie das Beispiel aus dem Feld am Ende dieses Beitrags für Microsoft Server, Fortinet Forticlient, Citrix, Exchange usw.
Das betrifft mich nicht, weil wir eine Kategorie auf unserer Firewall mit allen CRL + OCSP in einer Echtzeitliste haben.
Ja, aber diese Liste ist nicht immer aktuell. Wir hatten einen Fall, bei dem dies sich auf die Betriebssystembereitstellung mit INTEL-Treibern für Speicher auswirkte.
Warum tritt dies auf?
Firewall-, Proxy- oder Sicherheitsingenieure übersehen manchmal oder sind sich möglicherweise nicht bewusst, dass dieser Prozess zu potenziellen Leistungsproblemen auf Client-Maschinen führen kann. Sie isolieren Clients in VLANs oder hinter einem Proxy und vergessen den Prozess der Zertifikatswiderrufsliste (CRL). Der kontrollierte Datenverkehr wird zum Proxy geroutet, aber einige Anwendungen oder Treiber treffen direkt auf das WAN-Gateway und werden blockiert. Das ist gut und erwünscht, aber bestimmter Datenverkehr muss erlaubt sein. Es ist entscheidend, dass in solchen Fällen die Personen wissen, welche CRL-/OCSP-Adresse eine signierte Anwendung verwendet. Dieses Tool wird Ihnen helfen, diese Adressen zu finden.
Warum ist dies immer ein Problem, das auf dem Schreibtisch von Sicherheitsingenieuren landet, anstatt auf dem Schreibtisch von PKI-Ingenieuren, die Zertifikate erstellen?
Bei Leistungsproblemen neigen IT-Profis oft dazu, die Schuld fälschlicherweise auf Sicherheitstools wie Antivirus zu schieben. In vielen Fällen sind jedoch diese Anschuldigungen fehlgeleitet.
Moderne Sicherheitslösungen, einschließlich Antivirus und Intrusion Prevention Systems (IPS), überprüfen Zertifikate sorgfältig, um das Risiko von Dateien zu bewerten. Diese umfassende Prüfung löst oft mehrere Zertifikatswiderrufslisten (CRL) und Online Certificate Status Protocol (OCSP)-Abfragen aus.
Betrachten Sie das Szenario des Startens einer Anwendung wie myapp.exe. In dieser Situation untersucht eine ausgefeilte AV-Lösung nicht nur die Codesignatur der Anwendung, sondern untersucht auch Hilfsdateien wie DLLs und andere ausführbare Dateien sowie deren zugehörige Ketten. Dieser gründliche Prozess kann eine Reihe von CRL-Abfragen auslösen, die unbeabsichtigt Verzögerungen beim Start der Anwendung verursachen oder sogar zu Abstürzen der Anwendung führen können.
Durch unsere Erfahrungen haben wir festgestellt, dass Sicherheitsendpunkte häufig beschuldigt werden, Leistungsverlangsamungen zu verursachen, wenn die eigentliche Ursache oft in der ressourcenintensiven Natur der Zertifikatswiderrufsprüfung liegt. Das Deaktivieren oder Deinstallieren des Antivirus kann das Problem scheinbar lösen, führt jedoch lediglich dazu, dass der CRL-Prüfprozess gestoppt wird, was zu einer falschen Zuschreibung des Problems führt.
Darüber hinaus führt das Deaktivieren eines Antivirus von Drittanbietern oder das Herunterfahren oft zu einem Übergang zu Windows Defender. Diese Umstellung löst das zugrundeliegende Problem jedoch nicht unbedingt, da sowohl Windows Defender als auch die Antivirus-Lösung von Drittanbietern möglicherweise die Überprüfung von Zertifikaten einstellen, was fälschlicherweise darauf hindeutet, dass das Problem behoben wurde.
CRLcheck.exe macht folgendes:
|
Wenn Sie dieses Tool in einem Unternehmen ausführen, kann es Sicherheits-Fehlalarme auslösen: Wir haben die Veröffentlichung mit Enterprise-AV Trellix ENS 10.X und den neuesten DEFS, Sandboxes (FortiSandbox und Trellix ATD) sowie auf Virus Total getestet. Dieses Tool verwendet das vorhandene Microsoft CERTUTIL.exe und die X509-API von Windows für verschiedene Operationen. Bitte beachten Sie, dass SIEM/EDR-Lösungen (zum Beispiel Rapid7) möglicherweise einen Fehlalarm auslösen, wenn Sie Benachrichtigungen für Zertifikatshandhabung aktiviert haben. |
Zusätzliche Funktionen:
|
Download/Herunterladen:
Date | Version | Built for min. Microsoft .NET Framework | Link | Checksumm SHA-256 |
05.11.2024 | 2.0.1.0 | 4.8 | https://www.butsch.ch/wp-content/uploads/tools/crlcheck/2.0.1.0/crlcheck.zip | 86ed59d49cecef13877773d967b2c2d194c4f1bda1a1a51f3ca83fb639b943d6 |
05.11.2024 | 2.0.1.0 | 4.8 | https://www.butsch.ch/wp-content/uploads/tools/crlcheck/2.0.1.0/crlcheck.7z | 71900baf83c405e43e483d5c1195b58cbc2e1870b63cd17ee01a9b0cdf08f2fb |
05.11.2024 | 2.0.1.0 | 4.8 | https://www.butsch.ch/wp-content/uploads/tools/crlcheck/2.0.1.0/crlcheck.exe | 5f860bc7d45df9da6ea35471c2858686ee91b41e8c7f15ee918bb4a6518901c2 |
LATEST | 2.0.1.0 | 4.8 | https://www.butsch.ch/wp-content/uploads/tools/crlcheck/latest/crlcheck.zip | 86ed59d49cecef13877773d967b2c2d194c4f1bda1a1a51f3ca83fb639b943d6 |
LATEST | 2.0.1.0 | 4.8 | https://www.butsch.ch/wp-content/uploads/tools/crlcheck/latest/crlcheck.7z | 71900baf83c405e43e483d5c1195b58cbc2e1870b63cd17ee01a9b0cdf08f2fb |
.NET 4.8 included in following OS out of the box | You can install Microsoft .NET 4.8 on following OS |
Windows 10 version 1903 (May 2019 Update) and later versions | Windows 10 version 1709 (Fall Creators Update) and later versions Windows Server 2019 Windows Server 2016 Windows 8.1 Windows Server 2012 R2 Windows 7 Service Pack 1 (SP1) Windows Server 2008 R2 SP1 |
Windows Server 2019 |
Security AV check done for file crlcheck.exe
crlcheck.exe
https://www.virustotal.com/gui/file/5f860bc7d45df9da6ea35471c2858686ee91b41e8c7f15ee918bb4a6518901c2
crlcheck.7z
https://www.virustotal.com/gui/file/71900baf83c405e43e483d5c1195b58cbc2e1870b63cd17ee01a9b0cdf08f2fb?nocache=1
crlcheck.zip
https://www.virustotal.com/gui/file/86ed59d49cecef13877773d967b2c2d194c4f1bda1a1a51f3ca83fb639b943d6?nocache=1
05.11.2024 | Check |
2 von 72 dieser Treffer könnten mit a) zusammenhängen. Wir verbinden uns zu www.google.com, um am Anfang den WAN-Zugriff zu überprüfen, sowie die Art des Tools, das Zertifikate behandelt und certutil.exe verwendet. Einer ist ein chinesischer Lieferant (BKFAVpro), die anderen beiden sind mir unbekannt (Cybereason und SecurAge). Hauptsächlich, weil certutil selbst im Moment nicht signiert ist.
|
05.11.2024 | Check | Checked with Enterprise AV-solution Mcafee/Trellix ENS 10.7.0.6177 and AMCORE 5701 vom 04.11.2024 |
05.11.2024 | Check | In Trellix ATD/TIES Sandbox with rating low/Green |
|
Download version 1.6.5.0 from https://www.butsch.ch/wp-content/uploads/tools/crlcheck/1.6.5.0/crlcheck.exe
Führen Sie weitere Suche durch oder öffnen Sie gefundene CRL- oder CER-Dateien in Windows-Tools.
Überprüfen Sie den Cache des Benutzers, ähnlich wie mit “certutil -urlcache”.
Prüfen ob ihr client die CRL + OCSP URL’s downloaden kann
Suchen von DENIED oder INVALID CRL + OCSP URL:
In diesem Beispiel handelte es sich um eine alte Version von Adobe Elements, die nicht mehr unterstützt wird.
Automatisches Entschlüsseln / Dekodieren von CRL-Rohdateien in lesbare Textdateien.
Überprüfen Sie, ob Ihr Client widerrufene Zertifikate verwendet, was ein Sicherheitsrisiko darstellen könnte.
Leichtes Durchsuchen von Zertifikatsinformationen von ausführbaren Dateien auf Ihrem Client.
Generiert CSV-/SSV-Exporte für Ihr Sicherheits-/Firewall-/Proxy-Team.
Sie können auch eine weitere häufige Quelle für Netzwerkprobleme untersuchen, wie die maximale Übertragungseinheit (MTU) / maximale Segmentgröße (MSS) in Ihrem Netzwerk oder Proxyeinstellungen, und einen Download-Geschwindigkeitstest durchführen.
Check MTU size per interface
Überprüfen Sie die Proxy-Einstellungen, die auch für CRL-Überprüfungen relevant sind.
Because MS tries to explain:
Sample usage cases from the daily field:
Beispiel für einen Fall, bei dem das Fortinet Forticlient VPN bei 40 % Status fehlschlägt:
Forticlient VPN erreicht 40 % und kann keine Verbindung herstellen, wenn ein Benutzer die CRL in der privaten Firewall blockiert. Fortinet tut, was andere tun sollten, sie warnen den Benutzer, wenn das passiert. Leider geschieht dies im Hintergrund des VPN-Clients (versteckt), und Sie versuchen endlos, den Grund herauszufinden.
Mit crlcheck.exe des Clients hätten Sie festgestellt, dass der VPN-Client in dieser Umgebung nicht in der Lage ist, die OCSP-Adresse von sectigo.com zu lesen.
Sample case Foirnet Fortigate enterprise enviroment
Ein Unternehmen mit über 1000 Mitarbeitern hatte sporadische Verzögerungen bei allen Arten von Anwendungen. Immer wenn externe für die Anwendungen das Problem analysierten, war es nicht vorhanden, nur um wieder zurückzukehren.
Die Auswirkung wurde nach der Migration des Netzwerkteams zu einem neueren FortiGate-Modell und der Integration einer internen Firewall zwischen verschiedenen VLANs entdeckt, wobei ein serieller Anschluss und ein McAfee Web Gateway-Cluster hinter dem FortiGate Web/IPS-Filter implementiert wurden.
Hätte die verantwortliche Person unser Tool zur Hand gehabt, hätte dieses Problem vermieden werden können. Das Hauptaugenmerk des Netzwerkteams lag darauf, die Aufmerksamkeit auf das Client-Management-Team und das Client-Sicherheitsteam zu lenken. Sie erwogen sogar, die AV-Lösung zu ersetzen.
Das Team verließ sich stark auf die integrierten Dienst-/Protokolllisten von FortiGate, die zu diesem Zeitpunkt nicht alle erforderlichen Adressen der Zertifikatsperrliste (CRL) und des Online Certificate Status Protocol (OCSP) enthielten.
Dieses Versäumnis beruhte auf zu großem Vertrauen in die integrierten Gruppen von Fortinet, von denen erwartet wurde, dass sie diese vollständig qualifizierten Domänennamen (FQDNs) abdecken.
Dienstliste integriert und in Echtzeit von FortiGuard aktualisiert.
Result:
We solved this with making our own rules:
Sample from Fortigate for other Certs they missed: |
F-SBID( –name “Root.Certificate.URL_Custom”; –protocol tcp; –app_cat 17; –service HTTP; –flow from_client; –pcre “/(crl\.microsoft\.com|\.omniroot\.com|\.verisign\.com|\.symcb\.com|\.symcd\.com|\.verisign\.ne t|\.geotrust\.com|\.entrust\.net|\.public- trust\.com|\.globalsign\.|\.digicert\.com|crl\.startcom\.|crl\.cnnic\.cn|crl\.identrust\.com|crl\.thaw te\.com|crlsl\.wosign\.com|www\.d\-trust\.net)/”; –context host; –weight 15; ) In unserem Fall: F-SBID( –name “Root.Certificate.pki.infineon.com”; –protocol tcp; –app_cat 17; –service HTTP; — flow from_client; –pcre “/(pki\.infineon\.com)/”; –context host; –weight 15; ) |
You can see also the same effect here:
Sample case Microsoft Windows Server
Der Server kann einen bestimmten OCSP-FQDN nicht erreichen, da er stark isoliert ist. Die Verbindung scheitert von oder zu einem anderen Endpunkt über TLS.
Es gibt einen Effekt auf die CA 2022 selbst, der nichts damit zu tun hat.
Sample Microsoft Exchange Server
https://www.butsch.ch/post/the-certificate-is-invalid-for-exchange-server-usage-exchange-2010-sanuc/
https://practical365.com/exchange-2010-certificate-revocation-checks-and-proxy-settings/
From Paul Cunningham blog |
Das Microsoft Exchange Team-Blog hat über ein Problem berichtet, das die Menschen im Feld erleben, bei dem Ausfälle bei der Überprüfung des Zertifikatswiderrufsstatus verhindern, dass Sie ein Zertifikat für Exchange-Dienste zuweisen können. Wenn Exchange nicht auf die CRL zugreifen kann, wird der Status des Zertifikats als RevocationCheckFailure durch die Shell zurückgegeben. In EMC wird dies als “Der Zertifikatstatus konnte nicht bestimmt werden, weil die Widerrufsprüfung fehlgeschlagen ist” angezeigt. Wenn ein Zertifikat aufgrund einer der oben genannten Ursachen die Widerrufsprüfung nicht besteht, verhindert das EMC, dass Sie das Zertifikat einem Exchange-Dienst zuweisen können. Beachten Sie, dass dies sich nicht auf Zertifikate auswirkt, die bereits Exchange-Diensten zugewiesen wurden. Die Dienste werden weiterhin funktionieren. – Source Two of the causes of this are listed as: # Network or proxy misconfiguration, or a firewall rule preventing Internet access # Intentional blocking of Internet connectivity from the server |
Certutuil.exe, openssl, revocation-list, sperrlisten, delay, lag, bluecircle, deny, proxy, boot, delay, vdi, logontimes, logon, opnesource, freeware, werzeug, gui, interface, überprüfüng
Sample case Citrix
ICA launch delay issue after upgrading to Workspace app 2203 CU2 (citrix.com)
Nach dem Upgrade auf Workspace-App 2203 CU2 können Kunden möglicherweise Verzögerungen beim Start von ICA erleben.
Problemursache
Ab Workspace-App-Version 2203 CU2 wird cryptnet.dll geladen, um die Zertifikatswiderrufsliste zu überprüfen.
Wenn CryptoAPI aufgrund der Netzwerksicherheitsanforderungen des Kunden keinen Zugriff auf einen Internet-CRL-Server hat, dauert die Überprüfung der CRL länger. Dies führt zu verzögertem Start von wfica32.exe.
Sample case Microsoft M365 Intunes
Die Leute denken, dass mit M365 und Intune Autopilot alle Probleme einfach gelöst werden können? Nun, irgendwie, bis Sie auf ein Problem mit CRL stoßen und ein Treiberupdate über Intune durchführen möchten.
Sample case Ivanti, modern workplace, Workspace control
Installation (ivanti.com), https://help.ivanti.com/res/help/en_US/IWC/10.5/Help/Content/46028.htm |
|