Skip to content

Ansible role to install FreeRADIUS v3 for eduroam.cz

Notifications You must be signed in to change notification settings

CESNET/ansible-freeradius

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ansible-freeradius

Ansible role pro instalaci FreeRADIUSu v roli IdP & SP, SP only anebo proxy pro eduroam.cz. Předpokladem úspěšného použítí je solidní znalost administrace Linuxu a alespoň základní znalost automatizované správy pomocí ansible.com.

Role podporuje RadSec, Operator-Name, Chargeable-User-Identity, vynucení shody vnitřní a vnější identity. Dále umožní neEAP ověření pouze lokálním realmům (pro captive portály, pokud je fakt musíte používat).

Předpokládám, že si roli ansible-freeradius vložíte do vlastního projektu. Pro jednoúčelové otestování stačí postupovat podle následujícího návodu. Vytvořte si libovolný adresář a proveďte:

git clone https://github.com/CESNET/ansible-freeradius.git roles/freeradius
mkdir -p host_vars group_vars files/certs
cp roles/freeradius/examples/playbook-freeradius.yml .
cp roles/freeradius/examples/inventory.conf .
cp roles/freeradius/examples/ansible.cfg .
cp roles/freeradius/examples/chain_TERENA_SSL_CA_3.pem files/certs/
cp roles/freeradius/examples/chain_CESNET_CA4.pem files/certs/

Musíte upravit soubor inventory.conf, aby se odkazoval na váš server. Musíte vyvořit soubor host_vars/vas-radius.realm.cz.yml, jako vzor použijte soboury vysvětlivky k obsahu:

Důvěrné informace o konfiguraci serveru jsou šifrovány ve vaultu, např.:

ldap:
  eduroam:
    bindPass: "{{ semik_dev_cesnet_cz.ldap_passwd }}"

Vytvořte si group_vars/idp_vault.yml s následujícím obsahem, jen změňte první řádek na svůj hostname (tečky a případné pomlčky musíte nahradit podtržítky, tzn. semik-dev.cesnet.cz bude semik_dev_cesnet_cz):

semik_dev_cesnet_cz:
  ermon_secret: sdílené heslo k ermon.cesnet.cz
  ldap_passwd: heslo k LDAP uctu
  radsec_key_password: heslo k privatnimu klici pro radsec
  eap_key_password: heslo k privatnimu klici pro eap

Konfigurační informace jsou rozděleny do dvou souborů, aby bylo možné oddělit důvěrné informace, které stojí za šifrování pomocí ansible-vault, a ty celkem veřejné. Navíc předpokládám, že v šifrovaném souboru group_vars/idp_vault.yml jsou sdíleny důvěrné informace dalších serverů a případně jiných rolí.

Certifikáty

V případě použití PKCS#12 formátu role předpokládá, že RADIUS server používá pro spojení s národním RADIUS serverem ten samý certifikát jako pro (volitelnou) roli IdP. Tento požadavek vychází ze sdílení části kódu s playbookem pro Shibboleth IdP (eduID.cz), kde je to vhodné a navíc takto šifrovaný certifikát lze uložit do veřejného GITu bez obavy ze zneužití. Soubor musí být umístěn v files/semik-dev.cesnet.cz.p12, resp. adekvátně pojmenovaném souboru.

FreeRADIUS používá PEM formát pro certifikáty, v takovém případě je očekává v files/certs/hostname.{crt,key}, lze použít různé certifikáty pro RadSec a EAP, což bude asi častý případ.

Role dále pracuje s certifikáty pro ověření důvěry LDAP serveru. Ty jsou odkazovány v host_vars/semik-dev.cesnet.cz.yml v proměné ldap.CAChain.

Pracuje také s certifikám pro ověření nadřazeného RADIUS serveru. Ten je odkazován v eduroam.topRADIUS.CAChain. Role počítá s tím, že nadřazeným RADIUSem není radius1.eduroam.cz, ale obecný nadřazený RADIUS.

Spuštění

export ANSIBLE_INVENTORY=./inventory.conf
ansible-playbook playbook-freeradius.yml 

About

Ansible role to install FreeRADIUS v3 for eduroam.cz

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages