I2NSF Capability YANG Data Model
Huawei
7453 Hickory HillSalineMI48176USA+1-734-604-0332shares@ndzh.com
Department of Computer Science and Engineering
Sungkyunkwan University2066 Seobu-Ro, Jangan-GuSuwonGyeonggi-Do16419Republic of Korea+82 31 299 4957+82 31 290 7996pauljeong@skku.eduhttp://iotlab.skku.edu/people-jaehoon-jeong.php
Department of Electronic, Electrical and Computer Engineering
Sungkyunkwan University2066 Seobu-Ro, Jangan-GuSuwonGyeonggi-Do16419Republic of Korea+82 10 8273 0930timkim@skku.edu
HTT Consulting
Oak ParkMIUSA+1-248-968-9809rgm@htt-consult.com
Huawei
Huawei Industrial BaseShenzhenGuangdong 518129Chinalinqiushi@huawei.com
Security
I2NSF Working GroupInternet-Draft
This document defines a YANG data model for the capabilities of various Network Security Functions (NSFs) in the Interface to Network Security Functions (I2NSF) framework to centrally manage the capabilities of the various NSFs.
As the industry becomes more sophisticated and network devices (e.g., Internet of Things, Self-driving vehicles, and smartphone using Voice over IP (VoIP) and Voice over LTE (VoLTE)), service providers have a lot of problems described in .
To resolve these problems, specifies the information model of the capabilities of Network Security Functions (NSFs) in a framework of the Interface to Network Security Functions (I2NSF) .
This document provides a YANG data model that defines the capabilities of NSFs to centrally manage the capabilities of those security devices.
The security devices can register their own capabilities into a Network Operator Management (Mgmt) System (i.e., Security Controller) with this YANG data model through the registration interface .
With the capabilities of those security devices maintained centrally, those security devices can be more easily managed .
This YANG data model is based on the information model for I2NSF NSF capabilities .
This YANG data model uses an "Event-Condition-Action" (ECA) policy model that is used as the basis for the design of I2NSF Policy as described in and .
The "ietf-i2nsf-capability" YANG module defined in this document provides the following features:
Definition for general capabilities of network security functions.
Definition for event capabilities of generic network security functions.
Definition for condition capabilities of generic network security functions.
Definition for condition capabilities of advanced network security functions.
Definition for action capabilities of generic network security functions.
Definition for resolution strategy capabilities of generic network security functions.
Definition for default action capabilities of generic network security functions.
This document uses the terminology described in .
This document follows the guidelines of ,
uses the common YANG types defined in , and
adopts the Network Management Datastore Architecture (NMDA). The meaning of
the symbols in tree diagrams is defined in .
This section provides as overview of how the YANG data model can be used in
the I2NSF framework described in .
shows the capabilities (e.g., firewall and
web filter) of NSFs in the I2NSF Framework.
As shown in this figure, an NSF Developer's Management System can register NSFs
and the capabilities that the network security device can support.
To register NSFs in this way, the Developer's Management System utilizes this
standardized capability YANG data model through the I2NSF Registration Interface
.
That is, this Registration Interface uses the YANG module described in this
document to describe the capability of a network security function that is
registered with the Security Controller.
With the capabilities of those network security devices maintained centrally,
those security devices can be more easily managed, which can resolve many of the
problems described in .
In , a new NSF at a Developer's Management
Systems has capabilities of Firewall (FW) and Web Filter (WF), which are
denoted as (Cap = {FW, WF}), to support Event-Condition-Action (ECA) policy
rules where 'E', 'C', and 'A' mean "Event", "Condition", and "Action",
respectively. The condition involves IPv4 or IPv6 datagrams, and the action
includes "Allow" and "Deny" for those datagrams.
Note that the NSF-Facing Interface is used to
configure the security policy rules of the generic network security functions, and
The configuration of advanced security functions over the NSF-Facing Interface
is used to configure the security policy rules of advanced network security
functions (e.g., anti-virus and Distributed-Denial-of-Service (DDoS)
attack mitigator), respectively, according to the capabilities of NSFs
registered with the I2NSF Framework.
A use case of an NSF with the capabilities of firewall and web filter
is described as follows.
If a network manager wants to apply security policy rules to block malicious users
with firewall and web filter, it is a tremendous burden for a network administrator
to apply all of the needed rules to NSFs one by one. This problem can be resolved
by managing the capabilities of NSFs in this document.
If a network administrator wants to block malicious users for IPv6 traffic,
he sends a security policy rule to block the users to the Network Operator
Management System using the I2NSF User (i.e., web application).
When the Network Operator Management System receives the security policy rule,
it automatically sends that security policy rules to appropriate NSFs
(i.e., NSF-m in Developer's Management System A and NSF-1 in Developer's
Management System B) which can support the capabilities (i.e., IPv6).
This lets an I2NSF User not consider NSFs where the rule is applied.
If NSFs encounter the suspicious IPv6 packets of malicious users, they can
filter the packets out according to the configured security policy rule.
Therefore, the security policy rule against the malicious users' packets can be
automatically applied to appropriate NSFs without human intervention.
This section shows a YANG tree diagram of capabilities of network security functions, as defined in the .
This section explains a YANG tree diagram of NSF capabilities and its features.
shows a YANG tree diagram of NSF capabilities.
The NSF capabilities in the tree include time capabilities, event capabilities,
condition capabilities, action capabilities, resolution strategy capabilities, and
default action capabilities.
Those capabilities can be tailored or extended according to a vendor's specific
requirements. Refer to the NSF capabilities information model for detailed discussion
.
Time capabilities are used to specify the capabilities which describe when to execute the I2NSF policy rule.
The time capabilities are defined in terms of absolute time and periodic time.
The absolute time means the exact time to start or end.
The periodic time means repeated time like day, week, or month.
See Section 3.4.6 (Capability Algebra) in for more information about the time-based condition (e.g., time period) in the capability algebra.
Event capabilities are used to specify the capabilities that describe the event that would trigger the evaluation of the condition clause of the I2NSF Policy Rule. The defined event capabilities are system event and system alarm.
See Section 3.1 (Design Principles and ECA Policy Model Overview) in for more information about the event in the ECA policy model.
Condition capabilities are used to specify capabilities of 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 determine whether or not the set of actions in that (imperative) I2NSF policy rule can be executed.
The condition capabilities are classified in terms of generic network security functions and advanced network security functions.
The condition capabilities of generic network security functions are defined as IPv4 capability, IPv6 capability, TCP capability, UDP capability, and ICMP capability.
The condition capabilities of advanced network security functions are defined as anti-virus capability, anti-DDoS capability, Intrusion Prevention System (IPS) capability, HTTP capability, and VoIP/VoLTE capability.
See Section 3.1 (Design Principles and ECA Policy Model Overview) in for more information about the condition in the ECA policy model. Also, see Section 3.4.3 (I2NSF Condition Clause Operator Types) in for more information about the operator types in an I2NSF condition clause.
Action capabilities are used to specify the capabilities that describe the control and monitoring aspects of flow-based NSFs when the event and condition clauses are satisfied.
The action capabilities are defined as ingress-action capability, egress-action capability, and log-action capability.
See Section 3.1 (Design Principles and ECA Policy Model Overview) in for more information about the action in the ECA policy model.
Also, see Section 7.2 (NSF-Facing Flow Security Policy Structure) in
for more information about the ingress and egress actions.
In addition, see Section 9.1 (Flow-Based NSF Capability Characterization) for more
information about logging at NSFs.
Resolution strategy capabilities are used to specify the capabilities that describe conflicts that occur between the actions of the same or different policy rules that are matched and contained in this particular NSF.
The resolution strategy capabilities are defined as First Matching Rule (FMR), Last Matching Rule (LMR), Prioritized Matching Rule (PMR), Prioritized Matching Rule with Errors (PMRE), and Prioritized Matching Rule with No Errors (PMRN).
See Section 3.4.2 (Conflict, Resolution Strategy and Default Action) in for more information about the resolution strategy.
Default action capabilities are used to specify the capabilities that describe how to execute I2NSF policy rules when no rule matches a packet.
The default action capabilities are defined as pass, drop, alert, and mirror.
See Section 3.4.2 (Conflict, Resolution Strategy and Default Action) in for more information about the default action.
IPsec method capabilities are used to specify capabilities of how to support an Internet Key Exchange (IKE) for the security communication.
The default action capabilities are defined as IKE or IKE-less.
See for more information about the SDN-based IPsec flow protection in I2NSF.
This section introduces a YANG module for NSFs' capabilities, as defined in the .
This YANG module imports from .
It makes references to
.
This document requests IANA to register the following URI in the
"IETF XML Registry" :
This document requests IANA to register the following YANG
module in the "YANG Module Names" registry :
The YANG module specified in this document defines a data schema designed to be accessed through network management protocols such as NETCONF or RESTCONF .
The lowest NETCONF layer is the secure transport layer, and the required transport secure transport is Secure Shell (SSH) .
The lowest RESTCONF layer is HTTPS, and the required transport secure transport is TLS .
The NETCONF access control model provides a means of restricting access to specific NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
There are a number of data nodes defined in this YANG module that are writable, creatable, and deletable (i.e., config true, which is the default).
These data nodes may be considered sensitive or vulnerable in some network environments.
Write operations to these data nodes could have a negative effect on network and security
operations.
ietf-i2nsf-capability: An attacker could alter the security capabilities
associated with an NSF whereby disabling or enabling the evasion of security
mitigations.
Some of the readable data nodes in this YANG module may be considered sensitive or vulnerable in some network environments. It is thus important to control read access (e.g., via get, get-config, or notification) to these data nodes. These are the subtrees and data nodes and their sensitivity/vulnerability:
ietf-i2nsf-capability: An attacker could gather the security capability information of any NSF and use this information to evade detection or filtering.
Assigned Internet Protocol Numbers
This section shows configuration examples of "ietf-i2nsf-capability" module for capabilities registration of general firewall.
This section shows a configuration example for the capabilities registration of a general firewall in either an IPv4 network or an IPv6 network.
shows the configuration XML for the capabilities registration of a general firewall as an NSF in an IPv4 network . Its capabilities are as follows.
The name of the NSF is general_firewall.
The NSF can inspect a protocol, an exact IPv4 address, and a range of IPv4 addresses for IPv4 packets.
The NSF can inspect an exact port number and a range of port numbers for the fourth layer packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
In addition, shows the configuration XML for the capabilities registration of a general firewall as an NSF in an IPv6 network . Its capabilities are as follows.
The name of the NSF is general_firewall.
The NSF can inspect a protocol, an exact IPv6 address, and a range of IPv6 addresses for IPv6 packets.
The NSF can inspect an exact port number and a range of port numbers for the fourth layer packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
This section shows a configuration example for the capabilities registration of a time-based firewall in either an IPv4 network or an IPv6 network.
shows the configuration XML for the capabilities registration of a time-based firewall as an NSF in an IPv4 network . Its capabilities are as follows.
The name of the NSF is time_based_firewall.
The NSF can execute the security policy rule according to absolute time and periodic time.
The NSF can inspect a protocol, an exact IPv4 address, and a range of IPv4 addresses for IPv4 packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
In addition, shows the configuration XML for the capabilities registration of a time-based firewall as an NSF in an IPv6 network . Its capabilities are as follows.
The name of the NSF is time_based_firewall.
The NSF can execute the security policy rule according to absolute time and periodic time.
The NSF can inspect a protocol, an exact IPv6 address, and a range of IPv6 addresses for IPv6 packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
This section shows a configuration example for the capabilities registration of a web filter.
shows the configuration XML for the capabilities registration of a web filter as an NSF. Its capabilities are as follows.
The name of the NSF is web_filter.
The NSF can inspect url for http and https packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
This section shows a configuration example for the capabilities registration of a VoIP/VoLTE filter.
shows the configuration XML for the capabilities registration of a VoIP/VoLTE filter as an NSF. Its capabilities are as follows.
The name of the NSF is voip_volte_filter.
The NSF can inspect a voice id for VoIP/VoLTE packets.
The NSF can control whether the packets are allowed to pass, drop, or alert.
This section shows a configuration example for the capabilities registration of a HTTP and HTTPS flood mitigator.
shows the configuration XML for the capabilities registration of a HTTP and HTTPS flood mitigator as an NSF. Its capabilities are as follows.
The name of the NSF is http_and_https_flood_mitigation.
The IPv4 address of the NSF is assumed to be 192.0.2.11 .
Also, the IPv6 address of the NSF is assumed to be 2001:DB8:0:1::11 .
The NSF can control the amount of packets for HTTP and HTTPS packets, which are routed to the NSF's IPv4 address
or the NSF's IPv6 address.
The NSF can control whether the packets are allowed to pass, drop, or alert.
This work was supported by Institute of Information & Communications
Technology Planning & Evaluation (IITP) grant funded by the Korea
MSIT (Ministry of Science and ICT) (R-20160222-002755, Cloud based
Security Intelligence Technology Development for the Customized Security
Service Provisioning).
This document is made by the group effort of I2NSF working group.
Many people actively contributed to this document, such as Acee Lindem,
Roman Danyliw, and Tom Petch.
The authors sincerely appreciate their contributions.
The following are co-authors of this document:
Hyoungshick Kim
Department of Computer Science and Engineering
Sungkyunkwan University
2066 Seo-ro Jangan-gu
Suwon, Gyeonggi-do 16419
Republic of Korea
EMail: hyoung@skku.edu
Daeyoung Hyun
Department of Computer Science and Engineering
Sungkyunkwan University
2066 Seo-ro Jangan-gu
Suwon, Gyeonggi-do 16419
Republic of Korea
EMail: dyhyun@skku.edu
Dongjin Hong
Department of Electronic, Electrical and Computer Engineering
Sungkyunkwan University
2066 Seo-ro Jangan-gu
Suwon, Gyeonggi-do 16419
Republic of Korea
EMail: dong.jin@skku.edu
Liang Xia
Huawei
101 Software Avenue
Nanjing, Jiangsu 210012
China
EMail: Frank.Xialiang@huawei.com
Jung-Soo Park
Electronics and Telecommunications Research Institute
218 Gajeong-Ro, Yuseong-Gu
Daejeon, 34129
Republic of Korea
EMail: pjs@etri.re.kr
Tae-Jin Ahn
Korea Telecom
70 Yuseong-Ro, Yuseong-Gu
Daejeon, 305-811
Republic of Korea
EMail: taejin.ahn@kt.com
Se-Hui Lee
Korea Telecom
70 Yuseong-Ro, Yuseong-Gu
Daejeon, 305-811
Republic of Korea
EMail: sehuilee@kt.com