cs:spravce:pripojovani:radius:freeradius3

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:radius:freeradius3 [2019/06/13 09:45]
jan.tomasek@cesnet.cz [Konfigurace EAP pro ověřování uživatelů]
cs:spravce:pripojovani:radius:freeradius3 [2020/04/15 14:30]
20a3f816ebd3b7263cc2920f019812238da5082d@einfra.cesnet.cz Doplněn odkaz na rad_eap_test
Řádek 6: Řádek 6:
  
 ===== Debian ===== ===== Debian =====
 +
 +==== Buster ====
 +
 +Buster obsahuje verzi 3.0.17, která trpí [[https://​www.eduroam.cz/​cs/​spravce/​pripojovani/​radius/​freeradius3#​buginbound_radiustls_connection_stalls|
 +chybou]], nicméně na základě [[https://​random.cesnet.cz/​mailman/​private/​eduroam-admin/​2019-July/​002654.html|experimetnů]] se zdá že v Debianu je tato chyba odstraněna.
  
 ==== Stretch ==== ==== Stretch ====
Řádek 11: Řádek 16:
 Stretch obsahuje verzi 3.0.12+dfsg-5+deb9u1 která je použitelná pro malé insituce typu střední školy, pokud zkrátí lifetime jak je popsáno v sekci o [[https://​www.eduroam.cz/​cs/​spravce/​pripojovani/​radius/​freeradius3#​bug%EF%BF%BCfail_to_read_multiple_packets_from_an_ssl_session|chybách FreeRADIUSu]]. Stretch obsahuje verzi 3.0.12+dfsg-5+deb9u1 která je použitelná pro malé insituce typu střední školy, pokud zkrátí lifetime jak je popsáno v sekci o [[https://​www.eduroam.cz/​cs/​spravce/​pripojovani/​radius/​freeradius3#​bug%EF%BF%BCfail_to_read_multiple_packets_from_an_ssl_session|chybách FreeRADIUSu]].
  
-==== Jessie ==== 
- 
-[[http://​freeradius.org|FreeRADIUS 3.x]] není součástí stré stabilní verze Debianu. 
- 
-=== CESNETem udržovaný repozitář === 
- 
-Pokud nechcete překládat vlastní balíčky, můžete použít CESNETem udržovaný repozitář. 
- 
-<​file>​ 
-deb https://​aaiwiki.cesnet.cz/​deb/​jessie ./ 
-</​file>​ 
- 
-=== Kompilace balíčků === 
- 
-Pokud si budete brát zdrojáky z GITu je třeba dát pozor na různé bugy, viz dvě sekce "​Bug:"​ na konci dokumentu. 
- 
-<​file>​ 
-mkdir -p /opt/src 
-cd /opt/src/ 
-wget ftp://​ftp.freeradius.org/​pub/​freeradius/​freeradius-server-3.0.12.tar.gz 
-tar xvzf freeradius-server-3.0.12.tar.gz ​ 
-</​file>​ 
- 
-== Příprava prostředí pro překlad == 
- 
-<​file>​ 
-apt-get install ssl-cert build-essential debhelper ​ quilt autotools-dev libpam0g-dev libmysqlclient-dev libgdbm-dev libldap2-dev libsasl2-dev libiodbc2-dev libkrb5-dev libperl-dev libpcap-dev python-dev libreadline-dev libsnmp-dev libpq-dev libssl-dev libtalloc-dev libyubikey-dev libsqlite3-dev 
-</​file>​ 
- 
-== Vygenerování balíčků == 
- 
-<​file>​ 
-cd freeradius-server-3.0.12 
-fakeroot dpkg-buildpackage -b -uc 
-</​file>​ 
- 
-Vygenerované balíčky najdete v adresáři /opt/src/: 
-<​file>​ 
-freeradius_3.0.12+git_amd64.deb 
-freeradius-common_3.0.12+git_all.deb 
-freeradius-dbg_3.0.12+git_amd64.deb 
-... 
-</​file>​ 
- 
-== Instalace potřebných balíčků == 
- 
-<​file>​ 
-dpkg -i freeradius_3.0.12+git_amd64.deb freeradius-common_3.0.12+git_all.deb freeradius-utils_3.0.12+git_amd64.deb libfreeradius3_3.0.12+git_amd64.deb freeradius-ldap_3.0.12+git_amd64.deb 
-</​file>​ 
  
 ===== CentOS 7 (RHEL 7) ===== ===== CentOS 7 (RHEL 7) =====
Řádek 68: Řádek 24:
 </​file>​ </​file>​
  
-Na rozdíl od níže uvedeného návodu, kde jsou konfigurační soubory v adresáři ''/​etc/​freeradius'',​ se konfigurační soubory nacházejí v adresáři ''/​etc/​raddb''​.+Na rozdíl od níže uvedeného návodu, kde jsou konfigurační soubory v adresáři ''/​etc/​freeradius/3.0'',​ se konfigurační soubory nacházejí v adresáři ''/​etc/​raddb''​.
  
 V RHEL 7 je FreeRADIUS 3.0.4, tento návod vznikl primárně na verzi 3.0.11. Ve verzi 3.0.5 došlo ke [[https://​github.com/​FreeRADIUS/​freeradius-server/​blob/​v3.0.x_state_tree/​raddb/​radiusd.conf.in#​L122|změně escapování regulárních výrazů]]. Pokud kopírujete z tohoto návodu tak budete muset tam kde je v regulárním výrazu "​\"​ dát "​\\"​. V RHEL 7 je FreeRADIUS 3.0.4, tento návod vznikl primárně na verzi 3.0.11. Ve verzi 3.0.5 došlo ke [[https://​github.com/​FreeRADIUS/​freeradius-server/​blob/​v3.0.x_state_tree/​raddb/​radiusd.conf.in#​L122|změně escapování regulárních výrazů]]. Pokud kopírujete z tohoto návodu tak budete muset tam kde je v regulárním výrazu "​\"​ dát "​\\"​.
Řádek 93: Řádek 49:
 ===== Hlavní konfigurační soubor ===== ===== Hlavní konfigurační soubor =====
  
-V souboru ''/​etc/​freeradius/​radiusd.conf''​ najděte následující dvě hodnoty a upravte je jak uvádíme:+V souboru ''/​etc/​freeradius/3.0/​radiusd.conf''​ najděte následující dvě hodnoty a upravte je jak uvádíme:
  
 <​file>​ <​file>​
Řádek 107: Řádek 63:
  
 ==== Konfigurace realmů ==== ==== Konfigurace realmů ====
-Směrování požadavků se konfiguruje v souboru ''/​etc/​freeradius/​proxy.conf''​. Nastavte tento soubor tak, aby požadavky s vaším realmem považoval za lokální požadavky a aby požadavky bez realmu zamítal. Dále nastavte že všechny požadavky budou směrovány na ''​tls''​ auth_pool který budeme konfigurovat později.+Směrování požadavků se konfiguruje v souboru ''/​etc/​freeradius/3.0/​proxy.conf''​. Nastavte tento soubor tak, aby požadavky s vaším realmem považoval za lokální požadavky a aby požadavky bez realmu zamítal. Dále nastavte že všechny požadavky budou směrovány na ''​tls''​ auth_pool který budeme konfigurovat později.
  
 <​file>​ <​file>​
Řádek 134: Řádek 90:
 Doporučená konfigurace předpokládá použití PEAP-MSCHAPv2. V dalším textu předpokládáme použití stejného certifikátu pro PEAP a pro RadSec (ten se konfiguruje níže), není to ale podmínkou. ​ Doporučená konfigurace předpokládá použití PEAP-MSCHAPv2. V dalším textu předpokládáme použití stejného certifikátu pro PEAP a pro RadSec (ten se konfiguruje níže), není to ale podmínkou. ​
  
-Privátní klíč a certifikát uložte do /​etc/​freeradius/​certs/​ a tajnému klíči nastavte vlastníka a skupinu na freerad s právy 0640 (aby nebyl čitelný pro běžné uživatele či programy v systému). Na systéch CetOS/RHEL použijte uživatele radiusd. V případě že certifikát RADIUS serveru vydala mezilehlá CA, která není běžně předinstalována je třeba ji přidat do souboru ''​radius.crt''​ za certifikát RADIUS serveru. To se týká např. TCS certfikátů poskytovaných CESNETem. ​+Privátní klíč a certifikát uložte do /​etc/​freeradius/3.0/certs/ a tajnému klíči nastavte vlastníka a skupinu na freerad s právy 0640 (aby nebyl čitelný pro běžné uživatele či programy v systému). Na systéch CetOS/RHEL použijte uživatele radiusd. V případě že certifikát RADIUS serveru vydala mezilehlá CA, která není běžně předinstalována je třeba ji přidat do souboru ''​radius.crt''​ za certifikát RADIUS serveru. To se týká např. TCS certfikátů poskytovaných CESNETem. ​
  
 <​file>​ <​file>​
Řádek 141: Řádek 97:
 </​file>​ </​file>​
  
-V souboru ''/​etc/​freeradius/​mods-available/​eap''​ nastavte vlastní soubory s certifikáty pro PEAP. Zakomentujte ''​ca_file''​ a ''​ca_path''​. Změnte defaultní EAP metodu z MD5 na PEAP, tím přestane FR nabízet MD5 jako první metodu a zabavíte se varování "​server is offering unsafe method MD5-Challenge"​ v monitoringu.+V souboru ''/​etc/​freeradius/3.0/​mods-available/​eap''​ nastavte vlastní soubory s certifikáty pro PEAP. Zakomentujte ''​ca_file''​ a ''​ca_path''​. Změnte defaultní EAP metodu z MD5 na PEAP, tím přestane FR nabízet MD5 jako první metodu a zabavíte se varování "​server is offering unsafe method MD5-Challenge"​ v monitoringu.
  
 +Dále nastavujeme maximální verzi TLS na 1.2, implemetace TLS 1.3 není pro EAP standartizovaná a v některé kombinace klient-server způsobí selhávání v ověřování.
 +
 +Zvažte vypnutí TLS < 1.2, předchozí verze protokolu mají známe bezpečnostní chyby.
  
 <​file>​ <​file>​
Řádek 159: Řádek 118:
     ...     ...
     #ca_path = ${cadir}     #ca_path = ${cadir}
 +    ​
 +    #​tls_min_version = "​1.2"​
 +    tls_max_version = "​1.2"​
   }   }
 } }
Řádek 165: Řádek 127:
 ==== Kontrola shody vnější a vnitřní EAP identity ==== ==== Kontrola shody vnější a vnitřní EAP identity ====
  
-Ačkoli konfigurace vlastního ověřování je popsána dále, podle použité uživatelské databazáze,​ tak kontrolu shody vnější a vnitřní EAP identity konfigurujeme shodně. V souboru ''/​etc/​freeradius/​sites-enabled/​inner-tunnel''​ odkomentujte řádek s ''​filter_inner_identity'':​+Ačkoli konfigurace vlastního ověřování je popsána dále, podle použité uživatelské databazáze,​ tak kontrolu shody vnější a vnitřní EAP identity konfigurujeme shodně. V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​inner-tunnel''​ odkomentujte řádek s ''​filter_inner_identity'':​
  
 <​file>​ <​file>​
Řádek 176: Řádek 138:
 </​file>​ </​file>​
  
-Následně v souboru ''/​etc/​freeradius/​policy.d/​filter''​ ve funkci ''​filter_inner_identity''​ upravte kontrolu anonymí identity. V defaultu freeRadius má uvedeno ''​if (&​outer.request:​User-Name !~ /​^(anon|@)/​)''​ to znamená že akceptuje uživatelská jména s prefixem anon a uživatelům to skýtá jistou volnost, např. anon1@realm.cz,​ anon2@realm.cz,​ ... a @realm.cz. To komplikuje ​ blokování v případě bezpečnostních incidentů. Umožněte pouze anonymous@realm.cz:​+Následně v souboru ''/​etc/​freeradius/3.0/​policy.d/​filter''​ ve funkci ''​filter_inner_identity''​ upravte kontrolu anonymí identity. V defaultu freeRadius má uvedeno ''​if (&​outer.request:​User-Name !~ /​^(anon|@)/​)''​ to znamená že akceptuje uživatelská jména s prefixem anon a uživatelům to skýtá jistou volnost, např. anon1@realm.cz,​ anon2@realm.cz,​ ... a @realm.cz. To komplikuje ​ blokování v případě bezpečnostních incidentů. Umožněte pouze anonymous@realm.cz:​
  
 <​file>​ <​file>​
Řádek 238: Řádek 200:
 ==== Zamítání chybných realmů ==== ==== Zamítání chybných realmů ====
  
-Často se objevují realmy myabc.com, 3gppnetwork.org,​ ... také se objevuje mezera za realmem (androidí klávesnice a doplňování). Uživatele kteří udělají takovou chybu není možné ověřit a je lepší je odfiltrovat co nejdříve. Stáhněte si soubor [[https://​github.com/​CESNET/​ansible-freeradius/​blob/​master/​files/​eduroam-realm-checks|eduroam-realm-checks]] do ''/​etc/​freeradius/​policy.d/''​ a potom v ''/​etc/​freeradius/​sites-enabled/​default'':​+Často se objevují realmy myabc.com, 3gppnetwork.org,​ ... také se objevuje mezera za realmem (androidí klávesnice a doplňování). Uživatele kteří udělají takovou chybu není možné ověřit a je lepší je odfiltrovat co nejdříve. Stáhněte si soubor [[https://​github.com/​CESNET/​ansible-freeradius/​blob/​master/​files/​eduroam-realm-checks|eduroam-realm-checks]] do ''/​etc/​freeradius/3.0/​policy.d/''​ a potom v ''/​etc/​freeradius/3.0/​sites-enabled/​default'':​
  
 <​file>​ <​file>​
Řádek 255: Řádek 217:
 ==== Definice AP klientů ==== ==== Definice AP klientů ====
  
-RADIUS server důvěřuje pouze klientům uvedeným v souboru ''/​etc/​freeradius/​clients.conf'',​ kteří znají sdílené heslo. Neopoužívejte krátké sdílené heslo, zajištuje integritu RADIUS požadavků mezi AP a RADIUS serverem. RADIUS protokol není šifrovaný. V případě použití Cisco WLC stačí povolit jen jednu IP adresu pro managment interface.+RADIUS server důvěřuje pouze klientům uvedeným v souboru ''/​etc/​freeradius/3.0/​clients.conf'',​ kteří znají sdílené heslo. Neopoužívejte krátké sdílené heslo, zajištuje integritu RADIUS požadavků mezi AP a RADIUS serverem. RADIUS protokol není šifrovaný. V případě použití Cisco WLC stačí povolit jen jednu IP adresu pro managment interface.
  
 <​file>​ <​file>​
Řádek 276: Řádek 238:
  
 ==== Konfigurace RadSecu ==== ==== Konfigurace RadSecu ====
-Samotný RADIUS protokol se nepovažuje za bezpečný, proto je komunikace mezi RADIUSy transportována RadSec protokolem (TLS tunelem). Všechny požadavky pro cizí realmy jsou pak přesměrovány do tohoto tunelu. Pro samotný tunel zde používáme ten samý certifikát jako pro PEAP protokol, jsou [[cs:​spravce:​pripojovani:​serverove_certifikaty|akceptovány certifikáty]] od různých ​CA.+Samotný RADIUS protokol se nepovažuje za bezpečný, proto je komunikace mezi RADIUSy transportována RadSec protokolem (TLS tunelem). Všechny požadavky pro cizí realmy jsou pak přesměrovány do tohoto tunelu. Pro samotný tunel zde používáme ten samý certifikát jako pro PEAP protokol, jsou [[cs:​spravce:​pripojovani:​serverove_certifikaty|akceptovány certifikáty]] od několika málo CA.
  
 RadSec tunel používá dvě TCP spojení: RadSec tunel používá dvě TCP spojení:
Řádek 286: Řádek 248:
 === Aktivace radsec protokolu ve FR3 === === Aktivace radsec protokolu ve FR3 ===
 <​file>​ <​file>​
-ln -s /​etc/​freeradius/​sites-available/​tls /​etc/​freeradius/​sites-enabled/​tls+ln -s /​etc/​freeradius/3.0/​sites-available/​tls /​etc/​freeradius/3.0/​sites-enabled/​tls
 </​file>​ </​file>​
  
-Upravte soubor ''/​etc/​freeradius/​sites-available/​tls''​ pro komunikaci mezi naším a národním RADIUS serverem. Pro obě výše zmíněná TCP spojení použijeme stejný certifikát,​ a proto bude certifikát v souboru zmíněn dvakrát. Poprvé v sekci ''​listen''​ (příchozí spojení od národního serveru) a podruhé v sekci ''​home_server tls''​. Na rozdíl od PEAP (zmíně výše) je zde potřeba pro ''​ca_file''​ uvést soubor [[https://​pki.cesnet.cz/​certs/​chain_CESNET_CA3.pem|chain_CESNET_CA3.pem]], který získáte na adrese [[https://​pki.cesnet.cz/​cs/​ch-cca-crt-crl.html|https://​pki.cesnet.cz/​]],​ protože obsahuje veřejné klíče, pomocí kterých bude náš server ověřovat certifikát protistrany (tj. národního RADIUS serveru), který je podepsán právě autoritou ​CESNET_CA3.+Upravte soubor ''/​etc/​freeradius/3.0/​sites-available/​tls''​ pro komunikaci mezi naším a národním RADIUS serverem. Pro obě výše zmíněná TCP spojení použijeme stejný certifikát,​ a proto bude certifikát v souboru zmíněn dvakrát. Poprvé v sekci ''​listen''​ (příchozí spojení od národního serveru) a podruhé v sekci ''​home_server tls''​. Na rozdíl od PEAP (zmíně výše) je zde potřeba pro ''​ca_file''​ uvést soubor [[https://​pki.cesnet.cz/​certs/​chain_CESNET_CA4.pem|chain_CESNET_CA4.pem]], který získáte na adrese [[https://​pki.cesnet.cz/​cs/​ch-cca-crt-crl.html|https://​pki.cesnet.cz/​]],​ protože obsahuje veřejné klíče, pomocí kterých bude náš server ověřovat certifikát protistrany (tj. národního RADIUS serveru), který je podepsán právě autoritou ​CESNET_CA4.
  
 Definice cerifikátů pro naslouchání na lokálním portu 2083: Definice cerifikátů pro naslouchání na lokálním portu 2083:
Řádek 295: Řádek 257:
 <​file>​ <​file>​
 listen { listen {
 +...
 +         # redukce casteho navazovani a ukoncovani spojeni z/na narodni RADIUS
 +         ​lifetime ​    = 0
 +         ​idle_timeout = 600
 ... ...
          tls {          tls {
                    ​private_key_file = <​soubor_klicem>​                    ​private_key_file = <​soubor_klicem>​
                    ​certificate_file = <​soubor_s_certifikatem>​                    ​certificate_file = <​soubor_s_certifikatem>​
-                   ​ca_file ​         = ${cadir}/chain_CESNET_CA3.pem+                   ​ca_file ​         = ${cadir}/chain_CESNET_CA4.pem
                    ...                    ...
          }          }
Řádek 309: Řádek 275:
 clients radsec {  ​ clients radsec {  ​
          ​client radius1.eduroam.cz {             ​client radius1.eduroam.cz {   
-                  ipaddr = 195.113.187.22  +                  ipaddr = 195.113.187.22 
-                  proto = tls             ​ +                  proto = tls 
-                  secret = radsec ​      +                  secret = radsec 
-         ​} ​                  ​+                   
 +                  # redukce casteho navazovani a ukoncovani spojeni z/na narodni RADIUS 
 +                  limit { 
 +                         ​max_connections = 16 
 +                         ​lifetime = 0 
 +                         ​idle_timeout = 600 
 +                  } 
 +         }
 ... ...
 } }
Řádek 337: Řádek 310:
                    ​private_key_file = <​soubor_klicem>​                    ​private_key_file = <​soubor_klicem>​
                    ​certificate_file = <​soubor_s_certifikatem>​                    ​certificate_file = <​soubor_s_certifikatem>​
-                   ​ca_file ​         = ${cadir}/chain_CESNET_CA3.pem+                   ​ca_file ​         = ${cadir}/chain_CESNET_CA4.pem
                    ...                    ...
          }          }
Řádek 359: Řádek 332:
 **RHEL**: Vyplněný [[https://​bugzilla.redhat.com/​show_bug.cgi?​id=1630684|bug 1630684]]. Je k dispozici balíček od Petra Vaníčka: 2e4897aabc0cce34f8ad5bda53f974149c08bc3d1ea6c9c8b05c9e59143a0878 [[http://​pva.utia.cas.cz/​freeradius-3.0.13tlspatch.tar.gz|freeradius-3.0.13tlspatch.tar.gz]] **RHEL**: Vyplněný [[https://​bugzilla.redhat.com/​show_bug.cgi?​id=1630684|bug 1630684]]. Je k dispozici balíček od Petra Vaníčka: 2e4897aabc0cce34f8ad5bda53f974149c08bc3d1ea6c9c8b05c9e59143a0878 [[http://​pva.utia.cas.cz/​freeradius-3.0.13tlspatch.tar.gz|freeradius-3.0.13tlspatch.tar.gz]]
  
-Diskuze v listu [[https://​random.cesnet.cz/​pipermail/​eduroam-admin/​2017-November/​001382.html|eduroam-admin]].+Diskuze v listu [[https://​random.cesnet.cz/​mailman/​private/​eduroam-admin/​2017-November/​001382.html|eduroam-admin]].
  
 === Bug: inbound RADIUS/TLS connection stalls ===  === Bug: inbound RADIUS/TLS connection stalls === 
Řádek 369: Řádek 342:
 (0) Application data status 4 (0) Application data status 4
 </​code>​ </​code>​
 +
 +Na základě [[https://​random.cesnet.cz/​mailman/​private/​eduroam-admin/​2019-July/​002654.html|experimetnů]] se zdá že Debian Buster má upravenou verzi, která tímto problémem netrpí.
 +
 ==== Přiřazení konkrétní VLAN návštěvníkům ==== ==== Přiřazení konkrétní VLAN návštěvníkům ====
  
Řádek 389: Řádek 365:
  
 Attribut ''​Operator-Name''​ slouží k indentifikaci SP odkud pochází požadavky na autentizaci uživatelů. V souboru ​ Attribut ''​Operator-Name''​ slouží k indentifikaci SP odkud pochází požadavky na autentizaci uživatelů. V souboru ​
-''/​etc/​freeradius/​sites-available/​default''​ odkomentujte volání funkce ''​operator-name'':​+''/​etc/​freeradius/3.0/​sites-available/​default''​ odkomentujte volání funkce ''​operator-name'':​
    
 <​file>​ <​file>​
Řádek 409: Řádek 385:
  
 <​file>​ <​file>​
-cd /​etc/​freeradius/​mods-enabled+cd /​etc/​freeradius/3.0/​mods-enabled
 ln -s ../​mods-available/​cui . ln -s ../​mods-available/​cui .
 </​file>​ </​file>​
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​inner-tunnel''​ aktivujte ''​cui-inner'':​+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​inner-tunnel''​ aktivujte ''​cui-inner'':​
  
 <​file>​ <​file>​
Řádek 421: Řádek 397:
 </​file>​ </​file>​
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​default''​ aktivujte ''​cui'':​+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ aktivujte ''​cui'':​
  
 <​file>​ <​file>​
Řádek 445: Řádek 421:
 </​file>​ </​file>​
  
-Pokud máte k dispozici více ruzných realmů (realm1.cz a realm2.cz), které sdílí uživatelské účty, je nutné, aby pro libovolné uživatelské jméno byla hodnota cui stejná pro včechny realmy. Docílíte toho následující konfigurací. V souboru ''/​etc/​freeradius/​policy.d/​cui''​ změňte definici proměnné ''&​Chargeable-User-Identity''​ v bloku ''​cui.post-auth'':​+Pokud máte k dispozici více ruzných realmů (realm1.cz a realm2.cz), které sdílí uživatelské účty, je nutné, aby pro libovolné uživatelské jméno byla hodnota cui stejná pro včechny realmy. Docílíte toho následující konfigurací. V souboru ''/​etc/​freeradius/3.0/​policy.d/​cui''​ změňte definici proměnné ''&​Chargeable-User-Identity''​ v bloku ''​cui.post-auth'':​
  
 <​file>​ <​file>​
Řádek 459: Řádek 435:
 ==== Normalizace MAC adres ====  ==== Normalizace MAC adres ==== 
  
-Formáty adres můžou být různé - pro zjednodušení můžeme využít normalizaci MAC adres na jediný formát, se kterým budeme následně adresy porovnávat. Přidáme definici normalizace (volání fce ''​rewrite_calling_station_id''​) do souboru ''/​etc/​freeradius/​sites-enabled/​default''​ do sekcí authorize a preacct:+Formáty adres můžou být různé - pro zjednodušení můžeme využít normalizaci MAC adres na jediný formát, se kterým budeme následně adresy porovnávat. Přidáme definici normalizace (volání fce ''​rewrite_calling_station_id''​) do souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ do sekcí authorize a preacct:
  
 <​file>​ <​file>​
Řádek 481: Řádek 457:
 ==== Konfigurace F-TICKS ====  ==== Konfigurace F-TICKS ==== 
  
-Vytvořte soubor ''/​etc/​freeradius/​mods-available/​f_ticks''​ s obsahem:+Vytvořte soubor ''/​etc/​freeradius/3.0/​mods-available/​f_ticks''​ s obsahem:
  
 <​file>​ <​file>​
Řádek 500: Řádek 476:
  
 <​file>​ <​file>​
- cd /​etc/​freeradius/​mods-enabled+ cd /​etc/​freeradius/3.0/​mods-enabled
  ln -s ../​mods-available/​f_ticks  ln -s ../​mods-available/​f_ticks
 </​file>​ </​file>​
  
-A začněte ho používat v ''/​etc/​freeradius/​sites-available/​default'',​ pokud budete chtít odfiltrovat monitoring tak volejte ''​reply_log''​ a ''​f_ticks''​ podmíněně,​ viz následující sekce.+A začněte ho používat v ''/​etc/​freeradius/3.0/​sites-available/​default'',​ pokud budete chtít odfiltrovat monitoring tak volejte ''​reply_log''​ a ''​f_ticks''​ podmíněně,​ viz následující sekce.
  
 <​file>​ <​file>​
Řádek 517: Řádek 493:
 ==== Vyloučení monitoringu z detailních logů ==== ==== Vyloučení monitoringu z detailních logů ====
  
-end2end monitoring prováděný nagiosem produkuje relativně dost logů, lze je odfiltrovat v souboru ''/​etc/​freeradius/​sites-available/​default''​. V sekcích authorize, authenticate,​ pre-proxy a post-proxy přidejte podmínku, která ermon odfiltruje na základě prefixu MAC adresy kterou používá. Tj. z explicitního logování se stane logování podmíněné v případě že se jedná o monitoring, např:+end2end monitoring prováděný nagiosem produkuje relativně dost logů, lze je odfiltrovat v souboru ''/​etc/​freeradius/3.0/​sites-available/​default''​. V sekcích authorize, authenticate,​ pre-proxy a post-proxy přidejte podmínku, která ermon odfiltruje na základě prefixu MAC adresy kterou používá. Tj. z explicitního logování se stane logování podmíněné v případě že se jedná o monitoring, např:
  
 <​file>​ <​file>​
Řádek 566: Řádek 542:
 ==== Lokální testovací účet pro monitoring eduroam ==== ==== Lokální testovací účet pro monitoring eduroam ====
  
-Přidejte klienta, ze kterého probíhá testování. Do souboru ''/​etc/​freeradius/​clients.conf''​ přidejte sekci:+Přidejte klienta, ze kterého probíhá testování. Do souboru ''/​etc/​freeradius/3.0/​clients.conf''​ přidejte sekci:
 <​file>​ <​file>​
 client ermon.cesnet.cz { client ermon.cesnet.cz {
Řádek 581: Řádek 557:
 Správce instituce získá ''​sdilene_heslo''​ po přihlášení do [[https://​caas2.cesnet.cz/​caas/​hradmin|CAAS:​hradmin]] vyhledáním svého RADIUS serveru (položka "Mon. RADIUS1 secret"​). Správce instituce získá ''​sdilene_heslo''​ po přihlášení do [[https://​caas2.cesnet.cz/​caas/​hradmin|CAAS:​hradmin]] vyhledáním svého RADIUS serveru (položka "Mon. RADIUS1 secret"​).
  
-V souboru ''/​etc/​freeradius/​users''​ vytvořte lokální testovací účet. U tohoto účtu nastavte atributy tak, aby síťový prvek (bezdrátový bod, přepínač) nasměroval klienta do VLAN 666. Ta by v české části eduroam neměla nikam vést, tudíž nejsou testovací účty zneužitelné pro běžné připojení:​+V souboru ''/​etc/​freeradius/3.0/​users''​ vytvořte lokální testovací účet. U tohoto účtu nastavte atributy tak, aby síťový prvek (bezdrátový bod, přepínač) nasměroval klienta do VLAN 666. Ta by v české části eduroam neměla nikam vést, tudíž nejsou testovací účty zneužitelné pro běžné připojení:​
 <​file>​ <​file>​
 <​test_ucet>​ Cleartext-Password := "​test_heslo"​ <​test_ucet>​ Cleartext-Password := "​test_heslo"​
Řádek 592: Řádek 568:
 Pokud nechcete uložit heslo v nešifrované podobě, tak nahraďte atribut ''​Cleartext-Password''​ atributem ''​NT-Password''​ a heslo zašifrujte příkazem ''​smbencrypt''​ (na Debianu je součástí freeradius-utils). Pokud nechcete uložit heslo v nešifrované podobě, tak nahraďte atribut ''​Cleartext-Password''​ atributem ''​NT-Password''​ a heslo zašifrujte příkazem ''​smbencrypt''​ (na Debianu je součástí freeradius-utils).
  
-V souvislosti s testovacími účty potřebujete zajistit filtrování VLAN atributů z cizích institucí tak, aby hosté ve vaší síti padali do vámi nastavené VLAN. Následující úprava souboru ''/​etc/​freeradius/​mods-config/​attr_filter/​post-proxy''​ zajistí, že atribut s VLAN 666 bude propuštěn a ostatní VLANy budou odfiltrovány. V sekci DEFAULT na konci souboru přidejte:+V souvislosti s testovacími účty potřebujete zajistit filtrování VLAN atributů z cizích institucí tak, aby hosté ve vaší síti padali do vámi nastavené VLAN. Následující úprava souboru ''/​etc/​freeradius/3.0/​mods-config/​attr_filter/​post-proxy''​ zajistí, že atribut s VLAN 666 bude propuštěn a ostatní VLANy budou odfiltrovány. V sekci DEFAULT na konci souboru přidejte:
 <​file>​ <​file>​
         Tunnel-Type == VLAN,         Tunnel-Type == VLAN,
Řádek 609: Řádek 585:
 radtest <​test_ucet>​@domaci-realm.cz test_heslo 127.0.0.1 1812 testing123 radtest <​test_ucet>​@domaci-realm.cz test_heslo 127.0.0.1 1812 testing123
 </​file>​ </​file>​
 +
 +Tento test zkouší pouze PAP, základní ověření funkce RADIUSu. Kompletní test lze provést pomocí [[https://​www.eduroam.cz/​cs/​spravce/​rad_eap_test|rad_eap_test]].
  
 ===== Blokování uživatelů ===== ===== Blokování uživatelů =====
Řádek 616: Řádek 594:
 ==== Blokování podle uživatelského jména ==== ==== Blokování podle uživatelského jména ====
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující uživatele. Definice adres musí být umísťena **před** volání modulu eap!+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující uživatele. Definice adres musí být umísťena **před** volání modulu eap!
  
 <​file>​ <​file>​
Řádek 633: Řádek 611:
 ==== Blokování celého realmu ==== ==== Blokování celého realmu ====
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující uživatele konkrétního realmu. Definice adres musí být umísťena **před** volání modulu eap!+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující uživatele konkrétního realmu. Definice adres musí být umísťena **před** volání modulu eap!
  
 <​file>​ <​file>​
Řádek 651: Řádek 629:
 ==== Blokování podle MAC adresy ==== ==== Blokování podle MAC adresy ====
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující adresu(y). Definice adres musí být umísťena **před** volání modulu eap! Můžeme blokovat jednu nebo více konkrétních adres, lze využít i regulární výrazy:+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ přidáme do sekce authorize podmínku blokující adresu(y). Definice adres musí být umísťena **před** volání modulu eap! Můžeme blokovat jednu nebo více konkrétních adres, lze využít i regulární výrazy:
  
 <​file>​ <​file>​
Řádek 674: Řádek 652:
 ==== Blokování podle Chargeable-User-Identity ====  ==== Blokování podle Chargeable-User-Identity ==== 
  
-V souboru ''/​etc/​freeradius/​sites-enabled/​default''​ přidáme do sekce post-proxy podmínku blokující identitu(y). ​+V souboru ''/​etc/​freeradius/3.0/​sites-enabled/​default''​ přidáme do sekce post-proxy podmínku blokující identitu(y). ​
  
 <​file>​ <​file>​
Poslední úprava:: 2024/02/16 08:58