kaineanung
Goto Top

Wie selbst Signierte Zertifikate erstellen und verteilen?

Hallo Leute,

ich bin schon fast jahrzehnte im IT-Geschäft dabei und habe bisher erfolgreich einen Riesenbogen um Zertifikate gemacht.
Jetzt holt mich das Thema ein wenig ein und ich muss mich wohl doer übel damit befassen.
Ja, wo anfangen? Ich weiß was diese ZErtifikate machen. Sie bescheinigen daß der Server/Client tatsächlich das sind was sie angeben zu sein und, glaube ich, sorgen bei SSL für die Verschlüsselung.
Wie sie dafür Sorgen das die Kommunikation dabei verschlüsselt ist und wie sie vverschlüsselt ist und was der Schlüssel dafür ist weiß ich alles nicht.
Auch nicht wie ich ein eigen signiertes Zertifikat erstellen udn vor allem wie ich diese an die Clients verteilen kann weiß ich schon mal gar nicht.

Der Hintergrund ist folgender:
Ich setze jetzt in unserer Firma eine RDS-Farm ein für unsere Aussendienstmitarbeiter, aber auch für HomeOffice-User die aufgrund von dem jetz grassierenden Coronavirus eventuell zu Hause bleiben werden.
Die User melden sich per VPN in uner Netzwerk an und öffnen dann den RD WebAccess-Server an dem Sie sich anmelden müssen und dann nochmals den dortigen RDP öffnen und sich nochmals anmelden müssen.
1. Meckert der Brwoser beim Besuch des RD WebAccess-servers bereits das es eine "nicht vertrauenswürdige Seite ist" und der User dies erst erlauben müsste (wo es bei vielen trotz Anleitung bereits scheitern wird)
2. ist das Vorgehen lästig mit 2x anmelden (bisher war es 2x. 1. VPN und 2. Terminalserver direkt per RDP was aber bei einer RDS-Farm ja so nicht geht und daher RD Web Access zwischengeschaltet ist mit einer weiteren Anmeldung). Das lässt sich mit Single Sign On (SSO) wohl umgehen (ich hoffe es riochtig verstanden zu haben) und dazu braucht man aber Zertifikate.


So, meine Frage ist nun konkret:
1. Was ist ein Stammzertifikat und wieso brauche ich das um die Domänenzertifikate zu erstellen?
2. Wie erstelle ich ein Stammzertifikat? Linux-Lösungen habe ich viele im Web gefunden. MS-Lösungen keine..
3. Wie daraus ein (Sub-) Domain-Zertifikat (am besten Wildcard *.FIRMA.local) erstellen?
4. Wie verteile ich das Zertifikat dann auf alle Clients? GPO (was ist mit nicht-Domänen-Clients die per VPN reinkommen?) ?
5. Wohin muss ich die überhaupt verteilen? Windows? IE? Mozillla Firefox? Alles separat oder gibt es eine Zentrale Stelle die für alle gültig wäre (OS?)?

Ich hoffe das mir nach so vielen Jahren der Unwissenheit hier jemand die Augen öffnen kann was dieses (Tabu-)Thema (zumindest Tabu bei mir gewesen) angeht!
Ein Link wie z.B. 'Zertifikate' (noch besser 'selbst signierte Zertifikate') für Dummies wäre optimal....

Schon einmal im Voraus vielen vielen Dank für eure Mühe. Und wenn es nur das Lesen bis hierhin war ;)

Content-Key: 556106

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

Printed on: April 26, 2024 at 05:04 o'clock

Member: tech-flare
tech-flare Mar 09, 2020 updated at 19:44:57 (UTC)
Goto Top
Werde alle Geräte von dir verwaltet die sich verbinden? Oder sind da auch eigenen Geräte von den Mitarbeitern dabei? Wenn ja, bekommst du die Meldung nur weg, wenn du ein öffentliches Zertifikat kaufst / besorgst.

Wenn es alles eigene sind, dann brauchst / musst du

- eine interne CA aufsetzen auf einen Windows Server
- Dann Stammzertifikat der CA an alle Clients per GPO verteilen -> Vertrauenswürdige Stammzertifikate
- dann ein Zertifikat erstellen.....z.B. in Wildcard *.deinedomain.local (wobei local vernwedet man nicht mehr ) Das beste deine interne Domain = deine öffentliche, denn dann kann du ohne Probleme öffentliche Zertifikate verwenden.

