RADIUS
Contents
Generic Radius
- http://www.ietf.org/rfc/rfc2865.txt
- http://www.untruth.org/~josh/security/radius/radius-auth.html
- http://www.freeradius.org/rfc/attributes.html
Diverse
- wpa_supplicant - WPA supplicant til linux
- pam_radius_auth - RADIUS plugin til PAM
- mod_auth_radius - radius authentication plugin til apache
- PHP radius
- phpRADmin - alternativ admin front-end til freeradius
- freshmeat.net søgning på "radius"
FreeRADIUS
Freeradius artikler
- 802.1X Port-Based Authentication HOWTO
- HOWTO on EAP/TLS authentication between FreeRADIUS and XSupplicant
- FreeRadius and MySQL
- FreeRADIUS and Linux Secure Your WLAN
- Freeradius, EAP-TLS & Windows XP
- Paranoid Penguin - Securing WLANs with WPA and FreeRADIUS, Part 1 2 3
- FreeRADIUS + 802.1x/WPA + OpenLDAP HOWTO
- HOWTO Chillispot with FreeRadius and MySQL
Howto
Quick'n'dirty introduktion til opsætning af WPA-enterprise radius med mysql-backend
- Opbyg noget Basic knowledge
- Læs et par artikler om WPA-enterprise og sikre dig at du har styr på de forskellige EAP metoder -
- Det vil være en fordel hvis du læser RFC'erne bag RADIUS protokollen
- RFC 2865 specificerer RADIUS protokollen.
- Radius accounting står i RFC 2866
- RFC 2869 Beskriver nogle udvidelser til radius
- Installér FreeRADIUS, note: std. debian pakker indeholder ikke EAP/TLS, EAP/TTLS, EAP/PEAP. En alm. recompile fra debian source kan også give problemer. Brug evt. mine sarge pakker
- Vælg et setup med EAP og krypterings-algoritme du vil bruge. Det er min erfaring at et WPA/EAP/PEAP/ms-CHAPv2 over TKIP kan bruges på det bredeste udvalg af platforme.
- Konfigurér freeradius f.eks. som i denne HOWTO (howto'en bygger på EAP/PEAP/ms-chap-v2)
- husk at tilføje en statisk bruger i
/etc/freeradius/users
(bør fjernes når at test-fasen er overstået) - Du behøver ikke at generere nøglerne som beskrevet i sektion 2, "Obtaining certificates" så længe at det kun er et til test - men det skal gøres inden at opsætningen sættes i drift, da det er alt for usikkert at bruge de pre-genererede nøgler der følger med freeradius
- husk at tilføje en statisk bruger i
- start freeradius fra en shell med
freeradius -x
på den måde bliver al debug info skrevet til std-out og man kan følge med i authentikation processen. (Brug evt -X istedet, hvis du vil have ekstra debug info) - afprøv konfig'en med f.eks.
radtest
.radclient
ellerradeapclient
kan også bruges.Usage: radtest user passwd radius-server nas-port-number clientsecret
- konfigurér dit access point til at koble op i mod radius-serveren
- konfigurér en trådløs klient til wpa/radius med den korrekte godkendelsesprotokol(EAP) og med samme krypteringsalgoritme som du satte på accesspointet (TKIP vs AES/CCMP)
- afprøv klient-opsætningen med den statiske bruger
- Nu er vi klar til at konfigurere sql backenden - følg freeradius & mysql howto'en fra sektionen "Setting up the RADIUS database in MySQL" og frem.
- Du bør også læse sektionen om rlm_sql i freeradius' wiki
Sørg for at brugeren bliver tilknyttet "Auth-Type" ":=" "EAP" (enten iradcheck
ellerradgroupcheck
tabellen)
Noter
- hvis at du vil bruge freeradius-dialupadmin som webinterface bør du også oprette tabellerne, der er defineret i
/usr/share/freeradius-dialupadmin/sql/*.sql
- Sådan sættes user expiration 2
- Password-Retry
- En account kan disables ved at sætte "Auth-Type" ":=" "Reject" (du kan evt. sætte en "Reply-Message" - men det er ikke sikkert at din NAS kan relay'e beskeden videre til brugeren - men man kan bruge den til at registrere hvorfor at accounten var disabled)
- Time limited accounts 1 2. Læs mere om Login-Time attributten i doc/README, sektion 3g
- Hvis du mangler hjælp, prøv på freeradius' mailing list eller søg i listens arkiv
- Der er også mange guldkorn i
/usr/share/doc/freeradius/
, men mange af dokumenterne er gzip'ed, så start med at lave engunzip *
, så man kan søge i dem med grep eller lign.
- Der er også mange guldkorn i
Accounting
RADIUS bruges kan også bruges til at registrerer hvor lang tid at brugeren har været logget på eller hvor meget data der er overført, men for at få dette til at virke kræver det at din NAS kan afsende RADIUS-accounting pakker - f.eks. kan mit Linksys WAP54G ikke afsende accounting pakker, men bruger udelukkende radius serveren til brugergodkendelse.
Expiration eksempel
SELECT * FROM radcheck WHERE UserName = 'guestuser35'
+----+-------------+-----------------------+----+----------------------+
| id | UserName | Attribute | op | Value |
+----+-------------+-----------------------+----+----------------------+
| 35 | guestuser35 | Password | := | test |
| 36 | guestuser35 | Expiration | := | 24 May 2006 23:00:00 |
+----+-------------+-----------------------+----+----------------------+
Linux config : wpa_supplicant
Her er en en section til /etc/wpa_supplicant.conf
på linux klienter:
network {
ssid="mywireless"
key_mgmt=WPA-EAP
eap=PEAP
identity="myuser"
password="mypassword"
phase2="auth=MSCHAPV2"
}
Password eller identity+password kan udelades, men skal så indtastes via wpa_cli
programmet eller wpa_gui
. Hvis at en alm. bruger skal kunne håndtere wpa_cli/wpa_gui, kig da på
ctrl_interface_group
-direktivet i conf'en
Som default vil wpa_supplicant prøve både TKIP og AES/CCMP som kryptering, så der er strengt taget ingen grund til at angive dette