Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width33%
Panel
titleColorblack
titleBGColor#66a4ae
borderWidth1
borderStylesolid
titleTämän sivun sisältö:
borderStylesolid
Table of Contents
maxLevel3
Column
width33%
 
Column
width33%
 

Johdanto

FreeRADIUS on RADIUS-palvelin, joka perustuu avoimeen lähdekoodiin ja toimii mm. useammilla Linux-alustoilla. Sen avulla RADIUS-autentikointiviestit voidaan välittää eteenpäin RADIUS-hierarkiassa ja oman organisaation käyttäjät voidaan autentikoida paikallisesti tai liitettyä tietokantaa käyttäen. Näissä ohjeissa selitetään yksityiskohtaisesti miten FreeRADIUS-palvelin konfiguroidaan lähettämään RADIUS-viestejä eteenpäin verkkovierailuhierarkiassa palveluntarjoajana (service provider) sekä miten omat käyttäjät voidaan autentikoida paikallisesti (identity provider). Käyttäjiä erotellaan aina domainin, realmin perusteella.

FreeRADIUSen asentaminen

FreeRADIUS:esta löytyy asennusohjeita selityksineen netistä: http://wiki.freeradius.org/Build. Tähän on pyritty keräämään yhteenveto oheista ilman tarkempia selityksiä. Tässä esimerkissä alustana on käytetty RedHat Enterprise Linux Server 5 64 bit ja sen tarkat asennusohjeet löytyvät täältä: http://wiki.freeradius.org/Red_Hat_FAQ.

...

Seuraavassa vaiheessa tarvitaan yum-builddep-työkalu, joka löytyy yum-utils-pakkauksesta. Se asennetaan komennolla yum install yum-utils. Seuraavaksi ajetaan yum-builddep freeradius-2.1.3-1.fc9.src.rpm FreeRadSrmp-hakemistossa. Jos komennon tuloksessa lukee esim Error: No Package found for perl-devel se tarkoittaa, että muutamat riippuvuudet joudutaan asentamaan käsin. Tarvittavat riippuvuudet saadaan selville ajamalla rpmbuild -ba /usr/src/redhat/SPECS/freeradius.spec FreeRadSrmp-hakemistossa. Esimerkiksi error: Failed build dependencies: gdbm-devel is needed by freeradius-2.1.3-1.x86_64 korjataan ajamalla komentoa yum install gdbm-devel. Kun tarvittavat riippuvuudet on asennettu käsin, luodaan rpm-tiedosto komennolla rpmbuild -ba /usr/src/redhat/SPECS/freeradius.spec FreeRadSrmp-hakemistossa. /usr/src/redhat/RPMS/x86_64/-hakemistossa asennetaan sitten tarvittavat rpm:t. Peruspakkauksen lisäksi tarvitaan ainakin libs-pakkaus, eli ajetaan komento sudo rpm -Uhv freeradius-2.1.3-1.x86_64.rpm freeradius-libs-2.1.3-1.x86_64.rpm. Luettelon asennetuista freeradius-paketeista saa komennolla rpm -qa freeradius*.

Konfigurointi palveluntarjoajaksi (Service Provider)

FreeRADIUS:en tomiminen palveluntarjoajana tarkoittaa sitä, että se välittää tulevat RADIUS-viestit eteenpäin RADIUS-hierarkiassa ja saapuvat paketit WLAN-tukiasemille, kontrollerille tai kytkimille. Se ei itse autentikoi käyttäjiä tietokantaa tai salasanatiedostoa käyttäen.

...

Ongelmien ilmetessä kannattaa tarkistaa, että palomuurit (iptables) on konfiguroitu niin, että FreeRADIUS-palvelin pystyy vastaanottamaan RADIUS-viestejä määritetyiltä klienteiltä, ja että next_server_in_hierarchy pystyy vastaanottamaan palvelimen lähettämät RADIUS-viestit.

Konfigurointi identiteettitarjoajaksi (Identity provider)

Seuraava vaihe on muuttaa konfiguraatiota niin, että palvelin toimii sekä palveluntarjoajana että identiteettitarjoajana. Saapuvien RADIUS-viestien domain-tietoja tarkkaillaan ja omat käyttäjät autentikoidaan ja vieraiden viestit välitetään eteenpäin hierarkiassa.

...

Tällä tavalla konfiguroituna palvelin välittää onnistuneesti autentikointipyyntöjä eteenpäin ja autentikoi paikallisesti mydomain.fi:n käyttäjät joko TTLS-PAP:illa, TTLS-MSCHAPv2:lla tai PEAP-MSCHAPv2:lla.

Varmenteen käyttöönottaminen ja salakirjoituksen säätäminen

FreeRADIUS sisältää testausvarmenteita konfiguroinnin ja ensimmäisen testauksen helpottamiseksi, mutta näitä varmenteita ei käytetä tuotannossa. Tuotantoa varten voidaan joko luoda itseallekirjoitettu varmenne tai tilata palvelinvarmenne Funetin varmennepalvelun kautta. Itseallekirjoitetun varmenteen luomiseen löytyy ohjeita /etc/raddb/certs-hakemiston README-tiedostosta.

...

Yllä olevalla määrittelyllä hyväksytään avaimet, jotka ovat 128 bittiä tai pidempiä (HIGH) sekä RC4-SHA-menetelmät. MD5 ja anonyymit Diffie-Hellmanit kielletään.

Virtuaaliverkkojen huomioonottaminen

Jos on käytössä virtuaaliverkkoja (Virtual LAN, VLAN), käyttäjiä voidaan asettaa eri VLAN-verkkoihin, jos esimerkiksi halutaan antaa oman organisaation käyttäjille enemmän oikeuksia kun vierailijoille. Virtuaaliverkot on luonnollisesti määriteltävä myös WLAN-kontrolleriin sekä lähiverkon muihin elementteihin, kuten kytkimiin. Voi olla järkevää määritellä vierailijoille tarkoitettu VLAN oletukseksi ja laittaa omasta realmista tulevat käyttäjät (user@myorganisation.fi) heille tarkoitetulle VLAN:eihin autentikoinnin onnistuttua. Tässä yhteydessä on myös otettava huomioon, että omasta realmista tulevat käyttäjät laitetaan heille tarkoitettuun VLANiin vain jos he ovat oman organisaationsa verkossa. Heidän vieraillessaan vieraileva organisaatio päättää, mihin VLANiin heidät laitetaan eikä VLAN-määrityksiä lähetetä oman organisaation ulkopuolelle.

...

Code Block
languagebash
post-auth {
.
.
.
   if ("%{User-name}" =~ /@myorganisation.fi$/ && "%{NAS-IP-Address}" =~ /^xyz.zyx.xzy./){
   # Tässä tapauksessa organisaation tukiasemat käyttävät xyz.zyx.xzy.0/24-avaruuden osoitteita.
      update reply {
         Tunnel-Type := 13
         Tunnel-Medium-Type := 6
         Tunnel-Private-Group-ID := haluttu_VLAN_id_nr
         }
     }
}

Apua

Netistä löytyy hyvin ohjeita vianselvitykseen. Myös freeradius-users-sähköpostilista voi olla hyödyllinen. Wenche Backman-Kamila (CSC/Funet) auttaa myös tarvittaessa.

Eteenpäin

Ohjeita siitä, miten FreeRADIUS liitetään ulkoiseen tietokantaan, löytyy FreeRADIUSLiittaminenTietokantaan-sivulta

Kommentteja

Ole hyvä ja lisää kommentteja tai omaa tekstiä.