Internet DRAFT - draft-ietf-radext-ieee802
draft-ietf-radext-ieee802
Networking Working Group Paul Congdon
INTERNET-DRAFT Mauricio Sanchez
<draft-ietf-radext-ieee802-01.txt> Hewlett-Packard Company
A. Lior
17 January 2006 Bridgewater Systems
F. Adrangi
Intel
Bernard Aboba
Microsoft
VLAN, Priority, and Filtering Attributes
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she becomes
aware will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet-
Drafts.
Internet-Drafts are draft documents valid for a maximum of six
months and may be updated, replaced, or obsoleted by other
documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in
progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on July, 17 2006.
Copyright Notice
Copyright (C) The Internet Society 2006. All rights reserved.
Abstract
In certain scenarios it is desirable to limit user access using
dynamic VLANs, reprioritization, filters, or redirection. This
document proposes additional attributes for this purpose, for use
with the Remote Authentication Dial In User Server (RADIUS). The
attributes described in this document are expected to be useful in
a variety of environments, including enterprise and service
provider scenarios.
Congdon, et al. Informational [Page 1]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
Table of Contents
1. Introduction........................................... 3
1.1. Terminology...................................... 4
1.2. Requirements Language............................ 4
1.3. Capability Advertisement ........................ 5
1.4. Attribute Interpretation......................... 5
2. RADIUS Authentication.................................. 5
2.1. Egress-VLANID.................................... 5
2.2. Ingress-Filters.................................. 6
2.3. Egress-VLAN-Name................................. 7
2.4. User-Priority-Table.............................. 8
2.5. NAS-Filter-Rule.................................. 9
3. RADIUS Accounting...................................... 19
3.1. Acct-NAS-Filter-Rule............................. 19
4. Table of Attributes.................................... 20
5. IANA Considerations.................................... 20
6. Security Considerations................................ 21
7. References............................................. 21
7.1 Normative References................................... 21
7.2 Informative References................................. 23
Appendix A - Traffic Redirection.............................. 24
Appendix B - NAS-Filter-Rule Examples......................... 29
ACKNOWLEDGMENTS............................................... 30
AUTHORS' ADDRESSES............................................ 30
Intellectual Property Statement............................... 31
Disclaimer of Validity........................................ 32
Full Copyright Statement ..................................... 32
Congdon, et al. Informational [Page 2]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
1. Introduction
Within the confines of RADIUS authentication, authorization, and
accounting (AAA) environments, there is a requirement for
standardized RADIUS attributes to limit user access using dynamic
VLANs, reprioritization, filters or redirection.
For example, in IEEE 802.1X [IEEE8021X] environments, which
provides "network port authentication" for IEEE 802 [IEEE802]
media, including Ethernet [IEEE8023] and 802.11 [IEEE80211i]
wireless LANS, there exists a strong desire to control
authorization beyond just the untagged VLAN parameter based on
tunnel attributes in [RFC2868] and usage of these in [RFC3580].
This document describes VLAN, reprioritization, filtering and
redirection attributes that may prove useful in IEEE 802.1X and a
variety of situations. The attributes defined in this document may
be used with RADIUS dynamic authorization [RFC3576].
The Filter-ID attribute defined in [RFC2865] requires the NAS to
be pre-populated with the desired filters. This may be difficult
to deploy in roaming scenarios where the home realm may not know
what filters have been pre-populated by the local operator. The
filtering attributes specified in this document enable explicit
description of layer 2 and layer 3 filters as well as redirection,
and therefore extend the filter language described in [RFC3588].
User traffic redirection is supported with or without tunneling.
Tunneling support is provided using the tunnel attributes defined
in [RFC2868]. Redirection of traffic in mid-session may break
applications.
While [RFC3580] enables support for VLAN assignment based on the
tunnel attributes defined in [RFC2868], it does not provide
support for a more complete set of VLAN functionality as defined
by [IEEE8021Q]. The VLAN attributes defined in this document
provide support within RADIUS analogous to the management
variables supported in [IEEE8021Q] and MIB objects defined in
[RFC2674]. In addition, this document enables support for a wider
range of [IEEE8021X] configurations.
Congdon, et al. Informational [Page 3]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
1.1. Terminology
In this document when we refer to Blocking of IP traffic we mean
Filtering of IP traffic. Additionally, this document uses the
following terms:
Authenticator
An authenticator is an entity that require authentication
from the supplicant. The authenticator may be connected
to the supplicant at the other end of a point-to-point
LAN segment or 802.11 wireless link.
Authentication server
An authentication server is an entity that provides an
authentication service to an authenticator. This service
verifies from the credentials provided by the supplicant,
the claim of identity made by the supplicant.
Hot-lining
Blocking and redirection of users traffic is known as
hot-lining of accounts. In this document, hot-lining is
used as the motivation for these attributes and an
illustration of how they would be used. However, the
attributes may be used together or separately to provide
other features.
Redirection
Refers to an action taken by the NAS to redirect the
user's traffic to an alternate location.
Supplicant
A supplicant is an entity that is being authenticated by
an authenticator. The supplicant may be connected to the
authenticator at one end of a point-to-point LAN segment
or 802.11 wireless link.
1.2. Requirements Language
In this document, several words are used to signify the
requirements of the specification. 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 [RFC2119].
An implementation is not compliant if it fails to satisfy one or
more of the must or must not requirements for the protocols it
implements. An implementation that satisfies all the must, must
not, should and should not requirements for its protocols is said
to be "unconditionally compliant"; one that satisfies all the must
and must not requirements but not all the should or should not
Congdon, et al. Informational [Page 4]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
requirements for its protocols is said to be "conditionally
compliant".
1.3. Capability Advertisement
RADIUS does not currently define a method by which a NAS can
advertise its capabilities and in many instances, it would be
desirable for the home network to know what capabilities are
supported by the NAS to ensure proper operational behavior. The
attributes defined in this document are intended to be used to
enforce policy by the NAS. If a NAS does not recognize these
attributes it will most likely ignore them and the desired policy
will not be enforced. A method for the NAS advertising the
capability to support these attributes would help the RADIUS
server understand if the intended policies can be enforced. As a
result, the attributes in this document, in particular NAS-Filter-
Rule(TBD), can benefit from capability advertisement, if
available.
1.4 Attribute Interpretation
Unless otherwise noted in the individual description of an
attribute contained herein, a NAS that conforms to this
specification and receives an Access-Accept message that contains
an attribute from this document that it cannot apply MUST
interpret this though an Access-Reject had been sent and MUST
terminate the session. If accounting is enabled on the NAS, it
MUST generate an Accounting-Request(Stop) message upon session
termination.
Similarly, if a NAS conforming to this specification and also
conforming to RFC 3576 [RFC3576] receives a CoA message that
contains an attribute from this document that it cannot apply, it
MUST NOT terminate the session and MUST generate a CoA-NAK packet
with ERROR-CAUSE(101) set to "Unsupported Attribute"(401). If
accounting is enabled on the NAS, it MUST NOT generate an
Accounting-Request(Stop) message in such instances.
2. RADIUS Authentication
This specification introduces five new RADIUS authentication
attributes.
2.1. Egress-VLANID
Description
The Egress-VLANID attribute represents an allowed IEEE 802
Egress VLANID for this port. The Egress-VLANID contains two
Congdon, et al. Informational [Page 5]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
parts: the first part indicates if the VLANID is allowed for
tagged or untagged packets and the second part is the VLANID.
Multiple Egress-VLANID attributes can be delivered in an
authentication response; each attribute adds the specified VLAN
to the list of allowed egress VLANs for the port.
The Egress-VLANID attribute 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 | Tag Option | Pad (12-bit)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Pad | VLANID (12-bit) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
6
Integer
The Integer field is four octets in length. The format of the
Integer field consists of three parts, the first consuming the
high-order octet, the second consuming the subsequent 12-bits,
and the third consuming the low-order 12-bits. The high-order
octet, the Tag Option, indicates whether the frames on the VLAN
are tagged 0x31 or untagged 0x32. The second part is 12-bits of
padding. Padding bits MUST be 0 (zero). The third part is the
12-bit [IEEE8021Q] VLAN VID value.
2.2. Ingress-Filters
Description
The Ingress-Filters attribute corresponds to Ingress Filter
per-port variable defined in IEEE 802.1Q clause 8.4.5. When
the attribute has the value "Enabled", the set of VLANs that
are allowed to ingress a port must match the set of VLANs that
are allowed to egress a port. Only a single Ingress-Filters
attribute MAY be sent within an Access-Accept or CoA-Request;
this attribute MUST NOT be sent within an Access-Request,
Access-Challenge, Access-Reject, or Disconnect-Request.
Congdon, et al. Informational [Page 6]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
The Ingress-Filters attribute 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 | Integer
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Integer (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
6
Integer
The values include:
1 - Enabled
2 - Disabled
2.3. Egress-VLAN-Name
Description
Clause 12.10.2.1.3 (a) in [IEEE8021Q] describes the
administratively assigned VLAN Name associated with a VLAN ID
defined within an 802.1Q bridge. The Egress-VLAN-Name attribute
represents an allowed VLAN for this port. It works similar to
the Egress-VLANID attribute except that the VLAN-ID itself is
not specified or known, rather the VLAN name is used to
identify the VLAN within the system.
The Egress-VLAN-Name attribute contains two parts; the first
part indicates if frames on the VLAN for this port are to be
represented in tagged or untagged format, the second part is
the VLAN name.
Multiple Egress-VLAN-Name attributes can be delivered in an
authentication response; each attribute adds the named VLAN to
the list of allowed egress VLANs for the port.
Congdon, et al. Informational [Page 7]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
The Egress-VLAN-Name attribute 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 | Tag Option | VLAN-Name
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
VLAN-Name (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
>= 4
String
The first octet of this string, the tag option field, indicates
whether the frames on the VLAN are tagged 0x31 or untagged
0x32. The remaining octets of the VLAN-Name field represent
the VLAN Name as defined in 802.1Q-2003 clause 12.10.2.1.3 (a).
[RFC3629] UTF-8 encoded 10646 characters are recommended, but a
robust implementation SHOULD support the field as
undistinguished octets.
2.4. User-Priority-Table
Description
[IEEE802.1D] clause 7.5.1 discusses how to regenerate (or re-
map) user priority on frames received at a port. This per-port
configuration enables a bridge to cause the priority of
received traffic at a port to be mapped to a particular
priority. The management variables are described in clause
14.6.2.2.
This attribute represents the IEEE 802 prioritization that will
be applied to packets arriving at this port. There are eight
possible user priorities, according to the [IEEE802] standard.
Congdon, et al. Informational [Page 8]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
The User-Priority-Table attribute 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 (TBD) | Length | String
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
String (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
10
String
The table, expressed as an 8 octet string, maps the incoming
priority (if one exists - the default is 0) into one of eight
regenerated priorities. The format of this attribute is an
eight byte octet string, where the first octet maps to incoming
priority 0, the second octet to incoming priority 1, etc. The
values in each octet represent the regenerated priority of the
packet.
It is thus possible to either remap incoming priorities to more
appropriate values; or to honor the incoming priorities; or to
override any incoming priorities, forcing them to all map to a
single chosen priority.
The [IEEE 8021D] specification, Annex G, provides a useful
description of traffic type - traffic class mappings.
2.5. NAS-Filter-Rule
Description
The NAS-Filter-Rule attribute is derived from the Diameter
IPFilterRule and enables provisioning of base encapsulation
(Layer 2) rules, Internet Protocol (Layer 3-4) rules, and HTTP
(Layer 5+) rules on the NAS by the RADIUS server. Compared to
Diameter's IPFilterRule, NAS-Filter-Rule is a superset in
functionality, but is largely based on the same syntax
foundations.
Congdon, et al. Informational [Page 9]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
For each rule and depending on the rule type, the NAS can be
instructed to take a single action as follows:
Rule Type Allowable rule action
------------------- ---------------------
Base Encapsulation filter, tunnel
Internet Protocol filter, tunnel
HTTP filter, redirect
When specifying a base encapsulation rule, NAS-Filter-Rule
processes packets based on the following information that is
associated with it:
Direction (in and/or out)
Base encapsulation type
Source and destination MAC address (possibly masked)
For a base encapsulation rule, the filter action entails having
the NAS permit (i.e. forward) or deny (i.e. block) a user's
traffic. The tunnel action entails having the NAS forward user
traffic to or from a named tunnel that has been established per
[RFC2868].
When specifying an Internet Protocol rule, NAS-Filter-Rule
processes packets based on the following information that is
associated with it:
Direction (in and/or out)
Source and destination IP address (possibly masked)
Protocol
Source and destination port (lists or ranges)
TCP flags
IP fragment flag
IP options
ICMP types
For an Internet Protocol rule, the filter action entails having
the NAS permit (i.e. forward) or deny (i.e. block) a user's
traffic. The tunnel action entails having the NAS forward user
traffic to or from a named tunnel that has been established per
[RFC2868].
When specifying an HTTP rule, NAS-Filter-Rule process packets
based on the following information that is associated with it:
HTTP URL
Source and destination IP address (possibly masked)
Congdon, et al. Informational [Page 10]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
For an HTTP rule, the filter action entails having the NAS
permit (i.e. forward) or deny (i.e. block) a user's [RFC2616]
request message. For a deny action, the NAS MAY respond to the
request message with a code 403 (Forbidden) response in
accordance with [RFC2616]. For a redirect action the NAS SHOULD
respond to the user's request with a code 302 (Found) response
in accordance with [RFC2616].
For the HTTP redirection action, it is also possible to have
redirection automatically removed by including a redir-cnt
count parameter along with the rule. The rule will be removed
from the active rule set when the rule matches redir-cnt number
of times. Upon removal from the active rule set, traffic is no
longer evaluated against this rule.
It should be noted that an HTTP filter or redirect rule is only
useful with plain-text HTTP and not HTTPS. Redirection or
filtering of HTTPS is outside the scope of this document.
As per the requirements of RFC 2865, Section 2.3, if multiple
NAS-Filter-Rule attributes are contained within an Access-
Request or Access-Accept packet, they MUST be maintained in
order. The attributes MUST be consecutive attributes in the
packet. RADIUS proxies MUST NOT reorder NAS-Filter-Rule
attributes.
The RADIUS server can return multiple NAS-Filter-Rule
attributes in an Access-Accept or CoA-Request packet. Where
more than one NAS-Filter-Rule attribute is included, it is
assumed that the attributes are to be concatenated to form a
single filter list. Furthermore, if the list contains different
types of rules, they MUST appear in the following order: flush
rules, base encapsulation tunnel rules, base encapsulation
filter rules, IP tunnel rules, HTTP redirect rules, IP filter
rules, and HTTP filter rules.
Rules are evaluated in order, with the first matched rule
terminating the evaluation. Each packet is evaluated once. If
no rule matches, then packet is dropped (implicit deny all).
When an HTTP redirect rule matches, the NAS shall reply to the
HTTP request with an HTTP redirect in accordance with [RFC2616]
redirecting traffic to specific URL.
Filter-ID (11) and NAS-Filter-Rule both define how filters are
to be applied in the NAS. These attributes are not intended to
be used concurrently and SHOULD NOT appear in the same RADIUS
message. Only one type of filtering attribute must be
processed. If a Filter-ID (11) is present, then the NAS-Filter-
Rule MUST be ignored, if present.
Congdon, et al. Informational [Page 11]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
The NAS-Filter-Rule attribute 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 (TBD) | Length | Text
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Text (cont.) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
>= 3
Text
The text conforms to the following ABNF [RFC2234] formatted syntax
specification:
; Start of ABNF description of NAS-Filter-Rule
rule = (flush-rule / permit-all-rule
/ l2-filter-rule / l2-tunnel-rule
/ ip-filter-rule / ip-tunnel-rule
/ http-filter-rule / http-redir-rule)
rule-delim
; Flush Rule
flush-rule = "flush"
; Permit all rule
permit-all-rule = "permit inout any from any to any"
; Base encapsulation filter rule
l2-filter-rule = ("permit" / "deny") " "
("in" / "out" / "inout") " "
l2-filter-body [" " log-rule]
l2-filter-body = (l2-proto " from " l2-address " to "
l2-address) / l2-rmon-str
l2-proto = "l2:ether2" [":0x" 1*4HEXDIG]
Congdon, et al. Informational [Page 12]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
l2-rmon-str = "l2:" 1*DIGIT *("." 1*DIGIT)
l2-address = ["!"] (macaddr / (macaddr "/" macmask)
/ "any")
macaddr = 2HEXDIG 5("-" 2HEXDIG)
macmask = DIGIT ; 0-9
/ %x31-33 DIGIT ; 10-39
/ "4" %x30-38 ; 40-48
;Base encapsulation tunnel rule
l2-tunnel-rule = "tunnel " tunnel-id " "
("in" / "out" / "inout") " "
l2-filter-body [" " log-rule]
;IP Filter Rule
ip-filter-rule = ("permit" / "deny") " "
("in" / "out" / "inout") " "
("ip" / ip-proto) filter-body
[" " ip-option] [" " log-rule]
ip-proto = d8
ip-address = ["!"] (ipv4-address ["/" ipv4mask] /
ipv6-address ["/" ipv6mask] /
"any" /
"assigned")
ipv4-address = d8 "." d8 "." d8 "." d8
ipv4mask = DIGIT ; 0-9
/ %x31-32 DIGIT ; 10-29
/ "3" %x30-32 ; 30-32
ipv6-address = 1*4HEXDIG 7(":" 1*4HEXDIG)
ipv6mask = DIGIT ; 0-9
/ %x31-39 DIGIT ; 10-99
/ "1" %x30-31 DIGIT ; 100-119
/ "1" %x32 %x30-38 ; 120-128
tcp-ports = tcp-port *("," tcp-port)
tcp-port = d16 / d16 "-" d16
ip-option = "frag" /
["ipoptions " ["!"] ipopt *("," ["!"] ipopt)]
["tcpoptions " ["!"] tcpopt
*("," ["!"] tcpopt)]
["established"]
["setup"]
["tcpflags " ["!"] tcpflag
*("," ["!"] tcpflag)]
["icmptypes " icmptype *("," icmptype)]
ipopt = "ssrr" / "lsrr" / "rr" / "ts"
tcpopt = "mss" / "window" / "sack" / "ts" / "cc"
tcpflag = "fin" / "syn" / "rst" / "psh" / "ack" / "urg"
icmptype = d8 / d8 "-" d8
/ "echo reply" / "destination unreachable"
/ "source quench" / "redirect"
Congdon, et al. Informational [Page 13]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
/ "echo request" / "router advertisement"
/ "router solicit" / "time-to-live exceeded"
/ "IP header bad" / "timestamp request"
/ "timestamp reply" / "information request"
/ "information reply"
/ "address mask request"
/ "address mask reply"
;IP Tunnel Rule
ip-tunnel-rule = "tunnel " tunnel-id " "
("in" / "out" / "inout") " "
("ip" / ip-proto) filter-body
[" " ip-option] [" " log-rule]
;HTTP Filter Rule
http-filter-rule= ("permit" / "deny") org-url " "
("in" / "out" / "inout") filter-body
[" " log-rule]
;HTTP Redirect Rule
http-redir-rule= "redirect " [redir-cnt " "] redir-url
filter-body [" " org-url]
[" " log-rule]
redir-cnt = 1*DIGIT
org-url = http_URL
;Note: Syntax for http_URL defined in
;[RFC2616], section 3.2.2
redir-url = http_URL
;Common
filter-body = " from " ip-address [" " tcp-ports]
" to " ip-address [" " tcp-ports]
tunnel-id = DQUOTE
*(TEXTDATA
/ ("%" 2HEXDIG)
/ ("\" 1*("\"))
/ ("\" DQUOTE))
DQUOTE
log-rule = "cnt"
;Primitives
rule-delim = LF
d8 = DIGIT ; 0-9
/ %x31-39 DIGIT ; 10-99
/ "1" 2DIGIT ; 100-199
/ "2" %x30-34 DIGIT ; 200-249
/ "25" %x30-35 ; 250-255
d16 = DIGIT ; 0-9
/ %x31-35 1*4DIGIT ; 10-59999
Congdon, et al. Informational [Page 14]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
/ "6" "4" 3DIGIT ; 60000-64999
/ "6" "5" %x30-34 2DIGIT ; 65000-65499
/ "6" "5" "5" %x30-32 1DIGIT ; 65500-65529
/ "6" "5" "5" "3" %x30-36 ; 65530-65536
TEXTDATA = %x20-21 / %x23-2B / %x2D-7E
; End of ABNF description of NAS-Filter-Rule
Descriptions of notable fields and keywords follow:
"permit" Allow packets that match the rule.
"deny" Drop packets that match the rule.
"redirect" Redirect packets that match the rule.
"tunnel" Tunnel packets that match the rule.
"flush" A flush rule removes all previously assigned
filter rules. When flush is specified, it can be
followed by other NAS-Filter-Rule attributes. This
allows for an atomic change of authorization with a
single RADIUS message.
"permit inout any from any to any"
Special rule that matches against all traffic. This
allows the implicit deny at the end of a filter
list to be overridden.
"in" Is from the terminal.
"out" Is to the terminal.
"inout" Is from and to the terminal.
ipv4-address An IPv4 number in dotted-quad form. Only this
exact IP number will match the rule.
ipv6-address An IPv6 number in canonical IPv6 form. Only
this exact IP number will match the rule
ipv4-address/ipv4mask
An IP number with a mask width of the form
192.0.2.0/24. In this case, all IP numbers from
192.0.2.0 to 192.0.2.255 will match.
The bit width MUST be valid for the IP version and
the IP number MUST NOT have bits set beyond the
mask. For a match to occur, the same IP version
MUST be present in the packet that was used in
describing the IP address. To test for a
Congdon, et al. Informational [Page 15]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
particular IP version, the bits part can be set to
zero.
"any" Keyword for 0.0.0.0/0 or the IPv6 equivalent.
"assigned" Keyword for the address or set of addresses
assigned to the terminal. For IPv4, a typical
first rule is often "deny in ip !assigned"
The sense of the match can be inverted by preceding
an address with the not modifier (!), causing all
other addresses to be matched instead. This does
not affect the selection of port numbers.
tcp-port With the TCP, UDP and SCTP protocols, this field
specifies ports to match.
Note: The '-' notation specifies a range of ports
(including boundaries). Fragmented packets that
have a non-zero offset (i.e., not the first
fragment) will never match a rule that has one or
more port specifications. See the "frag" keyword
for details on matching fragmented packets.
log-rule Increments rule hit counter by one every time a
packet matches on rule. Counters start with a zero
value at session start and are reset back to a zero
value every time a successful authorization change
occurs due to a CoA message being received by the
NAS.
For base encapsulation rules:
"l2:" Prefix on any base encapsulation rule to designate
as rule as such.
"l2:ether2" Keyword means any Ethernet-II (DIX Ethernet) will
match.
ether2:val Used to specify an Ethernet-II type by hexadecimal
number, whereby "val" is replaced by desired
number. Example: "l2:ether2:0x800" for IP ethertype
(0x0800).
l2-rmon-str Used to specify base encapsulation per the octet
string format defined in [RFC2895], section 4.2.
Example: "l2:0.0.0.2.0.0.0.240" for Netbios over
LLC.
macaddr For base encapsulation filter rules of "l2:ether2"
type, the Ethernet MAC address with octet values
Congdon, et al. Informational [Page 16]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
separated by a "-". Example: "00-10-A4-23-19-C0".
macaddr/mask An Ethernet number as above with a mask width of
the form "00-10-A4-23-00-00/32". In this case, all
MAC addresses from 00-10-A4-23-00-00 to 00-10-A4-
23-FF-FF will match. The MAC address MUST NOT have
bits set beyond the mask. The keyword "any" is
00-00-00-00-00-00/0.
The sense of the match can be inverted by preceding
an address with the not modifier (!), causing all
other addresses to be matched instead.
Note: macaddr nor macaddr/mask argument is not used
for "l2:rmon" type rules.
For IP rules:
"ip" Keyword means any IP protocol will match.
ip-proto An IP protocol specified by number.
"frag" Match if the packet is a fragment and this is not
the first fragment of the datagram. frag may not
be used in conjunction with either tcpflags or
TCP/UDP port specifications.
"ipoptions" Match if the IP header contains the comma separated
list of options specified in spec. The supported
IP options are: ssrr (strict source route), lsrr
(loose source route), rr (record packet route) and
ts(timestamp). The absence of a particular option
may be denoted with a '!'.
"tcpoptions" Match if the TCP header contains the comma
separated list of options specified in spec. The
supported TCP options are:
mss (maximum segment size), window (tcp window
advertisement), sack (selective ack), ts (rfc1323
timestamp) and cc (rfc1644 t/tcp connection count).
The absence of a particular option may be denoted
with a '!'.
"established" TCP packets only. Match packets that have the
RST or ACK bits set.
"setup" TCP packets only. Match packets that have the SYN
bit set but no ACK bit.
Congdon, et al. Informational [Page 17]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
"tcpflags" TCP packets only. Match if the TCP header contains
the comma separated list of flags specified in
spec. The supported TCP flags are:
fin, syn, rst, psh, ack and urg. The absence of a
particular flag may be denoted with a '!'. A rule
that contains a tcpflags specification can never
match a fragmented packet that has a non-zero
offset. See the "frag" option for details on
matching fragmented packets.
"icmptypes" ICMP packets only. Match if the ICMP type is in
the list types. The list may be specified as any
combination of ranges or individual types separated
by commas. Both the numeric values and the
symbolic values listed below can be used. The
supported ICMP types are:
echo reply (0), destination unreachable (3), source
quench (4), redirect (5), echo request(8), router
advertisement (9), router solicitation (10), time-
to-live exceeded (11), IP header bad (12),
timestamp request (13), timestamp reply (14),
information request (15), information reply (16),
address mask request (17) and address mask reply
(18).
For HTTP redirection rules:
redir_cnt Specifies the number of HTTP redirect rule matches
that should transpire before removing this rule
from the active rule set. Upon removal from the
active rule set, traffic is no longer evaluated
against this rule.
redir_URL An HTTP URL. When the 'redirect' rule matches
(src/dst and/or org_URL ), HTTP requests are
redirected to redir_URL address in accordance with
[RFC2616] redirection traffic to specific URL.
org_URL An HTTP URL. Specifies the HTTP URL against which
user HTTP requests will be evaluated. If user HTTP
request matches org_URL, then redirection action is
taken.
For base encapsulation and IP tunnel rules:
tunnel_id A tunnel id. When the 'tunnel' rule matches,
traffic is redirected over the tunnel with the
specified tunnel_id. Traffic can only be redirected
to or from named tunnels that have been established
Congdon, et al. Informational [Page 18]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
per [RFC2868] and named using the Tunnel-
Assignment-ID attribute described therein.
The tunnel id MUST be encapsulated in double quotes
and use the following escape functions in case the
tunnel id itself contains any quotes:
For all occurrences of " replace with \"
For all occurrences of \ replace with \\
Example: A tunnel with the name of tunnel "ppp1"
would be specified as "tunnel \"pp1\"" within the
rule.
A NAS that is unable to interpret or apply a deny rule MUST
terminate the session. A NAS MAY apply deny rules of its own
before the supplied rules, for example to protect the access
device owner's infrastructure.
3. RADIUS Accounting
This specification introduces one new RADIUS accounting attribute.
3.1. Acct-NAS-Filter-Rule
Description
Acct-NAS-Filter-Rule enables a RADIUS client to include NAS-
Filter-Rule[TODO] rule match counters as part of the accounting
message.
The Acct-NAS-Filter-Rule attribute 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 | Counter (64-bits)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Counter (cont.)
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Counter (cont.) | Text (NAS-Filter-Rule) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
TBD
Length
Congdon, et al. Informational [Page 19]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
>=3
String
The first eight octets of this string are used for a 64-bit
value of the rule counter. The remaining octets are used to
specify which filter rule the counter value is for. The rule
specification MUST conform to the syntax rules specified for
NAS-Filter-Rule[TBD].
4. Table of Attributes
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-
Request Accept Reject Challenge Req # Attribute
0 0+ 0 0 0+ TBD Egress-VLANID
0 0-1 0 0 0-1 TBD Ingress-Filters
0 0-1 0 0 0-1 TBD User-Priority-Table
0 0+ 0 0 0+ TBD NAS-Filter-Rule
Actng- Actng-
Request Response # Attribute
0-1 0 TBD Acct-NAS-Filter-Rule
The following table defines the meaning of the above table
entries.
0 This attribute MUST NOT be present in 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.
5. IANA Considerations
This document uses the RADIUS [RFC2865] namespace, see
<http://www.iana.org/assignments/radius-types>. Allocation of
seven updates for the section "RADIUS Attribute Types" is
requested. The RADIUS attributes for which values are requested
are:
TBD - Egress-VLANID
TBD - Ingress-Filters
TBD - User-Priority-Table
TBD - NAS-Filter-Rule
TBD - Acct-NAS-Filter-Rule
Congdon, et al. Informational [Page 20]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
6. Security Considerations
Since this document describes the use of RADIUS for purposes of
authentication, authorization, and accounting in IEEE 802.1X-
nabled networks, it is vulnerable to all of the threats that are
present in other RADIUS applications. For a discussion of these
threats, see [RFC2607], [RFC3162], [RFC3579], and [RFC3580].
This document specifies new attributes that can be included in
existing RADIUS messages. These messages are protected using
existing security mechanisms; see [RFC2865] and [RFC3576] for a
more detailed description and related security considerations.
The security mechanisms in [RFC2865] and [RFC3576] are primarily
concerned with an outside attacker who modifies messages in
transit or inserts new messages. They do not prevent an authorized
RADIUS server or proxy from inserting attributes with a malicious
purpose in message it sends.
An attacker who compromises an authorized RADIUS server or proxy
can use the attributes defined in this document to influence the
behavior of the NAS in ways that previously may not have been
possible. For example, modifications to the VLAN-related
attributes may cause the NAS to permit access to other VLANs that
were intended. To give another example, inserting suitable
redirection rules to the NAS-Filter-Rule attribute may allow the
attacker to eavesdrop or modify packets sent by a legitimate
client.
In general, the NAS cannot know whether the attribute values it
receives from an authenticated and authorized server are well-
intentioned or malicious, and thus it is not possible to
completely protect against attacks by compromised nodes. In some
cases, the extent of the possible attacks can be limited by
performing more fine-grained authorization checks at the NAS.
For instance, a NAS could be configured to accept only certain
VLAN IDs from a certain RADIUS server/proxy, or not to accept any
redirection rules if it is known they are not used in this
environment.
7. References
7.1. Normative references
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March, 1997.
[RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter,
L., Leach P., Berners-Lee T., "Hypertext Transfer Protocol
-- HTTP/1.1", RFC 2616, June 1999.
Congdon, et al. Informational [Page 21]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
[RFC2865] Rigney, C., Rubens, A., Simpson, W. and S. Willens, "Remote
Authentication Dial In User Service (RADIUS)", RFC 2865,
June 2000.
[RFC2868] Zorn, G., Leifer, D., Rubens, A., Shriver, J., Holdrege, M.
and I. Goyret, "RADIUS Attributes for Tunnel Protocol
Support", RFC 2868, June 2000.
[RFC2895] Bierman, A., Bucci, C., Iddon, R., "Remote Network
Monitoring MIB Protocol Identifier Reference", RFC
2895, August 2000
[RFC3162] Aboba, B., Zorn, G. and D. Mitton, "RADIUS and IPv6", RFC
3162, August 2001.
[RFC3576] Chiba, M., Dommety, G., Eklund, M., Mitton, D. and B.
Aboba,"Dynamic Authorization Extensions to Remote
Authentication Dial In User Service (RADIUS)", RFC 3576,
July 2003.
[RFC3579] Aboba, B. and P. Calhoun, "RADIUS Support for Extensible
Authentication Protocol (EAP)", RFC 3579, September 2003.
[RFC3580] Congdon, P., Aboba, B., Smith, A., Zorn, G., Roese, J.,
"IEEE 802.1X Remote Authentication Dial In User Service
(RADIUS) Usage Guidelines", RFC3580, September 2003.
[RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., Arkko,
J., "Diameter Base Protocol", RFC 3588, September 2003.
[RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J. and H.
Levkowetz, "Extensible Authentication Protocol (EAP)", RFC
3748, June 2004.
[RFC4005] Calhoun, P., Zorn, G., Spence, D., Mitton, D., "Diameter
Network Access Server Application", RFC 4005, August 2005.
[IEEE8021D]
IEEE Standards for Local and Metropolitan Area Networks:
Media Access Control (MAC) Bridges, IEEE Std 802.1D-2004,
June 2004.
[IEEE8021Q]
IEEE Standards for Local and Metropolitan Area Networks:
Draft Standard for Virtual Bridged Local Area Networks,
P802.1Q, January 1998.
[IEEE8021X]
IEEE Standards for Local and Metropolitan Area Networks:
Congdon, et al. Informational [Page 22]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
Port based Network Access Control, IEEE Std 802.1X-2004,
August 2004.
7.2. Informative references
[RFC1321] Rivest, R. and S. Dusse, "The MD5 Message-Digest
Algorithm", RFC 1321, April 1992.
[RFC2234] Croker, E., Overell, P., "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
[RFC2607] Aboba, B., Vollbrecht, J., "Proxy Chaining and Policy
Implementation in Roaming", RFC 2607, June 1999.
[RFC2674] Bell, E., Smith, A., Langille, P., Rijhsinghani, A.,
McCloghrie, K., Definitions of Managed Objects
for Bridges with Traffic Classes, Multicast Filtering and
Virtual LAN Extensions", RFC 2674, August 1999.
[RFC2866] Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.
[RFC2867] Zorn, G., Mitton, D. and B. Aboba, "RADIUS Accounting
Modifications for Tunnel Protocol Support", RFC 2867, June
2000.
[RFC3629] Yergeau, F., "UTF-8, a transformation of ISO 10646", RFC
2607, November 2003.
[IEEE802] IEEE Standards for Local and Metropolitan Area Networks:
Overview and Architecture, ANSI/IEEE Std 802, 1990.
[IEEE8023]
ISO/IEC 8802-3 Information technology - Telecommunications
And information exchange between systems - Local and
metropolitan area networks - Common specifications - Part
3: Carrier Sense Multiple Access with Collision Detection
(CSMA/CD) Access Method and Physical Layer Specifications,
(also ANSI/IEEE Std 802.3- 1996), 1996.
[IEEE80211]
Information technology - Telecommunications and information
exchange between systems - Local and metropolitan area
networks - Specific Requirements Part 11: Wireless LAN
Medium Access Control (MAC) and Physical Layer (PHY)
Specifications, IEEE Std. 802.11-1999, 1999.
[IEEE80211i]
Institute of Electrical and Electronics Engineers,
"Supplement to Standard for Telecommunications and
Information Exchange Between Systems - LAN/MAN Specific
Congdon, et al. Informational [Page 23]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
Requirements - Part 11:Wireless LAN Medium Access Control
(MAC) and Physical Layer
(PHY) Specifications: Specification for Enhanced Security",
June 2004.
Appendix A - Traffic Redirection
There are several ways to redirect the user's traffic. Which
method will be used depends on the capabilities available at the
NAS and Service Provider's preference. This Appendix describes
various methods to redirect user traffic by using the new
attributes outlined in this document in conjunction with existing
attributes, which are:
1) Tunneling; and
2) HTTP Redirection;
For each method we describe how redirection is done at service
initiation and mid-session. We also describe how redirection is
removed when it is no longer desired.
A.1 Tunneling
User traffic can be redirected by tunneling the user's traffic to
an alternate location. Tunneling will typically redirect all of
the user's traffic for the Service. When tunneling is used to
redirect all the traffic, then filtering may not be necessary.
A.1.1 Service Initiation
Redirect using tunnels at service initiation requires that the
RADIUS server send the appropriate [RFC2868] tunnel attributes and
NAS-Filter-Rule attributes to the NAS. The [RFC2868] tunnel
attributes describe the tunnel endpoint and the type of tunnel to
construct. The 'tunnel <tunnel_id>' option for the NAS-Filter-
Rule allows the specification of a traffic rule for which to
redirect traffic to a named tunnel.
A.1.2 Mid-session Tunnel Redirection
Redirection of traffic using tunnels mid-session involves sending
the tunnel attributes as per [RFC2868] to the NAS using Change-of-
Authorization (CoA) message. The operation is described in
[RFC3576]. Careful attention should be paid to the security
issues in [RFC3576].
Note that if the session is already tunneled (eg. Mobile-IP) then
Congdon, et al. Informational [Page 24]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
the CoA message with a new tunnel specification can be sent to the
NAS or alternatively the redirection can occur at the tunnel
endpoint (the Home Agent) using any one of these methods.
A.1.3 Tunnel Redirection Removal
If the normal mode for the session was to tunnel the session and
redirection was sent to the NAS, the RADIUS Server can send the
original tunnel attributes to the NAS in a CoA message. The NAS
will tear down the tunnel and establish a connection back to the
original tunnel endpoint.
However, if the normal mode for the session is not to use
tunneling then there is a problem because RADIUS does not have a
mechanism whereby it can de-tunnel. Receiving a CoA message
without tunnel attributes would not have an effect on an existing
tunnel. In order to de-tunnel the session, the RADIUS server has
to send the NAS a CoA message with Service-Type(6) set to
"Authorize-Only" causing the NAS to perform a re-Authorization.
In response to the re-Authorization, the RADIUS server will send
an Access-Accept packet without the tunneling information. Upon
receiving the corresponding Access-Accept packet the NAS MUST
apply the new authorization attributes. If these do not contain
tunnel attributes, then the NAS MUST tear down the tunnel.
A.1.4 Tunnel Redirection Examples
The following examples illustrate how traffic flows when subjected
to a NAS-Filter-Rule using tunnel redirection. In these
scenarios, the following notation is used to represent traffic
flows:
------> Flow in one direction
<-----> Flow in two directions
======> Flow in a tunnel in one direction
<=====> and in both directions
A RADIUS server that wishes all IP traffic to flow between the
client and a selected redirection destination will issue an
Access-Accept that contains the specification for the tunnel using
the attributes defined by RFC 2868 and an NAS-Filter-Rule
attribute using the tunnel action and arguments.
An example NAS-Filter-Rule will look like:
tunnel "t1" in ip from assigned to any
Congdon, et al. Informational [Page 25]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
This will cause all traffic that flows from the client to any
destination to be tunneled over the named tunnel "t1" to the
tunnel endpoint (TEP).
+-------+ +------+ +------+ +------+
| | | | |Tunnel| | |
|client +<---------->+ NAS +<==t1===>+ End +<----->+ Dest |
| | | | |Point | | |
+-------+ +------+ +------+ +------+
The direction argument takes the values of "in", "out" or "inout"
and is important because it controls how information is routed.
The following diagram demonstrates how traffic is routed. In all
these diagrams time is increasing as we proceed down the page.
When rule direction is "in":
client NAS TEP DESTINATION
| | | |
|---------->|===t1===>|--------->|
| | | |
|<----------|<-------------------| (flows directly to NAS)
| | | |
The inbound traffic from the client matches the specified filter
rule and the IP packet is placed in the tunnel to the TEP. The TEP
forwards the packet to the Destination using the destination IP
address in the packet header. Note that the source address of the
packet is the address assigned at the NAS. Therefore if the
destination were to reply to the packet it would use the NAS
source address and the packet would flow directly to the NAS and
to the client bypassing the TEP. The Home network would use this
capability if it was only interested in metering or seeing the
inbound traffic from the client.
However, if the home network wanted to see the traffic in both
directions it could deploy a NAT function at the TEP.
Here is the flow when the TEP is acting like a NAT:
client NAS TEP/NAT DESTINATION
| | | |
|---------->|===t1===>|--------->|
| | | |
|<----------|<==t1====|<---------|
The client establishes a connection to the Destination, but the
TEP acting as NAT, changes the source address of the IP packet(as
NATs do) to that of the TEP/NAT. Now any replies from the
Congdon, et al. Informational [Page 26]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
Destination are sent to the TEP/NAT. The TEP/NAT then forwards
these packets to the client through the NAS.
When the TEP is acting as a NAT, using the direction argument "in"
is important. The direction argument set to "out" will have no
effect on traffic coming from the tunnel since all traffic to the
client should come from the TEP/NAT inside the tunnel. The
direction argument set to "inout" will have the same effect as if
it were set to "in".
The TEP/NAT forwards all traffic for the client into the tunnel to
the NAS. The NAS always forwards any egressing traffic from the
tunnel to the client. It does not apply any redirection rules on
traffic egressing a tunnel. The NAS does not care whether the TEP
is transparent or is acting as a NAT.
A.2 HTTP Redirection
Another method of redirection is at the application layer,
specifically the HTTP layer. An HTTP aware NAS redirects traffic
by issuing an HTTP Redirect response causing the users browser to
navigate to an alternate Web Portal.
The call flow associated with performing redirection at the HTTP
layer is very similar with the call flow associated with
redirection done at the IP layer.
The same NAS-Filter-Rule(TBD) attribute described above is used to
convey the redirection rules to use for HTTP redirection. HTTP
redirection rules within the NAS-Filter-Rule attribute supports
the encoding of a redirection URL to apply when a rule is matched.
A.2.1 Service Initiation
As with previous call flows, the RADIUS MAY send multiple HTTP
redirect or filtering rules within a NAS-Filter-Rule(TBD)
attribute to the NAS in the Access-Accept message.
A.2.2 Mid-session HTTP Redirection
If HTTP redirection is required to be applied to a service that
has already been started then the RADIUS server can push the
redirection rules, and optionally the filter rules, to the NAS
within a NAS-Filter-Rule(TBD) attribute using a CoA message. The
NAS will then commence to apply the redirection rules and/or the
filter rules.
Alternatively, the RADIUS server can request that the NAS re-
authorize the session using the procedures defined in [RFC3576].
The RADIUS server responds with an Access-Accept message (with
Congdon, et al. Informational [Page 27]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
Service-Type(6) set to "Authorize Only" that will contain the
redirection and optionally filtering rules within a NAS-Filter-
Rule(TBD) attribute.
A.2.3 HTTP Redirection Removal
The RADIUS serve can turn HTTP redirection off mid-session in two
way. It can push new redirection rules within a NAS-Filter-
Rule(TBD) attribute using a CoA message or it can send the NAS a
CoA message requesting it to re-authorize.
When using CoA message to return the redirection and filtering
back to "normal," there needs to be either a filter rule (or
filter-id) or redirection rule that corresponds to the "normal"
state. If normally the session did not have any filter and or
redirection rules applied, the RADIUS server can send a NAS-
Filter-Rule(TBD) with the action of "flush" in the CoA message.
This action will cause all the filter rules and redirection rules
previously assigned to the session to be removed.
A.3 Accounting
Every time a session is redirected and every time the redirection
is reverted back a new session is created and the old one is
terminated. Therefore the NAS MUST generate and Accounting-
Request(Stop) for the old session and an Accounting-Request(Start)
for the new session.
A.4 Example Scenarios
The following two examples illustrate the user's experience when
being redirected.
For the first example assume an IEEE 8021X environment, whereby a
user connects to the enterprise LAN and initiates an
authentication handshake. As part of the overall authentication
process, it is also possible to pass endpoint state such as patch
level, virus signature status, etc., all of which can be verified
by a back-end server for policy compliancy and alter the
authentication and authorization decision. In instances that an
end-host is not in compliancy, the NAS may be instructed to limit
network access in some fashion (i.e. quarantine) and limit network
access to remediation services and a web-based information site.
A user may sense degraded network performance and open a web
session, which the NAS would redirect to the web-based information
site for compliancy status, remediation actions, etc.
For the second example assume an ISP environment, whereby a
prepaid user is roaming the net in their hotel room over WiFi is
to be Hot-lined because their account has no more funds. The
Congdon, et al. Informational [Page 28]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
user's Service Provider instructs the NAS to block all traffic,
and redirect any port 80 traffic to the Service Provider's Prepaid
Portal. Upon detecting that there is no service, the user
launches his browser and regardless of which web site is being
accessed the browser traffic will arrive at the Prepaid Portal
which will then return a page back to the subscriber indicating
that he needs to replenish his account.
Appendix B - NAS-Filter-Rule Filter Examples
This appendix presents a variety of filter examples utilizing the
syntax definition described in section 3.5
Example #1: Permit all user traffic, regardless of type.
permit inout any from any to any
Example #2: Permit only L2 traffic coming from and going to a
user's Ethernet MAC address. Block all other traffic. Assume
user's MAC address is 00-10-A4-23-19-C0.
permit in l2:ether2 from 00-10-A4-23-19-C0 to any
permit out l2:ether2 from any to 00-10-A4-23-19-C0
Example #3: Tunnel all L2 traffic coming from and going to a user.
Assume tunnel name is: tunnel "1234".
permit tunnel "tunnel \"1234\"" inout l2:ether2 from any to any
Example #4: Permit only L3 traffic coming and going to from a
user's IP address. Block all other traffic. Assume user's IP
address is 192.0.2.128.
permit in ip from 192.0.2.128 to any
permit out ip from any to 192.0.2.128
Example #5: Permit only L3 traffic coming and going to the user's
assigned IP address. Block all other traffic.
permit in ip from assigned to any
permit out ip from any to assigned
Example #6: Allow user to generate ARP requests, DNS requests, and
HTTP (port 80) requests. Assume user's MAC address is 00-10-A4-23-
19-C0 and IP address is 192.0.2.128.
permit in l2:ether:0x0806 from 00-10-A4-23-19-C0 to any
permit out l2:ether:0x806 from any to 00-10-A4-23-19-C0
permit in 17 from 192.0.2.168 to any 53
permit out 17 from any 53 to 192.0.2.168
Congdon, et al. Informational [Page 29]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
permit in 6 from 192.0.2.168 80 to any
permit out 6 from any 80 to 192.0.2.168
Example #7: Allow user to generate ARP requests, DNS requests, and
HTTP (port 80) requests, any of which are redirected to
http://www.foo.org. Assume user's MAC address is 00-10-A4-23-19-C0
and IP address is 192.0.2.128.
permit in l2:ether:0x0806 from 00-10-A4-23-19-C0 to any
permit out l2:ether:0x806 from any to 00-10-A4-23-19-C0
permit in 17 from 192.0.2.168 to any 53
permit out 17 from any 53 to 192.0.2.168
redirect http://www.foo.org in from 192.0.2.168 to any 80
Example #8: Allow user to generate ARP requests, DNS requests, and
HTTP (port 80) requests, of which only requests to
http://www.foo.org are redirected to http://www.goo.org. Assume
user's MAC address is 00-10-A4-23-19-C0 and IP address is
192.0.2.128
permit in l2:ether:0x0806 from 00-10-A4-23-19-C0 to any
permit out l2:ether:0x806 from any to 00-10-A4-23-19-C0
permit in 17 from 192.0.2.168 to any 53
permit out 17 from any 53 to 192.0.2.168
redirect http://www.goo.org in from 192.0.2.168 to any 80
http://www.foo.org
Acknowledgments
The authors would like to acknowledge Joseph Salowey of Cisco,
David Nelson of Enterasys, Chuck Black of Hewlett Packard, and
Ashwin Palekar of Microsoft.
Authors' Addresses
Paul Congdon
Hewlett Packard Company
HP ProCurve Networking
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
HP ProCurve Networking
8000 Foothills Blvd, M/S 5559
Roseville, CA 95747
Congdon, et al. Informational [Page 30]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
EMail: mauricio.sanchez@hp.com
Phone: +1 916 785 1910
Fax: +1 916 785 1815
Avi Lior
Bridgewater Systems Corporation
303 Terry Fox Drive
Suite 100
Ottawa, Ontario K2K 3J1
Canada
Phone: (613) 591-6655
EMail: avi@bridgewatersystems.com
URI: TCP://.bridgewatersystems.com/
Farid Adrangi
Intel Corporation
2111 North East 25th
Hillsboro, Oregon 97124
United States
Phone: (503) 712-1791
EMail: farid.adrangi@intel.com
Bernard Aboba
Microsoft Corporation
One Microsoft Way
Redmond, WA 98052
EMail: bernarda@microsoft.com
Phone: +1 425 706 6605
Fax: +1 425 936 7329
Intellectual Property Statement
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 BCP 78
and BCP 79.
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
Congdon, et al. Informational [Page 31]
INTERNET-DRAFT VLAN, Priority, and Filtering Attributes 9 June 2005
this specification can be obtained from the IETF on-line IPR
repository at http://www.ietf.org/ipr.
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.
Disclaimer of Validity
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 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.
Copyright Statement
Copyright (C) The Internet Society (2006). This document is
subject to the rights, licenses and restrictions contained in
BCP 78, and except as set forth therein, the authors retain all
their rights.
Congdon, et al. Informational [Page 32]