Achtung bei wildcard, da muss *.domain.tld auch bei "Alternativer Name" drin stehen, sonst meckert z.B. Chrome und der neue Edge
Member: it-fraggle
it-fraggle Mar 09, 2020 at 20:19:58 (UTC)
Goto Top
1. Was ist ein Stammzertifikat und wieso brauche ich das um die Domänenzertifikate zu erstellen?
Das ist quasi das erste Zertifikat aus dem sich die anderen Zertifikate ergeben, wenn man so will.
2. Wie erstelle ich ein Stammzertifikat? Linux-Lösungen habe ich viele im Web gefunden. MS-Lösungen keine..
"windows ca server zertifikat erstellen" als Suchbegriff in Google und Youtube helfen.
3. Wie daraus ein (Sub-) Domain-Zertifikat (am besten Wildcard *.FIRMA.local) erstellen?
Mehr mit dem Thema beschäftigen und Tante Google benutzen. Das ist nicht in 2 Sätzen erklärt.
4. Wie verteile ich das Zertifikat dann auf alle Clients? GPO (was ist mit nicht-Domänen-Clients die per VPN reinkommen?) ?
Per Domäne beispielsweise oder importiere die Zertifikatskette in den Windows-Zertifikatsspeicher.
5. Wohin muss ich die überhaupt verteilen? Windows? IE? Mozillla Firefox? Alles separat oder gibt es eine Zentrale Stelle die für alle gültig wäre (OS?)?
Wie gesagt der Zertifikatsspeicher von Windows. Firefox hat einen eigenen Zertifikatsspeicher. Google hilft. Kinderleicht.
Member: tech-flare
tech-flare Mar 09, 2020 at 21:36:40 (UTC)
Goto Top
Wie gesagt der Zertifikatsspeicher von Windows. Firefox hat einen eigenen Zertifikatsspeicher. Google hilft. Kinderleicht.
Per GPO kann man Firefox anweisen den Zertifikatspeicher von Windows mit zu nutzen.

Das ganze kann man sich mit einem öffentlichen Zertifikat sparen ;)
Member: kaineanung
kaineanung Mar 09, 2020 at 21:41:31 (UTC)
Goto Top
Zitat von @tech-flare:

Werde alle Geräte von dir verwaltet die sich verbinden? Oder sind da auch eigenen Geräte von den Mitarbeitern dabei? Wenn ja, bekommst du die Meldung nur weg, wenn du ein öffentliches Zertifikat kaufst / besorgst.

Wir haben auch Geräte die nicht der Firma gehören und privat sind, aber sich einloggen können sollen (im Fall der Fälle für HomeOffice der Kollegen die sonst nicht dafür vorgesehen waren).

Wir haben für unsere öffentliche Domain bereits ein Wildcard-Zertifikat. Leider aber eben nur für die öffentliche *.FIRMA.de.
Domäne ist aber FIRMA.local -> somit nutzt die mir ja gar nichts...
Ausserdem muss man die Zertifizierung ja immer wieder verlängern und bezahlen und all das.. daher setze ich mal lieber auf selber erstellte Zertifikate.


Wenn es alles eigene sind, dann brauchst / musst du

- eine interne CA aufsetzen auf einen Windows Server
Ok, ist das eine Server-Rolle die ich installieren kann?

- Dann Stammzertifikat der CA an alle Clients per GPO verteilen -> Vertrauenswürdige Stammzertifikate
Ok, gibt es dafür ein Template in den GPO? Wie machei ch das per GPO bei Firefox? Firefox ESR haben wir noch nichtmal in der ganzen Firma, die privaten Geräte haben nur Firefox wenn überhaupt (ich müsste dann IE, Edge, Chrome und FF berücksichtigen). Gibt es dafür also Templates?

- dann ein Zertifikat erstellen.....z.B. in Wildcard *.deinedomain.local (wobei local vernwedet man nicht mehr ) Das beste deine interne Domain = deine öffentliche, denn dann kann du ohne Probleme öffentliche Zertifikate verwenden.
Schade das intern LOCAL und öffentlich DE ist face-sad
Und was mache ich dann mit diesem erstellten Zertifikat? Das Stammzertifikat muss ich verteilen und dieses 'Domänen'-Zertifikat auch oder nur auf den Server hinzufügen?

