Nutzung von CodeSigning-Zertifikaten

m8ichael
Goto Top
Hallo zusammen,

in unserer Umgebung werden u. a. PowerShell-Scripte nur ausgeführt, wenn diese signiert wurden. Das Signaturverfahren wird dabei über eine interne CA abgebildet (selbstsigniert), wobei sich berechtigte Benutzer entsprechende Codesigning-Zertifikate ausstellen lassen können. So weit - so gut.

Damit die so ausgestellten Zertifikate nun von den jeweiligen Systemen akzeptiert werden, müssen diese ja nun noch - möglichst per GPO - in den Speicher der vertrauenswürdigen Herausgeber importiert werden. Hier jetzt die Frage: Müssen hier zwingend alle einzelnen User-Zertifikate importiert/übertragen werden oder lässt sich hier auch definieren, dass alle (CodeSigning-)Zertifikate einer CA automatisch auch als "vertrauenswürdige Herausgeber" akzeptiert werden? Letzteres würde den Prozess der Verteilung ja verschlanken.

Gruß

Michael

Content-Key: 2936758524

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

Ausgedruckt am: 17.08.2022 um 19:08 Uhr

Mitglied: tech-flare
tech-flare 30.05.2022 um 12:19:42 Uhr
Goto Top
Hallo,

dies funktioniert natürlich ohne die Verteilung der einzelnen User Zertifikate. Andernfalls würde ja sonst "fremde" auf die Userzertifikate zugreifen können.

Beachte, dass du am besten das Skript mit einerm externen Zeitstemperl signierst. Andernfalls funktioniert das Skript nicht mehr, wenn das Zertifikat abgelaufen ist. (Ja das geht auch, wenn es sich um eine Interne CA handelt).

Näheres dazu hier:

www.windowspro.de/wolfgang-sommergut/powershell-scripts-signieren-zertifikaten-einer-ad-zertifizierungsstelle

Der Code lautet z.B.:
Mitglied: m8ichael
m8ichael 30.05.2022 um 12:38:09 Uhr
Goto Top
Hallo!
Zitat von @tech-flare:

Hallo,

dies funktioniert natürlich ohne die Verteilung der einzelnen User Zertifikate. Andernfalls würde ja sonst "fremde" auf die Userzertifikate zugreifen können.

Beachte, dass du am besten das Skript mit einerm externen Zeitstemperl signierst. Andernfalls funktioniert das Skript nicht mehr, wenn das Zertifikat abgelaufen ist. (Ja das geht auch, wenn es sich um eine Interne CA handelt).

Näheres dazu hier:

www.windowspro.de/wolfgang-sommergut/powershell-scripts-signieren-zertifikaten-einer-ad-zertifizierungsstelle

Der Code lautet z.B.:

Das Signieren von den PowerShell-Scripts ist soweit klar. In meiner Testumgebung werden die so signierten Scripts nur dann akzeptiert, wenn

a) das Stammzertifikat als vertrauenswürdige Zertifizierungsstelle hinterlegt ist und
b) das konkrete Unterschriftszertifikat noch zusätzlich unter "vertrauenswürdige Herausgeber" installiert wurde.

Beides lässt sich natürlich per GPO bewerkstelligen, allerdings ergibt sich zu b) eine längere Liste (weil es diverse "Herausgeber" im Unternehmen gibt), die ja auch aktuell gehalten werden muss. Hier besteht die Frage, inwieweit es einen "generelleren" Ansatz gibt und man bspw. nicht jedes einzelne Zertifikat hinterlegen muss, damit es letztlich vom Client akzeptiert wird.

Gruß

Michael
Mitglied: C.R.S.
Lösung C.R.S. 30.05.2022 um 13:28:12 Uhr
Goto Top
Hallo Michael,

die Installation des konkreten Signatur-Zertifikats lässt sich nicht vermeiden.

In kleineren Umgebungen ist der Aufwand dadurch überschaubar. Eine "längere Liste" von persönlichen Ausstellern deutet darauf hin, dass der Signaturprozess nicht an die Gegebenheiten angepasst ist. In dem Maßstab wäre wahrscheinlich ein Organisationszertifikat mit Freigabeprozess und zentral automatisierter Signatur von freigegebenem Code angebracht.

Grüße
Richard
Mitglied: m8ichael
m8ichael 30.05.2022 um 13:49:26 Uhr
Goto Top
Hallo Richard,

Zitat von @C.R.S.:
die Installation des konkreten Signatur-Zertifikats lässt sich nicht vermeiden.

OK, vielen Dank. Dann müssen wir mal bewerten, welche Variante nun schlanker umzusetzen ist...