I2nsf Working Group J. You Internet-Draft Huawei Intended status: Standards Track M. Zarny Expires: January 9, 2017 Goldman Sachs C. Jacquenet M. Boucadair France Telecom Y. Li J. Strassner Huawei S. Majee F5 Networks July 8, 2016 User-group-based Security Policy for Service Layer draft-you-i2nsf-user-group-based-policy-02 Abstract This draft defines the User-group Aware Policy Control (UAPC) framework, which facilitates consistent enforcement of security policies based on user group identity. Policies are used to control security policy enforcement using a policy server and a security controller. Northbound APIs are also discussed. 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 9, 2017. You, et al. Expires January 9, 2017 [Page 1] Internet-Draft User-group based Policy July 2016 Copyright Notice Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved. 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 . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1. Abbreviations and acronyms . . . . . . . . . . . . . . . 4 2.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 3. Use Cases for User-group Aware Policy Control . . . . . . . . 5 4. User-group Aware Policy Control . . . . . . . . . . . . . . . 6 4.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2. Functional Entities . . . . . . . . . . . . . . . . . . . 7 4.3. User Group . . . . . . . . . . . . . . . . . . . . . . . 9 4.4. Inter-group Policy Enforcement . . . . . . . . . . . . . 10 4.5. UAPC Implementation . . . . . . . . . . . . . . . . . . . 12 5. Requirements for I2NSF . . . . . . . . . . . . . . . . . . . 13 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 9.1. Normative References . . . . . . . . . . . . . . . . . . 14 9.2. Informative References . . . . . . . . . . . . . . . . . 14 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 1. Introduction In traditional networks, network access is typically controlled through a combination of mechanisms such as maintaining separate static VLAN/IP subnet assignments per organization, applying Access Control Lists (ACLs) on VLANs and/or IP subnets, leveraging Network Access Control (NAC). Common side effects are: o Network administrators typically assume that users access the network from their own static location--from their assigned switch, VLAN, IP subnet, etc. You, et al. Expires January 9, 2017 [Page 2] Internet-Draft User-group based Policy July 2016 o MAC or IP address of the users' device is often used as a proxy for the user's identity. As such, filtering (e.g., via ACLs) of the user is usually based on IP or MAC addresses. o Authentication of the user by the network, if it exists at all, typically takes place only at the access switch in conjunction with an AAA (Authentication, Authorization, Accounting) server. Different authentication mechanisms could be used - from machine- based certificates to username/password challenges, to just "authenticating" on MAC addresses, etc. o Network security functions such as firewalls often act only on IP addresses and ports - not on the user's identity. These are all symptoms of a system not using actual user identification information, but rather, one or more attributes that attempt to represent a user identity. Traditional network access control mechanisms [I-D.ietf-i2nsf-problem-and-use-cases] do not work well in newer network paradigms. o First, both clients and servers can move and change their IP addresses on a regular basis. For example, Wi-Fi and VPN clients, as well as back-end Virtual Machine (VM)-based servers, can move; their IP addresses could change as a result. This means relying on well-known network fields (e.g., the 5-tuple) is increasingly inadequate to ensure consistent security policy enforcement. o Secondly, with more people working from non-traditional office setups like "working from home", there is now a need to be able to apply different security policies to the same set of users under different circumstances. Network access needs to be granted based on such criteria as users' location, time-of-day, type of network device used (e.g., corporate issued device versus personal device), device's security posture, etc. This means the network needs to recognize the users' identity and their current context, and map the users to their correct access entitlement to the network. o Moreover, implementation of coherent security policy across several network and network security devices is almost impossible. NSFs in operation could be sourced from different vendors, or could be different hardware models/software versions by the same vendor. As a result, the capabilities as well as APIs of the NSFs may not be the same throughout the environment. Finally, few enterprises, if any, have a complete view of all the application flows. It is not uncommon for administrators to update a policy You, et al. Expires January 9, 2017 [Page 3] Internet-Draft User-group based Policy July 2016 on a firewall, only to later find out that related ACLs, firewall policies, and other related mechanisms were not updated. Today, addressing the above issues takes considerable time and effort. Most network administrators have to manually plan and implement necessary changes as little automation, if any, exists across diverse sets of network security platforms. In line with the I2NSF effort to standardize APIs so as to facilitate automation, this draft defines User-group Aware Policy Control (UAPC), which facilitates consistent enforcement of policies based on user-group identity, and discusses how it operates in the I2NSF Service Layer [I-D.ietf-i2nsf-framework]. 2. Terminology 2.1. Abbreviations and acronyms AAA: Authentication, Authorization, and Accounting ACL: Access Control List ADSL: Asymmetric Digital Subscriber Line AP: Access Point LTE: Long Term Evolution NAC: Network Admission Control NBI: Northbound Interface NSF: Network Security Function UAPC: User-group Aware Policy Control VLAN: Virtual Local Area Network 2.2. Definitions User: An individual or a group of individuals that act as a single entity. User-group: A group of users that share one or more characteristics and/or behaviors in common, which allows each user in the user-group to be assigned the same access control permissions. For example, sales employees are treated with equivalent service policy rules when accessing the network. You, et al. Expires January 9, 2017 [Page 4] Internet-Draft User-group based Policy July 2016 Profile: A set of capabilities, in terms of functions and behaviors, for a given entity or set of entities. Role: A role defines a set of responsibilities of an object that it is attached to. This enables the functions and behavior of a complex object to be abstracted into just those that are required by a client in a particular context. User-group Identifier (User-group ID): An identifier that represents the collective identity of a group of users, and is determined by a set of one or more matching criteria (e.g., roles, 4-, 5-, and 6-tuples, VLAN ID, etc.) that disambiguates this user- group entity from other entities. 3. Use Cases for User-group Aware Policy Control With the increased popularity of enterprise wireless networks and remote access technologies such as Virtual Private Networks (VPN), enterprise networks have become borderless, and employees' locations can be anywhere. Enabling large-scale employee mobility across many access locations improves enterprise production efficiency but also introduces challenges related to enterprise network management and security. The IP address of the user can change frequently when the user is in motion. Consequently, IP address-based policies (such as forwarding, routing, QoS and security policies) may not be flexible enough to accommodate users in motion. The User-group Aware Policy Control (UAPC) approach is intended to facilitate the consistent enforcement of policies. As shown in Figure 1, a multi-technology network (e.g., Wi-Fi, 3G/LTE, ADSL and fiber infrastructures) can connect different types of terminal devices (e.g., Smartphone, tablet, and laptop) which should be able to access networks in a secure manner. Security policies should be consistently enforced based on their user-group identities, regardless of whether these terminal devices connect to a wired or a wireless infrastructure. You, et al. Expires January 9, 2017 [Page 5] Internet-Draft User-group based Policy July 2016 +--------------------+ | PDP | | (policy, security, | | management) | +---+--------------+-+ | | | | | UAPC | | | | | +--------------+ +----------+---+ +---+----------+ |+------------+| | | | | ||smartphone || | | | | |+------------+| | 3G/LTE | | | |+------------+| | | | Data | || tablet || | Pulic WiFi | | | |+------------+| | | | Center | |+------------++-------+ ADSL +------+ | || laptop || | | | | |+------------+| | AP | | | |+------------+| | | | | || PC || | ... | | | |+------------+| | | | | | | | Access | | Enterprise | | Devices | | Networks | | HQ | +--------------+ +--------------+ +--------------+ Figure 1: UAPC Framework Example 4. User-group Aware Policy Control 4.1. Overview The UAPC framework is as follows enables users to be authenticated and classified into different user-groups at the network ingress by the Security Controller; this may require obtaining information from the Policy Server and an AAA server. The user-group is an identifier that represents the collective identity of a group of users, and is determined by a set of pre-defined policy criteria (e.g., source IP address, geo-location data, time of day, or device certificate). Users may be moved to different user-groups if their composite security context and/or environment change. The Security Controller, if necessary, pushes the required user-group policies to all Network Security Functions (NSFs) that need them. The policies are expressed as user-group (not IP or MAC address) IDs so as to decouple the user identity from the network addresses of the user's device. You, et al. Expires January 9, 2017 [Page 6] Internet-Draft User-group based Policy July 2016 (Note that User-group IDs may be implemented in at least two ways: (1) the ingress switch inserts the user-group ID into the packets, and downstream NSFs match and act on the user-group ID, or (2) the Security Controller updates each NSF with the mapping between the user-group IDs and the packet tuples; NSFs map incoming packets to their rightful user-group IDs, and act on the user-group IDs. These and other implementation methodologies are out of scope of this document.) The security policy provisioning information can be derived from the user's profile and credentials, as well as the group to which the user belongs; such information can also be derived from the outcomes of the dynamic security service parameter negotiation that could possibly take place between the user and the service provider or the network administrator (e.g., parameters like whether the user is entitled to access the enterprise network while in motion or not, the lease time associated to an IP address, whether the user can access the Internet or not, and whether traffic needs to be encrypted or not). This information is transferred to the Network Security Functions (NSF) from the controller. Once an incoming packet matches a certain user group on the NSF, the corresponding security policy will be enforced on that packet. 4.2. Functional Entities The UAPC framework consists of four main components: (1) Policy Server, (2) Authentication Server, (3) Security Controller, (4) Network Security Functions: o Policy Server The Policy Server houses two policy databases: (1) the user-group criteria, which assigns users to their user-group, and (2) the rule base of what each user group has access to. - Contains (G)UI and/or APIs to enable policies to be created, modified, and deleted using command line, graphical tools, and/or programming logic - Contains logic to create, read, update, and delete policies and policy components, and apply policies to user-groups from one or more policy repositories - Contains logic to detect conflicts between policies - Contains logic to resolve conflicts between policies You, et al. Expires January 9, 2017 [Page 7] Internet-Draft User-group based Policy July 2016 - Contains logic to broker and/or federate policies between domains The above subjects are beyond the scope of this document. o AAA Server The AAA Server authenticates users, and then performs associated authorization and accounting functions. The AAA server classifies users into different user-groups at the network ingress. AAA server implementation details are out of scope for this document. o Security Controller The Security Controller coordinates various network security-related tasks on a set of NSFs under its administration. In general, there may be multiple security domains, where each domain has its own security controller. The detailed architecture is beyond the scope of this document. - Authenticates the user at the ingress using an authentication service. While the authentication functionality is an integral part of the framework, the topics of defining and managing authentication rules are out of scope of this document. - Asks policy server for decisions to security-related requests; takes these decisions and invokes the set of NSFs that are required to implement security for that particular packet. The security controller may cache policies. - May perform additional actions as specified by the metadata associated with a policy rule (e.g., the "function(s)" to be executed after the actions in a policy rule are executed) - Has an authoritative database of NSFs under its administration - Determines on which NSFs a given policy needs to be enforced - Presents a set of NBIs for applications, orchestration engines, etc. - Interfaces with NSFs via (to-be-developed) I2NSF Capability Layer APIs. o Network Security Functions - Packet classification: Depending on the implementation model, the NSF may match on User-group IDs in the packets; or it may You, et al. Expires January 9, 2017 [Page 8] Internet-Draft User-group based Policy July 2016 match on common packet header fields such as the 5-tuple, and map the n-tuple to the appropriate User-group ID supplied out-of-band by the Security Controller. - Policy enforcement: Enforce the corresponding policy (or set of policies) if the packet matches a specified User-group ID or set of User-group IDs - Presents I2NSF Capability Layer APIs 4.3. User Group The user-group is an identifier that represents the collective identity of a group of users, whose definition is controlled by one or more policy rules (e.g., source IP, geo-location, time of day, and device certificate). A given user is authenticated, and classified at the network ingress, and assigned to a user-group. (The term "user" refers to any user of the network. As such, servers, terminals and other devices are also classified and assigned to their respective user-groups.) A user's group membership may change as aspects of the user change. For example, if the user-group membership is determined solely by the source IP address, then a given user's user-group ID will change when the user moves to a new IP address that falls outside of the range of addresses of the previous user-group. Table 1 shows an example of how user-group definitions may be constructed. User-groups may share several common criteria. That is, user-group criteria are not mutually exclusive. For example, the policy criteria of user-groups R&D Regular and R&D-BYOD may share the same set of users that belong to the R&D organization, and differ only in the type of client (firm-issued clients versus users' personal clients); likewise, the same user may be assigned to different user-groups depending on the time of day or the type of day (e.g., weekdays versus weekends); and so on. You, et al. Expires January 9, 2017 [Page 9] Internet-Draft User-group based Policy July 2016 Table 1: User-Group Example +--------------+------------+--------------------------------+ | Group Name | Group ID | Group Definition | +--------------+------------+--------------------------------+ | R&D | 10 | R&D employees | +--------------+------------+--------------------------------+ | R&D BYOD | 11 | Personal devices of R&D | | | | employees | +--------------+------------+--------------------------------+ | Sales | 20 | Sales employees | +--------------+------------+--------------------------------+ | VIP | 30 | VIP employees | +--------------+------------+--------------------------------+ | Workflow | 40 | IP addresses of Workflow | | | | resource servers | +--------------+------------+--------------------------------+ | R&D Resource | 50 | IP addresses of R&D resource | | | | servers | +--------------+------------+--------------------------------+ |Sales Resource| 54 | IP addresses of Sales resource | | | | servers | +--------------+------------+--------------------------------+ 4.4. Inter-group Policy Enforcement Within the UAPC framework, inter-group policy enforcement requires two key components: (1) user-group-to-user-group access policies, and (2) sets of NSFs that are managed by sets of policies. First, the framework calls for an authoritative rule-base that lists all the destination user-groups to which all the source user-groups are entitled to access. The rule-base, hosted on the Policy Server, enables administrators to construct authorized inter-group access relationships. The simple example in Table 2 shows a policy matrix in which the row represents source user-groups and the column represents destination ones. The inter-group rule-base is similar to firewall rule-bases, which are mostly made up of 5-tuples. (Firewall rule-bases could and do include criteria other than the standard 5-tuple. Also, the user-group rule-base could consist of other criteria. Actual implementation details are out of scope of this document.) The responsibility of implementing and managing the inter-group policies falls to the Security Controller. The controller first needs to determine, (or is told) the specific NSFs on which a given policy is to be implemented. The controller then communicates with each NSF via the I2NSF APIs to execute the required tasks. You, et al. Expires January 9, 2017 [Page 10] Internet-Draft User-group based Policy July 2016 Table 2: Inter-group Policy Example +-----------------+----------------------------------------------+ | | Destination Group | | +-------------+----------------+---------------+ | | Workflow | R&D Resource | Sales Resource| |Source Group | Group | Group | Group | +-----------------+-------------+----------------+---------------+ | R&D group | Permit | Permit | Deny | +-----------------+-------------+----------------+---------------+ | R&D BYOD group |Traffic-rate | Deny | Deny | +-----------------+-------------+----------------+---------------+ | Sales group | Permit | Deny | Permit | +-----------------+-------------+----------------+---------------+ | VIP user group |Traffic-mark | Traffic-mark | Traffic-mark | +-----------------+-------------+----------------+---------------+ Inter-user-group rules are configurable. Figure 2 illustrates how various user-groups and their entitlements may be structured. The example shows a "north-south" model that shows how users may access internal network resources. Similar models can be developed for "east-west" intra-data center traffic flows. +---------------------------------+ | Authentication Domain | |+------------------------------+ | || DemilitarizedZone | | ||+---------------------------+ | | ||| General Service | | | Common BYOD |||+------------------------+ | | | User --------++++ Common Service | | | | ||||+---------------------+ | | | | Guest--------++|||Limited Service | | | | | |||||+------------------+ | | | | | Insecure ||||||Important Service +-+-+-+-+-+-- Partner User -----+||||| +------------+ | | | | | | |||||| |Core Service+-+-+-+-+-+-+-- Executive User at ---+++++| +------------+ +-+-+-+-+-+-- User at office non-office |||||+------------------+ | | | | | hours hours ||||+---------------------+ | | | | |||+------------------------+ | | | ||+---------------------------+ | | |+------------------------------+ | +---------------------------------+ Unauthorized user (X) User using an unregistered device (X) Figure 2: Sample Authorization Rules for User-group Aware Policy Control You, et al. Expires January 9, 2017 [Page 11] Internet-Draft User-group based Policy July 2016 4.5. UAPC Implementation The security policies are instantiated and maintained by the policy server. The associated computation logic (to instantiate such policies) may be dynamically fed with instructions coming from the application. The policy decisions could also be from the outcomes of dynamic security service parameter negotiations that typically take place at the management plane between the user and the service provider [RFC7297]. The NSFs receive group-based policy provisioning information from the security controller. The security policies will be enforced so that participating NSFs can process traffic accordingly. There are five steps for implementing the UAPC framework, which are shown in Figure 3. +-----------------+ | Orchestrator | +-+-------------+-+ | | ======================|=============|============== +----+---+ ++---------+ | Policy +--------+Security | (Step 1)| Server | +----+Controller| +----+---+ | +-+---+----+ | | | | +----+-------+-+ | | | AAA | | | | Server | | | +--------------+ | | | | (Step 2) | | (Step 4) +------+-+ | ---------------- (Step 3) ///// | | | \\\\\ +-------------+ /// | | | \\\ Site1|Wireless User+-------- | | | \\ +-------------+ || +--+-+ +--+-+ +-+--+ || +-------------+ | | | | | | | | Site2|Wired User +--+ |NSFs| |NSFs| |NSFs| | +-------------+ | | | | | | | | +-------------+ || +----+ +----+ +----+ || Site3|Remoter User +------- (Step 5) // +-------------+ \\\ /// \\\\\ ///// ---------------- Figure 3: Unified Policy Procedures You, et al. Expires January 9, 2017 [Page 12] Internet-Draft User-group based Policy July 2016 1. User-group identification policies and inter-user-group access polices on the Policy Server are managed by authorized user(s) and/or team(s). 2. The user-group-based policies are implemented on the NSFs under the Security Controller's management. 3. When a given user first comes logs onto the network, the user is authenticated at the ingress switch. 4. If the authentication is successful, the user is placed in a user-group, as determined by the Policy Server. If the authentication is not successful, then the user is not assigned a user-group, which means that the user has no access permissions for the network. 5. The user's subsequent traffic is allowed or permitted based on the user-group ID by the NSFs per the inter-user-group access policies. (It is beyond the scope of this document as to how user-group IDs may be delivered to non-ingress NSFs. See Section 4.1 for a brief overview of possible implementation methods.) 5. Requirements for I2NSF Key aspects of the UAPC framework fall within the Service Layer of the I2NSF charter. If the community adopts the approach as one possible framework for the Service Layer, the I2NSF Service Layer MUST support at least the following northbound APIs (NBIs): o The user-group classification policy database on the Policy Server o The inter-user-group access policy rule-base on the Policy Server o The inventory of NSFs under management by the Security Controller o The list of NSFs on which a given inter-user-group policy is to be implemented by the Security Controller. The framework also assumes that the I2NSF Capability Layer APIs will be there for the NSFs. You, et al. Expires January 9, 2017 [Page 13] Internet-Draft User-group based Policy July 2016 6. Security Considerations This document provides the UAPC framework, and discusses how it operates in the I2NSF Service Layer. 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. 7. IANA Considerations This document has no actions for IANA. 8. Acknowledgements The editors would like to thank Linda Dunbar for a thorough review and useful comments. 9. References 9.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, . [RFC7297] Boucadair, M., Jacquenet, C., and N. Wang, "IP Connectivity Provisioning Profile (CPP)", RFC 7297, DOI 10.17487/RFC7297, July 2014, . 9.2. Informative References [I-D.ietf-i2nsf-framework] elopez@fortinet.com, e., Lopez, D., Dunbar, L., Strassner, J., Zhuang, X., Parrott, J., Krishnan, R., and S. Durbha, "Framework for Interface to Network Security Functions", draft-ietf-i2nsf-framework-02 (work in progress), July 2016. [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-00 (work in progress), February 2016. You, et al. Expires January 9, 2017 [Page 14] Internet-Draft User-group based Policy July 2016 Authors' Addresses Jianjie You Huawei 101 Software Avenue, Yuhuatai District Nanjing, 210012 China Email: youjianjie@huawei.com Myo Zarny Goldman Sachs 30 Hudson Street Jersey City, NJ 07302 USA Email: myo.zarny@gs.com Christian Jacquenet France Telecom Rennes 35000 France Email: christian.jacquenet@orange.com Mohamed Boucadair France Telecom Rennes 35000 France Email: mohamed.boucadair@orange.com Yizhou Li Huawei 101 Software Avenue, Yuhuatai District Nanjing, 210012 China Email: liyizhou@huawei.com You, et al. Expires January 9, 2017 [Page 15] Internet-Draft User-group based Policy July 2016 John Strassner Huawei 2330 Central Expressway San Jose, CA USA Email: john.sc.strassner@huawei.com Sumandra Majee F5 Networks 3545 N 1st St San Jose, CA 95134 Email: S.Majee@f5.com You, et al. Expires January 9, 2017 [Page 16]