cs:spravce:pripojovani:radsec:radsecproxy

Toto je starší verze dokumentu!


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

<xterm> tls default {

  CACertificatePath      /etc/ssl/certs
  CertificateFile        /etc/ssl/certs/ipsec_**certifikat**.crt.pem
  CertificateKeyFile     /etc/ssl/private/ipsec_**certifikat**.key.pem

# CertificateKeyPassword password } </xterm>

Následuje definice UDP RADIUS serveru, na který budou posílány dotazy, které přijme radsecproxy po RadSec z eduroamu.

<xterm> server localhost {

      port    1812
      type    udp
      secret  mysecret
      statusserver on

} </xterm>

Definice UDP portu, na kterém bude radsecproxy poslouchat, a také definice klienta, od kterého bude akceptovat data.

<xterm> ListenUDP localhost:11812 client localhost {

      type    udp
      secret  mysecret

} </xterm>

Definice národního RADIUS serveru v rolích klient a server pro RadSec.

<xterm> client radius1.eduroam.cz {

type	tls
secret	mysecret

}

server radius1.eduroam.cz {

      type    tls
      secret  mysecret
      statusserver on

} </xterm>

Definice lokálního realmu, který bude předáván RADIUS serveru localhost (tj. původnímu RADIUS serveru).

<xterm> realm lokalni-realm.cz {

      server localhost

} </xterm>

Všechny ostatní realmy budou předávány na národní RADIUS server.

<xterm> realm * {

      server  radius1.eduroam.cz

} </xterm>

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.

<xterm> realm DEFAULT {

      type            	= radius
      authhost        	= localhost:11812
      secret          	= mysecret
      nostrip

} </xterm>

Dále je třeba upravit soubor clients.conf a přidat do něj sekci definující radsecproxy jako lokálního klienta.

<xterm> client localhost {

secret 		= mysecret
shortname	= radsecproxy

} </xterm>

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

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:: 2015/06/29 16:40