FreeRadius PAP authentication for Non-EAPOL clients on Avaya 5500 switch.
Hello, We have been running our radius servers for some time now and they work just fine authenticating our wireless users against our LDAP tree etc. Now my management has asked me to spend some time setting up radius authentication for wired outleds in the office, and for the workstations I got it working rather quickly using EAP-TLS and certificates signed by the same CA that signed the radius certificate. But I also need to accommodate telephones and printers and they don't do EAP themselves. To work around this, the switches we use have an option to configure the switch in such a way that it creates a radius access request based on the MAC address of the client, it's own IP address and the port the client is connected to. You then have to add this information to the users file of the radius server and you should be able to authenticate the device and open the port. This sounds like a simple setup, just add some users with plaintext passwords and start the authentication process. But the problem is that this fails, and it looks like the switch is sending 2 exactly the same authentication requests short after another, and the first one succeeds, but the second one fails. I also see this when I ping the host, I receive one reply and after that the port is closed again. Could someone tell me if I have something wrong in my config? Thanks a lot. Jan Hugo Prins 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/always including configuration file /etc/raddb/modules/perl including configuration file /etc/raddb/modules/ippool including configuration file /etc/raddb/modules/attr_rewrite including configuration file /etc/raddb/modules/files including configuration file /etc/raddb/modules/exec including configuration file /etc/raddb/modules/smbpasswd including configuration file /etc/raddb/modules/cui including configuration file /etc/raddb/modules/smsotp including configuration file /etc/raddb/modules/preprocess including configuration file /etc/raddb/modules/mac2vlan including configuration file /etc/raddb/modules/counter including configuration file /etc/raddb/modules/dynamic_clients including configuration file /etc/raddb/modules/attr_filter including configuration file /etc/raddb/modules/sql_log including configuration file /etc/raddb/modules/detail including configuration file /etc/raddb/modules/realm including configuration file /etc/raddb/modules/expiration including configuration file /etc/raddb/modules/mschap including configuration file /etc/raddb/modules/digest including configuration file /etc/raddb/modules/policy including configuration file /etc/raddb/modules/pam including configuration file /etc/raddb/modules/checkval including configuration file /etc/raddb/modules/etc_group including configuration file /etc/raddb/modules/expr including configuration file /etc/raddb/modules/ntlm_auth including configuration file /etc/raddb/modules/echo including configuration file /etc/raddb/modules/passwd including configuration file /etc/raddb/modules/sqlcounter_expire_on_login including configuration file /etc/raddb/modules/inner-eap including configuration file /etc/raddb/modules/otp including configuration file /etc/raddb/modules/mac2ip including configuration file /etc/raddb/modules/ldap including configuration file /etc/raddb/modules/radutmp including configuration file /etc/raddb/modules/detail.example.com including configuration file /etc/raddb/modules/wimax including configuration file /etc/raddb/modules/unix including configuration file /etc/raddb/modules/sradutmp including configuration file /etc/raddb/modules/acct_unique including configuration file /etc/raddb/modules/pap including configuration file /etc/raddb/modules/linelog including configuration file /etc/raddb/modules/opendirectory including configuration file /etc/raddb/modules/detail.log including configuration file /etc/raddb/modules/chap 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/Compagny1 including configuration file /etc/raddb/sites-enabled/Compagny1-tunnel main { user = "radiusd" group = "radiusd" allow_core_dumps = no } including dictionary file /etc/raddb/dictionary main { prefix = "/usr" localstatedir = "/var" logdir = "/var/log/radius" libdir = "/usr/lib64/freeradius" radacctdir = "/var/log/radius/radacct" hostname_lookups = no max_request_time = 30 cleanup_delay = 5 max_requests = 1024 pidfile = "/var/run/radiusd/radiusd.pid" checkrad = "/usr/sbin/checkrad" debug_level = 0 proxy_requests = yes log { stripped_names = no auth = yes 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 } realm Compagny1.com { nostrip } realm bedrijf2.nl { nostrip } realm bedrijf3.nl { nostrip } realm LOCAL { } radiusd: #### Loading Clients #### client localhost { ipaddr = 127.0.0.1 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxx" nastype = "other" } client aruba01 { ipaddr = 172.30.20.47 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxxxx" nastype = "other" } client pppoe { ipaddr = 172.30.20.48 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxx" nastype = "other" } client radius01 { ipaddr = 172.30.20.16 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxx" nastype = "other" } client radius02 { ipaddr = 172.30.20.17 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxx" nastype = "other" } client infranode01 { ipaddr = 172.30.20.52 require_message_authenticator = no secret = "axxxxxxxxxxxxxx" nastype = "other" } client infranode02 { ipaddr = 172.30.20.53 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxxxx" nastype = "other" } client tc03st01sw1 { ipaddr = 192.168.202.41 require_message_authenticator = no secret = "xxxxxxxxxxxxxxxxxx" nastype = "other" } client tc03st02sw1 { ipaddr = 192.168.202.61 require_message_authenticator = no secret = "nortel" nastype = "other" } radiusd: #### Instantiating modules #### instantiate { Module: Linked to module rlm_exec Module: Instantiating module "exec" from file /etc/raddb/modules/exec exec { wait = no input_pairs = "request" shell_escape = yes } Module: Linked to module rlm_expr Module: Instantiating module "expr" from file /etc/raddb/modules/expr Module: Linked to module rlm_expiration Module: Instantiating module "expiration" from file /etc/raddb/modules/expiration expiration { reply-message = "Password Has Expired " } Module: Linked to module rlm_logintime Module: Instantiating module "logintime" from file /etc/raddb/modules/logintime logintime { reply-message = "You are calling outside your allowed timespan " minimum-timeout = 60 } } radiusd: #### Loading Virtual Servers #### server inner-tunnel-Compagny1 { # from file /etc/raddb/sites-enabled/Compagny1-tunnel modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_pap Module: Instantiating module "pap" from file /etc/raddb/modules/pap pap { encryption_scheme = "auto" auto_header = no } Module: Linked to module rlm_chap Module: Instantiating module "chap" from file /etc/raddb/modules/chap Module: Linked to module rlm_mschap Module: Instantiating module "mschap" from file /etc/raddb/modules/mschap mschap { use_mppe = yes require_encryption = no require_strong = no with_ntdomain_hack = no } Module: Linked to module rlm_unix Module: Instantiating module "unix" from file /etc/raddb/modules/unix unix { radwtmp = "/var/log/radius/radwtmp" } Module: Linked to module rlm_eap Module: Instantiating module "eap_Compagny1" from file /etc/raddb/eap.conf eap eap_Compagny1 { default_eap_type = "md5" timer_expire = 60 ignore_unknown_eap_types = no cisco_accounting_username_bug = no max_sessions = 4096 } 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/raddb/certs" pem_file_type = yes private_key_file = "/etc/raddb/certs/server.pem" certificate_file = "/etc/raddb/certs/server.pem" CA_file = "/etc/raddb/certs/ca.pem" private_key_password = "whatever" dh_file = "/etc/raddb/certs/dh" random_file = "/etc/raddb/certs/random" fragment_size = 1024 include_length = yes check_crl = no check_cert_cn = "%{User-Name}" cipher_list = "DEFAULT" cache { enable = no lifetime = 24 max_entries = 255 } verify { } } Module: Linked to sub-module rlm_eap_ttls Module: Instantiating eap-ttls ttls { default_eap_type = "md5" copy_request_to_tunnel = yes use_tunneled_reply = yes virtual_server = "inner-tunnel-Compagny1" include_length = yes } Module: Linked to sub-module rlm_eap_peap Module: Instantiating eap-peap peap { default_eap_type = "mschapv2" copy_request_to_tunnel = yes use_tunneled_reply = yes proxy_tunneled_request_as_eap = yes virtual_server = "inner-tunnel-Compagny1" } 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: Loading virtual module optional_realm Module: Linked to module rlm_always Module: Instantiating module "updated" from file /etc/raddb/modules/always always updated { rcode = "updated" simulcount = 0 mpp = no } Module: Instantiating module "notfound" from file /etc/raddb/modules/always always notfound { rcode = "notfound" simulcount = 0 mpp = no } Module: Linked to module rlm_realm Module: Instantiating module "suffix" from file /etc/raddb/modules/realm realm suffix { format = "suffix" delimiter = "@" ignore_default = no ignore_null = no } Module: Linked to module rlm_files Module: Instantiating module "files" from file /etc/raddb/modules/files files { usersfile = "/etc/raddb/users" acctusersfile = "/etc/raddb/acct_users" preproxy_usersfile = "/etc/raddb/preproxy_users" compat = "no" } Module: Linked to module rlm_ldap Module: Instantiating module "ldap_Compagny1" from file /etc/raddb/modules/ldap ldap ldap_Compagny1 { server = "ldap.svc.be.nl" port = 389 password = "" identity = "" net_timeout = 1 timeout = 4 timelimit = 3 tls_mode = no start_tls = no tls_require_cert = "allow" tls { start_tls = no require_cert = "allow" } basedn = "ou=bedrijf1,dc=Compagny1,dc=com" filter = "(mailLocalAddress=%{User-Name})" base_filter = "(objectclass=radiusprofile)" auto_header = no access_attr_used_for_allow = yes groupname_attribute = "cn" groupmembership_filter = "(&(objectClass=posixGroup)(memberUid=%{Stripped-User-Name}))" dictionary_mapping = "/etc/raddb/ldap.attrmap" ldap_debug = 0 ldap_connections_number = 5 compare_check_items = no do_xlat = yes set_auth_type = yes } rlm_ldap: Registering ldap_groupcmp for Ldap-Group rlm_ldap: Creating new attribute ldap_Compagny1-Ldap-Group rlm_ldap: Registering ldap_groupcmp for ldap_Compagny1-Ldap-Group rlm_ldap: Registering ldap_xlat with xlat_name ldap_Compagny1 rlm_ldap: Over-riding set_auth_type, as there is no module ldap_Compagny1 listed in the "authenticate" section. rlm_ldap: reading ldap<->radius mappings from file /etc/raddb/ldap.attrmap rlm_ldap: LDAP radiusCheckItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusReplyItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusAuthType mapped to RADIUS Auth-Type rlm_ldap: LDAP radiusSimultaneousUse mapped to RADIUS Simultaneous-Use rlm_ldap: LDAP radiusCalledStationId mapped to RADIUS Called-Station-Id rlm_ldap: LDAP radiusCallingStationId mapped to RADIUS Calling-Station-Id rlm_ldap: LDAP lmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP ntPassword mapped to RADIUS NT-Password rlm_ldap: LDAP sambaLmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP sambaNtPassword mapped to RADIUS NT-Password rlm_ldap: LDAP dBCSPwd mapped to RADIUS LM-Password rlm_ldap: LDAP userPassword mapped to RADIUS Password-With-Header rlm_ldap: LDAP acctFlags mapped to RADIUS SMB-Account-CTRL-TEXT rlm_ldap: LDAP radiusExpiration mapped to RADIUS Expiration rlm_ldap: LDAP radiusNASIpAddress mapped to RADIUS NAS-IP-Address rlm_ldap: LDAP radiusServiceType mapped to RADIUS Service-Type rlm_ldap: LDAP radiusFramedProtocol mapped to RADIUS Framed-Protocol rlm_ldap: LDAP radiusFramedIPAddress mapped to RADIUS Framed-IP-Address rlm_ldap: LDAP radiusFramedIPNetmask mapped to RADIUS Framed-IP-Netmask rlm_ldap: LDAP radiusFramedRoute mapped to RADIUS Framed-Route rlm_ldap: LDAP radiusFramedRouting mapped to RADIUS Framed-Routing rlm_ldap: LDAP radiusFilterId mapped to RADIUS Filter-Id rlm_ldap: LDAP radiusFramedMTU mapped to RADIUS Framed-MTU rlm_ldap: LDAP radiusFramedCompression mapped to RADIUS Framed-Compression rlm_ldap: LDAP radiusLoginIPHost mapped to RADIUS Login-IP-Host rlm_ldap: LDAP radiusLoginService mapped to RADIUS Login-Service rlm_ldap: LDAP radiusLoginTCPPort mapped to RADIUS Login-TCP-Port rlm_ldap: LDAP radiusCallbackNumber mapped to RADIUS Callback-Number rlm_ldap: LDAP radiusCallbackId mapped to RADIUS Callback-Id rlm_ldap: LDAP radiusFramedIPXNetwork mapped to RADIUS Framed-IPX-Network rlm_ldap: LDAP radiusClass mapped to RADIUS Class rlm_ldap: LDAP radiusSessionTimeout mapped to RADIUS Session-Timeout rlm_ldap: LDAP radiusIdleTimeout mapped to RADIUS Idle-Timeout rlm_ldap: LDAP radiusTerminationAction mapped to RADIUS Termination-Action rlm_ldap: LDAP radiusLoginLATService mapped to RADIUS Login-LAT-Service rlm_ldap: LDAP radiusLoginLATNode mapped to RADIUS Login-LAT-Node rlm_ldap: LDAP radiusLoginLATGroup mapped to RADIUS Login-LAT-Group rlm_ldap: LDAP radiusFramedAppleTalkLink mapped to RADIUS Framed-AppleTalk-Link rlm_ldap: LDAP radiusFramedAppleTalkNetwork mapped to RADIUS Framed-AppleTalk-Network rlm_ldap: LDAP radiusFramedAppleTalkZone mapped to RADIUS Framed-AppleTalk-Zone rlm_ldap: LDAP radiusPortLimit mapped to RADIUS Port-Limit rlm_ldap: LDAP radiusLoginLATPort mapped to RADIUS Login-LAT-Port rlm_ldap: LDAP radiusReplyMessage mapped to RADIUS Reply-Message rlm_ldap: LDAP radiusTunnelType mapped to RADIUS Tunnel-Type rlm_ldap: LDAP radiusTunnelMediumType mapped to RADIUS Tunnel-Medium-Type rlm_ldap: LDAP radiusTunnelPrivateGroupId mapped to RADIUS Tunnel-Private-Group-Id conns: 0x1ee5b30 Module: Instantiating module "ldap_bedrijf2" from file /etc/raddb/modules/ldap ldap ldap_bedrijf2 { server = "ldap.svc.be.nl" port = 389 password = "" identity = "" net_timeout = 1 timeout = 4 timelimit = 3 tls_mode = no start_tls = no tls_require_cert = "allow" tls { start_tls = no require_cert = "allow" } basedn = "ou=bedrijf2,dc=Compagny1,dc=com" filter = "(mailLocalAddress=%{User-Name})" base_filter = "(objectclass=radiusprofile)" auto_header = no access_attr_used_for_allow = yes groupname_attribute = "cn" groupmembership_filter = "(&(objectClass=posixGroup)(memberUid=%{Stripped-User-Name}))" dictionary_mapping = "/etc/raddb/ldap.attrmap" ldap_debug = 0 ldap_connections_number = 5 compare_check_items = no do_xlat = yes set_auth_type = yes } rlm_ldap: Registering ldap_groupcmp for Ldap-Group rlm_ldap: Creating new attribute ldap_bedrijf2-Ldap-Group rlm_ldap: Registering ldap_groupcmp for ldap_bedrijf2-Ldap-Group rlm_ldap: Registering ldap_xlat with xlat_name ldap_bedrijf2 rlm_ldap: Over-riding set_auth_type, as there is no module ldap_bedrijf2 listed in the "authenticate" section. rlm_ldap: reading ldap<->radius mappings from file /etc/raddb/ldap.attrmap rlm_ldap: LDAP radiusCheckItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusReplyItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusAuthType mapped to RADIUS Auth-Type rlm_ldap: LDAP radiusSimultaneousUse mapped to RADIUS Simultaneous-Use rlm_ldap: LDAP radiusCalledStationId mapped to RADIUS Called-Station-Id rlm_ldap: LDAP radiusCallingStationId mapped to RADIUS Calling-Station-Id rlm_ldap: LDAP lmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP ntPassword mapped to RADIUS NT-Password rlm_ldap: LDAP sambaLmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP sambaNtPassword mapped to RADIUS NT-Password rlm_ldap: LDAP dBCSPwd mapped to RADIUS LM-Password rlm_ldap: LDAP userPassword mapped to RADIUS Password-With-Header rlm_ldap: LDAP acctFlags mapped to RADIUS SMB-Account-CTRL-TEXT rlm_ldap: LDAP radiusExpiration mapped to RADIUS Expiration rlm_ldap: LDAP radiusNASIpAddress mapped to RADIUS NAS-IP-Address rlm_ldap: LDAP radiusServiceType mapped to RADIUS Service-Type rlm_ldap: LDAP radiusFramedProtocol mapped to RADIUS Framed-Protocol rlm_ldap: LDAP radiusFramedIPAddress mapped to RADIUS Framed-IP-Address rlm_ldap: LDAP radiusFramedIPNetmask mapped to RADIUS Framed-IP-Netmask rlm_ldap: LDAP radiusFramedRoute mapped to RADIUS Framed-Route rlm_ldap: LDAP radiusFramedRouting mapped to RADIUS Framed-Routing rlm_ldap: LDAP radiusFilterId mapped to RADIUS Filter-Id rlm_ldap: LDAP radiusFramedMTU mapped to RADIUS Framed-MTU rlm_ldap: LDAP radiusFramedCompression mapped to RADIUS Framed-Compression rlm_ldap: LDAP radiusLoginIPHost mapped to RADIUS Login-IP-Host rlm_ldap: LDAP radiusLoginService mapped to RADIUS Login-Service rlm_ldap: LDAP radiusLoginTCPPort mapped to RADIUS Login-TCP-Port rlm_ldap: LDAP radiusCallbackNumber mapped to RADIUS Callback-Number rlm_ldap: LDAP radiusCallbackId mapped to RADIUS Callback-Id rlm_ldap: LDAP radiusFramedIPXNetwork mapped to RADIUS Framed-IPX-Network rlm_ldap: LDAP radiusClass mapped to RADIUS Class rlm_ldap: LDAP radiusSessionTimeout mapped to RADIUS Session-Timeout rlm_ldap: LDAP radiusIdleTimeout mapped to RADIUS Idle-Timeout rlm_ldap: LDAP radiusTerminationAction mapped to RADIUS Termination-Action rlm_ldap: LDAP radiusLoginLATService mapped to RADIUS Login-LAT-Service rlm_ldap: LDAP radiusLoginLATNode mapped to RADIUS Login-LAT-Node rlm_ldap: LDAP radiusLoginLATGroup mapped to RADIUS Login-LAT-Group rlm_ldap: LDAP radiusFramedAppleTalkLink mapped to RADIUS Framed-AppleTalk-Link rlm_ldap: LDAP radiusFramedAppleTalkNetwork mapped to RADIUS Framed-AppleTalk-Network rlm_ldap: LDAP radiusFramedAppleTalkZone mapped to RADIUS Framed-AppleTalk-Zone rlm_ldap: LDAP radiusPortLimit mapped to RADIUS Port-Limit rlm_ldap: LDAP radiusLoginLATPort mapped to RADIUS Login-LAT-Port rlm_ldap: LDAP radiusReplyMessage mapped to RADIUS Reply-Message rlm_ldap: LDAP radiusTunnelType mapped to RADIUS Tunnel-Type rlm_ldap: LDAP radiusTunnelMediumType mapped to RADIUS Tunnel-Medium-Type rlm_ldap: LDAP radiusTunnelPrivateGroupId mapped to RADIUS Tunnel-Private-Group-Id conns: 0x1ee7840 Module: Instantiating module "ldap_bedrijf3" from file /etc/raddb/modules/ldap ldap ldap_bedrijf3 { server = "ldap.svc.be.nl" port = 389 password = "" identity = "" net_timeout = 1 timeout = 4 timelimit = 3 tls_mode = no start_tls = no tls_require_cert = "allow" tls { start_tls = no require_cert = "allow" } basedn = "ou=bedrijf3,dc=Compagny1,dc=com" filter = "(mailLocalAddress=%{User-Name})" base_filter = "(objectclass=radiusprofile)" auto_header = no access_attr_used_for_allow = yes groupname_attribute = "cn" groupmembership_filter = "(&(objectClass=posixGroup)(memberUid=%{Stripped-User-Name}))" dictionary_mapping = "/etc/raddb/ldap.attrmap" ldap_debug = 0 ldap_connections_number = 5 compare_check_items = no do_xlat = yes set_auth_type = yes } rlm_ldap: Registering ldap_groupcmp for Ldap-Group rlm_ldap: Creating new attribute ldap_bedrijf3-Ldap-Group rlm_ldap: Registering ldap_groupcmp for ldap_bedrijf3-Ldap-Group rlm_ldap: Registering ldap_xlat with xlat_name ldap_bedrijf3 rlm_ldap: Over-riding set_auth_type, as there is no module ldap_bedrijf3 listed in the "authenticate" section. rlm_ldap: reading ldap<->radius mappings from file /etc/raddb/ldap.attrmap rlm_ldap: LDAP radiusCheckItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusReplyItem mapped to RADIUS $GENERIC$ rlm_ldap: LDAP radiusAuthType mapped to RADIUS Auth-Type rlm_ldap: LDAP radiusSimultaneousUse mapped to RADIUS Simultaneous-Use rlm_ldap: LDAP radiusCalledStationId mapped to RADIUS Called-Station-Id rlm_ldap: LDAP radiusCallingStationId mapped to RADIUS Calling-Station-Id rlm_ldap: LDAP lmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP ntPassword mapped to RADIUS NT-Password rlm_ldap: LDAP sambaLmPassword mapped to RADIUS LM-Password rlm_ldap: LDAP sambaNtPassword mapped to RADIUS NT-Password rlm_ldap: LDAP dBCSPwd mapped to RADIUS LM-Password rlm_ldap: LDAP userPassword mapped to RADIUS Password-With-Header rlm_ldap: LDAP acctFlags mapped to RADIUS SMB-Account-CTRL-TEXT rlm_ldap: LDAP radiusExpiration mapped to RADIUS Expiration rlm_ldap: LDAP radiusNASIpAddress mapped to RADIUS NAS-IP-Address rlm_ldap: LDAP radiusServiceType mapped to RADIUS Service-Type rlm_ldap: LDAP radiusFramedProtocol mapped to RADIUS Framed-Protocol rlm_ldap: LDAP radiusFramedIPAddress mapped to RADIUS Framed-IP-Address rlm_ldap: LDAP radiusFramedIPNetmask mapped to RADIUS Framed-IP-Netmask rlm_ldap: LDAP radiusFramedRoute mapped to RADIUS Framed-Route rlm_ldap: LDAP radiusFramedRouting mapped to RADIUS Framed-Routing rlm_ldap: LDAP radiusFilterId mapped to RADIUS Filter-Id rlm_ldap: LDAP radiusFramedMTU mapped to RADIUS Framed-MTU rlm_ldap: LDAP radiusFramedCompression mapped to RADIUS Framed-Compression rlm_ldap: LDAP radiusLoginIPHost mapped to RADIUS Login-IP-Host rlm_ldap: LDAP radiusLoginService mapped to RADIUS Login-Service rlm_ldap: LDAP radiusLoginTCPPort mapped to RADIUS Login-TCP-Port rlm_ldap: LDAP radiusCallbackNumber mapped to RADIUS Callback-Number rlm_ldap: LDAP radiusCallbackId mapped to RADIUS Callback-Id rlm_ldap: LDAP radiusFramedIPXNetwork mapped to RADIUS Framed-IPX-Network rlm_ldap: LDAP radiusClass mapped to RADIUS Class rlm_ldap: LDAP radiusSessionTimeout mapped to RADIUS Session-Timeout rlm_ldap: LDAP radiusIdleTimeout mapped to RADIUS Idle-Timeout rlm_ldap: LDAP radiusTerminationAction mapped to RADIUS Termination-Action rlm_ldap: LDAP radiusLoginLATService mapped to RADIUS Login-LAT-Service rlm_ldap: LDAP radiusLoginLATNode mapped to RADIUS Login-LAT-Node rlm_ldap: LDAP radiusLoginLATGroup mapped to RADIUS Login-LAT-Group rlm_ldap: LDAP radiusFramedAppleTalkLink mapped to RADIUS Framed-AppleTalk-Link rlm_ldap: LDAP radiusFramedAppleTalkNetwork mapped to RADIUS Framed-AppleTalk-Network rlm_ldap: LDAP radiusFramedAppleTalkZone mapped to RADIUS Framed-AppleTalk-Zone rlm_ldap: LDAP radiusPortLimit mapped to RADIUS Port-Limit rlm_ldap: LDAP radiusLoginLATPort mapped to RADIUS Login-LAT-Port rlm_ldap: LDAP radiusReplyMessage mapped to RADIUS Reply-Message rlm_ldap: LDAP radiusTunnelType mapped to RADIUS Tunnel-Type rlm_ldap: LDAP radiusTunnelMediumType mapped to RADIUS Tunnel-Medium-Type rlm_ldap: LDAP radiusTunnelPrivateGroupId mapped to RADIUS Tunnel-Private-Group-Id conns: 0x1ee9630 Module: Loading virtual module real_id Module: Checking session {...} for more modules to load Module: Linked to module rlm_radutmp Module: Instantiating module "radutmp" from file /etc/raddb/modules/radutmp radutmp { filename = "/var/log/radius/radutmp" username = "%{User-Name}" case_sensitive = yes check_with_nas = yes perm = 384 callerid = yes } Module: Checking pre-proxy {...} for more modules to load Module: Linked to module rlm_detail Module: Instantiating module "pre_proxy_log" from file /etc/raddb/modules/detail.log detail pre_proxy_log { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/pre-proxy-detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Checking post-proxy {...} for more modules to load Module: Instantiating module "post_proxy_log" from file /etc/raddb/modules/detail.log detail post_proxy_log { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/post-proxy-detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Checking post-auth {...} for more modules to load Module: Instantiating module "reply_log" from file /etc/raddb/modules/detail.log detail reply_log { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Linked to module rlm_attr_filter Module: Instantiating module "attr_filter.access_reject" from file /etc/raddb/modules/attr_filter attr_filter attr_filter.access_reject { attrsfile = "/etc/raddb/attrs.access_reject" key = "%{User-Name}" } } # modules } # server server { # from file /etc/raddb/radiusd.conf modules { Module: Checking authenticate {...} for more modules to load Module: Linked to module rlm_digest Module: Instantiating module "digest" from file /etc/raddb/modules/digest Module: Checking authorize {...} for more modules to load Module: Loading virtual module optional_realm Module: Linked to module rlm_preprocess Module: Instantiating module "preprocess" from file /etc/raddb/modules/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: Instantiating module "auth_log" from file /etc/raddb/modules/detail.log detail auth_log { detailfile = "/var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d" header = "%t" detailperm = 384 dirperm = 493 locking = no log_packet_header = no } Module: Checking preacct {...} for more modules to load Module: Linked to module rlm_acct_unique Module: Instantiating module "acct_unique" from file /etc/raddb/modules/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: Instantiating module "detail" from file /etc/raddb/modules/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 module "attr_filter.accounting_response" from file /etc/raddb/modules/attr_filter 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 pre-proxy {...} for more modules to load Module: Loading virtual module allow_only_Compagny1 Module: Instantiating module "reject" from file /etc/raddb/modules/always always reject { rcode = "reject" simulcount = 0 mpp = no } 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 = "auth" ipaddr = 127.0.0.1 port = 18120 } Listening on authentication address * port 1812 Listening on accounting address * port 1813 Listening on authentication address 127.0.0.1 port 18120 as server inner-tunnel-Compagny1 Listening on proxy address * port 1814 Ready to process requests. rad_recv: Access-Request packet from host 192.168.202.61 port 3490, id=203, length=86 NAS-IP-Address = 192.168.202.61 User-Password = "192168202061.78acc0788222.0003" Service-Type = Login-User NAS-Port = 3 User-Name = "78acc0788222" # Executing section authorize from file /etc/raddb/sites-enabled/Compagny1 +- entering group authorize {...} ++- entering policy optional_realm {...} +++? if (User-Name =~ /(.+)@(.+)/) ? Evaluating (User-Name =~ /(.+)@(.+)/) -> FALSE +++? if (User-Name =~ /(.+)@(.+)/) -> FALSE +++- entering else else {...} ++++[notfound] returns notfound +++- else else returns notfound ++- policy optional_realm returns notfound ++[preprocess] returns ok [auth_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /var/log/radius/radacct/192.168.202.61/auth-detail-20150226 [auth_log] /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /var/log/radius/radacct/192.168.202.61/auth-detail-20150226 [auth_log] expand: %t -> Thu Feb 26 01:08:14 2015 ++[auth_log] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [suffix] No '@' in User-Name = "78acc0788222", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap_Compagny1] No EAP-Message, not doing EAP ++[eap_Compagny1] returns noop [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788222) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] attempting LDAP reconnection [ldap_Compagny1] (re)connect to ldap.svc.be.nl:389, authentication 0 [ldap_Compagny1] bind as / to ldap.svc.be.nl:389 [ldap_Compagny1] waiting for bind result ... [ldap_Compagny1] Bind was successful [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788222) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788222) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788222) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 [ldap_bedrijf2] Entering ldap_groupcmp() [files] expand: ou=bedrijf2,dc=Compagny1,dc=com -> ou=bedrijf2,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788222) [ldap_bedrijf2] ldap_get_conn: Checking Id: 0 [ldap_bedrijf2] ldap_get_conn: Got Id: 0 [ldap_bedrijf2] attempting LDAP reconnection [ldap_bedrijf2] (re)connect to ldap.svc.be.nl:389, authentication 0 [ldap_bedrijf2] bind as / to ldap.svc.be.nl:389 [ldap_bedrijf2] waiting for bind result ... [ldap_bedrijf2] Bind was successful [ldap_bedrijf2] performing search in ou=bedrijf2,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788222) [ldap_bedrijf2] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_bedrijf2] ldap_release_conn: Release Id: 0 [ldap_bedrijf3] Entering ldap_groupcmp() [files] expand: ou=bedrijf3,dc=Compagny1,dc=com -> ou=bedrijf3,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788222) [ldap_bedrijf3] ldap_get_conn: Checking Id: 0 [ldap_bedrijf3] ldap_get_conn: Got Id: 0 [ldap_bedrijf3] attempting LDAP reconnection [ldap_bedrijf3] (re)connect to ldap.svc.be.nl:389, authentication 0 [ldap_bedrijf3] bind as / to ldap.svc.be.nl:389 [ldap_bedrijf3] waiting for bind result ... [ldap_bedrijf3] Bind was successful [ldap_bedrijf3] performing search in ou=bedrijf3,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788222) [ldap_bedrijf3] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_bedrijf3] ldap_release_conn: Release Id: 0 [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788222) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788222) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 [files] users: Matched entry 78acc0788222 at line 24 ++[files] returns ok ++? if (Realm == "Compagny1.com" ) (Attribute Realm was not found) ? Evaluating (Realm == "Compagny1.com" ) -> FALSE ++? if (Realm == "Compagny1.com" ) -> FALSE ++? if (Realm == "bedrijf2.nl" ) (Attribute Realm was not found) ? Evaluating (Realm == "bedrijf2.nl" ) -> FALSE ++? if (Realm == "bedrijf2.nl" ) -> FALSE ++? if (Realm == "bedrijf3.nl" ) (Attribute Realm was not found) ? Evaluating (Realm == "bedrijf3.nl" ) -> FALSE ++? if (Realm == "bedrijf3.nl" ) -> FALSE ++[expiration] returns noop ++[logintime] returns noop ++[pap] returns updated Found Auth-Type = PAP # Executing group from file /etc/raddb/sites-enabled/Compagny1 +- entering group PAP {...} ++[files] returns noop [pap] login attempt with password "192168202061.78acc0788222.0003" [pap] Using clear text password "192168202061.78acc0788222.0003" [pap] User authenticated successfully ++[pap] returns ok Login OK: [78acc0788222] (from client tc03st02sw1 port 3) # Executing section post-auth from file /etc/raddb/sites-enabled/Compagny1 +- entering group post-auth {...} [reply_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d -> /var/log/radius/radacct/192.168.202.61/reply-detail-20150226 [reply_log] /var/log/radius/radacct/%{Client-IP-Address}/reply-detail-%Y%m%d expands to /var/log/radius/radacct/192.168.202.61/reply-detail-20150226 [reply_log] expand: %t -> Thu Feb 26 01:08:14 2015 ++[reply_log] returns ok ++[exec] returns noop Sending Access-Accept of id 203 to 192.168.202.61 port 3490 Finished request 0. Going to the next request Waking up in 4.9 seconds. rad_recv: Access-Request packet from host 192.168.202.61 port 3490, id=204, length=86 NAS-IP-Address = 192.168.202.61 User-Password = "192168202061.78acc0788220.0003" Service-Type = Login-User NAS-Port = 3 User-Name = "78acc0788220" # Executing section authorize from file /etc/raddb/sites-enabled/Compagny1 +- entering group authorize {...} ++- entering policy optional_realm {...} +++? if (User-Name =~ /(.+)@(.+)/) ? Evaluating (User-Name =~ /(.+)@(.+)/) -> FALSE +++? if (User-Name =~ /(.+)@(.+)/) -> FALSE +++- entering else else {...} ++++[notfound] returns notfound +++- else else returns notfound ++- policy optional_realm returns notfound ++[preprocess] returns ok [auth_log] expand: /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d -> /var/log/radius/radacct/192.168.202.61/auth-detail-20150226 [auth_log] /var/log/radius/radacct/%{Client-IP-Address}/auth-detail-%Y%m%d expands to /var/log/radius/radacct/192.168.202.61/auth-detail-20150226 [auth_log] expand: %t -> Thu Feb 26 01:08:15 2015 ++[auth_log] returns ok ++[chap] returns noop ++[mschap] returns noop ++[digest] returns noop [suffix] No '@' in User-Name = "78acc0788220", looking up realm NULL [suffix] No such realm "NULL" ++[suffix] returns noop [eap_Compagny1] No EAP-Message, not doing EAP ++[eap_Compagny1] returns noop [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788220) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788220) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788220) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788220) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 [ldap_bedrijf2] Entering ldap_groupcmp() [files] expand: ou=bedrijf2,dc=Compagny1,dc=com -> ou=bedrijf2,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788220) [ldap_bedrijf2] ldap_get_conn: Checking Id: 0 [ldap_bedrijf2] ldap_get_conn: Got Id: 0 [ldap_bedrijf2] performing search in ou=bedrijf2,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788220) [ldap_bedrijf2] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_bedrijf2] ldap_release_conn: Release Id: 0 [ldap_bedrijf3] Entering ldap_groupcmp() [files] expand: ou=bedrijf3,dc=Compagny1,dc=com -> ou=bedrijf3,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788220) [ldap_bedrijf3] ldap_get_conn: Checking Id: 0 [ldap_bedrijf3] ldap_get_conn: Got Id: 0 [ldap_bedrijf3] performing search in ou=bedrijf3,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788220) [ldap_bedrijf3] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_bedrijf3] ldap_release_conn: Release Id: 0 [ldap_Compagny1] Entering ldap_groupcmp() [files] expand: ou=bedrijf1,dc=Compagny1,dc=com -> ou=bedrijf1,dc=Compagny1,dc=com [files] expand: (mailLocalAddress=%{User-Name}) -> (mailLocalAddress=78acc0788220) [ldap_Compagny1] ldap_get_conn: Checking Id: 0 [ldap_Compagny1] ldap_get_conn: Got Id: 0 [ldap_Compagny1] performing search in ou=bedrijf1,dc=Compagny1,dc=com, with filter (mailLocalAddress=78acc0788220) [ldap_Compagny1] object not found rlm_ldap::ldap_groupcmp: search failed [ldap_Compagny1] ldap_release_conn: Release Id: 0 ++[files] returns noop ++? if (Realm == "Compagny1.com" ) (Attribute Realm was not found) ? Evaluating (Realm == "Compagny1.com" ) -> FALSE ++? if (Realm == "Compagny1.com" ) -> FALSE ++? if (Realm == "bedrijf2.nl" ) (Attribute Realm was not found) ? Evaluating (Realm == "bedrijf2.nl" ) -> FALSE ++? if (Realm == "bedrijf2.nl" ) -> FALSE ++? if (Realm == "bedrijf3.nl" ) (Attribute Realm was not found) ? Evaluating (Realm == "bedrijf3.nl" ) -> FALSE ++? if (Realm == "bedrijf3.nl" ) -> FALSE ++[expiration] returns noop ++[logintime] returns noop [pap] WARNING! No "known good" password found for the user. Authentication may fail because of this. ++[pap] returns noop ERROR: No authenticate method (Auth-Type) found for the request: Rejecting the user Failed to authenticate the user. Login incorrect: [78acc0788220] (from client tc03st02sw1 port 3) Using Post-Auth-Type Reject # Executing group from file /etc/raddb/sites-enabled/Compagny1 +- entering group REJECT {...} [attr_filter.access_reject] expand: %{User-Name} -> 78acc0788220 attr_filter: Matched entry DEFAULT at line 11 ++[attr_filter.access_reject] returns updated Delaying reject of request 1 for 1 seconds Going to the next request Waking up in 0.9 seconds. Sending delayed reject for request 1 Sending Access-Reject of id 204 to 192.168.202.61 port 3490 Waking up in 3.3 seconds. Cleaning up request 0 ID 203 with timestamp +14 Waking up in 1.6 seconds. Cleaning up request 1 ID 204 with timestamp +15 Ready to process requests.
On Feb 25, 2015, at 7:39 PM, jan hugo prins <jhp@jhprins.org> wrote:
But I also need to accommodate telephones and printers and they don't do EAP themselves. To work around this, the switches we use have an option to configure the switch in such a way that it creates a radius access request based on the MAC address of the client, it's own IP address and the port the client is connected to.
That’s a stupid idea. But I’m not surprised. Vendors are often bad at RADIUS.
This sounds like a simple setup, just add some users with plaintext passwords and start the authentication process. But the problem is that this fails, and it looks like the switch is sending 2 exactly the same authentication requests short after another, and the first one succeeds, but the second one fails.
No. The User-Names are different. Reading the debug log carefully is important. Also, you should fix your LDAP infrastructure. The server is getting redirected to 3-4 different LDAP servers. That’s slow and inefficient.
I also see this when I ping the host, I receive one reply and after that the port is closed again.
Could someone tell me if I have something wrong in my config?
You need to add the second User-Name to the users file. The first one ends with “20”. The second with “22”. Alan DeKok.
The day after I posted this message I indeed found out that I had read over the MAC address a hundred times without noticing the difference. Only after pasting them below one another I noticed the difference, and then the problem was fixed very quickly. For the option the switch offers to accommodate devices that can't do 802.1x themselves, you say that the solution Avaya offers is stupid. Could you tell me a solution that works where I can integrate devices that don't do 802.1x in an environment where all ports need 802.1x? I only have one LDAP server configured for radius to look at. There are no other LDAP servers except this one cluster IP. Why do you think the requests are redirected to other LDAP servers? What part of the debug log makes you think this? Jan Hugo Prins On 02/28/2015 02:48 PM, Alan DeKok wrote:
On Feb 25, 2015, at 7:39 PM, jan hugo prins <jhp@jhprins.org> wrote:
But I also need to accommodate telephones and printers and they don't do EAP themselves. To work around this, the switches we use have an option to configure the switch in such a way that it creates a radius access request based on the MAC address of the client, it's own IP address and the port the client is connected to. That’s a stupid idea. But I’m not surprised. Vendors are often bad at RADIUS.
This sounds like a simple setup, just add some users with plaintext passwords and start the authentication process. But the problem is that this fails, and it looks like the switch is sending 2 exactly the same authentication requests short after another, and the first one succeeds, but the second one fails. No. The User-Names are different. Reading the debug log carefully is important.
Also, you should fix your LDAP infrastructure. The server is getting redirected to 3-4 different LDAP servers. That’s slow and inefficient.
I also see this when I ping the host, I receive one reply and after that the port is closed again.
Could someone tell me if I have something wrong in my config? You need to add the second User-Name to the users file. The first one ends with “20”. The second with “22”.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On Mar 1, 2015, at 3:53 PM, jan hugo prins <jhp@jhprins.org> wrote:
The day after I posted this message I indeed found out that I had read over the MAC address a hundred times without noticing the difference. Only after pasting them below one another I noticed the difference, and then the problem was fixed very quickly.
That’s good.
For the option the switch offers to accommodate devices that can't do 802.1x themselves, you say that the solution Avaya offers is stupid. Could you tell me a solution that works where I can integrate devices that don't do 802.1x in an environment where all ports need 802.1x?
a) make the devices do 802.1X b) make the port not do 802.1X c) give up. Pick one.
I only have one LDAP server configured for radius to look at. There are no other LDAP servers except this one cluster IP. Why do you think the requests are redirected to other LDAP servers? What part of the debug log makes you think this?
Ok.. it’s not redirects, but multiple group comparisons (or something similar). v3 should be able to be more efficient than that. Alan DeKok.
Ah, ok. That makes more sence. I match some groups to set specific settings. At the end of all the matches I want to set a default reject. Is the following in the users file correct: DEFAULT Auth-Type := Reject Jan Hugo On 03/01/2015 10:37 PM, Alan DeKok wrote:
I only have one LDAP server configured for radius to look at. There are no other LDAP servers except this one cluster IP. Why do you think the requests are redirected to other LDAP servers? What part of the debug log makes you think this? Ok.. it’s not redirects, but multiple group comparisons (or something similar). v3 should be able to be more efficient than that.
Alan DeKok.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 1 Mar 2015, at 20:53, jan hugo prins <jhp@jhprins.org> wrote:
Could you tell me a solution that works where I can integrate devices that don't do 802.1x in an environment where all ports need 802.1x?
There isn't one. The issue with using the MAC as a credential is that the credentials for getting on to your network is *literally* stuck to the side of the device for everyone to read (and can be sniffed in seconds using a tap). It's worse than having open ports, as you end up believing that because you have dot1x on all edge ports you have better security, and also costs you time and money to administer. Put anything that can't do dot1x in an isolated part of the network and use something like PVLAN. Thanks, Adam Bishop gpg: 0x6609D460 jisc.ac.uk Jisc is a registered charity (number 1149740) and a company limited by guarantee which is registered in England under Company No. 5747339, VAT No. GB 197 0632 86. Jisc’s registered office is: One Castlepark, Tower Hill, Bristol, BS2 0JA. T 0203 697 5800. Jisc Collections and Janet Ltd. is a wholly owned Jisc subsidiary and a company limited by guarantee which is registered in England under Company No. number 2881024, VAT No. GB 197 0632 86. The registered office is: Lumen House, Library Avenue, Harwell, Didcot, Oxfordshire, OX11 0SG. T 01235 822200.
I know the issues with MAC authentication. The solution Avaya gives us is the best thing we have at the moment for these devices. At least it locks a MAC address to a specific port on the switch and any other port you try the MAC address on will block. And for our company is not very big we think that the changes of anyone hijacking a MAC address on the fixed network in one of the work area's is very small. And the problem is on the agenda, so anything new we buy in the future will not have this problem. Jan Hugo On 03/01/2015 10:37 PM, Adam Bishop wrote:
On 1 Mar 2015, at 20:53, jan hugo prins <jhp@jhprins.org> wrote:
Could you tell me a solution that works where I can integrate devices that don't do 802.1x in an environment where all ports need 802.1x? There isn't one. The issue with using the MAC as a credential is that the credentials for getting on to your network is *literally* stuck to the side of the device for everyone to read (and can be sniffed in seconds using a tap).
It's worse than having open ports, as you end up believing that because you have dot1x on all edge ports you have better security, and also costs you time and money to administer.
Put anything that can't do dot1x in an isolated part of the network and use something like PVLAN.
Thanks,
Adam Bishop
gpg: 0x6609D460
jisc.ac.uk
Jisc is a registered charity (number 1149740) and a company limited by guarantee which is registered in England under Company No. 5747339, VAT No. GB 197 0632 86. Jisc’s registered office is: One Castlepark, Tower Hill, Bristol, BS2 0JA. T 0203 697 5800.
Jisc Collections and Janet Ltd. is a wholly owned Jisc subsidiary and a company limited by guarantee which is registered in England under Company No. number 2881024, VAT No. GB 197 0632 86. The registered office is: Lumen House, Library Avenue, Harwell, Didcot, Oxfordshire, OX11 0SG. T 01235 822200.
- List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
On 02/03/15 10:37, A.L.M.Buxey@lboro.ac.uk wrote:
Hi,
Put anything that can't do dot1x in an isolated part of the network and use something like PVLAN.
or work in an enterprise environment and realise you cant just do things like that ;-)
Precisely. Real networks - like real security - are full of compromise, ideally based on an evaluation of cost-benefit. Manually patching thousands of 802.1x-incapable devices to separate switches, and manually maintaining the VLANs on those ports, is not a sensible decision for most organisations. The huge overhead this places on adds/moves/changes, the need to purchase and maintain infrastructure, the cognitive costs involved in dealing with separate infrastructure... the list goes on. In an ideal world, we'd all be using 802.1x on the wired side, it would be immune from a layer2 MITM attack, and it would be using a sensible EAP method, which could provision and update credentials in-band. In the real world, hardly any printers or SCADA devices do 802.1x, wired-side 802.1x can be trivially MITM without MACSEC, and the EAP method all suck. So, people look at the situation and make the quite reasonable decision to just use MAC "auth" and be done with it. And you know what? It works pretty well for extended periods of time, and they conclude - quite correctly - that the additional cost of wired 802.1x provides little additional benefit. It's not like we're all doing authenticated DHCP - so we're all doing "mac auth" in some form....
On Mar 2, 2015, at 8:14 AM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
It's not like we're all doing authenticated DHCP - so we're all doing "mac auth" in some form….
I’m inclined to make FreeRADIUS just start doing authenticated DHCP by default. i.e. if you do 802.1X and then DHCP, the server will add authentication options to the packet. That’s the simplest way to get these things deployed. Alan DeKok.
On 02/03/15 13:22, Alan DeKok wrote:
On Mar 2, 2015, at 8:14 AM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
It's not like we're all doing authenticated DHCP - so we're all doing "mac auth" in some form….
I’m inclined to make FreeRADIUS just start doing authenticated DHCP by default. i.e. if you do 802.1X and then DHCP, the server will add authentication options to the packet. That’s the simplest way to get these things deployed.
I didn't think any clients supported authenticated DHCP? Has this changed?
On Mar 2, 2015, at 8:43 AM, Phil Mayers <p.mayers@imperial.ac.uk> wrote:
I didn't think any clients supported authenticated DHCP? Has this changed?
No. But perhaps public shaming would be useful. If FR puts the authentication option in, then people will start talking about it. And realize just how easy it is to do. Alan DeKok.
participants (5)
-
A.L.M.Buxey@lboro.ac.uk -
Adam Bishop -
Alan DeKok -
jan hugo prins -
Phil Mayers