FR3 and EAP-TLS session cache
Alan DeKok
aland at deployingradius.com
Sun Jun 14 17:21:19 CEST 2015
On Jun 14, 2015, at 8:11 AM, Jyri Palis <jyri.palis at gmail.com> wrote:
> I have been trying to get FR (3.0.4) EAP-TLS session caching to work with ‘check-eap-tls’ virtual server, so far no luck.
> Initial EAP-TLS session is established correctly and Windows 7 clients get access to protected WLAN but requests following initial request fail to utilise data stored TLS session cache data client is force to proceed with full TLS handshake.
You can do in-memory caching. I suggest trying that first. It works in all of my tests.
As a second step, enable on-disk caching.
> Virtual server 'check-eap-tls’ which is configured to verify client certificates fails when cached TLS session calls this method, variables needed for verification are not propagated correctly.
What does that mean?
> server check-eap-tls {
> authorize {
>
> if ("%{TLS-Client-Cert-Subject-Alt-Name-Upn}" =~ /^([a-z0-9]|[\w\.-]?)+\@example\.com$/i) {
> update config {
> Auth-Type := Accept
This is in the inner tunnel, right?
> This is a fragment from log file:
Why? We recommend reading the *debug* output.
> Sun Jun 14 14:56:11 2015 : Auth: (44) Login incorrect (eap: Failed continuing EAP TLS (13) session. EAP sub-module failed): [host/xxxxx.example.com/<via Auth-Type = EAP>] (from client wc-s1-01 port 2 cli 00-24-d7-03-2b-38)
> Sun Jun 14 14:56:16 2015 : Error: Couldn't open /var/log/radius/tlscache/c0373a395b8cc8bc3bd2fe453c3f235454b5216a47c1cb66e30580cd697033f1.vps for reading: No such file or directory
Probably because the TLS data isn't being cached.
> So is there a way to check session status in ‘authorize’ block and accept auth when cached TLS session is detected?
The server does that automatically. That's the whole point of the cache,
> This is written to stdout when running in debug mode
And... you've only posted part of the debug log.
How about looking *earlier* in the log, for the first EAP-TLS session? Does the debug log say it's caching that session?
no? of course caching won't work
yes? something else is going wrong, like the cached sessions are being deleted.
> (15) eap_tls : Length Included
> (15) eap_tls : eaptls_verify returned 11
> (15) eap_tls : (other): before/accept initialization
> (15) eap_tls : TLS_accept: before/accept initialization
> (15) eap_tls : <<< TLS 1.0 Handshake [length 007c], ClientHello
> SSL: Client requested cached session f35d02540a8e9c4faf8620dfe25e4e82941192f8686390ec3591df41ba22f967
> reading pairlist file /var/log/radius/tlscache/f35d02540a8e9c4faf8620dfe25e4e82941192f8686390ec3591df41ba22f967.vps
> Couldn't open /var/log/radius/tlscache/f35d02540a8e9c4faf8620dfe25e4e82941192f8686390ec3591df41ba22f967.vps for reading: No such file or directory
That would be pretty definitive. The TLS data wasn't written to the persistent disk cache.
Alan DeKok.
More information about the Freeradius-Users
mailing list