Troubleshooting EAP-TLS with External Certificates
Matthew West
matthew.t.west at gmail.com
Thu Sep 15 23:11:22 CEST 2016
Hi Alan (sorry, called you Alex!),
Looks like that did the trick. Much thanks to Matthew for the RegEx,
passed it along to a dev here and confirmed that's what we want. See
success below.
Off to learning CRLs and removing all non-EAP-TLS authentication
mechanisms. After that, I should have the server functioning the way
that was requested of me.
Thank you all for helping me along.
Take Care,
Matthew
---
(9) # Executing section authorize from file
/etc/raddb/sites-enabled/check-eap-tls
(9) authorize {
(9) update control {
(9) Auth-Type := Reject
(9) } # update control = noop
(9) if (&TLS-Client-Cert-Subject =~ /[@\.]acme.com$/)
(9) if (&TLS-Client-Cert-Subject =~ /[@\.]acme.com$/) -> TRUE
(9) if (&TLS-Client-Cert-Subject =~ /[@\.]acme.com$/) {
(9) update control {
(9) Auth-Type := Accept
(9) } # update control = noop
(9) } # if (&TLS-Client-Cert-Subject =~ /[@\.]acme.com$/) = noop
(9) auth_log : EXPAND
/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
(9) auth_log : -->
/var/log/radius/radacct/10.XX.XX.123/auth-detail-20160915
(9) auth_log :
/var/log/radius/radacct/%{%{Packet-Src-IP-Address}:-%{Packet-Src-IPv6-Address}}/auth-detail-%Y%m%d
expands to /var/log/radius/radacct/10.XX.XX.123/auth-detail-20160915
(9) auth_log : EXPAND %t
(9) auth_log : --> Thu Sep 15 14:31:48 2016
(9) [auth_log] = ok
(9) } # authorize = ok
(9) Found Auth-Type = Accept
(9) Auth-Type = Accept, accepting the user
(9) Reply:
(9) } # server check-eap-tls
(9) eap_tls : Saving session
6ab28a6057925904eb95751778913a2f16f0ebe38f6e4d4d2699a5731696f1b6 vps
0x7fad652e3110 in the cache
(9) eap : Freeing handler
(9) [eap] = ok
(9) } # authenticate = ok
On Thu, Sep 15, 2016 at 1:50 PM, Matthew West <matthew.t.west at gmail.com> wrote:
> Hi Alex,
>
>> if you read mods-enabled/eap you'll go to the tls {} section and see the bit that says
>>
>> #
>> # As part of checking a client certificate, the EAP-TLS
>> # sets some attributes such as TLS-Client-Cert-CN. This
>> # virtual server has access to these attributes, and can
>> # be used to accept or reject the request.
>> #
>> # virtual_server = check-eap-tls
>
> *blushes* I don't know how I missed that!
>
> Thank you! Back to testing.
>
> Matthew
>
>
>
> On Thu, Sep 15, 2016 at 1:31 PM, <A.L.M.Buxey at lboro.ac.uk> wrote:
>> Hi,
>>
>>> I've placed a symlink in /etc/raddb/sites-enabled to
>>> /etc/raddb/sites-available for the check-eap-tls virtual server.
>>
>> aye...but the server needs to know to send the packet to it....so you need to configure
>> the eap module appropriately,.
>>
>> if you read mods-enabled/eap you'll go to the tls {} section and see the bit that says
>>
>> #
>> # As part of checking a client certificate, the EAP-TLS
>> # sets some attributes such as TLS-Client-Cert-CN. This
>> # virtual server has access to these attributes, and can
>> # be used to accept or reject the request.
>> #
>> # virtual_server = check-eap-tls
>>
>>> eap {
>> <snip>
>>
>>> # Linked to sub-module rlm_eap_tls
>>> tls {
>>> tls = "tls-common"
>>> }
>>
>> <snip>
>>
>>
>>
>> uncomment.
>>
>> enjoy
>>
>>
>> alan
>> -
>> List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
More information about the Freeradius-Users
mailing list