NAT66: IPv6-to-IPv6 NAT draft-mrw-behave-nat66-01.txt



Similar documents
21.4 Network Address Translation (NAT) NAT concept

Firewalls P+S Linux Router & Firewall 2013

Protocol Security Where?

APNIC elearning: IPSec Basics. Contact: esec03_v1.0

Network Address Translation (NAT) Good Practice Guideline

Savera Tanwir. Internet Protocol

Security in IPv6. Basic Security Requirements and Techniques. Confidentiality. Integrity

What is a Firewall? Computer Security. Firewalls. What is a Firewall? What is a Firewall?

OLD VULNERABILITIES IN NEW PROTOCOLS? HEADACHES ABOUT IPV6 FRAGMENTS

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

Digi Connect WAN Application Helper NAT, GRE, ESP and TCP/UPD Forwarding and IP Filtering

Appendix A: Configuring Firewalls for a VPN Server Running Windows Server 2003

Computer Networks. Secure Systems

Building scalable IPSec infrastructure with MikroTik. IPSec, L2TP/IPSec, OSPF

Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.

IPsec Details 1 / 43. IPsec Details

Polycom. RealPresence Ready Firewall Traversal Tips

Examining Proxies to Mitigate Pervasive Surveillance

IP address format: Dotted decimal notation:

Developing an IPv6 Addressing Plan Guidelines, Rules, Best Practice

PowerLink Bandwidth Aggregation Redundant WAN Link and VPN Fail-Over Solutions

Firewalls and VPNs. Principles of Information Security, 5th Edition 1

Networking Security IP packet security

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Tech-Note Bridges Vs Routers Version /06/2009. Bridges Vs Routers

Virtual private network. Network security protocols VPN VPN. Instead of a dedicated data link Packets securely sent over a shared network Internet VPN

IPv4/IPv6 Translation: Framework. Li, Bao, and Baker

Network Level Multihoming and BGP Challenges

FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. Chapter 5 Firewall Planning and Design

CS 457 Lecture 19 Global Internet - BGP. Fall 2011

Presentation_ID. 2001, Cisco Systems, Inc. All rights reserved.

IPv4 and IPv6 Integration. Formation IPv6 Workshop Location, Date

Internet Firewall CSIS Internet Firewall. Spring 2012 CSIS net13 1. Firewalls. Stateless Packet Filtering

Proxy Server, Network Address Translator, Firewall. Proxy Server

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

DMZ Network Visibility with Wireshark June 15, 2010

Variable length subnetting

Cisco Expressway Basic Configuration

Understanding and Configuring NAT Tech Note PAN-OS 4.1

Network Security. Mobin Javed. October 5, 2011

Implementing Network Address Translation and Port Redirection in epipe

Computer Security CS 426 Lecture 36. CS426 Fall 2010/Lecture 36 1

Firewalls und IPv6 worauf Sie achten müssen!

Final exam review, Fall 2005 FSU (CIS-5357) Network Security

Chapter 10. Network Security

LinkProof And VPN Load Balancing

Multi-Homing Security Gateway

IP Addressing A Simplified Tutorial

Компјутерски Мрежи NAT & ICMP

Content Distribution Networks (CDN)

Introduction to IPv6 and Benefits of IPv6

How To - Configure Virtual Host using FQDN How To Configure Virtual Host using FQDN

Internet Security Firewalls

CSE331: Introduction to Networks and Security. Lecture 12 Fall 2006

INTRODUCTION TO FIREWALL SECURITY

CS 43: Computer Networks IP. Kevin Webb Swarthmore College November 5, 2013

DNS Best Practices. Mike Jager Network Startup Resource Center

CS155 - Firewalls. Simon Cooper <sc@sgi.com> CS155 Firewalls 22 May 2003

Network Intrusion Detection Systems. Beyond packet filtering

Technical White Paper

Firewalls. Test your Firewall knowledge. Test your Firewall knowledge (cont) (March 4, 2015)

ReadyNAS Remote White Paper. NETGEAR May 2010

Configuring Network Address Translation (NAT)

Network Security Part II: Standards

IP/MPLS-Based VPNs Layer-3 vs. Layer-2

Virtual Private Networks

FIREWALL AND NAT Lecture 7a

IPv6 SECURITY. May The Government of the Hong Kong Special Administrative Region

athenahealth Interface Connectivity SSH Implementation Guide

Firewalls. Firewalls. Idea: separate local network from the Internet 2/24/15. Intranet DMZ. Trusted hosts and networks. Firewall.

Introduction to Security and PIX Firewall

Chapter 32 Internet Security

Configuration Guide for RFMS 3.0 Initial Configuration. WiNG5 How-To Guide. Network Address Translation. July 2011 Revision 1.0

