One document matched: draft-hares-i2nsf-capability-yang-01.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC2975 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2975.xml">
<!ENTITY RFC3198 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3198.xml">
<!ENTITY RFC3234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3234.xml">
<!ENTITY RFC3539 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3539.xml">
<!ENTITY RFC4949 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4949.xml">
<!ENTITY RFC7297 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.7277.xml">
<!ENTITY I-D.ietf-netmod-acl-model SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-netmod-acl-model-06.xml">
<!ENTITY I-D.ietf-opsawg-firewalls SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-opsawg-firewalls-01.xml">
<!ENTITY I-D.ietf-i2nsf-gap-analysis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-i2nsf-gap-analysis-00.xml">
<!ENTITY I-D.ietf-i2nsf-problem-and-use-cases SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-i2nsf-problem-and-use-cases-00.xml">
<!ENTITY I-D.ietf-i2nsf-terminology SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-i2nsf-terminology-00.xml">
<!ENTITY I-D.xia-i2nsf-capability-interface-im SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-xia-i2nsf-capability-interface-im-05.xml">
<!ENTITY I-D.xia-i2nsf-service-interface-dm SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-xia-i2nsf-service-interface-dm-00.xml">
<!ENTITY I-D.ietf-i2rs-pkt-eca-data-model SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-i2rs-pkt-eca-data-model-00.xml">
<!ENTITY I-D.ietf-i2rs-fb-rib-data-model SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.draft-ietf-i2rs-fb-rib-data-model-00.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<rfc category="std" docName="draft-hares-i2nsf-capability-yang-01.txt" ipr="trust200902">
<front>
<title abbrev="I2NSF Terminology">I2NSF Capability Yang Model </title>
<author fullname="Susan Hares" initials="S" surname="Hares">
<organization>Huawei</organization>
<address>
<postal>
<street>7453 Hickory Hill</street>
<city>Saline</city>
<region>MI</region>
<code>48176</code>
<country>USA</country>
</postal>
<phone>+1-734-604-0332</phone>
<email>shares@ndzh.com</email>
</address>
</author>
<author fullname="Robert Moskowitz" initials="R." surname="Moskowitz">
<organization>HTT Consulting</organization>
<address>
<postal>
<street> </street>
<city> Oak Park</city>
<region>MI</region>
<code></code>
<country>USA</country>
</postal>
<phone>+1-248-968-9809 </phone>
<email>rgm@htt-consult.com</email>
</address>
</author>
<author fullname="Liang Xia (Frank)" initials="" surname="Xia">
<organization>Huawei</organization>
<address>
<postal>
<street>101 Software Avenue, Yuhuatai District </street>
<city>Nanjing</city>
<region>Jiangsu</region>
<code></code>
<country>China</country>
</postal>
<phone></phone>
<email>Frank.xialiang@huawei.com</email>
</address>
</author>
<date year="2016" />
<area>Security Area</area>
<workgroup>I2NSF</workgroup>
<keyword>RFC</keyword>
<keyword>Request for Comments</keyword>
<keyword>I-D</keyword>
<keyword>Internet-Draft</keyword>
<keyword>I2NSF</keyword>
<abstract>
<t> This document defines a yang model that
enables a I2NSF controller to control various network
security functions in Network security devices.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t><xref target="I-D.ietf-i2nsf-problem-and-use-cases"></xref> proposes two
different types of interfaces:
<list style="symbols">
<t>North-bound interface (NBI) provided by the network security
functions (NSFs)
</t>
<t>Interface between I2NSF user/client with network controller:
</t>
</list>
This document provides a yang models that define the
capabilities for security devices that can be utilized by
I2NSF NBI between the I2RS network controller and the NSF devices
to express the NSF devices capabilities. It can also be used
by the IN2SF user application (or I2NSF client) to network controller to
provide a complete list of the I2NSF capabilities the Network controller
can control.
</t>
<t>
This document defines a yang data models based on the <xref target="I-D.xia-i2nsf-capability-interface-im"></xref>,
and initial work done in <xref target="I-D.xia-i2nsf-service-interface-dm"></xref>.
Terms used in document are defined in <xref target="I-D.ietf-i2nsf-terminology"></xref>.
</t>
<t>This model is an attempt to merge draft-jeong-i2nsf-capability-interface-yang-02.txt, but it
has not bene reviewed by this draft's authors. Hopefully, this is a good start for a merge.
The Yang module has not been changed to match the high-level-yang. This seemed prudent
until we agreed upon the merge.
</t>
<t>
<xref target="I-D.xia-i2nsf-capability-interface-im"></xref> defines the following
type of functionality in NSFs.
<list style="symbols">
<t> network security control
</t>
<t> content security control, and
</t>
<t>attack mitigation
control
</t>
</list>
</t>
<t>This document contains high-level yang for each type of control.
The features in each section have been built up from the following sources:
<list style="hanging">
<t hangText="open-source: ">firewalls, IDS, IPS. This includes
ECA policy for
</t>
<t hangText="basic-firewalls: "> in router, switches,
firewalls,
</t>
<t hangText="firewall products"> commercial level
</t>
<t hangText="specialized devices"> IDS, IPS</t>
</list>
</t>
</section>
<section title="High-level Yang">
<t>
This section provides an overview of the high level yang.
</t>
<section title="capability per NSF">
<t>
The high level yang capabilities per NSF device, controller, or application is the following:
</t>
<t>
<figure>
<artwork>
ietf-i2nsf-capability
+--rw nsf-capabilities
+--rw capability* [name]
+--rw nsf-name string
+--rw cfg-net-secctl-capabilities
| uses pkt-eca-policy:pkt-eca-policy-set
+--rw cfg-net-sec-content-capabilities
| uses i2nsf-content-caps
| uses i2nsf-content-sec-actions
+--rw cfg-attack-mitigate-capabilities*
| uses i2nsf-mitigate-caps
+--rw ITResource [ITresource-name]
| uses cfg-ITResources
Figure 1
</artwork>
</figure>
</t>
<t>Each of these section mirror sections in:
<xref target="I-D.xia-i2nsf-capability-interface-im"></xref>.
The high level yang for cfg-net-secctl-capabilities,
cfg-net-sec-content-capabilities, and
cfg-attack-mitigate-capabilities. This draft is also utilizes
the concepts originated in Basile, Lioy,Pitscheider, and Zhao[2015]
concerning conflict resolution, use of external data, and ITResources.
The authors are grateful to Cataldo for pointing out this excellent work.
</t>
</section>
<section title="Network Security Control">
<t>
This section defines the network security control capabilites
for each NSF entity (device, controller, APP). The portion of the
top level model that this explains is the following:
</t>
<t>
<figure>
<artwork>
+--rw cfg-net-secctl-capabilities
| uses pkt-eca-policy:pkt-eca-policy-set
</artwork>
</figure>
</t>
<t>
Note that yang simply uses the
ietf-pkt-eca-policy-cfg from
<xref target="I-D.ietf-i2rs-pkt-eca-data-model"></xref>.
</t>
<t>
<figure>
<artwork>
module ietf-pkt-eca-policy
+--rw pkt-eca-policy-cfg
| +--rw pkt-eca-policy-set
| +--rw policies* [policy-name]
| | +--rw policy-name string
| | +--rw vrf-name string
| | +--rw address-family
| | +--rw rule-list* [rule-name]
| | | +--rw rule-name
| | | +--rw rule-order-id uint16
| | | +--rw default-action-id integer
| | | +--rw default-resolution-strategy-id integer
| +--rw rules* [order-id rule-name]
| +--rw order-id uint16
| +--rw rule-name string
| +--rw policy-name string
| +--rw cfg-rule-conditions [rule-cnd-id]
| | +--rw rule-cnd-id uint32
| | +--rw support
| | | +--rw event-matches boolean
| | | +--rw pkt-matches boolean
| | | +--rw usr-context-matches boolean
| | +--rw eca-events-match* [rule-event-id]
| | | +--rw rule-event-it uint16
| | | | ... time-event match (see below)
| | +--rw eca-condition-match
| | | +--rw eca-pkt-matches* [pkt-match-id]
| | | | ...(see packet matches below)
| | | | ... (address, packet header, packet payload)
| | | +--rw eca-user-context-matches* [usr-match-id]
| | | | ... (see user context match below)
| +--rw cfg-rule-actions [cfgr-action-id]
| | +--rw cfgr-action-id
| | +--rw eca-actions* [action-id]
| | | +--rw action-id uint32
| | | +--rw eca-ingress-actions*
| | | | ... (permit, deny, mirror)
| | | +--rw eca-fwd-actions*
| | | | ... (invoke, tunnel encap, fwd)
| | | +--rw eca-egress-acttions*
| | | | .. .
| | | +--rw eca-qos-actions*
| | | | ...
| | | +--rw eca-security-actions*
| +--rw policy-conflict-resolution* [strategy-id]
| | +--rw strategy-id integer
| | +--rw filter-strategy identityref
| | | .. FMR, ADTP, Longest-match
| | +--rw global-strategy identityref
| | +--rw mandatory-strategy identityref
| | +--rw local-strategy identityref
| | +--rw resolution-fcn uint32
| | +--rw resolution-value uint32
| | +--rw resolution-info string
| | +--rw associated-ext-data*
| | | +--rw ext-data-id integer
| +--rw cfg-external-data* [cfg-ext-data-id]
| | +--rw cfg-ext-data-id integer
| | +--rw data-type integer
| | +--rw priority uint64
| | | uses external-data-forms
| | ... (other external data)
+--rw pkt-eca-policy-opstate
+--rw pkt-eca-opstate
+--rw policies-opstat* [policy-name]
| +--rw rules-installed;
| +--rw rules_opstat* [rule-name]
| +--rw strategy-used [strategy-id]
+--rw rules_opstate* [rule-order rule-name]
| +--rw status
| +--rw rule-inactive-reason
| +--rw rule-install-reason
| +--rw rule-installer
| +--rw refcnt
+--rw rules_pktstats* [rule-order rule-name]
| +--rw pkts-matched
| +--rw pkts-modified
| +--rw pkts-forward
+--rw op-external-data [op-ext-data-id]
| +--rw op-ext-data-id integer
| +--rw type identityref
| +--rw installed-priority integer
| | (other details on external data )
figure 2
</artwork>
</figure>
</t>
</section>
<section title="Security Content Capabilities ">
<t>
This section expands the
<figure>
<artwork>
+--rw cfg-net-sec-content-capabilities
| uses i2nsf-content-caps
| uses i2nsf-content-sec-actions
</artwork>
</figure>
</t>
<t>
Content Security Control
<figure>
<artwork>
+--rw cfg-netsec-content-caps*
| +--rw cfg-groups* [group-name]
| | +--rw group-name string
| | +--rw group-rule-list* [rule-name]
| | | +--rw rule-name string
| | | +--rw rule-order-id integer
| | | +--rw default-action-id integer
| | | +--rw default-resolution-strategy-id integer|
| +--rw cfg-netsec-content-rules* [rule-order-id rule-name]
| | +--rw cfg-netsec-content-rule
| | | +--rw rule-order-id integer
| | | +--rw rule-name string
| | | +--rw cfg-filter-rules
| | | | +--rw cfg-anti-virus-rule
| | | | | +--rw antivirus-support? Boolean
| | | | | +--rw source string
| | | +--rw cfg-IPS-rule
| | | | +--rw ips-support? boolean
| | | | +--rw source string
| | | +--rw cfg-IDS-rule
| | | | +--rw ids-support? boolean
| | | | +--rw source string
| | | +--rw cfg-url-filter-rule
| | | | +--rw url-filtering-support? boolean
| | | | +--rw source string
| | | +--rw cfg-file-block-rule
| | | | +--rw file-blocking-support? boolean
| | | | +--rw source string
| | | +--rw cfg-data-filter-rule
| | | | +--rw data-filtering-support? boolean
| | | | +--rw source string
| | | | | ... description
| | | +--rw cfg-APP-behave-rule
| | | | +--rw app-control-support? boolean
| | | | +--rw source string
| | | +--rw cfg-mail-filter-rule
| | | | +--rw mail-filter-support? boolean
| | | | +--rw source string
| | | +--rw cfg-pkt-capture-rule
| | | | +--rw pkt-capture-support? boolean
| | | | +--rw source string
| | | +--rw cfg-file-isolate-rule
| | | | +--rw file-isolation-support? boolean
| | | | +--rw source string
| | | +--rw voip-volte-rule
| | | | +--rw voip-volte-support? boolean
+--rw cfg-sec-content-actions
| +--voip-volte-rules* [voip-volte-rule-id]
| | +--rw voip-volte-rule-id uint16
| | +--rw voip-volte-event
| | | +--rw called-voip boolean
| | | +--rw called-volte boolean
| | +--rw condition-match
| | | +--rw sip-header* [sip-header-uri]
| | | +--rw sip-header-uri string
| | | +--rw sip-header-method string
| | | +--rw expire-time yang:date-and-time
| | | +--rw sip-header-user-agent uint32
| | | +--rw cell-region* [cell-id-region]
| | | | +-rw cell-id-region uint32
| | +--rw action
| | | +--rw action-type identityref
| | | +--rw (action-type)?
| | | | +--: (ingress-action)
| | | | | +--rw ingress-permit boolean
| | | | | | +--rw ingress-deny boolean
| | | | | | +--rw ingress-mirror boolean
| | | | +--: (egress-action)
| | | | | | +--rw egress-redirection boolean
figure 3
</artwork>
</figure>
</t>
</section>
<section title="Attack Mitigation Capabilities">
<t>
The high level yang below expands the following
section of the top-level model:
</t>
<t>
<figure>
<artwork>
+--rw cfg-attack-mitigate-capabilities
| uses cfg-attack-mitigate-caps
</artwork>
</figure>
</t>
<t>
<figure>
<artwork>
Attack mitigation
+--rw cfg-attack-mitigate-caps
| +--rw cfg-groups* [group-name]
| | +--rw group-name string
| | +--rw group-rule-list* [rule-name]
| | | +--rw rule-name string
| | | +--rw rule-order-id integer
| | | +--rw default-action-id integer
| | | +--rw default-resolution-strategy-id integer|
| +--rw cfg-netsec-content-rules* [rule-order-id rule-name]
| | +--rw rule-order-id integer
| | +--rw attack-mitigation-type identityref
| | +--:(network-attack-type)?
| | | +--:sync-flood
| | | +--rw syn-flood-support boolean
| | | +--rw sync-flood* [sync-flood-fcn]
| | | +--rw sync-flood-fcn uint16
| | | +--:(udp-flood)
| | | | +--rw udp-flood-supported boolean
| | | | +--rw udp-flood-fcn string //std or vendor name
| | | +--:(icmp-flood)
| | | | +--rw icmp-flood-supported boolean
| | | | +--rw cfg-icmp-flood* [icmp-flood-fcn]
| | | | +--rw icmp-flood-fcn string
| | | +--:(ip_frag_flood)
| | | | +--rw ipfrag-flood-fcn-supported boolean
| | | +--rw cfg-ip-frag-flood* [ipfrag-flood-fcn]
| | | | +--rw ipfrag-flood-fcn string //std/vendor name
| | | +--:(http_flood)
| | | | +--rw http-flood-fcn-supported boolean
| | | | +--rw cfg-http-flood* [http-flood-fcn]
| | | | +--rw http-flood-fcn string
| | | +--:(dns-flood)
| | | | +--rw dns-flood-fcn-supported boolean
| | | | +--rw cfg-dns-flood* [dns-flood-fcn]
| | | | +--rw dns-flood-fcn string //std or vendor name
| | | +--:(dns-amplify)
| | | | +--rw dns-amp-fcn-supported boolean
| | | | +--rw cfg-dns-amplify* [dns-amp-fcn]
| | | | +--rw dns-amp-fcn string //std or vendor name
| | | +--:(SSL-DDoS)
| | | | +--rw ssl-ddos-fcn-support boolean
| | | | +--rw cfg-ssl-ddos* [ssl-dos-fcn]
| | | | +--rw ssl-dos-fcn string
| | | +--: (ip-sweep):
| | | | +--rw ipsweep-fcn-supported boolean
| | | | +--rw cfg-IP-Sweep* [ipsweep-fcn]
| | | | +--rw ipsweep-fcn string //std or vendor name
| | | +--: (port-scanning)
| | | | +--rw port-scan-fcn-supported boolean
| | | | +--rw cfg-Port-scanning [port-scan-fcn]
| | | | +--rw port-scan-fcn string //std or vendor name
| | | +--: (ping-of-death)
| | | | +--rw pingd-fcn-supported boolean
| | | | +--rw cfg-ping-of-death* [pingd-function]
| | | | +--rw pingd-fcn string //std or vendor name
| | | +--:(icmp-oversize)
| | | | +--rw o-icmp-fcn-supported boolean
| | | +--rw cfg-oversize-ICMP* [o-icmp-fcn]
| | | | +--rw o-icmp-fcn string //std or vendor name
| | +--:(single-packet-attack)?
| | | +--rw single-packet-type? identityref
| | | +--:(scan-and-sniff-attack)
| | | | +--scan-n-sniff-type identityref
| | | | +--(scan-n-sniff-type)?
| | | | |--:(ip-sweep-attack)
| | | | | +--rw 1p-ip-sweep-attack-support boolean
| | | | | +--rw 1p-ip-sweep-attack-fcn string
| | | | +--:(port-scanning-attack)
| | | | | +--rw 1pk-port-scanning-support boolean
| | | | | +--rw 1pk_port-sanning-fcn string
| | | +--:(malformed-packet-attack)
| | | | +--1pk-malformed-packet-attack-type identityref
| | | | +--:(ping-of-death-attack)
| | | | | +--rw 1pk-ping-of-death-support boolean
| | | | | +--rw 1pk-ping-of-death-fcn string
| | | | +--:(teardrop-attack)
| | | | | +--rw 1pk-teardrop-attack-support boolean
| | | | | +--rw 1pk-teardrop-attack-fcn string
| | | +--:(special-packet-attack)
| | | | +--rw special-packet-attack-type identityref
| | | | +--(special-packet-attack-type)?
| | | | | +--:(oversized-icmp-attack)
| | | | | | +--rw oversized-icmp-attack-support boolean
| | | | | | +--rw oversized-icmp-attack-fcn string
| | | | | +--:(tracert-attack)
| | | | | | +--rw tracert-attack-support boolean
| | | | | | +--rw tracert-attack-fcn string
figure 4
</artwork>
</figure>
</t>
</section>
<section title="IT Resources linked to Capabilities">
<t>
Tis section provides a link between capabilities
and IT resources. This section has a lsit of
IT Resources by name. Additional input is needed.
</t>
<t>
<figure>
<artwork>
+--rw cfg-ITResources
| +--ITResources* [ITresource-name]
| | +--rw ITresource-name string
| | ..
</artwork>
</figure>
</t>
</section>
<section title="actions">
<t>The following notifications indicate when
rules are added or deleted.
</t>
<t>
<figure>
<artwork>
(to be completed after discussion with Paul Jeong, Jin-Yong Kim,
and Dae-Young Hyun, and Jung-Soo Park, and Taei-Jin Ahn.)
</artwork>
</figure>
</t>
</section>
</section>
<section title="Use of filter-based RIBS">
<t>The packet-eca policy is kept for configuration,
I2RS ephemeral state, and BGP stored policy state in
filter-based RIBS. These RIBS have the high-level
yang structures below and are described
in <xref target="I-D.ietf-i2rs-fb-rib-data-model"></xref>.
These filter-ribs may be leveraged in I2NSF storage
devices for the policy storage.
</t>
<t>
<figure>
<artwork>
+--rw fb-ribs
+--rw fb-rib* [rib-name]
| +--rw rib-name string
| | rw fb-type identityref /config, i2rs, bgp
| +--rw rib-afi rt:address-family
| +--rw fb-rib-intf* [name]
| | +--rw name string
| | +--rw intf if:interface
| +--rw default-ribs
| | +--rw rt-rib string // routing kernel rib
| | +--rw config-rib string; // static rt-rib
| | +--rw i2rs-rib string; // ephemeral rt-rib
| | +--rw bgp-instance-name string // bgp instance
| | +--rw bgp-rib string // bgp rib
| +--rw fb-rib-refs
| | +--rw fb-rib-update-ref uint32 //count of writes
| +--rw mounts-using*
| | +--rw mount-name string //
| +--use pkt-eca:pkt-eca-policy-set
figure 5
</artwork>
</figure>
</t>
</section>
<section title="YANG Modules">
<t>
<figure>
<artwork>
<CODE BEGINS> file "ietf-i2nsf-capability@2016-10-01.yang"
module ietf-i2nsf-capability {
namespace "urn:ietf:params:xml:ns:yang:ietf-i2nsf-capability";
// replace with iana namespace when assigned
prefix "i2nsf-capability";
import ietf-pkt-eca-policy {
prefix pkt-eca-policy;
}
// meta
organization "IETF I2NSF WG";
contact
"email: Susan Hares: shares@ndzh.com
email: Robert Moskowitz rgm@htt-consult.com;
email: Frank Xia
email: Aldo Basile cataldo.basile@polito.it";
description
"This module describes a capability model
for I2NSF devices .";
revision "2016-10-01" {
description "second revision";
reference "draft-hares-i2nsf-capability-yang-01.txt";
}
grouping ITResources {
list ITResource {
key ITResource-id;
leaf ITResource-id {
type uint64;
description "ID for ITResource";
}
leaf ITResource-name {
type string;
description "ITResource name.";
}
description "list of IT Resources.";
}
description "IT Resource grouping.";
}
grouping cfg-sec-content-caps {
list cfg-fcn-groups { // functions in 2 lists:
key "group-name"; // group and functions
leaf group-name {
type string;
description " name of function
group";
}
list group-fnc-list {
key "fcn-name";
leaf fcn-name {
type string;
description "security content
function name";
}
leaf fcn-order-id {
type uint64;
description "function order
in list of functions.";
}
leaf default-action-id {
type uint64;
description "default
extended action id";
}
leaf default-cr-resolve-id {
type uint32;
description "default
policy conflict resolution
policy identifier.";
}
description "list of
functions per group.
e.g. group A has
5 functions.";
}
description "list of
groups with associated
security content functions.";
}
list cfg-sec-content-fcns {
key "fcn-order-id function-name";
leaf fcn-order-id {
type uint64;
description "order id for rule";
}
leaf function-name {
type string;
description "rule name";
}
list anti-virus {
key "anti-virus-name";
leaf anti-virus-name {
type string;
description "name of
anti-virtus functionalty";
}
leaf anti-virus-supported {
type boolean;
description "anti-virus
feature supported";
}
description "anti-virus functions";
}
list IPS {
key "IPS-name";
leaf IPS-name {
type string;
description "name of
anti-virtus functionalty";
}
leaf IPS-supported {
type boolean;
description "IPS
capability
supported";
}
description "IPS capability";
}
list IDS {
key "IDS-name";
leaf IDS-name {
type string;
description "name of IDS";
}
leaf IDS-supported {
type boolean;
description "anti-virus
feature supported";
}
description "IDS
capabilities";
}
list url-filter {
key "url-filter-name";
leaf url-filter-name {
type string;
description "name of IDS";
}
leaf url-filter-supported {
type boolean;
description "url filter
feature supported";
}
description "URL filter
capabilities";
}
list file-block {
key "fblock-name";
leaf fblock-name {
type string;
description "name of
file block function";
}
leaf fblock-supported {
type boolean;
description "anti-virus
feature supported";
}
description "file block
capabilities";
}
list data-filter {
key "dfilter-name";
leaf dfilter-name {
type string;
description "name of
data filer";
}
leaf dfilter-supported {
type boolean;
description "anti-virus
feature supported";
}
description "data filter
capabilities";
}
list app-behave {
key "app-behave-name";
leaf app-behave-name {
type string;
description "name of
application behavior
control function.";
}
leaf app-behave-supported {
type boolean;
description "application
behavior control
security capability
supported.";
}
description "Application
behavior control security
capabilities";
}
list mail-filter {
key "mfilter-name";
leaf mfilter-name {
type string;
description "name of
data filer";
}
leaf mfilter-supported {
type boolean;
description "mail filter
supported";
}
description "mail filter";
}
list pkt-capture {
key "pkt-capture-name";
leaf pkt-capture-name {
type string;
description "name of
data filer";
}
leaf pkt-capture-supported {
type boolean;
description "pkt capture
facility supported";
}
description "packet capture
facility supported ";
}
list file-isolate {
key "f-isolate-name";
leaf f-isolate-name {
type string;
description "name of
file isolate capability";
}
leaf f-isolate-supported {
type boolean;
description "file isolate
capability supported ";
}
description "file isolate
capability ";
}
description "list of
security content capabilities.";
}
description "configured
security content capabilities";
}
grouping cfg-content-sec-actions {
list content-sec-actions {
key "action-name";
leaf action-name {
type string;
description "name of extra
content security action
beyond function policy";
}
description "list
of content security actions";
}
description "configure
content security actions
configured beyond capability
function existance";
}
grouping cfg-attack-mitigate-caps {
// group and then rules
list cfg-mitigate-fncs-groups {
key "group-name";
leaf group-name {
type string;
description " name of function
group";
}
list group-mitigate-fncs-list {
key "fcn-name";
leaf fcn-name {
type string;
description "security content
function name";
}
leaf fcn-order-id {
type uint64;
description "function order
in list of functions.";
}
leaf default-action-id {
type uint64;
description "default
extended action id";
}
leaf default-cr-resolve-id {
type uint32;
description "default
policy conflict resolution
policy identifier.";
}
description "list of
functions per group.
e.g. group A has
5 functions.";
}
description "list of
groups with associated
attack mitigate functions.";
}
list cfg-attack-mitigate-rule {
key "rule-order-id rule-name";
leaf rule-order-id {
type uint64;
description "order id for
configured mitigate
function";
}
leaf rule-name {
type string;
description "mitigate
rule name";
}
list cfg-sync-flood {
key sync-flood-fcn;
leaf sync-flood-fcn {
type string;
description "name of
sync flood functionalty";
}
leaf sync-flood-fcn-supported {
type boolean;
description "sync-flood
mitigation fcn supported";
}
description "list of
sync flood mitigation
functions ";
}
list cfg-udp-flood {
key "udp-flood-fcn";
leaf udp-flood-fcn {
type string;
description "name of
udp flood mitigation function ";
}
leaf udp-flood-fcn-supported {
type boolean;
description "udp flood
prevent function
capability supported";
}
description "list of
udp-flood mitigation
functions node
(configured capability).";
}
list cfg-icmp-flood {
key "icmp-flood-fcn";
leaf icmp-flood-fcn {
type string;
description "name of
icmp flood prevention
function";
}
leaf icmp-flood-fcn-supported {
type boolean;
description "icmp
flood mitigation
feature supported";
}
description "list for
icmp flood prevention
functions part of
attack mitigation
capabilities.";
}
list cfg-http-flood {
key "http-flood-fcn";
leaf http-flood-fcn {
type string;
description "name of
http flood
mitigation function";
}
leaf http-flood-fcn-supported {
type boolean;
description "support
for http flood function
capability is active.";
}
description "list of
http flood
mitigation functions
configured ";
}
list cfg-dns-flood {
key "dns-flood-fcn";
leaf dns-flood-fcn {
type string;
description "name of
dns flood mitigation
function";
}
leaf dns-flood-fcn-supported {
type boolean;
description "dns flood
mitigation support is
active.";
}
description "list of
dns flood
mitigation functions
configured.";
}
list cfg-dns-amplify {
key "dns-amplify-fcn";
leaf dns-amplify-fcn {
type string;
description "name of
dns amplify mitigation
function.";
}
leaf dfilter-supported {
type boolean;
description "dns
amplification mitigation
function is active.";
}
description "list of
dns amplification
mitigation functions
configured.";
}
list SSL-DoS {
key "ssl-dos-fcn";
leaf ssl-dos-fcn {
type string;
description "name of
SSL DoS mitigation
function";
}
leaf ssl-dos-supported {
type boolean;
description "SSL DoS
mitigation function is
active.";
}
description "List of
SSL DoS functions configured.";
}
list cfg-IP-Sweep {
key "ipsweep-fcn";
leaf ipsweep-fcn {
type string;
description "name of
ip sweep mitigation
function.";
}
leaf ipsweep-fcn-supported {
type boolean;
description "IP Sweep
mitigation function
active.";
}
description "list of
IP Sweep mitigation
functions in NSF device.";
}
list cfg-Port-scanning {
key "port-scan-fcn";
leaf port-scan-fcn {
type string;
description "name of
port-scan mitigation
function.";
}
leaf port-scan-fcn-supported {
type boolean;
description "port scanning
mitigation fcn supported.";
}
description "List of
port scanning mitigation
functions. ";
}
list cfg-ping-of-death {
key "pingd-fcn";
leaf pingd-fcn {
type string;
description "name of
ping of death
mitigation function";
}
leaf pingd-fcn-supported{
type boolean;
description "active support
for this ping of death
mitigation function";
}
description "List of ping of
death mitigation
functions.";
}
description "attack
mitigation rule .";
} // rules
description "configured
attack mitigation functions.";
} // cfg-attack-mitigate-policy-set
container i2nsf-capabilities {
list capabilty {
key "nsf-name";
leaf nsf-name {
type string;
description "name of
nsf or nsf group
capabilities drawn from.";
}
container cfg-net-secctl-capabilities {
uses pkt-eca-policy:pkt-eca-policy-set;
description "network security
control capabilities configured.";
}
container cfg-sec-content-capabilities {
uses cfg-sec-content-caps;
uses cfg-content-sec-actions;
description "security content
capabilities configured.";
}
container cfg-attack-mitigate-capabilites {
uses cfg-attack-mitigate-caps;
description "attack mitigation capabilities";
}
container cfg-ITResources {
uses ITResources;
description "IT Resources
associated with NSF.";
}
description "List of NSF
capabilities per nsf, nsf group
or nsf application.";
} //end of list
description "I2NSF capabilities";
} // end of container
}
<CODE ENDS>
</artwork>
</figure>
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t>No IANA considerations exist for this document
at this time. URL will be added. </t>
</section>
<section title="Security Considerations">
<t>
Security of I2NSF is defined in (need reference here).
</t>
</section>
</middle>
<back>
<references title="Normative References">
&RFC2119;
</references>
<references title="Informative References">
&RFC2975;
&RFC3198;
&RFC3234;
&RFC3539;
&RFC4949;
&RFC7297;
&I-D.ietf-netmod-acl-model;
&I-D.ietf-opsawg-firewalls;
&I-D.ietf-i2nsf-problem-and-use-cases;
&I-D.ietf-i2nsf-gap-analysis;
&I-D.ietf-i2nsf-terminology;
&I-D.xia-i2nsf-capability-interface-im;
&I-D.xia-i2nsf-service-interface-dm;
&I-D.ietf-i2rs-pkt-eca-data-model;
&I-D.ietf-i2rs-fb-rib-data-model;
</references>
</back>
</rfc>| PAFTECH AB 2003-2026 | 2026-04-24 04:07:52 |