Achtung bei wildcard, da muss *.domain.tld auch bei "Alternativer Name" drin stehen, sonst meckert z.B. Chrome und der neue Edge


Kurz: Wie installiere ich ein CA-Server und wie erstelle ich dann so ein Stammzertifikat?
Für Linux habe ich da eine Anleitung gefunden. Kann ich das eigentlich auch unter Ubuntu machen für meien MS-Domäne? Lieber wäre es mir natürlich wenn ich es unter MS regeln könnte..
Member: kaineanung
kaineanung Mar 09, 2020 updated at 21:49:24 (UTC)
Goto Top
Zitat von @it-fraggle:

1. Was ist ein Stammzertifikat und wieso brauche ich das um die Domänenzertifikate zu erstellen?
Das ist quasi das erste Zertifikat aus dem sich die anderen Zertifikate ergeben, wenn man so will.
Ok, verstanden denke ich. Das Stammzertifikat ist die Mutter aller Zertifikate in meiner Domäne und alle anderen die daraus generiert wurden sind die Childs, richtig? (Bin eigentlich gelernter Anwendungsentwickler -> Ist das mit Vererbung vergleichbar?)
2. Wie erstelle ich ein Stammzertifikat? Linux-Lösungen habe ich viele im Web gefunden. MS-Lösungen keine..
"windows ca server zertifikat erstellen" als Suchbegriff in Google und Youtube helfen.
Ok, werde ich morgen bei der Arbeit mal suchen. Ich denke ich habe nur Linux-Lösungen gefunden dessen Zertifikate aber überall einsatzbar sind. Daher war dann mein Gang hierher gleich danach angesagt gewesen..
3. Wie daraus ein (Sub-) Domain-Zertifikat (am besten Wildcard *.FIRMA.local) erstellen?
Mehr mit dem Thema beschäftigen und Tante Google benutzen. Das ist nicht in 2 Sätzen erklärt.
Vielleicht eine Link für 'Jetze lerne ich Zertifikate...' oder 'Zertifikate für Dummies' oder so?
4. Wie verteile ich das Zertifikat dann auf alle Clients? GPO (was ist mit nicht-Domänen-Clients die per VPN reinkommen?) ?
Per Domäne beispielsweise oder importiere die Zertifikatskette in den Windows-Zertifikatsspeicher.
Per Domäne wäre wohl GPO gemeint, richtig? Gibt es dafür Administrative Vorlagen / Tempaltes? Was meinst du mit 'importiere die Zertifikatskette'? Manuell oder kann man das automatisieren?
5. Wohin muss ich die überhaupt verteilen? Windows? IE? Mozillla Firefox? Alles separat oder gibt es eine Zentrale Stelle die für alle gültig wäre (OS?)?
Wie gesagt der Zertifikatsspeicher von Windows. Firefox hat einen eigenen Zertifikatsspeicher. Google hilft. Kinderleicht.
Alles in den Zertifikatsspeicher von Windows und noch in den von Firefox falls vorhanden? Kann ich das mit FF vorhanden in GPO überprüfen? Gibt es dafür Links vielleicht?
Wenn nicht, oder allgemein gar keine Links gepostet werden: trotzdem Danke -> ich habe wenigstens ein klein Wenig einen Überblick bekommen und werde dann Tante Google fragen... Danke ;)
Member: Vision2015
Vision2015 Mar 10, 2020 at 06:25:06 (UTC)
Goto Top
moin...

1. Meckert der Brwoser beim Besuch des RD WebAccess-servers bereits das es eine "nicht vertrauenswürdige Seite ist" und der User dies erst erlauben müsste (wo es bei vielen trotz Anleitung bereits scheitern wird)
erstelle ein Zertifikat, und alles wird gut....
Zertifizierungsstelle installieren
Terminal-Server-Farmen: Zertifikate an Session Hosts zuweisen
Web Access für Remotedesktop
usw...
mit viel trödeln, ist das in 30 minuten erledigt!
Terminalserver direkt per RDP was aber bei einer RDS-Farm ja so nicht geht und daher RD Web Access zwischengeschaltet ist mit einer weiteren Anmeldung).
was für nen blödsinn.... natürlich geht das!
beides ordentlich einrichten, und gut ist.... zeit, mit viel trödeln ca.1 Stunde....

Frank
Member: kaineanung
kaineanung Mar 10, 2020 updated at 10:34:32 (UTC)
Goto Top
Zitat von @Vision2015:

moin...

1. Meckert der Brwoser beim Besuch des RD WebAccess-servers bereits das es eine "nicht vertrauenswürdige Seite ist" und der User dies erst erlauben müsste (wo es bei vielen trotz Anleitung bereits scheitern wird)
erstelle ein Zertifikat, und alles wird gut....
Zertifizierungsstelle installieren
Terminal-Server-Farmen: Zertifikate an Session Hosts zuweisen
Web Access für Remotedesktop
usw...
mit viel trödeln, ist das in 30 minuten erledigt!
Ich habe nur wenig getrödelt und es dauert doch schon 2 Stunden und ich bin gerade bei Punkt 2 "Terminal-Server-Framen: Zertifikate an Session Hosts zuweisen" hängen geblieben.
Genauer gesagt: am Punkt SAN oder Wildcard-Zertifikate -> Ich habe nur eine SubDomain und möchte daher ein Wildcard-ZErtifikat erstellen (auch um nicht jedes mal ein neues Zertifikat erstellen zu müssen wenn ein neuer Server hinzukommt. Da nur eine Subdomain -> Wildcard ist top).
ABER: Die Anleitung handelt SAN ab und der kurze Abschnitt zu Wildcards gehtn icht tief genug auf die zu treffende Eisntellungen ein.
Antragsteller-Name -> Allgemeiner Name -> Komtm da dann *.DOMAINNAME.local rein?
Bei "Alternativer Name" steht in der Antleitung irgendwas von DNS-Namen: was kommt da dann rein? DNS-Name wäre dann odch *.DOMAINNAME.local, oder nicht? Ich stehe hier ein wenig auf dem Schlauch...
Terminalserver direkt per RDP was aber bei einer RDS-Farm ja so nicht geht und daher RD Web Access zwischengeschaltet ist mit einer weiteren Anmeldung).
was für nen blödsinn.... natürlich geht das!
beides ordentlich einrichten, und gut ist.... zeit, mit viel trödeln ca.1 Stunde....
Ich denke daß dies vielelicht recht gut flutscht sobald ich einmal ein richtiges Wildcard-ZErtifikat erstellt habe.. schauen wir mal. Erst mal die erste Frage, vielleicht erübrigt sich ja dann die zweite autoamtsich? ;)


Frank

Nachtrag:
Ich will also meine Domäne komplett abgedeckt haben, habe keine Subdomains und möchte Wildcards benutzen.
Was mussi ch bei der Zertifikatsregistrierung dann im Reiter 'Anstragsteller' angeben?
Antragstellername:
Allgemeiner Name -> *.FIRMA.local

Alternative Name:
DNS -> ??
ODER
leer lassen?
Member: kaineanung
kaineanung Mar 10, 2020 updated at 12:56:21 (UTC)
Goto Top
Also ich habe mich wirklich versucht durchzukämpfen. Aber an einigen Stellen wird einfach gesagt: mach so ODER aber du kansnt es anders machen und beides Kombiniteren und diesu nd jenes. Hast du dich für Wildcard entschieden dann beachte das dies so und so ist (zusätzulich zu der Vorgehensweise bei SAN? Nur das ohen was anderes? Schreibe ich den FQDN oder DN (CN=FQDN) usw.?

Es wird an manchen Stellen vorausgesetzt daß man einfach hintergrundwissen hat welchesi ch nicht habe.

Habe auch eine andere Anleitung versucht und die war irgendwie glatter für mich:
Link zu einem Technikblog

ABER: wenn ich nun ein Zertifikat habe (*.firma.local -> ausgestellt von der CA-Authority die ich über die Anleitung installiert habe die mir @Vision2015 genannt hat -> Zertifizierungsstelle installieren), fange ich was genau mit dem Zertifikat an welches auf einem Share im Netzwerk liegt?
Ich importiere es auf jeden einzelnen Server und PC in den 'Eigene Zertifikate' Zertifikatsspeicher?

Wie merke ich ob es nun geklappt haT?
Wenn ich die URL im IE (nicht Firefox da der eigenen Zertifikatespeicher hat) eingebe komtm trotzdem die Meldung das es sich um eine nicht vertrauenswürdige Seite handelt!

Also -> Test fehlgeschlagen würde ich sagen...


Daher bitte nochmals kurz auf meine Fragen eingehen oder mich kurz an die Hand nehmen und sagen was zu tun ist? Vielen Dank im Voraus! Wenn diese Coronapandemie vorbei ist gebe ich ein Bier aus (kein Coronabier!).
Member: Vision2015
Vision2015 Mar 10, 2020 at 15:46:41 (UTC)
Goto Top
moin....

Wenn ich die URL im IE (nicht Firefox da der eigenen Zertifikatespeicher hat) eingebe komtm trotzdem die Meldung das es sich um eine nicht vertrauenswürdige Seite handelt!

was ist den die echte meldung.... ist das ca zertifikat auch verteilt?

Frank
Member: erikro
erikro Mar 10, 2020 at 15:50:01 (UTC)
Goto Top
Moin,

wirklich gut erklärt ist das ganze Thema für Windows-Server hier:
http://openbook.rheinwerk-verlag.de/windows_server_2012r2/12_001.html#d ...

Dann noch der Wikipedia-Artikel:
https://de.wikipedia.org/wiki/Public-Key-Infrastruktur

hth

Erik
Member: Vision2015
Vision2015 Mar 10, 2020 at 15:55:40 (UTC)
Goto Top
moin...
deploy Remote Desktop Services 2012 R2 Certificates

bringt dich auch weiter face-smile

Frank
Member: erikro
erikro Mar 10, 2020 updated at 16:04:24 (UTC)
Goto Top
Moin,

Zitat von @kaineanung:
ABER: wenn ich nun ein Zertifikat habe (*.firma.local -> ausgestellt von der CA-Authority die ich über die Anleitung installiert habe die mir @Vision2015 genannt hat -> Zertifizierungsstelle installieren), fange ich was genau mit dem Zertifikat an welches auf einem Share im Netzwerk liegt?
Ich importiere es auf jeden einzelnen Server und PC in den 'Eigene Zertifikate' Zertifikatsspeicher?

Das kommt darauf an:

Das Stammzertifikat muss bei allen Clients in den Zertifikatsspeicher für CAs (Vertrauenswürdige Stammzertifizierungsstellen).
Die Zertifikate z. B. für RDP müssen in den Speicher Remotedektop (Client) und Eigene Zertifikate (TS-Server).
Die Zertifikate für die Webserver müssen in den entsprechenden Speicher des Servers (je nach dem, welcher es denn ist).
Zertifikate für die Signierung von Skripts & Co. müssen in den Speicher Vertrauenswürdige Herausgeber (User) und Eigene Zertifikate (Programmierer).
...

Wie merke ich ob es nun geklappt haT?

Daran, dass es funktioniert. face-wink

Wenn ich die URL im IE (nicht Firefox da der eigenen Zertifikatespeicher hat) eingebe komtm trotzdem die Meldung das es sich um eine nicht vertrauenswürdige Seite handelt!
Also -> Test fehlgeschlagen würde ich sagen...

Ja. Bei der Zertifizierung des Webservers musst Du einerseits das Zertifikat für den Server auf dem Server an der entsprechenden Stelle ablegen. Auf Seiten des Browsers muss das Stammzertifikat der ausstellenden CA in dem Speicher liegen, in dem der Browser diese sucht. Bei FF wäre das der Reiter Zertifizierungsstellen.

So ganz kurz, wie dasd funktioniert (zwei Links hast Du ja von mir bekommen):
Server legt Client Zertifikat vor. Client prüft gegen das Stammzertifikat, ob Zertifikat echt. Wenn ja, dann alles gut. Hat er kein Stammzertifikat, dann kommt die Meldung, dass es keine vertrauenswürdige Site ist und Du kannst entscheiden, ob Du weiter machen willst. Stellt der Browser fest, dass das Zertifikat gefälscht ist, dann bricht er den Vorgang ab (hoffentlich).

Liebe Grüße

Erik