Multiple instances of attribute in tunnelled reply
Hi,
We formulate our reply inside of the virtual server dealing with EAP and
send it back to the outer server. This is the only way I could think of
to insert the Inner identity into the Access-Accept. It all works
fine... however it seems there's a bug when dealing with multiple
instances of the same attribute.
For example:
users / sql
DEFAULT Service-Type == Framed-User, Realm == 'local', SS-Flags =~
"^.1........$"
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-ID = 603,
Reply-Message = "User
%{%{Stripped-User-Name}:-%{User-Name}} authenticated for ResNet access
on NAS:%{%{NAS-Identifier}:-Uknown NAS}
SSID:%{%{Called-Station-SSID}:-none}.",
HP-IP-FILTER-RAW = 'deny in 41 from any to any',
HP-IP-FILTER-RAW += 'permit in ip from any to 10.0.8.1',
HP-IP-FILTER-RAW += 'permit in ip from any to 10.0.8.2',
HP-IP-FILTER-RAW += 'permit in ip from any to 10.0.8.3',
HP-IP-FILTER-RAW += 'permit in ip from any to 10.0.8.4',
HP-IP-FILTER-RAW += 'permit in ip from any to 10.0.8.5',
Fall-Through = no
Ends up being sent as the response:
# server default-inner
PEAP: Got tunneled reply RADIUS code 2
Service-Type = Framed-User
Framed-MTU = 1480
Framed-Routing = None
Framed-Protocol = PPP
Framed-Compression = Van-Jacobson-TCP-IP
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "603"
Reply-Message = "User ac221 authenticated for ResNet access on
NAS:hp-e-engg1-1-dev-8021x-sw1 SSID:none."
HP-Ip-Filter-Raw = "deny in 41 from any to any"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.1"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.2"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.3"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.4"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.5"
EAP-Message = 0x03490004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "ac221"
PEAP: Processing from tunneled session code 0x845cb10 2
Service-Type = Framed-User
Framed-MTU = 1480
Framed-Routing = None
Framed-Protocol = PPP
Framed-Compression = Van-Jacobson-TCP-IP
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "603"
Reply-Message = "User ac221 authenticated for ResNet access on
NAS:hp-e-engg1-1-dev-8021x-sw1 SSID:none."
HP-Ip-Filter-Raw = "deny in 41 from any to any"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.1"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.2"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.3"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.4"
HP-Ip-Filter-Raw = "permit in ip from any to 10.0.8.5"
EAP-Message = 0x03490004
Message-Authenticator = 0x00000000000000000000000000000000
User-Name = "ac221"
PEAP: Tunneled authentication was successful.
rlm_eap_peap: SUCCESS
Saving tunneled attributes for later
So when it's actually used in the Access-Accept packet it appears as:
Sending Access-Accept of id 173 to 139.184.8.16 port 1024
Service-Type = Framed-User
Framed-MTU = 1480
Framed-Routing = None
Framed-Protocol = PPP
Framed-Compression = Van-Jacobson-TCP-IP
Tunnel-Type:0 = VLAN
Tunnel-Medium-Type:0 = IEEE-802
Tunnel-Private-Group-Id:0 = "603"
HP-Ip-Filter-Raw = "deny in 41 from any to any"
User-Name = "ac221@sussex.ac.uk"
MS-MPPE-Recv-Key = 0xdec383f4a269cb3d8fcf59cd9e351971c3a9a3683a7c245144a0b852634c7a03
MS-MPPE-Send-Key = 0xb9f49bba9f9020deaa745c6ea0e8f5b92e72e2fc5b6465aed4a9231f10edd696
EAP-Message = 0x034a0004
Message-Authenticator = 0x00000000000000000000000000000000
Finished request 9.
What's really weird is in the previous rounds of EAP, the attributes retain the += operator, it's only in the one where the EAP-Success message is returned where all the operators are stripped out.
Relevant EAP bits:
eap {
...
ttls {
...
copy_request_to_tunnel = yes
use_tunneled_reply = yes
virtual_server = "default-inner"
}
}
Thanks,
Arran
--
Arran Cudbard-Bell (A.Cudbard-Bell@sussex.ac.uk)
Authentication, Authorisation and Accounting Officer
Infrastructure Services | ENG1 E1-1-08
University Of Sussex, Brighton
EXT:01273 873900 | INT: 3900
This archive was generated by a fusion of
Pipermail (Mailman edition) and
MHonArc.