One document matched: draft-sivakumar-behave-nat-logging-03.txt
Differences from draft-sivakumar-behave-nat-logging-02.txt
Behave S. Sivakumar
Internet-Draft Cisco Systems
Intended status: Informational R. Penno
Expires: April 26, 2012 Juniper Networks
October 24, 2011
Logging of NAT Events
draft-sivakumar-behave-nat-logging-03
Abstract
Carrier grade NAT (CGN) devices are required to log events like
creation and deletion of translations and information about the
resources it is managing. The logs are required in many cases to
identify an attacker or a host that was used to launch malicious
attacks and/or for various other purposes of accounting. Since there
is no standard way of logging this information, different NAT devices
behave differently and hence it is difficult to expect a consistent
behavior. The lack of a consistent way makes it difficult to write
the collector applications that would receive this data and process
it to present useful information. This document describes the
information that is required to be logged by the NAT devices.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 26, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
Sivakumar & Penno Expires April 26, 2012 [Page 1]
Internet-Draft Logging of NAT Events October 2011
(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. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
4. Event based logging . . . . . . . . . . . . . . . . . . . . . 4
4.1. Information Elements . . . . . . . . . . . . . . . . . . . 4
4.2. Definition of NAT Events . . . . . . . . . . . . . . . . . 6
4.3. Templates for NAT Events . . . . . . . . . . . . . . . . . 6
4.3.1. NAT44 create and delete session event . . . . . . . . 6
4.3.2. NAT64 create and delete session event . . . . . . . . 7
4.3.3. NAT44 BIB create and delete event . . . . . . . . . . 8
4.3.4. NAT64 BIB create and delete event . . . . . . . . . . 8
4.3.5. DS-Lite Session Create and Delete Event . . . . . . . 8
4.3.6. DS-Lite BIB Create and Delete Event . . . . . . . . . 9
4.3.7. PCP MAP Create and Delete Event . . . . . . . . . . . 10
4.3.8. PCP PEER Create and Delete Event . . . . . . . . . . . 10
4.3.9. Addresses Exhausted event . . . . . . . . . . . . . . 11
4.3.10. Ports Exhausted event . . . . . . . . . . . . . . . . 11
4.3.11. Quota exceeded . . . . . . . . . . . . . . . . . . . . 11
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 12
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1. Normative References . . . . . . . . . . . . . . . . . . . 12
8.2. Informative References . . . . . . . . . . . . . . . . . . 13
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13
Sivakumar & Penno Expires April 26, 2012 [Page 2]
Internet-Draft Logging of NAT Events October 2011
1. Terminology
The usage of the term "NAT device" in this document refer to any
NAT44, Firewall and NAT64 devices. The usage of the term "collector"
refers to any device that receives the binary data from a NAT device
and converts that into meaningful information. This document uses
the term "Session" as it is defined in [RFC2663] and the term BIB as
it is defined in [RFC6146]
2. Introduction
This document details the Information Elements(IEs) that are required
to be logged by a NAT device. The document will specify the formats
of each and every field that are required to be logged by every NAT
device and all the optional fields. The fields specified in this
document are gleaned from [RFC4787] and [RFC5382].
2.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
3. Scope
This document provides the information model to be used for logging
the Carrier Grade NAT (CGN) events. This document does not provide
guidance on the transport protocol that is to be used to log NAT
events. The log events SHOULD NOT be lost but the choice of the
actual transport protocol is beyond the scope of this document.
The existing IANA IPFIX Information Elements registry [IPFIX-IANA]
already has assignments for many NAT logging events. For
convenience, this document uses those same Information Elements.
However, as stated earlier, this document is not defining IPFIX or
Netflow 9 as the framework for logging. Rather, the information
contained in these elements is within the scope of this document.
This document assumes that the NAT device will use some existing
framework like IPFIX, Netflow version 9, etc to send the log events
to the collector. But it is beyond the scope of the document to
define the framework to be used for logging. However, the framework
should support specifying a template that the NAT device will use to
send its events. The templates can be of varying length and there
could be multiple templates that a NAT device could use to log the
events. This document provides IPFIX IEs as examples as most of the
Sivakumar & Penno Expires April 26, 2012 [Page 3]
Internet-Draft Logging of NAT Events October 2011
IEs defined for NAT event logging are already allocated by IANA in
the IPFIX registry.
The implementation details of the collector application is beyond the
scope of this document.
The optimization of logging the NAT events are left to the
implementation and are beyond the scope of this document.
4. Event based logging
An event in a NAT device can be viewed as a happening as it relates
to the management of NAT resources. The creation and deletion of NAT
sessions and bindings are examples of events as it results in the
resources (addresses and ports) being allocated or freed. The events
can happen either through the processing of data packets flowing
through the NAT device or through an external entity installing
policies on the NAT router. The list of events are provided in
Section 4.1. Each of these events SHOULD be logged, unless they are
administratively prohibited. A NAT device MAY log these events to
multiple collectors if redundancy is required. The network
administrator will specify the collectors to which the log records
are to be sent.
Prior to logging any events, the NAT device MUST send the template of
the record to the collector to declare the format of the data record
that it is using to send the events. The templates can be exchanged
as frequently as required given the reliability of the connection.
NAT device SHOULD combine as many events as possible in a single
packet to effectively utilize the network bandwidth.
4.1. Information Elements
The templates could contain a subset of the Information Elements(IEs)
shown in Table 1 depending upon the event being logged. For example
a NAT44 session creation template record will contain,
{sourceIPv4Adress, postNATSourceIPv4Address, destinationIpv4Address,
postNATDestinationIPv4Address, sourceTransportPort,
postNAPTSourceTransportPort, destinationTransportPort,
postNAPTDestTransportPort, natOriginatingAddressRealm, natEvent,
timeStamp}
An example of the actual event data record is shown below - in a
readable form
{192.168.16.1, 201.1.1.100, 207.85.231.104, 207.85.231.104, 14800,
Sivakumar & Penno Expires April 26, 2012 [Page 4]
Internet-Draft Logging of NAT Events October 2011
1024, 80, 80, 0, 1, 09:20:10:789}
A single NAT device could be exporting multiple templates and the
collector should support receiving multiple templates from the same
source.
+----------------------------------+--------+-----------------------+
| Field Name | Size | Description |
| | (bits) | |
+----------------------------------+--------+-----------------------+
| timeStamp | 64 | System Time when the |
| | | event occured. |
| sourceIPv4Address | 32 | Source IPv4 Address |
| postNATSourceIPv4Address | 32 | Translated Source |
| | | IPv4 Address |
| protocolIdentifier | 8 | Transport protocol |
| sourceTransportPort | 16 | Source Port |
| postNAPTsourceTransportPort | 16 | Translated Source |
| | | port |
| destinationIPv4Address | 32 | Destination IPv4 |
| | | Address |
| postNATDestinationIPv4Address | 32 | Translated IPv4 |
| | | destination address |
| destinationTransportPort | 16 | Destination port |
| postNAPTdestinationTransportPort | 16 | Translated |
| | | Destination port |
| sourceIPv6Address | 128 | Source IPv6 address |
| destinationIPv6Address | 128 | Destination IPv6 |
| | | address |
| postNATSourceIPv6Address | 128 | Translated source |
| | | IPv6 addresss |
| postNATDestinationIPv6Address | 128 | Translated |
| | | Destination IPv6 |
| | | address |
| natOriginatingAddressRealm | 8 | Address Realm |
| natEvent | 8 | Type of Event |
| postNATPortBlockStart | 16 | Allocated port block |
| | | start |
| postNATPortBlockEnd | 16 | Allocated Port block |
| | | end |
| ipv6Prefix | 128 | IPv6 prefix in |
| | | DS-lite |
| srcMacAddress | 48 | MAC address in case |
| | | of L2 NAT |
| vlanId | 16 | VLAN ID in case of |
| | | overlapping networks |
Sivakumar & Penno Expires April 26, 2012 [Page 5]
Internet-Draft Logging of NAT Events October 2011
| ingressVRFID | 32 | VRF ID in case of |
| | | overlapping networks |
+----------------------------------+--------+-----------------------+
Table 1: Template format Table
4.2. Definition of NAT Events
The following are the list of NAT events and the proposed event
values. The list can be expanded in the future as necessary. The
data record will have the corresponding natEvent value to identify
the event being logged.
+-------------------------+--------+
| Event Name | Values |
+-------------------------+--------+
| NAT44 Session create | 1 |
| NAT44 Session delete | 2 |
| NAT64 Session create | 3 |
| NAT64 Session delete | 4 |
| NAT44 BIB create | 5 |
| NAT44 BIB delete | 6 |
| NAT64 BIB create | 7 |
| NAT64 BIB delete | 8 |
| NAT Addresses exhausted | 9 |
| NAT ports exhausted | 10 |
| Quota exceeded | 11 |
| PCP MAP Create | 12 |
| PCP MAP Delete | 13 |
| PCP PEER Create | 14 |
| PCP PEER Delete | 15 |
+-------------------------+--------+
Table 2: NAT Event ID table
4.3. Templates for NAT Events
The following events are identified at the time of this writing but
the events are expandable. Depending on the implementation and
configuration various IE's specified can be included or ignored
4.3.1. NAT44 create and delete session event
This event will be generated when a NAT44 session is created or
deleted. The template will be the same, the natEvent will indicate
whether it is a create or a delete event. The following is a
template of the event.
Sivakumar & Penno Expires April 26, 2012 [Page 6]
Internet-Draft Logging of NAT Events October 2011
+----------------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+----------------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| vlanId | 16 | No |
| ingressVRFID | 32 | No |
| sourceIPv4Address | 32 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | Yes |
| sourceTransportPort | 16 | Yes |
| postNAPTsourceTransportPort | 16 | Yes |
| destinationIPv4Address | 32 | No |
| postNATDestinationIPv4Address | 32 | No |
| destinationTransportPort | 16 | No |
| postNAPTdestinationTransportPort | 16 | No |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+----------------------------------+-------------+-----------+
Table 3: NAT44 Session delete/create template
4.3.2. NAT64 create and delete session event
This event will be generated when a NAT64 session is created. The
following is a template of the event.
+----------------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+----------------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| sourceIPv6Address | 128 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | Yes |
| sourceTransportPort | 16 | Yes |
| postNAPTsourceTransportPort | 16 | Yes |
| destinationIPv6Address | 128 | No |
| postNATDestinationIPv4Address | 32 | No |
| destinationTransportPort | 16 | No |
| postNAPTdestinationTransportPort | 16 | No |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+----------------------------------+-------------+-----------+
Table 4: NAT64 session create/delete event template
Sivakumar & Penno Expires April 26, 2012 [Page 7]
Internet-Draft Logging of NAT Events October 2011
4.3.3. NAT44 BIB create and delete event
This event will be generated when a NAT44 Bind entry is created. The
following is a template of the event.
+-----------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+-----------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| vlanId | 16 | No |
| ingressVRFID | 32 | No |
| sourceIPv4Address | 32 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | No |
| sourceTransportPort | 16 | No |
| postNAPTsourceTransportPort | 16 | No |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+-----------------------------+-------------+-----------+
Table 5: NAT44 BIB create/delete event template
4.3.4. NAT64 BIB create and delete event
This event will be generated when a NAT64 Bind entry is created. The
following is a template of the event.
+-----------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+-----------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| sourceIPv6Address | 128 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | No |
| sourceTransportPort | 16 | No |
| postNAPTsourceTransportPort | 16 | No |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+-----------------------------+-------------+-----------+
Table 6: NAT64 BIB create/delete event template
4.3.5. DS-Lite Session Create and Delete Event
This is the generic template to log DS-Lite session events. If the
purpose of the logging event is to identify a subscriber for
traceability purposes, the following fields can be ommitted:
sourceIPv4Address, protocolIdentifier, sourceIPv4TransportPort,
Sivakumar & Penno Expires April 26, 2012 [Page 8]
Internet-Draft Logging of NAT Events October 2011
destinationIPv6Address, destinationIPv4TransportPort,
natOriginatingAddressRealm
+----------------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+----------------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| sourceIPv6Address | 128 | Yes |
| sourceIPv4Address | 32 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | Yes |
| sourceIPv4TransportPort | 16 | Yes |
| postNAPTsourceTransportPort | 16 | Yes |
| destinationIPv6Address | 128 | Yes |
| postNATDestinationIPv4Address | 32 | Yes |
| destinationIPv4TransportPort | 16 | Yes |
| postNAPTdestinationTransportPort | 16 | Yes |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+----------------------------------+-------------+-----------+
Table 7: DS-Lite session create/delete event template
4.3.6. DS-Lite BIB Create and Delete Event
This event will be generated when a DS-Lite BIB is created or
deleted.
+-----------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+-----------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| sourceIPv6Address | 128 | Yes |
| sourceIPv4Address | 32 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | Yes |
| sourceIPv4TransportPort | 16 | Yes |
| postNAPTsourceTransportPort | 16 | Yes |
| destinationIPv6Address | 128 | Yes |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+-----------------------------+-------------+-----------+
Table 8: DS-Lite bib create/delete event template
Sivakumar & Penno Expires April 26, 2012 [Page 9]
Internet-Draft Logging of NAT Events October 2011
4.3.7. PCP MAP Create and Delete Event
This event is generated when a PCP Server creates or deletes a PCP
NAT mapping.
+----------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+----------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| vlanId | 16 | No |
| ingressVRFID | 32 | No |
| PCPClientAdress | 128 | Yes |
| ExternalIPAdress | 128 | Yes |
| InternalIPAddress | 128 | Yes |
| protocolIdentifier | 8 | No |
| ExternalPort | 16 | Yes |
| InternalPort | 16 | Yes |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+----------------------------+-------------+-----------+
Table 9: PCP MAP4 create and delete event template
4.3.8. PCP PEER Create and Delete Event
This event is generated when a PCP Server creates or deletes a PCP
PEER mapping.
+----------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+----------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| vlanId | 16 | No |
| ingressVRFID | 32 | No |
| PCPClientAdress | 128 | Yes |
| RemoteIPPAdress | 128 | Yes |
| ExternalIPAddress | 128 | Yes |
| protocolIdentifier | 8 | Yes |
| InternallPort | 16 | Yes |
| ExternalPort | 16 | Yes |
| RemotePort | 16 | Yes |
| natOriginatingAddressRealm | 8 | No |
| natEvent | 8 | Yes |
+----------------------------+-------------+-----------+
Table 10: PCP PEER4 create and delete event template
Sivakumar & Penno Expires April 26, 2012 [Page 10]
Internet-Draft Logging of NAT Events October 2011
4.3.9. Addresses Exhausted event
This event will be generated when a NAT device runs out of global
IPv4 addresses. Typically, this event would mean that the NAT device
wont be able to create any new translations until some addresses/
ports are freed. The following is a template of the event.
+--------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+--------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| natEvent | 8 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
+--------------------------+-------------+-----------+
Table 11: NAT Address Exhausted event template
4.3.10. Ports Exhausted event
This event will be generated when a NAT device runs out of ports for
a global IPv4 address. Port exhaustion shall be reported per
protocol (UDP, TCP etc) The following is a template of the event.
+--------------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+--------------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| natEvent | 8 | Yes |
| postNATSourceIPv4Address | 32 | Yes |
| protocolIdentifier | 8 | Yes |
+--------------------------+-------------+-----------+
Table 12: NAT Ports Exhausted event template
4.3.11. Quota exceeded
This event will be generated when a NAT device cannot allocate
resources as a result of an administratively defined policy. The
examples of Quota exceeded are to allow only certain number of NAT
sessions per device, certain number of NAT sessions per user etc.
The following is a template of the event.
Sivakumar & Penno Expires April 26, 2012 [Page 11]
Internet-Draft Logging of NAT Events October 2011
+--------------------+-------------+-----------+
| Field Name | Size (bits) | Mandatory |
+--------------------+-------------+-----------+
| timeStamp | 64 | Yes |
| natEvent | 8 | Yes |
| Limit value | 32 | Yes |
| sourceIPv4 address | 32 | No |
| sourceIPv6 address | 128 | No |
+--------------------+-------------+-----------+
Table 13: NAT Quota Exceeded event template
5. Acknowledgements
Thanks to Dan Wing, Selvi Shanmugam, Mohamed Boucadir, Jacni Qin and
Ramji Vaithianathan for their review and comments.
6. IANA Considerations
IANA is requested to create a new registry, titled NAT Event Logging
[NAT-EVENT-LOG-IANA]. This new registry is initially populated with
the values from Section 4.2. Additional values can be created via
Specification Required [RFC5226].
7. Security Considerations
None.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2663] Srisuresh, P. and M. Holdrege, "IP Network Address
Translator (NAT) Terminology and Considerations",
RFC 2663, August 1999.
[RFC4787] Audet, F. and C. Jennings, "Network Address Translation
(NAT) Behavioral Requirements for Unicast UDP", BCP 127,
RFC 4787, January 2007.
[RFC5382] Guha, S., Biswas, K., Ford, B., Sivakumar, S., and P.
Sivakumar & Penno Expires April 26, 2012 [Page 12]
Internet-Draft Logging of NAT Events October 2011
Srisuresh, "NAT Behavioral Requirements for TCP", BCP 142,
RFC 5382, October 2008.
[RFC6146] Bagnulo, M., Matthews, P., and I. van Beijnum, "Stateful
NAT64: Network Address and Protocol Translation from IPv6
Clients to IPv4 Servers", RFC 6146, April 2011.
8.2. Informative References
[I-D.ietf-pcp-base]
Wing, D., Cheshire, S., Boucadair, M., Penno, R., and P.
Selkirk, "Port Control Protocol (PCP)",
draft-ietf-pcp-base-16 (work in progress), October 2011.
[I-D.ietf-softwire-dual-stack-lite]
Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4
Exhaustion", draft-ietf-softwire-dual-stack-lite-11 (work
in progress), May 2011.
[NAT-EVENT-LOG-IANA]
IANA, "NAT event log entities", 2011, <http://
www.iana.org/assignments/nat-event-log/nat-event-log.xml>.
Authors' Addresses
Senthil Sivakumar
Cisco Systems
7100-8 Kit Creek Road
Research Triangle Park, North Carolina 27709
USA
Phone: +1 919 392 5158
Email: ssenthil@cisco.com
Renaldo Penno
Juniper Networks
1194 N Mathilda Avenuw
Sunnyvale, California 94089
USA
Phone:
Email: rpenno@juniper.net
Sivakumar & Penno Expires April 26, 2012 [Page 13]
| PAFTECH AB 2003-2026 | 2026-04-24 05:46:32 |