stefankittel
Goto Top

Browser-Client-Zertifikate sollen nicht zu sichern oder exportieren sein

Hallo,

mal eine Frage.
Ein Kunde von mir betreibt für eine Anwendung ein Web-Portal welches im RZ läuft.
Die Benutzer im Home-Office greifen mit den Home-Office-PCs oder Notebooks darauf mit Benutzernamen+Kennwort+2FA zu.

Nun haben einige Benutzer, trotz Verbot, begonnen mit privaten Geräten darauf zuzugreifen.
Jetzt soll ich eine technische Lösung konzipieren.

Es wurde bereits eine Lösung mittels VPN realisiert, aber die User haben einfach die VPN-Software mit der Config-Datei auf dem privaten Endgerät installiert.

Kann man Client-Zertifikate so in einem Browser (am besten Firefox) installieren, man diese weder sichern noch exportieren oder kopieren kann? Hat da Jemand Erfahrungswerte.

Stefan

Content-ID: 91351843243

Url: https://administrator.de/contentid/91351843243

Ausgedruckt am: 21.11.2024 um 12:11 Uhr

Celiko
Celiko 31.05.2024 um 00:44:10 Uhr
Goto Top
Moin,

kenne mich mit Websites nicht aus.

Wir nutzen für unseren VPN ein Zertifikat, das per GPO an Domänenclients verteilt wird.
Damit stellen wir sicher, dass private Geräte den VPN Tunnel nicht aufbauen können, da sie das Zertifikat nicht haben. Export und Import geht auch nicht, weil PK nicht exportierbar.

Ansonsten ist das ein Unding, dass die Mitarbeiter den VPN auf den privaten Clients importieren.
Welche VPN Lösung habt ihr?

Würde im Betrieb klarstellen, dass sowas nicht geht und die Kollegen dafür "Probleme" bekommen können / werden.
Thema Sicherheit usw.

VG
StefanKittel
StefanKittel 31.05.2024 um 00:55:02 Uhr
Goto Top
Zitat von @Celiko:
Wir nutzen für unseren VPN ein Zertifikat, das per GPO an Domänenclients verteilt wird.
Die HO-PCs und Notebooks sind nicht Teil des ADs. Sie werden über ein RMM verwaltet.

Welche VPN Lösung habt ihr?
Keine. Es wurde ein VPN installiert auf basis einer OPNsense.

Würde im Betrieb klarstellen, dass sowas nicht geht und die Kollegen dafür "Probleme" bekommen können / werden. Thema Sicherheit usw.
Das ist denen bewusst. Aber der Chef sagt halt "technische Einschränkungen sind ok" "organisatorische nicht".
Er soll das auf Anforderung seiner Versicherung umsetzen. Nicht weil er das will oder für sinnvoll hält...

Deshalb kam ich auf die Idees mit den Clientzertifikaten. Die würde die IT von Hand(Remote) auf den Endgeräten installieren. Das wäre elegant und würde die Anforderungen erfüllen.

Stefan
StefanKittel
StefanKittel 31.05.2024 um 01:01:36 Uhr
Goto Top
Hallo,

mir fällt gerade auf, dass dies so quatsch ist.
Ich kann ja einfach das Firefox-Profil komplett kopieren.

Es müsste also ein System-Zertifikat unter Windows sein.
Dies kann ich per RMM verteilen.

Der User darf es lesen und im Web nutzen aber nicht speichern oder exportieren.
Wenn so etwas überhaupt geht.

Jemand eine Idee?

Es könnte auch eine Extension in FF sein mit der man auf einer Webseite die Seriennummer des PCs auslesen könnte.

Es geht also eigentlich um die Frage: Wie kann ich auf einer Webseite ein Endgerät eindeutig identifizieren.
Das was man also mit allen Mitteln zu verhinder sucht face-smile

Stefan
11020714020
11020714020 31.05.2024 um 06:16:12 Uhr
Goto Top
maretz
maretz 31.05.2024 um 06:22:14 Uhr
Goto Top
Ehrlich gesagt würde ich das ganze anders angehen -> denn so hast du ja immernoch die privaten geräte im VPN und wenn die da irgendwelchen Müll machen ggf. ein Problem.

Ich würde einfach die Authentifikation am VPN bereits entweder per Zertifikat machen (was du natürlich dem Anwender nicht aushändigst sondern eben dort installierst oder per AD verteilen lässt) -> somit sind die privaten Geräte da schon raus... Alternativ halt per PSK -> dann eben ähnlich, das einmal für den Anwender installieren, fertig.

