#language cs ## 20160518 AK ---- '''česky''' | [[DomainController|english]] ---- <> == 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: [[http://www.openca.info/docs/guide/openca-guide.pdf|OpenCA Guide, Chapter 3]] Tento seznam byl vytvořen použitím těchto článků MS: * http://support.microsoft.com/default.aspx?scid=kb;en-us;281245 * http://support.microsoft.com/kb/291010/EN-US/ 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) * http://support.microsoft.com/default.aspx?scid=kb;en-us;321051 == 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. ## [V serverech WS2008 a dále lze zapnout ověřování protokolem OCSP, a to v zásadách skupiny (Group Policy), Konfiguraci počítače (Computer Configuration), Zásadách (Policies), Nastavení Windows (Windows Settings), Nastavení zabezpečení (Security Settings), Zásady veřejných klíčů (Public Key Policies), Klient certifikační služby - automatický zápis (Certificate Services Client - Auto-Enrollment), Vlastnosti, .] 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 == * Certifikát musí mít rozšíření "Přístup k informacím úřadu" (CRL distribution-point), kde je odkaz na platný seznam odvolaných certifikátů (CRL). * Volitelně může sekce Předmět (Subject) certifikátu obsahovat cestu adresáře k serverovému objektu - rozlišující název (distinguished name), například: . CN=server1.northwindtraders.com OU=Domain Controllers DC=northwwindtraders DC=com * Sekce certifikátu Použití klíče (Key Usage) musí obsahovat: . Digital Signature (digitální podpis), Key Encipherment (šifrování klíčem) * Volitelně může sekce certifikátu Základní omezení (Basic Constraints) obsahovat: . [Typ předmětu=koncová entita, Omezení délky cesty=Žádné] (Subject Type=End Entity, Path Length Constraint=None) * Sekce certifikátu Rozšířené použití klíče [někdy chybně: Použití rozšířeného klíče] (Enhanced Key Usage) musí obsahovat: . a) Client Authentication (1.3.6.1.5.5.7.3.2) [Ověření klienta (1.3.6.1.5.5.7.3.2)] . b) Server Authentication (1.3.6.1.5.5.7.3.1) [Ověření serveru (1.3.6.1.5.5.7.3.1)] * Sekce certifikátu Alternativní název předmětu (Subject Alternative Name) musí obsahovat globálně jedinečný identifikátor (GUID) objektu řadiče domény v adresáři a název pro DNS (Domain Name System), například: . a) Jiný název: 1.3.6.1.4.1.311.25.1 = ac 4b 29 06 aa d6 5d 4f a9 9c 4c bc b0 6a 65 d9 . b) Název DNS=server1.northwindtraders.com * Šablona certifikátu musí rozšíření s hodnotou BMP dat "DomainController" (řadič domény). POZNÁMKA: Příkaz "dsstore.exe -dcmon" nerozpozná certifikát, nemá-li jedno z těchto rošíření. * Musíte použít poskytovatele kryptografické služby Schannel (CSP) k generování klíče. * Certifikát řadiče domény musí být instalován v úložišti certifikátů místního počítače. 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 [[http://www.grhq.net/DC_CSR/|návrh na DC CSR]] Připomínky pošlete na: <> 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:] . Full Name: [Plný název:] . URL=http://server1.name.com/CertEnroll/caname.crl * 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] 1. 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.)] 1. 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 [[https://technet.microsoft.com/cs-cz/library/ff404293%28v=ws.10%29.aspx|zde]]. Potřebujeme pomoc s konfigurací OpenSSL pro žádost o certifikát (CSR) pro řadič domény (DC) a Smartcard, viz [[http://www.grhq.net/DC_CSR/|návrh pro DC CSR]] Připomínky pošlete na: <> ---- 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." ---- . CategorySoftware