EE627 Lecture 22. Multihoming Route Control Devices

Network Security - ISA 656 Application Firewalls

What is a Firewall? A choke point of control and monitoring Interconnects networks with differing trust Imposes restrictions on network services

20-CS X Network Security Spring, An Introduction To. Network Security. Week 1. January 7

Network Security - ISA 656 Firewalls & NATs

Internet Security Firewalls

Lecture 17 - Network Security

Network Address Translation (NAT)

IP addressing. Interface: Connection between host, router and physical link. IP address: 32-bit identifier for host, router interface

Implementing and Managing Security for Network Communications

Ethernet. Ethernet. Network Devices

Approaches for DDoS an ISP Perspective.

Security Technology: Firewalls and VPNs

VPN. Date: 4/15/2004 By: Heena Patel

We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall

Firewalls. Chien-Chung Shen

Firewall Defaults and Some Basic Rules

The VPNaaS Plugin for Fuel Documentation

Transcription:

NAT66: IPv6-to-IPv6 NAT draft-mrw-behave-nat66-01.txt Margaret Wasserman mrw@sandstorm.net Fred Baker fred@cisco.com IETF 73, Minneapolis November 2008

What is NAT66? The NAT66 specification defines an IPv6-to-IPv6 Network Address Translation function that: Is considerably less problematic than IPv4 NA(P)T But it doesn t eliminate all of the problem associated with NAT44 Requires no per-host or per-connection state Uses two-way, algorithmic address mapping Requires no changes to transport layer headers Uses only 1:1 address mapping, so no need for port mapping Uses checksum-neutral mapping, so no need to change checksum

I ve never seen, heard, nor smelled an issue that was so dangerous it couldn t be talked about. -- Attributed to Stephen Hopkins, Rhode Island representative to the Continental Congress, 1776

Motivations for NAT66 A few facts.. There is demand from enterprise network operators for IPv6 NAT Vendors are implementing IPv6 NAT products to meet that demand There will be IPv6 NAT, and the IETF cannot do anything to prevent it Therefore, we have two choices Refuse to document IPv6 NAT, don t offer advice about how to do it Some vendors will simply build IPv4 NA(P)Ts with longer addresses Others will try to make improvements, causing inconsistency Document an IPv6 NAT mechanism (such as NAT66) Share our understanding of how to build a less problematic IPv6 NAT Minimize negative impacts of IPv6 NAT Promote consistency in how IPv6 NATs will work

Striking a Balance The document states that the IETF does not recommend the use of IPv6-to-IPv6 NAT Anyone who is considering implementing or deploying NAT66 should first read the IPv6 Local Network Protection document (RFC 4864), and consider alternatives However, we understand that some people will choose to implement or deploy NAT66 for a variety of reasons So, our message could be summarized: We do not recommend that you implement IPv6-to-IPv6 NAT, but if you do choose to implement it, do it this way!

Simple NAT66 Example External Network: Prefix = 2001:0DB8:0001:/48 NAT66 Internal Network: Prefix = FD01:0203:0405:/48 Only the IP address prefixes are mapped Source prefix on outbound traffic Destination prefix on inbound traffic No per-host/connection state on NAT66 device Prefixes configured Port numbers and transport checksum are not changed

NAT66 Scenarios The draft describes 3 scenarios for NAT66 deployment Leaf network connected to the Internet via a single NAT66 device NAT66 used between two private networks More than one NAT66 device attached to a single network

Mapping Mechanisms Two-way algorithmic mapping Checksum correction is performed to make the resulting IPv6 header checksum-neutral (for TCP/UDP pseudo-header checksums) Can be reversed by any system that knows internal and external prefixes and prefix lengths. Topology Hiding mapping Version in draft is broken, and wasn t all that great, anyway New version (on later slide) provides cryptographic protection of subnet information and also includes checksum correction. Can be reversed by any system that knows internal and external prefixes, prefix lengths, and the crypto key. Both mappings avoid need for per-host or per-connection state on the NAT66 device. Both mappings are checksum neutral.

Two-Way Algorithmic Mapping On outbound packets: The source address prefix is overwritten with the external prefix Checksum correction is performed as follows: Calculate checksum of the old prefix (cp) Calculate checksum of the new prefix(cp ) Take the ones complement difference (cp + ~cp) The difference is subtracted (using ones complement addition) to 16 non-prefix bits in the address Bits 49-64 if the prefixes are /48 or shorter *New* Bits 113-128 if the prefixes are /49 or longer

