Návod je zastaralý a neduržovaný - aktuální verze je zde.
radsecproxy je software vyvíjený Stigem Venaasem z UNINETT. Jde o software, který umožnuje překlad UDP RADIUS protokolu na TCP RadSec. Díky tomu je možné nasadit radsecproxy před jakýkoliv RADIUS server a použít ji místo IPsec pro zabezpečené připojení k národnímu RADIUS serveru.
Schematické znázornění konfigurace RADIUS serveru při použítí IPsec je na následujícím obrázku. Zabezpečení komunikačního kanálu je z pohledu RADIUS serverů transparentní.
Pokud chceme komunikaci zabezpečit RadSecem, je nutné pro RADIUS servery, které ho nepodporují, použít radsecproxy. Schéma propojení je v tom případě následující:
RADIUS server organizace je nutné upravit tak, aby dotazy na cizí realmy neposílal na radius1.eduroam.cz
, ale na radsecproxy poslouchající na localhost:11812
. RADIUS pakety jsou přijímány radsecproxy na localhost:11812
a dále přeposílány po TCP na radius1.eduroam.cz:2083
. Odpovědi přicházejí na TCP/2083, kde je radsecproxy opět převede na RADIUS pakety a předá je RADIUS serveru na UDP/1812.
Nejprve je třeba nastavit parametry TLS. Národní RADIUS používá certifikát vydaný CESNET CA4.
tls default { CACertificatePath /etc/ssl/certs CertificateFile /etc/ssl/certs/ipsec_certifikat.crt.pem CertificateKeyFile /etc/ssl/private/ipsec_certifikat.key.pem # CertificateKeyPassword password }
Následuje definice UDP RADIUS serveru, na který budou posílány dotazy, které přijme radsecproxy po RadSec z eduroamu.
server localhost { port 1812 type udp secret radsec statusserver on }
Definice UDP portu, na kterém bude radsecproxy poslouchat, a také definice klienta, od kterého bude akceptovat data.
ListenUDP localhost:11812 client localhost { type udp secret radsec }
Definice národního RADIUS serveru v rolích klient a server pro RadSec.
client radius1.eduroam.cz { type tls secret radsec } server radius1.eduroam.cz { type tls secret radsec statusserver on }
Definice lokálního realmu, který bude předáván RADIUS serveru localhost
(tj. původnímu RADIUS serveru).
realm lokalni-realm.cz { server localhost }
Všechny ostatní realmy budou předávány na národní RADIUS server.
realm * { server radius1.eduroam.cz }
Je třeba upravit realm DEFAULT
v souboru proxy.conf
. Místo radius1.eduroam.cz:1812
zadejte localhost:11812
.
realm DEFAULT { type = radius authhost = localhost:11812 secret = radsec nostrip }
Dále je třeba upravit soubor clients.conf
a přidat do něj sekci definující radsecproxy jako lokálního klienta.
client localhost { secret = radsec shortname = radsecproxy }
Pro ladění je vhodné spustit radsecproxy s přepínačem -f
, aby zůstala v popředí a bylo snadné sledovat výstup. Ten by měl vypada zhruba takto:
radius:~# radsecproxy -f -d 3 radsecproxy revision $Rev: 217 $ starting listening for incoming TCP on *:2083 udpserverrd: listening for UDP on *:11812 tlsconnect: trying to open TLS connection to radius1.eduroam.cz port 2083 tlsconnect: TLS connection to radius1.eduroam.cz port 2083 up incoming TLS connection from 195.113.187.22 replyh: got status server response from radius1.eduroam.cz
Ve výpisu je vidět, že radsecproxy navázala spojení na národní RADIUS server a také že přijala spojení z národního RADIUS serveru. Dále je možné ověřit navázaná spojení:
radius:~# netstat -n |grep 2083 tcp 0 0 195.113.233.105:43611 195.113.187.22:2083 ESTABLISHED tcp 0 0 195.113.233.105:2083 195.113.187.22:38105 ESTABLISHED
11/2015: Změna na sdílené tajemství 'radsec' které je i v RFC.
09/2009: Na FreeBSD je nutné potřeba použít verzi 1.3.1, jinak proxy nepřijímá příchozí spojení.
03/2008: Stabilní verze radsecproxy je 1.0. Vývojová verze podporuje navíc direktivu statusserver
, díky níž dokáže detekovat stav svých protějšků v komunikaci a v případě, že je definován záložní server, dokáže přepnout na zálohu dříve než klasický RADIUS, který závadu zjistí až v okamžiku, kdy potřebuje se svým protějškem komunikovat.
03/2008: Sdílené tajemství je vzhledem k použití TLS zbytečné, musí ale být na všech koncích nastaveno stejně. Budeme používat mysecret
.
03/2008: Na FW je nutné povolit příchozí TCP komunikaci na portu 2083 a odchozí TCP komunikaci na port 2083.
03/2008: Pokud provádíte přechod z IPsec na RadSec, je nutné zastavit racoon
a odstranit IPsec politiky z kernelu pomocí setkey -F; setkey -FP
.
— Jan Tomášek 09.09.2009 09:12 přidal jsem info o minimální verzi na FreeBSD
— Jan Tomášek 17. 03. 2008 16:46 vytvoření dokumentu
CESNET, z. s. p. o.
Generála Píky 26
160 00 Praha 6
info@cesnet.cz
Tel: +420 234 680 222
GSM: +420 602 252 531
support@cesnet.cz