Den anderen Weg über irgendwelche Plugins/Würg-Arounds den Client zu identifizieren würde ich direkt wieder verwerfen. Das nächste Update bei des OS, des Browesers,... und du stehst ggf. wieder da und hast die pappnase auf. Oder der Anwender erzählt dir dann das er/sie/es nicht mit Firefox arbeiten kann und du hast plötzlich div. Browser zu verwalten (und dann kommen die das es ja aufm privaten IPad mit IOS 3.0alpha immer noch nich läuft ;) ).

Falls das alles nicht gewünscht ist würde ich das ganze simpel über RDP lösen -> irgendwo nen Terminal-Server und nur von da können die dann arbeiten. DA hast du dann ne möglichkeit über die Quell-IP schon zu filtern und es kann dir relativ egal sein ob die nu vom Firmen-Laptop oder vom privaten die TS-Session öffnen (sofern Datenübertragung usw. verboten ist).

Und wenn der Chef am Ende die technische Lösung will die aber keinerlei Veränderung im Ablauf erzeugt ist die Antwort auch einfach: Kannst du nicht anbieten, geht halt nicht. Das ist was viele auch gerne vergessen: "NEIN" ist auch eine valide Antwort.
13034433319
13034433319 31.05.2024 aktualisiert um 07:21:57 Uhr
Goto Top
Der User darf es lesen und im Web nutzen aber nicht speichern oder exportieren.
Wenn so etwas überhaupt geht.

Jemand eine Idee?

Ja, beim Import des Zertifikates in den Windows Store kannst du das Häkchen bei "Mark the private key as exportable" deaktivieren , dann kann man den private Key auch nicht wieder exportieren, und ohne den kann man es nirgendwo anders nutzen.

1000003563

Den Firefox und Chrome kannst du ja auch anweisen den Certificate Store von Windows zu benutzen.

Gruß
Th0mKa
Th0mKa 31.05.2024 um 07:21:17 Uhr
Goto Top
Quote from @13034433319:
Ja, beim Import des Zertifikates in den Windows Store kannst du das Häkchen bei "Mark the private key as exportable" deaktivieren , dann kann man den private Key auch nicht wieder exportieren, und ohne den kann man es nirgendwo anders nutzen.

Das hilft nur bedingt, es gibt duzende Anleitungen wie man das Zertifikat inkl. Private Key per Registry exportieren kann.

/Thomas
11020714020
11020714020 31.05.2024 um 07:25:47 Uhr
Goto Top
@Th0mKa

Wollte gerade ähnliches schreiben. Das ist nun wirklich das einfachste, ein Zertifikat trotzdem zu exportieren.

Am Ende möchte man eben nur die Geräte und die Benutzer im Netz haben, die bestimmte Voraussetzungen erfüllen.
Dann kommt man um eine etwas breitere Lösung nicht umhin.
13034433319
13034433319 31.05.2024 aktualisiert um 07:32:11 Uhr
Goto Top
Zitat von @Th0mKa:
Das hilft nur bedingt, es gibt duzende Anleitungen wie man das Zertifikat inkl. Private Key per Registry exportieren kann.

/Thomas

Wenn man den Usern Admin-Rechte auf den Maschinen vergibt klar, dann hast du aber noch ganz andere Probleme ...
Th0mKa
Th0mKa 31.05.2024 um 07:34:36 Uhr
Goto Top
Quote from @13034433319:
Wenn man den Usern Admin-Rechte auf den Maschinen vergibt klar, dann hast du aber noch ganz andere Probleme ...

Netter Versuch, aber zum auslesen der Registry benötigt man keine Adminrechte und auf ihren privaten Devices werden sie diese vermutlich haben.

/Thomas
13034433319
13034433319 31.05.2024 aktualisiert um 07:47:57 Uhr
Goto Top
Zitat von @Th0mKa:
Netter Versuch, aber zum auslesen der Registry benötigt man keine Adminrechte
Netter Versuch, aber für den Machine Store in dem die verschl. p. Keys liegen schon ...
und auf ihren privaten Devices werden sie diese vermutlich haben.
Dachte es geht nur um Geräte die unter Kontrolle des RMM des Unternehmens sind.
Michi91
Michi91 31.05.2024 um 08:02:51 Uhr
Goto Top
Es wurde bereits eine Lösung mittels VPN realisiert, aber die User haben einfach die VPN-Software mit der Config-Datei auf dem privaten Endgerät installiert.

--> Das öffnet vermutlich ganz andere Baustellen als nur die Browseranwendung. Kannst du übers RMM die öffentlichen IP's erfassen? So könnte man die Benutzer eventuell erfassen und entsprechend organisatorische Schritte (Er-/Abmahnung) einleiten.

