Hello! After a couple of time that I have tried to setup radius and windows xp for PEAP - mschapv2 communication with no success, I decided to try the EAP/TLS with client certificate and so on. There is also the eap/tls howto so I was thinking this can be done, if the PEAP not :|.
But it fails :(. The radiusd breaks down and gives segmentation fault. I have some cvs version from 2.3.2003. Ok. Can be this because it has been compiled badly? Also for the PEAP. When I was trying to setup the peap, only the first initialization for the TLS start was in log, than nothing... I don't understand, what I'm doing wrong... Thankx for all. Here is the log: ./sbin/radiusd -X -A Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /usr/local/freeradius//etc/raddb/proxy.conf Config: including file: /usr/local/freeradius//etc/raddb/clients.conf Config: including file: /usr/local/freeradius//etc/raddb/snmp.conf Config: including file: /usr/local/freeradius//etc/raddb/sql.conf main: prefix = "/usr/local/freeradius/" main: localstatedir = "/usr/local/freeradius//var" main: logdir = "/usr/local/freeradius//var/log/radius" main: libdir = "/usr/local/freeradius//lib" main: radacctdir = "/usr/local/freeradius//var/log/radius/radacct" main: hostname_lookups = no main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/usr/local/freeradius//var/log/radius/radius.log" main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/usr/local/freeradius//var/run/radiusd/radiusd.pid" main: bind_address = xxx.xxx.xx.xxx IP address [xxx.xxx.xx.xxx] main: user = "(null)" main: group = "(null)" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: checkrad = "/usr/local/freeradius//sbin/checkrad" main: proxy_requests = yes proxy: retry_delay = 5 proxy: retry_count = 3 proxy: synchronous = no proxy: default_fallback = yes proxy: dead_time = 120 proxy: post_proxy_authorize = yes proxy: wake_all_if_all_dead = no security: max_attributes = 200 security: reject_delay = 1 security: status_server = no main: debug_level = 0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients Using deprecated clients file. Support for this will go away soon. read_config_files: reading realms Using deprecated realms file. Support for this will go away soon. radiusd: entering modules setup Module: Library search path is /usr/local/freeradius/lib Module: Loaded exec exec: wait = yes exec: program = "(null)" exec: input_pairs = "request" exec: output_pairs = "(null)" exec: packet_type = "(null)" rlm_exec: Wait=yes but no output defined. Did you mean output=none? Module: Instantiated exec (exec) Module: Loaded expr Module: Instantiated expr (expr) Module: Loaded PAP pap: encryption_scheme = "crypt" Module: Instantiated pap (pap) Module: Loaded CHAP Module: Instantiated chap (chap) Module: Loaded MS-CHAP mschap: use_mppe = yes mschap: require_encryption = no mschap: require_strong = no mschap: with_ntdomain_hack = no mschap: passwd = "(null)" mschap: authtype = "MS-CHAP" Module: Instantiated mschap (mschap) Module: Loaded System unix: cache = no unix: passwd = "(null)" unix: shadow = "(null)" unix: group = "(null)" unix: radwtmp = "/usr/local/freeradius//var/log/radius/radwtmp" unix: usegroup = no unix: cache_reload = 600 Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "tls" eap: timer_expire = 240 eap: ignore_unknown_eap_types = no tls: rsa_key_exchange = no tls: dh_key_exchange = yes tls: rsa_key_length = 512 tls: dh_key_length = 512 tls: verify_depth = 0 tls: CA_path = "(null)" tls: pem_file_type = yes tls: private_key_file = "/usr/local/freeradius//etc/raddb/certs/monitor.pem" tls: certificate_file = "/usr/local/freeradius//etc/raddb/certs/monitor.pem" tls: CA_file = "/usr/local/freeradius//etc/raddb/certs/root.pem" tls: private_key_password = "quewkwaa" tls: dh_file = "/usr/local/freeradius//etc/raddb/certs/dh" tls: random_file = "/usr/local/freeradius//etc/raddb/certs/random" tls: fragment_size = 1750 tls: include_length = yes tls: check_crl = no rlm_eap: Loaded and initialized type tls peap: default_eap_type = "mschapv2" peap: copy_request_to_tunnel = no peap: use_tunneled_reply = no peap: proxy_tunneled_request_as_eap = yes rlm_eap: Loaded and initialized type peap rlm_eap: Loaded and initialized type mschapv2 Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/usr/local/freeradius//etc/raddb/huntgroups" preprocess: hints = "/usr/local/freeradius//etc/raddb/hints" preprocess: with_ascend_hack = no preprocess: ascend_channels_per_line = 23 preprocess: with_ntdomain_hack = no preprocess: with_specialix_jetstream_hack = no preprocess: with_cisco_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded files files: usersfile = "/usr/local/freeradius//etc/raddb/users" files: acctusersfile = "/usr/local/freeradius//etc/raddb/acct_users" files: preproxy_usersfile = "/usr/local/freeradius//etc/raddb/preproxy_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded detail detail: detailfile = "/usr/local/freeradius//var/log/radius/radacct/%{Client-IP-Address}/detail-%Y%m%d" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/usr/local/freeradius//var/log/radius/radutmp" radutmp: username = "%{User-Name}" radutmp: case_sensitive = yes radutmp: check_with_nas = yes radutmp: perm = 384 radutmp: callerid = yes Module: Instantiated radutmp (radutmp) Listening on IP address xxx.xxx.xx.xxx, ports 1812/udp and 1813/udp, with proxy on 1814/udp. Ready to process requests. rad_recv: Access-Request packet from host yyy.yyy.yyy.yyy:1125, id=87, length=92 User-Name = "guest" NAS-IP-Address = yyy.yyy.yyy.yyy NAS-Identifier = "smc" NAS-Port = 29 Service-Type = Framed-User Framed-MTU = 1400 NAS-Port-Type = Wireless-802.11 EAP-Message = 0x0257000a016775657374 Message-Authenticator = 0x7de64db3e21deb7a7feef86ae6a963a2 modcall: entering group authorize for request 0 modcall[authorize]: module "preprocess" returns ok for request 0 modcall[authorize]: module "chap" returns noop for request 0 modcall[authorize]: module "mschap" returns noop for request 0 rlm_eap: EAP packet type response id 87 length 10 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 0 users: Matched DEFAULT at 153 users: Matched DEFAULT at 172 users: Matched guest at 220 modcall[authorize]: module "files" returns ok for request 0 modcall: group authorize returns updated for request 0 rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate for request 0 rlm_eap: EAP Identity rlm_eap: processing type tls rlm_eap_tls: Requiring client certificate rlm_eap_tls: Initiate rlm_eap_tls: Start returned 1 modcall[authenticate]: module "eap" returns handled for request 0 modcall: group authenticate returns handled for request 0 Sending Access-Challenge of id 87 to yyy.yyy.yyy.yyy:1125 Framed-IP-Address = 255.255.255.254 Framed-MTU = 576 Service-Type = Framed-User EAP-Message = 0x015800060d20 Message-Authenticator = 0x00000000000000000000000000000000 State = 0x44bb8ed8b8362e9215c3eb2a8c92b898 Finished request 0 Going to the next request --- Walking the entire request list --- Waking up in 6 seconds... rad_recv: Access-Request packet from host yyy.yyy.yyy.yyy:1126, id=88, length=180 User-Name = "guest" NAS-IP-Address = yyy.yyy.yyy.yyy NAS-Identifier = "smc" NAS-Port = 29 Service-Type = Framed-User Framed-MTU = 1400 NAS-Port-Type = Wireless-802.11 State = 0x44bb8ed8b8362e9215c3eb2a8c92b898 EAP-Message = 0x025800500d800000004616030100410100003d030140497861a032258a48fa2244410e89fa755aac6e5860a471444aef6b27b34d9200001600040005000a000900640062000300060013001200630100 Message-Authenticator = 0xc6c57beee8e64225b8b348cfc9048ad1 modcall: entering group authorize for request 1 modcall[authorize]: module "preprocess" returns ok for request 1 modcall[authorize]: module "chap" returns noop for request 1 modcall[authorize]: module "mschap" returns noop for request 1 rlm_eap: EAP packet type response id 88 length 80 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 1 users: Matched DEFAULT at 153 users: Matched DEFAULT at 172 users: Matched guest at 220 modcall[authorize]: module "files" returns ok for request 1 modcall: group authorize returns updated for request 1 rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate for request 1 rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Length Included eaptls_verify returned 11 (other): before/accept initialization TLS_accept: before/accept initialization TLS_accept: SSLv3 read client hello A TLS_accept: SSLv3 write server hello A TLS_accept: SSLv3 write certificate A TLS_accept: SSLv3 write certificate request A TLS_accept: SSLv3 flush data TLS_accept:error in SSLv3 read client certificate A In SSL Handshake Phase In SSL Accept mode eaptls_process returned 13 modcall[authenticate]: module "eap" returns handled for request 1 modcall: group authenticate returns handled for request 1 Sending Access-Challenge of id 88 to yyy.yyy.yyy.yyy:1126 Framed-IP-Address = 255.255.255.254 Framed-MTU = 576 Service-Type = Framed-User EAP-Message = 0x0159057e0dc0000006e9160301004a0200004603014049787aea375e9c4fd1414cd43878ea69123b19aba7133e6989fe0b3f16f3dd20e62348cccc976d6da52f4c58ddd368fa98bc12b3457c27b63e34fd3a6b81e6bd00040016030105fd0b0005f90005f60002903082028c308201f5a003020102020101300d06092a864886f70d0101040500308181310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c204241311430120603550403130b564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e6363 EAP-Message = 0x2e666d70682e756e6962612e736b301e170d3034303330353231313432365a170d3035303330353231313432365a307d310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c2042413110300e060355040313076d6f6e69746f72312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b30819f300d06092a864886f70d010101050003818d0030818902818100dc1c087a7527dbf52e345f83a05b4c7d3da947f2050503fbf8e62d317d57e4f7b15518287cdf9449c633f7e2720be3f9dcd28d EAP-Message = 0x1612e3db6dba18365a364e8e82853ac473d77c4a4dfa9c3385ed6e8da822a02905d36040776fcb1c71c4579b751e06ade61d12d36f9ffcb4a6b1fb41df5259b19f4af3557512ee490dd1db4d3d0203010001a317301530130603551d25040c300a06082b06010505070301300d06092a864886f70d0101040500038181003f08c65c902d1cac9191ac4a548f8bbd9d26d78bb36b8ae864c79edfaa300e156604ebdadc57757b82e387894a180fdbec9e6f81c617f30443a663fa37e87b0d2cff7426e5e97fe8cca16994c032fb17a9b1bdc781a9b3276303143f482ec48402f316d4f8d65d6747248df4fed95636b16cb00873afb6104cdb4a512feb05 EAP-Message = 0x1a0003603082035c308202c5a003020102020100300d06092a864886f70d0101040500308181310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c204241311430120603550403130b564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b301e170d3034303330353231303734325a170d3034303430343231303734325a308181310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b46 EAP-Message = 0x4d464920554b2c204241311430120603550403130b564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b30819f300d06092a864886f70d010101050003818d0030818902818100e2f9c733a15bbdaf2115861f6fec45016c065ebb7ff751abd3a263f021b6db0364deb1310d1f54f62894f3e6f655f926003396aefc3647b8920a7d7b859f5f262792fd26df053d5b2896110e85aa66004f1af7f400ff92099a496f28f536d468bed0d930166e5d50cdf04f74c2f3504c04a24b4a7464752c62406930566396ef0203010001a381e13081de301d0603551d0e EAP-Message = 0x04160414f3af17e9014785edbe0150933f188620bc5b33253081ae0603551d230481a63081a38014f3af17e9014785edbe0150933f188620bc5b3325a18187a48184308181310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c204241311430120603550403130b Message-Authenticator = 0x00000000000000000000000000000000 State = 0x367f5b159926dcddfdf9c79c2b054d19 Finished request 1 Going to the next request --- Walking the entire request list --- Waking up in 5 seconds... rad_recv: Access-Request packet from host yyy.yyy.yyy.yyy:1127, id=89, length=106 User-Name = "guest" NAS-IP-Address = yyy.yyy.yyy.yyy NAS-Identifier = "smc" NAS-Port = 29 Service-Type = Framed-User Framed-MTU = 1400 NAS-Port-Type = Wireless-802.11 State = 0x367f5b159926dcddfdf9c79c2b054d19 EAP-Message = 0x025900060d00 Message-Authenticator = 0xb24e2403ab4be117d8be373bc51983ab modcall: entering group authorize for request 2 modcall[authorize]: module "preprocess" returns ok for request 2 modcall[authorize]: module "chap" returns noop for request 2 modcall[authorize]: module "mschap" returns noop for request 2 rlm_eap: EAP packet type response id 89 length 6 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 2 users: Matched DEFAULT at 153 users: Matched DEFAULT at 172 users: Matched guest at 220 modcall[authorize]: module "files" returns ok for request 2 modcall: group authorize returns updated for request 2 rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate for request 2 rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Received EAP-TLS ACK message rlm_eap_tls: No SSL info available. Waiting for more SSL data. eaptls_verify returned 1 eaptls_process returned 13 modcall[authenticate]: module "eap" returns handled for request 2 modcall: group authenticate returns handled for request 2 Sending Access-Challenge of id 89 to yyy.yyy.yyy.yyy:1127 Framed-IP-Address = 255.255.255.254 Framed-MTU = 576 Service-Type = Framed-User EAP-Message = 0x015a017f0d80000006e9564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b820100300c0603551d13040530030101ff300d06092a864886f70d01010405000381810060499fddb7d54b040f6ce51a32630d6802006793fbd54293c0e8c5d2dc2e139e6081584096f5caa38347637b2208c46c245b52b2b8886764c9ff0f18755d51e445473e96221deb889e5bc79f365dcc472aa651eceda74992475ca3f68d84dcffe161bef69ee8d0bb9857a0a7c40c195c12ea84c6173fbe5bf9831cc217a50f2816030100930d00008b02010200860084308181310b30 EAP-Message = 0x0906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c204241311430120603550403130b564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b0e000000 Message-Authenticator = 0x00000000000000000000000000000000 State = 0xfb0555c8a8ccbc07ef0af65998305ca0 Finished request 2 Going to the next request Waking up in 5 seconds... rad_recv: Access-Request packet from host yyy.yyy.yyy.yyy:1128, id=90, length=1067 User-Name = "guest" NAS-IP-Address = yyy.yyy.yyy.yyy State = 0xfb0555c8a8ccbc07ef0af65998305ca0 EAP-Message = 0x025a03de0d80000003d416030103a40b00029400029100028e3082028a308201f3a003020102020102300d06092a864886f70d0101040500308181310b300906035504061302534b311830160603550408130f536c6f76616b2052657075626c696331143012060355040a130b464d464920554b2c204241311430120603550403130b564320776972656c657373312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b301e170d3034303330353231313531365a170d3035303330353231313531365a307b310b300906035504061302534b311830160603550408130f536c6f76616b20 EAP-Message = 0x52657075626c696331143012060355040a130b464d464920554b2c204241310e300c060355040313056775657374312c302a06092a864886f70d010901161d70617a69406d6f6e69746f722e63632e666d70682e756e6962612e736b30819f300d06092a864886f70d010101050003818d0030818902818100afcf700b51faad104da2c470354fe651bf1b775a9abc41a31aaeaf3cb267286f727561a165102060b272f49b046309d65230a33ab0ae4c81def31cf51270033d320cb5eb28c8906f98f572d6620dfa2d77e42570492a5a0aa05e51f84a2817a6301989ef05cd8bea59aa88cb18817f739dd35ee7db2f61c6ce6bfd2b3c3bf20302030100 EAP-Message = 0x01a317301530130603551d25040c300a06082b06010505070302300d06092a864886f70d010104050003818100e07852a72e318b8e657ad09d968997854671856ca429b1f98628d4fa92059fef657cf070e78922566eb4e1d689de11517aa8bc9958aa4fd7ed67206b4b3c5034f138b93393aa2a964bbeb76f326b25e1ac146fd9789edcc83eb17a2f1a0821e10903cdfc514f85d07d39ec8ada0cc199828d415fbb9aba3322b719d784263648100000820080afd607fbc1c974aa036215ea08dc376b64169e9484920855113e21823230e3fdd1d225ad94469601aceab0901cb6b7d100ec0c16bd70193b888c206eced09b1e3945c285541bb48e1c05 EAP-Message = 0x65a14775767ac724c079ea50ecc51077b25f91388ebf010465af4722d1b17a39648eefe01856b9a0a30599311d8047a68868c81206250f0000820080a9c7352c7e1230002814d857395bd1fafeb768a611c52c9d228fe324c81dca2537823b453234249e2eca8c9a35ba5c0a2a5db79b3824425ceee5e97b980d43faff233399f2ec7fe7df3bf5cf737285b38efd6eca1724cb29b61972c0d8d0f89b4e54cf9f15af1fa61f16afb6ccf6e76af91bdf3d01be4f5385f796ac35fdf161140301000101160301002034d212fe9101e95598c0dc53a8df538315d4f707eadf915fe55ec0af815340cf Message-Authenticator = 0x39a0f811f722046ea68a9801872684f8 modcall: entering group authorize for request 3 modcall[authorize]: module "preprocess" returns ok for request 3 modcall[authorize]: module "chap" returns noop for request 3 modcall[authorize]: module "mschap" returns noop for request 3 rlm_eap: EAP packet type response id 90 length 253 rlm_eap: No EAP Start, assuming it's an on-going EAP conversation modcall[authorize]: module "eap" returns updated for request 3 users: Matched DEFAULT at 153 users: Matched guest at 220 modcall[authorize]: module "files" returns ok for request 3 modcall: group authorize returns updated for request 3 rad_check_password: Found Auth-Type EAP auth: type "EAP" modcall: entering group authenticate for request 3 rlm_eap: Request found, released from the list rlm_eap: EAP/tls rlm_eap: processing type tls rlm_eap_tls: Authenticate rlm_eap_tls: processing TLS rlm_eap_tls: Length Included eaptls_verify returned 11 Segmentation fault - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html