Two-Way Mapping Example *Improved* Internal Prefix: FD01:0203:0405:/48 External Prefix: 2001:0DB8:0001:/48 Outbound Example: } Configured on NAT66 Device ORIGINAL SOURCE ADDRESS: FD01:0203:0405:0001::1234 cp = 0xFCF5 External prefix is copied into the address, cp = 0xD245 ~cp = ~0xD245 = 0x2DBA Diff = cp + ~cp = 0xFCF5 + 0x2DBA = 0x2AB0 ~Diff = ~0x2AB0 = 0xD54F Bits 49-64 => 0x0001 + 0xD54F = 0xD550 MAPPED ADDRESS = 2001:0DB8:0001:D550::1234

Two-Way Mapping Example (Cont.) Internal Prefix: FD01:0203:0405:/48 External Prefix: 2001:0DB8:0001:/48 Inbound Example: } Configured on NAT66 Device ORIGINAL DESTINATION ADDRESS: 2001:0DB8:0001:D550::1234 cp = 0xD245 External prefix is copied into the address, cp = 0xFCF5 ~cp = ~0xD245 = 0x030A Diff = cp + ~cp = 0xD245 + 0x030A = 0xD54F ~Diff = ~0xD54F = 0x2AB0 Bits 49-64 => 0xD550 + 0x2AB0 = 0x0001 MAPPED ADDRESS = FD01:0203:0405:0001::1234

Topology Hiding Concepts There are two related concepts that need to be picked apart Topology Hiding: Hiding the internal network structure Hiding subnet information from external attackers Preventing Correlation: Eliminating host<=>connection correlation Isn t provided by NAT66, because both mappings are 1:1 Would host use of RFC 4941 privacy addresses be sufficient?

*New* Topology Hiding Mechanism Prefix is mapped, as in two-way mapping The subnet bits and part of the IID are encrypted using a reversible cipher For /48 or shorter prefix lengths, the subnet bits and enough of the lowest order IID bits to make 64 bits are encrypted Using a standard 64 bit cipher (perhaps DES?) For prefix lengths from /49 to /64, the subnet bits (if any) and enough of the IID bits to make 48 bits are encrypted Will require identification of a 48-bit reversible cipher Checksum correction is performed using the lowest order 16 bits of the IID

Topology Hiding Example (Outbound) FD01:0203:0405: 0001:0000:0000:0000: 1234 #1 #2 #3 2001:0DB8:0001: xxxx:xxxx:xxxx:xxxx: nnnn #1: Map from internal to external prefix (/48) #2: Encrypt appropriate number of bits (64 in this case) #3: Perform checksum correction in lowest order bits

NAT66 vs. IPv4 NA(P)T One-to-One Two-Way Algorithmic Mappings Allows inbound connections and direct peer-to-peer applications External addresses can be configured in the DNS NAT66 doesn t do port mapping or affect the TCP/UDP pseudoheader checksum No need to traverse the IPv6 extension header chain Compatible with security mechanisms that encrypt the transport header (IPsec ESP) Allows for continued innovation at transport layer Both NAT66 and IPv4 NA(P)T change IP addresses en route Causes problems if applications use IP addresses for referrals Interferes with security mechanisms that rely on immutable IP addresses

Open Issues We ve received quite a bit of feedback on NAT66 Thanks to everyone who has read and commented! In this presentation, we ve focused on a few important issues that would benefit from discussion Issues that aren t listed here are not being ignored. If we decide to go forward with this work, they will be addressed.

A NAT by any other name There have been proposals to re-name the NAT66 specification (MAT, NAC, ) Pros: Highlights the difference between NAT66 and IPv4 NA(P)T Doesn t directly contradict statements that IPv6 doesn t include NAT Cons: Somewhat obscure and misleading -- NAT66 is an IPv6 NAT proposal Makes it harder for implementors who are working on an IPv6 NAT to find this work

Hairpinning, etc. The draft should be enhanced to cover Behave IPv4 NAT advice, to whatever extent that applies to NAT66 Hairpinning What else?

Topology Hiding Requirements What are the actual requirements for topology hiding? Does encrypting the subnet bits (and part of the IID) meet the needs? IPv4 NATs make it look like all packets come from one host What level of security is required? How many samples could an attacker collect? Is 48 bits enough? 64 bits? Do we need to do something to obscure the original ports? NAT66 doesn t currently touch the transport-layer ports

Use of ULA Addresses Concerns have been raised about recommending the use of ULAs behind an NAT66 device Changes the semantics of ULA addresses? In other words, will users/applications be surprised if local addresses go global? RFC 4193 indicates that ULAs have global scope but are locally routed Not sure what that means in this context? Applications are encouraged (but not required) to treat ULAs like global addresses, except they may be preferred over global addresses if both are present What are the real-world assumptions about how these addresses will be used? Is using them behind a NAT66 box going to cause a conflict? Should we also recommend the use of Link Locals behind NAT66?

