Muut työtilat
Näissä ohjeissa käsitellään miten FreeRADIUS-palvelin liitetään ulkoiseen käyttäjätietokantaan. Ennen kuin siirrytään tähän vaiheeseen, on syytä konfiguroida FreeRADIUSen perusasetukset. Ohjeita tähän löytyy FreeRADIUSen konfigurointi -sivulta.
Liittäminen Active Directoryyn
Samba ja Kerberos
Samba ja Kerberos tarvitaan liittämään FreeRADIUS-palvelin Active Directory (AD) -käyttäjätietokantaan. Aloitetaan lataamalla Samba vaikka downloads-sivulla olevan enterprisesamba.com-linkin kautta. Ladataan ainakin seuraavat paketit:
- samba3*.rpm, joka tarvitsee
- libwbclient*.rpm
- samba3-client*.rpm
- samba3-winbind*.rpm
Seuraavaksi installoidaan paketit ajamalla rpm -ihv (tai -Uhv) libwbclient*.rpm, rpm -ihv (tai -Uhv) samba3-client*.rpm, rpm -ihv (tai -Uhv)samba3*.rpm ja rpm -ihv (tai -Uhv) samba3-winbind*.rpm . Kokeile että Samba ja Winbind käynnistyvät ajamalla komennot: /etc/init.d/smb start ja /etc/init.d/winbind start. Voi olla järkevää installoida myös paketit samba3-utils*.rpm, samba3-debuginfo*.rpm ja samba3-doc*.rpm vastaavalla tavalla. samba3-doc saattaa tarvita lisäpaketteja, jotka voidaan etsiä täältä.
Kun Samba on installoitu konfiguroidaan /etc/samba/smb.conf-tiedostoa. Malli löytyy mm. Samba-wikin sivuilta mutta pelkästään autentikoinnin tarpeisiin räätälöidystä konfigurointitiedosta löytyy esimerkki selityksineen liitetiedostosta. Lisätietoja eri parametreista löytyy samba3-doc-lisäpaketin smb.conf.5.html-tiedostosta ..../samba3/htmldocs/manpages/-hakemistosta. Asetukset voidaan testata ajamalla testparm smb.conf .
Seuraavaksi määritellään Kerberos-sovelluksen parametrit. Riittää, että palvelimelle on insalloitu seuraavat paketit:
- krb5-workstation
- krb5-libs
- pam_krb5
Kerberoksen parametrit määritellään /etc/krb5.conf-tiedostoon. Myös Kerberoksen parametrien suhteen löytyy malli Samba-wikin sivuilta. Liitetiedostosta löytyy FreeRADIUSen ja AD:n liittämiselle esimerkkiparametreja. Huomioi että on väliä käytetäänkö isoja tai pieniä kirjaimia.
Koska Kerberoksen toiminta on riippuvainen täsmällisestä ajasta, kannattaa tässä vaiheessa tarkistaa että palvelin käyttää samat NTP-palvelimet kuin AD. NTP-palvelimet määritellään etc/ntp.conf. Funetin NTP-palvelimet ntp1.funet.fi ja ntp2.funet.fi määritellään seuraavalla tavalla:
restrict 193.166.5.177 mask 255.255.255.255 nomodify notrap noquery server 193.166.5.177 restrict 193.166.5.197 mask 255.255.255.255 nomodify notrap noquery server 193.166.5.197
Käynnistä seuraavaksi samba ja winbind komennoilla /etc/init.d/smb start ja /etc/init.d/winbind start. Liitetään palvelin AD:hen ajamalla komento net ads join –S cscdc1.windows.csc.fi –U <administrator-tunnus> –W windows. Tämän jälkeen winbind tulisi käynnistää uudelleen: /etc/init.d/winbind restart. Liittymisen onnistumista voidaan testata kaikilla käyttäjätunnuksilla, jotka on määritelty AD:hen, esim. näin: wbinfo -a kayttajatunnus. Syötä salasanasi ja varmista että testi päättyy ilmoituksella authentication succeeded. FreeRADIUSen kanssa tullaan käyttämään Samban ntlm_auth-sovellusta, joten sitä kannattaa myös testata:
ntlm_auth --username kayttajatunnus --password
password:
NT_STATUS_OK: Success (0x0)
Ennen kuin siirrytään FreeRADIUSen konfigurointiin on määriteltävä radiusd-käyttäjälle oikeuksia käyttämään winbindia. Se tehdään muuttamalla winbindd_privileged - kansion oikeudet. Se voidaan tehdä esim. laittamalla radiusd-käyttäjä ryhmä-käyttäjäksi ja määrittelemällä ryhmälle luku- ja ajo-oikeuksia seuraavilla komennoilla:
chown root:radiusd /var/lib/samba/winbindd_privileged
chmod 750 /var/lib/samba/winbindd_privileged
Konfigurointi
AD:ssä käyttäjien salasanat on tallennettu NTHASH-muodossa ja mahdolliset EAP- ja EAP-tyyppiset menetelmät määräytyvät seuraavan taulukon mukaan. Yleensä tuetaan FreeRADIUSen ollessa liitettynä AD:hen menetelmät PEAP-MSCHAPv2, TTLS-MSCHAPv2 sekä TTLS-PAP. Ennen kuin aloitat varsinaisen konfiguroimisen, varmista että proxy.conf -tiedostoon on määritelty oma realmisi muodostamaan erikoistapaus (esimerkkinä csc.fi):
realm csc.fi { }
Autentikointi kaikilla menetelmillä hoidetaan ntlm_auth sovelluksen avulla mutta se kutsutaan hieman eri tavalla menetelmästä riippuen.
Konfigurointi TTLS-PAP-menetelmän tukemiseksi
TTLS-PAP-menetelmä tuetaan luomalla ensin /etc/raddb/modules-hakemistoon tiedosto nimeltään ntlm_auth ja lisäämällä siihen seuraavat rivit:
exec ntlm_auth{ wait = yes program = "/usr/bin/ntlm_auth --request-nt-key --domain=windows --username=%{Stripped-User-Name} --password=%{User-Password}" }
Seuraavaksi lisätään /etc/raddb/sites-available-hakmeistossa olevalle eduroam-inner-tunnel -tiedostolle merkityt rivit:
authorize { auth_log files suffix mschap #Jos mschap palauttaa noop, laitetaan Auth-Type:n arvoksi ntlm_auth jotta TTLS-PAP toimisi AD:n kanssa. #mschap palauttaa ok TTLS-MSCHAPv2:lle ja noop TTLS-PAP:ille. mschap palautaaa myös noop jos sisempi #menetelmä on EAP-tyyppinen, eli PEAP-MSCHAPv2 tai TTLS-(EAP-MSCHAPv2). #PEAPin sisäinen menetelmä on aina oltava EAP-tyyppinen. if (noop) { #lisätään update control{ #lisätään Auth-Type := ntlm_auth #lisätään } #lisätään } #lisätään pap eap { ok = return } #Jos eap palauttaa updated autentikointimenetelmä (Auth-Type) on EAP ja aikaisemmin määritelty ntlm_auth #voidaan poistaa. eap palauttaa updated jos sisempi menetelmä on EAP-tyyppinen eli PEAP-MSCHAPv2 tai TTLS-(EAP-MSCHAPv2). #eap palauttaa noop TTLS-MSCHAPv2:lle ja TTLS-PAP:lle. #Jos tämä if-lohko poistetaan autentikointi toimii edelleen, mutta kaksi autentikointimenetelmää tulee siinä tapauksessa #määritellyksi tilanteissa, jossa sisempi menetelmä on EAP-tyyppinen: EAP ja ntlm_auth. if (updated) { #lisätään update control{ #lisätään Auth-Type -= ntlm_auth #lisätään } #lisätään } #lisätään } authenticate { Auth-Type PAP{ pap } Auth-Type MS-CHAP{ mschap } Auth-Type ntlm_auth{ #lisätään ntlm_auth #lisätään } #lisätään # Allow EAP authentication. eap } . . .