Bezüglich technischer Lösungen:
Wenn die User es schaffen die VPN Config zu übernehmen, schaffen sie sicherlich auch Zertifikate zu exportieren. Ist dann ein Katz und Maus Spiel.

Du könntest das Spiel technisch wie folgt weiter treiben: Auf den von dir verwalteteten Geräten installierst du heimlich eine Browser-Extension (natürlich irgendwie getarnt), diese Extension setzt einfach nur einen zusätzlichen, unauffälligen Cookie. Diesen Cookie prüfst du dann am Webserver und leitest die "Experten" einfach auf eine weiße Seite. Sofern sie nicht diesen Thread finden, dürften sie ziemlich lange brauchen, das zu finden
Lochkartenstanzer
Lochkartenstanzer 31.05.2024 um 08:34:08 Uhr
Goto Top
Moin

Imho hilft in solchen Fällen wirklich nur Cat9. Wenn die Mitarbeiter sich nicht an die Anweisungen des Chefs halten, helfen keine technischen Lösungen.

Ich würde eher versuchen zu ergründen, warum sie gegen die Anweisungen verstoßen und dann mit Zuckerbrot und Cat9 die Richtlinien durchzusetzen.

lks
Trommel
Trommel 31.05.2024 um 08:37:56 Uhr
Goto Top
Moin,

folgendes Tool klärt das auf jeden Fall über den organisatorischen Weg.
https://www.getdigital.de/lart-netzwerkpeitsche-cat5-o-nine-tails.html

Trommel
StefanKittel
StefanKittel 31.05.2024 um 09:35:34 Uhr
Goto Top
Moin,

danke für die Inputs.

Die HO-PCs sind in keinem AD. Sie werden per RMM verwaltet, die Nutzer haben keine Admin-Rechte und die SSDs sind per Bitlocker verschlüsselt.

Der Webserver auf den die zugreifen steht im RZ und läuft unter Linux rein als LAMP.

Das VPN ist rein für den Zugriff auf den Webserver eingerichtet (Testphase).
Es gibt keine Einwahl in ein Firmennetzwerk oder ähnliches.

Es geht "nur" darum, dass nur ausgewählte PCs sich am Webserver anmelden können.
Also quasi 3FA.

Die HO-PCs stehen in den privaten Netzwerken der Benutzer zuhause.
Keine festen IP-Adressen. Auch bringt mir diese IP nichts weil der Zugriff mit dem privaten Gerät aus dem gleichen Netzwerk kommt.

Der Chef sagt "Es ist alles erlaubt was die IT nicht verhindern kann".

Ich teste das mal mit System-Client-Zertifikaten.
Alternativ wäre noch eine Möglichkeit eine kleine Anwendung zu programmieren welche die Seriennummer des Gerätes mit anderen Merkmalen verknüpft, signiert, den Browser startet und einen ID-Parameter mitgibt.

Stefan
Michi91
Michi91 31.05.2024 um 09:41:12 Uhr
Goto Top
Keine festen IP-Adressen. Auch bringt mir diese IP nichts weil der Zugriff mit dem privaten Gerät aus dem gleichen Netzwerk kommt.
Ok stimmt natürlich :D Soweit hatte ich nicht gedacht...

Viel Erfolg face-smile
Lochkartenstanzer
Lochkartenstanzer 31.05.2024 um 09:56:18 Uhr
Goto Top
Zitat von @StefanKittel:

Der Chef sagt "Es ist alles erlaubt was die IT nicht verhindern kann".


Wo ist dann das Problem. Wenn er das so durchwinkt, muß er auch die Konsequenzen (er)tragen.

lks
Celiko
Celiko 31.05.2024 um 10:29:42 Uhr
Goto Top
Lass dir die Aussage "Es ist alles erlaubt, was die IT nicht verhindern kann" nochmal schriftlich bestätigen
Versuch aber trotzdem mal in der Testphase noch eine Lösung zu finden.
Falls du keine bessere Lösung findest und der Chef die Haftung schriftlich übernimmt - dann bist du fein raus
aqui
aqui 31.05.2024 aktualisiert um 13:59:40 Uhr
Goto Top
die Nutzer haben keine Admin-Rechte und die SSDs sind per Bitlocker verschlüsselt.
Dann machst du schon am VPN eine Computer Authentisierung mit Zertifikaten via Radius!
Die Computer Zertifikate kann man nur als Admin auslesen was den Usern dann nicht gelingen wird wenn sie diese Rechte nicht haben. Der übliche Weg bei Firmennetzen...
Folglich hast du damit eine feste, gerätespezifische Authentisierung die nicht mehr auf firmenfremde Endgeräte klonbar ist!
Die Chefaussage steht dazu natürlich im krassen Widerspruch. Das zu sagen und etwas völlig anderes zu fordern ist natürlich laienhaft naiv. Muss man sicher auch nicht weiter kommentieren so einen Unsinn. face-sad
Pjordorf
Pjordorf 31.05.2024 um 12:57:58 Uhr
Goto Top
Hallo,