Motivations/Applicability There have been a number of issues raised with the motivations and applicability described in the draft Current text is not clear regarding what problem(s) NAT66 solves Message is muddled regarding what we are and are not recommending Discussion of moving applicability to a separate document

Reasons to use translation: IPv6/IPv6

Why do I care? I have customers telling me that NAT is important to them for topology hiding Can someone tell me what about topology is important to hide? NAT66 attributes: Obviates question of TCP/UDP checksum Enables 1:1 address/host interface mapping Therefore resolves several major issues with the end to end principle that IPv4/IPv4 NAT did not Therefore I m interested in helping the Internet scale better and trying to figure out what the remaining issues are

Mutual NAT Business-to-business VPN Business-to-business connectivity Company A uses services of company B under contract and has private security/connectivity relationship Issues: Connectivity management Mutual exposure limiting information revealed Problem discussed in http://tools.ietf.org/id/draft-bakerv6ops-b2b-private-routing ISP Company A Company B

The multihoming problem SCALING INTERNET ROUTING

Present model - PI/PA multihoming Current statistics: US: about one multihomed network per 18,000 population World: about 1:50,000 ISP ISP ISP ISP Expected 2050 density: About 1:1000? Implication: ISP 10, 000, 000, 000 people 10, 000, 000 prefixes 1000 prefixes capita

RFC 3582 analysis of PI/PA multihoming \ PI PA like PI Redundancy Address portability no Load sharing Performance Policy Simplicity Transport session survivability Impact on DNS Datagram filtering Issues Scaling: impact on routers O(10 7) prefixes O(10 7) prefixes Scaling: impact on hosts Scaling: host/router interaction Scaling: network management Scaling: ISP cooperation Issues

Shim6 viewpoint: PA multihoming Premise: ISPs have prefixes Edge networks inherit prefixes from ISPs Only the ISP s prefix is advertised in BGP, not the inherited network prefix Prefixes in the internet core: ISP ISP ISP ISP ISP O(tens of thousands of prefixes)

RFC 3582 analysis of shim6 multihoming Redundancy Address portability Load sharing Performance Policy Simplicity Transport session survivability Impact on DNS Datagram filtering Scaling: impact on routers Scaling: impact on hosts Scaling: host/router interaction Scaling: network management Scaling: ISP cooperation Multiple routes Addresses not portable Host selects route by address pair Performance only partially predictable Address Pair policy is local Not as simple as a single prefix SCTP survives; TCP may with changes, UDP does not Ingress filtering affects routes O(10 4 ) prefixes Hosts must select address pair Choice of address pair not controlled in network routing but in host

Global Site GSE Addressing Model: 8+8 Address components: Global: /48 Site: 16 bit subnet (not /56 etc) Endpoint: globally unique 64 bits Assumptions: Global and perhaps Site parts are mutable Only Global part used in core Global and Site part can change at DMZ Address in core is Provider-Assigned Address in edge is Local in some form Locator is relevant only to datagram routing/forwarding, including forwarding from lasthop router to host Endpoint ID used to identify transport session Host part of the address is Endpoint ID Prefixes in the internet core: O(tens of thousands of prefixes) Global Site Endpoint 6 2 Endpoint 8

DNS: B is externalized as {J, K } DNS: A is externalized as {H, I } Route Optimization in Multihoming Issue: If address changes when crossing DMZ to a different provider, how does end system recognize the session on the SYN-ACK? Possible solutions SYN: A ->J H A I SYN-ACK: K ->A Recognize any or some of the addresses listed in DNS SYN: H ->J SYN-ACK: K ->H Transport announces addresses Loose Source Route inserted by DMZ Host Identity Protocol (is that just IPsec ESP Null?) J SYN: H ->B B K SYN-ACK: B ->H

RFC 3582 analysis of GSE GSE using NAT66 Redundancy Address portability Load sharing Performance Policy Simplicity Transport session survivability Impact on DNS Datagram filtering Scaling: impact on routers Scaling: impact on hosts Scaling: host/router interaction Scaling: network management Scaling: ISP cooperation O(10 4) prefixes Endpoint Identification

Remaining real issue NAT66 is an address management solution, not a security solution Delusional, naïve, gullible network administrators confuse IPv4/IPv4 NAT with Stateful Firewalls and therefore with a security solution Delusional marketing people confuse IPv4/IPv4 NAT with Stateful Firewalls and therefore with a security solution Therefore, people will sell and deploy IPv6/IPv6 NAT as a security solution That will be bad unless products also implement a security solution

Next Steps Do we think that the IETF should define NAT66? If so, is the Behave WG the best place to do it? Is this document a good starting point for this work? How do we move forward from here?