cs:spravce:pripojovani:serverove_certifikaty

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Následující verze Obě strany příští revize
cs:spravce:pripojovani:serverove_certifikaty [2018/05/16 10:55]
jan.tomasek@cesnet.cz [Certifikát pro RadSec/IPsec]
cs:spravce:pripojovani:serverove_certifikaty [2019/01/04 15:22]
jan.tomasek@cesnet.cz [CESNET CA3]
Řádek 1: Řádek 1:
-====== ​Připojení k eduroam.cz: Získání serverových certifikátů ​======+====== ​Certifikáty pro RADIUS server ​====== 
 + 
 +RADIUS server potřebuje certifikát pro dva různé účely. Prvním je bezpečné propojení s národním RADIUSem a druhým je EAP server, který slouží pro zabezpečení komunikace mezi uživatelským zařízením a RADIUS serverem.
  
 ===== Certifikát pro RadSec/​IPsec ===== ===== Certifikát pro RadSec/​IPsec =====
Řádek 8: Řádek 10:
 ==== TCS ==== ==== TCS ====
   * pro instituce připojené k CESNETu   * pro instituce připojené k CESNETu
-  * [[http://​pki.cesnet.cz/​cs/​st-guide-tcs-server2.html|dokumnetace]]+  * [[http://​pki.cesnet.cz/​cs/​st-guide-tcs-server2.html|dokumentace]]
  
  
Řádek 17: Řádek 19:
 ==== CESNET CA3 ==== ==== CESNET CA3 ====
   * používá národní RADIUS   * 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 
   * [[http://​pki.cesnet.cz/​cs/​st-server-cca.html|dokumentace]]   * [[http://​pki.cesnet.cz/​cs/​st-server-cca.html|dokumentace]]
  
Řádek 25: Řádek 26:
 **Národní RADIUS používá certifikát vydaný [[http://​pki.cesnet.cz/​en/​ch-cca-crt-crl.html|CESNET CA3]]**. **Národní RADIUS používá certifikát vydaný [[http://​pki.cesnet.cz/​en/​ch-cca-crt-crl.html|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 ([[http://​lists.open.com.au/​pipermail/​radiator/​2017-October/​021035.html|důvody]]). Národní RADIUS **nepracuje** se subjAltName:​DNS.+===== Certifikát ​pro EAP server ​=====
  
-===== Certifikát ​pro RADIUS =====+V případě výběru certifikační autority, která podepíše certifikát ​pro EAP server (pro PEAP/TTLS), má každá insttiuce v //​eduroam//​u mnohem větší volnost, ale také odpovědnost. Velmi dobré shrnutí všech úhlů pohledu na tuto problematiku obsahuje dokument [[https://​wiki.geant.org/​display/​H2eduroam/​EAP+Server+Certificate+considerations|EAP Server Certificate considerations]]. ​
  
-Aby RADIUS server mohl podporovat ověřování pomocí EAPu, musí mít +Bez ohledu na topro jakou CA se rozhodneteje naprosto klíčové, aby zařízení vašich ​ivatelú ověřovala, že RADIUS server má certifikát na předem nakonfigurované jméno a že certifikát je od jedné konkrétní ​CA. Porušení jednoho nebo druhého bodu nezajistí dostatečnou ochranu přihlašovacích údajů.
-X509 certifikáttento certifikát ale **nemusí** být vydán CESNET +
-CA3 ani TCS. Provozuje-li Vaše organizace vlastní ​CA, na kterou jsou ivatelé +
-zvyklínic nebrání využití certifikátu ​od Vaší ​CA. Doporučujeme použití +
-[[http://​pki.cesnet.cz/​cs/​st-guide-tcs-server.html|certifikátu CESNET TCS]] +
-který je podepsaný společností DigiCert.+
  
-Diskuze k echodu od CESNET ​CA TCS anebo CESNET CCA3 je také v [[https://wiki.eduroam.cz/​eduroam-admin/msg00508.html|archivu konference ​eduroam-admin]].+Zhruba lze volbu CA, která podepíše certifikát EAP serveru, shrnout takto: 
 +  * provozujete-li vlastní CA, použijte ji 
 +  * v ípadě, že nemáte vlastní ​CA
 +    * použijte službu [[http://​pki.cesnet.cz/​cs/​st-guide-tcs-server2.html|TCS]] (instituce připojené k CESNETu) 
 +    * použijte komerční CA (ostatní) 
 +    * Let's Encrypt by měl jít použít, pokud je možné na RADIUS serveru provozovat HTTP server, kvůli obnově certifikátu ​3měsíčních intervalech 
 +  * pokud máte více než jeden RADIUS server, použijte pro EAP jediné jméno, např. radius.vas-realm.cz,​ ruční konfigurace některých zařízení je pak snazší 
 +  * zajistěte, že uživatelé budou svá zařízení konfigurovat pomocí ​[[https://www.eduroam.cz/​cs/uzivatel/​sw/​uvod|eduroam ​CAT]] 
  
  
-==== Certifikát od CESNET CA3 ==== +====== Časté problémy s certifikáty ======
- +
-[[http://​pki.cesnet.cz/​cs/​ch-crt-crl.html#​cesnet_ca_3|CESNET CA3]] má certifikát uložený v HW a tento certifikát je podepsán [[http://​pki.cesnet.cz/​cs/​ch-crt-crl.html#​cesnet_ca_root|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 [[http://​pki.cesnet.cz/​cs/​st-guide-tcs-server.html|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. +===== OpenSSL ​pro Windows =====
- +
-==== Certifikát od TCS ==== +
- +
-[[https://​pki.cesnet.cz/​cs/​st-guide-tcs-server2.html|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 [[https://​pki.cesnet.cz/​cs/​ch-tcs-ssl-ca-3-crt-crl.html|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 //​eduroam//​u 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 ======+
  
 +Je ke stažení: https://​sourceforge.net/​projects/​openssl/​
  
  
Řádek 65: Řádek 52:
 ===== DER -> PEM ===== ===== 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í+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í ​příkazu:
 <​code>​ <​code>​
 openssl x509 -inform DER -outform PEM <​certifikat.der >​certifikat.pem openssl x509 -inform DER -outform PEM <​certifikat.der >​certifikat.pem
Řádek 79: Řádek 66:
 openssl pkcs12 -in certifikat.p12 -out certifikat.pem -nodes openssl pkcs12 -in certifikat.p12 -out certifikat.pem -nodes
 </​code>​ </​code>​
-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íč.+Pokud soubor ''​certifikat.p12''​ vyexportujete z prohlížeče,​ 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íč.
  
  
Řádek 87: Řádek 74:
  
 <​code>​ <​code>​
-openssl pkcs12 -chain -inkey certifikat.key -in certifikat.crt -name "​popisek"​ -out certifikat.p12 -export+openssl pkcs12 -chain ​-CAfile chain_CA.pem ​-inkey certifikat.key -in certifikat.crt -name "​popisek"​ -out certifikat.p12 -export
 </​code>​ </​code>​
  
-Pokud nemáte na systému správně nainstalované OpenSSL bude možná nutné ​použít ​-CAfile ​jako argument mu předat [[http://www.cesnet.cz/pki/|kořenový certifikát CESNET ​CA]]. +Parametr -CAfile musíte ​použít ​na Windows ​na Linuxu, pokud nemáte certifikát v cestě, kde ho OpenSSL očekává. Obsahem je certifikát CA, která vydala certifikát pro váš RADIUS a nebo celý řetěz. V eduroamu tedy od [[https://pki.cesnet.cz/cs/ch-tcs-crt-crl.html|služby TCS]] anebo od [[https://​www.eduroam.cz/​cs/​spravce/​pripojovani/​eduroamca|eduroam ​CA]].
 ===== Jak zobrazit obsah certifikátu?​ ===== ===== Jak zobrazit obsah certifikátu?​ =====
  
Řádek 98: Řádek 84:
 </​code>​ </​code>​
  
-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+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:
  
 <​code>​ <​code>​
Řádek 113: Řádek 99:
  
  
-===== Jak zjistit jestli certifikát a privátní klíč patří k sobě? =====+===== Jak zjistitjestli certifikát a privátní klíč patří k sobě? =====
  
 Vypište si a porovnejte modulus certifikátu a privátního klíče: Vypište si a porovnejte modulus certifikátu a privátního klíče:
Řádek 122: Řádek 108:
 </​code>​ </​code>​
  
-===== Ověření certifikátu radius1.eduroam.cz =====+===== Ověření certifikátu radius1.eduroam.cz ​pro RadSec ​=====
  
-Ověření ​toho jakým certifikátem se prezentuje národní RADIUS se provede pomocí OpenSSL:+Ověřeníjakým certifikátem se prezentuje národní RADIUSse provede pomocí OpenSSL:
  
 <​code>​ <​code>​
Řádek 132: Řádek 118:
 {{:​cs:​spravce:​pripojovani:​ldap21-narodni.txt.gz|Příklad výstupu}}. ​ {{:​cs:​spravce:​pripojovani:​ldap21-narodni.txt.gz|Příklad výstupu}}. ​
  
-===== Ověření navázání spojení s radius1.eduroam.cz =====+===== Ověření navázání spojení s radius1.eduroam.cz ​pomocí RadSec ​===== 
 + 
 +Na Windows:
  
 <​code>​ <​code>​
-openssl s_client -connect radius1.eduroam.cz:​2083 -CAfile ​ +openssl s_client -connect radius1.eduroam.cz:​2083 -CAfile chain_CESNET_CA3.pem -cert vas_certifikat.pem -key klic_k_certifikatu.pem < nul
-/​etc/​freeradius/​3.0/​certs/​chain_CESNET_CA3.pem -cert vas_certifikat.pem ​ +
--key klic_k_certifikatu.pem < /dev/null+
 </​code>​ </​code>​
  
-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''​. ​+Na Linuxu: 
 + 
 +<​code>​ 
 +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 
 +</​code>​ 
 + 
 +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''​. ​
  
 {{:​cs:​spravce:​pripojovani:​spojeni-narodni.txt.gz|Příklad výstupu}}. {{:​cs:​spravce:​pripojovani:​spojeni-narodni.txt.gz|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:+Že národní RADIUS akceptuje certifikátpoznáte podle skutečnosti, ​že se spojení naváže. Zda dopadlo ověření certifikátů národního RADIUS serveru dobřepoznáte podle návratového kódu
 + 
 +Na Linuxu:
  
 <​code>​ <​code>​
 echo $? echo $?
 +</​code>​
 +
 +Na Windows:
 +
 +<​code>​
 +echo %errorlevel%
 </​code>​ </​code>​
  
 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''​. ​ 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''​. ​
 +
 +===== /​DC=org/​DC=edupki/​CN=eduPKI CA G 01 =====
 +
 +Pokud při pokusu o připojení na RadSec server na národním RADIUSu vidíte CA eduPKI CA G 01, pak Váš RADIUS s národním RADIUSem komunikuje ze špatné IP adresy (špatně nastavený NAT) a nebo je Váš RADIUS z nějakého důvodu deaktivován v CESNET CAAS.
 +
 +
 +
Poslední úprava:: 2024/01/22 09:48