cs:spravce:pripojovani:radsec:radsecproxy

Návod je zastaralý a neduržovaný - aktuální verze je zde.

Konfigurace radsecproxy

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í.

Klasické propojení RADIUSů

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í:

Propojení prostřednictvím radsecproxy

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.

Příklad konfigurace

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
}

Příklad úprav konfigurace FreeRADIUSu 1.x.x

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
}

Ladění

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

Poznámky

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

Poslední úprava:: 2022/01/20 14:22