Pohled "komanda" na požadavky řadiče domén MS

Řešení StartCom: http://cert.startcom.org/?lang=en&app=138

Průvodce vytvořením: OpenCA Guide, Chapter 3

Tento seznam byl vytvořen použitím těchto článků MS:

Viz též článek MS "How to enable LDAP over SSL with a third-party certification authority" (Jak umožnit spojení LDAP nad SSL s certifikační autoritou [CA] třetí strany)

Co je to certifikát řadiče domény a k čemu je dobrý?

V sítích Microsoft je řadič domény (doménový kontrolér) "nadřízeným" strojem; udržuje informace o uživatelích, uživatelská jména, hesla, v případě serverů Windows 2000 a vyšších ještě mnohem více. Aktivní adresář je databáze LDAP, což znamená, že doména se mění na globální adresář konkrétní domény, a kromě všeho ostatního, co tato databáze obsahuje, může tam mít uživatel seznam platných certifikátů. Má-li tento uživatelský certifikát správné údaje, pak ho může doména využívat pro přihlášení uživatele.

Protože servery Windows 2000 a vyšších verzí obsahují "Microsoft Certificate Authority" (server certifikační autority), pak tato CA (je-li instalována) může samozřejmě vytvářet všechny požadované certifikáty. To je hezké, ale co když nechci věnovat část prostředků serveru na provoz své vlastní CA, nebo to nepovažuji za přínos, protože moje CA nebude důvěryhodná a nechci podstupovat drahý a náročný proces, jak ji udělat důvěryhodnou, nebo jsem chytrý správce, který ví, že čím více certifikátů moji hloupí uživatelé mají, tím více mají potíží zvolit, který kde použít.

Když vím, že Microsoft CA vydává vše, co potřebuji, může být první nápad požádat, abych z ní mohl udělat podřízenou CA důvěryhodné CA (např. CAcert). Je to zajímavá myšlenka a z mé strany by vyžadovala NEJMÉNĚ práce. Avšak z hlediska nadřízené CA je to myšlenka ŠPATNÁ, neboť tato podřízená CA pak může vydávat certifikáty, které jsou důvěryhodné, přestože nejsou pod kontrolou nadřízené CA. Příkladem toho může být Comodo/InstantSSL: tato společnost je podřízenou CA a může vydat komukoli, kdekoli certifikát bez dalšího ověření totožnosti, kromě toho, že pošle veřejný klíč na zadanou e-mailovou adresu. Když je tedy podřízená CA nevhodným nápadem, jak to mám udělat jinak?

A tady právě přichází "certifikát řadiče domény" (Domain Controller Certificate). Z nějakého důvodu, kterého jsem se nepokoušel dopátrat, Microsoft nezkouší ověřovat certifikáty pomocí CRL, ani ukládat CRL do cache, aspoň ne přímočarým způsobem. "Certifikát řadiče domény" umožňuje Windows ověřit certifikáty pro přihlášení kartou Smartcard a nemuset pokaždé požadovat CRL vydávající CA.

Tedy krátce: "Certifikát řadiče domény" je speciální typ certifikátu, používaný v sítích MS k ověření přihlašování kartou Smartcard. (Neříkám, že se používá JEN k tomu, ale pro tento popis je to jediná důležitá funkce.)

Čím vytvořit certifikát doménového kontroléru

POZNÁMKA: Příkaz "dsstore.exe -dcmon" nerozpozná certifikát, nemá-li jedno z těchto rošíření.

Sledujte prosím tento odkaz, kde je příklad výpisu certifikátu pomocí certutil.exe: http://support.microsoft.com/kb/291010/EN-US/#XSLTH3124121123120121120120

Potřebujeme pomoc s konfigurací OpenSSL pro žádost o certifikát (CSR) pro DC, viz návrh na DC CSR

Připomínky pošlete na: <cacert-support #AT# lists.cacert.org>

