[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Issue: RPF Check
Let me know whether this works for you.
I have added a definition of "Dynamic Authorization Server" to the terminology section:
Dynamic Authorization Client (DAC)
The entity originating Change of Authorization (CoA) Requests or
Disconnect-Requests. While it is possible that the DAC is co-
resident with a RADIUS authentication or accounting server, this
need not necessarily be the case.
Dynamic Authorization Server (DAS)
The entity receiving CoA-Request or Disconnect-Request packets.
The DAS may be a NAS or a RADIUS proxy.
Network Access Server (NAS)
The device providing access to the network.
Here is the new text of Section 6.1:
6.1. Authorization Issues
Where a NAS is shared by multiple providers, it is undesirable for
one provider to be able to send Disconnect-Request or CoA-Requests
affecting the sessions of another provider.
A Dynamic Authorization Server MUST silently discard Disconnect-
Request or CoA-Request packets from untrusted sources. In situations
where the Dynamic Authorization Client is co-resident with a RADIUS
authentication or accounting server, a proxy MAY perform a "reverse
path forwarding" (RPF) check to verify that a Disconnect-Request or
CoA-Request originates from an authorized Dynamic Authorization
Client. In addition, it SHOULD be possible to explicitly authorize
additional sources of Disconnect-Request or CoA-Request packets
relating to certain classes of sessions. For example, a particular
source can be explicitly authorized to send CoA-Request packets
relating to users within a set of realms.
To perform the RPF check, the Dynamic Authorization Server uses the
session identification attributes included in Disconnect-Request or
CoA-Request packets, in order to determine the RADIUS server(s) to
which an equivalent Access-Request could be routed. If the source
address of the Disconnect-Request or CoA-Request is within this set,
then the CoA-Request or Disconnect-Request is forwarded; otherwise it
MUST be silently discarded.
Typically the Dynamic Authorization Server will extract the realm
from the Network Access Identifier [RFC4282] included within the
User-Name or Chargeble-User-Identity Attribute, and determine the
corresponding RADIUS servers in the realm routing tables. If the
Dynamic Authorization Server maintains long-term session state, it
MAY perform the authorization check based on the session
identification attributes in the CoA-Request. The session
identification attributes can be used to tie a session to a
particular proxy or set of proxies, as with the NAI realm.
Where no proxy is present, the RPF check can only be performed by the
NAS if it maintains its own a realm routing table. If the NAS does
not maintain a realm routing table (e.g. it selects forwarding
proxies based on primary/secondary configuration and/or liveness
checks), then an RPF check cannot be performed.
Since authorization to send a Disconnect-Request or CoA-Request is
determined based on the source address and the corresponding shared
secret, the Dynamic Authorization Server SHOULD configure a different
shared secret for each Dynamic Authorization Client."
==========================================
> Date: Sun, 27 May 2007 09:39:39 +0100
> From: aland@nitros9.org
> To: bernard_aboba@hotmail.com
> CC: radiusext@ops.ietf.org
> Subject: Re: Issue: RPF Check
>
> Bernard Aboba wrote:
> > It has been pointed out that the Dynamic Authorization Client (the
> > entity originating the CoA or Disconnect-Request) need not be
> > co-resident with a RADIUS authentication or accounting server.
> > However, Section 6.1 seems to assume that this is the case. In cases
> > where the Dynamic Authorization Client is not co-resident with the
> > RADIUS authentication or authorization server, the RPF check cannot be
> > applied. I would therefore question whether it is appropriate to
> > recommend use of the RPF check by default.
>
> I agree. However, the RPF check was an attempt to prevent
> unauthorized servers from performing CoA requests. We should make a
> note of that problem, and potential methods for addressing it. See below.
>
> > Note that this is not the only place where the distinction between a
> > RADIUS server and a Dynamic Authorization Client needs to be made.
> >
> > The proposed resolution is as follows:
> ...
>
> I agree.
>
> > 2. Add the following terms to the terminology section:
> ...
>
> I agree.
>
> We may also want to note that a proxying server acts as a NAS to the
> Dynamic Authorization Client, and as a Dynamic Authorization Client to
> the NAS. We should probably use new terminology for such a server,
> rather than calling it a RADIUS server. Maybe a "Dynamic Authorization
> Server".
>
> > 3. Change Section 6.1 to the following, downgrading the RPF check to a
> > MAY and clarifying that it is only applicable when the RADIUS server and
> > Dynamic Authorization Client are co-resident.
>
> OK.
>
> > 6.1. Authorization Issues
> >
> > Where a NAS is shared by multiple providers, it is undesirable for
> > one provider to be able to send Disconnect-Request or CoA-Requests
> > affecting the sessions of another provider.
> ...
> > Typically the proxy will extract the realm from the Network Access
> > Identifier [RFC4282] included within the User-Name Attribute, and
> > determine the corresponding RADIUS servers in the proxy routing
> > tables. The RADIUS servers for that realm are then compared against
> > the source address of the packet.
>
> Do we want to add "or the CUI", since the NAI may be anonymized?
> Also, the proxying decision may be based on other attributes, such as
> client source IP, or calling station Id.
>
> I would then add:
>
> If the RADIUS server maintains long-term session state, it MAY
> perform the authorization checks based on the session identification
> attributes in the CoA request. The session identification attributes
> can be used to tie a session to a particular forwarding server or set of
> servers, as with the NAI and realm, above.
>
> > Where no proxy is present, the RPF
> > check will need to be performed by the NAS itself.
>
> Only if the NAS performs policy-based routing on the RADIUS requests.
> If the NAS selects servers by live/dead status, or by load-balancing,
> then the RPF checks do not need to be performed.
>
> Alan DeKok.