none
AD CS: mehrere Subordinate zertifikate auf enterprise CA RRS feed

  • Frage

  • Hallo,

    wir sind grad dabei, unsere neue Domäne aufzubauen und brauchen dort auch für exchange 2010 eine eigene PKI.

    Dazu habe ich auf den ersten Domain Controller in der Domäne die AD CS Rolle instaliert und ihm das rootCA gegeben. Dann haben wir einen Enterprise Server mit AD CS Rolle zum CA gemacht und ihm vom rootCA ein Zertifikat ableiten lassen.

    Wir haben das auch alles getestet und es funktionierte wunderbar mit RDP, Exchange 2010. Leider fiel uns erst später auf dass die Zertifikate alle nur einen Gültigkeitdauer von 2 Jahren haben. Daraufhin haben wir nochmal alles überprüft und wussten nicht so richtig wieso das nicht länger geht. Die Ursache war auch recht schnell gefunden, der CA hat vom rootCA ein Zertifikat mit einer Gültigkeitsdauer von nur 2 Jahren bekommen und das rootCA selber gaqlt auch nur 5 Jahre. Da muss ich bei der Einrichtung ein wenig gepennt haben, jedenfals hatten wir nach ein bisschen googlen dann die Lösung:

    certutil -setreg CA\ValidityPeriodUnits 10
    certutil -setreg CA\ValidityPeriod "Years"

    Auf dem rootCA ausgeführt, Dienst neu gestartet und Zertifikat renewed und dasselbe auf dem CA nochmal. Danach war auch alles gut soweit, aber: Das ganze hat nicht auf anhieb funktioniert, da wir u.a. vergessen haben den Dienst neu zu starten, deshalb hatte die CA zeitweise 3 Zertifikate im Local Store. Da wir das System zur Umstellung möglichst clean haben wollten, haben wir sie dann auf dem root und der CA revoked und anschließend mittels certutil auch aus der revocation list gelöscht, und sie auch auf allen lokalen stores händisch entfernt.

    Problem ist jetzt, das nach einiger Zeit die Zertifikate in den Local Stores auf dem CA wieder auftauchen. Und von einen Zertifikat gibt es auch ein Duplikat (selber Fingerprint).

    Ich würde gerne mal wissen, was denn der richtige Weg gewese wäre, diese Zertifikate zu eleminieren?

    gruß malte :)


    • Bearbeitet MalteS Donnerstag, 28. Juni 2012 15:41
    Donnerstag, 28. Juni 2012 15:40

