Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:spravce:pripojovani:radius:freeradius_playbook [2017/11/08 14:23] machv@cesnet.cz |
cs:spravce:pripojovani:radius:freeradius_playbook [2024/02/28 15:41] Jan Čáslavský |
||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Instalace FreeRADIUSu 3 pro eduroam pomocí Ansible ====== | ====== Instalace FreeRADIUSu 3 pro eduroam pomocí Ansible ====== | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | Tento návod není udržovaný. | ||
+ | </WRAP> | ||
+ | |||
Pro snažší instalaci můžete využít tento návod a instalaci pomocí nástroje Ansible. **Tato metoda je určena pouze pro zkušené uživatele.** Pokud nemáte dostatečné zkušenosti, s tímto postupem pravděpodobně strávíte mnohem více času než s manuální instalací! V případě, že nemáte dostatečné zkušenosti, využijte prosím návod pro manuální instalaci [[cs:spravce:pripojovani:radius:freeradius3|zde]]. | Pro snažší instalaci můžete využít tento návod a instalaci pomocí nástroje Ansible. **Tato metoda je určena pouze pro zkušené uživatele.** Pokud nemáte dostatečné zkušenosti, s tímto postupem pravděpodobně strávíte mnohem více času než s manuální instalací! V případě, že nemáte dostatečné zkušenosti, využijte prosím návod pro manuální instalaci [[cs:spravce:pripojovani:radius:freeradius3|zde]]. | ||
Řádek 33: | Řádek 38: | ||
cp roles/freeradius/examples/ansible.cfg . | cp roles/freeradius/examples/ansible.cfg . | ||
cp roles/freeradius/examples/chain_TERENA_SSL_CA_3.pem files/certs/ | cp roles/freeradius/examples/chain_TERENA_SSL_CA_3.pem files/certs/ | ||
- | cp roles/freeradius/examples/chain_CESNET_CA3.pem files/certs/ | + | cp roles/freeradius/examples/chain_CESNET_CA4.pem files/certs/ |
read -p 'zadejte plne kvalifikovane jmeno (FQDN) vaseho RADIUS serveru: ' radius | read -p 'zadejte plne kvalifikovane jmeno (FQDN) vaseho RADIUS serveru: ' radius | ||
</file> | </file> | ||
Řádek 44: | Řádek 49: | ||
</file> | </file> | ||
- | V CESNET [[https://caas.cesnet.cz/caas|CAAS]] si dohledejte sdílené heslo pro monitoring. Dále vložte do terminálu následující příkazy: | + | V [[https://admin.eduroam.cz/|administrativní aplikaci]] si dohledejte sdílené heslo pro monitoring. Dále vložte do terminálu následující příkazy: |
<file> | <file> | ||
read -p 'zadejte sdilene heslo pro monitoring: ' ermon | read -p 'zadejte sdilene heslo pro monitoring: ' ermon | ||
Řádek 68: | Řádek 73: | ||
Dále pokračujte na stránku, která vás provede zbytkem návodu. Stránku si vyberte podle role, která je pro vás adekvátní: | Dále pokračujte na stránku, která vás provede zbytkem návodu. Stránku si vyberte podle role, která je pro vás adekvátní: | ||
- | * Role IdP + SP Tuto roli použijte v případě, že máte vlastní správu uživatelů. | + | * [[cs:spravce:pripojovani:radius:freeradius_playbook_idpsp|Role IdP + SP]] Tuto roli použijte v případě, že máte vlastní správu uživatelů. |
- | * Role IdP + SP Tuto roli použijte v případě, že **NEmáte** vlastní správu uživatelů. | + | * [[cs:spravce:pripojovani:radius:freeradius_playbook_sp|Role SP]] Tuto roli použijte v případě, že **NEmáte** vlastní správu uživatelů. |
- | * Role proxy Tuto roli použijte v případě, že pouze připojujete další serveru do eduroam infrastruktury. | + | * [[cs:spravce:pripojovani:radius:freeradius_playbook_proxy|Role proxy]] Tuto roli použijte v případě, že pouze připojujete další servery do eduroam infrastruktury. |
- | + | ||
- | + | ||
- | + | ||
- | ===== Role IdP + SP ===== | + | |
- | + | ||
- | Tato role představuje realm v tom smyslu, že: | + | |
- | * ověřuje vlastní uživatele (IdP - Identity provider) | + | |
- | * poskytuje službu (SP - Service provider) | + | |
- | + | ||
- | Tuto roli použijte v případě, že máte vlastní správu uživatelů. | + | |
- | + | ||
- | Vložte do terminálu následující příkazy: | + | |
- | <file> | + | |
- | read -p 'zadejte heslo pro ldap: ' ldap | + | |
- | read -p 'zadejte heslo k privatnimu klici pro eap: ' eap | + | |
- | </file> | + | |
- | + | ||
- | Dále vložte do terminálu následující příkazy: | + | |
- | <file> | + | |
- | echo " ermon_secret: $ermon" >> group_vars/idp_vault.yml | + | |
- | echo " ldap_passwd: $ldap" >> group_vars/idp_vault.yml | + | |
- | echo " radsec_key_password: $radsec" >> group_vars/idp_vault.yml | + | |
- | echo " eap_key_password: $eap" >> group_vars/idp_vault.yml | + | |
- | cp roles/freeradius/examples/semik-dev.cesnet.cz-IdPSP.yml host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Pokud používáte pro RadSec i EAP stejný certifikát, vložte následující příkazy: | + | |
- | <file> | + | |
- | sed -i "/semik2-dev.cesnet.cz/d" host_vars/$radius.yml | + | |
- | sed -i "s/semik-dev.cesnet.cz/$radius/" host_vars/$radius.yml | + | |
- | sed -i "s/semik_dev_cesnet_cz/$radius_/" host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Pokud používáte pro RadSec a EAP **jiný** certifikát, vložte následující příkazy: | + | |
- | <file> | + | |
- | sed -i "/semik2-dev.cesnet.cz/d" host_vars/$radius.yml | + | |
- | sed -i ':a;$!{N;ba};s/certificate: files\/certs\/semik-dev.cesnet.cz.crt/certificate: files\/certs\/'"${radius}_eap.crt"'/2' host_vars/$radius.yml | + | |
- | sed -i ':a;$!{N;ba};s/certificate: files\/certs\/semik-dev.cesnet.cz.key/certificate: files\/certs\/'"${radius}_eap.key"'/2' host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | ==== Úprava LDAPu ==== | + | |
- | + | ||
- | Definici vašeho LDAP serveru musíte uvést do souboru ''host_vars/$radius.yml''. Otevřete soubor v textovém editoru a upravte hodnotu hodnotu klíče ''URL''. | + | |
- | + | ||
- | Pokud chcete použít zabezpečené spojení, taktéž musíte adekvátně specifikovat hodnotu klíče ''CAChain''. | + | |
- | + | ||
- | Konkrétní DN, kam se bude hlásit daný uživatel použitý pro ověřování požadavků specifikujte v klíči ''bindDN''. | + | |
- | + | ||
- | Část stromu, ve které jsou umístěni uživatelé a bude v ní probíhat vyhledávání specifikujte v klíči ''peopleDN''. | + | |
- | + | ||
- | LDAP Atribut, ve kterém je uvedeno uživatelské heslo pro eduroam specifikujte v klíči ''eduroamPassword'' | + | |
- | + | ||
- | TODO - peopleSubSearch: - neni v playbooku pouzito | + | |
- | TODO - uid: - neni v playbooku pouzito | + | |
- | ==== Více realmů ==== | + | |
- | + | ||
- | TODO | + | |
- | + | ||
- | ==== Definice AP ==== | + | |
- | + | ||
- | Dále je třeba doplnit konfiguraci přístupových bodů. V textovém editoru otevřete soubor ''host_vars/$radius.yml''. Lze to například pomocí příkazu: | + | |
- | <file> | + | |
- | vim host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Upravte sekci ''NAS:''. Pro každý přístupový bod musí být uvedena IP adresa, sdílené tajemství a krátké jméno. Můžete uvést libovolný počet přístupových bodů. Pro ermon není třeba vytvářet záznam, ten je již předdefinován ve výsledné konfiguraci. | + | |
- | + | ||
- | + | ||
- | ===== Role SP ===== | + | |
- | + | ||
- | Tato role představuje realm v tom smyslu, že pouze poskytuje službu (SP - Service provider). | + | |
- | + | ||
- | Tuto roli použijte v případě, že **NEmáte** vlastní správu uživatelů. | + | |
- | + | ||
- | Provedeme další úpravy repozitáře. Následující příkazy vložte do terminálu: | + | |
- | <file> | + | |
- | cp roles/freeradius/examples/semik-dev.cesnet.cz-SP.yml host_vars/$radius.yml | + | |
- | sed -i "s/semik-dev.cesnet.cz/$radius/" host_vars/$radius.yml | + | |
- | sed -i "s/semik_dev_cesnet_cz/$radius_/" host_vars/$radius.yml | + | |
- | echo " ermon_secret: $ermon" >> group_vars/idp_vault.yml | + | |
- | echo " radsec_key_password: $radsec" >> group_vars/idp_vault.yml | + | |
- | </file> | + | |
- | + | ||
- | ==== Definice AP ==== | + | |
- | + | ||
- | Dále je třeba doplnit konfiguraci přístupových bodů. V textovém editoru otevřete soubor ''host_vars/$radius.yml''. Lze to například pomocí příkazu: | + | |
- | <file> | + | |
- | vim host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Upravte sekci ''NAS:''. Pro každý přístupový bod musí být uvedena IP adresa, sdílené tajemství a krátké jméno. Můžete uvést libovolný počet přístupových bodů. Pro ermon není třeba vytvářet záznam, ten je již předdefinován ve výsledné konfiguraci. | + | |
- | + | ||
- | ===== Role proxy ===== | + | |
- | + | ||
- | Tato role představuje realm v tom smyslu, že pouze zprostředkovává připojení dalších serverů do celé infrastruktury. | + | |
- | + | ||
- | Vložte do terminálu následující příkazy: | + | |
- | <file> | + | |
- | cp roles/freeradius/examples/semik-dev.cesnet.cz-SP.yml host_vars/$radius.yml | + | |
- | sed -i "s/semik-dev.cesnet.cz/$radius/" host_vars/$radius.yml | + | |
- | sed -i "s/semik_dev_cesnet_cz/$radius_/" host_vars/$radius.yml | + | |
- | echo " ermon_secret: $ermon" >> group_vars/idp_vault.yml | + | |
- | echo " radsec_key_password: $radsec" >> group_vars/idp_vault.yml | + | |
- | </file> | + | |
- | + | ||
- | ==== Definice podřízených RADIUS serverů ==== | + | |
- | + | ||
- | Dále je třeba doplnit konfiguraci podřízených RADIUS serverů. V textovém editoru otevřete soubor ''host_vars/$radius.yml''. Lze to například pomocí příkazu: | + | |
- | <file> | + | |
- | vim host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Upravte sekci ''downRADIUS::''. Pro každý RADIUS server musí být uvedeno hostname, IP adresa a sdílené tajemství. | + | |
- | + | ||
- | ==== Definice AP ==== | + | |
- | + | ||
- | Dále je třeba doplnit konfiguraci přístupových bodů. V textovém editoru otevřete soubor ''host_vars/$radius.yml''. Lze to například pomocí příkazu: | + | |
- | <file> | + | |
- | vim host_vars/$radius.yml | + | |
- | </file> | + | |
- | + | ||
- | Upravte sekci ''NAS:''. Pro každý přístupový bod musí být uvedena IP adresa, sdílené tajemství a krátké jméno. Můžete uvést libovolný počet přístupových bodů. Pro ermon není třeba vytvářet záznam, ten je již předdefinován ve výsledné konfiguraci. | + | |
- | + | ||
- | + | ||
- | ===== Ansible vault ===== | + | |
- | + | ||
- | Ansible vault slouží k šifrování uchovaných informací. Hesla k privátním klíčům by se vám rozhodně neměly válet na disku v nešifrované podobě. | + | |
- | + | ||
- | Pro zašifrování důvěrných informací použijte příkaz: | + | |
- | <file> | + | |
- | ansible-vault encrypt group_vars/idp_vault.yml | + | |
- | </file> | + | |
- | + | ||
- | **Použité heslo nesmíte zapomenout!** Heslo si můžete uložit pro pozdější použití do souboru (To však značně oslabuje bezpečnost). Korektní správu hesla pro vault ponecháváme na správci. | + | |
- | + | ||
- | ===== Spuštění ===== | + | |
- | + | ||
- | Vložte do terminálu následující příkazy: | + | |
- | <file> | + | |
- | ansible-playbook -i inventory.conf --ask-vault-pass playbook-freeradius.yml | + | |
- | </file> | + | |
- | + | ||
- | Alternativně můžete použít, pokud máte heslo k vaultu uložené v souboru: | + | |
- | <file> | + | |
- | ansible-playbook -i inventory.conf --vault-password-file ~/heslo_k_vaultu.txt playbook-freeradius.yml | + | |
- | </file> | + | |
- | V případě, že všechno proběhlo hladce, měli byste mít správně nakonfigurován váš RADIUS server. |