Zitat von @aqui:
Die Chefaussage steht dazu natürlich im krassen Widerspruch. Das zu sagen und etwas völlig anderes zu fordern ist natürlich laienhaft naiv. Muss man sicher auch nicht weiter kommentieren so einen Unsinn. face-sad
Viele Chefs haben ein Raumschiff Enterprise vor Augen wenn es um IT geht. Da geht ja auch alles und nichts gleichzeitig. Warum also nicht in der jetzigen IT. Sonst ein Leut. Worf abstellen der die nicht vorhandenen Firmenrichtlinien durchpeitscht. face-smile

Gruss,
Peter
Dani
Dani 31.05.2024 um 13:39:58 Uhr
Goto Top
Moin,
Alternativ wäre noch eine Möglichkeit eine kleine Anwendung zu programmieren welche die Seriennummer des Gerätes mit anderen Merkmalen verknüpft, signiert, den Browser startet und einen ID-Parameter mitgibt.
wir haben bei uns den User Agent des Browser erweitert. Sozusagen um eine UID. Das haben die meisten nicht auf dem Schirm. Diese UID wechselt auch regelmäßig. Damit wir auch diejenigen finden, die meinen kreativ werden. Der Wechsel erfolgt über unsere UEM.


Gruß,
Dani
Mr-Gustav
Mr-Gustav 31.05.2024 um 13:44:26 Uhr
Goto Top
Nun ja da ich nicht weiss welches RMM im Einsatz ist würde ich hier was in der Richtung Conditional Access vorschlagen.
Heißt Gerät nicht im MDM oder RMM kein Zugriff selbst wenn Benutzername/Kennwort/ MFA und Zertifikat vorhanden sind. Anmeldung im RMM natürlich dann entsprechend gestalten bzw. dafür sorgen das sich nicht jeder mit jedem Gerät anmelden kann ( im RMM )

Problem gelöst.

Problem bei den Zertifikaten ist u.U. das man solche Tools wie MIMIKATZ einsetzen kann um die Key´s bzw. Zertifikate zu exportieren auch wenn es eigentlich auf direktem Wege nicht geht.

Bitlocker ist da schon mal ein guter Freund damit keiner einfach einen neuen lokalen Admin installieren mit dem er dann System Rechte bekommt und mit denen dann an die Key´s kommt.

Jaaaa jetzt werden einige sagen dass das für manche zu kompliziert sein wird mit MIMIKATZ usw..... Aber wer es schaft Zertifikate von einem System zum anderen zu Übertragen der schafft das bisschen mit MIMIKATZ auch noch.

Aber eventuell hilft ja auch ein anderer Ansatz:
Vielleicht fragt der Chefe mal warum seine Mitarbeiter lieber von Ihren Privatgeräten arbeiten bzw. arbeiten wollen.
Wir hatten da irgendwann mal ein ähnliches Problem was sich mit einer Dockingstation und einem 27" Monitor im HO lösen lies.
Hintergrund war das den Entwicklern und manchen Software Eng. die Bildschirme des Notebooks zu klein waren, die Notebooks angeblich nicht genug Leistung hatten usw......


Immer dran denken: Benutzer sind kreativ face-smile
StefanKittel
StefanKittel 31.05.2024 um 22:09:14 Uhr
Goto Top
Ich probiere gerade mit Client-Zertifikaten rum.
Wenn ich so eines beim Benutzer installiere funktioniert es im Browser (Chrome+FF) wie gewünscht.

Aber egal wo ich es beim PC installieren kann der Client es nicht auswählen.

Wo kann/muss ich ein Client-Zertifikat installieren damit der Benutzer es im Browser verwenden kann?

Stefan
Dani
Dani 31.05.2024 um 22:18:18 Uhr
Goto Top
Moin,
Wo kann/muss ich ein Client-Zertifikat installieren damit der Benutzer es im Browser verwenden kann?
Du legst das Zertifikat im Zertifikatsspeicher des jeweiligen Benutzers ab. Damit ist es aber nicht getan. Es muss seitens Webserver auch angefordert werden. Was kommt für ein Webserver zum Einsatz? Wie sieht dort deine Konfiguration aus?


