Konfigurace RADIUS serveru
Připojíme se pomocí SSH na server, kde poběží RADIUS. Nejprve si aktualizujeme repozitáře a nainstalujeme potřebné balíčky:
apt update apt install freeradius mlocate
Následně budeme chtít editovat konfigurační soubor clients.conf, kde přidáme klienty:
nano /etc/freeradius/3.0/clients.conf client SSH1 { ipv6addr = 2001:718:1001:2c6::117 secret = zbJKUZgw67n4jmA8tQax} client SSH2 { ipv6addr = 2001:718:1001:2c6::113a secret = zbJKUZgw67n4jmA8tQax}
Následně je potřeba vytvořit uživatele, což provedeme v souboru users. Uživatelům je potřeba v clear-text podobě přiřadit heslo (pro testovací účely jsme zvolili lehce zapamatovatelná hesla):
nano /etc/freeradius/3.0/users tomas Cleartext-Password := "tomas123" marek Cleartext-Password := "marek123" martin Cleartext-Password := "martin123"
Následně stačí službu freeradius restartovat, popřípadě otestovat konfiguraci:
system freeradius restart freeradius -CX
Konfigurace klientů
Nejprve aktualizujeme repozitáře a nainstalujeme potřebné balíčky:
apt update apt install libpam-radius-auth freeradius-utils
Pro správné fungování PAM modulu pro IPv6 je potřeba jej překompilovat.
apt install libpam0g-dev curl https://codeload.github.com/FreeRADIUS/pam_radius/tar.gz/release_2_0_0 >pam_radius.tar.gz tar -zxvf pam_radius.tar.gz cd pam_radius-release_2_0_0/ ./configure make mkdir /lib/security cp pam_radius_auth.so /lib/security/. cp pam_radius_auth.so /etc/raddb/server
Po překompilování přidáme do souboru server IP adresu (popřípadě doménový název) a heslo RADIUS serveru, nakonec řádku se přidává ještě timeout pro přihlášení:
nano /etc/raddb/server [2001:718:1001:2c6::11b] zbJKUZgw67n4jmA8tQax 10 vsb-lab.martinvylet.cz zbJKUZgw67n4jmA8tQax 10
Pro správné fungování autentizace je potřeba vytvořit v systému dané uživatele bez hesla pomocí následujících příkazů:
adduser marek --disabled-password --quiet --gecos "" adduser martin --disabled-password --quiet --gecos "" adduser tomas --disabled-password --quiet --gecos ""
Funkčnost komunikace klienta se serverem můžeme ověřit pomocí příkazu:
radtest jméno_uživatele heslo_uživatele IP_adresa_serveru 0 heslo_RADIUS_serveru = radtest marek marek123 [2001:718:1001:2c6::11b] 0 zbJKUZgw67n4jmA8tQax
Pokud je vše správně nakonfigurované, tak by měla odpověď na tento příkaz vypadat následovně:
Sent Access-Request Id 243 from [::]:43358 to [2001:718:1001:2c6::11b]:1812 length 75 User-Name = "marek" User-Password = "marek123" NAS-IP-Address = 127.0.0.2 NAS-Port = 0 Message-Authenticator = 0x00 Cleartext-Password = "marek123" Received Access-Accept Id 243 from [2001:718:1001:2c6::11b]:1812 to [::]:0 length 20
Pro fungování autentizace pro SSH spojení je potřeba ještě na začátek souboru sshd a login přidat ověřování pomocí pam_radius_auth modulu:
nano /etc/pam.d/sshd auth sufficient pam_radius_auth.so nano /etc/pam.d/login auth sufficient pam_radius_auth.so