Does FreeRADIUS support PEAPv0/EAP-TLS?
tnt at kalik.net
tnt at kalik.net
Tue Dec 9 11:12:59 CET 2008
http://wiki.freeradius.org/EAP
You should be able to set ananymous as user name for outer tunnel EAP-TLS
negotiation on the supplicant and use EAP-TLS with identity hidden.
Ivan Kalik
Kalik Informatika ISP
Dana 9/12/2008, "Jason Wittlin-Cohen" <jwittlincohen at gmail.com> piše:
>I'm attempting to setup PEAPv0/EAP-TLS which uses EAP-TLS as the inner
>authentication method within PEAP. Unlike EAP-TLS, PEAPv0/EAP-TLS sends the
>client certificate within the secure SSL tunnel, thus protecting the user's
>identity. While RFC-5216 suggests that EAP-TLS can optionally support a
>privacy mode in which the client certificate is pushed through the SSL
>tunnel, I've not found any way to enable this option. I have no particual
>interest in using PEAPv0/EAP-TLS other than the fact that I know it does
>what I want to accomplish. I would be perfectly happy to use EAP-TLS in
>Privacy mode, or PEAPv0/MSCHAPv2 with a required client certificate.
>However, both these modes pass the client certificate in the clear.
>
>Here's what my testing has shown:
>
>EAP-TLS: Works with both Windows XP Supplicant and Juniper Odyssey Access
>Client 4.8
>PEAPv0/EAP-MSCHAPv2- Works with both Windows XP Supplicant and Juniper
>Odyssey Access Client 4.8
>PEAPv0/EAP-MSCHAPv2 + Requierd Client Certificate- Works with Juniper
>Odyssey Access Client 4.8 (XP Supplicant doesn't support MSCHAPv2 +
>Certificate)
>PEAPv0/EAP-TLS- Fails on both supplicants
>
>I don't think my TLS settings are improper, as both EAP-TLS and
>PEAPv0/MS-CHAPv2 + Client Certifciate work fine. The debug logs shows the
>client certificate verified properly.
>
>I've tried pretty much every combination of PEAP options, and after each
>permutation I forced a reauthentication so that I could analyze the packets
>in Wireshark. No combination of settings forced the client certificate
>through the SSL tunnel. I thought " use_tunneled_reply = yes" might
>help, but it did not.
>
>I have pasted the relevant configuration settings below as well as a full
>log of the failure when I attempt to use PEAPv0/EAP-TLS.
>The relevant settings: Other than "default_eap_type = "tls" my settings are
>identical for PEAPv0/EAP-MSCHAPv2 which works fine.
>
>The failure log seems to suggest that "tls" is not a supported
>authentication mode within PEAP.
>
>[files] users: Matched entry DEFAULT at line 200
>++[files] returns ok
>++[expiration] returns noop
>++[logintime] returns noop
>[pap] Found existing Auth-Type, not changing it.
>++[pap] returns noop
>Found Auth-Type = EAP
>+- entering group authenticate {...}
>*rlm_eap: No EAP session matching the State variable.*
>*[eap] Either EAP-request timed out OR EAP-response to an unknown
>EAP-request*
>[eap] Failed in handler
>++[eap] returns invalid
>Failed to authenticate the user.
>Login incorrect: [Jason Wittlin-Cohen] (from client Wireless port 0 via TLS
>tunnel)
>} # server inner-tunnel
>[peap] Got tunneled reply code 3
>[peap] Got tunneled reply RADIUS code 3
>[peap] Tunneled authentication was rejected.
>[peap] FAILURE
>
>*PEAPv0/EAP-TLS Failure Log: *http://pastebin.com/m900e269
>*PEAPv0/MSCHAPv2 Success Log:* http://pastebin.com/m16114697
>*PEAPv.0/MSCHAPv2+Cert Success Log: *http://pastebin.com/m429d9c12
>*EAP-TLS Success Log:* http://pastebin.com/m2b1c62f4
>
>Relevant Settings:
>
> eap {
>
> default_eap_type = "peap"
> timer_expire = 60
> ignore_unknown_eap_types = no
> cisco_accounting_username_bug = no
> max_sessions = 2048
> }
> Module: Linked to sub-module rlm_eap_tls
> Module: Instantiating eap-tls
> tls {
> rsa_key_exchange = no
> dh_key_exchange = yes
> rsa_key_length = 512
> dh_key_length = 3072
> verify_depth = 0
> pem_file_type = yes
> private_key_file = "/etc/freeradius/certs/server_key.pem"
> certificate_file = "/etc/freeradius/certs/server_cert.pem"
> CA_file = "/etc/freeradius/certs/cacert.pem"
> dh_file = "/etc/freeradius/certs/dh3072.pem"
> random_file = "/etc/freeradius/certs/random"
> fragment_size = 1024
> include_length = yes
> check_crl = no
> cipher_list = "HIGH"
> make_cert_command = "/etc/freeradius/certs/bootstrap"
> cache {
> enable = no
>
> peap {
> default_eap_type = "tls"
> copy_request_to_tunnel = no
> use_tunneled_reply = yes
> proxy_tunneled_request_as_eap = no
> virtual_server = "inner-tunnel"
> }
>
> Module: Linked to sub-module rlm_eap_mschapv2
> Module: Instantiating eap-mschapv2
> mschapv2 {
> with_ntdomain_hack = no
>
>modules mschap:
>
> Module: Instantiating mschap
> mschap {
> use_mppe = yes
> require_encryption = yes
> require_strong = yes
> with_ntdomain_hack = no
> }
>
>Users:
>
>"DEFAULT" Cleartext-Password := "**************************************",
>EAP-TLS-Require-Client-Cert := Yes
>
>Note: (*'s represent a 32 character randomly generated password)
>
>Thanks in advance,
>
>Jason
>
>--
>Jason Wittlin-Cohen
>Yale Law School, Class of 2010
>jason.wittlin-cohen at yale.edu
>
>
More information about the Freeradius-Users
mailing list