freeradius 3.0 - Eduroam

Na uczelni mamy wdrożoną sieć wifi EDUROAM. Wdrożenie działa w oparciu o oprogramowanie: Ubuntu 18.04LTS, freeradius, LDAP, MySQL, accesspointy z VLANEM i możliwością podania serwera autoryzacji radius. Ponieważ pojawiła się wersja 18.04, a ja miałem 16.04 postanowiłem wykonać uprage systemu operacyjnego.

Przejście z Ubuntu 16.04 to 18.04 wiąże się z aktualizacją Freeradiusa z wersji 2 do 3. Oto kilka problemów, które musiałem rozwiązać aby zaczął prawidłowo działać edruroam z freeradiusen 3.0:

  • pliki konfiguracyjne znajdują się teraz w katalogu /etc/freeradius/3.0/. W wersji 2 były po prostu w /etc/freeradius/, co gorsza po upgradzie ubuntu zostawił stare pliku i katalogi. Trzeba się więc pilnować bo /etc/freeradius/3.0/sites-enabled to nie to samo co /etc/freeradius/sites-enabled - a są oba katalogi
  • w poradniku freeradius3.0 + eduroam ( https://wiki.freeradius.org/guide/eduroam) jest podana konfiguracja z modułem linelog. Po tygodniu działania logów od freeradiusa (du -sh /var/log/freeradius/) było 1.2G!!! Przestawiłem więc zbieranie logów do modułu sql.
  • Instalacja freeradius-mysql nie powiodła się ze względu na niespełnione zależności. Pakiet freeradius-mysql (apt install freeradius-mysql) zwracał że chce freeraiusa w wersji 2.8!
    Ale ja mam zainstalowanego z oficjalniej dystrybucji freeradiusa3.0, więc coś nie tak ze spójnością pakietów? Okazało się, że po upgrade dystrybucji do 18.04 nie zmienił się plik /etc/apt/sources.list - został stary. Podmieniłem go na:
deb http://in.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse
deb http://in.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://in.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted universe multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe multiverse

potem:

apt update
apt install freeradisu-mysql

Zadziałało ok.

  • Następny problem to zbieranie logów. Okazuje się, że mimo wyłączenia sekcji log zapisywania haseł użytkowników do plików loga w tabeli radpostauth w polu pass zapisuje się podane hasło zawsze dla moich użytkowników (dla użytkowników innych uczelni - proxy - nie). Rozwiązanie to dodanie w site inner-tunnel:
post-auth {
update {
 User-Password := NULL
}
...
}

Wpis ten zmienia User-Password po zalogowaniu się użytkownika a przed wykonaniem wpisu loga w MySQL.