cs:spravce:pripojovani:serverove_certifikaty

Toto je starší verze dokumentu!


Připojení k eduroam.cz: Získání serverových certifikátů

Certifikát pro RadSec/IPsec

Pro RadSec anebo IPsec musí správci připojované instituce získat certifikát od uznávané CA:

TCS

eduroam CA

CESNET CA3

  • používá národní RADIUS
  • výjimečně může vydat certifikát pro RADIUS server organizace, pro účely eduroamu má zbytečně přísná pravidla ověření žadatetele

Národní RADIUS používá certifikát vydaný CESNET CA3.

Je vyžadováno aby CN subjectu certifikátu pro RadSec anebo IPsec obsahovalo jméno pod kterým je server organizace registrován v CESNET CAAS (důvody). Národní RADIUS nepracuje se subjAltName:DNS.

Certifikát pro RADIUS

Aby RADIUS server mohl podporovat ověřování pomocí EAPu, musí mít X509 certifikát, tento certifikát ale nemusí být vydán CESNET CA3 ani TCS. Provozuje-li Vaše organizace vlastní CA, na kterou jsou uživatelé zvyklí, nic nebrání využití certifikátu od Vaší CA. Doporučujeme použití certifikátu CESNET TCS který je podepsaný společností DigiCert.

Diskuze k přechodu od CESNET CA k TCS anebo CESNET CCA3 je také v archivu konference eduroam-admin.

Certifikát od CESNET CA3

CESNET CA3 má certifikát uložený v HW a tento certifikát je podepsán CESNET CA Root. Certifikát CESNET CA Root je uložen ve formě nezávislé na HW. Pokud bude nutné nahradit certifikát CESNET CA3, bude možné pomocí CESNET CA Root podepsat certifikát jiné mezilehlé CA, která nahradí CESNET CA3. Uživatelé, kteří mají nastavenou důvěru pro hlavní kořen CESNET CA Root, nebudou muset nic měnit. Toto řešení slibuje, že kořen, který si uživatelé nainstalují, přežije obměnu HW a SW řešení.

Nemůžeme ale slíbit, že CESNET CA Root bude používán až do konce své platnosti, tedy do roku 2029. Může dojít k situaci, kdy stávající 2048 klíč bude nedostatečně kvalitní, tento problém mají ale ostatní CA také.

Nevýhodou řešení s CESNET CA Root je, že většina je služeb převedena na službu TCS, a tudíž nutnost importu dalšího kořene nepřinese uživatelům mnoho výhod navíc. CESNET CA3 vydává certikáty pro servery jen v omezené míře, pro RADIUS servery pro eduroam budou certifikáty vydávány bez omezení i pro ogranizace používající CESNET TCS.

Certifikát od TCS

Certifikáty TCS od firmy DigiCert jsou v současné době (rok 2016) doporučovanou volbou v podstatě pro všechny služby. Důvodem preference je, že certifikát DigiCert Assured ID Root CA, který firma DigiCert používá, je předinstalován na drtivé většině platform. Dalším důvodem je, že služba je federovaná, a tudíž proces schvalování je posunut podstatně blíže uživatelům služby.

Většina organizací připojených k eduroamu má na službu TCS nárok, protože jsou současně připojené i k síti CESNET 2. U některých organizací nemusí být získání služby TCS možné. Ověření dostupnosti můžete provést mailovým dotazem na adrese tcs-ra@cesnet.cz.

Self-sign certifikát na "20" let

Self-sign certifikát na dostatečně dlouhou dobu řeší problém s faktem, že obě předchozí služby mohou být ukončeny a vyvolat tak nutnost měnit konfiguraci uživatelských zařízení na celé instituci. Dalším důvodem proč zvolit tuto možnost je, že stále existují klientská zařízení, která nejdou pro připojení k eduroamu správně nastavit. Nebývá možné nastavit jméno očekávaného RADIUS serveru, je ale možné kontrolovat alespoň CA (např. Android <7, Windows Phone). Pokud se použije privátní CA je zajištěno že nikdo nemůže úspěšně získat uživatelské identity ze správně nastavených zařízení.

Na druhou stranu provozování vlastní CA vyžaduje zkušeného správce a zdaleka nelze tuto cestu doporučit každému.

Časté problémy s certifikáty

DER -> PEM

DER je binární kódování ASN.1 řetězců. PEM je ascii reprezentace téhož. Převod mezi oběma formáty se v případě certifikátu provádí pomocí

openssl x509 -inform DER -outform PEM <certifikat.der >certifikat.pem

Prohozením in/outform dosáhnete obráceného převodu. Pro převody privátních klíčů se obdobně používá openssl rsa …

PKCS#12 -> PEM

Převod z formátu PKCS#12 do PEM se provádí pomocí příkazu:

openssl pkcs12 -in certifikat.p12 -out certifikat.pem -nodes

Pokud soubor certifikat.p12 vyexportujete z prohlížeče, tak téměř jistě bude obsahovat i certifikát certifikační autority, která ho vydala. V souboru certifikat.pem je jak certifikát samotný tak i příslušný privátní klíč.

PEM -> PKCS#12

Převod z formátu PEM do PKCS#12 se provádí pomocí příkazu:

openssl pkcs12 -chain -inkey certifikat.key -in certifikat.crt -name "popisek" -out certifikat.p12 -export

Pokud nemáte na systému správně nainstalované OpenSSL bude možná nutné použít -CAfile a jako argument mu předat kořenový certifikát CESNET CA.

Jak zobrazit obsah certifikátu?

openssl x509 -text -noout <certifikat.pem

Pomocí výše uvedeného příkazu se můžete přesvědčit, že certifikát má požadovanou extenzi TLS server. Výpis by měl obsahovat

  X509v3 Extended Key Usage: 
    TLS Web Server Authentication

Jak odstranit zaheslování privátního klíče?

openssl rsa -in privatni-klic.pem -out privatni-klic-bez-hesla.pem

Jak zjistit jestli certifikát a privátní klíč patří k sobě?

Vypište si a porovnejte modulus certifikátu a privátního klíče:

openssl x509 -noout -modulus < cert.pem
openssl rsa -noout -modulus < key.pem

Ověření certifikátu radius1.eduroam.cz

Ověření toho jakým certifikátem se prezentuje národní RADIUS se provede pomocí OpenSSL:

openssl s_client -connect radius1.eduroam.cz:2083 -showcerts

Příklad výstupu.

Ověření navázání spojení s radius1.eduroam.cz

openssl s_client -connect radius1.eduroam.cz:2083 -CAfile 
/etc/freeradius/3.0/certs/chain_CESNET_CA3.pem -cert vas_certifikat.pem 
-key klic_k_certifikatu.pem < /dev/null

Výše uvedeným přikazem lze (po zadání správných cest k certifikátům) ověřit sestavení spojení z vašeho RADIUS serveru na národní RADIUS. Ve výstupu je nutné ověřit že byl správně ověřen certifikát národního RADIUSu, to je řádek Verification: OK.

Příklad výstupu.

To že národní RADIUS akceptuje certifikát poznáte podle toho že se spojení naváže. Zda dopadlo ověření certifikátů národního RADIUS serveru dobře poznáte podle návratového kódu:

echo $?

Pokud je návratový kod nenulový, certifikát národního RADIUS serveru nebyl správně ověřen nebo došlo k jiné chybě. Více informací by mělo být k dispozici na konci výstupu OpenSSL v řádku Verify return code.

Poslední úprava:: 2018/05/16 10:55