Radiator má podporu pro RadSec od verze 3.12, ale jedná se o prvotní verzi. Používejte minimálně verzi 4.2 a patch level 1.904.
RadSec otevírá dvě TCP spojení. Jedno je realizováno z národního RADIUS serveru na RADIUS server instituce a druhé ze serveru instituce na národní server. Komunikace probíhá na port TCP/2083.
Konfigurace vychází z konfigurace pro klasické připojení pomocí RADIUS prokolu chráněného IPSec. Prostudujte si návod. Pro RadSec je nutné přidat definici RadSec serveru:
<ServerRADSEC> Secret mysecret UseTLS TLS_CAPath /etc/ssl/certs TLS_CertificateFile /etc/ssl/certs/ipsec_certifikat.crt.pem TLS_CertificateType PEM TLS_PrivateKeyFile /etc/ssl/private/ipsec_certifikat.key.pem TLS_RequireClientCert TLS_CRLCheck TLS_CRLFile /etc/ssl/certs/9b59ecad.r0 TLS_ExpectedPeerName radius1.eduroam.cz </ServerRADSEC>
Dále v handleru zodpovědném za přeposílání dotazů na národní RADIUS server se zamění <AuthBy RADIUS>
za <AuthBy RADSEC>
a změní se některé parametry:
<Handler Realm=/^.+$/> <AuthBy RADSEC> Host radius1.eduroam.cz Secret mysecret MaxFailedRequests 2 MaxFailedGraceTime 0 FailureBackoffTime 0 UseTLS TLS_CAPath /etc/ssl/certs TLS_CertificateFile /etc/ssl/certs/ipsec_certifikat.crt.pem TLS_CertificateType PEM TLS_PrivateKeyFile /etc/ssl/private/ipsec_certifikat.key.pem TLS_CRLCheck TLS_CRLFile /etc/ssl/certs/9b59ecad.r0 TLS_ExpectedPeerName radius1.eduroam.cz ReplyHook file:"/etc/radiator/check_reply.pl" </AuthBy> AddToReplyIfNotExist Tunnel-Private-Group-ID=1:100 AddToReply Tunnel-Type=1:VLAN, \ Tunnel-Medium-Type=1:Ether_802 </Handler>
Po spuštění Radiatoru s Trace 4
a LogStdout
vypíše informace o navázaném spojení na a z národního RADIUS serveru:
DEBUG: (Re)loading CRL file '/etc/ssl/9b59ecad.r0' DEBUG: Stream attempting tcp connection to radius1.eduroam.cz:2083 DEBUG: Stream connection in progress to radius1.eduroam.cz:2083 DEBUG: Finished reading configuration file '/etc/radiator/radius.cfg' DEBUG: Reading dictionary file '/usr/share/radiator/dictionary' DEBUG: Creating authentication port 0.0.0.0:1645 DEBUG: Creating authentication port 0.0.0.0:1812 DEBUG: Creating accounting port 0.0.0.0:1646 DEBUG: Creating accounting port 0.0.0.0:1813 NOTICE: Server started: Radiator 4.2 on ldap1 DEBUG: Stream connected to radius1.eduroam.cz:2083 DEBUG: StreamTLS sessionInit for radius1.eduroam.cz DEBUG: StreamTLS SSL_connect result: -1, 2, 4384 DEBUG: StreamTLS Client Started for radius1.eduroam.cz:2083 DEBUG: Verifying certificate with Subject '/DC=cz/DC=cesnet-ca/O=CESNET/CN=ipsec/radius1.eduroam.cz' presented by peer radius1.eduroam.cz DEBUG: Checking subjectAltName type 2, value radius1.eduroam.cz DEBUG: Certificate DNS subjectAltName radius1.eduroam.cz matches server Host name radius1.eduroam.cz DEBUG: StreamTLS SSL_connect result: -1, 2, 4560 DEBUG: StreamTLS SSL_connect result: 1, 0, 3 DEBUG: Stream connected to 195.113.187.22:47100 DEBUG: StreamTLS sessionInit for 195.113.187.22 DEBUG: StreamTLS SSL_accept result: -1, 2, 8465 DEBUG: StreamTLS Server Started for 195.113.187.22:47100 DEBUG: New StreamServer Connection created for 195.113.187.22:47100 DEBUG: StreamTLS SSL_accept result: -1, 2, 8576 DEBUG: Verifying certificate with Subject '/DC=cz/DC=cesnet-ca/O=CESNET/CN=ipsec/radius1.eduroam.cz' presented by peer 195.113.187.22 DEBUG: Checking subjectAltName type 2, value radius1.eduroam.cz DEBUG: Certificate Subject matches TLS_ExpectedPeerName DEBUG: StreamTLS SSL_accept result: 1, 0, 3
Sestavení spojení lze také zkontrolovat pomocí utility netstat
:
ldap1:~# netstat -tn |grep 195.113.187.22 tcp 0 0 195.113.144.226:43619 195.113.187.22:2083 ESTABLISHED tcp 0 0 195.113.144.226:2083 195.113.187.22:47100 ESTABLISHED
Tím je konfigurace RadSec dokončena.
Radiator neumožnuje reload CRL v případě, že se změní. Chyba není ani tak v Radiatoru, jako spíš v OpenSSL. Po změně revokačního listu je nutné server restartovat. K stahování CRL doporučuji používát skritp getcrl.sh.
Pro správnou funkci ověřování certifikátů je třeba Net::SSLeay alespoň verze 1.30. Pro RHEL4 je možné stáhnout verzi 1.31 z Dag Apt Repository.
Na rozdíl od radsecproxy Radiator neumí automaticky zjištovat stav TCP spojení pomocí dotazů Server-Status
. Tuto úlohu zastane monitoring.
Sdílené tajemství je vzhledem k použití TLS zbytečné, musí ale být na všech koncích nastaveno stejně. Používáme mysecret
.
Na FW je nutné povolit příchozí TCP komunikaci na portu 2083 a odchozí TCP komunikaci na port 2083.
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
.
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