Re-transmits arriving via a different proxy / EAP duplicate detection
Phil Mayers
p.mayers at imperial.ac.uk
Tue Oct 9 19:52:04 CEST 2012
All,
Bit of an odd one here. Not sure where best to bring it up... if anyone
has a more suitable discussion forum, please point me that way!
As I iterate through our logging config, I'm gaining increasing
visibility of all kinds of peculiar stuff. This one I spotted today - we
are seeing remote RADIUS servers (eduroam visited sites) sending
retransmits via different intermediate proxies.
This goes wrong in two ways.
First, the FreeRADIUS duplicate detect / retransmit logic doesn't apply
because the source IP, shared secret, Proxy-State and
Message-Authenticator are all different, even though all other
attributes are identical. This is correct behaviour AFAICT from the RFCs.
Second, because the retransmits aren't eaten by the duplicate detection,
they arrive as real packets in the server core, but are rejected because
the "State" attribute is no longer valid - this is because FR mutates
"State" on every round-trip, mixing in the EAP type/id/exchange number.
This latter (being reprocessed) is a problem two ways. The first is that
these retransmits always generate a "reject" due to invalid "State". If
the original "accept" was dropped (thereby causing the remote server to
move to another intermediate proxy, and trigger this issue), we're
effectively cancelling that "accept" and issuing a "reject".
We're also generating a lot of logging and noise, though that's an
internal problem.
Does anyone have any thoughts on the matter? Absent RADIUS-over-TCP,
this seems like a really tricky one...
Cheers,
Phil
More information about the Freeradius-Users
mailing list