Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:spravce:pripojovani:radsec:radsecproxy [2015/06/29 16:40] jan.tomasek@cesnet.cz |
— (aktuální) | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
- | ===== Konfigurace radsecproxy ===== | ||
- | //[[http://software.uninett.no/radsecproxy/index.php?page=download|radsecproxy]]// je software vyvíjený [[http://domen.uninett.no/~venaas/|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í. | ||
- | |||
- | {{:cs:spravce:pripojovani:radsec:klasicky-radius.png|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í: | ||
- | |||
- | {{:cs:spravce:pripojovani:radsec:radsec-a-radsecproxy.png|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ý [[http://pki.cesnet.cz/en/ch-cca-crt-crl.html|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 //eduroam//u. | ||
- | |||
- | <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: | ||
- | |||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | 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í: | ||
- | |||
- | <code> | ||
- | 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 | ||
- | </code> | ||
- | |||
- | |||
- | ==== 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''. | ||
- | |||
- | |||
- | |||
- | ====== ====== | ||
- | --- //[[http://staff.cesnet.cz/~semik|Jan Tomášek]] 09.09.2009 09:12// přidal jsem info o minimální verzi na FreeBSD\\ | ||
- | --- //[[http://staff.cesnet.cz/~semik|Jan Tomášek]] 17. 03. 2008 16:46// vytvoření dokumentu |