Question about outer identity
Martin Pauly
pauly at hrz.uni-marburg.de
Thu Jul 30 12:39:45 CEST 2009
Hi all,
I have 2.1.6 and things basically work. But I just came across a
question about the processing of outer/inner identity:
As I understand it, in case of a non-EAP RADIUS request (eg from my old
modem servers), there is no tunnel and hence no inner identity.
==> Autz and Auth are done by the default virtual server and governed by
the settings in radiusd.conf and sites-available/default -- right?
In case of an EAP request (we do EAP-TTLS and PEAP-MSCHAPv2), the outer
identity is simply used as a dummy during Tunnel setup
(Our EAP Clients use anonymous at uni-marburg.de as outer identity).
Nonetheless, freeradius does an LDAP request during Authorization
which, of course, fails with 'notfound'. freeradius then happily
proceeds to do the real authentication with inner-tunnel.
Now I wonder how to avoid that extra LDAP query.
Here's my config (ldap123 refers to a virtual module doing
redundant-load-balance with 3 LDAP servers):
default:
authorize {
preprocess
chap
mschap
suffix
eap {
ok = return
}
unix
files
ldap123
expiration
logintime
pap
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
unix
eap
Auth-Type LDAP {
ldap123
}
}
inner-tunnel:
authorize {
chap
mschap
unix
suffix
update control {
Proxy-To-Realm := LOCAL
}
eap {
ok = return
}
files
ldap123
expiration
logintime
pap
}
authenticate {
Auth-Type PAP {
pap
}
Auth-Type CHAP {
chap
}
Auth-Type MS-CHAP {
mschap
}
unix
Auth-Type LDAP {
ldap123
}
eap
}
And here is the (hopefully) relevant part of the
output of freeradius -X:
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
Listening on proxy address * port 1814
Ready to process requests.
rad_recv: Access-Request packet from host 192.168.75.246 port 1645,
id=68, length=166
User-Name = "anonymous at uni-marburg.de"
Framed-MTU = 1400
Called-Station-Id = "0013.8011.a1e0"
Calling-Station-Id = "001b.7720.e19d"
Service-Type = Login-User
Message-Authenticator = 0xc8c71b2e61687810d83b54a62fbc0150
EAP-Message =
0x0202001d01616e6f6e796d6f757340756e692d6d6172627572672e6465
NAS-Port-Type = Wireless-802.11
NAS-Port = 14662
NAS-IP-Address = 192.168.75.246
NAS-Identifier = "warz004"
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
[suffix] Looking up realm "uni-marburg.de" for User-Name =
"anonymous at uni-marburg.de"
[suffix] Found realm "uni-marburg.de"
[suffix] Adding Stripped-User-Name = "anonymous"
[suffix] Adding Realm = "uni-marburg.de"
[suffix] Authentication realm is LOCAL.
++[suffix] returns ok
[eap] EAP packet type response id 2 length 29
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
++[unix] returns notfound
[files] users: Matched entry DEFAULT at line 30
[files] expand: %{User-Name} -> anonymous at uni-marburg.de
++[files] returns ok
++- entering policy ldap123 {...}
+++- entering redundant-load-balance group redundant-load-balance {...}
[ldap3] performing user authorization for anonymous
[ldap3] WARNING: Deprecated conditional expansion ":-". See "man
unlang" for details
[ldap3] expand:
(&(uid:caseExactMatch:=%{Stripped-User-Name:-%{User-Name}})
(!(UniMrDarfRadius=0))) -> (&(uid:caseExactMatch:=anony
mous) (!(UniMrDarfRadius=0)))
[ldap3] expand: ou=people,ou=Students,ou=Accounts,o=Universitaet
Marburg,c=DE -> ou=people,ou=Students,ou=Accounts,o=Universitaet M
arburg,c=DE
rlm_ldap: ldap_get_conn: Checking Id: 0
rlm_ldap: ldap_get_conn: Got Id: 0
rlm_ldap: attempting LDAP reconnection
rlm_ldap: (re)connect to auth3.students.uni-marburg.de:389, authentication 0
rlm_ldap: setting TLS CACert File to
/etc/ssl/certs/deutsche-telekom-root-ca-2.pem
rlm_ldap: setting TLS Require Cert to demand
rlm_ldap: starting TLS
rlm_ldap: bind as uid=radius,ou=Proxy,o=Universitaet
Marburg,c=DE/JhkG0iH to auth3.students.uni-marburg.de:389
rlm_ldap: waiting for bind result ...
rlm_ldap: Bind was successful
rlm_ldap: performing search in
ou=people,ou=Students,ou=Accounts,o=Universitaet Marburg,c=DE, with
filter (&(uid:caseExactMatch:=anonymous)
(!(UniMrDarfRadius=0)))
rlm_ldap: object not found
[ldap3] search failed
rlm_ldap: ldap_release_conn: Release Id: 0
++++[ldap3] returns notfound
+++- redundant-load-balance group redundant-load-balance returns notfound
++- policy ldap123 returns notfound
++[expiration] returns noop
++[logintime] returns noop
Thanks for any help
Martin
--
Dr. Martin Pauly Fax: 49-6421-28-26994
HRZ Univ. Marburg Phone: 49-6421-28-23527
Hans-Meerwein-Str. E-Mail: pauly at HRZ.Uni-Marburg.DE
D-35032 Marburg
More information about the Freeradius-Users
mailing list