Tento odkaz: http://www.cs.bham.ac.uk/~smp/projects/peap/ poskytne informace a patch pro vytvoření certifikátů Microsoft IAS PEAP & LDAPS pomocí OpenSSL 0.9.8a a může pomoci s vytvořením certifikátu pro řadič domény:

"Windows vyžaduje, aby soubor typu PKCS12 obsahoval několik pro Microsoft specifických /Bag atributů/. Zejména v /Cryptographic Service Provider/ (oid=1.3.6.1.4.1.311.17.1) nastavit 'Microsoft RSA SChannel Cryptographic Provider' a v LocalKeySet (oid=1.3.6.1.4.1.311.17.2) nastavit prázdný řetězec. OpenSSL v současnosti pravděpodobně nepodporuje LocalKeySet, takže je potřebné upravit to vlastnímí silami."

Certifikáty pro přihlášení pomocí Smartcard

Bez karet Smartcard má certifikát řadiče domény jen malý skutečný přínos (pokud vůbec nějaký, dle mého názoru). Co je tedy potřeba k přihlášení Smartcard certifikátem?
Distribuční místo CRL (CRL Distribution Point, CDP) (CRL je Certification Revocation List, seznam odvolaných certifikátů) musí být uvedeno a dostupné on-line. Například:

  1. [1]CRL Distribution Point
    • Distribution Point Name: [Název distribučního místa:]
    • Key Usage = Digital Signature [Použití klíče = Digitální podpis]
    • Basic Constraints [Subject Type=End Entity, Path Length Constraint=None] (Optional) [Základní omezení [Typ předmětu=Koncová entita, Omezení délky cesty=žádné] (Volitelné))
    • Enhanced Key Usage = [Použití rozšířeného klíče - správněji: Rozšířené použití klíče]
  2. Client Authentication (1.3.6.1.5.5.7.3.2) (The client authentication OID) is only required if a certificate is used for SSL authentication.) [Ověření (identifikace) klienta(1.3.6.1.5.5.7.3.2) (Tato řada čísel je OID ověření klienta) se vyžaduje pouze, je-li certifikát použit pro ověření SSL.)]
  3. Smart Card Logon (1.3.6.1.4.1.311.20.2.2) [Přihlášení kartou Smartcard (1.3.6.1.4.1.311.20.2.2)]
    • Subject Alternative Name = Other Name: Principal Name= (UPN). For example: [Alternativní název předmětu (též SAN) = Jiný název: Hlavní (základní) název=(UPN), kde UPN je zkratkou User Principal Name (Hlavní jméno/název uživatele).]
      • UPN = user1@name.com

      • UPN OtherName OID is : "1.3.6.1.4.1.311.20.2.3" [OID pro UPN je 1.3.6.1.4.1.311.20.2.3]

      • UPN OtherName value: Must be ASN1-encoded UTF8 string [Hodnota UPN musí být řetězec UTF8 kódovaný standardem ASN.1 (Abstract Syntax Notation One)]

    • Subject = Distinguished name of user. This field is a mandatory extension, but the population of this field is optional. [Předmět = rozlišující jméno/název uživatele. Toto pole je povinné rozšíření, ale nemusí být vyplněno.]

Podrobnější článek Microsoftu je zde.

Potřebujeme pomoc s konfigurací OpenSSL pro žádost o certifikát (CSR) pro řadič domény (DC) a Smartcard, viz návrh pro DC CSR

Připomínky pošlete na: <cacert-support #AT# lists.cacert.org>


http://www.cs.bham.ac.uk/~smp/projects/peap/

Zde jsem našel některé užitečné informace a patch do openssl. "Windows vyžaduje, aby soubor typu PKCS12 obsahoval několik pro Microsoft specifických /Bag atributů/. Zejména v /Cryptographic Service Provider/ (oid=1.3.6.1.4.1.311.17.1) nastavit 'Microsoft RSA SChannel Cryptographic Provider' a v LocalKeySet (oid=1.3.6.1.4.1.311.17.2) nastavit prázdný řetězec."


DomainController/CZ (last edited 2016-05-18 14:02:49 by AlesKastner)