1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501
|
<pre>Network Working Group P. Congdon
Request for Comments: 4849 M. Sanchez
Category: Standards Track ProCurve Networking by HP
B. Aboba
Microsoft Corporation
April 2007
<span class="h1">RADIUS Filter Rule Attribute</span>
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The IETF Trust (2007).
Abstract
While <a href="./rfc2865">RFC 2865</a> defines the Filter-Id attribute, it requires that the
Network Access Server (NAS) be pre-populated with the desired
filters. However, in situations where the server operator does not
know which filters have been pre-populated, it is useful to specify
filter rules explicitly. This document defines the NAS-Filter-Rule
attribute within the Remote Authentication Dial In User Service
(RADIUS). This attribute is based on the Diameter NAS-Filter-Rule
Attribute Value Pair (AVP) described in <a href="./rfc4005">RFC 4005</a>, and the
IPFilterRule syntax defined in <a href="./rfc3588">RFC 3588</a>.
<span class="grey">Congdon, et al. Standards Track [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-2">2</a>
<a href="#section-1.1">1.1</a>. Terminology ................................................<a href="#page-2">2</a>
<a href="#section-1.2">1.2</a>. Requirements Language ......................................<a href="#page-3">3</a>
<a href="#section-1.3">1.3</a>. Attribute Interpretation ...................................<a href="#page-3">3</a>
<a href="#section-2">2</a>. NAS-Filter-Rule Attribute .......................................<a href="#page-3">3</a>
<a href="#section-3">3</a>. Table of Attributes .............................................<a href="#page-5">5</a>
<a href="#section-4">4</a>. Diameter Considerations .........................................<a href="#page-5">5</a>
<a href="#section-5">5</a>. IANA Considerations .............................................<a href="#page-6">6</a>
<a href="#section-6">6</a>. Security Considerations .........................................<a href="#page-6">6</a>
<a href="#section-7">7</a>. References ......................................................<a href="#page-7">7</a>
<a href="#section-7.1">7.1</a>. Normative References .......................................<a href="#page-7">7</a>
<a href="#section-7.2">7.2</a>. Informative References .....................................<a href="#page-7">7</a>
<a href="#section-8">8</a>. Acknowledgments .................................................<a href="#page-7">7</a>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
This document defines the NAS-Filter-Rule attribute within the Remote
Authentication Dial In User Service (RADIUS). This attribute has the
same functionality as the Diameter NAS-Filter-Rule AVP (400) defined
in <a href="./rfc4005#section-6.6">[RFC4005], Section 6.6</a>, and the same syntax as an IPFilterRule
defined in <a href="./rfc3588#section-4.3">[RFC3588], Section 4.3</a>. This attribute may prove useful
for provisioning of filter rules.
While <a href="./rfc2865#section-5.11">[RFC2865], Section 5.11</a>, defines the Filter-Id attribute (11),
it requires that the Network Access Server (NAS) be pre-populated
with the desired filters. However, in situations where the server
operator does not know which filters have been pre-populated, it is
useful to specify filter rules explicitly.
<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>. Terminology</span>
This document uses the following terms:
Network Access Server (NAS)
A device that provides an access service for a user to a network.
RADIUS server
A RADIUS authentication server is an entity that provides an
authentication service to a NAS.
RADIUS proxy
A RADIUS proxy acts as an authentication server to the NAS, and a
RADIUS client to the RADIUS server.
<span class="grey">Congdon, et al. Standards Track [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
<span class="h3"><a class="selflink" id="section-1.2" href="#section-1.2">1.2</a>. Requirements Language</span>
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].
<span class="h3"><a class="selflink" id="section-1.3" href="#section-1.3">1.3</a>. Attribute Interpretation</span>
If a NAS conforming to this specification receives an Access-Accept
packet containing a NAS-Filter-Rule attribute that it cannot apply,
it MUST act as though it had received an Access-Reject. [<a href="./rfc3576" title=""Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)"">RFC3576</a>]
requires that a NAS receiving a Change of Authorization Request
(CoA-Request) reply with a CoA-NAK if the Request contains an
unsupported attribute. It is RECOMMENDED that an Error-Cause
attribute with value set to "Unsupported Attribute" (401) be included
in the CoA-NAK. As noted in [<a href="./rfc3576" title=""Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)"">RFC3576</a>], authorization changes are
atomic so that this situation does not result in session termination,
and the pre-existing configuration remains unchanged. As a result,
no accounting packets should be generated because of the CoA-Request.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. NAS-Filter-Rule Attribute</span>
Description
This attribute indicates filter rules to be applied for this user.
Zero or more NAS-Filter-Rule attributes MAY be sent in Access-Accept,
CoA-Request, or Accounting-Request packets.
The NAS-Filter-Rule attribute is not intended to be used concurrently
with any other filter rule attribute, including Filter-Id (11) and
NAS-Traffic-Rule [<a href="#ref-Traffic" title=""RADIUS Attributes for Filtering and Redirection"">Traffic</a>] attributes. NAS-Filter-Rule and NAS-
Traffic-Rule attributes MUST NOT appear in the same RADIUS packet.
If a NAS-Traffic-Rule attribute is present, a NAS implementing this
specification MUST silently discard any NAS-Filter-Rule attributes
that are present. Filter-Id and NAS-Filter-Rule attributes SHOULD
NOT appear in the same RADIUS packet. Given the absence in [<a href="./rfc4005" title=""Diameter Network Access Server Application"">RFC4005</a>]
of well-defined precedence rules for combining Filter-Id and NAS-
Filter-Rule attributes into a single rule set, the behavior of NASes
receiving both attributes is undefined, and therefore a RADIUS server
implementation cannot assume a consistent behavior.
Where multiple NAS-Filter-Rule attributes are included in a RADIUS
packet, the String field of the attributes are to be concatenated to
form a set of filter rules. As noted in <a href="./rfc2865#section-2.3">[RFC2865], Section 2.3</a>, "the
forwarding server MUST NOT change the order of any attributes of the
same type", so that RADIUS proxies will not reorder NAS-Filter-Rule
attributes.
<span class="grey">Congdon, et al. Standards Track [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
A summary of the NAS-Filter-Rule Attribute format is shown below.
The fields are transmitted from left to right.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | String...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
92
Length
>=3
String
The String field is one or more octets. It contains filter rules
in the IPFilterRule syntax defined in <a href="./rfc3588#section-4.3">[RFC3588], Section 4.3</a>, with
individual filter rules separated by a NUL (0x00). A NAS-Filter-
Rule attribute may contain a partial rule, one rule, or more than
one rule. Filter rules may be continued across attribute
boundaries, so implementations cannot assume that individual
filter rules begin or end on attribute boundaries.
The set of NAS-Filter-Rule attributes SHOULD be created by
concatenating the individual filter rules, separated by a NUL
(0x00) octet. The resulting data should be split on 253-octet
boundaries to obtain a set of NAS-Filter-Rule attributes. On
reception, the individual filter rules are determined by
concatenating the contents of all NAS-Filter-Rule attributes, and
then splitting individual filter rules with the NUL octet (0x00)
as a delimiter.
<span class="grey">Congdon, et al. Standards Track [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Table of Attributes</span>
The following table provides a guide to which attributes may be found
in which kinds of packets, and in what quantity.
Access- Access- Access- Access- CoA- Acct-
Request Accept Reject Challenge Req Req # Attribute
0 0+ 0 0 0+ 0+ 92 NAS-Filter-Rule
The following table defines the meaning of the above table entries.
0 This attribute MUST NOT be present in the packet.
0+ Zero or more instances of this attribute MAY be
present in the packet.
0-1 Zero or one instance of this attribute MAY be
present in the packet.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Diameter Considerations</span>
<a href="./rfc4005#section-6.6">[RFC4005], Section 6.6</a>, defines the NAS-Filter-Rule AVP (400) with
the same functionality as the RADIUS NAS-Filter-Rule attribute. In
order to support interoperability, Diameter/RADIUS gateways will need
to be configured to translate RADIUS attribute 92 to Diameter NAS-
Filter-Rule AVP (400) and vice versa.
When translating Diameter NAS-Filter-Rule AVPs to RADIUS NAS-Filter-
Rule attributes, the set of NAS-Filter-Rule attributes is created by
concatenating the individual filter rules, separated by a NUL octet.
The resulting data SHOULD then be split on 253-octet boundaries.
When translating RADIUS NAS-Filter-Rule attributes to Diameter NAS-
Filter-Rule AVPs, the individual rules are determined by
concatenating the contents of all NAS-Filter-Rule attributes, and
then splitting individual filter rules with the NUL octet as a
delimiter. Each rule is then encoded as a single Diameter NAS-
Filter-Rule AVP.
Note that a translated Diameter message can be larger than the
maximum RADIUS packet size (4096 bytes). Where a Diameter/RADIUS
gateway receives a Diameter message containing a NAS-Filter-Rule AVP
that is too large to fit into a RADIUS packet, the Diameter/RADIUS
gateway will respond to the originating Diameter peer with a Result-
Code AVP with the value DIAMETER_RADIUS_AVP_UNTRANSLATABLE (5018),
and with a Failed-AVP AVP containing the NAS-Filter-Rule AVP. Since
repairing the error will probably require re-working the filter
rules, the originating peer should treat the combination of a
Result-Code AVP with value DIAMETER_RADIUS_AVP_UNTRANSLATABLE and a
Failed-AVP AVP containing a NAS-Filter-Rule AVP as a terminal error.
<span class="grey">Congdon, et al. Standards Track [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. IANA Considerations</span>
This specification does not create any new registries.
This document uses the RADIUS [<a href="./rfc2865" title=""Remote Authentication Dial In User Service (RADIUS)"">RFC2865</a>] namespace, see
<<a href="http://www.iana.org/assignments/radius-types">http://www.iana.org/assignments/radius-types</a>>. One value has been
allocated in the section "RADIUS Attribute Types". The RADIUS
attribute for which a value has been assigned is:
92 - NAS-Filter-Rule
This document also utilizes the Diameter [<a href="./rfc3588" title=""Diameter Base Protocol"">RFC3588</a>] namespace. A
Diameter Result-Code AVP value for the
DIAMETER_RADIUS_AVP_UNTRANSLATABLE error has been allocated. Since
this is a permanent failure, the allocation (5018) is in the 5xxx
range.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Security Considerations</span>
This specification describes the use of RADIUS for purposes of
authentication, authorization and accounting. Threats and security
issues for this application are described in [<a href="./rfc3579" title=""RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)"">RFC3579</a>] and [<a href="./rfc3580" title=""IEEE 802.1X Remote Authentication Dial In User Service (RADIUS) Usage Guidelines"">RFC3580</a>];
security issues encountered in roaming are described in [<a href="./rfc2607" title=""Proxy Chaining and Policy Implementation in Roaming"">RFC2607</a>].
This document specifies a new attribute that can be included in
existing RADIUS packets, which are protected as described in
[<a href="./rfc3579" title=""RADIUS (Remote Authentication Dial In User Service) Support For Extensible Authentication Protocol (EAP)"">RFC3579</a>] and [<a href="./rfc3576" title=""Dynamic Authorization Extensions to Remote Authentication Dial In User Service (RADIUS)"">RFC3576</a>]. See those documents for a more detailed
description.
The security mechanisms supported in RADIUS and Diameter are focused
on preventing an attacker from spoofing packets or modifying packets
in transit. They do not prevent an authorized RADIUS/Diameter server
or proxy from modifying, inserting, or removing attributes with
malicious intent. Filter attributes modified or removed by a
RADIUS/Diameter proxy may enable a user to obtain network access
without the appropriate filters; if the proxy were also to modify
accounting packets, then the modification would not be reflected in
the accounting server logs.
Since the RADIUS protocol currently does not support capability
negotiation, a RADIUS server cannot automatically discover whether a
NAS supports the NAS-Filter-Rule attribute. A legacy NAS not
compliant with this specification may silently discard the NAS-
Filter-Rule attribute while permitting the user to access the
network. This can cause users to improperly receive unfiltered
access to the network. As a result, the NAS-Filter-Rule attribute
SHOULD only be sent to a NAS that is known to support it.
<span class="grey">Congdon, et al. Standards Track [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. References</span>
<span class="h3"><a class="selflink" id="section-7.1" href="#section-7.1">7.1</a>. Normative References</span>
[<a id="ref-RFC2119">RFC2119</a>] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March, 1997.
[<a id="ref-RFC2865">RFC2865</a>] Rigney, C., Willens, S., Rubens, A., and W. Simpson,
"Remote Authentication Dial In User Service (RADIUS)", <a href="./rfc2865">RFC</a>
<a href="./rfc2865">2865</a>, June 2000.
[<a id="ref-RFC3588">RFC3588</a>] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J.
Arkko, "Diameter Base Protocol", <a href="./rfc3588">RFC 3588</a>, September 2003.
[<a id="ref-RFC4005">RFC4005</a>] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, "Diameter
Network Access Server Application", <a href="./rfc4005">RFC 4005</a>, August 2005.
<span class="h3"><a class="selflink" id="section-7.2" href="#section-7.2">7.2</a>. Informative References</span>
[<a id="ref-RFC2607">RFC2607</a>] Aboba, B. and J. Vollbrecht, "Proxy Chaining and Policy
Implementation in Roaming", <a href="./rfc2607">RFC 2607</a>, June 1999.
[<a id="ref-RFC3576">RFC3576</a>] Chiba, M., Dommety, G., Eklund, M., Mitton, D., and B.
Aboba, "Dynamic Authorization Extensions to Remote
Authentication Dial In User Service (RADIUS)", <a href="./rfc3576">RFC 3576</a>,
July 2003.
[<a id="ref-RFC3579">RFC3579</a>] Aboba, B. and P. Calhoun, "RADIUS (Remote Authentication
Dial In User Service) Support For Extensible Authentication
Protocol (EAP)", <a href="./rfc3579">RFC 3579</a>, September 2003.
[<a id="ref-RFC3580">RFC3580</a>] Congdon, P., Aboba, B., Smith, A., Zorn, G., and J. Roese,
"IEEE 802.1X Remote Authentication Dial In User Service
(RADIUS) Usage Guidelines", <a href="./rfc3580">RFC 3580</a>, September 2003.
[<a id="ref-Traffic">Traffic</a>] Congdon, P., Sanchez, M., Lior, A., Adrangi, F., and B.
Aboba, "RADIUS Attributes for Filtering and Redirection",
Work in Progress, March 2007.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. Acknowledgments</span>
The authors would like to acknowledge Emile Bergen, Alan DeKok, Greg
Weber, Glen Zorn, Pasi Eronen, David Mitton, and David Nelson for
contributions to this document.
<span class="grey">Congdon, et al. Standards Track [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
Authors' Addresses
Paul Congdon
Hewlett Packard Company
ProCurve Networking by HP
8000 Foothills Blvd, M/S 5662
Roseville, CA 95747
EMail: paul.congdon@hp.com
Phone: +1 916 785 5753
Fax: +1 916 785 8478
Mauricio Sanchez
Hewlett Packard Company
ProCurve Networking by HP
8000 Foothills Blvd, M/S 5559
Roseville, CA 95747
EMail: mauricio.sanchez@hp.com
Phone: +1 916 785 1910
Fax: +1 916 785 1815
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
EMail: bernarda@microsoft.com
Phone: +1 425 706 6605
Fax: +1 425 936 7329
<span class="grey">Congdon, et al. Standards Track [Page 8]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-9" ></span>
<span class="grey"><a href="./rfc4849">RFC 4849</a> Filter Rule Attribute April 2007</span>
Full Copyright Statement
Copyright (C) The IETF Trust (2007).
This document is subject to the rights, licenses and restrictions
contained in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a>, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and <a href="https://www.rfc-editor.org/bcp/bcp79">BCP 79</a>.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
<a href="http://www.ietf.org/ipr">http://www.ietf.org/ipr</a>.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Congdon, et al. Standards Track [Page 9]
</pre>
|