Gruß,
Dani
StefanKittel
StefanKittel 31.05.2024 um 22:35:42 Uhr
Goto Top
Zitat von @Dani:
Wo kann/muss ich ein Client-Zertifikat installieren damit der Benutzer es im Browser verwenden kann?
Du legst das Zertifikat im Zertifikatsspeicher des jeweiligen Benutzers ab. Damit ist es aber nicht getan. Es muss seitens Webserver auch angefordert werden. Was kommt für ein Webserver zum Einsatz? Wie sieht dort deine Konfiguration aus?
Ne, das funktioniert.

Wenn ich es beim Benutzer hinzufüge funktioniert alles.
Ich würde es aber gerne per RMM und Powershell hinmzufügen. Das geht aber nur zum Computer, da dies im Computer-Kontext läuft. Also quasi globale Zertifikate.

Ich hatte gehofft dies Zertifikat zum Computer hinzuzufügen und so hatte ich einige Texte auch verstanden.
Vermutlich geht das aber nicht.

Stefan
StefanKittel
StefanKittel 31.05.2024 aktualisiert um 22:46:06 Uhr
Goto Top
Oder wie kann ich mittels PS das Zertifikat zu einem bestimmten Benutzer hinzuzügen?

Als Administrator und ich kenne das Kennwort des Benutzers nicht.
Dani
Dani 31.05.2024 um 22:44:57 Uhr
Goto Top
Moin,
Ich würde es aber gerne per RMM und Powershell hinmzufügen
was hast du denn da für ein RMM im Einsatz? Bei ACMP kann man den Job jeweils in Benutzerkontext laufen. Meistens in Verbindung mit der Anmeldung.

Unabhängig davon wie erstellst bzw. rufst du das jeweilige Zertifikat für die Nutzer ab, wenn du kein VPN o.ä. hast?


Gruß,
Dani
StefanKittel
StefanKittel 31.05.2024 um 22:51:39 Uhr
Goto Top
Zitat von @Dani:

Moin,
Ich würde es aber gerne per RMM und Powershell hinmzufügen
was hast du denn da für ein RMM im Einsatz? Bei ACMP kann man den Job jeweils in Benutzerkontext laufen. Meistens in Verbindung mit der Anmeldung.
N-Able.

Das Skript läuft ja im Computer-Kontext.
Ich kann hier ohne Probleme auf "Alles" zugreifen. Auch die Registry der Benutzer.
Also müsste es ja auch irgendwie mit den Zertifikatsstores gehen.

Unabhängig davon wie erstellst bzw. rufst du das jeweilige Zertifikat für die Nutzer ab, wenn du kein VPN o.ä. hast?
Das weiß ich noch nicht genau. Eine Brücke zur Zeit face-smile
Das Skripte könnte das Zertifikat und das Kennwort dafür mitbringen.
Das Skript wird nicht dauerhaft gespeichert auf dem Client.

Stefan
13034433319
Lösung 13034433319 31.05.2024, aktualisiert am 01.06.2024 um 07:45:33 Uhr
Goto Top
Zitat von @StefanKittel:

Oder wie kann ich mittels PS das Zertifikat zu einem bestimmten Benutzer hinzuzügen?

Als Administrator und ich kenne das Kennwort des Benutzers nicht.

Mittels Impersonation kann sich ein Skript das mit System-Rechten läuft das Token eines angemeldeten Users holen und Skripte in seinem Kontext ausführen:
Powershell: Aufgabe im Hintergrund MsgBox in Vordergrund

Alternativ per RMM ein Login-Skript anlegen lassen was den Import beim User erledigt.

Für beide kann man das hier in der PS für den Import nutzen
$store = [System.Security.Cryptography.X509Certificates.X509Store]::new('My','CurrentUser')    
$store.Open('ReadWrite')    
$store.Add([X509Certificate]::new('C:\temp\test.p12','Passwort'))    
$store.Close()

Hatte vorhin auch erst gesehen das die aktuellen Browser keine Computer-Zertifikate zur Auswahl für die Auth an Webseiten anbieten. Dann wirst du den Export der private Keys wohl nicht verhindern können.
aqui
Lösung aqui 01.06.2024 aktualisiert um 12:15:18 Uhr
Goto Top
Aber egal wo ich es beim PC installieren kann der Client es nicht auswählen.
Egal ist das natürlich nicht! Es geht nur im Store des jeweiligen Users.
"Zertifikat" im Suchfeld eingeben und auf "Client bzw. User Zertifikate verwalten" klicken!