need help - force EAP-TTLS to validate the server certificate
Hello, I have one question, is it possible to configure my freeradius server so that only clients with a ca certificate can login themselves with their username and password? I want to configure my freeradius server so that the users can only login after the successfully server certificate validation. At the moment I use EAP-TTLS for authentication, but the options in the clients "servercertificate validation" is optional. I want to use EAP-TTLS and force the ca certificate on the clients. Thanks for help! misterklaus -- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl
Klaus Laus wrote:
Hello, I have one question, is it possible to configure my freeradius server so that only clients with a ca certificate can login themselves with their username and password? I want to configure my freeradius server so that the users can only login after the successfully server certificate validation. At the moment I use EAP-TTLS for authentication, but the options in the clients "servercertificate validation" is optional. I want to use EAP-TTLS and force the ca certificate on the clients.
You can't force the client to validate the CA cert. That is a configuration which needs to be set on the client. Alan DeKok.
Thanks a lot Alan DeKok, do I have any possibility to permit login only persons with username/password and client certificate? All authentications methods works fine on my server, but I´ll only permit login with username/password and client certificate. Which code I need to set in users/eap.conf ? TLS works fine on my server and the users can login themselves with the client certificate, but I don´t want allow login without username/password, also I don´t want allow logins with username and password but without client certificates. Best Greetings, misterklaus -------- Original-Nachricht --------
Datum: Wed, 15 Sep 2010 10:47:52 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
Hello, I have one question, is it possible to configure my freeradius server so that only clients with a ca certificate can login themselves with their username and password? I want to configure my freeradius server so that the users can only login after the successfully server certificate validation. At the moment I use EAP-TTLS for authentication, but the options in the clients "servercertificate validation" is optional. I want to use EAP-TTLS and force the ca certificate on the clients.
You can't force the client to validate the CA cert. That is a configuration which needs to be set on the client.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl
Klaus Laus wrote:
Thanks a lot Alan DeKok, do I have any possibility to permit login only persons with username/password and client certificate? All authentications methods works fine on my server, but I´ll only permit login with username/password and client certificate. Which code I need to set in users/eap.conf ? TLS works fine on my server and the users can login themselves with the client certificate, but I don´t want allow login without username/password, also I don´t want allow logins with username and password but without client certificates.
Put this into the "users" file: DEFAULT EAP-TLS-Require-Client-Cert = yes This will require client certificates for *all* EAP methods. If you want it to be more specific, see "man unlang" for writing general policies. Alan DeKok.
Put this into the "users" file:
DEFAULT EAP-TLS-Require-Client-Cert = yes
I did this, but the clients can login furthermore without any client certificate for example with PEAP or EAP-TTLS. Here is my users file: DEFAULT EAP-TLS-Require-Client-Cert = yes testuser Cleartext-Password := "xxxxxxx" Reply-Message = "Hello, %{User-Name}" DEFAULT Framed-Protocol == PPP Framed-Protocol = PPP, Framed-Compression = Van-Jacobson-TCP-IP DEFAULT Hint == "CSLIP" Framed-Protocol = SLIP, Framed-Compression = Van-Jacobson-TCP-IP DEFAULT Hint == "SLIP" Framed-Protocol = SLIP Here's the eap.conf file eap { default_eap_type = md5 timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 2048 md5 { } leap { } gtc { auth_type = PAP } tls { certdir = /etc/ssl cadir = /etc/ssl private_key_password = xxxxxx private_key_file = ${certdir}/serverkey.pem certificate_file = ${certdir}/servercert.pem CA_file = ${cadir}/cacert.pem dh_file = ${certdir}/dh random_file = ${certdir}/random check_crl = no CA_path = /etc/ssl cipher_list = "DEFAULT" cache { enable = no lifetime = 24 # hours max_entries = 255 } } ttls { default_eap_type = md5 copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" } peap { default_eap_type = mschapv2 copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } mschapv2 { } } Any idea's what is wrong here? Thanks -------- Original-Nachricht --------
Datum: Thu, 16 Sep 2010 09:54:28 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
Thanks a lot Alan DeKok, do I have any possibility to permit login only persons with username/password and client certificate? All authentications methods works fine on my server, but I´ll only permit login with username/password and client certificate. Which code I need to set in users/eap.conf ? TLS works fine on my server and the users can login themselves with the client certificate, but I don´t want allow login without username/password, also I don´t want allow logins with username and password but without client certificates.
Put this into the "users" file:
DEFAULT EAP-TLS-Require-Client-Cert = yes
This will require client certificates for *all* EAP methods. If you want it to be more specific, see "man unlang" for writing general policies.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome
Klaus Laus wrote:
I did this, but the clients can login furthermore without any client certificate for example with PEAP or EAP-TTLS. Here is my users file:
<sigh> Is it that hard to show the debug output?
Here's the eap.conf file
Neither the documentation or messages on this list ask for the EAP configuration.
Any idea's what is wrong here? Thanks
If you're not going to post the debug output, we have no idea what's wrong. Alan DeKok.
ok, this is the debug output: FreeRADIUS Version 2.1.6, for host i686-pc-linux-gnu, built on Oct 27 2009 at 17:05:49 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/raddb/radiusd.conf including configuration file /etc/raddb/proxy.conf including configuration file /etc/raddb/clients.conf including files in directory /etc/raddb/modules/ including configuration file /etc/raddb/modules/logintime including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/krb5 including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/ldap including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/chap including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/always including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/eap.conf including configuration file /etc/raddb/policy.conf including files in directory /etc/raddb/sites-enabled/ including configuration file /etc/raddb/sites-enabled/default including configuration file /etc/raddb/sites-enabled/control-socket including configuration file /etc/raddb/sites-enabled/inner-tunnel group = radiusd user = radiusd including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = no zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } client 10.65.100.50 { require_message_authenticator = no secret = "xxxxxxxx" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating eap eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 2048 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } 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 = 512 verify_depth = 0 CA_path = "/etc/ssl" pem_file_type = yes private_key_file = "/etc/ssl/serverkey.pem" certificate_file = "/etc/ssl/servercert.pem" CA_file = "/etc/ssl/cacert.pem" private_key_password = "xxxxxxxxx" dh_file = "/etc/ssl/dh" random_file = "/etc/ssl/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_realm Module: Instantiating suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.access_reject attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating preprocess preprocess { huntgroups = "/etc/raddb/huntgroups" hints = "/etc/raddb/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating detail detail { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Instantiating attr_filter.accounting_response attr_filter attr_filter.accounting_response { attrsfile = "/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } listen { type = "control" listen { socket = "/var/run/radiusd/radiusd.sock" } } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=114, length=144 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x02010008016b6d61 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x3cbbc184709e658cef90b39bdd2f713d +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 1 length 8 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[unix] returns notfound [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser ++[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 {...} [eap] EAP Identity [eap] processing type md5 rlm_eap_md5: Issuing Challenge ++[eap] returns handled Sending Access-Challenge of id 114 to 10.65.100.50 port 32791 Reply-Message = "Hello, testuser" EAP-Message = 0x010200160410739a3e07e94beceb2948b8179492f893 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e146db4438ffe5de6d8918b6a Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=115, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020200060319 State = 0x146fb04e146db4438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x55c243970a8b2fd0a0e14a3fb34a6dc2 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 2 length 6 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[unix] returns notfound [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser ++[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 {...} [eap] Request found, released from the list [eap] EAP NAK [eap] EAP-NAK asked for EAP-Type/peap [eap] processing type tls [tls] Initiate [tls] Start returned 1 ++[eap] returns handled Sending Access-Challenge of id 115 to 10.65.100.50 port 32791 Reply-Message = "Hello, testuser" EAP-Message = 0x010300061920 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e156ca9438ffe5de6d8918b6a Finished request 1. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=116, length=266 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0203007019800000006616030100610100005d03014c91fe49a98cf5c95b36c59cb731bcd848a2d74e329b0506827eeaeaa32bedad00003600390038003500160013000a00330032002f0007006600050004006300620061001500120009006500640060001400110008000600030100 State = 0x146fb04e156ca9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x9f28ec17594a81915f8211ac4571a49f +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 3 length 112 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 102 [peap] Length Included [peap] eaptls_verify returned 11 [peap] (other): before/accept initialization [peap] TLS_accept: before/accept initialization [peap] <<< TLS 1.0 Handshake [length 0061], ClientHello [peap] TLS_accept: SSLv3 read client hello A [peap] >>> TLS 1.0 Handshake [length 002a], ServerHello [peap] TLS_accept: SSLv3 write server hello A [peap] >>> TLS 1.0 Handshake [length 0831], Certificate [peap] TLS_accept: SSLv3 write certificate A [peap] >>> TLS 1.0 Handshake [length 018d], ServerKeyExchange [peap] TLS_accept: SSLv3 write key exchange A [peap] >>> TLS 1.0 Handshake [length 0004], ServerHelloDone [peap] TLS_accept: SSLv3 write server done A [peap] TLS_accept: SSLv3 flush data [peap] TLS_accept: Need to read more data: SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 116 to 10.65.100.50 port 32791 EAP-Message = 0x0104040019c000000a00160301002a0200002603014c91fe3487b8822273684027dd3bacb77e310ac96857b292096c37aacd89e7fa0000390016030108310b00082d00082a0003db308203d7308202bfa003020102020101300d06092a864886f70d01010505003074310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368301e170d3130303930363137313335325a170d3131303930363137313335325a EAP-Message = 0x306d310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d62657267311c301a060355040a13135361757465722d43756d756c757320476d6248312330210603550403131a726164697573746573742e667262672e7361757465722e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100af7258cb0537e6dc5195e17615d9f12b7812f3a8b42d92c5961a6c0509fbb11515ee6dc9026933b45805fd11ca4ab771fdba2ed701ac9dba9d6a2582732be86a85198bd6264934f4fc3e886188ae79025d67aa1b654ee1f7888872ffba1fcf2008e7c6a20b0a9d3ef161414849 EAP-Message = 0x22593f76ebc38c2dc6ebe26d3a1d23b68cf1aebf164f9ac7d78dc8ca94357fdec227751be1a547c09c267b6bf5108d3f22e09d468754de49778e1dc75c4427dbe08db6fe8f9f1c3f64f4650cd1abb96922adc5beaeb50ffa6be76c2ae9fe1cea02e73df394411ff98be4239f2df447b9c2c1380e11afe8880269f0e8e5ab72c7ec6e87ce1c95fef3e832d8f9ac12f86c93925f0203010001a37b307930090603551d1304023000302c06096086480186f842010d041f161d4f70656e53534c2047656e657261746564204365727469666963617465301d0603551d0e041604145ba25c767b248d2d0e6a5ac498880878c7723124301f0603551d230418 EAP-Message = 0x301680147eceb96deb6bd80d6d82a6691ea4d9e2c4cb4202300d06092a864886f70d010105050003820101006eb0bceb3c4bb3a837c380193e2024222e69e46a422e8740bb9d0ec7047bcd490333edf5b6078950755953f8a10dc643d89af6f82e92a359a79646d84cf51a1f38fca53b81706916df56ad70c3f6facdad7a88c84845bb4b347e03323bc3d02cb19c93016cf4866936dc4d71677bf04868a4aa4169e066e599dad72933da3645439e6657c828f0581318ee04aa3ff41acec2857c291e1e5c0ed9fe22dd23f9752a0cb04c589c2d265cd90ed25604d255979680f0c84f3d107d5f36bff0417aad0ad31d1b44a88f5682bb6fd1408d95e8f8 EAP-Message = 0xcbda6c00dccba82a9fab719b Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e166ba9438ffe5de6d8918b6a Finished request 2. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=117, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020400061900 State = 0x146fb04e166ba9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x44fbb8d5b5794231e160cbdf297ae974 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 4 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 117 to 10.65.100.50 port 32791 EAP-Message = 0x010503fc1940e8785b175d14862f674bda7be53d94083dc02e24490637868a52901d27f1e314e19547000449308204453082032da003020102020900d13a98af8d2d2682300d06092a864886f70d01010505003074310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368301e170d3130303930363136353335355a170d3131303930363136353335355a3074310b3009060355040613024445311b301906 EAP-Message = 0x035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d6261636830820122300d06092a864886f70d01010105000382010f003082010a0282010100da0bb9ea3edf1a4254c2255396719d84e64d3034a1969e52fbe487bb084b2f257c7bbd2a012715bf9401acac43284f7950a915223d44a81ae5cd6d2cc6d9f00bca4d097896d86012edf9a6ddccfa9466e58773fc9506d2227a76c242d361e2367f122b4a6f87fc82952604f1df78ef3971b23d96ee1d3a9d523c EAP-Message = 0xd77d5cdafcba00909b8c89b4c3da27f52095816f75fb9f5aab6ff92cfd06ed0e72fcf7aaf6b67e2ff8d925f023d5c9e8aef68453cbf49bd2f60364520ffcb13fa0943f1ced1f9797520654bedab6670ed41d77499da10a9fd13af6fd8da181cf88c3cdaf6e53b3275ea6a5b4c59c3f001484b1e4a4ab080407f5c42a4a082970853e0aeaa6250203010001a381d93081d6301d0603551d0e041604147eceb96deb6bd80d6d82a6691ea4d9e2c4cb42023081a60603551d2304819e30819b80147eceb96deb6bd80d6d82a6691ea4d9e2c4cb4202a178a4763074310b3009060355040613024445311b301906035504081312426164656e2d5775657274 EAP-Message = 0x74656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368820900d13a98af8d2d2682300c0603551d13040530030101ff300d06092a864886f70d010105050003820101007327a25a47ad3b89c6d83501e69b3c7a4a8f4fe2e17ad0f6544608ba61f9e0821678f37a1c9639a427f471c478f46bec7c9f69a30e39a88f3d1936df0b1bdf07661bb2a000acb2d4fa79a5e03c86de62a3f64506491fa2bad8748afd18420fdfec81d23501d15fdc86b4fbb8e9c931b0443c51171c294815b5838379e0953f EAP-Message = 0x59589be19952b366 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e176aa9438ffe5de6d8918b6a Finished request 3. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=118, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020500061900 State = 0x146fb04e176aa9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x292aa35d20c8002dde6bade34ca718dc +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 5 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 118 to 10.65.100.50 port 32791 EAP-Message = 0x0106021a1900aeeae728dc66b68e1d8a309139e376e0f60d810a7505266b4b94988e4b1ceedae8898a667d8f04706261a0e8a08fabe186dde88221a3d58bec54e1ab5e5978bef73257f30637509ea41c24363c7f92d9af8eeb9ad24d11cd27824b1ec1e01f2821054184f28a596d23d14d50a928c180c782919b58273058f6160301018d0c0001890040dd176c46152fe3c986afa59e242da816936065e55afc075caad17d1a554fa9185954096f6eb07311af328409df210464d11d1280d5cb083a2a09de1eca09bc1f0001050040881180176f27ee1dfc0b1831a1afb90535eae15372393ab3ed9a430e3db6e3fb2f3cf6e53d3ad886b1147c01dd72 EAP-Message = 0xdcd67d0865e66f1db0f59ee2b7bd80b6afe501008d6e0c4b952f8381c5e52d2457115d2fb3f7a3b33087c9de0af555513f7c97d857e7f06c48c6d100278c1ebe0055439519d7c8ba90ce4b6939cfc48961131de7ea3e2dced52c925d6d7675b78c0dbb0846bc7eead1c96a151d4285a5de4af3f25f386f60bf1cbff3edff32b675a3dd1dcd35bd11c4318bac76e14eb026494b881d2ab2fa40032cbeadd321f8be1c159fad251d3f6cdfb02a9c9fda08838142976610d284ed6e2c992c39127ec58097433e7440667a4028e11d6a48f6c7f161ecc7904e9291318fb9ac84d56a14d555abfe352d467acd7d957f67684062006b1184e6621f8e8cfdf9f5 EAP-Message = 0x2b44962f5f43e4a26a0d2146f2963ddf37704a386e25d416030100040e000000 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1069a9438ffe5de6d8918b6a Finished request 4. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=119, length=298 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020600901980000000861603010046100000420040d6ce8558c55b2f4b779e21a769e80ae1a7285817941bbb1b427fbd98c3f448ba9e5acfacc468aba6ccd1051a99a4a1eb13cb530f4ec3520b7943a217ef7404481403010001011603010030267e42128241e550234b52c4fc58616d01c3c2f04e862210d8d3ed652410d1e116acf17b2618d4972f325986eea2809d State = 0x146fb04e1069a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0xf7fcbd1a29f6af1476fea9f0d76d5a12 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 6 length 144 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 134 [peap] Length Included [peap] eaptls_verify returned 11 [peap] <<< TLS 1.0 Handshake [length 0046], ClientKeyExchange [peap] TLS_accept: SSLv3 read client key exchange A [peap] <<< TLS 1.0 ChangeCipherSpec [length 0001] [peap] <<< TLS 1.0 Handshake [length 0010], Finished [peap] TLS_accept: SSLv3 read finished A [peap] >>> TLS 1.0 ChangeCipherSpec [length 0001] [peap] TLS_accept: SSLv3 write change cipher spec A [peap] >>> TLS 1.0 Handshake [length 0010], Finished [peap] TLS_accept: SSLv3 write finished A [peap] TLS_accept: SSLv3 flush data [peap] (other): SSL negotiation finished successfully SSL Connection Established [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 119 to 10.65.100.50 port 32791 EAP-Message = 0x010700411900140301000101160301003059ea927eecffd98015702b3b6ae3f2cf0083b8809b7c6e943549cf1af8de0664820fd44155ab3fb36566e0d7fffe486f Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1168a9438ffe5de6d8918b6a Finished request 5. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=120, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020700061900 State = 0x146fb04e1168a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x5b5400a4346b7e0e7202ee94ca4ed8d3 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 7 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake is finished [peap] eaptls_verify returned 3 [peap] eaptls_process returned 3 [peap] EAPTLS_SUCCESS ++[eap] returns handled Sending Access-Challenge of id 120 to 10.65.100.50 port 32791 EAP-Message = 0x0108002b19001703010020d03ba37e6bc5dc557a376c4246f8bfb50b2935ca258dc4465681962b70fbdab9 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1267a9438ffe5de6d8918b6a Finished request 6. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=121, length=234 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0208005019001703010020af51d2ad8a6ac5ff4fa0048ed9253a4294d39d383830b7d8b3e1b814663ae0961703010020430e06a7415f46e9821ed0e29e0328ab48ef25cb6289f9519f9b5c4459f315e4 State = 0x146fb04e1267a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x8c67d38f63d1f87ea0286ab5cc57c3f8 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 8 length 80 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] Identity - testuser [peap] Got tunneled request EAP-Message = 0x02080008016b6d61 server { PEAP: Got tunneled identity of testuser PEAP: Setting default EAP type for tunneled EAP session. PEAP: Setting User-Name to testuser Sending tunneled request EAP-Message = 0x02080008016b6d61 FreeRADIUS-Proxied-To = 127.0.0.1 User-Name = "testuser" server inner-tunnel { +- entering group authorize {...} ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[control] returns noop [eap] EAP packet type response id 8 length 8 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser ++[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 {...} [eap] EAP Identity [eap] processing type mschapv2 rlm_eap_mschapv2: Issuing Challenge ++[eap] returns handled } # server inner-tunnel [peap] Got tunneled reply code 11 Reply-Message = "Hello, testuser" EAP-Message = 0x0109001d1a010900181010505b40b65f8da5df3e631fa0eddfaa6b6d61 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xd0ad1ff3d0a4052dc28d5a3bf8e55c14 [peap] Got tunneled reply RADIUS code 11 Reply-Message = "Hello, testuser" EAP-Message = 0x0109001d1a010900181010505b40b65f8da5df3e631fa0eddfaa6b6d61 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xd0ad1ff3d0a4052dc28d5a3bf8e55c14 [peap] Got tunneled Access-Challenge ++[eap] returns handled Sending Access-Challenge of id 121 to 10.65.100.50 port 32791 EAP-Message = 0x0109003b1900170301003013ae0544bc2cad43f20a2c91c4e0d9f68649b56f6af2b9ada9f6e37eb55a583b28c6a2f34bc41be16b06d8855d5c0765 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1366a9438ffe5de6d8918b6a Finished request 7. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=122, length=282 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0209008019001703010020dfafddfd32b180bd41f6b94d1c0c6dab4fe9fad5d6214881e8759ba5d3d37fb917030100509fbe1fffed1077a519daef3be5ef5ba8a26cabe56ee1560fe3b76ed8be9f3d5951dd23d9a78db5db5da7cbdadaafc15e2eff1461c94907a55636a338b1730b61330af0be4b26c2165f66caa527f2aa3d State = 0x146fb04e1366a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x209d97fd5ee96f0bd3349fae536184e7 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 9 length 128 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] EAP type mschapv2 [peap] Got tunneled request EAP-Message = 0x0209003e1a0209003931d9d8b102ce83de433f276c5661497f430000000000000000058ea3e6714d16d2e41c1e0427a10d61e590046982f3a3e9006b6d61 server { PEAP: Setting User-Name to testuser Sending tunneled request EAP-Message = 0x0209003e1a0209003931d9d8b102ce83de433f276c5661497f430000000000000000058ea3e6714d16d2e41c1e0427a10d61e590046982f3a3e9006b6d61 FreeRADIUS-Proxied-To = 127.0.0.1 User-Name = "testuser" State = 0xd0ad1ff3d0a4052dc28d5a3bf8e55c14 server inner-tunnel { +- entering group authorize {...} ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[control] returns noop [eap] EAP packet type response id 9 length 62 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser ++[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 {...} [eap] Request found, released from the list [eap] EAP/mschapv2 [eap] processing type mschapv2 [mschapv2] +- entering group MS-CHAP {...} [mschap] Told to do MS-CHAPv2 for testuser with NT-Password [mschap] adding MS-CHAPv2 MPPE keys ++[mschap] returns ok MSCHAP Success ++[eap] returns handled } # server inner-tunnel [peap] Got tunneled reply code 11 Reply-Message = "Hello, testuser" EAP-Message = 0x010a00331a0309002e533d35413831414632463839313838374237313232343234423138353036364233353839384135453032 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xd0ad1ff3d1a7052dc28d5a3bf8e55c14 [peap] Got tunneled reply RADIUS code 11 Reply-Message = "Hello, testuser" EAP-Message = 0x010a00331a0309002e533d35413831414632463839313838374237313232343234423138353036364233353839384135453032 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xd0ad1ff3d1a7052dc28d5a3bf8e55c14 [peap] Got tunneled Access-Challenge ++[eap] returns handled Sending Access-Challenge of id 122 to 10.65.100.50 port 32791 EAP-Message = 0x010a005b19001703010050ab1aaba3a5cc5d5f59306fc52cecd149035314cf6d8314ca557ea3ecbb779c1534e74bab56d83af7d409691bcc58dc9faf420609db996026e48a28adcb10273702bc4cf06aa6a233a245b546f86d31e8 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1c65a9438ffe5de6d8918b6a Finished request 8. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=123, length=234 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020a005019001703010020d0614fa7b8ff8083b8d61774ddd773b933ed30cb41288bcf98e440a8645e22481703010020e8ebccaf018fb150c034423d895981e1d63b153bf0cf10c861213329bbd0c27c State = 0x146fb04e1c65a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x9643c28111cc622d3251820415ba9354 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 10 length 80 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] EAP type mschapv2 [peap] Got tunneled request EAP-Message = 0x020a00061a03 server { PEAP: Setting User-Name to testuser Sending tunneled request EAP-Message = 0x020a00061a03 FreeRADIUS-Proxied-To = 127.0.0.1 User-Name = "testuser" State = 0xd0ad1ff3d1a7052dc28d5a3bf8e55c14 server inner-tunnel { +- entering group authorize {...} ++[chap] returns noop ++[mschap] returns noop ++[unix] returns notfound [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop ++[control] returns noop [eap] EAP packet type response id 10 length 6 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser ++[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 {...} [eap] Request found, released from the list [eap] EAP/mschapv2 [eap] processing type mschapv2 [eap] Freeing handler ++[eap] returns ok } # server inner-tunnel [peap] Got tunneled reply code 2 Reply-Message = "Hello, testuser" EAP-Message = 0x030a0004 Message-Authenticator = 0x00000000000000000000000000000000 User-Name = "testuser" [peap] Got tunneled reply RADIUS code 2 Reply-Message = "Hello, testuser" EAP-Message = 0x030a0004 Message-Authenticator = 0x00000000000000000000000000000000 User-Name = "testuser" [peap] Tunneled authentication was successful. [peap] SUCCESS ++[eap] returns handled Sending Access-Challenge of id 123 to 10.65.100.50 port 32791 EAP-Message = 0x010b002b19001703010020a8df9ff0b3e5e9a331325791d8583c2795bb421537785af150ff1b0fdca12287 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x146fb04e1d64a9438ffe5de6d8918b6a Finished request 9. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=124, length=234 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020b005019001703010020d5209467556655064d523534a66fa7c13c2fc859320517c17d261e216ac9b79d170301002091f579c57bca10d4cdbc96d51162ae6d02f5a6d09583783ab48fa531ef454bea State = 0x146fb04e1d64a9438ffe5de6d8918b6a Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x907e9f43252bb1d42864f0d89673bcf9 +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 11 length 80 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] eaptls_verify returned 7 [peap] Done initial handshake [peap] eaptls_process returned 7 [peap] EAPTLS_OK [peap] Session established. Decoding tunneled attributes. [peap] Received EAP-TLV response. [peap] Success [eap] Freeing handler ++[eap] returns ok +- entering group post-auth {...} ++[exec] returns noop Sending Access-Accept of id 124 to 10.65.100.50 port 32791 MS-MPPE-Recv-Key = 0x8707580784ad40615e2a1374d89d53c30341db4e93477116cf340714bdd8640f MS-MPPE-Send-Key = 0xf96a66741663540faac3b50720bfc29ee58b10d8cfc7469a644c502026bf6041 EAP-Message = 0x030b0004 Message-Authenticator = 0x00000000000000000000000000000000 User-Name = "testuser" Finished request 10. Going to the next request Waking up in 4.6 seconds. Cleaning up request 0 ID 114 with timestamp +5 Cleaning up request 1 ID 115 with timestamp +5 Waking up in 0.1 seconds. Cleaning up request 2 ID 116 with timestamp +5 Cleaning up request 3 ID 117 with timestamp +5 Cleaning up request 4 ID 118 with timestamp +5 Cleaning up request 5 ID 119 with timestamp +5 Cleaning up request 6 ID 120 with timestamp +5 Cleaning up request 7 ID 121 with timestamp +5 Cleaning up request 8 ID 122 with timestamp +5 Cleaning up request 9 ID 123 with timestamp +5 Cleaning up request 10 ID 124 with timestamp +5 Ready to process requests. -------- Original-Nachricht --------
Datum: Thu, 16 Sep 2010 14:07:28 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
I did this, but the clients can login furthermore without any client certificate for example with PEAP or EAP-TTLS. Here is my users file:
<sigh> Is it that hard to show the debug output?
Here's the eap.conf file
Neither the documentation or messages on this list ask for the EAP configuration.
Any idea's what is wrong here? Thanks
If you're not going to post the debug output, we have no idea what's wrong.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl
On 16/09/10 14:35, Klaus Laus wrote:
ok, this is the debug output:
FreeRADIUS Version 2.1.6, for host i686-pc-linux-gnu, built on Oct 27 2009 at 17:05:49 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/raddb/radiusd.conf including configuration file /etc/raddb/proxy.conf including configuration file /etc/raddb/clients.conf including files in directory /etc/raddb/modules/ including configuration file /etc/raddb/modules/logintime including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/krb5 including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/ldap including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/chap including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/always including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/eap.conf including configuration file /etc/raddb/policy.conf including files in directory /etc/raddb/sites-enabled/ including configuration file /etc/raddb/sites-enabled/default including configuration file /etc/raddb/sites-enabled/control-socket including configuration file /etc/raddb/sites-enabled/inner-tunnel group = radiusd user = radiusd including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = no zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } client 10.65.100.50 { require_message_authenticator = no secret = "xxxxxxxx" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating eap eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 2048 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } 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 = 512 verify_depth = 0 CA_path = "/etc/ssl" pem_file_type = yes private_key_file = "/etc/ssl/serverkey.pem" certificate_file = "/etc/ssl/servercert.pem" CA_file = "/etc/ssl/cacert.pem" private_key_password = "xxxxxxxxx" dh_file = "/etc/ssl/dh" random_file = "/etc/ssl/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_realm Module: Instantiating suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.access_reject attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating preprocess preprocess { huntgroups = "/etc/raddb/huntgroups" hints = "/etc/raddb/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating detail detail { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Instantiating attr_filter.accounting_response attr_filter attr_filter.accounting_response { attrsfile = "/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } listen { type = "control" listen { socket = "/var/run/radiusd/radiusd.sock" } } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=114, length=144 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x02010008016b6d61 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x3cbbc184709e658cef90b39bdd2f713d +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 1 length 8 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[unix] returns notfound [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser
"files" is running after "eap" here, so when you set: DEFAULT EAP-TLS-Require-Client-Cert = yes ...it's after the EAP module has already run, so is little use. Either move the "files" module before "eap", or use unlang to set it: authorize { ... update control { EAP-TLS-Require-Client-Cert = yes } eap ... }
thanks a lot for your answer.
Either move the "files" module before "eap", or use unlang to set it:
authorize { ... update control { EAP-TLS-Require-Client-Cert = yes } eap ... } I did the changes in the authorize section, and freeradius seems to require the client certificate. But the server is not accept my certificate. I don't think that the certificate is bad because I can login any client with the same certificate when I use TLS instead of PEAP. This is my way to login with PEAP on a windows xp client maybe I do anything wrong? : I import the pksc12 certificate from the freeradius server in the windows xp certificate management. When I type certmgr.msc under "run" I can see that the certificate is successfully imported. Then I scan for the wireless networks and connect to wifix, I use PEAP with MSCHAP v.2 and type in testuser as user with the correct password. Here you can see the debug output (freeradius did not find my certificate):
ps: thanks all for your very good help! FreeRADIUS Version 2.1.6, for host i686-pc-linux-gnu, built on Oct 27 2009 at 17:05:49 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/raddb/radiusd.conf including configuration file /etc/raddb/proxy.conf including configuration file /etc/raddb/clients.conf including files in directory /etc/raddb/modules/ including configuration file /etc/raddb/modules/logintime including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/krb5 including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/ldap including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/chap including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/always including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/eap.conf including configuration file /etc/raddb/policy.conf including files in directory /etc/raddb/sites-enabled/ including configuration file /etc/raddb/sites-enabled/default including configuration file /etc/raddb/sites-enabled/control-socket including configuration file /etc/raddb/sites-enabled/inner-tunnel group = radiusd user = radiusd including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = no zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } client 10.65.100.50 { require_message_authenticator = no secret = "xxxxxxx" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating eap eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 2048 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } 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 = 512 verify_depth = 0 CA_path = "/etc/ssl" pem_file_type = yes private_key_file = "/etc/ssl/serverkey.pem" certificate_file = "/etc/ssl/servercert.pem" CA_file = "/etc/ssl/cacert.pem" private_key_password = "xxxxxx" dh_file = "/etc/ssl/dh" random_file = "/etc/ssl/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_realm Module: Instantiating suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.access_reject attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating preprocess preprocess { huntgroups = "/etc/raddb/huntgroups" hints = "/etc/raddb/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Linked to module rlm_acct_unique Module: Instantiating acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating detail detail { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Instantiating attr_filter.accounting_response attr_filter attr_filter.accounting_response { attrsfile = "/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } listen { type = "control" listen { socket = "/var/run/radiusd/radiusd.sock" } } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=4, length=144 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x02010008016b6d61 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0xdf87e897b86f8e557482d2f53afa6ff0 +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 1 length 8 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated Found Auth-Type = EAP +- entering group authenticate {...} [eap] EAP Identity [eap] processing type md5 rlm_eap_md5: Issuing Challenge ++[eap] returns handled Sending Access-Challenge of id 4 to 10.65.100.50 port 32791 EAP-Message = 0x010200160410f37f3bcfebbe041e2a403ab75ec215a0 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3f25f9043f27fd753b744dff47904da8 Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=5, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020200060319 State = 0x3f25f9043f27fd753b744dff47904da8 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0xd10a979c71dba5fb0a02910e4cc5e02b +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 2 length 6 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP NAK [eap] EAP-NAK asked for EAP-Type/peap [eap] processing type tls [tls] Requiring client certificate [tls] Initiate [tls] Start returned 1 ++[eap] returns handled Sending Access-Challenge of id 5 to 10.65.100.50 port 32791 EAP-Message = 0x010300061920 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3f25f9043e26e0753b744dff47904da8 Finished request 1. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=6, length=266 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0203007019800000006616030100610100005d03014c937b013fe3fcdf2f6c35cdf0b04b888403ed76762d64222568bba2a2e567b900003600390038003500160013000a00330032002f0007006600050004006300620061001500120009006500640060001400110008000600030100 State = 0x3f25f9043e26e0753b744dff47904da8 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0xd8805572f26df2cb8db8d6f234cbedc7 +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 3 length 112 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 102 [peap] Length Included [peap] eaptls_verify returned 11 [peap] (other): before/accept initialization [peap] TLS_accept: before/accept initialization [peap] <<< TLS 1.0 Handshake [length 0061], ClientHello [peap] TLS_accept: SSLv3 read client hello A [peap] >>> TLS 1.0 Handshake [length 002a], ServerHello [peap] TLS_accept: SSLv3 write server hello A [peap] >>> TLS 1.0 Handshake [length 0831], Certificate [peap] TLS_accept: SSLv3 write certificate A [peap] >>> TLS 1.0 Handshake [length 018d], ServerKeyExchange [peap] TLS_accept: SSLv3 write key exchange A [peap] >>> TLS 1.0 Handshake [length 0088], CertificateRequest [peap] TLS_accept: SSLv3 write certificate request A [peap] TLS_accept: SSLv3 flush data [peap] TLS_accept: Need to read more data: SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 6 to 10.65.100.50 port 32791 EAP-Message = 0x0104040019c000000a84160301002a0200002603014c937aeba2a256b0dc1c42dcff73663767bb53421fbe42c572bb8c76699cf9860000390016030108310b00082d00082a0003db308203d7308202bfa003020102020101300d06092a864886f70d01010505003074310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368301e170d3130303930363137313335325a170d3131303930363137313335325a EAP-Message = 0x306d310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d62657267311c301a060355040a13135361757465722d43756d756c757320476d6248312330210603550403131a726164697573746573742e667262672e7361757465722e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100af7258cb0537e6dc5195e17615d9f12b7812f3a8b42d92c5961a6c0509fbb11515ee6dc9026933b45805fd11ca4ab771fdba2ed701ac9dba9d6a2582732be86a85198bd6264934f4fc3e886188ae79025d67aa1b654ee1f7888872ffba1fcf2008e7c6a20b0a9d3ef161414849 EAP-Message = 0x22593f76ebc38c2dc6ebe26d3a1d23b68cf1aebf164f9ac7d78dc8ca94357fdec227751be1a547c09c267b6bf5108d3f22e09d468754de49778e1dc75c4427dbe08db6fe8f9f1c3f64f4650cd1abb96922adc5beaeb50ffa6be76c2ae9fe1cea02e73df394411ff98be4239f2df447b9c2c1380e11afe8880269f0e8e5ab72c7ec6e87ce1c95fef3e832d8f9ac12f86c93925f0203010001a37b307930090603551d1304023000302c06096086480186f842010d041f161d4f70656e53534c2047656e657261746564204365727469666963617465301d0603551d0e041604145ba25c767b248d2d0e6a5ac498880878c7723124301f0603551d230418 EAP-Message = 0x301680147eceb96deb6bd80d6d82a6691ea4d9e2c4cb4202300d06092a864886f70d010105050003820101006eb0bceb3c4bb3a837c380193e2024222e69e46a422e8740bb9d0ec7047bcd490333edf5b6078950755953f8a10dc643d89af6f82e92a359a79646d84cf51a1f38fca53b81706916df56ad70c3f6facdad7a88c84845bb4b347e03323bc3d02cb19c93016cf4866936dc4d71677bf04868a4aa4169e066e599dad72933da3645439e6657c828f0581318ee04aa3ff41acec2857c291e1e5c0ed9fe22dd23f9752a0cb04c589c2d265cd90ed25604d255979680f0c84f3d107d5f36bff0417aad0ad31d1b44a88f5682bb6fd1408d95e8f8 EAP-Message = 0xcbda6c00dccba82a9fab719b Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3f25f9043d21e0753b744dff47904da8 Finished request 2. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=7, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020400061900 State = 0x3f25f9043d21e0753b744dff47904da8 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x7de72c3ae969feb8b5f0ca7d28228832 +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 4 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 7 to 10.65.100.50 port 32791 EAP-Message = 0x010503fc1940e8785b175d14862f674bda7be53d94083dc02e24490637868a52901d27f1e314e19547000449308204453082032da003020102020900d13a98af8d2d2682300d06092a864886f70d01010505003074310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368301e170d3130303930363136353335355a170d3131303930363136353335355a3074310b3009060355040613024445311b301906 EAP-Message = 0x035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d6261636830820122300d06092a864886f70d01010105000382010f003082010a0282010100da0bb9ea3edf1a4254c2255396719d84e64d3034a1969e52fbe487bb084b2f257c7bbd2a012715bf9401acac43284f7950a915223d44a81ae5cd6d2cc6d9f00bca4d097896d86012edf9a6ddccfa9466e58773fc9506d2227a76c242d361e2367f122b4a6f87fc82952604f1df78ef3971b23d96ee1d3a9d523c EAP-Message = 0xd77d5cdafcba00909b8c89b4c3da27f52095816f75fb9f5aab6ff92cfd06ed0e72fcf7aaf6b67e2ff8d925f023d5c9e8aef68453cbf49bd2f60364520ffcb13fa0943f1ced1f9797520654bedab6670ed41d77499da10a9fd13af6fd8da181cf88c3cdaf6e53b3275ea6a5b4c59c3f001484b1e4a4ab080407f5c42a4a082970853e0aeaa6250203010001a381d93081d6301d0603551d0e041604147eceb96deb6bd80d6d82a6691ea4d9e2c4cb42023081a60603551d2304819e30819b80147eceb96deb6bd80d6d82a6691ea4d9e2c4cb4202a178a4763074310b3009060355040613024445311b301906035504081312426164656e2d5775657274 EAP-Message = 0x74656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d62616368820900d13a98af8d2d2682300c0603551d13040530030101ff300d06092a864886f70d010105050003820101007327a25a47ad3b89c6d83501e69b3c7a4a8f4fe2e17ad0f6544608ba61f9e0821678f37a1c9639a427f471c478f46bec7c9f69a30e39a88f3d1936df0b1bdf07661bb2a000acb2d4fa79a5e03c86de62a3f64506491fa2bad8748afd18420fdfec81d23501d15fdc86b4fbb8e9c931b0443c51171c294815b5838379e0953f EAP-Message = 0x59589be19952b366 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3f25f9043c20e0753b744dff47904da8 Finished request 3. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=8, length=160 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x020500061900 State = 0x3f25f9043c20e0753b744dff47904da8 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x5350cc86ad25169c3c750d66e27a7a87 +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 5 length 6 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS [peap] Received TLS ACK [peap] ACK handshake fragment handler [peap] eaptls_verify returned 1 [peap] eaptls_process returned 13 [peap] EAPTLS_HANDLED ++[eap] returns handled Sending Access-Challenge of id 8 to 10.65.100.50 port 32791 EAP-Message = 0x0106029e1900aeeae728dc66b68e1d8a309139e376e0f60d810a7505266b4b94988e4b1ceedae8898a667d8f04706261a0e8a08fabe186dde88221a3d58bec54e1ab5e5978bef73257f30637509ea41c24363c7f92d9af8eeb9ad24d11cd27824b1ec1e01f2821054184f28a596d23d14d50a928c180c782919b58273058f6160301018d0c0001890040dd176c46152fe3c986afa59e242da816936065e55afc075caad17d1a554fa9185954096f6eb07311af328409df210464d11d1280d5cb083a2a09de1eca09bc1f000105004055311a5874c6e2b72f961e668c6b3d2d601b9e6c36fa6315071d69e8c5138a3851327f2de71b320c924b04d10069 EAP-Message = 0xc65cb7bcb9c577f35991aa38aa19aa4906c601004d1186b953e90603a1826fd3e48b6dc487d3fd5451923e97dd9dc9e5b4e9485940eb47f64c2d54e2a4998f5b0a56766ee64ce2cc9f677a1e0dec6fa0b990bc6717f48981b2ec4e3b35ef56c29763c5505c9fc1014c31923a439e20a16b49f9812bab931d0eb5f862dd274124d3e067d63fe9303a61a7e37d51d18ed0521b6dbd12184e46ca95f30cefd9f94e29bf2cd28babb6a56f03a111ecfea8eb7b6ebf8ffc55871f3ad45fb5edd5a1cc0c12b9b4223489574cb45f4268662fa805844acf1b080b88760edfa6f1198814ab12a2e87262245ed54b9a634f14743e83aa4edb1219fec8815e9a01ca EAP-Message = 0xf5699d21162364c1ebc9a42d907af3559344c46a17418316030100880d000080050304010240007800763074310b3009060355040613024445311b301906035504081312426164656e2d577565727474656d626572673111300f060355040713084672656962757267311c301a060355040a13135361757465722d43756d756c757320476d6248311730150603550403130e4d6172636f204b616c6d626163680e000000 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x3f25f9043b23e0753b744dff47904da8 Finished request 4. Going to the next request Waking up in 4.7 seconds. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=9, length=310 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x0206009c19800000009216030100070b0000030000001603010046100000420040d2f3945de07408d38befe9ee2604880eeff1ed35718731b387080e2941942cbb8fe43238881d111b1a36a020e5c21a5739c9d0a66c3c955cc84baeb3138f2b0914030100010116030100308cf41a7573c4ad40a8161b748b11fa3a9888e0fa13c3d2f41cc6a7703902fa736455ce112c2951d5fe166af5041d8294 State = 0x3f25f9043b23e0753b744dff47904da8 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x0aa542dcaac69b04c228e15d97addc5a +- entering group authorize {...} ++[control] returns notfound [eap] EAP packet type response id 6 length 156 [eap] Continuing tunnel setup. ++[eap] returns ok Found Auth-Type = EAP +- entering group authenticate {...} [eap] Request found, released from the list [eap] EAP/peap [eap] processing type peap [peap] processing EAP-TLS TLS Length 146 [peap] Length Included [peap] eaptls_verify returned 11 [peap] <<< TLS 1.0 Handshake [length 0007], Certificate [peap] >>> TLS 1.0 Alert [length 0002], fatal handshake_failure TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails. TLS receive handshake failed during operation [peap] eaptls_process returned 4 [peap] EAPTLS_OTHERS [eap] Handler failed in EAP/peap [eap] Failed in EAP select ++[eap] returns invalid Failed to authenticate the user. Using Post-Auth-Type Reject +- entering group REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> testuser attr_filter: Matched entry DEFAULT at line 11 ++[attr_filter.access_reject] returns updated Delaying reject of request 5 for 1 seconds Going to the next request Waking up in 0.9 seconds. Sending delayed reject for request 5 Sending Access-Reject of id 9 to 10.65.100.50 port 32791 EAP-Message = 0x04060004 Message-Authenticator = 0x00000000000000000000000000000000 Waking up in 3.7 seconds. Cleaning up request 0 ID 4 with timestamp +16 Cleaning up request 1 ID 5 with timestamp +16 Waking up in 0.2 seconds. Cleaning up request 2 ID 6 with timestamp +16 Cleaning up request 3 ID 7 with timestamp +16 Cleaning up request 4 ID 8 with timestamp +16 Waking up in 1.0 seconds. Cleaning up request 5 ID 9 with timestamp +16 Ready to process requests. -------- Original-Nachricht --------
Datum: Thu, 16 Sep 2010 15:35:54 +0100 Von: Phil Mayers <p.mayers@imperial.ac.uk> An: freeradius-users@lists.freeradius.org Betreff: Re: need help - force EAP-TTLS to validate the server certificate
On 16/09/10 14:35, Klaus Laus wrote:
ok, this is the debug output:
FreeRADIUS Version 2.1.6, for host i686-pc-linux-gnu, built on Oct 27 2009 at 17:05:49 Copyright (C) 1999-2009 The FreeRADIUS server project and contributors. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. You may redistribute copies of FreeRADIUS under the terms of the GNU General Public License v2. Starting - reading configuration files ... including configuration file /etc/raddb/radiusd.conf including configuration file /etc/raddb/proxy.conf including configuration file /etc/raddb/clients.conf including files in directory /etc/raddb/modules/ including configuration file /etc/raddb/modules/logintime including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/krb5 including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/ldap including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/chap including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/always including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/eap.conf including configuration file /etc/raddb/policy.conf including files in directory /etc/raddb/sites-enabled/ including configuration file /etc/raddb/sites-enabled/default including configuration file /etc/raddb/sites-enabled/control-socket including configuration file /etc/raddb/sites-enabled/inner-tunnel group = radiusd user = radiusd including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 allow_core_dumps = no pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = no auth_badpass = no auth_goodpass = no } security { max_attributes = 200 reject_delay = 1 status_server = yes } } radiusd: #### Loading Realms and Home Servers #### proxy server { retry_delay = 5 retry_count = 3 default_fallback = no dead_time = 120 wake_all_if_all_dead = no } home_server localhost { ipaddr = 127.0.0.1 port = 1812 type = "auth" secret = "testing123" response_window = 20 max_outstanding = 65536 require_message_authenticator = no zombie_period = 40 status_check = "status-server" ping_interval = 30 check_interval = 30 num_answers_to_alive = 3 num_pings_to_alive = 3 revive_interval = 120 status_check_timeout = 4 irt = 2 mrt = 16 mrc = 5 mrd = 30 } home_server_pool my_auth_failover { type = fail-over home_server = localhost } realm example.com { auth_pool = my_auth_failover } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "testing123" nastype = "other" } client 10.65.100.50 { require_message_authenticator = no secret = "xxxxxxxx" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating expr Module: Linked to module rlm_expiration Module: Instantiating expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel { modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating chap Module: Linked to module rlm_mschap Module: Instantiating mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating eap eap { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 2048 } Module: Linked to sub-module rlm_eap_md5 Module: Instantiating eap-md5 Module: Linked to sub-module rlm_eap_leap Module: Instantiating eap-leap Module: Linked to sub-module rlm_eap_gtc Module: Instantiating eap-gtc gtc { challenge = "Password: " auth_type = "PAP" } 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 = 512 verify_depth = 0 CA_path = "/etc/ssl" pem_file_type = yes private_key_file = "/etc/ssl/serverkey.pem" certificate_file = "/etc/ssl/servercert.pem" CA_file = "/etc/ssl/cacert.pem" private_key_password = "xxxxxxxxx" dh_file = "/etc/ssl/dh" random_file = "/etc/ssl/random" fragment_size = 1024 include_length = yes check_crl = no cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = no use_tunneled_reply = no virtual_server = "inner-tunnel" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = no use_tunneled_reply = no proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel" } Module: Linked to sub-module rlm_eap_mschapv2 Module: Instantiating eap-mschapv2 mschapv2 { with_ntdomain_hack = no } Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_realm Module: Instantiating suffix realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load Module: Linked to module rlm_attr_filter Module: Instantiating attr_filter.access_reject attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { modules { Module: Checking authenticate {...} for more modules to load Module: Checking authorize {...} for more modules to load Module: Linked to module rlm_preprocess Module: Instantiating preprocess preprocess { huntgroups = "/etc/raddb/huntgroups" hints = "/etc/raddb/hints" with_ascend_hack = no ascend_channels_per_line = 23 with_ntdomain_hack = no with_specialix_jetstream_hack = no with_cisco_vsa_hack = no with_alvarion_vsa_hack = no } Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating acct_unique acct_unique { key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" } Module: Checking accounting {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating detail detail { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Instantiating attr_filter.accounting_response attr_filter attr_filter.accounting_response { attrsfile = "/etc/raddb/attrs.accounting_response" key = "%{User-Name}" } Module: Checking session {...} for more modules to load Module: Checking post-proxy {...} for more modules to load Module: Checking post-auth {...} for more modules to load } # modules } # server radiusd: #### Opening IP addresses and Ports #### listen { type = "auth" ipaddr = * port = 0 } listen { type = "acct" ipaddr = * port = 0 } listen { type = "control" listen { socket = "/var/run/radiusd/radiusd.sock" } } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on command file /var/run/radiusd/radiusd.sock Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 10.65.100.50 port 32791, id=114, length=144 User-Name = "testuser" NAS-IP-Address = 10.65.100.50 NAS-Identifier = "other" NAS-Port = 1 NAS-Port-Type = Wireless-802.11 Calling-Station-Id = "0022FB1D434E" Called-Station-Id = "001B2F249FE0" Service-Type = Login-User Framed-MTU = 1100 EAP-Message = 0x02010008016b6d61 Aruba-Essid-Name = "wifix" Aruba-Location-Id = "1.1.1" Message-Authenticator = 0x3cbbc184709e658cef90b39bdd2f713d +- entering group authorize {...} ++[preprocess] returns ok ++[chap] returns noop ++[mschap] returns noop [suffix] No '@' in User-Name = "testuser", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap] EAP packet type response id 1 length 8 [eap] No EAP Start, assuming it's an on-going EAP conversation ++[eap] returns updated ++[unix] returns notfound [files] users: Matched entry testuser at line 93 [files] expand: Hello, %{User-Name} -> Hello, testuser
"files" is running after "eap" here, so when you set:
DEFAULT EAP-TLS-Require-Client-Cert = yes
...it's after the EAP module has already run, so is little use.
Either move the "files" module before "eap", or use unlang to set it:
authorize { ... update control { EAP-TLS-Require-Client-Cert = yes } eap ... } - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome
On 09/17/2010 11:00 AM, Klaus Laus wrote:
thanks a lot for your answer.
Either move the "files" module before "eap", or use unlang to set it:
authorize { ... update control { EAP-TLS-Require-Client-Cert = yes } eap ... } I did the changes in the authorize section, and freeradius seems to require the client certificate. But the server is not accept my certificate. I don't think that the certificate is bad because I can login any client with the same certificate when I use TLS instead of PEAP. This is my way to login with PEAP on a windows xp client maybe I do anything wrong? : I import the pksc12 certificate from the freeradius server in the windows xp certificate management. When I type certmgr.msc under "run" I can see that the certificate is successfully imported. Then I scan for the wireless networks and connect to wifix, I use PEAP with MSCHAP v.2 and type in testuser as user with the correct password. Here you can see the debug output (freeradius did not find my certificate):
That's right, the server didn't get your cert, it's right in the debug. As Alan said this isn't a server issue, it's a client issue, figure out why your client is not returning a cert.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails. -- John Dennis <jdennis@redhat.com>
Looking to carve out IT costs? www.redhat.com/carveoutcosts/
I tried to login from another client, but it´s the same problem. TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails. sorry that I ask again but I want to be sure that I didn´t understand anything wrong. Is it not generally possible to configure the freeradius server so that only clients with username/password and client certificate can login successfully? For expample only users who choose PEAP with the right username and password and having a client certificate can login successfully. Or is the problem with the error in reading client certificate a problem in the clients? Thanks a lot! -------- Original-Nachricht --------
Datum: Fri, 17 Sep 2010 11:26:56 -0400 Von: John Dennis <jdennis@redhat.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> CC: Klaus Laus <superklausx@gmx.de> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
On 09/17/2010 11:00 AM, Klaus Laus wrote:
thanks a lot for your answer.
Either move the "files" module before "eap", or use unlang to set it:
authorize { ... update control { EAP-TLS-Require-Client-Cert = yes } eap ... } I did the changes in the authorize section, and freeradius seems to
require the client certificate. But the server is not accept my certificate. I don't think that the certificate is bad because I can login any client with the same certificate when I use TLS instead of PEAP.
This is my way to login with PEAP on a windows xp client maybe I do anything wrong? : I import the pksc12 certificate from the freeradius server in the windows xp certificate management. When I type certmgr.msc under "run" I can see that the certificate is successfully imported. Then I scan for the wireless networks and connect to wifix, I use PEAP with MSCHAP v.2 and type in testuser as user with the correct password. Here you can see the debug output (freeradius did not find my certificate):
That's right, the server didn't get your cert, it's right in the debug. As Alan said this isn't a server issue, it's a client issue, figure out why your client is not returning a cert.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails. -- John Dennis <jdennis@redhat.com>
Looking to carve out IT costs? www.redhat.com/carveoutcosts/
-- GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 Euro/mtl.!* http://portal.gmx.net/de/go/dsl
Klaus Laus wrote:
I tried to login from another client, but it´s the same problem.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails.
That message should be clear. The supplicant didn't send a client certificate. Did you create a client certificate? If so, did you copy it to the client? Alan DeKok.
The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully. When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager. Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog? I want to allow only PEAP logins (or username/password logins) with client certificate. -------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 09:33:29 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
I tried to login from another client, but it´s the same problem.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails.
That message should be clear. The supplicant didn't send a client certificate.
Did you create a client certificate?
If so, did you copy it to the client?
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome
Klaus Laus wrote:
The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully.
When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager.
So... the issue is that you haven't configured the client to use the client certificate.
Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog?
Ask Microsoft how their software works. It's annoying to have you ask a question here when you *already* know that you haven't configured the client certificate for PEAP. It means that you *know* it's not sending a client certificate. You *know* you haven't configured one on the client. And you *still* post the FreeRADIUS debug output, asking us to debug the *server* to see why the client certificate isn't being used. Microsoft has documentation for Windows. Read it. Alan DeKok.
I *only* want to know all the time if it´s possible to login on a client with user/userpassword and client certificate. I pleased you *only* to say *no* or *yes* and maybe one sentence more. I know you´re a freeradius expert not a M$ expert but I thought when you know how to set up a server you just know how to configure any clients. When you don´t want to answer me that question it´s ok, I can search on M$ websites, you´re right. But I think if you wanted you could simply answer my question. nevertheless thank you for the great help with the configuration of the server. Greetings misterklaus -------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 14:21:26 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully.
When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager.
So... the issue is that you haven't configured the client to use the client certificate.
Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog?
Ask Microsoft how their software works. It's annoying to have you ask a question here when you *already* know that you haven't configured the client certificate for PEAP.
It means that you *know* it's not sending a client certificate. You *know* you haven't configured one on the client. And you *still* post the FreeRADIUS debug output, asking us to debug the *server* to see why the client certificate isn't being used.
Microsoft has documentation for Windows. Read it.
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome
Klaus Laus wrote:
I *only* want to know all the time if it´s possible to login on a client with user/userpassword and client certificate. I pleased you *only* to say *no* or *yes* and maybe one sentence more.
I know you´re a freeradius expert not a M$ expert but I thought when you know how to set up a server you just know how to configure any clients. When you don´t want to answer me that question it´s ok, I can search on M$ websites, you´re right. But I think if you wanted you could simply answer my question.
Honestly, I haven't configured a Windows system for EAP in 3-4 years. And my frustration wasn't about asking a Microsoft question. It's that you were *hiding* information. The information you hid from us was *exactly* the information needed to solve the problem. That was not nice. Alan DeKok.
EAP/PEAP requires a server certificate. You can opt for the M$ supplicant to verify it but it does not use a client certificate. That's why there is no option to pick the client cert when setting up PEAP. -----Original Message----- From: freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org [mailto:freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org] On Behalf Of Klaus Laus Sent: Tuesday, September 21, 2010 5:17 AM To: FreeRadius users mailing list Subject: Re: need help - force EAP-TTLS to validate the server certificate The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully. When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager. Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog? I want to allow only PEAP logins (or username/password logins) with client certificate. -------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 09:33:29 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
I tried to login from another client, but it´s the same problem.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails.
That message should be clear. The supplicant didn't send a client certificate.
Did you create a client certificate?
If so, did you copy it to the client?
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
A lot of thanks for your answer Mearl Danner, I read the pages of M$ but I didn´t found any possibilitys to configure the clients so, that the client is use a username/password and certificate. Do you know how I can do these settings or if it´s generelly not possible? thanks again -------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 08:02:27 -0500 Von: "Danner, Mearl" <jmdanner@samford.edu> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: RE: need help - force EAP-TTLS to validate the server certificate
EAP/PEAP requires a server certificate. You can opt for the M$ supplicant to verify it but it does not use a client certificate.
That's why there is no option to pick the client cert when setting up PEAP.
-----Original Message----- From: freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org [mailto:freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org] On Behalf Of Klaus Laus Sent: Tuesday, September 21, 2010 5:17 AM To: FreeRadius users mailing list Subject: Re: need help - force EAP-TTLS to validate the server certificate
The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully.
When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager. Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog?
I want to allow only PEAP logins (or username/password logins) with client certificate.
-------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 09:33:29 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
I tried to login from another client, but it´s the same problem.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails.
That message should be clear. The supplicant didn't send a client certificate.
Did you create a client certificate?
If so, did you copy it to the client?
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome
Not possible with the Microsoft supplicant as far as I know. PEAP encapsulation doesn't support client certificates. Probably what you want is EAP-TTLS which is not supported by Microsoft. You'll need a third party supplicant for it. Might look at this for reference: http://en.wikipedia.org/wiki/Extensible_Authentication_Protocol -----Original Message----- From: freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org [mailto:freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org] On Behalf Of Klaus Laus Sent: Tuesday, September 21, 2010 10:30 AM To: FreeRadius users mailing list Subject: Re: RE: need help - force EAP-TTLS to validate the server certificate A lot of thanks for your answer Mearl Danner, I read the pages of M$ but I didn´t found any possibilitys to configure the clients so, that the client is use a username/password and certificate. Do you know how I can do these settings or if it´s generelly not possible? thanks again -------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 08:02:27 -0500 Von: "Danner, Mearl" <jmdanner@samford.edu> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: RE: need help - force EAP-TTLS to validate the server certificate
EAP/PEAP requires a server certificate. You can opt for the M$ supplicant to verify it but it does not use a client certificate.
That's why there is no option to pick the client cert when setting up PEAP.
-----Original Message----- From: freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org [mailto:freeradius-users-bounces+jmdanner=samford.edu@lists.freeradius.org] On Behalf Of Klaus Laus Sent: Tuesday, September 21, 2010 5:17 AM To: FreeRadius users mailing list Subject: Re: need help - force EAP-TTLS to validate the server certificate
The message is clear. Yes I created a client certificate and imported it into the client. When I use TLS to connect to the freeradius server I can choose the client certificate in the TLS dialog and the client can login successfully.
When I use PEAP to login I have to type in my username and password in the PEAP dialog from windows but I can not select a client certificate, the certificate is imported successfully in the windows certificate manager. Should I be able to choose a client certificate in the PEAP dialog or should it work when the certificate is saved in the windows certificate manager and I only have to type in my username and password in the PEAP dialog?
I want to allow only PEAP logins (or username/password logins) with client certificate.
-------- Original-Nachricht --------
Datum: Tue, 21 Sep 2010 09:33:29 +0200 Von: Alan DeKok <aland@deployingradius.com> An: FreeRadius users mailing list <freeradius-users@lists.freeradius.org> Betreff: Re: need help - force EAP-TTLS to validate the server certificate
Klaus Laus wrote:
I tried to login from another client, but it´s the same problem.
TLS Alert write:fatal:handshake failure TLS_accept:error in SSLv3 read client certificate B rlm_eap: SSL error error:140890C7:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate SSL: SSL_read failed in a system call (-1), TLS session fails.
That message should be clear. The supplicant didn't send a client certificate.
Did you create a client certificate?
If so, did you copy it to the client?
Alan DeKok. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
-- GRATIS: Spider-Man 1-3 sowie 300 weitere Videos! Jetzt freischalten! http://portal.gmx.net/de/go/maxdome - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
participants (5)
-
Alan DeKok -
Danner, Mearl -
John Dennis -
Klaus Laus -
Phil Mayers