One document matched: draft-you-i2nsf-user-group-policy-capability-00.txt
I2nsf Working Group J. You
Internet-Draft J. Strassner
Intended status: Standards Track Huawei
Expires: January 19, 2017 M. Zarny
Independent
C. Jacquenet
France Telecom
S. Majee
F5 Networks
July 18, 2016
User-Group-based Security Policy for Capability Layer
draft-you-i2nsf-user-group-policy-capability-00
Abstract
This draft defines the I2NSF Capability APIs for implementing User-
Group-based Security Policies using the Event-Condition-Action
Policy Rule paradigm.
Requirements Language
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].
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
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."
This Internet-Draft will expire on January 19, 2017.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
You, et al. Expires January 19, 2017 [Page 1]
Internet-Draft UG Policy Capability Interface July 2016
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Abbreviations and Acronyms . . . . . . . . . . . . . . . 3
2.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3
3. Overall Architecture . . . . . . . . . . . . . . . . . . . . 4
3.1. Alternative 1: Using Packet User-Group Labels . . . . . . 4
3.2. Alternative 2: Using User-group IDs Directly . . . . . . 5
4. ECA for User-group-based Security Policy . . . . . . . . . . 5
4.1. Information Model Design . . . . . . . . . . . . . . . . 6
4.2. FlowSpecECAPolicyRule Class Definition . . . . . . . . . 6
4.3 Event . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.4. Condition . . . . . . . . . . . . . . . . . . . . . . . . 8
4.5. Action . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.5.1. Traffic-rate Action . . . . . . . . . . . . . . . . . 8
4.5.2. Traffic-detail Action . . . . . . . . . . . . . . . . 9
4.5.3. Redirect Action . . . . . . . . . . . . . . . . . . . 9
4.5.4. Traffic-marking Action. . . . . . . . . . . . . . . . 9
4.6. Capability Layer Rules . . . . . . . . . . . . . . . . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 9
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
8.1. Normative References . . . . . . . . . . . . . . . . . . 9
8.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction
In traditional networks, network access is typically controlled
through a combination of mechanisms. These include maintaining
separate static VLAN/IP subnet assignments per organization,
applying Control Lists (ACLs) on VLANs and/or IP subnets, and
leveraging Network Access Control(NAC). However, traditional access
control mechanisms ([I-D.ietf-i2nsf-problem-and-use-cases]) do not
work well with newer network paradigms and architectures. Most
network administrators have to manually plan and implement necessary
changes because little, if any, automation exists across diverse
sets of network security platforms.
You, et al. Expires January 19, 2017 [Page 2]
Internet-Draft UG Policy Capability Interface July 2016
[I-D.you-i2nsf-user-group-based-policy] discusses User-Group aware
Policy Control (UAPC). This facilitates consistent enforcement of
policies based on User-Group identity, since the User-Group IDs are
generated by a set of ECA Policy Rules. It also discusses how this
can be used in the I2NSF Service Layer [I-D.ietf-i2nsf-framework].
The UAPC mechanism calls for: (1) a User-Group identifier (e.g.,
source and destination IP address, time-of-day, device certificate,
or a combination of these and other similar attributes); (2) a
policy server service that maintains policies for defining and
managing user-groups as well as permissions associated with
user-groups; and (3) a logical security controller that is
responsible for managing Network Security Functions (NSFs), and
installing necessary policies on them.
This document proposes I2NSF capability layer APIs for implementing
User-Group-based security policies by using the Event-Condition-
Action (ECA) Policy Rule paradigm.
2. Terminology
This section contains terminology and definitions that are important
for understanding the technical content of this document.
2.1. Abbreviations and Acronyms
AAA: Authentication, Authorization, and Accounting
ECA: Event-Condition-Action
NSF: Network Security Function
UAPC: User-Group Aware Policy Control
VRF: Virtual Routing and Forwarding instance
2.2. Definitions
Event: An event is defined as any important occurrence in time of
a change in the system being managed, and/or in the environment of
the system being managed. An Event, when used in the context of a
Policy Rule, is used to determine whether the Condition clause of
an imperative Policy Rule can be evaluated or not. For an ECA
Policy Rule, if the Event clause is TRUE, then the Condition
Clause MUST be evaluated.
Condition: A set of attributes, features, and/or values that are
to be compared with a set of known attributes, features, and/or
values in order to make a decision. A Condition, when used in the
context of a Policy Rule, is used to determine whether or not the
set of Actions in that Policy Rule can be executed or not. For an
ECA Policy Rule, if the Condition clause is TRUE, then at least
one Action contained in this ECA Policy Rule MUST be evaluated.
You, et al. Expires January 19, 2017 [Page 3]
Internet-Draft UG Policy Capability Interface July 2016
Action: An Action is a set of purposeful activity that has
associated behavior. An Action, when used in the context of a
Policy Rule, may be executed when both the Event and the Condition
clauses of its owning Policy Rule evaluate to true. The execution
of this Action MAY be influenced by applicable metadata.
3. Overall Architecture
The Security Controller coordinates various network security-related
tasks on a set of NSFs under its administration, and invokes the set
of NSFs that are required to implement security for particular
packets.
The NSF may match on User-Group IDs in the packets, or it may match
on common packet header fields such as an n-tuple, and then map the
n-tuple to the appropriate User-Group ID supplied out-of-band by the
Security Controller. If the packet matches a specified User-Group
ID, the NSF enforces the corresponding policies.
The interface between the Security Controller and the NSF is called
the capability interface in the I2NSF context. This document
describes the I2NSF capability layer API for implementing User-Group-
based security policies by using policy rules that are defined in an
Event-Condition-Action (ECA) structure.
+--------+ +-----------+
| Policy +--------+ Security |
| Server | | Controller|
+----+---+ +-----+-----+
| |
+----+---+ |
| AAA | | NSF- Facing
| Server | | Interface
+--------+ |
|
+------------+-----------+-------+--------+-----------+
| | | | |
| | | | |
+----+----+ +----+---+ +----+---+ +----+---+ +----+---+
| Ingress | | NSF #1 | | NSF #2 | ... | NSF #n | | Egress |
+---------+ +--------+ +--------+ +--------+ +--------+
Figure 1. Functional Architecture
3.1. Option 1: Using Packet User-Group Labels
This option empoloys the User-Group Label (UGL), a packet header
field, to carry the User-Group ID. UGLs are disseminated using
the Registration Interface (see [I-D.ietf-i2nsf-terminology] and
[I-D.ietf-i2nsf-framework]).
You, et al. Expires January 19, 2017 [Page 4]
Internet-Draft UG Policy Capability Interface July 2016
UGLs work in a 'UGL-capable' domain. This is a domain in which all
NSFs residing in that domain support both the UGL field as well as
mapping the UGL field (and hence, the User-Group ID that the UGL
field represents) to a set of ECA Policy Rules.
In this alternative, the ingress NSF matches on common packet header
fields, such as an n-tuple, and then maps the n-tuple to the
appropriate User-Group ID supplied out-of-band by the Security
Controller. Then, the ingress NSF inserts the corresponding UGL
into the packet. The UGL is used by NSFs to make forwarding
decisions in the UGL-supported domain.
The UGL field can be inserted into the packet using, for example,
SFC encapsulation [I-D.ietf-sfc-nsh]. One benefit of option 1 is
that only edge NSFs need to do UGL insertion or removal; other NSFs
can easily enforce User-Group based policies based on the UGL
carried in the packet. If the UGL field does not match any policy,
a UGL-compliant NSF may apply a default policy, such as dropping or
forwarding, to the packet. For example, if no policy is matched,
firewalls typically will drop the packet, since Firewalls define a
deny action as the default action to use.
3.2. Option 2: Using User-0Group IDs Directly
This alternative option relies on all NSFs being able to identify
appropriate fields in a packet, map them to an appropriate User-
Group, and then use that User-Group to control actions on the packet.
In this option, User-Groups are disseminated using the Registration
Interface.
The Ingress NSF matches on common packet header fields, such as an
n-tuple, and then maps the n-tuple to the appropriate User-Group ID
(which is supplied out-of-band by the Security Controller). Then,
the ingress NSF enforces User-Group Policy Rules based on the
identified User-Group ID, without inserting any field into the
packet. Hence, option 2 requires all NSFs on the forwarding path to
support User-Group mapping. If the NSF fails to associate the packet
with a User-Group, it may use a default Policy Rule that is
associated with, for example, a default unknown User-Group. The
Policy associated with the default unknown User-Group should then be
enforced. For example, an unknown User-Group could be mapped to a
null VLAN, and a message sent to the appropriate Controller to
perform basic security checking on it and then assign a real
User-Group to the packet or flow (and a corresponding VLAN).
4. ECA for User-group-based Security Policy
This document uses Policy Rules, in the form of an Event-Condition-
Action (ECA) structure, to describe User-Group-based security
policies.
You, et al. Expires January 19, 2017 [Page 5]
Internet-Draft UG Policy Capability Interface July 2016
The fundamental constructs of ECA languages are reactive rules of the
form:
IF the event clause evaluates to TRUE
IF the condition clause evaluates to TRUE
THEN execute actions in the action clause
ENDIF
ENDIF
The Event clause, Condition clause, and Action clause collectively
form a three-tuple. The Event and Condition clauses are made up of
one or more Boolean statements. If the Event clause evaluates to
FALSE, execution stops. If the Event clause evaluates to TRUE, then
the Condition clause is evaluated. Once again, if the Condition
clause evaluates to FALSE, execution stops; otherwise, Actions in
the Policy Rule may be executed.
4.1. Information Model Design
The information model design for User-Group-based Security Policies
is based on the information model design of the capability interface
[I-D.draft-xia-i2nsf-capability-interface-im].
It is assumed that an external model, or set of models, is used to
define the concept of an ECA Policy Rule and its components (e.g.,
Event, Condition, and Action objects). A functional block diagram of
the ECA Model is shown in Figure 2 below:
+-------------------------+ 0..n 0..n +-----------------+
| |/ \ \| External Common |
| External ECA Info Model + A ---------------+ Superclass for |
| |\ / Aggregates /| ECA Objects |
+----------+--------------+ ECAObjects +--------+--------+
/ \ / \
| |
| |
+-----------+-----------+ +-------------+------+-----+
| SecurityECAPolicyRule | | | |
+-----------+-----------+ | | |
| +-----+----+ +------+----+ +-----+----+
| | External | | External | | External |
| | Event | | Condition | | Action |
| +-----+----+ +-----+-----+ +-----+----+
+------+---------+ | | |
| | | | |
+------+--------+ / \ / \ / \ / \
| FlowSpec | Other Security Security Other
| ECAPolicyRule | SecurityECA Events Conditions Actions
+---------------+ PolicyRules
Figure 2. High-Level Information Model Design
You, et al. Expires January 19, 2017 [Page 6]
Internet-Draft UG Policy Capability Interface July 2016
The SecurityECAPolicyRule is the top of the User-Group ECA Policy
Rule hierarchy. It inherits from the (external) generic ECA Policy
Rule to define Security ECA Policy Rules that are specific to
managing User-Groups. The SecurityECAPolicyRule contains all of the
attributes, methods, and relationships defined in its (generic)
superclass, and adds additional concepts that are required for
Network Security (these will be defined in the next version of this
draft).
The AggregatesECAObjects relationship defines the set of Events,
Conditions, and Actions that are aggregated by a specific
ECAPolicyRule. This aggregation is inherited by all subclasses of
SecurityECAPolicyRule.
This draft defines a single subclass of SecurityECAPolicyRule, called
FlowSpecECAPolicyRule. Additional ECA Policy Rules will be defined in
future versions of this draft.
This draft defines four subclasses of the (external) generic Action
class. Additional Event, Condition, and Action subclasses will be
defined in future versions of this draft. Note that any of the
Events, Conditions, and Actions defined in [I-D.draft-xia-i2nsf-
capability-interface-im] can also be used; this is because the
FlowSpecECAPolicyRule is really a container, which is meant to
aggregate Events, Conditions, and Actions. The Flow Spec Rule is
is thus generic; application-specific needs are provided by
choosing a suitable set of Events, Conditions, and Actions.
It is assumed that the (external) generic ECAPolicyRule class
defines basic information in the form of attributes, such as an
unique object ID, as well as a description and other basic, but
necessary, information. It is also assumed that the (external)
generic ECA Policy Rule is abstract; the SecurityECAPolicyRule is
also abstract. This enables data model optimizations to be made
while making this information model detailed but flexible and
extensible.
The SecurityECAPolicyRule defines network security policy as a
container that aggregates Event, Condition, and Action objects,
which are described in Sections 4.3, 4.4, and 4.5, respectively.
Events, Conditions, and Actions can be generic or security-specific.
Brief class descriptions of these classes are provided in the
following sub-sections. In addition, none of the ECAPolicyRule
subclasses will define attributes. This enables them to be viewed
as simple object containers, and hence, applicable to a wide
variety of content. It also means that the content of the function
is defined solely by the set of Events, Conditions, and Actions
that are contained by the particular subclass. This enables the
Policy Rule, with its aggregated set of Events, Conditions, and
Actions, to be treated as a reusable object.
You, et al. Expires January 19, 2017 [Page 7]
Internet-Draft UG Policy Capability Interface July 2016
4.2. FlowSpecECAPolicyRule Class Definition
The purpose of a FlowSpecECAPolicyRule is to define an ECA Policy
Rule that can invoke FlowSpecs as Actions. The set of invoked
Actions are triggered by a set of Events and Conditions. This ECA
Policy Rule serves as a reusable container, and hence, the set of
Events, Conditions, and Actions that it aggregates are also reused.
4.3. Event
Events are external stimuli, such as alarms, user actions (e.g.,
logon and logoff, or access requests), and packet arrival or
departure occurrences. A set of exemplary Events are defined in
[I-D.draft-xia-i2nsf-capability-interface-im].
4.4. Condition
Conditions are typically attributes or values that affect the state
of a managed entity. These include:
- n-tuple of the incoming packet
- cross checking with other data, such as correlation with
packets received from different ports or past time, or
- the current state of a flow
A set of exemplary Conditions are defined in
[I-D.draft-xia-i2nsf-capability-interface-im].
4.5. Action
This document defines a minimum set of Actions. The first set of
Actions are, based on [RFC5575] and [RFC7674]. This is not meant
to be an inclusive list of all possible Actions, but only a subset
that pertain specifically to flows, which can be interpreted
consistently across the network. Other Actions will be defined in
future versions of this document. An exemplary set of additional
Actions is defined in [I-D.draft-xia-i2nsf-capability-interface-im].
Note that [RFC5575] and [RFC7674] define a general procedure to
encode flow specification rules for aggregated traffic flows, so
that they can be distributed as BGP [RFC4271] network layer
reachability information.
4.5.1. Traffic-rate Action
The traffic-rate instructs a system to shape a certain stream to a
set of predefined bandwidth characteristics. This is implemented
using BGP extended community values attributes [RFC4360]. A
traffic-rate of 0 should result in all traffic for this particular
flow to be discarded.
You, et al. Expires January 19, 2017 [Page 8]
Internet-Draft UG Policy Capability Interface July 2016
4.5.2. Traffic-deetail Action
The traffic-detail enables traffic sampling and logging for a
particular flow. This is implemented using BGP extended community
values attributes [RFC4360].
4.5.3. Redirect Action
The Redirect allows the traffic to be redirected to a specified VRF
routing instance that lists the specified route-target in its import
policy. This is implemented using BGP extended community values
attributes [RFC4360].
4.5.4. Traffic-marking Action
The Traffic-marking instructs a system to modify the DSCP bits of a
transiting IP packet to the corresponding value. This is implemented
using BGP extended community values attributes [RFC4360].
4.6. Capability Layer Rules
This will be completed in the next version of this document.
5. Security Considerations
This document provides an Event-Condition-Action model for describing
user-group-based security policies. It is not intended to represent
any particular system design or implementation, nor does it define a
protocol, and as such it does not have any specific security
requirements.
6. IANA Considerations
This document has no actions for IANA.
7. Acknowledgements
TBD.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
You, et al. Expires January 19, 2017 [Page 9]
Internet-Draft UG Policy Capability Interface July 2016
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A
Border Gateway Protocol 4 (BGP-4)", RFC 4271,
DOI 10.17487/RFC4271, January 2006,
<http://www.rfc-editor.org/info/rfc4271>.
[RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
Communities Attribute", RFC 4360, DOI 10.17487/RFC4360,
February 2006, <http://www.rfc-editor.org/info/rfc4360>.
[RFC5575] Marques, P., Sheth, N., Raszuk, R., Greene, B., Mauch, J.,
and D. McPherson, "Dissemination of Flow Specification
Rules", RFC 5575, DOI 10.17487/RFC5575, August 2009,
<http://www.rfc-editor.org/info/rfc5575>.
[RFC7674] Haas, J., Ed., "Clarification of the Flowspec Redirect
Extended Community", RFC 7674, DOI 10.17487/RFC7674,
October 2015, <http://www.rfc-editor.org/info/rfc7674>.
8.2. Informative References
[I-D.ietf-i2nsf-problem-and-use-cases]
Hares, S., Dunbar, L., Lopez, D., Zarny, M., and C.
Jacquenet, "I2NSF Problem Statement and Use cases", draft-
ietf-i2nsf-problem-and-use-cases-01 (work in progress),
July 2016.
[I-D.ietf-i2nsf-framework]
Lopez, E., Lopez, D., Dunbar, L., Strassner, J., Zhuang,
J., Parrott, J., Krishnan, R., Durbha, S., "Framework for
Interface to Network Security Functions",
draft-ietf-i2nsf-framework-02 (work in progress),
July 2016
[I-D.ietf-sfc-nsh]
Quinn, P. and Elzur, U., "Network Service Header",
draft-ietf-sfc-nsh-05 (work in progress), May 2016.
[I-D.you-i2nsf-user-group-based-policy]
You, J., Zarny, M., Jacquenet, C., Boucadair, M., Yizhou,
L., Strassner, J., and S. Majee, "User-group-based
Security Policy for Service Layer", draft-you-i2nsf-user-
group-based-policy-02 (work in progress), July 2016.
[I-D.draft-xia-i2nsf-capability-interface-im]
Xia, L. Strassner, J., Li, K., Zhang, D., Lopez, E.,
Bouthors, N., Fang, L., "Information Model of Interface
to Network Security Functions Capability interface",
draft-xia-i2nsf-capability-interface-im-06 (work in
progress), July 2016
You, et al. Expires January 19, 2017 [Page 10]
Internet-Draft UG Policy Capability Interface July 2016
[I-D.ietf-i2nsf-terminology]
Hares, S., Strassner, J., Lopez, D., Xia, L., "Interface
to Network Security Functions (I2NSF) Terminology",
draft-ietf-i2nsf-terminology-01, July 2016
Authors' Addresses
Jianjie You
Huawei
101 Software Avenue, Yuhuatai District
Nanjing, 210012
China
Email: youjianjie@huawei.com
John Strassner
Huawei
2330 Central Expressway
San Jose, CA
USA
Email: john.sc.strassner@huawei.com
Myo Zarny
Independent
Email: myo.zarny@gmail.com
Christian Jacquenet
France Telecom
Rennes 35000
France
Email: christian.jacquenet@orange.com
Sumandra Majee
F5 Networks
3545 N 1st St
San Jose, CA 95134
Email: S.Majee@f5.com
You, et al. Expires January 19, 2017 [Page 11]| PAFTECH AB 2003-2026 | 2026-04-22 23:19:51 |