<br><div class="gmail_quote">Hi,<br><br>I am using a radius-openldap-EAP/TTLS|EAP/PEAP scheme and often I've got the following error from a Windows 7 client trying to connect using EAP/PEAP. Client lacked CA cert, but I've found clients that are able to import it. Finally client connected using EAP/TTLS with SecureW2. But I wonder if there was a problem with the client or there are a misconfiguration or a failing certificate. Below my data, thanks in advance!<br>
<br>/var/log/radius/radius.log<br><br>Thu May 13 11:18:07 2010 : Error: TLS Alert read:fatal:unknown CA <br>
Thu May 13 11:18:07 2010 : Error: TLS_accept:failed in SSLv3 read
client certificate A <br>
Thu May 13 11:18:07 2010 : Error: rlm_eap: SSL error error:14094418:SSL
routines:SSL3_READ_BYTES:tlsv1 alert unknown ca<br>
Thu May 13 11:18:07 2010 : Error: SSL: SSL_read failed inside of TLS
(-1), TLS session fails.<br>
Thu May 13 11:18:49 2010 : Error: TLS Alert read:fatal:unknown CA <br>
Thu May 13 11:18:49 2010 : Error: TLS_accept:failed in SSLv3 read
client certificate A <br>
Thu May 13 11:18:49 2010 : Error: rlm_eap: SSL error error:14094418:SSL
routines:SSL3_READ_BYTES:tlsv1 alert unknown ca<br>
Thu May 13 11:18:49 2010 : Error: SSL: SSL_read failed inside of TLS
(-1), TLS session fails.<br><br>My radius Configuration:<br><br>FreeRADIUS Version 2.1.1, for host x86_64-unknown-linux-gnu, built on Oct 21 2008 at 15:14:37<br>Copyright (C) 1999-2008 The FreeRADIUS server project and contributors. <br>
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A <br>PARTICULAR PURPOSE. <br>You may redistribute copies of FreeRADIUS under the terms of the <br>GNU General Public License v2. <br>Starting - reading configuration files ...<br>
including configuration file /usr/local/etc/raddb/radiusd.conf<br>including configuration file /usr/local/etc/raddb/proxy.conf<br>including configuration file /usr/local/etc/raddb/clients.conf<br>including files in directory /usr/local/etc/raddb/modules/<br>
including configuration file /usr/local/etc/raddb/modules/chap<br>including configuration file /usr/local/etc/raddb/modules/mschap<br>including configuration file /usr/local/etc/raddb/modules/exec<br>including configuration file /usr/local/etc/raddb/modules/realm<br>
including configuration file /usr/local/etc/raddb/modules/checkval<br>including configuration file /usr/local/etc/raddb/modules/passwd<br>including configuration file /usr/local/etc/raddb/modules/attr_filter<br>including configuration file /usr/local/etc/raddb/modules/linelog<br>
including configuration file /usr/local/etc/raddb/modules/wimax<br>including configuration file /usr/local/etc/raddb/modules/pam<br>including configuration file /usr/local/etc/raddb/modules/inner-eap<br>including configuration file /usr/local/etc/raddb/modules/echo<br>
including configuration file /usr/local/etc/raddb/modules/acct_unique<br>including configuration file /usr/local/etc/raddb/modules/etc_group<br>including configuration file /usr/local/etc/raddb/modules/pap<br>including configuration file /usr/local/etc/raddb/modules/expr<br>
including configuration file /usr/local/etc/raddb/modules/smbpasswd<br>including configuration file /usr/local/etc/raddb/modules/attr_rewrite<br>including configuration file /usr/local/etc/raddb/modules/radutmp<br>including configuration file /usr/local/etc/raddb/modules/mac2ip<br>
including configuration file /usr/local/etc/raddb/modules/logintime<br>including configuration file /usr/local/etc/raddb/modules/sql_log<br>including configuration file /usr/local/etc/raddb/modules/preprocess<br>including configuration file /usr/local/etc/raddb/modules/policy<br>
including configuration file /usr/local/etc/raddb/modules/digest<br>including configuration file /usr/local/etc/raddb/modules/mac2vlan<br>including configuration file /usr/local/etc/raddb/modules/files<br>including configuration file /usr/local/etc/raddb/modules/always<br>
including configuration file /usr/local/etc/raddb/modules/detail<br>including configuration file /usr/local/etc/raddb/modules/krb5<br>including configuration file /usr/local/etc/raddb/modules/sradutmp<br>including configuration file /usr/local/etc/raddb/modules/counter<br>
including configuration file /usr/local/etc/raddb/modules/<a href="http://detail.example.com" target="_blank">detail.example.com</a><br>including configuration file /usr/local/etc/raddb/modules/ippool<br>including configuration file /usr/local/etc/raddb/modules/expiration<br>
including configuration file /usr/local/etc/raddb/modules/detail.log<br>including configuration file /usr/local/etc/raddb/modules/ldap<br>including configuration file /usr/local/etc/raddb/modules/unix<br>including configuration file /usr/local/etc/raddb/eap.conf<br>
including configuration file /usr/local/etc/raddb/sql.conf<br>including configuration file /usr/local/etc/raddb/sql/mysql/dialup.conf<br>including configuration file /usr/local/etc/raddb/sql/mysql/counter.conf<br>including configuration file /usr/local/etc/raddb/policy.conf<br>
including files in directory /usr/local/etc/raddb/sites-enabled/<br>including configuration file /usr/local/etc/raddb/sites-enabled/status<br>including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel<br>
including configuration file /usr/local/etc/raddb/sites-enabled/default<br>including configuration file /usr/local/etc/raddb/sites-enabled/inner-tunnel-peap<br>group = radiusd<br>user = radiusd<br>including dictionary file /usr/local/etc/raddb/dictionary<br>
main {<br> prefix = "/usr/local"<br> localstatedir = "/usr/local/var"<br> logdir = "/usr/local/var/log/radius"<br> libdir = "/usr/local/lib"<br> radacctdir = "/usr/local/var/log/radius/radacct"<br>
hostname_lookups = no<br> max_request_time = 30<br> cleanup_delay = 5<br> max_requests = 1024<br> allow_core_dumps = no<br> pidfile = "/usr/local/var/run/radiusd/radiusd.pid"<br> checkrad = "/usr/local/sbin/checkrad"<br>
debug_level = 0<br> proxy_requests = no<br> log {<br> stripped_names = yes<br> auth = yes<br> auth_badpass = no<br> auth_goodpass = no<br> }<br> security {<br> max_attributes = 200<br> reject_delay = 1<br>
status_server = yes<br> }<br>}<br> client localhost {<br> ipaddr = 127.0.0.1<br> require_message_authenticator = no<br> secret = "testing123"<br> nastype = "other"<br> }<br> client spectrum {<br>
require_message_authenticator = no<br> secret = "testing123"<br> shortname = "<a href="http://spectrum.sarlanga.edu" target="_blank">spectrum.sarlanga.edu</a>"<br> }<br> client 10.128.255.100 {<br>
require_message_authenticator = no<br>
secret = "sarlangalad0-Red-3-winnie"<br> shortname = "sarlanga2-PB"<br> }<br> client 10.128.255.10 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-winnie"<br>
shortname = "sarlanga2-SS"<br> }<br> client 10.128.255.11 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-winnie"<br> shortname = "sarlanga2-1"<br> }<br>
client 10.128.255.254 {<br> require_message_authenticator = no<br> secret = "akantilad0-Black-58"<br> shortname = "Transitional"<br> }<br> client 10.128.255.12 {<br> require_message_authenticator = no<br>
secret = "sarlangalad0-Red-3-winnie"<br> shortname = "sarlanga2-2"<br> }<br> client 10.128.255.13 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-winnie"<br>
shortname = "sarlanga2-3"<br> }<br> client 10.128.255.14 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-winnie"<br> shortname = "sarlanga2-4"<br> }<br>
client 10.128.255.15 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-winnie"<br> shortname = "sarlanga2-5"<br> }<br> client 10.128.255.60 {<br> require_message_authenticator = no<br>
secret = "sarlangalad0-Red-398952"<br> shortname = "UP-Sociales-PB"<br> }<br> client 10.128.255.61 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br>
shortname = "UP-Sociales-I"<br> }<br> client 10.128.255.158 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3-road"<br> shortname = "sarlanga-SS"<br> }<br>
client 10.128.255.80 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-PB"<br> }<br> client 10.128.255.89 {<br> require_message_authenticator = no<br>
secret = "akantilad0-Black-58"<br> shortname = "oficina"<br> }<br> client 10.128.255.81 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-I"<br>
}<br> client 10.128.255.82 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-II"<br> }<br> client 10.128.255.83 {<br> require_message_authenticator = no<br>
secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-III"<br> }<br> client 10.128.255.84 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br>
shortname = "sarlanga-IV"<br> }<br> client 10.128.255.128 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3"<br> shortname = "testing"<br> }<br> client 10.128.255.181 {<br>
require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-I_bis"<br> }<br> client 10.128.255.86 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br>
shortname = "sarlanga-VI"<br> }<br> client 10.128.255.87 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-VII"<br> }<br>
client 10.128.255.85 {<br>
require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-V"<br> }<br> client 10.128.255.188 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br>
shortname = "sarlanga-VIII-Bis"<br> }<br> client 10.128.255.88 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-398952"<br> shortname = "sarlanga-VIII"<br>
}<br> client 192.168.2.53 {<br> require_message_authenticator = no<br> secret = "akantilad0-Green-22"<br> shortname = "sarlanga3"<br> }<br> client 192.168.45 {<br> require_message_authenticator = no<br>
secret = "sarlangalad0-black-54"<br> shortname = "sarlanga4"<br> }<br> client 192.168.3.201 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-blue-246692"<br> shortname = "sarlanga7"<br>
}<br> client 192.168.4 {<br> require_message_authenticator = no<br> secret = "sarlangalad0-Red-3"<br> shortname = "UP-sarlanga7"<br> }<br>radiusd: #### Loading Realms and Home Servers ####<br>
proxy server {<br> retry_delay = 5<br> retry_count = 3<br> default_fallback = no<br> dead_time = 120<br> wake_all_if_all_dead = no<br> }<br> home_server localhost {<br> ipaddr = 127.0.0.1<br> port = 1812<br>
type = "auth"<br> secret = "testing123"<br> response_window = 20<br> max_outstanding = 65536<br> zombie_period = 40<br> status_check = "status-server"<br> ping_interval = 30<br>
check_interval = 30<br> num_answers_to_alive = 3<br> num_pings_to_alive = 3<br> revive_interval = 120<br> status_check_timeout = 4<br> }<br> home_server_pool my_auth_failover {<br> type = fail-over<br>
home_server = localhost<br>
}<br> realm <a href="http://example.com" target="_blank">example.com</a> {<br> auth_pool = my_auth_failover<br> }<br> realm LOCAL {<br> }<br>radiusd: #### Instantiating modules ####<br> instantiate {<br> Module: Linked to module rlm_exec<br>
Module: Instantiating exec<br> exec {<br> wait = no<br> input_pairs = "request"<br> shell_escape = yes<br> }<br> Module: Linked to module rlm_expr<br> Module: Instantiating expr<br> Module: Linked to module rlm_expiration<br>
Module: Instantiating expiration<br> expiration {<br> reply-message = "Password Has Expired "<br> }<br> Module: Linked to module rlm_logintime<br> Module: Instantiating logintime<br> logintime {<br> reply-message = "You are calling outside your allowed timespan "<br>
minimum-timeout = 60<br> }<br> }<br>radiusd: #### Loading Virtual Servers ####<br>server status {<br> modules {<br> Module: Checking authorize {...} for more modules to load<br> Module: Linked to module rlm_always<br>
Module: Instantiating ok<br> always ok {<br> rcode = "ok"<br> simulcount = 0<br> mpp = no<br> }<br> }<br>}<br>server inner-tunnel {<br> modules {<br> Module: Checking authenticate {...} for more modules to load<br>
Module: Linked to module rlm_pap<br> Module: Instantiating pap<br> pap {<br> encryption_scheme = "auto"<br> auto_header = yes<br> }<br> Module: Linked to module rlm_chap<br> Module: Instantiating chap<br>
Module: Linked to module rlm_mschap<br> Module: Instantiating mschap<br> mschap {<br> use_mppe = yes<br> require_encryption = no<br> require_strong = no<br> with_ntdomain_hack = no<br> }<br> Module: Linked to module rlm_unix<br>
Module: Instantiating unix<br> unix {<br> radwtmp = "/usr/local/var/log/radius/radwtmp"<br> }<br> Module: Linked to module rlm_ldap<br> Module: Instantiating ldap<br> ldap {<br> server = "<a href="http://ldap.sarlanga.edu" target="_blank">ldap.sarlanga.edu</a>"<br>
port = 636<br> password = "sarlanga"<br> identity = "cn=freeradius,ou=applications,dc=sarlanga,dc=edu"<br> net_timeout = 10<br> timeout = 120<br> timelimit = 30<br> tls_mode = no<br>
start_tls = no<br> tls_require_cert = "allow"<br> tls {<br> start_tls = no<br> cacertfile = "/etc/raddb/cacert.pem"<br> randfile = "/dev/urandom"<br> require_cert = "demand"<br>
}<br> basedn = "ou=people,dc=sarlanga,dc=edu"<br> filter = "(uid=%u)"<br> base_filter = "(objectclass=radiusprofile)"<br> auto_header = no<br> access_attr = "radiusAllowed"<br>
access_attr_used_for_allow = yes<br> groupname_attribute = "cn"<br> groupmembership_filter = "(|(&(objectClass=GroupOfNames)(member=%{Ldap-UserDn}))(&(objectClass=GroupOfUniqueNames)(uniquemember=%{Ldap-UserDn})))"<br>
dictionary_mapping = "/usr/local/etc/raddb/ldap.attrmap"<br> ldap_debug = 40<br> ldap_connections_number = 15<br> compare_check_items = no<br> do_xlat = yes<br> set_auth_type = yes<br> }<br>
rlm_ldap: Registering ldap_groupcmp for Ldap-Group<br>
rlm_ldap: Registering ldap_xlat with xlat_name ldap<br>rlm_ldap: reading ldap<->radius mappings from file /usr/local/etc/raddb/ldap.attrmap<br>rlm_ldap: LDAP radiusPassword mapped to RADIUS Cleartext-Password<br>conns: 0x1f67aab0<br>
Module: Linked to module rlm_eap<br> Module: Instantiating eap<br> eap {<br> default_eap_type = "ttls"<br> timer_expire = 600<br> ignore_unknown_eap_types = no<br> cisco_accounting_username_bug = no<br>
max_sessions = 2048<br> }<br> Module: Linked to sub-module rlm_eap_md5<br> Module: Instantiating eap-md5<br> Module: Linked to sub-module rlm_eap_leap<br> Module: Instantiating eap-leap<br> Module: Linked to sub-module rlm_eap_gtc<br>
Module: Instantiating eap-gtc<br> gtc {<br> challenge = "Password: "<br> auth_type = "PAP"<br> }<br> Module: Linked to sub-module rlm_eap_tls<br> Module: Instantiating eap-tls<br> tls {<br>
rsa_key_exchange = no<br> dh_key_exchange = yes<br> rsa_key_length = 512<br> dh_key_length = 512<br> verify_depth = 0<br> pem_file_type = yes<br> private_key_file = "/etc/pki/tls/certs/ips-spectrum-key.pem"<br>
certificate_file = "/etc/pki/tls/certs/spectrum.sarlanga.edu.cer"<br> CA_file = "/etc/pki/tls/certs/IPS-IPSCABUNDLE.crt"<br> dh_file = "/usr/local/etc/raddb/certs/dh"<br> random_file = "/usr/local/etc/raddb/certs/random"<br>
fragment_size = 1024<br> include_length = yes<br> check_crl = no<br> cipher_list = "DEFAULT"<br> cache {<br> enable = yes<br> lifetime = 6<br> max_entries = 255<br> }<br> }<br> Module: Linked to sub-module rlm_eap_ttls<br>
Module: Instantiating eap-ttls<br> ttls {<br> default_eap_type = "md5"<br> copy_request_to_tunnel = no<br> use_tunneled_reply = no<br> virtual_server = "inner-tunnel"<br> }<br> Module: Linked to sub-module rlm_eap_peap<br>
Module: Instantiating eap-peap<br> peap {<br> default_eap_type = "mschapv2"<br> copy_request_to_tunnel = no<br> use_tunneled_reply = no<br> proxy_tunneled_request_as_eap = yes<br> virtual_server = "inner-tunnel-peap"<br>
}<br> Module: Linked to sub-module rlm_eap_mschapv2<br> Module: Instantiating eap-mschapv2<br> mschapv2 {<br> with_ntdomain_hack = no<br> }<br> Module: Checking authorize {...} for more modules to load<br> Module: Linked to module rlm_realm<br>
Module: Instantiating suffix<br> realm suffix {<br> format = "suffix"<br> delimiter = "@"<br> ignore_default = no<br> ignore_null = no<br> }<br> Module: Linked to module rlm_files<br> Module: Instantiating files<br>
files {<br> usersfile = "/usr/local/etc/raddb/users"<br> acctusersfile = "/usr/local/etc/raddb/acct_users"<br> preproxy_usersfile = "/usr/local/etc/raddb/preproxy_users"<br> compat = "no"<br>
}<br> Module: Checking session {...} for more modules to load<br> Module: Linked to module rlm_radutmp<br> Module: Instantiating radutmp<br> radutmp {<br> filename = "/usr/local/var/log/radius/radutmp"<br>
username = "%{User-Name}"<br> case_sensitive = yes<br> check_with_nas = yes<br> perm = 384<br> callerid = yes<br> }<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Linked to module rlm_detail<br>
Module: Instantiating post_proxy_log<br> detail post_proxy_log {<br> detailfile = "/usr/local/var/log/radius/radacct/postproxy/%{Client-IP-Address}/post-proxy-detail-%{%{Virtual-Server}:-DEFAULT}-%Y%m%d"<br>
header = "%t"<br> detailperm = 384<br> dirperm = 493<br> locking = no<br> log_packet_header = no<br> }<br> Module: Checking post-auth {...} for more modules to load<br> Module: Instantiating reply_log<br>
detail reply_log {<br> detailfile = "/usr/local/var/log/radius/radacct/replies/%{Client-IP-Address}/reply-detail-%{%{Virtual-Server}:-DEFAULT}-%Y%m%d"<br> header = "%t"<br> detailperm = 384<br>
dirperm = 493<br> locking = no<br> log_packet_header = no<br> }<br> Module: Linked to module rlm_attr_filter<br> Module: Instantiating attr_filter.access_reject<br> attr_filter attr_filter.access_reject {<br>
attrsfile = "/usr/local/etc/raddb/attrs.access_reject"<br>
key = "%{User-Name}"<br> }<br> }<br>}<br>server inner-tunnel-peap {<br> modules {<br> Module: Checking authenticate {...} for more modules to load<br> Module: Checking authorize {...} for more modules to load<br>
Module: Checking session {...} for more modules to load<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br> }<br>}<br> modules {<br> Module: Checking authenticate {...} for more modules to load<br>
Module: Checking authorize {...} for more modules to load<br> Module: Linked to module rlm_preprocess<br> Module: Instantiating preprocess<br> preprocess {<br> huntgroups = "/usr/local/etc/raddb/huntgroups"<br>
hints = "/usr/local/etc/raddb/hints"<br> with_ascend_hack = no<br> ascend_channels_per_line = 23<br> with_ntdomain_hack = no<br> with_specialix_jetstream_hack = no<br> with_cisco_vsa_hack = no<br>
with_alvarion_vsa_hack = no<br> }<br> Module: Instantiating auth_log<br> detail auth_log {<br> detailfile = "/usr/local/var/log/radius/radacct/requests/%{Client-IP-Address}/auth-detail-%{%{Virtual-Server}:-DEFAULT}-%Y%m%d"<br>
header = "%t"<br> detailperm = 384<br> dirperm = 493<br> locking = no<br> log_packet_header = no<br> }<br> Module: Checking preacct {...} for more modules to load<br> Module: Linked to module rlm_acct_unique<br>
Module: Instantiating acct_unique<br> acct_unique {<br> key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port"<br> }<br> Module: Checking accounting {...} for more modules to load<br>
Module: Instantiating detail<br> detail {<br> detailfile = "/usr/local/var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d"<br> header = "%t"<br> detailperm = 384<br> dirperm = 493<br>
locking = no<br> log_packet_header = no<br> }<br> Module: Instantiating attr_filter.accounting_response<br> attr_filter attr_filter.accounting_response {<br> attrsfile = "/usr/local/etc/raddb/attrs.accounting_response"<br>
key = "%{User-Name}"<br> }<br> Module: Checking session {...} for more modules to load<br> Module: Checking post-proxy {...} for more modules to load<br> Module: Checking post-auth {...} for more modules to load<br>
}<br>radiusd: #### Opening IP addresses and Ports ####<br>listen {<br> type = "auth"<br> ipaddr = 192.168.1.5<br> port = 0<br>}<br>listen {<br> type = "acct"<br> ipaddr = 192.168.1.5<br>
port = 0<br>}<br>listen {<br> type = "status"<br> ipaddr = 127.0.0.1<br> port = 18120<br> client admin {<br> ipaddr = 127.0.0.1<br> require_message_authenticator = no<br> secret = "YellowSubmarine"<br>
}<br>}<br>Listening on authentication address 192.168.1.5 port 1812<br>Listening on accounting address 192.168.1.5 port 1813<br>Listening on status address 127.0.0.1 port 18120 as server status<br>Ready to process requests.<br>
<br clear="all">You can read wireshark dump on:<br><br><br><a href="http://pastebin.com/ZH2SfTFq">http://pastebin.com/ZH2SfTFq</a><br><br><br>Thanks in advance<br><br>-- <br>--<br>Sergio Belkin <a href="http://www.sergiobelkin.com" target="_blank">http://www.sergiobelkin.com</a><br>
Watch More TV <a href="http://sebelk.blogspot.com" target="_blank">http://sebelk.blogspot.com</a><br><font color="#888888">Sergio Belkin -<br>
</font></div><br><br clear="all"><br>-- <br>--<br>Sergio Belkin <a href="http://www.sergiobelkin.com">http://www.sergiobelkin.com</a><br>Watch More TV <a href="http://sebelk.blogspot.com">http://sebelk.blogspot.com</a><br>
Sergio Belkin -<br>