draft-ietf-i2nsf-capability-data-model-12.txt | draft-ietf-i2nsf-capability-data-model-13.txt | |||
---|---|---|---|---|
I2NSF Working Group S. Hares, Ed. | I2NSF Working Group S. Hares, Ed. | |||
Internet-Draft Huawei | Internet-Draft Huawei | |||
Intended status: Standards Track J. Jeong, Ed. | Intended status: Standards Track J. Jeong, Ed. | |||
Expires: March 19, 2021 J. Kim | Expires: May 6, 2021 J. Kim | |||
Sungkyunkwan University | Sungkyunkwan University | |||
R. Moskowitz | R. Moskowitz | |||
HTT Consulting | HTT Consulting | |||
Q. Lin | Q. Lin | |||
Huawei | Huawei | |||
September 15, 2020 | November 2, 2020 | |||
I2NSF Capability YANG Data Model | I2NSF Capability YANG Data Model | |||
draft-ietf-i2nsf-capability-data-model-12 | draft-ietf-i2nsf-capability-data-model-13 | |||
Abstract | Abstract | |||
This document defines a YANG data model for the capabilities of | This document defines an information model and the corresponding YANG | |||
various Network Security Functions (NSFs) in the Interface to Network | data model for the capabilities of various Network Security Functions | |||
Security Functions (I2NSF) framework to centrally manage the | (NSFs) in the Interface to Network Security Functions (I2NSF) | |||
capabilities of the various NSFs. | framework to centrally manage the capabilities of the various NSFs. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on March 19, 2021. | This Internet-Draft will expire on May 6, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
3. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Capability Information Model Design . . . . . . . . . . . . . 4 | |||
4. YANG Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 6 | 3.1. Design Principles and ECA Policy Model Overview . . . . . 5 | |||
4.1. Network Security Function (NSF) Capabilities . . . . . . 6 | 3.2. Matched Policy Rule . . . . . . . . . . . . . . . . . . . 8 | |||
5. YANG Data Model of I2NSF NSF Capability . . . . . . . . . . . 9 | 3.3. Conflict, Resolution Strategy and Default Action . . . . 8 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 41 | 4. Overview of YANG Data Model . . . . . . . . . . . . . . . . . 10 | |||
7. Security Considerations . . . . . . . . . . . . . . . . . . . 41 | 5. YANG Tree Diagram . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 42 | 5.1. Network Security Function (NSF) Capabilities . . . . . . 12 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . 42 | 6. YANG Data Model of I2NSF NSF Capability . . . . . . . . . . . 15 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . 45 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 46 | |||
Appendix A. Configuration Examples . . . . . . . . . . . . . . . 47 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 47 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 47 | ||||
9.1. Normative References . . . . . . . . . . . . . . . . . . 47 | ||||
9.2. Informative References . . . . . . . . . . . . . . . . . 50 | ||||
Appendix A. Configuration Examples . . . . . . . . . . . . . . . 52 | ||||
A.1. Example 1: Registration for the Capabilities of a General | A.1. Example 1: Registration for the Capabilities of a General | |||
Firewall . . . . . . . . . . . . . . . . . . . . . . . . 47 | Firewall . . . . . . . . . . . . . . . . . . . . . . . . 52 | |||
A.2. Example 2: Registration for the Capabilities of a Time- | A.2. Example 2: Registration for the Capabilities of a Time- | |||
based Firewall . . . . . . . . . . . . . . . . . . . . . 49 | based Firewall . . . . . . . . . . . . . . . . . . . . . 54 | |||
A.3. Example 3: Registration for the Capabilities of a Web | A.3. Example 3: Registration for the Capabilities of a Web | |||
Filter . . . . . . . . . . . . . . . . . . . . . . . . . 50 | Filter . . . . . . . . . . . . . . . . . . . . . . . . . 55 | |||
A.4. Example 4: Registration for the Capabilities of a | A.4. Example 4: Registration for the Capabilities of a | |||
VoIP/VoLTE Filter . . . . . . . . . . . . . . . . . . . . 51 | VoIP/VoLTE Filter . . . . . . . . . . . . . . . . . . . . 56 | |||
A.5. Example 5: Registration for the Capabilities of a HTTP | A.5. Example 5: Registration for the Capabilities of a HTTP | |||
and HTTPS Flood Mitigator . . . . . . . . . . . . . . . . 52 | and HTTPS Flood Mitigator . . . . . . . . . . . . . . . . 57 | |||
Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 53 | Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 58 | |||
Appendix C. Contributors . . . . . . . . . . . . . . . . . . . . 54 | Appendix C. Contributors . . . . . . . . . . . . . . . . . . . . 59 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 61 | |||
1. Introduction | 1. Introduction | |||
As the industry becomes more sophisticated and network devices (e.g., | As the industry becomes more sophisticated and network devices (e.g., | |||
Internet of Things, Self-driving vehicles, and smartphone using Voice | Internet of Things, Self-driving vehicles, and smartphone using Voice | |||
over IP (VoIP) and Voice over LTE (VoLTE)), service providers have a | over IP (VoIP) and Voice over LTE (VoLTE)) requires advanced security | |||
lot of problems described in [RFC8192]. To resolve these problems, | protection in various scenario, service providers have a lot of | |||
[I-D.ietf-i2nsf-capability] specifies the information model of the | problems described in [RFC8192]. To resolve these problems, this | |||
capabilities of Network Security Functions (NSFs) in a framework of | document specifies the information and data model of the capabilities | |||
the Interface to Network Security Functions (I2NSF) [RFC8329]. | of Network Security Functions (NSFs) in a framework of the Interface | |||
to Network Security Functions (I2NSF) [RFC8329]. | ||||
This document provides a YANG data model [RFC6020][RFC7950] that | NSFs produced by multiple security vendors provide various security | |||
defines the capabilities of NSFs to centrally manage the capabilities | capabilities to customers. Multiple NSFs can be combined together to | |||
of those security devices. The security devices can register their | provide security services over the given network traffic, regardless | |||
own capabilities into a Network Operator Management (Mgmt) System | of whether the NSFs are implemented as physical or virtual functions. | |||
(i.e., Security Controller) with this YANG data model through the | Security Capabilities describe the functions that Network Security | |||
registration interface [RFC8329]. With the capabilities of those | Functions (NSFs) are available to provide for security policy | |||
security devices maintained centrally, those security devices can be | enforcement purposes. Security Capabilities are independent of the | |||
more easily managed [RFC8329]. This YANG data model is based on the | actual security control mechanisms that will implement them. | |||
information model for I2NSF NSF capabilities | ||||
[I-D.ietf-i2nsf-capability]. | Every NSF SHOULD be described with the set of capabilities it offers. | |||
Security Capabilities enable security functionality to be described | ||||
in a vendor-neutral manner. That is, it is not needed to refer to a | ||||
specific product or technology when designing the network; rather, | ||||
the functions characterized by their capabilities are considered. | ||||
Security Capabilities are a market enabler, providing a way to define | ||||
customized security protection by unambiguously describing the | ||||
security features offered by a given NSF. | ||||
This document provides an information model and the corresponding | ||||
YANG data model [RFC6020][RFC7950] 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 | ||||
[RFC8329]. With the database of the capabilities of those security | ||||
devices maintained centrally, those security devices can be more | ||||
easily managed [RFC8329]. | ||||
This YANG data model uses an "Event-Condition-Action" (ECA) policy | 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 | model that is used as the basis for the design of I2NSF Policy as | |||
described in [RFC8329] and [I-D.ietf-i2nsf-capability]. The "ietf- | described in [RFC8329] and Section 3.1. The "ietf-i2nsf-capability" | |||
i2nsf-capability" YANG module defined in this document provides the | YANG module defined in this document provides the following features: | |||
following features: | ||||
o Definition for general capabilities of network security functions. | o Definition for time capabilities of network security functions. | |||
o Definition for event capabilities of generic network security | o Definition for event capabilities of generic network security | |||
functions. | functions. | |||
o Definition for condition capabilities of generic network security | o Definition for condition capabilities of generic network security | |||
functions. | functions. | |||
o Definition for condition capabilities of advanced network security | o Definition for condition capabilities of advanced network security | |||
functions. | functions. | |||
skipping to change at page 3, line 46 ¶ | skipping to change at page 4, line 20 ¶ | |||
2. Terminology | 2. Terminology | |||
This document uses the terminology described in [RFC8329]. | This document uses the terminology described in [RFC8329]. | |||
This document follows the guidelines of [RFC8407], uses the common | This document follows the guidelines of [RFC8407], uses the common | |||
YANG types defined in [RFC6991], and adopts the Network Management | YANG types defined in [RFC6991], and adopts the Network Management | |||
Datastore Architecture (NMDA). The meaning of the symbols in tree | Datastore Architecture (NMDA). The meaning of the symbols in tree | |||
diagrams is defined in [RFC8340]. | diagrams is defined in [RFC8340]. | |||
3. Overview | 3. Capability Information Model Design | |||
A Capability Information Model (CapIM) is a formalization of the | ||||
functionality that an NSF advertises. This enables the precise | ||||
specification of what an NSF can do in terms of security policy | ||||
enforcement, so that computer-based tasks can unambiguously refer to, | ||||
use, configure, and manage NSFs. Capabilities MUST be defined in a | ||||
vendor- and technology-independent manner (e.g., regardless of the | ||||
differences among vendors and individual products). | ||||
Humans are able to refer to categories of security controls and | ||||
understand each other. For instance, security experts agree on what | ||||
is meant by the terms "NAT", "filtering", and "VPN concentrator". As | ||||
a further example, network security experts unequivocally refer to | ||||
"packet filters" as stateless devices able to allow or deny packet | ||||
forwarding based on various conditions (e.g., source and destination | ||||
IP addresses, source and destination ports, and IP protocol type | ||||
fields) [Alshaer]. | ||||
However, more information is required in case of other devices, like | ||||
stateful firewalls or application layer filters. These devices | ||||
filter packets or communications, but there are differences in the | ||||
packets and communications that they can categorize and the states | ||||
they maintain. Humans deal with these differences by asking more | ||||
questions to determine the specific category and functionality of the | ||||
device. Machines can follow a similar approach, which is commonly | ||||
referred to as question-answering [Hirschman] [Galitsky]. In this | ||||
context, the CapIM and the derived Data Models provide important and | ||||
rich information sources. | ||||
Analogous considerations can be applied for channel protection | ||||
protocols, where we all understand that they will protect packets by | ||||
means of symmetric algorithms whose keys could have been negotiated | ||||
with asymmetric cryptography, but they may work at different layers | ||||
and support different algorithms and protocols. To ensure | ||||
protection, these protocols apply integrity, optionally | ||||
confidentiality, anti-reply protections, and authenticate peers. | ||||
The CapIM is intended to clarify these ambiguities by providing a | ||||
formal description of NSF functionality. The set of functions that | ||||
are advertised MAY be restricted according to the privileges of the | ||||
user or application that is viewing those functions. I2NSF | ||||
Capabilities enable unambiguous specification of the security | ||||
capabilities available in a (virtualized) networking environment, and | ||||
their automatic processing by means of computer-based techniques. | ||||
This includes enabling the security controller to properly identify | ||||
and manage NSFs, and allow NSFs to properly declare their | ||||
functionality, so that they can be used in the correct way. | ||||
3.1. Design Principles and ECA Policy Model Overview | ||||
This document defines an information model for representing NSF | ||||
capabilities. Some basic design principles for security capabilities | ||||
and the systems that manage them are: | ||||
o Independence: each security capability SHOULD be an independent | ||||
function, with minimum overlap or dependency on other | ||||
capabilities. This enables each security capability to be | ||||
utilized and assembled together freely. More importantly, changes | ||||
to one capability SHOULD NOT affect other capabilities. This | ||||
follows the Single Responsibility Principle [Martin] [OODSRP]. | ||||
o Abstraction: each capability MUST be defined in a vendor- | ||||
independent manner. | ||||
o Advertisement: A dedicated, well-known interface MUST be used to | ||||
advertise and register the capabilities of each NSF. This same | ||||
interface MUST be used by other I2NSF Components to determine what | ||||
Capabilities are currently available to them. | ||||
o Execution: a dedicated, well-known interface MUST be used to | ||||
configure and monitor the use of a capability. This provides a | ||||
standardized ability to describe its functionality, and report its | ||||
processing results. This facilitates multi-vendor | ||||
interoperability. | ||||
o Automation: the system MUST have the ability to auto-discover, | ||||
auto-negotiate, and auto-update its security capabilities (i.e., | ||||
without human intervention). These features are especially useful | ||||
for the management of a large number of NSFs. They are essential | ||||
for adding smart services (e.g., refinement, analysis, capability | ||||
reasoning, and optimization) to the security scheme employed. | ||||
These features are supported by many design patterns, including | ||||
the Observer Pattern [OODOP], the Mediator Pattern [OODMP], and a | ||||
set of Message Exchange Patterns [Hohpe]. | ||||
o Scalability: the management system SHOULD have the capability to | ||||
scale up/down or scale in/out. Thus, it can meet various | ||||
performance requirements derived from changeable network traffic | ||||
or service requests. In addition, security capabilities that are | ||||
affected by scalability changes SHOULD support reporting | ||||
statistics to the security controller to assist its decision on | ||||
whether it needs to invoke scaling or not. | ||||
Based on the above principles, this document defines a capability | ||||
model that enables an NSF to register (and hence advertise) its set | ||||
of capabilities that other I2NSF Components can use. These | ||||
capabilities MAY have their access control restricted by policy; this | ||||
is out of scope for this document. The set of capabilities provided | ||||
by a given set of NSFs unambiguously define the security offered by | ||||
the set of NSFs used. The security controller can compare the | ||||
requirements of users and applications to the set of capabilities | ||||
that are currently available in order to choose which capabilities of | ||||
which NSFs are needed to meet those requirements. Note that this | ||||
choice is independent of vendor, and instead relies specifically on | ||||
the capabilities (i.e., the description) of the functions provided. | ||||
Furthermore, when an unknown threat (e.g., zero-day exploits and | ||||
unknown malware) is reported by an NSF, new capabilities may be | ||||
created, and/or existing capabilities may be updated (e.g., by | ||||
updating its signature and algorithm). This results in enhancing the | ||||
existing NSFs (and/or creating new NSFs) to address the new threats. | ||||
New capabilities may be sent to and stored in a centralized | ||||
repository, or stored separately in a vendor's local repository. In | ||||
either case, a standard interface facilitates the update process. | ||||
This document specifies a metadata model that MAY be used to further | ||||
describe and/or prescribe the characteristics and behavior of the | ||||
I2NSF capability model. For example, in this case, metadata could be | ||||
used to describe the updating of the capability, and prescribe the | ||||
particular version that an implementation should use. This initial | ||||
version of the model covers and has been validated to describe NSFs | ||||
that are designed with a set of capabilities (which covers most of | ||||
the existing NSFs). Checking the behavior of the model with systems | ||||
that change capabilities dynamically at runtime has been extensively | ||||
explored (e.g., impact on automatic registration). | ||||
The "Event-Condition-Action" (ECA) policy model in [RFC8329] is used | ||||
as the basis for the design of the capability model; definitions of | ||||
all I2NSF policy-related terms are also defined in | ||||
[I-D.ietf-i2nsf-terminology]. The following three terms define the | ||||
structure and behavior of an I2NSF imperative policy rule: | ||||
o 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. When used in the context of I2NSF | ||||
Policy Rules, it is used to determine whether the Condition clause | ||||
of the I2NSF Policy Rule can be evaluated or not. Examples of an | ||||
I2NSF Event include time and user actions (e.g., logon, logoff, | ||||
and actions that violate an ACL). | ||||
o Condition: A condition is defined as 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 or not. Examples of I2NSF Conditions | ||||
include matching attributes of a packet or flow, and comparing the | ||||
internal state of an NSF to a desired state. | ||||
o Action: An action is used to control and monitor aspects of flow- | ||||
based NSFs when the event and condition clauses are satisfied. | ||||
NSFs provide security functions by executing various Actions. | ||||
Examples of I2NSF Actions include providing intrusion detection | ||||
and/or protection, web and flow filtering, and deep packet | ||||
inspection for packets and flows. | ||||
An I2NSF Policy Rule is made up of three Boolean clauses: an Event | ||||
clause, a Condition clause, and an Action clause. This structure is | ||||
also called an ECA (Event-Condition-Action) Policy Rule. A Boolean | ||||
clause is a logical statement that evaluates to either TRUE or FALSE. | ||||
It may be made up of one or more terms; if more than one term is | ||||
present, then each term in the Boolean clause is combined using | ||||
logical connectives (i.e., AND, OR, and NOT). | ||||
An I2NSF ECA Policy Rule has the following semantics: | ||||
IF <event-clause> is TRUE | ||||
IF <condition-clause> is TRUE | ||||
THEN execute <action-clause> [constrained by metadata] | ||||
END-IF | ||||
END-IF | ||||
Technically, the "Policy Rule" is really a container that aggregates | ||||
the above three clauses, as well as metadata. Aggregating metadata | ||||
enables business logic to be used to prescribe behavior. For | ||||
example, suppose a particular ECA Policy Rule contains three actions | ||||
(A1, A2, and A3, in that order). Action A2 has a priority of 10; | ||||
actions A1 and A3 have no priority specified. Then, metadata may be | ||||
used to restrict the set of actions that can be executed when the | ||||
event and condition clauses of this ECA Policy Rule are evaluated to | ||||
be TRUE; two examples are: (1) only the first action (A1) is | ||||
executed, and then the policy rule returns to its caller, or (2) all | ||||
actions are executed, starting with the highest priority. | ||||
The above ECA policy model is very general and easily extensible. | ||||
3.2. Matched Policy Rule | ||||
The concept of a "matched" policy rule is defined as one in which its | ||||
event and condition clauses both evaluate to true. To precisely | ||||
describe what an NSF can do in terms of security, the things need to | ||||
describe are the events it can catch, the conditions it can evaluate, | ||||
and the actions it can enforce. | ||||
Therefore, the properties that to characterize the capabilities of a | ||||
NSF are as below: | ||||
o Ac is the set of Actions currently available from the NSF; | ||||
o Ec is the set of Events that an NSF can catch. Note that for NSF | ||||
(e.g., a packet filter) that are not able to react to events, this | ||||
set will be empty; | ||||
o Cc is the set of Conditions currently available from the NSF; | ||||
o EVc defines the set of Condition Clause Evaluation Rules that can | ||||
be used at the NSF to decide when the Condition Clause is true | ||||
given the result of the evaluation of the individual Conditions. | ||||
3.3. Conflict, Resolution Strategy and Default Action | ||||
Formally, two I2NSF Policy Rules conflict with each other if: | ||||
o the Event Clauses of each evaluate to TRUE; | ||||
o the Condition Clauses of each evaluate to TRUE; | ||||
o the Action Clauses affect the same object in different ways. | ||||
For example, if we have two Policy Rules in the same Policy: | ||||
R1: During 8am-6pm, if traffic is external, then run through FW | ||||
R2: During 7am-8pm, conduct anti-malware investigation | ||||
There is no conflict between R1 and R2, since the actions are | ||||
different. However, consider these two rules: | ||||
R3: During 8am-6pm, John gets GoldService | ||||
R4: During 10am-4pm, FTP from all users gets BronzeService | ||||
R3 and R4 are now in conflict, between the hours of 10am and 4pm, | ||||
because the actions of R3 and R4 are different and apply to the same | ||||
user (i.e., John). | ||||
Conflicts theoretically compromise the correct functioning of devices | ||||
(as happened for routers several year ago). However, NSFs have been | ||||
designed to cope with these issues. Since conflicts are originated | ||||
by simultaneously matching rules, an additional process decides the | ||||
action to be applied, e.g., among the ones the matching rule would | ||||
have enforced. This process is described by means of a resolution | ||||
strategy | ||||
On the other hand, it may happen that, if an event is caught, none of | ||||
the policy rules matches. As a simple case, no rules may match a | ||||
packet arriving at border firewall. In this case, the packet is | ||||
usually dropped, that is, the firewall has a default behavior to | ||||
manage cases that are not covered by specific rules. | ||||
Therefore, we introduce another security capability that serves to | ||||
characterize valid policies for an NSF that solve conflicts with | ||||
resolution strategies and enforce default actions if no rules match: | ||||
o RSc is the set of Resolution Strategy that can be used to specify | ||||
how to resolve conflicts that occur between the actions of the | ||||
same or different policy rules that are matched and contained in | ||||
this particular NSF; | ||||
o Dc defines the notion of a Default action. This action can be | ||||
either an explicit action that has been chosen {a}, or a set of | ||||
actions {F}, where F is a dummy symbol (i.e., a placeholder value) | ||||
that can be used to indicate that the default action can be freely | ||||
selected by the policy editor. This is denoted as {F} U {a}. | ||||
4. Overview of YANG Data Model | ||||
This section provides as overview of how the YANG data model can be | This section provides as overview of how the YANG data model can be | |||
used in the I2NSF framework described in [RFC8329]. Figure 1 shows | used in the I2NSF framework described in [RFC8329]. Figure 1 shows | |||
the capabilities (e.g., firewall and web filter) of NSFs in the I2NSF | the capabilities (e.g., firewall and web filter) of NSFs in the I2NSF | |||
Framework. As shown in this figure, an NSF Developer's Management | Framework. As shown in this figure, an NSF Developer's Management | |||
System can register NSFs and the capabilities that the network | System can register NSFs and the capabilities that the network | |||
security device can support. To register NSFs in this way, the | security devices can support. To register NSFs in this way, the | |||
Developer's Management System utilizes this standardized capability | Developer's Management System utilizes this standardized capability | |||
YANG data model through the I2NSF Registration Interface [RFC8329]. | YANG data model through the I2NSF Registration Interface [RFC8329]. | |||
That is, this Registration Interface uses the YANG module described | That is, this Registration Interface uses the YANG module described | |||
in this document to describe the capability of a network security | in this document to describe the capabilities of a network security | |||
function that is registered with the Security Controller. With the | function that is registered with the Security Controller. With the | |||
capabilities of those network security devices maintained centrally, | capabilities of those network security devices maintained centrally, | |||
those security devices can be more easily managed, which can resolve | those security devices can be more easily managed, which can resolve | |||
many of the problems described in [RFC8192]. | many of the problems described in [RFC8192]. | |||
In Figure 1, a new NSF at a Developer's Management Systems has | In Figure 1, a new NSF at a Developer's Management Systems has | |||
capabilities of Firewall (FW) and Web Filter (WF), which are denoted | capabilities of Firewall (FW) and Web Filter (WF), which are denoted | |||
as (Cap = {FW, WF}), to support Event-Condition-Action (ECA) policy | as (Cap = {FW, WF}), to support Event-Condition-Action (ECA) policy | |||
rules where 'E', 'C', and 'A' mean "Event", "Condition", and | rules where 'E', 'C', and 'A' mean "Event", "Condition", and | |||
"Action", respectively. The condition involves IPv4 or IPv6 | "Action", respectively. The condition involves IPv4 or IPv6 | |||
datagrams, and the action includes "Allow" and "Deny" for those | datagrams, and the action includes "Allow" and "Deny" for those | |||
datagrams. | datagrams. | |||
Note that the NSF-Facing Interface [RFC8329] is used to configure the | Note that the NSF-Facing Interface [RFC8329] is used to configure the | |||
security policy rules of the generic network security functions, and | security policy rules of the generic network security functions, and | |||
The configuration of advanced security functions over the NSF-Facing | the configuration of advanced security functions over the NSF-Facing | |||
Interface is used to configure the security policy rules of advanced | Interface is used to configure the security policy rules of advanced | |||
network security functions (e.g., anti-virus and Distributed-Denial- | network security functions (e.g., anti-virus and Distributed-Denial- | |||
of-Service (DDoS) attack mitigator), respectively, according to the | of-Service (DDoS) attack mitigator), respectively, according to the | |||
capabilities of NSFs registered with the I2NSF Framework. | capabilities of NSFs registered with the I2NSF Framework. | |||
+------------------------------------------------------+ | +------------------------------------------------------+ | |||
| I2NSF User (e.g., Overlay Network Mgmt, Enterprise | | | I2NSF User (e.g., Overlay Network Mgmt, Enterprise | | |||
| Network Mgmt, another network domain's mgmt, etc.) | | | Network Mgmt, another network domain's mgmt, etc.) | | |||
+--------------------+---------------------------------+ | +--------------------+---------------------------------+ | |||
I2NSF ^ | I2NSF ^ | |||
skipping to change at page 5, line 47 ¶ | skipping to change at page 11, line 47 ¶ | |||
A use case of an NSF with the capabilities of firewall and web filter | A use case of an NSF with the capabilities of firewall and web filter | |||
is described as follows. | is described as follows. | |||
o If a network manager wants to apply security policy rules to block | o If a network manager wants to apply security policy rules to block | |||
malicious users with firewall and web filter, it is a tremendous | malicious users with firewall and web filter, it is a tremendous | |||
burden for a network administrator to apply all of the needed | burden for a network administrator to apply all of the needed | |||
rules to NSFs one by one. This problem can be resolved by | rules to NSFs one by one. This problem can be resolved by | |||
managing the capabilities of NSFs in this document. | managing the capabilities of NSFs in this document. | |||
o If a network administrator wants to block malicious users for IPv6 | o If a network administrator wants to block malicious users for IPv4 | |||
traffic, he sends a security policy rule to block the users to the | or IPv6 traffic, he sends a security policy rule to block the | |||
Network Operator Management System using the I2NSF User (i.e., web | users to the Network Operator Management System using the I2NSF | |||
application). | Consumer-Facing Interface. | |||
o When the Network Operator Management System receives the security | o When the Network Operator Management System receives the security | |||
policy rule, it automatically sends that security policy rules to | policy rule, it automatically sends that security policy rules to | |||
appropriate NSFs (i.e., NSF-m in Developer's Management System A | appropriate NSFs (i.e., NSF-m in Developer's Management System A | |||
and NSF-1 in Developer's Management System B) which can support | and NSF-1 in Developer's Management System B) which can support | |||
the capabilities (i.e., IPv6). This lets an I2NSF User not | the capabilities (i.e., IPv6). This lets an I2NSF User not | |||
consider NSFs where the rule is applied. | consider NSFs where the rule is applied. | |||
o If NSFs encounter the suspicious IPv6 packets of malicious users, | o If NSFs encounter the suspicious IPv4 or IPv6 packets of malicious | |||
they can filter the packets out according to the configured | users, they can filter the packets out according to the configured | |||
security policy rule. Therefore, the security policy rule against | security policy rule. Therefore, the security policy rule against | |||
the malicious users' packets can be automatically applied to | the malicious users' packets can be automatically applied to | |||
appropriate NSFs without human intervention. | appropriate NSFs without human intervention. | |||
4. YANG Tree Diagram | 5. YANG Tree Diagram | |||
This section shows a YANG tree diagram of capabilities of network | This section shows a YANG tree diagram of capabilities of network | |||
security functions, as defined in the [I-D.ietf-i2nsf-capability]. | security functions, as defined in the Section 3. | |||
4.1. Network Security Function (NSF) Capabilities | 5.1. Network Security Function (NSF) Capabilities | |||
This section explains a YANG tree diagram of NSF capabilities and its | This section explains a YANG tree diagram of NSF capabilities and its | |||
features. Figure 2 shows a YANG tree diagram of NSF capabilities. | features. Figure 2 shows a YANG tree diagram of NSF capabilities. | |||
The NSF capabilities in the tree include time capabilities, event | The NSF capabilities in the tree include time capabilities, event | |||
capabilities, condition capabilities, action capabilities, resolution | capabilities, condition capabilities, action capabilities, resolution | |||
strategy capabilities, and default action capabilities. Those | strategy capabilities, and default action capabilities. Those | |||
capabilities can be tailored or extended according to a vendor's | capabilities can be tailored or extended according to a vendor's | |||
specific requirements. Refer to the NSF capabilities information | specific requirements. Refer to the NSF capabilities information | |||
model for detailed discussion [I-D.ietf-i2nsf-capability]. | model for detailed discussion Section 3. | |||
module: ietf-i2nsf-capability | module: ietf-i2nsf-capability | |||
+--rw nsf* [nsf-name] | +--rw nsf* [nsf-name] | |||
+--rw nsf-name string | +--rw nsf-name string | |||
+--rw time-capabilities* enumeration | +--rw time-capabilities* enumeration | |||
+--rw event-capabilities | +--rw event-capabilities | |||
| +--rw system-event-capability* identityref | | +--rw system-event-capability* identityref | |||
| +--rw system-alarm-capability* identityref | | +--rw system-alarm-capability* identityref | |||
+--rw condition-capabilities | +--rw condition-capabilities | |||
| +--rw generic-nsf-capabilities | | +--rw generic-nsf-capabilities | |||
| | +--rw ipv4-capability* identityref | | | +--rw ipv4-capability* identityref | |||
| | +--rw icmp-capability* identityref | | | +--rw icmp-capability* identityref | |||
| | +--rw ipv6-capability* identityref | | | +--rw ipv6-capability* identityref | |||
| | +--rw icmpv6-capability* identityref | | | +--rw icmpv6-capability* identityref | |||
| | +--rw tcp-capability* identityref | | | +--rw tcp-capability* identityref | |||
| | +--rw udp-capability* identityref | | | +--rw udp-capability* identityref | |||
| | +--rw sctp-capability* identityref | ||||
| +--rw advanced-nsf-capabilities | | +--rw advanced-nsf-capabilities | |||
| | +--rw anti-virus-capability* identityref | | | +--rw anti-virus-capability* identityref | |||
| | +--rw anti-ddos-capability* identityref | | | +--rw anti-ddos-capability* identityref | |||
| | +--rw ips-capability* identityref | | | +--rw ips-capability* identityref | |||
| | +--rw url-capability* identityref | | | +--rw url-capability* identityref | |||
| | +--rw voip-volte-capability* identityref | | | +--rw voip-volte-capability* identityref | |||
| +--rw context-capabilities* identityref | | +--rw context-capabilities* identityref | |||
+--rw action-capabilities | +--rw action-capabilities | |||
| +--rw ingress-action-capability* identityref | | +--rw ingress-action-capability* identityref | |||
| +--rw egress-action-capability* identityref | | +--rw egress-action-capability* identityref | |||
skipping to change at page 7, line 42 ¶ | skipping to change at page 13, line 43 ¶ | |||
+--rw default-action-capabilities* identityref | +--rw default-action-capabilities* identityref | |||
+--rw ipsec-method* identityref | +--rw ipsec-method* identityref | |||
Figure 2: YANG Tree Diagram of Capabilities of Network Security | Figure 2: YANG Tree Diagram of Capabilities of Network Security | |||
Functions | Functions | |||
Time capabilities are used to specify the capabilities which describe | Time capabilities are used to specify the capabilities which describe | |||
when to execute the I2NSF policy rule. The time capabilities are | when to execute the I2NSF policy rule. The time capabilities are | |||
defined in terms of absolute time and periodic time. The absolute | defined in terms of absolute time and periodic time. The absolute | |||
time means the exact time to start or end. The periodic time means | 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 | repeated time like day, week, or month.. | |||
(Capability Algebra) in [I-D.ietf-i2nsf-capability] 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 | Event capabilities are used to specify the capabilities that describe | |||
the event that would trigger the evaluation of the condition clause | the event that would trigger the evaluation of the condition clause | |||
of the I2NSF Policy Rule. The defined event capabilities are system | of the I2NSF Policy Rule. The defined event capabilities are system | |||
event and system alarm. See Section 3.1 (Design Principles and ECA | event and system alarm. | |||
Policy Model Overview) in [I-D.ietf-i2nsf-capability] for more | ||||
information about the event in the ECA policy model. | ||||
Condition capabilities are used to specify capabilities of a set of | Condition capabilities are used to specify capabilities of a set of | |||
attributes, features, and/or values that are to be compared with a | attributes, features, and/or values that are to be compared with a | |||
set of known attributes, features, and/or values in order to | set of known attributes, features, and/or values in order to | |||
determine whether or not the set of actions in that (imperative) | determine whether or not the set of actions in that (imperative) | |||
I2NSF policy rule can be executed. The condition capabilities are | I2NSF policy rule can be executed. The condition capabilities are | |||
classified in terms of generic network security functions and | classified in terms of generic network security functions and | |||
advanced network security functions. The condition capabilities of | advanced network security functions. The condition capabilities of | |||
generic network security functions are defined as IPv4 capability, | generic network security functions are defined as IPv4 capability, | |||
IPv6 capability, TCP capability, UDP capability, and ICMP capability. | IPv6 capability, TCP capability, UDP capability, SCTP capability and | |||
The condition capabilities of advanced network security functions are | ICMP capability. The condition capabilities of advanced network | |||
defined as anti-virus capability, anti-DDoS capability, Intrusion | security functions are defined as anti-virus capability, anti-DDoS | |||
Prevention System (IPS) capability, HTTP capability, and VoIP/VoLTE | capability, Intrusion Prevention System (IPS) capability, HTTP | |||
capability. See Section 3.1 (Design Principles and ECA Policy Model | capability, and VoIP/VoLTE capability. See Section 3.1 for more | |||
Overview) in [I-D.ietf-i2nsf-capability] for more information about | information about the condition in the ECA policy model. | |||
the condition in the ECA policy model. Also, see Section 3.4.3 | ||||
(I2NSF Condition Clause Operator Types) in | ||||
[I-D.ietf-i2nsf-capability] for more information about the operator | ||||
types in an I2NSF condition clause. | ||||
Action capabilities are used to specify the capabilities that | Action capabilities are used to specify the capabilities that | |||
describe the control and monitoring aspects of flow-based NSFs when | describe the control and monitoring aspects of flow-based NSFs when | |||
the event and condition clauses are satisfied. The action | the event and condition clauses are satisfied. The action | |||
capabilities are defined as ingress-action capability, egress-action | capabilities are defined as ingress-action capability, egress-action | |||
capability, and log-action capability. See Section 3.1 (Design | capability, and log-action capability. See Section 3.1 for more | |||
Principles and ECA Policy Model Overview) in | information about the action in the ECA policy model. Also, see | |||
[I-D.ietf-i2nsf-capability] for more information about the action in | Section 7.2 (NSF-Facing Flow Security Policy Structure) in [RFC8329] | |||
the ECA policy model. Also, see Section 7.2 (NSF-Facing Flow | for more information about the ingress and egress actions. In | |||
Security Policy Structure) in [RFC8329] for more information about | addition, see Section 9.1 (Flow-Based NSF Capability | |||
the ingress and egress actions. In addition, see Section 9.1 (Flow- | Characterization) in [RFC8329] for more information about logging at | |||
Based NSF Capability Characterization) for more information about | NSFs. | |||
logging at NSFs. | ||||
Resolution strategy capabilities are used to specify the capabilities | Resolution strategy capabilities are used to specify the capabilities | |||
that describe conflicts that occur between the actions of the same or | that describe conflicts that occur between the actions of the same or | |||
different policy rules that are matched and contained in this | different policy rules that are matched and contained in this | |||
particular NSF. The resolution strategy capabilities are defined as | particular NSF. The resolution strategy capabilities are defined as | |||
First Matching Rule (FMR), Last Matching Rule (LMR), Prioritized | First Matching Rule (FMR), Last Matching Rule (LMR), Prioritized | |||
Matching Rule (PMR), Prioritized Matching Rule with Errors (PMRE), | Matching Rule (PMR), Prioritized Matching Rule with Errors (PMRE), | |||
and Prioritized Matching Rule with No Errors (PMRN). See | and Prioritized Matching Rule with No Errors (PMRN). See Section 3.3 | |||
Section 3.4.2 (Conflict, Resolution Strategy and Default Action) in | for more information about the resolution strategy. | |||
[I-D.ietf-i2nsf-capability] for more information about the resolution | ||||
strategy. | ||||
Default action capabilities are used to specify the capabilities that | Default action capabilities are used to specify the capabilities that | |||
describe how to execute I2NSF policy rules when no rule matches a | describe how to execute I2NSF policy rules when no rule matches a | |||
packet. The default action capabilities are defined as pass, drop, | packet. The default action capabilities are defined as pass, drop, | |||
alert, and mirror. See Section 3.4.2 (Conflict, Resolution Strategy | alert, and mirror. See Section 3.3 for more information about the | |||
and Default Action) in [I-D.ietf-i2nsf-capability] for more | default action. | |||
information about the default action. | ||||
IPsec method capabilities are used to specify capabilities of how to | IPsec method capabilities are used to specify capabilities of how to | |||
support an Internet Key Exchange (IKE) [RFC7296] for the security | support an Internet Key Exchange (IKE) [RFC7296] for the security | |||
communication. The default action capabilities are defined as IKE or | communication. The default action capabilities are defined as IKE or | |||
IKE-less. See [I-D.ietf-i2nsf-sdn-ipsec-flow-protection] for more | IKE-less. See [I-D.ietf-i2nsf-sdn-ipsec-flow-protection] for more | |||
information about the SDN-based IPsec flow protection in I2NSF. | information about the SDN-based IPsec flow protection in I2NSF. | |||
5. YANG Data Model of I2NSF NSF Capability | 6. YANG Data Model of I2NSF NSF Capability | |||
This section introduces a YANG module for NSFs' capabilities, as | This section introduces a YANG module for NSFs' capabilities, as | |||
defined in the [I-D.ietf-i2nsf-capability]. | defined in the Section 3. | |||
This YANG module imports from [RFC6991]. It makes references to [RFC | This YANG module imports from [RFC6991]. It makes references to [RFC | |||
0768][IANA-Protocol-Numbers][RFC0791][RFC0792][RFC0793][RFC3261][RFC4 | 0768][IANA-Protocol-Numbers][RFC0791][RFC0792][RFC0793][RFC3261][RFC4 | |||
443][RFC8200][RFC8329][I-D.ietf-i2nsf-capability][I-D.ietf-i2nsf-nsf- | 443][RFC4960][RFC8200][RFC8329][I-D.ietf-i2nsf-nsf-monitoring-data-mo | |||
monitoring-data-model][I-D.ietf-i2nsf-sdn-ipsec-flow-protection]. | del][I-D.ietf-i2nsf-sdn-ipsec-flow-protection]. | |||
<CODE BEGINS> file "ietf-i2nsf-capability@2020-09-15.yang" | ||||
module ietf-i2nsf-capability { | ||||
yang-version 1.1; | ||||
namespace | ||||
"urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"; | ||||
prefix | ||||
nsfcap; | ||||
organization | ||||
"IETF I2NSF (Interface to Network Security Functions) | ||||
Working Group"; | ||||
contact | ||||
"WG Web: <http://tools.ietf.org/wg/i2nsf> | ||||
WG List: <mailto:i2nsf@ietf.org> | ||||
Editor: Jaehoon Paul Jeong | <CODE BEGINS> file "ietf-i2nsf-capability@2020-11-02.yang" | |||
<mailto:pauljeong@skku.edu> | ||||
Editor: Jinyong Tim Kim | module ietf-i2nsf-capability { | |||
<mailto:timkim@skku.edu> | yang-version 1.1; | |||
namespace | ||||
"urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"; | ||||
prefix | ||||
nsfcap; | ||||
Editor: Susan Hares | organization | |||
<mailto:shares@ndzh.com>"; | "IETF I2NSF (Interface to Network Security Functions) | |||
Working Group"; | ||||
description | contact | |||
"This module is a YANG module for I2NSF Network Security | "WG Web: <http://tools.ietf.org/wg/i2nsf> | |||
Functions (NSFs)'s Capabilities. | WG List: <mailto:i2nsf@ietf.org> | |||
Copyright (c) 2020 IETF Trust and the persons identified as | Editor: Jaehoon Paul Jeong | |||
authors of the code. All rights reserved. | <mailto:pauljeong@skku.edu> | |||
Redistribution and use in source and binary forms, with or | Editor: Jinyong Tim Kim | |||
without modification, is permitted pursuant to, and subject | <mailto:timkim@skku.edu> | |||
to the license terms contained in, the Simplified BSD License | ||||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of RFC XXXX; see | Editor: Susan Hares | |||
the RFC itself for full legal notices."; | <mailto:shares@ndzh.com>"; | |||
// RFC Ed.: replace XXXX with an actual RFC number and remove | description | |||
// this note. | "This module is a YANG module for I2NSF Network Security | |||
Functions (NSFs)'s Capabilities. | ||||
revision "2020-09-15"{ | Copyright (c) 2020 IETF Trust and the persons identified as | |||
description "Initial revision."; | authors of the code. All rights reserved. | |||
reference | ||||
"RFC XXXX: I2NSF Capability YANG Data Model"; | ||||
// RFC Ed.: replace XXXX with an actual RFC number and remove | Redistribution and use in source and binary forms, with or | |||
// this note. | without modification, is permitted pursuant to, and subject | |||
} | to the license terms contained in, the Simplified BSD License | |||
set forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
http://trustee.ietf.org/license-info). | ||||
/* | This version of this YANG module is part of RFC XXXX; see | |||
* Identities | the RFC itself for full legal notices."; | |||
*/ | ||||
identity event { | // RFC Ed.: replace XXXX with an actual RFC number and remove | |||
description | // this note. | |||
"Base identity for I2NSF policy events."; | ||||
reference | ||||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | ||||
Monitoring YANG Data Model - Event"; | ||||
// RFC Ed.: replace the above draft with an actual RFC in the | revision "2020-11-02"{ | |||
// YANG module and remove this note. | description "Initial revision."; | |||
} | reference | |||
"RFC XXXX: I2NSF Capability YANG Data Model"; | ||||
identity system-event-capability { | // RFC Ed.: replace XXXX with an actual RFC number and remove | |||
base event; | // this note. | |||
description | } | |||
"Identity for system event"; | ||||
reference | /* | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | * Identities | |||
Monitoring YANG Data Model - System event"; | */ | |||
} | ||||
identity system-alarm-capability { | identity event { | |||
base event; | description | |||
description | "Base identity for I2NSF events."; | |||
"Identity for system alarm"; | reference | |||
reference | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | Monitoring YANG Data Model - Event"; | |||
Monitoring YANG Data Model - System alarm"; | ||||
} | ||||
identity access-violation { | // RFC Ed.: replace the above draft with an actual RFC in the | |||
base system-event-capability; | // YANG module and remove this note. | |||
description | } | |||
"Identity for access violation event"; | ||||
reference | ||||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | ||||
Monitoring YANG Data Model - System event for access | ||||
violation"; | ||||
} | ||||
identity configuration-change { | identity system-event-capability { | |||
base system-event-capability; | base event; | |||
description | description | |||
"Identity for configuration change event"; | "Identity for system event"; | |||
reference | reference | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
Monitoring YANG Data Model - System event for configuration | Monitoring YANG Data Model - System event"; | |||
change"; | } | |||
} | ||||
identity memory-alarm { | identity system-alarm-capability { | |||
base system-alarm-capability; | base event; | |||
description | description | |||
"Identity for memory alarm"; | "Identity for system alarm"; | |||
reference | reference | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
Monitoring YANG Data Model - System alarm for memory"; | Monitoring YANG Data Model - System alarm"; | |||
} | } | |||
identity cpu-alarm { | identity access-violation { | |||
base system-alarm-capability; | base system-event-capability; | |||
description | description | |||
"Identity for CPU alarm"; | "Identity for access violation event"; | |||
reference | reference | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
Monitoring YANG Data Model - System alarm for CPU"; | Monitoring YANG Data Model - System event for access | |||
} | violation"; | |||
} | ||||
identity disk-alarm { | identity configuration-change { | |||
base system-alarm-capability; | base system-event-capability; | |||
description | description | |||
"Identity for disk alarm"; | "Identity for configuration change event"; | |||
reference | reference | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
Monitoring YANG Data Model - System alarm for disk"; | Monitoring YANG Data Model - System event for configuration | |||
} | change"; | |||
} | ||||
identity hardware-alarm { | identity memory-alarm { | |||
base system-alarm-capability; | base system-alarm-capability; | |||
description | description | |||
"Identity for hardware alarm"; | "Identity for memory alarm. Alarm when memory usage | |||
reference | exceed the threshold."; | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | reference | |||
Monitoring YANG Data Model - System alarm for hardware"; | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
} | Monitoring YANG Data Model - System alarm for memory"; | |||
} | ||||
identity interface-alarm { | identity cpu-alarm { | |||
base system-alarm-capability; | base system-alarm-capability; | |||
description | description | |||
"Identity for interface alarm"; | "Identity for CPU alarm. Alarm when CPU usage | |||
reference | exceed the threshold."; | |||
"draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | reference | |||
Monitoring YANG Data Model - System alarm for interface"; | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
} | Monitoring YANG Data Model - System alarm for CPU"; | |||
} | ||||
identity condition { | identity disk-alarm { | |||
description | base system-alarm-capability; | |||
"Base identity for policy conditions"; | description | |||
} | "Identity for disk alarm. Alarm when disk usage | |||
exceed the threshold."; | ||||
identity context-capability { | reference | |||
base condition; | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
description | Monitoring YANG Data Model - System alarm for disk"; | |||
"Identity for context condition capabilities for an NSF"; | } | |||
reference | ||||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | ||||
Capabilities - The operating context of an NSF."; | ||||
} | ||||
identity access-control-list { | identity hardware-alarm { | |||
base context-capability; | base system-alarm-capability; | |||
description | description | |||
"Identity for Access Control List (ACL) condition capability"; | "Identity for hardware alarm. Alarm when a hardware failure | |||
reference | occur."; | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | reference | |||
Capabilities - The context of an NSF. | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
RFC 8519: YANG Data Model for Network Access Control Lists | Monitoring YANG Data Model - System alarm for hardware"; | |||
(ACLs) - A user-ordered set of rules used to configure the | } | |||
forwarding behavior in an NSF."; | ||||
} | ||||
identity application-layer-filter { | identity interface-alarm { | |||
base context-capability; | base system-alarm-capability; | |||
description | description | |||
"Identity for application-layer-filter condition capability"; | "Identity for interface alarm"; | |||
reference | reference | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | "draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF NSF | |||
Capabilities - An application-layer filtering (e.g., web | Monitoring YANG Data Model - System alarm for interface"; | |||
filter) as an NSF."; | } | |||
} | ||||
identity target { | identity condition { | |||
base context-capability; | description | |||
description | "Base identity for I2NSF conditions"; | |||
"Identity for target condition capability"; | } | |||
reference | ||||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | ||||
Capabilities - A target (or destination) of a policy rule | ||||
to be applied by an NSF. | ||||
RFC 8519: YANG Data Model for Network Access Control Lists | ||||
(ACLs) - An access control for a target (e.g., the | ||||
corresponding IP address) in an NSF."; | ||||
} | ||||
identity user { | identity context-capability { | |||
base context-capability; | base condition; | |||
description | description | |||
"Identity for user condition capability"; | "Base identity for context condition capabilities for an NSF."; | |||
reference | } | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | ||||
Capabilities - A user in an application of a policy rule | ||||
to be applied by an NSF. | ||||
RFC 8519: YANG Data Model for Network Access Control Lists | ||||
(ACLs) - An access control for a user (e.g., the | ||||
corresponding IP address) in an NSF."; | ||||
} | ||||
identity group { | identity access-control-list { | |||
base context-capability; | base context-capability; | |||
description | description | |||
"Identity for group condition capability"; | "Identity for Access Control List (ACL) condition capability"; | |||
reference | reference | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | "RFC 8519: YANG Data Model for Network Access Control Lists | |||
Capabilities - A group (i.e., a set of users) in an | (ACLs) - A user-ordered set of rules used to configure the | |||
application of a policy rule to be applied by an NSF. | forwarding behavior in an NSF."; | |||
RFC 8519: YANG Data Model for Network Access Control Lists | } | |||
(ACLs) - An access control for a group (e.g., the | ||||
corresponding IP address) in an NSF."; | ||||
} | ||||
identity geography { | identity application-layer-filter { | |||
base context-capability; | base context-capability; | |||
description | description | |||
"Identity for geography condition capability"; | "Identity for application-layer-filter condition capability"; | |||
reference | } | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | ||||
Capabilities - A group (i.e., a set of users) in an | ||||
application of a policy rule to be applied by an NSF. | ||||
RFC 8519: YANG Data Model for Network Access Control Lists | ||||
(ACLs) - An access control for a geographical location | ||||
i.e., geolocation (e.g., the corresponding IP address) in | ||||
an NSF. | ||||
RFC 8805: A Format for Self-Published IP Geolocation Feeds | ||||
- An IP address with geolocation information."; | ||||
} | ||||
identity ipv4-capability { | identity target { | |||
base condition; | base context-capability; | |||
description | description | |||
"Identity for IPv4 condition capability"; | "Identity for target condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol"; | "RFC 8519: YANG Data Model for Network Access Control Lists | |||
} | (ACLs) - An access control for a target (e.g., the | |||
corresponding IP address) in an NSF."; | ||||
} | ||||
identity exact-ipv4-header-length { | identity user { | |||
base ipv4-capability; | base context-capability; | |||
description | description | |||
"Identity for exact-match IPv4 header-length | "Identity for user condition capability"; | |||
condition capability"; | reference | |||
reference | "RFC 8519: YANG Data Model for Network Access Control Lists | |||
"RFC 791: Internet Protocol - Header Length"; | (ACLs) - An access control for a user (e.g., the | |||
} | corresponding IP address) in an NSF."; | |||
} | ||||
identity range-ipv4-header-length { | identity group { | |||
base ipv4-capability; | base context-capability; | |||
description | description | |||
"Identity for range-match IPv4 header-length | "Identity for group condition capability"; | |||
condition capability"; | reference | |||
"RFC 8519: YANG Data Model for Network Access Control Lists | ||||
(ACLs) - An access control for a group (e.g., the | ||||
corresponding IP addresses) in an NSF."; | ||||
} | ||||
reference | identity geography { | |||
"RFC 791: Internet Protocol - Header Length"; | base context-capability; | |||
} | description | |||
"Identity for geography condition capability"; | ||||
reference | ||||
"draft-google-self-published-geofeeds-02: Self-published | ||||
IP Geolocation Data - An access control for a geographical | ||||
location i.e., geolocation (e.g., the corresponding IP | ||||
address)."; | ||||
} | ||||
identity ipv4-tos { | identity ipv4-capability { | |||
base ipv4-capability; | base condition; | |||
description | description | |||
"Identity for IPv4 Type-Of-Service (TOS) | "Base identity for IPv4 condition capability"; | |||
condition capability"; | ||||
reference | ||||
"RFC 791: Internet Protocol - Type of Service"; | ||||
} | ||||
identity exact-ipv4-total-length { | reference | |||
base ipv4-capability; | "RFC 791: Internet Protocol"; | |||
description | } | |||
"Identity for exact-match IPv4 total length | ||||
condition capability"; | ||||
reference | ||||
"RFC 791: Internet Protocol - Total Length"; | ||||
} | ||||
identity range-ipv4-total-length { | identity exact-ipv4-header-length { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for range-match IPv4 total length | "Identity for exact-match IPv4 header-length | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Total Length"; | "RFC 791: Internet Protocol - Header Length"; | |||
} | } | |||
identity ipv4-id { | identity range-ipv4-header-length { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for identification condition capability"; | "Identity for range-match IPv4 header-length | |||
reference | condition capability"; | |||
"RFC 791: Internet Protocol - Identification"; | reference | |||
} | "RFC 791: Internet Protocol - Header Length"; | |||
} | ||||
identity ipv4-fragment-flags { | identity ipv4-tos { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for IPv4 fragment flags condition capability"; | "Identity for IPv4 Type-Of-Service (TOS) | |||
reference | condition capability"; | |||
"RFC 791: Internet Protocol - Fragmentation Flags"; | reference | |||
} | "RFC 791: Internet Protocol - Type of Service"; | |||
} | ||||
identity exact-ipv4-fragment-offset { | identity exact-ipv4-total-length { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for exact-match IPv4 fragment offset | "Identity for exact-match IPv4 total length | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Fragmentation Offset"; | "RFC 791: Internet Protocol - Total Length"; | |||
} | } | |||
identity range-ipv4-fragment-offset { | identity range-ipv4-total-length { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for range-match IPv4 fragment offset | "Identity for range-match IPv4 total length | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Fragmentation Offset"; | "RFC 791: Internet Protocol - Total Length"; | |||
} | } | |||
identity ipv4-id { | ||||
base ipv4-capability; | ||||
description | ||||
"Identity for IPv4 identification condition capability. | ||||
IPv4 ID Field is used for fragmentation"; | ||||
reference | ||||
"RFC 791: Internet Protocol - Identification | ||||
RFC 6864: Updated Specification of the IPv4 ID Field"; | ||||
} | ||||
identity exact-ipv4-ttl { | identity ipv4-fragment-flags { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for exact-match IPv4 Time-To-Live (TTL) | "Identity for IPv4 fragment flags condition capability"; | |||
condition capability"; | reference | |||
reference | "RFC 791: Internet Protocol - Fragmentation Flags"; | |||
"RFC 791: Internet Protocol - Time To Live (TTL)"; | } | |||
} | ||||
identity range-ipv4-ttl { | identity exact-ipv4-fragment-offset { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for range-match IPv4 Time-To-Live (TTL) | "Identity for exact-match IPv4 fragment offset | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Time To Live (TTL)"; | "RFC 791: Internet Protocol - Fragmentation Offset"; | |||
} | } | |||
identity ipv4-protocol { | identity range-ipv4-fragment-offset { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for IPv4 protocol condition capability"; | "Identity for range-match IPv4 fragment offset | |||
reference | condition capability"; | |||
"IANA Website: Assigned Internet Protocol Numbers | reference | |||
- Protocol Number for IPv4 | "RFC 791: Internet Protocol - Fragmentation Offset"; | |||
RFC 791: Internet Protocol - Protocol"; | } | |||
} | ||||
identity exact-ipv4-address { | identity exact-ipv4-ttl { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for exact-match IPv4 address | "Identity for exact-match IPv4 Time-To-Live (TTL) | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Address"; | "RFC 791: Internet Protocol - Time To Live (TTL)"; | |||
} | } | |||
identity range-ipv4-address { | identity range-ipv4-ttl { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for range-match IPv4 address condition | "Identity for range-match IPv4 Time-To-Live (TTL) | |||
capability"; | condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Address"; | "RFC 791: Internet Protocol - Time To Live (TTL)"; | |||
} | } | |||
identity ipv4-ip-opts { | identity ipv4-protocol { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for IPv4 option condition capability"; | "Identity for IPv4 protocol condition capability"; | |||
reference | reference | |||
"RFC 791: Internet Protocol - Options"; | "IANA Website: Assigned Internet Protocol Numbers | |||
} | - Protocol Number for IPv4 | |||
RFC 791: Internet Protocol - Protocol"; | ||||
} | ||||
identity ipv4-geo-ip { | identity exact-ipv4-address { | |||
base ipv4-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for geography condition capability"; | "Identity for exact-match IPv4 address | |||
reference | condition capability"; | |||
"draft-ietf-i2nsf-capability-05: Information Model | reference | |||
of NSFs Capabilities - Geo-IP"; | "RFC 791: Internet Protocol - Address"; | |||
} | } | |||
identity ipv6-capability { | identity range-ipv4-address { | |||
base condition; | base ipv4-capability; | |||
description | description | |||
"Identity for IPv6 condition capabilities"; | "Identity for range-match IPv4 address condition | |||
reference | capability"; | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | reference | |||
Specification"; | "RFC 791: Internet Protocol - Address"; | |||
} | } | |||
identity ipv6-traffic-class { | identity ipv4-ip-opts { | |||
base ipv6-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for IPv6 traffic class | "Identity for IPv4 option condition capability"; | |||
condition capability"; | reference | |||
reference | "RFC 791: Internet Protocol - Options"; | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | } | |||
Specification - Traffic Class"; | ||||
} | ||||
identity exact-ipv6-flow-label { | identity ipv4-geo-ip { | |||
base ipv6-capability; | base ipv4-capability; | |||
description | description | |||
"Identity for exact-match IPv6 flow label | "Identity for geography condition capability"; | |||
condition capability"; | } | |||
reference | identity ipv6-capability { | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | base condition; | |||
Specification - Flow Label"; | description | |||
} | "Base identity for IPv6 condition capabilities"; | |||
reference | ||||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | ||||
Specification"; | ||||
} | ||||
identity range-ipv6-flow-label { | identity ipv6-traffic-class { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match IPv6 flow label | "Identity for IPv6 traffic class | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Flow Label"; | Specification - Traffic Class"; | |||
} | } | |||
identity exact-ipv6-payload-length { | identity exact-ipv6-flow-label { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match IPv6 payload length | "Identity for exact-match IPv6 flow label | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Payload Length"; | Specification - Flow Label | |||
} | RFC 6437: IPv6 Flow Label Specification"; | |||
} | ||||
identity range-ipv6-payload-length { | identity range-ipv6-flow-label { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match IPv6 payload length | "Identity for range-match IPv6 flow label | |||
condition capability"; | condition capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Payload Length"; | Specification - Flow Label | |||
} | RFC 6437: IPv6 Flow Label Specification"; | |||
} | ||||
identity ipv6-next-header { | identity exact-ipv6-payload-length { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for IPv6 next header condition capability"; | "Identity for exact-match IPv6 payload length | |||
reference | condition capability"; | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | reference | |||
Specification - Next Header"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Payload Length"; | |||
} | ||||
identity exact-ipv6-hop-limit { | identity range-ipv6-payload-length { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match IPv6 hop limit condition | "Identity for range-match IPv6 payload length | |||
capability"; | condition capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Hop Limit"; | Specification - Payload Length"; | |||
} | } | |||
identity range-ipv6-hop-limit { | identity ipv6-next-header { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match IPv6 hop limit condition | "Identity for IPv6 next header condition capability"; | |||
capability"; | reference | |||
reference | "IANA Website: Assigned Internet Protocol Numbers | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | - Protocol Number for IPv6 | |||
Specification - Hop Limit"; | RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Next Header"; | |||
} | ||||
identity ipv6-protocol { | identity exact-ipv6-hop-limit { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for IPv6 protocol condition capability"; | "Identity for exact-match IPv6 hop limit condition | |||
reference | capability"; | |||
"IANA Website: Assigned Internet Protocol Numbers | reference | |||
- Protocol Number for IPv6 | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
RFC 8200: Internet Protocol, Version 6 (IPv6) | Specification - Hop Limit"; | |||
Specification - Protocol"; | } | |||
} | ||||
identity exact-ipv6-address { | identity range-ipv6-hop-limit { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match IPv6 address condition | "Identity for range-match IPv6 hop limit condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Address"; | Specification - Hop Limit"; | |||
} | } | |||
identity range-ipv6-address { | identity exact-ipv6-address { | |||
base ipv6-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match IPv6 address condition | "Identity for exact-match IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Address"; | Specification - Address"; | |||
} | } | |||
identity tcp-capability { | identity range-ipv6-address { | |||
base condition; | base ipv6-capability; | |||
description | description | |||
"Identity for TCP condition capabilities"; | "Identity for range-match IPv6 address condition | |||
reference | capability"; | |||
"RFC 793: Transmission Control Protocol"; | reference | |||
} | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
Specification - Address"; | ||||
} | ||||
identity exact-tcp-port-num { | identity ipv6-header-order { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match TCP port number condition | "Identity for header order IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Port Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Extension Header Order"; | |||
} | ||||
identity range-tcp-port-num { | identity ipv6-options { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match TCP port number condition | "Identity for options IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Port Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Options"; | |||
} | ||||
identity exact-tcp-seq-num { | identity ipv6-hop-by-hop { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match TCP sequence number condition | "Identity for hop by hop IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Sequence Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Options"; | |||
} | ||||
identity range-tcp-seq-num { | identity ipv6-routing-header { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match TCP sequence number condition | "Identity for routing header IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Sequence Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Routing Header"; | |||
} | ||||
identity exact-tcp-ack-num { | identity ipv6-fragment-header { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for exact-match TCP acknowledgement number condition | "Identity for fragment header IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Acknowledgement Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Fragment Header"; | |||
} | ||||
identity range-tcp-ack-num { | identity ipv6-destination-options { | |||
base tcp-capability; | base ipv6-capability; | |||
description | description | |||
"Identity for range-match TCP acknowledgement number condition | "Identity for destination options IPv6 address condition | |||
capability"; | capability"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Acknowledgement Number"; | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
} | Specification - Destination Options"; | |||
} | ||||
identity exact-tcp-window-size { | identity tcp-capability { | |||
base tcp-capability; | base condition; | |||
description | description | |||
"Identity for exact-match TCP window size condition capability"; | "Base identity for TCP condition capabilities"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - Window Size"; | "RFC 793: Transmission Control Protocol"; | |||
} | } | |||
identity range-tcp-window-size { | identity exact-tcp-port-num { | |||
base tcp-capability; | base tcp-capability; | |||
description | description | |||
"Identity for range-match TCP window size condition capability"; | "Identity for exact-match TCP port number condition | |||
reference | capability"; | |||
"RFC 793: Transmission Control Protocol - Window Size"; | reference | |||
} | "RFC 793: Transmission Control Protocol - Port Number"; | |||
} | ||||
identity tcp-flags { | identity range-tcp-port-num { | |||
base tcp-capability; | base tcp-capability; | |||
description | description | |||
"Identity for TCP flags condition capability"; | "Identity for range-match TCP port number condition | |||
reference | capability"; | |||
"RFC 793: Transmission Control Protocol - Flags"; | reference | |||
} | "RFC 793: Transmission Control Protocol - Port Number"; | |||
} | ||||
identity udp-capability { | identity exact-tcp-window-size { | |||
base condition; | base tcp-capability; | |||
description | description | |||
"Identity for UDP condition capabilities"; | "Identity for exact-match TCP window size condition capability"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol"; | "RFC 793: Transmission Control Protocol - Window Size"; | |||
} | } | |||
identity exact-udp-port-num { | identity range-tcp-window-size { | |||
base udp-capability; | base tcp-capability; | |||
description | description | |||
"Identity for exact-match UDP port number condition capability"; | "Identity for range-match TCP window size condition capability"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol - Port Number"; | "RFC 793: Transmission Control Protocol - Window Size"; | |||
} | } | |||
identity range-udp-port-num { | identity tcp-flags { | |||
base udp-capability; | base tcp-capability; | |||
description | description | |||
"Identity for range-match UDP port number condition capability"; | "Identity for TCP flags condition capability"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol - Port Number"; | "RFC 793: Transmission Control Protocol - Flags"; | |||
} | } | |||
identity exact-udp-total-length { | identity udp-capability { | |||
base udp-capability; | base condition; | |||
description | description | |||
"Identity for exact-match UDP total-length condition capability"; | "Base identity for UDP condition capabilities"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol - Total Length"; | "RFC 768: User Datagram Protocol"; | |||
} | } | |||
identity range-udp-total-length { | identity exact-udp-port-num { | |||
base udp-capability; | base udp-capability; | |||
description | description | |||
"Identity for range-match UDP total-length condition capability"; | "Identity for exact-match UDP port number condition capability"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol - Total Length"; | "RFC 768: User Datagram Protocol - Port Number"; | |||
} | } | |||
identity icmp-capability { | identity range-udp-port-num { | |||
base condition; | base udp-capability; | |||
description | description | |||
"Identity for ICMP condition capability"; | "Identity for range-match UDP port number condition capability"; | |||
reference | reference | |||
"RFC 792: Internet Control Message Protocol"; | "RFC 768: User Datagram Protocol - Port Number"; | |||
} | } | |||
identity icmp-type { | identity exact-udp-total-length { | |||
base icmp-capability; | base udp-capability; | |||
description | description | |||
"Identity for ICMP type condition capability"; | "Identity for exact-match UDP total-length condition capability"; | |||
reference | reference | |||
"RFC 792: Internet Control Message Protocol"; | "RFC 768: User Datagram Protocol - Total Length"; | |||
} | } | |||
identity icmpv6-capability { | identity range-udp-total-length { | |||
base condition; | base udp-capability; | |||
description | description | |||
"Identity for ICMPv6 condition capability"; | "Identity for range-match UDP total-length condition capability"; | |||
reference | reference | |||
"RFC 4443: Internet Control Message Protocol (ICMPv6) | "RFC 768: User Datagram Protocol - Total Length"; | |||
for the Internet Protocol Version 6 (IPv6) Specification | } | |||
- ICMPv6"; | ||||
} | ||||
identity icmpv6-type { | identity sctp-capability { | |||
base icmpv6-capability; | ||||
description | description | |||
"Identity for ICMPv6 type condition capability"; | "Identity for SCTP condition capabilities"; | |||
reference | reference | |||
"RFC 4443: Internet Control Message Protocol (ICMPv6) | "RFC 4960: Stream Control Transmission Protocol"; | |||
for the Internet Protocol Version 6 (IPv6) Specification | } | |||
- ICMPv6"; | ||||
} | ||||
identity url-capability { | identity exact-sctp-port-num { | |||
base condition; | base sctp-capability; | |||
description | description | |||
"Identity for URL condition capability"; | "Identity for exact-match SCTP port number condition | |||
} | capability"; | |||
reference | ||||
"RFC 4960: Stream Control Transmission Protocol - Port Number"; | ||||
} | ||||
identity pre-defined { | identity range-sctp-port-num { | |||
base url-capability; | base sctp-capability; | |||
description | description | |||
"Identity for URL pre-defined condition capability"; | "Identity for range-match SCTP port number condition | |||
} | capability"; | |||
reference | ||||
"RFC 4960: Stream Control Transmission Protocol - Port Number"; | ||||
} | ||||
identity user-defined { | identity sctp-chunk-type { | |||
base url-capability; | base sctp-capability; | |||
description | description | |||
"Identity for URL user-defined condition capability"; | "Identity for SCTP chunk type condition capability"; | |||
} | reference | |||
"RFC 4960: Stream Control Transmission Protocol - Chunk Type"; | ||||
} | ||||
identity log-action-capability { | identity icmp-capability { | |||
description | base condition; | |||
"Identity for log-action capability"; | description | |||
} | "Base identity for ICMP condition capability"; | |||
identity rule-log { | reference | |||
base log-action-capability; | "RFC 792: Internet Control Message Protocol"; | |||
description | } | |||
"Identity for rule log log-action capability"; | ||||
} | ||||
identity session-log { | identity icmp-type { | |||
base log-action-capability; | base icmp-capability; | |||
description | description | |||
"Identity for session log log-action capability"; | "Identity for ICMP type condition capability"; | |||
} | reference | |||
"RFC 792: Internet Control Message Protocol"; | ||||
} | ||||
identity ingress-action-capability { | identity icmp-code { | |||
description | base icmp-capability; | |||
"Identity for ingress-action capability"; | description | |||
reference | "Identity for ICMP code condition capability"; | |||
"RFC 8329: Framework for Interface to Network Security | reference | |||
Functions - Ingress action"; | "RFC 792: Internet Control Message Protocol"; | |||
} | } | |||
identity egress-action-capability { | identity icmpv6-capability { | |||
description | base condition; | |||
"Base identity for egress-action capability"; | description | |||
reference | "Base identity for ICMPv6 condition capability"; | |||
"RFC 8329: Framework for Interface to Network Security | reference | |||
Functions - Egress action"; | "RFC 4443: Internet Control Message Protocol (ICMPv6) | |||
} | for the Internet Protocol Version 6 (IPv6) Specification | |||
- ICMPv6"; | ||||
} | ||||
identity default-action-capability { | identity icmpv6-type { | |||
description | base icmpv6-capability; | |||
"Identity for default-action capability"; | description | |||
reference | "Identity for ICMPv6 type condition capability"; | |||
"draft-ietf-i2nsf-capability-05: Information Model of | reference | |||
NSFs Capabilities - Default action"; | "RFC 4443: Internet Control Message Protocol (ICMPv6) | |||
} | for the Internet Protocol Version 6 (IPv6) Specification | |||
- ICMPv6"; | ||||
} | ||||
identity pass { | identity icmpv6-code { | |||
base ingress-action-capability; | base icmpv6-capability; | |||
base egress-action-capability; | description | |||
base default-action-capability; | "Identity for ICMPv6 code condition capability"; | |||
description | reference | |||
"Identity for pass action capability"; | "RFC 4443: Internet Control Message Protocol (ICMPv6) | |||
reference | for the Internet Protocol Version 6 (IPv6) Specification | |||
"RFC 8329: Framework for Interface to Network Security | - ICMPv6"; | |||
Functions - Ingress, egress, and pass actions. | } | |||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Actions and default action."; | ||||
} | ||||
identity drop { | ||||
base ingress-action-capability; | ||||
base egress-action-capability; | ||||
base default-action-capability; | ||||
description | ||||
"Identity for drop action capability"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Ingress, egress, and drop actions. | ||||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Actions and default action."; | ||||
} | ||||
identity alert { | identity url-capability { | |||
base ingress-action-capability; | base condition; | |||
base egress-action-capability; | description | |||
base default-action-capability; | "Base identity for URL condition capability"; | |||
description | } | |||
"Identity for alert action capability"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Ingress, egress, and alert actions. | ||||
draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF | ||||
NSF Monitoring YANG Data Model - Alarm (i.e., alert). | ||||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Actions and default action."; | ||||
} | ||||
identity mirror { | identity pre-defined { | |||
base ingress-action-capability; | base url-capability; | |||
base egress-action-capability; | description | |||
base default-action-capability; | "Identity for pre-defined URL Database condition capability. | |||
description | The NSF capable of using a predefined public URL Database."; | |||
"Identity for mirror action capability"; | } | |||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Ingress, egress, and mirror actions. | ||||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Actions and default action."; | ||||
} | ||||
identity invoke-signaling { | identity user-defined { | |||
base egress-action-capability; | base url-capability; | |||
description | description | |||
"Identity for invoke signaling action capability"; | "Identity for user-defined URL Database condition capability. | |||
reference | The NSF capable of using a URL Database that can be added | |||
"RFC 8329: Framework for Interface to Network Security | manually by a user."; | |||
Functions - Invoke-signaling action"; | } | |||
} | identity log-action-capability { | |||
description | ||||
"Base identity for log-action capability"; | ||||
} | ||||
identity tunnel-encapsulation { | identity rule-log { | |||
base egress-action-capability; | base log-action-capability; | |||
description | description | |||
"Identity for tunnel encapsulation action capability"; | "Identity for rule log log-action capability. | |||
reference | Log the received packet based on the rule"; | |||
"RFC 8329: Framework for Interface to Network Security | } | |||
Functions - Tunnel-encapsulation action"; | ||||
} | ||||
identity forwarding { | identity session-log { | |||
base egress-action-capability; | base log-action-capability; | |||
description | description | |||
"Identity for forwarding action capability"; | "Identity for session log log-action capability. | |||
reference | Log the received packet based on the session."; | |||
"RFC 8329: Framework for Interface to Network Security | } | |||
Functions - Forwarding action"; | ||||
} | ||||
identity redirection { | identity ingress-action-capability { | |||
base egress-action-capability; | description | |||
description | "Base identity for ingress-action capability"; | |||
"Identity for redirection action capability"; | reference | |||
reference | "RFC 8329: Framework for Interface to Network Security | |||
"RFC 8329: Framework for Interface to Network Security | Functions - Ingress action"; | |||
Functions - Redirection action"; | } | |||
} | ||||
identity resolution-strategy-capability { | identity egress-action-capability { | |||
description | description | |||
"Base identity for resolution strategy capability"; | "Base identity for egress-action capability"; | |||
reference | reference | |||
"draft-ietf-i2nsf-capability-05: Information Model of | "RFC 8329: Framework for Interface to Network Security | |||
NSFs Capabilities - Resolution Strategy"; | Functions - Egress action"; | |||
} | } | |||
identity fmr { | identity default-action-capability { | |||
base resolution-strategy-capability; | description | |||
description | "Base identity for default-action capability"; | |||
"Identity for First Matching Rule (FMR) resolution | } | |||
strategy capability"; | ||||
reference | ||||
"draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Resolution Strategy"; | ||||
} | ||||
identity lmr { | identity pass { | |||
base resolution-strategy-capability; | base ingress-action-capability; | |||
description | base egress-action-capability; | |||
"Identity for Last Matching Rule (LMR) resolution | base default-action-capability; | |||
strategy capability"; | description | |||
reference | "Identity for pass action capability"; | |||
"draft-ietf-i2nsf-capability-05: Information Model of | reference | |||
NSFs Capabilities - Resolution Strategy"; | "RFC 8329: Framework for Interface to Network Security | |||
} | Functions - Ingress, egress, and pass actions."; | |||
} | ||||
identity pmr { | identity drop { | |||
base resolution-strategy-capability; | base ingress-action-capability; | |||
description | base egress-action-capability; | |||
"Identity for Prioritized Matching Rule (PMR) resolution | base default-action-capability; | |||
strategy capability"; | description | |||
reference | "Identity for drop action capability"; | |||
"draft-ietf-i2nsf-capability-05: Information Model of | reference | |||
NSFs Capabilities - Resolution Strategy"; | "RFC 8329: Framework for Interface to Network Security | |||
} | Functions - Ingress, egress, and drop actions."; | |||
} | ||||
identity alert { | ||||
base ingress-action-capability; | ||||
base egress-action-capability; | ||||
base default-action-capability; | ||||
description | ||||
"Identity for alert action capability"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Ingress, egress, and alert actions. | ||||
draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF | ||||
NSF Monitoring YANG Data Model - Alarm (i.e., alert)."; | ||||
} | ||||
identity pmre { | identity mirror { | |||
base resolution-strategy-capability; | base ingress-action-capability; | |||
description | base egress-action-capability; | |||
"Identity for Prioritized Matching Rule with Errors (PMRE) | base default-action-capability; | |||
resolution strategy capability"; | description | |||
reference | "Identity for mirror action capability"; | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | reference | |||
Capabilities - Resolution Strategy"; | "RFC 8329: Framework for Interface to Network Security | |||
} | Functions - Ingress, egress, and mirror actions."; | |||
} | ||||
identity pmrn { | identity invoke-signaling { | |||
base resolution-strategy-capability; | base egress-action-capability; | |||
description | description | |||
"Identity for Prioritized Matching Rule with No Errors (PMRN) | "Identity for invoke signaling action capability"; | |||
resolution strategy capability"; | reference | |||
reference | "RFC 8329: Framework for Interface to Network Security | |||
"draft-ietf-i2nsf-capability-05: Information Model of NSFs | Functions - Invoke-signaling action"; | |||
Capabilities - Resolution Strategy"; | } | |||
} | ||||
identity advanced-nsf-capability { | identity forwarding { | |||
description | base egress-action-capability; | |||
"Base identity for advanced Network Security Function (NSF) | description | |||
capability. This can be used for advanced NSFs such as | "Identity for forwarding action capability"; | |||
Anti-Virus, Anti-DDoS Attack, IPS, and VoIP/VoLTE Security | reference | |||
Service."; | "RFC 8329: Framework for Interface to Network Security | |||
reference | Functions - Forwarding action"; | |||
"RFC 8329: Framework for Interface to Network Security | } | |||
Functions - Advanced NSF capability"; | ||||
} | identity redirection { | |||
base egress-action-capability; | ||||
description | ||||
"Identity for redirection action capability"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Redirection action"; | ||||
} | ||||
identity anti-virus-capability { | identity resolution-strategy-capability { | |||
base advanced-nsf-capability; | description | |||
description | "Base identity for resolution strategy capability"; | |||
"Identity for advanced NSF Anti-Virus capability. | } | |||
This can be used for an extension point for Anti-Virus | ||||
as an advanced NSF."; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-Virus capability"; | ||||
} | ||||
identity anti-ddos-capability { | identity fmr { | |||
base advanced-nsf-capability; | base resolution-strategy-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS Attack capability. | "Identity for First Matching Rule (FMR) resolution | |||
This can be used for an extension point for Anti-DDoS | strategy capability"; | |||
Attack as an advanced NSF."; | } | |||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-DDoS Attack capability"; | ||||
} | ||||
identity ips-capability { | identity lmr { | |||
base advanced-nsf-capability; | base resolution-strategy-capability; | |||
description | description | |||
"Identity for advanced NSF IPS capabilities. This can be | "Identity for Last Matching Rule (LMR) resolution | |||
used for an extension point for IPS as an advanced NSF."; | strategy capability"; | |||
reference | } | |||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF IPS capability"; | ||||
} | ||||
identity voip-volte-capability { | identity pmr { | |||
base advanced-nsf-capability; | base resolution-strategy-capability; | |||
description | description | |||
"Identity for advanced NSF VoIP/VoLTE Security Service | "Identity for Prioritized Matching Rule (PMR) resolution | |||
capability. This can be used for an extension point | strategy capability"; | |||
for VoIP/VoLTE Security Service as an advanced NSF."; | } | |||
reference | ||||
"RFC 3261: SIP: Session Initiation Protocol | ||||
RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF VoIP/VoLTE security service | ||||
capability"; | ||||
} | ||||
identity detect { | identity pmre { | |||
base anti-virus-capability; | base resolution-strategy-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-Virus Detection capability. | "Identity for Prioritized Matching Rule with Errors (PMRE) | |||
This can be used for an extension point for Anti-Virus | resolution strategy capability"; | |||
Detection as an advanced NSF."; | } | |||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-Virus Detection capability"; | ||||
} | ||||
identity exception-application { | identity pmrn { | |||
base anti-virus-capability; | base resolution-strategy-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-Virus Exception Application | "Identity for Prioritized Matching Rule with No Errors (PMRN) | |||
capability. This can be used for an extension point for | resolution strategy capability"; | |||
Anti-Virus Exception Application as an advanced NSF."; | } | |||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-Virus Exception Application | ||||
capability"; | ||||
} | ||||
identity exception-signature { | identity advanced-nsf-capability { | |||
base anti-virus-capability; | description | |||
description | "Base identity for advanced Network Security Function (NSF) | |||
"Identity for advanced NSF Anti-Virus Exception Signature | capability. This can be used for advanced NSFs such as | |||
capability. This can be used for an extension point for | Anti-Virus, Anti-DDoS Attack, IPS, and VoIP/VoLTE Security | |||
Anti-Virus Exception Signature as an advanced NSF."; | Service."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-Virus Exception Signature | Functions - Advanced NSF capability"; | |||
capability"; | } | |||
} | ||||
identity allow-list { | identity anti-virus-capability { | |||
base anti-virus-capability; | base advanced-nsf-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-Virus Allow List capability. | "Identity for advanced NSF Anti-Virus capability. | |||
This can be used for an extension point for Anti-Virus | This can be used for an extension point for Anti-Virus | |||
Allow List as an advanced NSF."; | as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-Virus Allow List capability"; | Functions - Advanced NSF Anti-Virus capability"; | |||
} | } | |||
identity syn-flood-action { | identity anti-ddos-capability { | |||
base anti-ddos-capability; | base advanced-nsf-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS SYN Flood Action | "Identity for advanced NSF Anti-DDoS Attack capability. | |||
capability. This can be used for an extension point for | This can be used for an extension point for Anti-DDoS | |||
Anti-DDoS SYN Flood Action as an advanced NSF."; | Attack as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS SYN Flood Action | Functions - Advanced NSF Anti-DDoS Attack capability"; | |||
capability"; | } | |||
} | ||||
identity udp-flood-action { | identity ips-capability { | |||
base anti-ddos-capability; | base advanced-nsf-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS UDP Flood Action | "Identity for advanced NSF IPS capabilities. This can be | |||
capability. This can be used for an extension point for | used for an extension point for IPS as an advanced NSF."; | |||
Anti-DDoS UDP Flood Action as an advanced NSF."; | reference | |||
reference | "RFC 8329: Framework for Interface to Network Security | |||
"RFC 8329: Framework for Interface to Network Security | Functions - Advanced NSF IPS capability"; | |||
Functions - Advanced NSF Anti-DDoS UDP Flood Action | } | |||
capability"; | ||||
} | ||||
identity http-flood-action { | identity voip-volte-capability { | |||
base anti-ddos-capability; | base advanced-nsf-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS HTTP Flood Action | "Identity for advanced NSF VoIP/VoLTE Security Service | |||
capability. This can be used for an extension point for | capability. This can be used for an extension point | |||
Anti-DDoS HTTP Flood Action as an advanced NSF."; | for VoIP/VoLTE Security Service as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 3261: SIP: Session Initiation Protocol"; | |||
Functions - Advanced NSF Anti-DDoS HTTP Flood Action | } | |||
capability"; | identity detect { | |||
} | base anti-virus-capability; | |||
description | ||||
"Identity for advanced NSF Anti-Virus Detection capability. | ||||
This can be used for an extension point for Anti-Virus | ||||
Detection as an advanced NSF."; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-Virus Detection capability"; | ||||
} | ||||
identity https-flood-action { | identity allow-list { | |||
base anti-ddos-capability; | base anti-virus-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS HTTPS Flood Action | "Identity for advanced NSF Anti-Virus Allow List capability. | |||
capability. This can be used for an extension point for | This can be used for an extension point for Anti-Virus | |||
Anti-DDoS HTTPS Flood Action as an advanced NSF."; | Allow List as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS HTTPS Flood Action | Functions - Advanced NSF Anti-Virus Allow List capability"; | |||
capability"; | } | |||
} | ||||
identity dns-request-flood-action { | identity syn-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS DNS Request Flood | "Identity for advanced NSF Anti-DDoS SYN Flood Action | |||
Action capability. This can be used for an extension | capability. This can be used for an extension point for | |||
point for Anti-DDoS DNS Request Flood Action as an | Anti-DDoS SYN Flood Action as an advanced NSF."; | |||
advanced NSF."; | reference | |||
reference | "RFC 8329: Framework for Interface to Network Security | |||
"RFC 8329: Framework for Interface to Network Security | Functions - Advanced NSF Anti-DDoS SYN Flood Action | |||
Functions - Advanced NSF Anti-DDoS DNS Request Flood | capability"; | |||
Action capability"; | } | |||
} | ||||
identity dns-reply-flood-action { | identity udp-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS DNS Reply Flood | "Identity for advanced NSF Anti-DDoS UDP Flood Action | |||
Action capability. This can be used for an extension | capability. This can be used for an extension point for | |||
point for Anti-DDoS DNS Reply Flood Action as an | Anti-DDoS UDP Flood Action as an advanced NSF."; | |||
advanced NSF."; | reference | |||
reference | "RFC 8329: Framework for Interface to Network Security | |||
"RFC 8329: Framework for Interface to Network Security | Functions - Advanced NSF Anti-DDoS UDP Flood Action | |||
Functions - Advanced NSF Anti-DDoS DNS Reply Flood | capability"; | |||
Action capability"; | } | |||
} | ||||
identity icmp-flood-action { | identity http-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS ICMP Flood Action | "Identity for advanced NSF Anti-DDoS HTTP Flood Action | |||
capability. This can be used for an extension point | capability. This can be used for an extension point for | |||
for Anti-DDoS ICMP Flood Action as an advanced NSF."; | Anti-DDoS HTTP Flood Action as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS ICMP Flood Action | Functions - Advanced NSF Anti-DDoS HTTP Flood Action | |||
capability"; | capability"; | |||
} | } | |||
identity icmpv6-flood-action { | identity https-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS ICMPv6 Flood Action | "Identity for advanced NSF Anti-DDoS HTTPS Flood Action | |||
capability. This can be used for an extension point | capability. This can be used for an extension point for | |||
for Anti-DDoS ICMPv6 Flood Action as an advanced NSF."; | Anti-DDoS HTTPS Flood Action as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS ICMPv6 Flood Action | Functions - Advanced NSF Anti-DDoS HTTPS Flood Action | |||
capability"; | capability"; | |||
} | } | |||
identity sip-flood-action { | identity dns-request-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS SIP Flood Action | "Identity for advanced NSF Anti-DDoS DNS Request Flood | |||
capability. This can be used for an extension point | Action capability. This can be used for an extension | |||
for Anti-DDoS SIP Flood Action as an advanced NSF."; | point for Anti-DDoS DNS Request Flood Action as an | |||
reference | advanced NSF."; | |||
"RFC 8329: Framework for Interface to Network Security | reference | |||
Functions - Advanced NSF Anti-DDoS SIP Flood Action | "RFC 8329: Framework for Interface to Network Security | |||
capability"; | Functions - Advanced NSF Anti-DDoS DNS Request Flood | |||
} | Action capability"; | |||
} | ||||
identity detect-mode { | identity dns-reply-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS Detection Mode | "Identity for advanced NSF Anti-DDoS DNS Reply Flood | |||
capability. This can be used for an extension point | Action capability. This can be used for an extension | |||
for Anti-DDoS Detection Mode as an advanced NSF."; | point for Anti-DDoS DNS Reply Flood Action as an | |||
reference | advanced NSF."; | |||
"RFC 8329: Framework for Interface to Network Security | reference | |||
Functions - Advanced NSF Anti-DDoS Detection Mode | "RFC 8329: Framework for Interface to Network Security | |||
capability"; | Functions - Advanced NSF Anti-DDoS DNS Reply Flood | |||
} | Action capability"; | |||
} | ||||
identity icmp-flood-action { | ||||
base anti-ddos-capability; | ||||
description | ||||
"Identity for advanced NSF Anti-DDoS ICMP Flood Action | ||||
capability. This can be used for an extension point | ||||
for Anti-DDoS ICMP Flood Action as an advanced NSF."; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-DDoS ICMP Flood Action | ||||
capability"; | ||||
} | ||||
identity baseline-learning { | identity icmpv6-flood-action { | |||
base anti-ddos-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF Anti-DDoS Baseline Learning | "Identity for advanced NSF Anti-DDoS ICMPv6 Flood Action | |||
capability. This can be used for an extension point | capability. This can be used for an extension point | |||
for Anti-DDoS Baseline Learning as an advanced NSF."; | for Anti-DDoS ICMPv6 Flood Action as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS Baseline Learning | Functions - Advanced NSF Anti-DDoS ICMPv6 Flood Action | |||
capability"; | capability"; | |||
} | } | |||
identity signature-set { | identity sip-flood-action { | |||
base ips-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF IPS Signature Set capability. | "Identity for advanced NSF Anti-DDoS SIP Flood Action | |||
This can be used for an extension point for IPS Signature | capability. This can be used for an extension point | |||
Set as an advanced NSF."; | for Anti-DDoS SIP Flood Action as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF IPS Signature Set capability"; | Functions - Advanced NSF Anti-DDoS SIP Flood Action | |||
} | capability"; | |||
} | ||||
identity ips-exception-signature { | identity detect-mode { | |||
base ips-capability; | base anti-ddos-capability; | |||
description | description | |||
"Identity for advanced NSF IPS Exception Signature | "Identity for advanced NSF Anti-DDoS Detection Mode | |||
capability. This can be used for an extension point for | capability. This can be used for an extension point | |||
IPS Exception Signature as an advanced NSF."; | for Anti-DDoS Detection Mode as an advanced NSF."; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF IPS Exception Signature Set | Functions - Advanced NSF Anti-DDoS Detection Mode | |||
capability"; | capability"; | |||
} | } | |||
identity baseline-learning { | ||||
base anti-ddos-capability; | ||||
description | ||||
"Identity for advanced NSF Anti-DDoS Baseline Learning | ||||
capability. This can be used for an extension point | ||||
for Anti-DDoS Baseline Learning as an advanced NSF."; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF Anti-DDoS Baseline Learning | ||||
capability"; | ||||
} | ||||
identity voice-id { | identity signature-set { | |||
base voip-volte-capability; | base ips-capability; | |||
description | description | |||
"Identity for advanced NSF VoIP/VoLTE Voice-ID capability. | "Identity for advanced NSF IPS Signature Set capability. | |||
This can be used for an extension point for VoIP/VoLTE | This can be used for an extension point for IPS Signature | |||
Voice-ID as an advanced NSF."; | Set as an advanced NSF."; | |||
reference | reference | |||
"RFC 3261: SIP: Session Initiation Protocol | "RFC 8329: Framework for Interface to Network Security | |||
RFC 8329: Framework for Interface to Network Security | Functions - Advanced NSF IPS Signature Set capability"; | |||
Functions - Advanced NSF VoIP/VoLTE Security Service | } | |||
capability"; | ||||
} | identity ips-exception-signature { | |||
base ips-capability; | ||||
description | ||||
"Identity for advanced NSF IPS Exception Signature | ||||
capability. This can be used for an extension point for | ||||
IPS Exception Signature as an advanced NSF."; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF IPS Exception Signature Set | ||||
capability"; | ||||
} | ||||
identity user-agent { | identity voip-volte-call-id { | |||
base voip-volte-capability; | base voip-volte-capability; | |||
description | description | |||
"Identity for advanced NSF VoIP/VoLTE User Agent capability. | "Identity for advanced NSF VoIP/VoLTE Call-ID capability. | |||
This can be used for an extension point for VoIP/VoLTE | This can be used for an extension point for VoIP/VoLTE | |||
User Agent as an advanced NSF."; | Voice-ID as an advanced NSF."; | |||
reference | reference | |||
"RFC 3261: SIP: Session Initiation Protocol | "RFC 3261: SIP: Session Initiation Protocol"; | |||
RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF VoIP/VoLTE Security Service | ||||
capability"; | ||||
} | ||||
identity ipsec-capability { | } | |||
description | ||||
"Base identity for an IPsec capability"; | ||||
reference | ||||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | ||||
Software-Defined Networking (SDN)-based IPsec Flow | ||||
Protection - IPsec methods such as IKE and IKE-less"; | ||||
} | ||||
identity ike { | identity user-agent { | |||
base ipsec-capability; | base voip-volte-capability; | |||
description | description | |||
"Identity for an IPsec Internet Key Exchange (IKE) | "Identity for advanced NSF VoIP/VoLTE User Agent capability. | |||
capability"; | This can be used for an extension point for VoIP/VoLTE | |||
reference | User Agent as an advanced NSF."; | |||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | reference | |||
Software-Defined Networking (SDN)-based IPsec Flow | "RFC 3261: SIP: Session Initiation Protocol"; | |||
Protection - IPsec method with IKE. | } | |||
RFC 7296: Internet Key Exchange Protocol Version 2 | ||||
(IKEv2) - IKE as a component of IPsec used for | ||||
performing mutual authentication and establishing and | ||||
maintaining Security Associations (SAs)."; | ||||
} | ||||
identity ikeless { | identity ipsec-capability { | |||
base ipsec-capability; | description | |||
description | "Base identity for an IPsec capability"; | |||
"Identity for an IPsec without Internet Key Exchange (IKE) | reference | |||
capability"; | "draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | |||
reference | Software-Defined Networking (SDN)-based IPsec Flow | |||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | Protection - IPsec methods such as IKE and IKE-less"; | |||
Software-Defined Networking (SDN)-based IPsec Flow | } | |||
Protection - IPsec method without IKE"; | ||||
} | ||||
/* | identity ike { | |||
* Grouping | base ipsec-capability; | |||
*/ | description | |||
"Identity for an IPsec Internet Key Exchange (IKE) | ||||
capability"; | ||||
reference | ||||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | ||||
Software-Defined Networking (SDN)-based IPsec Flow | ||||
Protection - IPsec method with IKE. | ||||
RFC 7296: Internet Key Exchange Protocol Version 2 | ||||
(IKEv2) - IKE as a component of IPsec used for | ||||
performing mutual authentication and establishing and | ||||
maintaining Security Associations (SAs)."; | ||||
} | ||||
grouping nsf-capabilities { | identity ikeless { | |||
description | base ipsec-capability; | |||
"Network Security Function (NSF) Capabilities"; | description | |||
reference | "Identity for an IPsec without Internet Key Exchange (IKE) | |||
"RFC 8329: Framework for Interface to Network Security | capability"; | |||
Functions - I2NSF Flow Security Policy Structure. | reference | |||
draft-ietf-i2nsf-capability-05: Information Model of | "draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | |||
NSFs Capabilities - Capability Information Model Design."; | Software-Defined Networking (SDN)-based IPsec Flow | |||
Protection - IPsec method without IKE"; | ||||
} | ||||
leaf-list time-capabilities { | /* | |||
type enumeration { | * Grouping | |||
enum absolute-time { | */ | |||
description | ||||
"absolute time capabilities. | ||||
If a network security function has the absolute time | ||||
capability, the network security function supports | ||||
rule execution according to absolute time."; | ||||
} | ||||
enum periodic-time { | ||||
description | ||||
"periodic time capabilities. | ||||
If a network security function has the periodic time | ||||
capability, the network security function supports | ||||
rule execution according to periodic time."; | ||||
} | ||||
} | ||||
description | ||||
"Time capabilities"; | ||||
} | ||||
container event-capabilities { | grouping nsf-capabilities { | |||
description | description | |||
"Capabilities of events. | "Network Security Function (NSF) Capabilities"; | |||
If a network security function has the event capabilities, | reference | |||
the network security function supports rule execution | "RFC 8329: Framework for Interface to Network Security | |||
according to system event and system alarm."; | Functions - I2NSF Flow Security Policy Structure."; | |||
reference | leaf-list time-capabilities { | |||
"RFC 8329: Framework for Interface to Network Security | type enumeration { | |||
Functions - I2NSF Flow Security Policy Structure. | enum absolute-time { | |||
draft-ietf-i2nsf-capability-05: Information Model of | description | |||
NSFs Capabilities - Design Principles and ECA Policy | "absolute time capabilities. | |||
Model Overview. | If a network security function has the absolute time | |||
draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF | capability, the network security function supports | |||
NSF Monitoring YANG Data Model - System Alarm and | rule execution according to absolute time."; | |||
System Events."; | } | |||
enum periodic-time { | ||||
description | ||||
"periodic time capabilities. | ||||
If a network security function has the periodic time | ||||
capability, the network security function supports | ||||
rule execution according to periodic time."; | ||||
} | ||||
} | ||||
description | ||||
"Time capabilities"; | ||||
} | ||||
leaf-list system-event-capability { | container event-capabilities { | |||
type identityref { | description | |||
base system-event-capability; | "Capabilities of events. | |||
} | If a network security function has the event capabilities, | |||
description | the network security function supports rule execution | |||
"System event capabilities"; | according to system event and system alarm."; | |||
} | ||||
leaf-list system-alarm-capability { | reference | |||
type identityref { | "RFC 8329: Framework for Interface to Network Security | |||
base system-alarm-capability; | Functions - I2NSF Flow Security Policy Structure. | |||
} | draft-ietf-i2nsf-nsf-monitoring-data-model-04: I2NSF | |||
description | NSF Monitoring YANG Data Model - System Alarm and | |||
"System alarm capabilities"; | System Events."; | |||
} | ||||
} | ||||
container condition-capabilities { | leaf-list system-event-capability { | |||
description | type identityref { | |||
"Conditions capabilities."; | base system-event-capability; | |||
} | ||||
description | ||||
"System event capabilities"; | ||||
} | ||||
leaf-list system-alarm-capability { | ||||
type identityref { | ||||
base system-alarm-capability; | ||||
} | ||||
description | ||||
"System alarm capabilities"; | ||||
} | ||||
} | ||||
container generic-nsf-capabilities { | container condition-capabilities { | |||
description | description | |||
"Conditions capabilities. | "Conditions capabilities."; | |||
If a network security function has the condition | ||||
capabilities, the network security function | ||||
supports rule execution according to conditions of | ||||
IPv4, IPv6, TCP, UDP, ICMP, ICMPv6, and payload."; | ||||
reference | ||||
"RFC 791: Internet Protocol - IPv4. | ||||
RFC 792: Internet Control Message Protocol - ICMP. | ||||
RFC 793: Transmission Control Protocol - TCP. | ||||
RFC 768: User Datagram Protocol - UDP. | ||||
RFC 8200: Internet Protocol, Version 6 (IPv6) | ||||
Specification - IPv6. | ||||
RFC 4443: Internet Control Message Protocol (ICMPv6) | ||||
for the Internet Protocol Version 6 (IPv6) Specification | ||||
- ICMPv6. | ||||
RFC 8329: Framework for Interface to Network Security | ||||
Functions - I2NSF Flow Security Policy Structure. | ||||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Design Principles and ECA Policy | ||||
Model Overview."; | ||||
leaf-list ipv4-capability { | container generic-nsf-capabilities { | |||
type identityref { | description | |||
base ipv4-capability; | "Conditions capabilities. | |||
} | If a network security function has the condition | |||
description | capabilities, the network security function | |||
"IPv4 packet capabilities"; | supports rule execution according to conditions of | |||
reference | IPv4, IPv6, TCP, UDP, SCTP, ICMP, ICMPv6, or payload."; | |||
"RFC 791: Internet Protocol"; | reference | |||
} | "RFC 791: Internet Protocol - IPv4. | |||
RFC 792: Internet Control Message Protocol - ICMP. | ||||
RFC 793: Transmission Control Protocol - TCP. | ||||
RFC 768: User Datagram Protocol - UDP. | ||||
RFC 4960: Stream Control Transmission Protocol - SCTP. | ||||
RFC 8200: Internet Protocol, Version 6 (IPv6) | ||||
Specification - IPv6. | ||||
RFC 4443: Internet Control Message Protocol (ICMPv6) | ||||
for the Internet Protocol Version 6 (IPv6) Specification | ||||
- ICMPv6. | ||||
RFC 8329: Framework for Interface to Network Security | ||||
Functions - I2NSF Flow Security Policy Structure."; | ||||
leaf-list icmp-capability { | leaf-list ipv4-capability { | |||
type identityref { | type identityref { | |||
base icmp-capability; | base ipv4-capability; | |||
} | } | |||
description | description | |||
"ICMP packet capabilities"; | "IPv4 packet capabilities"; | |||
reference | reference | |||
"RFC 792: Internet Control Message Protocol - ICMP"; | "RFC 791: Internet Protocol"; | |||
} | } | |||
leaf-list ipv6-capability { | leaf-list icmp-capability { | |||
type identityref { | type identityref { | |||
base ipv6-capability; | base icmp-capability; | |||
} | } | |||
description | description | |||
"IPv6 packet capabilities"; | "ICMP packet capabilities"; | |||
reference | reference | |||
"RFC 8200: Internet Protocol, Version 6 (IPv6) | "RFC 792: Internet Control Message Protocol - ICMP"; | |||
Specification - IPv6"; | } | |||
} | ||||
leaf-list icmpv6-capability { | leaf-list ipv6-capability { | |||
type identityref { | type identityref { | |||
base icmpv6-capability; | base ipv6-capability; | |||
} | } | |||
description | description | |||
"ICMPv6 packet capabilities"; | "IPv6 packet capabilities"; | |||
reference | reference | |||
"RFC 4443: Internet Control Message Protocol (ICMPv6) | "RFC 8200: Internet Protocol, Version 6 (IPv6) | |||
for the Internet Protocol Version 6 (IPv6) Specification | Specification - IPv6"; | |||
- ICMPv6"; | } | |||
} | ||||
leaf-list tcp-capability { | leaf-list icmpv6-capability { | |||
type identityref { | type identityref { | |||
base tcp-capability; | base icmpv6-capability; | |||
} | } | |||
description | description | |||
"TCP packet capabilities"; | "ICMPv6 packet capabilities"; | |||
reference | reference | |||
"RFC 793: Transmission Control Protocol - TCP"; | "RFC 4443: Internet Control Message Protocol (ICMPv6) | |||
} | for the Internet Protocol Version 6 (IPv6) Specification | |||
- ICMPv6"; | ||||
} | ||||
leaf-list udp-capability { | leaf-list tcp-capability { | |||
type identityref { | type identityref { | |||
base udp-capability; | base tcp-capability; | |||
} | } | |||
description | description | |||
"UDP packet capabilities"; | "TCP packet capabilities"; | |||
reference | reference | |||
"RFC 768: User Datagram Protocol - UDP"; | "RFC 793: Transmission Control Protocol - TCP"; | |||
} | } | |||
} | ||||
container advanced-nsf-capabilities { | leaf-list udp-capability { | |||
description | type identityref { | |||
"Advanced Network Security Function (NSF) capabilities, | base udp-capability; | |||
such as Anti-Virus, Anti-DDoS, IPS, and VoIP/VoLTE. | } | |||
This container contains the leaf-lists of advanced | description | |||
NSF capabilities"; | "UDP packet capabilities"; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 768: User Datagram Protocol - UDP"; | |||
Functions - Advanced NSF capabilities"; | } | |||
leaf-list sctp-capability { | ||||
type identityref { | ||||
base sctp-capability; | ||||
} | ||||
description | ||||
"SCTP packet capabilities"; | ||||
reference | ||||
"RFC 4960: Stream Control Transmission Protocol - SCTP"; | ||||
} | ||||
} | ||||
leaf-list anti-virus-capability { | container advanced-nsf-capabilities { | |||
type identityref { | description | |||
base anti-virus-capability; | "Advanced Network Security Function (NSF) capabilities, | |||
} | such as Anti-Virus, Anti-DDoS, IPS, and VoIP/VoLTE. | |||
description | This container contains the leaf-lists of advanced | |||
"Anti-Virus capabilities"; | NSF capabilities"; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-Virus capabilities"; | Functions - Advanced NSF capabilities"; | |||
} | ||||
leaf-list anti-ddos-capability { | leaf-list anti-virus-capability { | |||
type identityref { | type identityref { | |||
base anti-ddos-capability; | base anti-virus-capability; | |||
} | } | |||
description | description | |||
"Anti-DDoS Attack capabilities"; | "Anti-Virus capabilities"; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF Anti-DDoS Attack capabilities"; | Functions - Advanced NSF Anti-Virus capabilities"; | |||
} | } | |||
leaf-list ips-capability { | leaf-list anti-ddos-capability { | |||
type identityref { | type identityref { | |||
base ips-capability; | base anti-ddos-capability; | |||
} | } | |||
description | description | |||
"IPS capabilities"; | "Anti-DDoS Attack capabilities"; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF IPS capabilities"; | Functions - Advanced NSF Anti-DDoS Attack capabilities"; | |||
} | } | |||
leaf-list url-capability { | leaf-list ips-capability { | |||
type identityref { | type identityref { | |||
base url-capability; | base ips-capability; | |||
} | ||||
description | ||||
"IPS capabilities"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF IPS capabilities"; | ||||
} | ||||
leaf-list url-capability { | ||||
type identityref { | ||||
base url-capability; | ||||
} | ||||
description | ||||
"URL capabilities"; | ||||
reference | ||||
"RFC 8329: Framework for Interface to Network Security | ||||
Functions - Advanced NSF URL capabilities"; | ||||
} | ||||
leaf-list voip-volte-capability { | ||||
type identityref { | ||||
base voip-volte-capability; | ||||
} | } | |||
description | description | |||
"URL capabilities"; | "VoIP/VoLTE capabilities"; | |||
reference | reference | |||
"RFC 8329: Framework for Interface to Network Security | "RFC 8329: Framework for Interface to Network Security | |||
Functions - Advanced NSF URL capabilities"; | Functions - Advanced NSF VoIP/VoLTE capabilities"; | |||
} | } | |||
} | ||||
leaf-list voip-volte-capability { | leaf-list context-capabilities { | |||
type identityref { | type identityref { | |||
base voip-volte-capability; | base context-capability; | |||
} | } | |||
description | description | |||
"VoIP/VoLTE capabilities"; | "Security context capabilities"; | |||
reference | } | |||
"RFC 8329: Framework for Interface to Network Security | } | |||
Functions - Advanced NSF VoIP/VoLTE capabilities"; | ||||
} | ||||
} | ||||
leaf-list context-capabilities { | container action-capabilities { | |||
type identityref { | description | |||
base context-capability; | "Action capabilities. | |||
} | If a network security function has the action capabilities, | |||
description | the network security function supports the attendant | |||
"Security context capabilities"; | actions for policy rules."; | |||
} | ||||
} | ||||
container action-capabilities { | leaf-list ingress-action-capability { | |||
description | type identityref { | |||
"Action capabilities. | base ingress-action-capability; | |||
If a network security function has the action capabilities, | ||||
the network security function supports the attendant | ||||
actions for policy rules."; | ||||
leaf-list ingress-action-capability { | } | |||
type identityref { | description | |||
base ingress-action-capability; | "Ingress-action capabilities"; | |||
} | } | |||
description | ||||
"Ingress-action capabilities"; | ||||
} | ||||
leaf-list egress-action-capability { | leaf-list egress-action-capability { | |||
type identityref { | type identityref { | |||
base egress-action-capability; | base egress-action-capability; | |||
} | } | |||
description | description | |||
"Egress-action capabilities"; | "Egress-action capabilities"; | |||
} | } | |||
leaf-list log-action-capability { | leaf-list log-action-capability { | |||
type identityref { | type identityref { | |||
base log-action-capability; | base log-action-capability; | |||
} | } | |||
description | description | |||
"Log-action capabilities"; | "Log-action capabilities"; | |||
} | } | |||
} | } | |||
leaf-list resolution-strategy-capabilities { | ||||
type identityref { | ||||
base resolution-strategy-capability; | ||||
} | ||||
description | ||||
"Resolution strategy capabilities. | ||||
The resolution strategies can be used to specify how | ||||
to resolve conflicts that occur between the actions | ||||
of the same or different policy rules that are matched | ||||
for the same packet and by particular NSF"; | ||||
reference | ||||
"draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Resolution strategy capabilities"; | ||||
} | ||||
leaf-list default-action-capabilities { | leaf-list resolution-strategy-capabilities { | |||
type identityref { | type identityref { | |||
base default-action-capability; | base resolution-strategy-capability; | |||
} | } | |||
description | description | |||
"Default action capabilities. | "Resolution strategy capabilities. | |||
A default action is used to execute I2NSF policy rules | The resolution strategies can be used to specify how | |||
when no rule matches a packet. The default action is | to resolve conflicts that occur between the actions | |||
defined as pass, drop, alert, or mirror."; | of the same or different policy rules that are matched | |||
reference | for the same packet and by particular NSF"; | |||
"RFC 8329: Framework for Interface to Network Security | } | |||
Functions - Ingress and egress actions. | ||||
draft-ietf-i2nsf-capability-05: Information Model of | ||||
NSFs Capabilities - Default action capabilities."; | ||||
} | ||||
leaf-list ipsec-method { | leaf-list default-action-capabilities { | |||
type identityref { | type identityref { | |||
base ipsec-capability; | base default-action-capability; | |||
} | } | |||
description | description | |||
"IPsec method capabilities"; | "Default action capabilities. | |||
reference | A default action is used to execute I2NSF policy rules | |||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | when no rule matches a packet. The default action is | |||
Software-Defined Networking (SDN)-based IPsec Flow | defined as pass, drop, alert, or mirror."; | |||
Protection - IPsec methods such as IKE and IKE-less"; | reference | |||
} | "RFC 8329: Framework for Interface to Network Security | |||
} | Functions - Ingress and egress actions."; | |||
} | ||||
leaf-list ipsec-method { | ||||
type identityref { | ||||
base ipsec-capability; | ||||
} | ||||
description | ||||
"IPsec method capabilities"; | ||||
reference | ||||
"draft-ietf-i2nsf-sdn-ipsec-flow-protection-08: | ||||
Software-Defined Networking (SDN)-based IPsec Flow | ||||
Protection - IPsec methods such as IKE and IKE-less"; | ||||
} | ||||
} | ||||
/* | /* | |||
* Data nodes | * Data nodes | |||
*/ | */ | |||
list nsf { | list nsf { | |||
key "nsf-name"; | key "nsf-name"; | |||
description | description | |||
"The list of Network Security Functions (NSFs)"; | "The list of Network Security Functions (NSFs)"; | |||
leaf nsf-name { | leaf nsf-name { | |||
type string; | type string; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The name of Network Security Function (NSF)"; | "The name of Network Security Function (NSF)"; | |||
} | } | |||
} | uses nsf-capabilities; | |||
} | } | |||
} | ||||
<CODE ENDS> | <CODE ENDS> | |||
Figure 3: YANG Data Module of I2NSF Capability | Figure 3: YANG Data Module of I2NSF Capability | |||
6. IANA Considerations | 7. IANA Considerations | |||
This document requests IANA to register the following URI in the | This document requests IANA to register the following URI in the | |||
"IETF XML Registry" [RFC3688]: | "IETF XML Registry" [RFC3688]: | |||
ID: yang:ietf-i2nsf-capability | ID: yang:ietf-i2nsf-capability | |||
URI: urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability | URI: urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability | |||
Registrant Contact: The IESG. | Registrant Contact: The IESG. | |||
XML: N/A; the requested URI is an XML namespace. | XML: N/A; the requested URI is an XML namespace. | |||
Filename: [ TBD-at-Registration ] | Filename: [ TBD-at-Registration ] | |||
Reference: [ RFC-to-be ] | Reference: [ RFC-to-be ] | |||
skipping to change at page 41, line 44 ¶ | skipping to change at page 47, line 14 ¶ | |||
This document requests IANA to register the following YANG module in | This document requests IANA to register the following YANG module in | |||
the "YANG Module Names" registry [RFC7950][RFC8525]: | the "YANG Module Names" registry [RFC7950][RFC8525]: | |||
Name: ietf-i2nsf-capability | Name: ietf-i2nsf-capability | |||
Maintained by IANA? N | Maintained by IANA? N | |||
Namespace: urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability | Namespace: urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability | |||
Prefix: nsfcap | Prefix: nsfcap | |||
Module: | Module: | |||
Reference: [ RFC-to-be ] | Reference: [ RFC-to-be ] | |||
7. Security Considerations | 8. Security Considerations | |||
The YANG module specified in this document defines a data schema | The YANG module specified in this document defines a data schema | |||
designed to be accessed through network management protocols such as | designed to be accessed through network management protocols such as | |||
NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is | NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer is | |||
the secure transport layer, and the required transport secure | the secure transport layer, and the required transport secure | |||
transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer | |||
is HTTPS, and the required transport secure transport is TLS | is HTTPS, and the required transport secure transport is TLS | |||
[RFC8446]. | [RFC8446]. | |||
The NETCONF access control model [RFC8341] provides a means of | The NETCONF access control model [RFC8341] provides a means of | |||
restricting access to specific NETCONF or RESTCONF users to a | restricting access to specific NETCONF or RESTCONF users to a | |||
preconfigured subset of all available NETCONF or RESTCONF protocol | preconfigured subset of all available NETCONF or RESTCONF protocol | |||
operations and content. | operations and content. | |||
There are a number of data nodes defined in this YANG module that are | 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 | writable, creatable, and deletable (i.e., config true, which is the | |||
default). These data nodes may be considered sensitive or vulnerable | default). These data nodes may be considered sensitive or vulnerable | |||
in some network environments. Write operations to these data nodes | in some network environments. Write operations to these data nodes | |||
could have a negative effect on network and security operations. | could have a negative effect on network and security operations. | |||
o ietf-i2nsf-capability: An attacker could alter the security | o list nsf: An attacker could alter the security capabilities | |||
capabilities associated with an NSF whereby disabling or enabling | associated with an NSF whereby disabling or enabling the evasion | |||
the evasion of security mitigations. | 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: | ||||
o ietf-i2nsf-capability: An attacker could gather the security | ||||
capability information of any NSF and use this information to | ||||
evade detection or filtering. | ||||
8. References | 9. References | |||
8.1. Normative References | 9.1. Normative References | |||
[I-D.ietf-i2nsf-capability] | [I-D.google-self-published-geofeeds] | |||
Xia, L., Strassner, J., Basile, C., and D. Lopez, | Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. | |||
"Information Model of NSFs Capabilities", draft-ietf- | Kumari, "A Format for Self-published IP Geolocation | |||
i2nsf-capability-05 (work in progress), April 2019. | Feeds", draft-google-self-published-geofeeds-09 (work in | |||
progress), February 2020. | ||||
[I-D.ietf-i2nsf-nsf-monitoring-data-model] | [I-D.ietf-i2nsf-nsf-monitoring-data-model] | |||
Jeong, J., Lingga, P., Hares, S., Xia, L., and H. | Jeong, J., Lingga, P., Hares, S., Xia, L., and H. | |||
Birkholz, "I2NSF NSF Monitoring YANG Data Model", draft- | Birkholz, "I2NSF NSF Monitoring YANG Data Model", draft- | |||
ietf-i2nsf-nsf-monitoring-data-model-04 (work in | ietf-i2nsf-nsf-monitoring-data-model-04 (work in | |||
progress), September 2020. | progress), September 2020. | |||
[I-D.ietf-i2nsf-sdn-ipsec-flow-protection] | [I-D.ietf-i2nsf-sdn-ipsec-flow-protection] | |||
Lopez, R., Lopez-Millan, G., and F. Pereniguez-Garcia, | Lopez, R., Lopez-Millan, G., and F. Pereniguez-Garcia, | |||
"Software-Defined Networking (SDN)-based IPsec Flow | "Software-Defined Networking (SDN)-based IPsec Flow | |||
Protection", draft-ietf-i2nsf-sdn-ipsec-flow-protection-08 | Protection", draft-ietf-i2nsf-sdn-ipsec-flow-protection-12 | |||
(work in progress), June 2020. | (work in progress), October 2020. | |||
[RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | [RFC0768] Postel, J., "User Datagram Protocol", STD 6, RFC 768, | |||
DOI 10.17487/RFC0768, August 1980, | DOI 10.17487/RFC0768, August 1980, | |||
<https://www.rfc-editor.org/info/rfc768>. | <https://www.rfc-editor.org/info/rfc768>. | |||
[RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | [RFC0791] Postel, J., "Internet Protocol", STD 5, RFC 791, | |||
DOI 10.17487/RFC0791, September 1981, | DOI 10.17487/RFC0791, September 1981, | |||
<https://www.rfc-editor.org/info/rfc791>. | <https://www.rfc-editor.org/info/rfc791>. | |||
[RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | [RFC0792] Postel, J., "Internet Control Message Protocol", STD 5, | |||
skipping to change at page 43, line 32 ¶ | skipping to change at page 48, line 44 ¶ | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, | |||
A., Peterson, J., Sparks, R., Handley, M., and E. | A., Peterson, J., Sparks, R., Handley, M., and E. | |||
Schooler, "SIP: Session Initiation Protocol", RFC 3261, | Schooler, "SIP: Session Initiation Protocol", RFC 3261, | |||
DOI 10.17487/RFC3261, June 2002, | DOI 10.17487/RFC3261, June 2002, | |||
<https://www.rfc-editor.org/info/rfc3261>. | <https://www.rfc-editor.org/info/rfc3261>. | |||
[RFC3444] Pras, A. and J. Schoenwaelder, "On the Difference between | ||||
Information Models and Data Models", RFC 3444, | ||||
DOI 10.17487/RFC3444, January 2003, | ||||
<https://www.rfc-editor.org/info/rfc3444>. | ||||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
<https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
[RFC3849] Huston, G., Lord, A., and P. Smith, "IPv6 Address Prefix | ||||
Reserved for Documentation", RFC 3849, | ||||
DOI 10.17487/RFC3849, July 2004, | ||||
<https://www.rfc-editor.org/info/rfc3849>. | ||||
[RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | [RFC4443] Conta, A., Deering, S., and M. Gupta, Ed., "Internet | |||
Control Message Protocol (ICMPv6) for the Internet | Control Message Protocol (ICMPv6) for the Internet | |||
Protocol Version 6 (IPv6) Specification", STD 89, | Protocol Version 6 (IPv6) Specification", STD 89, | |||
RFC 4443, DOI 10.17487/RFC4443, March 2006, | RFC 4443, DOI 10.17487/RFC4443, March 2006, | |||
<https://www.rfc-editor.org/info/rfc4443>. | <https://www.rfc-editor.org/info/rfc4443>. | |||
[RFC5737] Arkko, J., Cotton, M., and L. Vegoda, "IPv4 Address Blocks | [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | |||
Reserved for Documentation", RFC 5737, | RFC 4960, DOI 10.17487/RFC4960, September 2007, | |||
DOI 10.17487/RFC5737, January 2010, | <https://www.rfc-editor.org/info/rfc4960>. | |||
<https://www.rfc-editor.org/info/rfc5737>. | ||||
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
<https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
skipping to change at page 45, line 24 ¶ | skipping to change at page 50, line 24 ¶ | |||
[RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | [RFC8341] Bierman, A. and M. Bjorklund, "Network Configuration | |||
Access Control Model", STD 91, RFC 8341, | Access Control Model", STD 91, RFC 8341, | |||
DOI 10.17487/RFC8341, March 2018, | DOI 10.17487/RFC8341, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8341>. | <https://www.rfc-editor.org/info/rfc8341>. | |||
[RFC8407] Bierman, A., "Guidelines for Authors and Reviewers of | [RFC8407] Bierman, A., "Guidelines for Authors and Reviewers of | |||
Documents Containing YANG Data Models", BCP 216, RFC 8407, | Documents Containing YANG Data Models", BCP 216, RFC 8407, | |||
DOI 10.17487/RFC8407, October 2018, | DOI 10.17487/RFC8407, October 2018, | |||
<https://www.rfc-editor.org/info/rfc8407>. | <https://www.rfc-editor.org/info/rfc8407>. | |||
[RFC8431] Wang, L., Chen, M., Dass, A., Ananthakrishnan, H., Kini, | ||||
S., and N. Bahadur, "A YANG Data Model for the Routing | ||||
Information Base (RIB)", RFC 8431, DOI 10.17487/RFC8431, | ||||
September 2018, <https://www.rfc-editor.org/info/rfc8431>. | ||||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[RFC8519] Jethanandani, M., Agarwal, S., Huang, L., and D. Blair, | [RFC8519] Jethanandani, M., Agarwal, S., Huang, L., and D. Blair, | |||
"YANG Data Model for Network Access Control Lists (ACLs)", | "YANG Data Model for Network Access Control Lists (ACLs)", | |||
RFC 8519, DOI 10.17487/RFC8519, March 2019, | RFC 8519, DOI 10.17487/RFC8519, March 2019, | |||
<https://www.rfc-editor.org/info/rfc8519>. | <https://www.rfc-editor.org/info/rfc8519>. | |||
[RFC8525] Bierman, A., Bjorklund, M., Schoenwaelder, J., Watsen, K., | [RFC8525] Bierman, A., Bjorklund, M., Schoenwaelder, J., Watsen, K., | |||
and R. Wilton, "YANG Library", RFC 8525, | and R. Wilton, "YANG Library", RFC 8525, | |||
DOI 10.17487/RFC8525, March 2019, | DOI 10.17487/RFC8525, March 2019, | |||
<https://www.rfc-editor.org/info/rfc8525>. | <https://www.rfc-editor.org/info/rfc8525>. | |||
[RFC8805] Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. | [RFC8805] Kline, E., Duleba, K., Szamonek, Z., Moser, S., and W. | |||
Kumari, "A Format for Self-Published IP Geolocation | Kumari, "A Format for Self-Published IP Geolocation | |||
Feeds", RFC 8805, DOI 10.17487/RFC8805, August 2020, | Feeds", RFC 8805, DOI 10.17487/RFC8805, August 2020, | |||
<https://www.rfc-editor.org/info/rfc8805>. | <https://www.rfc-editor.org/info/rfc8805>. | |||
8.2. Informative References | 9.2. Informative References | |||
[Alshaer] Shaer, Al., Hamed, E., and H. Hamed, "Modeling and | ||||
management of firewall policies", 2004. | ||||
[Galitsky] | ||||
Galitsky, B. and R. Pampapathi, "Can many agents answer | ||||
questions better than one", First | ||||
Monday http://dx.doi.org/10.5210/fm.v10i1.1204, 2005. | ||||
[Hirschman] | ||||
Hirschman, L. and R. Gaizauskas, "Natural Language | ||||
Question Answering: The View from Here", Natural Language | ||||
Engineering 7:4, pgs 275-300, Cambridge University Press , | ||||
Nov 2001. | ||||
[Hohpe] Hohpe, G. and B. Woolf, "Enterprise Integration Patterns", | ||||
ISBN 0-32-120068-3 , 2003. | ||||
[I-D.ietf-i2nsf-terminology] | ||||
Hares, S., Strassner, J., Lopez, D., Xia, L., and H. | ||||
Birkholz, "Interface to Network Security Functions (I2NSF) | ||||
Terminology", draft-ietf-i2nsf-terminology-08 (work in | ||||
progress), July 2019. | ||||
[I-D.ietf-supa-generic-policy-info-model] | ||||
Strassner, J., Halpern, J., and S. Meer, "Generic Policy | ||||
Information Model for Simplified Use of Policy | ||||
Abstractions (SUPA)", draft-ietf-supa-generic-policy-info- | ||||
model-03 (work in progress), May 2017. | ||||
[IANA-Protocol-Numbers] | [IANA-Protocol-Numbers] | |||
"Assigned Internet Protocol Numbers", Available: | "Assigned Internet Protocol Numbers", Available: | |||
https://www.iana.org/assignments/protocol- | https://www.iana.org/assignments/protocol- | |||
numbers/protocol-numbers.xhtml, September 2020. | numbers/protocol-numbers.xhtml, September 2020. | |||
[Martin] Martin, R., "Agile Software Development, Principles, | ||||
Patterns, and Practices", Prentice-Hall , ISBN: | ||||
0-13-597444-5 , 2002. | ||||
[OODMP] "http://www.oodesign.com/mediator-pattern.html". | ||||
[OODOP] "http://www.oodesign.com/mediator-pattern.html". | ||||
[OODSRP] "http://www.oodesign.com/mediator-pattern.html". | ||||
Appendix A. Configuration Examples | Appendix A. Configuration Examples | |||
This section shows configuration examples of "ietf-i2nsf-capability" | This section shows configuration examples of "ietf-i2nsf-capability" | |||
module for capabilities registration of general firewall. | module for capabilities registration of general firewall. | |||
A.1. Example 1: Registration for the Capabilities of a General Firewall | A.1. Example 1: Registration for the Capabilities of a General Firewall | |||
This section shows a configuration example for the capabilities | This section shows a configuration example for the capabilities | |||
registration of a general firewall in either an IPv4 network or an | registration of a general firewall in either an IPv4 network or an | |||
IPv6 network. | IPv6 network. | |||
skipping to change at page 47, line 41 ¶ | skipping to change at page 52, line 41 ¶ | |||
<egress-action-capability>pass</egress-action-capability> | <egress-action-capability>pass</egress-action-capability> | |||
<egress-action-capability>drop</egress-action-capability> | <egress-action-capability>drop</egress-action-capability> | |||
<egress-action-capability>alert</egress-action-capability> | <egress-action-capability>alert</egress-action-capability> | |||
</action-capabilities> | </action-capabilities> | |||
</nsf> | </nsf> | |||
Figure 4: Configuration XML for the Capabilities Registration of a | Figure 4: Configuration XML for the Capabilities Registration of a | |||
General Firewall in an IPv4 Network | General Firewall in an IPv4 Network | |||
Figure 4 shows the configuration XML for the capabilities | Figure 4 shows the configuration XML for the capabilities | |||
registration of a general firewall as an NSF in an IPv4 network | registration of a general firewall as an NSF in an IPv4 network. Its | |||
[RFC5737]. Its capabilities are as follows. | capabilities are as follows. | |||
1. The name of the NSF is general_firewall. | 1. The name of the NSF is general_firewall. | |||
2. The NSF can inspect a protocol, an exact IPv4 address, and a | 2. The NSF can inspect a protocol, an exact IPv4 address, and a | |||
range of IPv4 addresses for IPv4 packets. | range of IPv4 addresses for IPv4 packets. | |||
3. The NSF can inspect an exact port number and a range of port | 3. The NSF can inspect an exact port number and a range of port | |||
numbers for the fourth layer packets. | numbers for the fourth layer packets. | |||
4. The NSF can control whether the packets are allowed to pass, | 4. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
<nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | <nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | |||
<nsf-name>general_firewall</nsf-name> | <nsf-name>general_firewall</nsf-name> | |||
<condition-capabilities> | <condition-capabilities> | |||
<generic-nsf-capabilities> | <generic-nsf-capabilities> | |||
<ipv6-capability>ipv6-protocol</ipv6-capability> | <ipv6-capability>ipv6-next-header</ipv6-capability> | |||
<ipv6-capability>exact-ipv6-address</ipv6-capability> | <ipv6-capability>exact-ipv6-address</ipv6-capability> | |||
<ipv6-capability>range-ipv6-address</ipv6-capability> | <ipv6-capability>range-ipv6-address</ipv6-capability> | |||
<tcp-capability>exact-fourth-layer-port-num</tcp-capability> | <tcp-capability>exact-fourth-layer-port-num</tcp-capability> | |||
<tcp-capability>range-fourth-layer-port-num</tcp-capability> | <tcp-capability>range-fourth-layer-port-num</tcp-capability> | |||
</generic-nsf-capabilities> | </generic-nsf-capabilities> | |||
</condition-capabilities> | </condition-capabilities> | |||
<action-capabilities> | <action-capabilities> | |||
<ingress-action-capability>pass</ingress-action-capability> | <ingress-action-capability>pass</ingress-action-capability> | |||
<ingress-action-capability>drop</ingress-action-capability> | <ingress-action-capability>drop</ingress-action-capability> | |||
<ingress-action-capability>alert</ingress-action-capability> | <ingress-action-capability>alert</ingress-action-capability> | |||
skipping to change at page 48, line 34 ¶ | skipping to change at page 53, line 34 ¶ | |||
<egress-action-capability>drop</egress-action-capability> | <egress-action-capability>drop</egress-action-capability> | |||
<egress-action-capability>alert</egress-action-capability> | <egress-action-capability>alert</egress-action-capability> | |||
</action-capabilities> | </action-capabilities> | |||
</nsf> | </nsf> | |||
Figure 5: Configuration XML for the Capabilities Registration of a | Figure 5: Configuration XML for the Capabilities Registration of a | |||
General Firewall in an IPv6 Network | General Firewall in an IPv6 Network | |||
In addition, Figure 5 shows the configuration XML for the | In addition, Figure 5 shows the configuration XML for the | |||
capabilities registration of a general firewall as an NSF in an IPv6 | capabilities registration of a general firewall as an NSF in an IPv6 | |||
network [RFC3849]. Its capabilities are as follows. | network. Its capabilities are as follows. | |||
1. The name of the NSF is general_firewall. | 1. The name of the NSF is general_firewall. | |||
2. The NSF can inspect a protocol, an exact IPv6 address, and a | 2. The NSF can inspect a protocol (Next-Header), an exact IPv6 | |||
range of IPv6 addresses for IPv6 packets. | address, and a range of IPv6 addresses for IPv6 packets. | |||
3. The NSF can inspect an exact port number and a range of port | 3. The NSF can inspect an exact port number and a range of port | |||
numbers for the fourth layer packets. | numbers for the fourth layer packets. | |||
4. The NSF can control whether the packets are allowed to pass, | 4. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
A.2. Example 2: Registration for the Capabilities of a Time-based | A.2. Example 2: Registration for the Capabilities of a Time-based | |||
Firewall | Firewall | |||
This section shows a configuration example for the capabilities | This section shows a configuration example for the capabilities | |||
registration of a time-based firewall in either an IPv4 network or an | registration of a time-based firewall in either an IPv4 network or an | |||
IPv6 network. | IPv6 network. | |||
<nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | <nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | |||
<nsf-name>time_based_firewall</nsf-name> | <nsf-name>time_based_firewall</nsf-name> | |||
<time-capabilities>absolute-time</time-capabilities> | <time-capabilities>absolute-time</time-capabilities> | |||
<time-capabilities>periodic-time</time-capabilities> | <time-capabilities>periodic-time</time-capabilities> | |||
<condition-capabilities> | <condition-capabilities> | |||
<generic-nsf-capabilities> | <generic-nsf-capabilities> | |||
<ipv4-capability>ipv4-protocol</ipv4-capability> | <ipv4-capability>ipv4-next-header</ipv4-capability> | |||
<ipv4-capability>exact-ipv4-address</ipv4-capability> | <ipv4-capability>exact-ipv4-address</ipv4-capability> | |||
<ipv4-capability>range-ipv4-address</ipv4-capability> | <ipv4-capability>range-ipv4-address</ipv4-capability> | |||
</generic-nsf-capabilities> | </generic-nsf-capabilities> | |||
</condition-capabilities> | </condition-capabilities> | |||
<action-capabilities> | <action-capabilities> | |||
<ingress-action-capability>pass</ingress-action-capability> | <ingress-action-capability>pass</ingress-action-capability> | |||
<ingress-action-capability>drop</ingress-action-capability> | <ingress-action-capability>drop</ingress-action-capability> | |||
<ingress-action-capability>alert</ingress-action-capability> | <ingress-action-capability>alert</ingress-action-capability> | |||
<egress-action-capability>pass</egress-action-capability> | <egress-action-capability>pass</egress-action-capability> | |||
<egress-action-capability>drop</egress-action-capability> | <egress-action-capability>drop</egress-action-capability> | |||
<egress-action-capability>alert</egress-action-capability> | <egress-action-capability>alert</egress-action-capability> | |||
</action-capabilities> | </action-capabilities> | |||
</nsf> | </nsf> | |||
Figure 6: Configuration XML for the Capabilities Registration of a | Figure 6: Configuration XML for the Capabilities Registration of a | |||
Time-based Firewall in an IPv4 Network | Time-based Firewall in an IPv4 Network | |||
Figure 6 shows the configuration XML for the capabilities | Figure 6 shows the configuration XML for the capabilities | |||
registration of a time-based firewall as an NSF in an IPv4 network | registration of a time-based firewall as an NSF in an IPv4 network. | |||
[RFC5737]. Its capabilities are as follows. | Its capabilities are as follows. | |||
1. The name of the NSF is time_based_firewall. | 1. The name of the NSF is time_based_firewall. | |||
2. The NSF can execute the security policy rule according to | 2. The NSF can execute the security policy rule according to | |||
absolute time and periodic time. | absolute time and periodic time. | |||
3. The NSF can inspect a protocol, an exact IPv4 address, and a | 3. The NSF can inspect a protocol (Next-Header), an exact IPv4 | |||
range of IPv4 addresses for IPv4 packets. | address, and a range of IPv4 addresses for IPv4 packets. | |||
4. The NSF can control whether the packets are allowed to pass, | 4. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
<nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | <nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | |||
<nsf-name>time_based_firewall</nsf-name> | <nsf-name>time_based_firewall</nsf-name> | |||
<time-capabilities>absolute-time</time-capabilities> | <time-capabilities>absolute-time</time-capabilities> | |||
<time-capabilities>periodic-time</time-capabilities> | <time-capabilities>periodic-time</time-capabilities> | |||
<condition-capabilities> | <condition-capabilities> | |||
<generic-nsf-capabilities> | <generic-nsf-capabilities> | |||
<ipv6-capability>ipv6-protocol</ipv6-capability> | <ipv6-capability>ipv6-next-header</ipv6-capability> | |||
<ipv6-capability>exact-ipv6-address</ipv6-capability> | <ipv6-capability>exact-ipv6-address</ipv6-capability> | |||
<ipv6-capability>range-ipv6-address</ipv6-capability> | <ipv6-capability>range-ipv6-address</ipv6-capability> | |||
</generic-nsf-capabilities> | </generic-nsf-capabilities> | |||
</condition-capabilities> | </condition-capabilities> | |||
<action-capabilities> | <action-capabilities> | |||
<ingress-action-capability>pass</ingress-action-capability> | <ingress-action-capability>pass</ingress-action-capability> | |||
<ingress-action-capability>drop</ingress-action-capability> | <ingress-action-capability>drop</ingress-action-capability> | |||
<ingress-action-capability>alert</ingress-action-capability> | <ingress-action-capability>alert</ingress-action-capability> | |||
<egress-action-capability>pass</egress-action-capability> | <egress-action-capability>pass</egress-action-capability> | |||
<egress-action-capability>drop</egress-action-capability> | <egress-action-capability>drop</egress-action-capability> | |||
<egress-action-capability>alert</egress-action-capability> | <egress-action-capability>alert</egress-action-capability> | |||
</action-capabilities> | </action-capabilities> | |||
</nsf> | </nsf> | |||
Figure 7: Configuration XML for the Capabilities Registration of a | Figure 7: Configuration XML for the Capabilities Registration of a | |||
Time-based Firewall in an IPv6 Network | Time-based Firewall in an IPv6 Network | |||
In addition, Figure 7 shows the configuration XML for the | In addition, Figure 7 shows the configuration XML for the | |||
capabilities registration of a time-based firewall as an NSF in an | capabilities registration of a time-based firewall as an NSF in an | |||
IPv6 network [RFC3849]. Its capabilities are as follows. | IPv6 network. Its capabilities are as follows. | |||
1. The name of the NSF is time_based_firewall. | 1. The name of the NSF is time_based_firewall. | |||
2. The NSF can execute the security policy rule according to | 2. The NSF can execute the security policy rule according to | |||
absolute time and periodic time. | absolute time and periodic time. | |||
3. The NSF can inspect a protocol, an exact IPv6 address, and a | 3. The NSF can inspect a protocol (Next-Header), an exact IPv6 | |||
range of IPv6 addresses for IPv6 packets. | address, and a range of IPv6 addresses for IPv6 packets. | |||
4. The NSF can control whether the packets are allowed to pass, | 4. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
A.3. Example 3: Registration for the Capabilities of a Web Filter | A.3. Example 3: Registration for the Capabilities of a Web Filter | |||
This section shows a configuration example for the capabilities | This section shows a configuration example for the capabilities | |||
registration of a web filter. | registration of a web filter. | |||
<nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | <nsf xmlns="urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability"> | |||
skipping to change at page 51, line 31 ¶ | skipping to change at page 56, line 31 ¶ | |||
Figure 8: Configuration XML for the Capabilities Registration of a | Figure 8: Configuration XML for the Capabilities Registration of a | |||
Web Filter | Web Filter | |||
Figure 8 shows the configuration XML for the capabilities | Figure 8 shows the configuration XML for the capabilities | |||
registration of a web filter as an NSF. Its capabilities are as | registration of a web filter as an NSF. Its capabilities are as | |||
follows. | follows. | |||
1. The name of the NSF is web_filter. | 1. The name of the NSF is web_filter. | |||
2. The NSF can inspect url for http and https packets. | 2. The NSF can inspect URL matched from a user-defined URL Database. | |||
User can add a new URL into the database. | ||||
3. The NSF can control whether the packets are allowed to pass, | 3. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
A.4. Example 4: Registration for the Capabilities of a VoIP/VoLTE | A.4. Example 4: Registration for the Capabilities of a VoIP/VoLTE | |||
Filter | Filter | |||
This section shows a configuration example for the capabilities | This section shows a configuration example for the capabilities | |||
registration of a VoIP/VoLTE filter. | registration of a VoIP/VoLTE filter. | |||
skipping to change at page 53, line 32 ¶ | skipping to change at page 58, line 32 ¶ | |||
Figure 10: Configuration XML for the Capabilities Registration of a | Figure 10: Configuration XML for the Capabilities Registration of a | |||
HTTP and HTTPS Flood Mitigator | HTTP and HTTPS Flood Mitigator | |||
Figure 10 shows the configuration XML for the capabilities | Figure 10 shows the configuration XML for the capabilities | |||
registration of a HTTP and HTTPS flood mitigator as an NSF. Its | registration of a HTTP and HTTPS flood mitigator as an NSF. Its | |||
capabilities are as follows. | capabilities are as follows. | |||
1. The name of the NSF is http_and_https_flood_mitigation. | 1. The name of the NSF is http_and_https_flood_mitigation. | |||
2. The IPv4 address of the NSF is assumed to be 192.0.2.11 | 2. The NSF can control the amount of packets for HTTP and HTTPS | |||
[RFC5737]. Also, the IPv6 address of the NSF is assumed to be | ||||
2001:DB8:0:1::11 [RFC3849]. | ||||
3. 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 | packets, which are routed to the NSF's IPv4 address or the NSF's | |||
IPv6 address. | IPv6 address. | |||
4. The NSF can control whether the packets are allowed to pass, | 3. The NSF can control whether the packets are allowed to pass, | |||
drop, or alert. | drop, or alert. | |||
Appendix B. Acknowledgments | Appendix B. Acknowledgments | |||
This work was supported by Institute of Information & Communications | This work was supported by Institute of Information & Communications | |||
Technology Planning & Evaluation (IITP) grant funded by the Korea | Technology Planning & Evaluation (IITP) grant funded by the Korea | |||
MSIT (Ministry of Science and ICT) (R-20160222-002755, Cloud based | MSIT (Ministry of Science and ICT) (R-20160222-002755, Cloud based | |||
Security Intelligence Technology Development for the Customized | Security Intelligence Technology Development for the Customized | |||
Security Service Provisioning). | Security Service Provisioning). This work was supported in part by | |||
the IITP grant funded by the MSIT (2020-0-00395, Standard Development | ||||
of Blockchain based Network Management Automation Technology). | ||||
Appendix C. Contributors | Appendix C. Contributors | |||
This document is made by the group effort of I2NSF working group. | This document is made by the group effort of I2NSF working group. | |||
Many people actively contributed to this document, such as Acee | Many people actively contributed to this document, such as Acee | |||
Lindem, Roman Danyliw, and Tom Petch. The authors sincerely | Lindem, Roman Danyliw, and Tom Petch. The authors sincerely | |||
appreciate their contributions. | appreciate their contributions. | |||
The following are co-authors of this document: | The following are co-authors of this document: | |||
Patrick Lingga | ||||
Department of Computer Science and Engineering | ||||
Sungkyunkwan University | ||||
2066 Seo-ro Jangan-gu | ||||
Suwon, Gyeonggi-do 16419 | ||||
Republic of Korea | ||||
EMail: patricklink@skku.edu | ||||
Liang Xia | ||||
Huawei | ||||
101 Software Avenue | ||||
Nanjing, Jiangsu 210012 | ||||
China | ||||
EMail: Frank.Xialiang@huawei.com | ||||
Cataldo Basile | ||||
Politecnico di Torino | ||||
Corso Duca degli Abruzzi, 34 | ||||
Torino, 10129 | ||||
Italy | ||||
EMail: cataldo.basile@polito.it | ||||
John Strassner | ||||
Huawei | ||||
2330 Central Expressway | ||||
Santa Clara, CA 95050 | ||||
USA | ||||
EMail: John.sc.Strassner@huawei.com | ||||
Diego R. Lopez | ||||
Telefonica I+D | ||||
Zurbaran, 12 | ||||
Madrid, 28010 | ||||
Spain | ||||
Email: diego.r.lopez@telefonica.com | ||||
Hyoungshick Kim | Hyoungshick Kim | |||
Department of Computer Science and Engineering | Department of Computer Science and Engineering | |||
Sungkyunkwan University | Sungkyunkwan University | |||
2066 Seo-ro Jangan-gu | 2066 Seo-ro Jangan-gu | |||
Suwon, Gyeonggi-do 16419 | Suwon, Gyeonggi-do 16419 | |||
Republic of Korea | Republic of Korea | |||
EMail: hyoung@skku.edu | EMail: hyoung@skku.edu | |||
Daeyoung Hyun | Daeyoung Hyun | |||
skipping to change at page 54, line 41 ¶ | skipping to change at page 60, line 37 ¶ | |||
Dongjin Hong | Dongjin Hong | |||
Department of Electronic, Electrical and Computer Engineering | Department of Electronic, Electrical and Computer Engineering | |||
Sungkyunkwan University | Sungkyunkwan University | |||
2066 Seo-ro Jangan-gu | 2066 Seo-ro Jangan-gu | |||
Suwon, Gyeonggi-do 16419 | Suwon, Gyeonggi-do 16419 | |||
Republic of Korea | Republic of Korea | |||
EMail: dong.jin@skku.edu | EMail: dong.jin@skku.edu | |||
Liang Xia | ||||
Huawei | ||||
101 Software Avenue | ||||
Nanjing, Jiangsu 210012 | ||||
China | ||||
EMail: Frank.Xialiang@huawei.com | ||||
Jung-Soo Park | Jung-Soo Park | |||
Electronics and Telecommunications Research Institute | Electronics and Telecommunications Research Institute | |||
218 Gajeong-Ro, Yuseong-Gu | 218 Gajeong-Ro, Yuseong-Gu | |||
Daejeon, 34129 | Daejeon, 34129 | |||
Republic of Korea | Republic of Korea | |||
EMail: pjs@etri.re.kr | EMail: pjs@etri.re.kr | |||
Tae-Jin Ahn | Tae-Jin Ahn | |||
Korea Telecom | Korea Telecom | |||
End of changes. 235 change blocks. | ||||
1531 lines changed or deleted | 1830 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |