Internet DRAFT - draft-lopez-i2nsf-packet
draft-lopez-i2nsf-packet
INTERNET-DRAFT E. Lopez
Intended Status: Informational Fortinet
Expires: September 23, 2015 March 22, 2015
Packet-Based Paradigm For Interfaces To NSFs
draft-lopez-i2nsf-packet-00
Abstract
In the design of interfaces to allow for the provisioning of network-
based security functions (NSFs), a critical consideration is to
prevent the creation of implied constraints.
This draft makes the recommendation that such interfaces be designed
from the paradigm of processing packets on the network. NSFs
ultimately are packet-processing engines that inspect packets
traversing networks, either directly or in context to sessions to
which the packet is associated.
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
Copyright and License Notice
Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved.
E. Lopez Expires September 23, 2015 [Page 1]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Packet-Based Paradigm . . . . . . . . . . . . . . . . . . . . . 4
2.1 Packet Headers . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Packet Payloads . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Functional State Information . . . . . . . . . . . . . . . 5
4 Provisioning Interface Structural Overview . . . . . . . . . . 5
5 Security Considerations . . . . . . . . . . . . . . . . . . . . 6
6 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
7 References . . . . . . . . . . . . . . . . . . . . . . . . . . 6
7.1 Normative References . . . . . . . . . . . . . . . . . . . 6
7.2 Informative References . . . . . . . . . . . . . . . . . . 7
8 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7
E. Lopez Expires September 23, 2015 [Page 2]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
1 Introduction
The emergence of networking paradigms based on the use of devices
with programmable forwarding planes, has resulted in the need to
create application program interfaces (APIs) in support integration
of NSFs within software-defined networking (SDN) and network-function
virtualization (NFV) environments.
APIs to NSFs can be generally grouped into three types:
1) Configuration - deals with the management and configuration of the
forwarding functions of the NSF device itself. Configuration API
functions may already be part of ongoing efforts associated with
other management protocols such as NETCONF.
2) Signaling - which represents logging and query functions between
the NSF and external systems. Signaling API functions may also be
well defined by other protocols such as SYSLOG.
3) Provisioning - used to control the security functions of NSFs.
Due to the lack of standards in the definition and operation of these
functions, much of the efforts towards interface development will be
in this area.
This draft proposes that a provisioning interface to NSFs can be
developed on a packet-based paradigm. While there are many
classifications of existing and emerging NSFs, a common trait shared
by them is in the processing of packets based on the content
(header/payload) and context (session state, authentication state,
etc) of received packets.
An important concept is the fact that attackers do not have standards
as to how to attack networks, so it is equally important not to
constrain NSF developers to offering a limited set of security
functions. Therefore, in constructing standards for provisioning
interfaces to NSFs, it is equally important to allow support for
vendor-specific functions, to allow the introduction of NSFs that
evolve to meet new threats. Proposed standards for provisioning
interfaces to NSFs should not:
- Narrowly define NSF categories, or their roles when implemented
within a network
- Attempt to impose functional requirements or constraints, either
directly or indirectly, upon NSF developers
- Be a limited lowest-common denominator approach, where interfaces
can only support a limited set standardized functions, without
E. Lopez Expires September 23, 2015 [Page 3]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
allowing for vendor-specific functions
- Be seen as endorsing a best-common-practice for the implementation
of NSFs
By using a packet-based approach to the design of such provisioning
interfaces, the goal is to create a workable interface to NSFs which
aid in their integration within SDN/NFV environments, while avoiding
potential constraints which could limit their functional
capabilities.
1.1 Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2 Packet-Based Paradigm
Conceptually, the packet-based paradigm is that regardless of
functional capabilities, NSFs share that same principal capability as
all NBFs in processing packets. NSFs process packets based on
information from:
- the packet header- the packet payload- functional state information
on NSFs regarding the packets, or the sessions to which packets
belong
2.1 Packet Headers
The examination of packet headers is useful in the classification of
packets up to the transport layer (IP protocol/port). This
information is also used in packet forwarding decisions.
For example, [OPENFLOW-1.5] makes use of some packet header fields as
match structures in defining match structures for OpenFlow-compatible
switches. In a similar way, a provisioning interface for NSFs can
make use of packet header field as a 'subject' value, defining the
packet header characteristics matching a particular policy statement.
2.2 Packet Payloads
The examination of packet payloads is useful in the classification of
packets at the application layer. It is assumed that technical means
E. Lopez Expires September 23, 2015 [Page 4]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
exist in which information can be gleaned by NSFs from packet
payloads, which can be used to detect application types beyond IP
protocol/port, or to look into additional header fields within
encapsulated traffic.
Payload-based characteristics can also be incorporated as a 'subject'
value of a provisioning interface. However, a common syntax for
expressing how payload values are matched needs to be clearly
defined.
2.3 Functional State Information
NSFs not only inspect values within the packet, but also a variety of
contexts associated with the packet. Examples include:
- An explicit context, such as a user or device authentication state,
which may be correlated to an IP address within the packet.- Time-
based information, which can be explicitly used to determine the
validity of a packet relative to a policy schedule, or implicitly
relative to a timer-based psuedo state of a session using a stateless
protocol like UDP- An implicit context, such as the session state of
a stateful IP protocol such as TCP or SCTP
The contextual states employed by an NSF in evaluating packets can be
considered to be 'object' values of a provisioning interface. Since
many of these are dependant of the capabilities of the NSF, a means
of performing a capabilities exchange of 'object' values which can
utilized in provisioning policy onto NSFs.
4 Provisioning Interface Structural Overview
It is not the intention of this draft to provide technical detail on
a provisioning interface to NSFs. Instead, it is intended to suggest
that a packet-based paradigm can be used to describe policy
statements applied to NSFs. Such policy statements would be based
upon four root values:
Subject.Object.Function.Action
Where:
- Subject = Match values based on information carried within the
packet header or payload itself.- Object = Match values based on
contextual information associated with received packets.- Function =
Values with invoke specific security functions provided by the NSF.-
Action = Values that determine how packets are handled post security
function processing.
E. Lopez Expires September 23, 2015 [Page 5]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
Each of these root values can be defined with additional sub-values
to provide required details. For example, a 'function' may have
additional object values to provide granular information in how
packets are processed. If a NSF function was to perform web
filtering, a functional statement may not only state that web-
filtering is to be performed, but also which defined filter object is
to be employed (Function=<function>:<instance>). It is intended that
this form of root:branch structure can be easily integrated into
normative API structures, such as JSON or RESTful APIs
This implies that there are four types of communications used within
this provisioning interface:
- Exchange - a capabilities exchange between the NSF and the
provisioning application- Configure - statement that provide a
provisioning application the ability to create and configure objects
use in provisioning policy statements- Provision - Policy statements
used to provision security functions within NSFs- Query - statements
which may either be requests by provisioning applications to query
policy statement data from NSFs, or gratuitous information (such as
counters) from NSFs to provisioning applications
5 Security Considerations
As this draft is focused on the creation of interfaces to NSFs, the
security considerations are based on:
- Preventing the imposition of constraints which would limit the
functionality of NSFs, or the ability to deploy them onto networks.
- Ensuring the creation of such interfaces does not create additional
security vulnerabilities, including risks associated with their
passive surveillance.
6 IANA Considerations
This draft does not impose requirements onto IANA.
7 References
7.1 Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
E. Lopez Expires September 23, 2015 [Page 6]
INTERNET DRAFT draft-lopez-i2nsf-packet-00 March 22, 2015
7.2 Informative References
[USECASES] Pastor, A. & Lopez,D., "Access Use Cases for an Open OAM
Interface to Virtualized Security", draft-pastor-i2nsf-access-
usecases-00, October 2014, <http://datatracker.ietf.org/doc/draft-
pastor-i2nsf-access-usecases>
[PCI-DSS] PCI Security Standards Council, "Payment Card Industry
(PCI) Data Security Standard - Requirements and Security Assessment
Procedures - Version 3", November 2013,
<https://www.pcisecuritystandards.org/documents/PCI_DSS_v3.pdf>
[OPENFLOW-1.5] Open Networking Foundation, "OpenFlow Switch
Specification, Version 1.5.0", December 2014,
<https://www.opennetworking.org/images/stories/downloads/sdn-
resources/onf-specifications/openflow/openflow-switch-
v1.5.0.noipr.pdf>
8 Acknowledgements
The author wishes to thank and acknowledge the support of Linda
Dunbar, Diego Lopez Garcia, Dan Romascanu, and Kathleen Moriarty in
discussions which led to the creation of this draft. This
acknowledgement does not imply agreement with or endorsement of this
draft by these individuals.
Authors' Addresses
Edward Lopez
Fortinet
899 Kifer Road
Sunnyvale, CA 94086
Phone: +1 703 220 0988
EMail: elopez@fortinet.com
E. Lopez Expires September 23, 2015 [Page 7]