Antworten

  • Da Du AD-integrierte CAs gewählt hast (was ja an sich eine gute Sache ist) werden natürlich auch die Zertifikate im AD gespeichert. Der "Local Cert-Store" ist also nur ein "Zwischenspeicher" der eigentliche CA-Zertifikate.

    Stellt Du dann während der Laufzeit der Microsoft PKI neue CA-Zertifikate aus, so werden die ebenso im AD gespeichert (Stichwort: NTAuthCertificates) und auch in den "Local Cert-Store" zwischengespeichert. Ein Löschen der Zertifikate im "Local Cert-Store" bewirkt nur ein Löschen der jeweiligen Zertifikate im jeweiligen "Local Cert-Store".. wer hät's gedacht ;) .. jedoch sind sie weiterhin im AD unter:

    CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain

    im AD gespeichert und werden auch regelmässig wieder in den "Local Cert-Store" kopiert (mittel Gruppenrichtlinie).

    Deswegen, wenn Du wirklich alles sauber neu machen willst, geh wie folgt vor:

    How to decommission a Windows enterprise certification authority and how to remove all related objects
    http://support.microsoft.com/kb/889250

    Weitere Hintergrundinformationen erhälst Du hier:

    How Certificate Services Works
    http://technet.microsoft.com/en-us/library/cc783853(WS.10).aspx

    [..]
    The physical structure of Certificate Services itself can best be described in terms of where certificates and certificate-related data are stored. Certificate Services uses a number of places to store certificates and configuration data:

    • The certificates database and CA log file
    • The registry
    • Active Directory
    • The file system

    Identical or closely related certificate data can appear in several — even in all — of these locations. For example, parts of the configuration information from the configuration container in Active Directory are replicated to the clients certificate store. Certificates that are stored in the Active Directory Configuration container are deployed to all clients across the forest. And, if a certificate is registered in the Configuration container and the domain security Group Policy object (GPO), a certificate can appear twice on the client.
    [..]

    Add Published Certificates to Active Directory Containers
    http://technet.microsoft.com/en-us/library/cc731612.aspx

    [..]

    All certification authority (CA) certificates in the Active Directory domain of the current forest are stored in the NTAuthCertificates container. Enterprise CA certificates are added automatically when a new CA is installed.

    If a CA certificate is not added automatically when the new CA is created, such as a stand-alone CA created by a user who is not a member of the Enterprise Admins group, the CA certificate can still be added manually to the NTAuthCertificates container. This process can also be used to add the CA certificate of a non-Microsoft CA that has been used to issue smart card logon or domain controller certificates. By publishing these CA certificates to the Enterprise NTAuth store, the administrator indicates that the CA is trusted to issue certificates of these types.
    [..]

    -
    Tobias Redelberger
    StarNET Services (HomeOffice)
    Frankfurter Allee 193
    D-10365 Berlin
    Tel: +49 (30) 86 87 02 678
    Mobil: +49 (163) 84 74 421
    Email: T.Redelberger@starnet-services.net
    Sonntag, 1. Juli 2012 13:01
  • Moin,

    zu deiner Frage: Zertifikate werden nicht automatisch aus dem Speicher entfernt ...

    Ansonsten kann ich dir nur empfehlen, dir externe Unterstützung zu Planung der neuen PKI zu besorgen. In der Online Hilfe von Wndwos steht zwar schön beschrieben, wie man die Zertifikatsdienste installiert, aber das geht in den meisten Fällen irgendwann in die Hose ...

    CA auf DC ... keine Empfehlung

    Laufzeiten: Sollten nicht zu lang gewählt werden, müssen auch gut überlegt sein, damit man auch Zeit hat solche Zertifikate zu verlängern

    Sperrlistenveröffentlichungspunkte müssen gut geplant werden usw...


    Viele Grüße Carsten

    • Als Antwort markiert MalteS Dienstag, 3. Juli 2012 16:03
    Montag, 2. Juli 2012 06:09
  • das man die Root ein mal pro Jahr hochfahren muss ist erst mal so nicht richtig ...

    Jede CA veröffentlicht auch Sperrlisten, die zur Gültigkeitsprüfung benörigt werden. Bei diesen musst du dir Gedanken machen, wo du die Veröffentlichst und welche Gültigkeit die haben. Wenn du die Root offline betreiben möchtest, kannst du die Sperrliste nicht auf der Root veröffentliche (offline lässt sich schwer abfragen) Daher kopiert man die Sperrliste meist auf einen Webserver und stellt sie darüber bereit. Wenn die Sperrliste eine Gültigkeit von einem Jahr hat (kenne auch deutlich kürzere Intervalle für eine Root-CA) musst du die Root kurz vor Ablauf der Sperrliste starten, eine neue Liste erstellen, diese auf den Webserver kopieren und danach kannst du die Root wieder runter fahren ... Daher diese pauschale Aussage ein mal im Jahr starten ..

    Wenn du dir darüber keine Gedanken machst und die Root einfach runterfährst, funktioniert die PKI nicht mehr ....

    Sollten mal Zertifikatsanwendungen auf dich zu kommen, die eine Sperrlistenprüfung über das Internet benötigen, muss die URL aus den zertifikaten auch über das Internet erreichbar sein ... (Mögliche Anwendung S/MIME, DirectAccess etc)


    Viele Grüße Carsten

    • Als Antwort markiert MalteS Dienstag, 3. Juli 2012 16:05
    Montag, 2. Juli 2012 10:50

