cs:spravce:pripojovani:radius:freeradius

Rozdíly

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

Odkaz na výstup diff

Následující verze
Předchozí verze
cs:spravce:pripojovani:radius:freeradius [2009/12/02 10:28]
127.0.0.1 upraveno mimo DokuWiki
— (aktuální)
Řádek 1: Řádek 1:
-<box 50% red> 
  
-Pro nové instalace používejte výhradně [[cs:​spravce:​pripojovani:​radius:​freeradius2|freeRADIUS 2]]. 
- 
-</​box>​ 
- 
-<box 50% orange> 
- 
-Pro korektní podporu uživatelů s MS Windows Vista je nutné provozovat freeRadius o verzi minimálně 1.1.4. 
- 
-</​box>​ 
- 
-<box 50% orange> 
-Tento dokument je nekompletní,​ pokud byste chtěli pomoci, tak pomoc je 
-[[:​cs:​kontakty#​Ing. Jan Tomášek| vítána]]. 
- 
-Prozatím je k dispozici {{:​cs:​spravce:​pripojovani:​radius:​freeradius:​freeradius-2005.02.27.tgz|konfigurace}} z FEL ČVUT z 27. února 2005.  
-</​box>​ 
- 
-====== Konfigurace FreeRadiusu pro připojení k eduroamu ====== 
- 
-K pochopení obsahu tohoto dukumentu byste měli vědět, [[spravce:​uvod|jak roaming funguje]], a také byste měli  
-mít základní představu o [[spravce:​RADIUS protokol|RADIUS protokolu]]. 
- 
-===== Získání software ===== 
- 
-[[http://​www.freeradius.org/​|FreeRadius]] je k dispozici zdarma jako Open Source software. Je určen primárně pro UNIXové systémy, ale na stránce [[http://​www.freeradius.net/​|www.freeradius.net]] jsou k dispozici i binárky pro MS Windows. V tomto návodu se budu zabývat Linuxovou verzí. 
- 
-Je dost pravděpodobné,​ že pro Vaši distribuci jsou připraveny předkompilované balíčky, před jejich použitím si ale zkontrolujte,​ zda máte k dispozici knihovnu rlm_eap_tls.so,​ ta je k nezbytná pro ověřování klientů pomocí 802.1x. Např. v unstable Debian v balíku verze 1.1.2-2 tuto knihovnu nemají. 
- 
- 
-===== Konfigurace ===== 
- 
-Konfiguraci FreeRadiusu komplikuje architektura tohoto produktu (např. authorizace se řeší před autentizací),​ velké množství konfiguračních souborů je nepřehledné díky velkému množství komentářů,​ které často nahrazují dokumentaci. Konfigurační soubory najdeme v adresáři **/​etc/​raddb** nebo **/​etc/​freeradius**. 
- 
-Smažte zbytečné soubory: **naslist**,​ **realms** 
- 
- 
- 
- 
- 
-==== proxy.conf ===== 
- 
-Teto soubor definuje, jak se FreeRadius bude chovat k 
-jednotlivým realmům. Nejprve jsou nastaveny parametry 
-samotného proxy serveru. 
- 
-<​xterm>​ 
-proxy server { 
- synchronous = no 
- retry_delay = 5 
- retry_count = 2 
- dead_time ​ = 0 
- default_fallback = yes 
- post_proxy_authorize = no 
-} 
-</​xterm>​ 
- 
-Někteří uživatelé se přihlašují jen pomocí uživatelského jména bez realmu. To jim sice "​doma"​ může fungovat, ale pokud by chtěli využít roamingu, budou muset měnit konfiguraci svého počítače,​ na což pravděpodobně nebudou připraveni. Proto důrazně doporučuji uživatelům znemožnit přihlašování bez realmu. K odchycení Access-Requestů bez realmu slouží definice ''​realm NULL { ... }''​. Dotazy bez realmu se potom zakáží v souboru ''​users''​. 
- 
-<​xterm>​ 
-realm NULL { 
- } 
-</​xterm>​ 
- 
-Následuje definice lokálních (domácích realmů). Nahraďte ''​example.com''​ Vaším realmem. V případě, že Váš server má obsluhovat několik realmů, tak tuto sekci několikrát zopakujte. 
- 
-<​xterm>​ 
-realm **example.com** { 
- type = radius 
- authhost = LOCAL 
- accthost = LOCAL 
-} 
-</​xterm>​ 
- 
-Definice ''​realm DEFAULT { ... }''​ zajištují předání Access-Request paketů návštěvníků na národní RADIUS servery. Nahraďte **xxx** u parametru ''​secret''​ hodnotami, které Vám byly přiděleny. 
- 
-<​xterm>​ 
-realm DEFAULT { 
-        type            = radius 
-        authhost ​       = radius1.eduroam.cz:​1812 
-        accthost ​       = radius1.eduroam.cz:​1813 
-        secret ​         = **xxx** 
-        nostrip 
-} 
-</​xterm>​ 
- 
-==== clients.conf ===== 
-V tomto souboru definujete klienty, kteří se mohou k Vašemu RADIUSu připojit. ​ 
- 
-<​xterm>​ 
-client **ap1.example.com** { 
- secret ​         = **secret4ap1** 
- shortname ​      = **ap1** 
-} 
-. 
-. 
-client **apN.example.com** { 
- secret ​         = **secret4apN** 
- shortname ​      = **apN** 
-} 
-</​xterm>​ 
- 
-V okamžiku, kdy Vaši uživatelé využijí roamingu, stanou se klienty NREN RADIUS serverů. 
- 
-<​xterm>​ 
-client radius1.eduroam.cz { 
- secret = **xxx** 
- shortname = radius1edu 
-} 
-</​xterm>​ 
- 
-Dalším speciálním klientem je monitoring. 
- 
-<​xterm>​ 
-client ermon.cesnet.cz { 
- secret = **xxx** 
- shortname = ermon 
-} 
-</​xterm>​ 
- 
-====users==== 
-Tento soubor definuje staticky konfigurované uživatele. Dále např. specifikuje jak zacházet s jednotlivými realmy. Obecně mění hodnoty jednotlivých atributů na základě vstupních hodnot jiných atributů, nebo svých vlastních. 
-Nejprve odmítneme uživatelé bez realmu. 
-<​xterm>​ 
-DEFAULT Realm == NULL, Auth-Type := Reject 
-</​xterm> ​ 
- 
-Tohle by mělo zabezpečit,​ aby se v účtování objevilo skutečné uživatelské jméno, a ne třeba anonymous@myabc.com 
-<​xterm>​ 
-DEFAULT ​ Freeradius-Proxied-To == 127.0.0.1 
-   ​User-Name = `%{User-Name}`,​ 
-   ​Fall-Through = Yes 
-</​xterm> ​ 
- 
-Nyní definujeme staticky konfigurované uživatele. Můžou to být testovací uživatelé,​ nebo třeba speciální konta pro jednorázové akce, např. konference. 
-<​xterm>​ 
-user1     ​User-Password == "​password1"​ 
-user2     ​User-Password == "​password2"​ 
-</​xterm>​ 
- 
-Testovací účet je směrován do neexistující VLAN, aby se dal ověřit bez možnosti dostat se do sítě. Pokud by měl být konfigurován staticky, vyměníme 
-''​Auth-Type = Local''​ za ''​User-Password == "​password"''​. Obecně by ale měl testovací učet používat stejný typ autentizace jako reálné účty uživatelů,​ 
-aby se otestovaly všechny články AA řetězce. 
-<​xterm>​ 
-eduroam-test ​   Auth-Type = Local 
-                Tunnel-Type = VLAN, 
-                Tunnel-Private-Group-ID = 666, 
-                Tunnel-Medium-Type = IEEE-802, 
-                Fall-Through = Yes 
-</​xterm>​ 
- 
-Uživatelé,​ kteří prošli předchozímy filtry, pokračují do dalšího zpracování 
-<​xterm>​ 
-DEFAULT Auth-Type = Local 
-        Fall-Through = 1 
-</​xterm>​ 
- 
-====attrs==== 
-Tento soubor definuje zpracování paketů vrátivších přes proxy z cizích organizací. Do paketu posílaného zpět přístupovému bodu projdou pouze atributy vyjmenované v tomto souboru, popřípadě atributy s určitou hodnotou. Některé cizí organizace přidávají do Access-Accept paketu svého uživatele, který se chce připojit do naší sítě, atribut Tunnel-Private-Group-Id s hodnotou např. 200. Ten určuje, do které VLAN 
-se má uživatel dostat v domácí síti. My ale máme pouze VLAN 100, proto povolujeme jen tuto hodnotu a dále 666 pro testovací uživatele. Atribut s jinou hodnotou se "​zahodí"​ a AP potom uživateli přiřadí implicitní VLAN.  
-<​xterm>​ 
-DEFAULT 
-        User-Name =* ANY, 
-        Called-Station-Id =* ANY, 
-        Calling-Station-Id =* ANY, 
-        Message-Authenticator =* ANY, 
-        EAP-Message =* ANY, 
-        NAS-Port-Type =* ANY, 
-        NAS-Port =* ANY, 
-        Service-Type =* ANY, 
-        NAS-IP-Address =* ANY, 
-        NAS-Identifier =* ANY, 
-        Proxy-State =* ANY, 
-        Framed-MTU >= 576, 
-        Framed-Filter-ID =* ANY, 
-        Reply-Message =* ANY, 
-        Proxy-State =* ANY, 
-        Session-Timeout <= 28800, 
-        Idle-Timeout <= 600, 
-        Port-Limit <= 2, 
-        Tunnel-Type == VLAN, 
-        Tunnel-Private-Group-Id == 100, 
-        Tunnel-Private-Group-Id == 666, 
-        Tunnel-Medium-Type == IEEE-802, 
-        MS-MPPE-Send-Key =* ANY, 
-        MS-MPPE-Recv-Key =* ANY, 
-        cisco-avpair =* ANY, 
-        WISPr-Location-ID =* ANY, 
-        Cisco-NAS-Port =* ANY, 
-        State =* ANY 
-</​xterm>​ 
- 
-====radiusd.conf==== 
-Jedná se o hlavní konfigurační soubor. 
- 
-Konfigurace jednotlivých modulů 
-<​xterm>​ 
-modules { 
-        # PAP module to authenticate users based on their stored password 
-        pap { 
-                encryption_scheme = crypt 
-        } 
- 
-        #  Extensible Authentication Protocol 
-        $INCLUDE ${confdir}/​eap.conf 
- 
-        # Microsoft CHAP authentication 
-        mschap { 
-                authtype = MS-CHAP 
-        } 
-        # Lightweight Directory Access Protocol (LDAP) 
-        ldap { 
-                server = "​ldapserver.feld.cvut.cz"​ 
-                port = 636 
-                identity = "​uid=radius,​ou=Special Users,​o=feld.cvut.cz"​ 
-                password = ***************** 
-                basedn = "​ou=People,​o=feld.cvut.cz"​ 
-                filter = "​(uid=%{Stripped-User-Name:​-%{User-Name}})"​ 
-                start_tls = no 
-                dictionary_mapping = ${raddbdir}/​ldap.attrmap 
- 
-                ldap_connections_number = 5 
-                password_attribute = mobilitypassword 
-                timeout = 8 
-                timelimit = 3 
-                net_timeout = 1 
-        } 
- 
-        realm suffix { 
-                format = suffix 
-                delimiter = "​@"​ 
-                ignore_default = no 
-                ignore_null = no 
-        } 
- 
-        preprocess { 
-                huntgroups = ${confdir}/​huntgroups 
-                hints = ${confdir}/​hints 
-                with_ascend_hack = no 
-                ascend_channels_per_line = 23 
-                with_ntdomain_hack = yes 
-                with_specialix_jetstream_hack = no 
-                with_cisco_vsa_hack = no 
-        } 
- 
-        files { 
-                usersfile = ${confdir}/​users 
-                acctusersfile = ${confdir}/​acct_users 
-                compat = no 
-        } 
- 
-       ​detail { 
-                detailfile = ${radacctdir}/​%{Client-IP-Address}/​detail-%Y%m%d 
-                detailperm = 0600 
-        } 
- 
-  ​ 
-        acct_unique { 
-                key = "​User-Name,​ Acct-Session-Id,​ NAS-IP-Address,​ Client-IP-Address,​ NAS-Port" ​       } 
- 
- 
-        # $INCLUDE ​ ${confdir}/​sql.conf 
-} 
-</​xterm>​ 
- 
-Autorizace 
-<​xterm>​ 
-authorize { 
-        preprocess 
-        mschap 
-        suffix 
-        eap 
-        files 
-        ldap 
-} 
-</​xterm>​ 
- 
-Autentizace 
-<​xterm>​ 
-authenticate { 
-        Auth-Type PAP { 
-                pap 
-        } 
-        Auth-Type MS-CHAP { 
-                mschap 
-        } 
-        Auth-Type LDAP { 
-                ldap 
-        } 
-        eap 
-} 
-</​xterm>​ 
- 
-<​xterm>​ 
-preacct { 
-        preprocess 
-        acct_unique 
-        files 
-} 
- 
-</​xterm>​ 
- 
-<​xterm>​ 
-accounting { 
-        detail 
-#        sql 
-} 
- 
-</​xterm>​ 
-<​xterm>​ 
-post-proxy { 
-        attr_filter 
-        eap 
-} 
-</​xterm>​ 
- 
-====eap.conf==== 
-V souboru jsou uvedeny povolené metody EAP. Modul ''​tls''​ musí být zkonfigurován,​ i když TLS metodu nepoužíváme. Tento modul totiž využívají 
-moduly ''​peap''​ a ''​ttls''​. ​ 
-<​xterm>​ 
-eap { 
- ​default_eap_type = peap 
- ​timer_expire ​    = 60 
- ​ignore_unknown_eap_types = no 
- ​cisco_accounting_username_bug = no 
- md5 { 
- } 
- leap { 
- } 
- tls { 
-  private_key_file = /​etc/​ssl/​private/​radius.pem.key 
-  certificate_file = /​etc/​ssl/​certs/​radius.pem.crt 
-  CA_file = /​etc/​ssl/​certs/​cacert.pem 
-  dh_file = ${raddbdir}/​certs/​dh 
-  random_file = ${raddbdir}/​certs/​random 
-  fragment_size = 1024 
-  include_length = yes 
- } 
- peap { 
-  default_eap_type = mschapv2 
-  use_tunneled_reply = yes 
- } 
- ttls { 
-  default_eap_type = md5 
-  use_tunneled_reply = yes 
- 
- } 
- ​mschapv2 { 
- } 
-} 
- 
-</​xterm>​