m8ichael
Goto Top

Nutzung von CodeSigning-Zertifikaten

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

Printed on: April 19, 2024 at 09:04 o'clock

Member: tech-flare
tech-flare May 30, 2022 at 10:19:42 (UTC)
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.:
Set-AuthenticodeSignature myScript.ps1 (gci Cert:\CurrentUser\My -CodeSigningCert)`
-TimestampServer http://timestamp.globalsign.com/scripts/timstamp.dll `
-HashAlgorithm "SHA256"  
Member: m8ichael
m8ichael May 30, 2022 at 10:38:09 (UTC)
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.:
Set-AuthenticodeSignature myScript.ps1 (gci Cert:\CurrentUser\My -CodeSigningCert)`
-TimestampServer http://timestamp.globalsign.com/scripts/timstamp.dll `
-HashAlgorithm "SHA256"  

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
Member: C.R.S.
Solution C.R.S. May 30, 2022 at 11:28:12 (UTC)
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
Member: m8ichael
m8ichael May 30, 2022 at 11:49:26 (UTC)
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...