Alle Antworten

  • Moin mon ;-)
     
    > Dazu habe ich auf den ersten Domain Controller in der Domäne die AD CS
    > Rolle instaliert und ihm das rootCA gegeben.
     Schon alleine deswegen würde ich DIr empfehlen: AD CS deinstallieren und
    mit einem eigenen CA-Server noch mal ganz von vorne anfangen... Das kann
    gerne auch ne VM sein. Und natürlich als Standalone Root-CA. Von der
    runter dann eine Intermediate CA in der Domain, und von der runter dann
    die Issuing CAs. Wenn das zu viele Maschinen sind, dann die Root CA halt
    gleich in der Domain (oder die erste Intermediate CA gleich als
    issuing). Aber NICHT auf einem Server, der noch was anderes macht:
     
    *The Certificate Services product group recommends that each CA should
    run on a dedicated server and that sharing the CA with a domain
    controller should be strongly discouraged
     
     
    mfg Martin
     
     

    NO THEY ARE NOT EVIL, if you know what you are doing: Good or bad GPOs?
    Wenn meine Antwort hilfreich war, freue ich mich über eine Bewertung! If my answer was helpful, I'm glad about a rating!
    Samstag, 30. Juni 2012 12:27
  • Hallo Martin, danke erstmal für die Antwort.

    Ich bin auch schon stark dafür, und werd das auch machen sobald mein kollege ausm Urlaub zurück ist.

    Gibs ne Möglichkeit alle Zertifikate von den Computern aus der Domaine automatisch entfernen zu lassen, wird das vielleicht ausgelöst, wenn man die CA und rootCA deinstalliert? oder geht das nur händisch?

    gruß Malte

    Samstag, 30. Juni 2012 18:35
  • Da bin ich leider überfragt ;-( Vielleicht meldet sich ja noch ein
    Fachmann...
     
    mfg Martin
     

    NO THEY ARE NOT EVIL, if you know what you are doing: Good or bad GPOs?
    Wenn meine Antwort hilfreich war, freue ich mich über eine Bewertung! If my answer was helpful, I'm glad about a rating!
    Sonntag, 1. Juli 2012 12:52
  • Da Du AD-integrierte CAs gewählt hast (was ja an sich eine gute Sache ist) werden natürlich auch die Zertifikate im AD gespeichert. Der "Local Cert-Store" ist also nur ein "Zwischenspeicher" der eigentliche CA-Zertifikate.

    Stellt Du dann während der Laufzeit der Microsoft PKI neue CA-Zertifikate aus, so werden die ebenso im AD gespeichert (Stichwort: NTAuthCertificates) und auch in den "Local Cert-Store" zwischengespeichert. Ein Löschen der Zertifikate im "Local Cert-Store" bewirkt nur ein Löschen der jeweiligen Zertifikate im jeweiligen "Local Cert-Store".. wer hät's gedacht ;) .. jedoch sind sie weiterhin im AD unter:

    CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain

    im AD gespeichert und werden auch regelmässig wieder in den "Local Cert-Store" kopiert (mittel Gruppenrichtlinie).

    Deswegen, wenn Du wirklich alles sauber neu machen willst, geh wie folgt vor:

    How to decommission a Windows enterprise certification authority and how to remove all related objects
    http://support.microsoft.com/kb/889250

    Weitere Hintergrundinformationen erhälst Du hier:

    How Certificate Services Works
    http://technet.microsoft.com/en-us/library/cc783853(WS.10).aspx

    [..]
    The physical structure of Certificate Services itself can best be described in terms of where certificates and certificate-related data are stored. Certificate Services uses a number of places to store certificates and configuration data:

    • The certificates database and CA log file
    • The registry
    • Active Directory
    • The file system

    Identical or closely related certificate data can appear in several — even in all — of these locations. For example, parts of the configuration information from the configuration container in Active Directory are replicated to the clients certificate store. Certificates that are stored in the Active Directory Configuration container are deployed to all clients across the forest. And, if a certificate is registered in the Configuration container and the domain security Group Policy object (GPO), a certificate can appear twice on the client.
    [..]

    Add Published Certificates to Active Directory Containers
    http://technet.microsoft.com/en-us/library/cc731612.aspx

    [..]

    All certification authority (CA) certificates in the Active Directory domain of the current forest are stored in the NTAuthCertificates container. Enterprise CA certificates are added automatically when a new CA is installed.

    If a CA certificate is not added automatically when the new CA is created, such as a stand-alone CA created by a user who is not a member of the Enterprise Admins group, the CA certificate can still be added manually to the NTAuthCertificates container. This process can also be used to add the CA certificate of a non-Microsoft CA that has been used to issue smart card logon or domain controller certificates. By publishing these CA certificates to the Enterprise NTAuth store, the administrator indicates that the CA is trusted to issue certificates of these types.
    [..]

    -
    Tobias Redelberger
    StarNET Services (HomeOffice)
    Frankfurter Allee 193
    D-10365 Berlin
    Tel: +49 (30) 86 87 02 678
    Mobil: +49 (163) 84 74 421
    Email: T.Redelberger@starnet-services.net
    Sonntag, 1. Juli 2012 13:01
  • Moin,

    zu deiner Frage: Zertifikate werden nicht automatisch aus dem Speicher entfernt ...

    Ansonsten kann ich dir nur empfehlen, dir externe Unterstützung zu Planung der neuen PKI zu besorgen. In der Online Hilfe von Wndwos steht zwar schön beschrieben, wie man die Zertifikatsdienste installiert, aber das geht in den meisten Fällen irgendwann in die Hose ...

    CA auf DC ... keine Empfehlung

    Laufzeiten: Sollten nicht zu lang gewählt werden, müssen auch gut überlegt sein, damit man auch Zeit hat solche Zertifikate zu verlängern

    Sperrlistenveröffentlichungspunkte müssen gut geplant werden usw...


    Viele Grüße Carsten

    • Als Antwort markiert MalteS Dienstag, 3. Juli 2012 16:03
    Montag, 2. Juli 2012 06:09
  • Hallo,

    vielen Dank für die Links /Antworten, das war sehr hilfreich :).

    Eine Letzte Frage noch, ich bin grad am stöbern in den public key services Kontainer und finde dort auch bei cn=CDP die CAs mit den entsprechenden Zertifikaten, unabhängig davon, ob man daran jemals hand anlegen sollte oder nicht, darf man dort die Keys auch manuell Löschen oder sind die Objekte dort noch irgendwo anders verankert?

    Ansonsten werde ich die PKI denächst neu machen, diesmal dann auch gemäß den Empfehlungen. Das die root CA auf den DC war, war vor allem eine Server Lizenz Sparmaßnahme, und solange es nur der root ist, ist das zwar Sicherheitstechnisch überhaupt nicht empfohlen, aber technisch sprach erstmal nichts dagegen. Und da wir nur 200 Clients und eine recht übersichtliche Infrastruktur haben, fand ich das noch vertretbar.

    Die neue rootCA kommt nun aber auf einen extra Server, der nicht in der Domäne ist mit. Das zertifikat bekommt eine Laufzeit von 10 Jahren und 4096 Bit.

    Eins wüsst ich da noch gern: Es heisst immer, man sollte den einmal im Jahr hochfahren, ist das nur wegen der Wartung/Updates oder gibt es auch aus Sicht der PKI einen Grund?

    Gruß Malte



    • Bearbeitet MalteS Montag, 2. Juli 2012 10:01
    Montag, 2. Juli 2012 09:59
  • das man die Root ein mal pro Jahr hochfahren muss ist erst mal so nicht richtig ...

    Jede CA veröffentlicht auch Sperrlisten, die zur Gültigkeitsprüfung benörigt werden. Bei diesen musst du dir Gedanken machen, wo du die Veröffentlichst und welche Gültigkeit die haben. Wenn du die Root offline betreiben möchtest, kannst du die Sperrliste nicht auf der Root veröffentliche (offline lässt sich schwer abfragen) Daher kopiert man die Sperrliste meist auf einen Webserver und stellt sie darüber bereit. Wenn die Sperrliste eine Gültigkeit von einem Jahr hat (kenne auch deutlich kürzere Intervalle für eine Root-CA) musst du die Root kurz vor Ablauf der Sperrliste starten, eine neue Liste erstellen, diese auf den Webserver kopieren und danach kannst du die Root wieder runter fahren ... Daher diese pauschale Aussage ein mal im Jahr starten ..

    Wenn du dir darüber keine Gedanken machst und die Root einfach runterfährst, funktioniert die PKI nicht mehr ....

    Sollten mal Zertifikatsanwendungen auf dich zu kommen, die eine Sperrlistenprüfung über das Internet benötigen, muss die URL aus den zertifikaten auch über das Internet erreichbar sein ... (Mögliche Anwendung S/MIME, DirectAccess etc)


    Viele Grüße Carsten

    • Als Antwort markiert MalteS Dienstag, 3. Juli 2012 16:05
    Montag, 2. Juli 2012 10:50
  • Hallo,

    ist die Thematik jetzt geklärt? Wenn ja, bitte auch die Antworten markieren, die Dir geholfen haben, so dass auch andere davon profitieren können.

    Gruss,
    Raul


    Raul Talmaciu, MICROSOFT 
    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Dienstag, 3. Juli 2012 13:28
    Moderator
  • nein.

    Die eigentliche Frage wurden nicht beantwortet, Problem aber dahin gehend gelöst, das ich die PKI bald neu installiere, gemäß der hier gemachten Anmekrungungen zu unserer bestehenden :)

    zwei Fragen sind aber immer noch offen:

    1) Ich würde gerne mal wissen, was denn der richtige Weg gewese wäre, diese Zertifikate zu eleminieren?

     

    2) Löschen von duplizierten root/subordinate Zertifikaten direkt aus den AD Store unter CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain: kann man das im Notfall mal machen oder nicht?

    Weil wie ja schon gesagt, wir die zertifikate revoked haben und mein Kollege sie dann zwecks Bereinigung (weil frische Domaine) mittels certutil gelöscht hat, keine sorge das machen wir nicht nochmal.

    Dennoch, wie kriege ich in diesem Fall die Zertifikate aus dem AD Store? Enterprise PKI Console?

     

    gruß malte



    • Bearbeitet MalteS Dienstag, 3. Juli 2012 16:06
    Dienstag, 3. Juli 2012 15:54
  • Moin,

    die CA´s nutzen diese Kontainer um ihre öffentlichen Schlüssel bzw. ihre Sperrlisten (CDP) im Active Directory zu veröffentlichen. Die Zertifikate werden dabei dann auch direkt an alle Domänenmitglieder verteilt und als vertrauenswürdig gekenzeichnet. Wenn du die CA nicht mehr verwenden willst, kannst du diese Zertifikate direkt im AD löschen.

    Alternativ kannst du auch das Tool Enterprise PKI verwenden. Wenn man dort "Optionen" wählt, kannst du direkt in den AD-Kontainer schauen. Auch hier lasse sich altes CAs entfernen.

    Aus den Zertiufikatsspeichern der Rechner wird das allerding nicht entfernt. Das musst du entweder manuell löschen (möglicherweise per Skript) oder einfach damit leben. Solange niemand den privaten Schlüssel deiner Root CA hat und sich damit was eigenes aufbaut, ist es nicht tragisch, wenn die Zertifikate noch im lokalen Speicher liegen.


    Viele Grüße Carsten

    Mittwoch, 4. Juli 2012 07:22
  • Danke, das ist gut zu wissen :).

    Ich hab in der noch bestehenden PKI in der Enterprise PKI noch etwas "rumprobiert". Da die CRL alle abgelaufen waren, hab ich die alle dort gelöscht.

    Problem ist nur, dass weder der rootCA noch die Enterprise CA ihre CRL publisht. Auf den rootCA ist unter %windir"\system32\certsrv\certenroll auch keine aktuelle gültige crl, auf der Enterprise CA gibt es eine aktuell gültige, aber die lässt sich nicht pushen.

    Probiert habe ich es über die CA Konsole, bei beiden kam ein "Directory object not found. 0x8007208d (WIN32:8333)" Fehler und mit certutil:

    C:\Windows\System32\certsrv\CertEnroll>certutil -dspublish "domain-
    CA1-CA(5).crl" ldap:///CN=domain-CA1-CA(5),CN=CA1,CN=CDP,CN=Public%
    Key%Services,CN=Services,CN=Configuration,DC=domain,DC=com?certific
    ateRevocationList?base?objectClass=cRLDistributionPoint

    ldap: 0x20: 0000208D: NameErr: DSID-0310020A, problem 2001 (NO_OBJECT), data 0,
    best match of:
            'CN=Services,CN=Configuration,DC=happythinkingpeople,DC=com'

    CertUtil: -dsPublish command FAILED: 0x8007208d (WIN32: 8333)
    CertUtil: Directory object not found.

     

     Das ist zwar noch die alte PkI, die bald neu gemacht wird, aber vielleicht hat ja einer ne Idee wie ich die doch noch zum laufen kriege, und lernen tut man da ja auch noch etwas :).

     

    gruß Malte



    • Bearbeitet MalteS Mittwoch, 4. Juli 2012 09:08
    Mittwoch, 4. Juli 2012 09:06