Internet DRAFT - draft-richardson-homenet-secret-gardens
draft-richardson-homenet-secret-gardens
Network Working Group M. Richardson
Internet-Draft SSW
Intended status: Informational November 14, 2012
Expires: May 18, 2013
Secret Gardens are Better than Walled Gardens
draft-richardson-homenet-secret-gardens-01
Abstract
This document explains a few use cases where operators would like to
introduce so-called "walled gardens" into home-networks, including
distribution of new DNS anchors. This document proposes an
alternative solution involving DNS delegations to access controlled
DNS servers. The results are much more scalable, and can be deployed
today, using existing operating systems and existing DNS
infrastructure.
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 May 18, 2013.
Copyright Notice
Copyright (c) 2012 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
(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
Richardson Expires May 18, 2013 [Page 1]
Internet-Draft secret-gardens November 2012
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction: A brief history of split-horizon DNS . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 4
2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1. IPv6 TV . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Corporate VPN . . . . . . . . . . . . . . . . . . . . . . 5
2.3. Multi-homed to 3G/LTE . . . . . . . . . . . . . . . . . . 6
3. Walled Garden DNS . . . . . . . . . . . . . . . . . . . . . . 7
4. Using Secret-Gardens to accomplish goals . . . . . . . . . . . 8
4.1. Example 1: Corporate VPN . . . . . . . . . . . . . . . . . 8
5. How does this differ from SERVER-SELECTION? . . . . . . . . . 11
6. Security Considerations . . . . . . . . . . . . . . . . . . . 12
7. Other Related Protocols . . . . . . . . . . . . . . . . . . . 13
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 15
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 16
10.1. Informative References . . . . . . . . . . . . . . . . . . 16
10.2. Normative References . . . . . . . . . . . . . . . . . . . 16
11. Normative references . . . . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 18
Richardson Expires May 18, 2013 [Page 2]
Internet-Draft secret-gardens November 2012
1. Introduction: A brief history of split-horizon DNS
DNS settings have been a regular concern since the very early 1990s,
when the first firewalls began to partition the Internet. In the
earliest works, Cheswick and Bellovin describe the use of split-DNS
in an enterprise: all internal machines (including the inside
interface of the firewall, and possibly machines on the DMZ/
Service-Network) would use an internal recursive DNS server for
names, and if the name was external, the internal recursive DNS
server would ask the world.
The above split-horizon configuration survives to today, but it has
become very complicated. The first complication was remote access
(VPN) to the enterprise. For the computer at home to be able access
things, the internal DNS server had to be used. Often short internal
names ("smtp", "web", "wiki","printer") would be used, depending upon
the fact that all internal machines had the same search path. As the
VPN could go on, and off, if it was off, and the end user entered the
word "wiki" on the browser, instead of going to the internal resource
(which in IPv4 space, had an RFC1918 address), it would either go to
an external resource, or cause a search.
Worse, some computer systems originally needed to be rebooted in
order to change their DNS settings, as this was really the only way
to convince all application to flush name to IP address mappings that
they had cached.
Particularly gruesome is the case of the contractor or consulting,
who works at enterprise A, and then visits enterprise B. While on the
network of Enterprise B (where they may be located for some months),
in order to do simple things like reach the printer (using the name
"printer"), they need to use the DNS settings for Enterprise B. But,
in order to fetch their email, they must have the DNS settings (and
VPN) for their home base, Enterprise A. There have been regular
reports in the VPN/Remote Access community of situations where a
worker needs to have VPNs up with two remote locations, while
residing at a third.
The VPN situation is tragic for the technical user, for the non-
technical user, it is impossible. For the technical user, typing in
longer names, setting up multiple search paths, and running a local
recursive name server are possible. For the less technical user,
typing in IP addresses rather than names works as long as HTTP
Virtual Hosting is not involved (for which the name is important).
But the degree to which these things occur has been limited in part
due to the inevitable conflict of RFC1918 addresses, which means,
that, even if one uses IP addresses, the routing doesn't work.
Richardson Expires May 18, 2013 [Page 3]
Internet-Draft secret-gardens November 2012
DNSSEC has put a new twist into things: the best way to run DNSSEC is
to have a secure recursive resolver. Now, this recursive resolver
needs to be taught about split-horizon names, to talk to the internal
name server when it is reachable (and probably to trust it), and to
talk directly to the Internet when not reachable. A second problem
is that the local recursive name server may not always get flushed.
If a query for "smtp.example.com" should result in the internal mail
relay when at the office, or connected via VPN, but the same name
should resolve in the external address when not connected (possibly,
the same machine with multiple interfaces, but not always), then the
caching presents a problem. This problem is acute if one tries to
run a caching name server on a mobile, multiple-interface devices,
such as a stock smartphone that has 3G and wifi interfaces, which may
operate concurrently.
Some organizations, where there are multiple data centres, and the
network is distinctly non-convex, have solved the caching problem by
dispensing with a true split-horizon DNS, and have simply put all
external names under "example.com", with internal names under
"internal.example.com". Whether or not externally made requests for
foo.internal.example.com are resolved by externally facing
authoritative name servers is now a security policy question, rather
than a routing or caching concern.
There have been further abuses of split-horizon DNS. One of these is
by hotels and other places with "captive portals". In order to
authenticate the user using a web interface, they must make the
portal visible to the user. This involves making the user "captive":
no packets may leave the local network until the user has
sufficiently authenticated (possibly, involving a financial
transaction). Some captive portals have decided that they will
intercept all DNS requests, and no matter what the user asks for,
they will answer with their own IP. This can fail for three reasons:
1) the user does not use the DNS servers provided, instead uses their
own (perhaps intending to be reached through a VPN) or or the root
name servers directly (perhaps in order to do DNSSEC), 2) the names
used in the web interfaces are unqualified ones, and the user has not
accepted the search path from the DHCP offer (ref: some BCP on this),
3) even if all of this goes well, the user's browser has now cached
an incorrect mapping for the desired web site.
1.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 RFC 2119 [RFC2119].
Richardson Expires May 18, 2013 [Page 4]
Internet-Draft secret-gardens November 2012
2. Use Cases
This section lists a few use cases which homenet believes are within
scope. Only the business goals are listed of the use cases.
2.1. IPv6 TV
[SERVER-SELECTION] Section 3.1 "CPU Deployment Scenario" describes a
similar situation to the IPv6 TV below.
A seperate internet connection is provided by the IP TV provider.
This can be on a seperate physical wire, or a seperate logical wire.
Historically, only the TV set itself is placed on this network, the
home owner may be unaware that the wires are other than analog cable
TV wires.
The TV set does DNS lookups for the content servers, and is expected
to receive answers that are within the IP TV provider's network. The
TV set can access the provider's servers as long as it originates
connections from the IPv6 prefix that the IP TV provider provided.
The provider does not publish the addresses of the servers
publically, and does not want to. Even if the servers can be
accessed from the Internet by IP address, they will not serve any TV
content that way. It is more likely that the content servers are
completely inaccessible from the Internet via firewall rules and/or
routing horizons.
2.2. Corporate VPN
[SERVER-SELECTION] Section 3.2 "Cellular Network Scenario" provides
more details.
The corporate VPN use case involves an employee of an enterprise
connecting to the enterprise's network via an IP over IP tunnel.
IPsec is a typical technology, and there are various kinds of SSL
VPNs, but this use case concerns itself with scenarios where IPv6
pakets will be routed through the tunnel. (Some SSL VPNs provide
TCP, usually HTTP-only services. They are not relevant)
As described in the introduction, the Corporate VPN is almost the
original walled garden: there is a seperate routing domain (RFC1918
in IPv4, End-User Assigned IPv6, Non-Connected Network or ULA for
IPv6), and there is an addition a desire to have an island of DNS.
Some corporate VPNs have a policy that all traffic from the
employees' computing device must go through the tunnel, even traffic
not addressed to the Enterprise. (That is, the default route on the
Richardson Expires May 18, 2013 [Page 5]
Internet-Draft secret-gardens November 2012
laptop must point through the tunnel. A host route for the VPN
tunnel end point is usually created to permit the encapsulated
traffic to travel, or another kind of source-address sensitive policy
route is used to create multiple routing tables). These types of
VPNs are sometimes called an extruded IP VPN: if the enterprise'
network is thought of as a fungible sponge, then the laptop user at
home as an IP address, from the corporate cloud/sponge, extruded,
rather like a sea urchin (??) extends a pseudopod.
It is not unusual for the networks of enterprises to grow to be very
complex: multiple sites with multiple (sometimes overlapping IPv4
RFC1918) address spaces. With IPv6, enterprises are likely to have
fewer blocks of addresses, and none will overlap, but due to
acquisitions the number of blocks will still be greater than one.
Frequent teleworkers often have an entire home office connected to
the enterprise network. This can include a selection of desktop
computers, laptops, tablets, and smartphones (on wifi). The home
office network might have several subnets (at least one wired and one
wireless). These teleworkers usually have a VPN router as their home
gateway, and often these devices are controlled by the Enterprise IT.
Just the same, access to the rest of the homenet is desired such that
the home worker(s) can share things like printers, talk to home
automation from their desk, and to avoid having large-bandwidth cross
the corporate network unnecessarily.
More about DNS expectations of enterprises. ActiveDirectory is
relevant here.
2.3. Multi-homed to 3G/LTE
[SERVER-SELECTION] Section 3.2 "Cellular Network Scenario" provides
more details.
There is a problem here: so far it sounds like it's just IP TV over
again.
Richardson Expires May 18, 2013 [Page 6]
Internet-Draft secret-gardens November 2012
3. Walled Garden DNS
[SERVER-SELECTION] proposes a solution where ISP/connectivity
providers provide a suffix, such as "mytv.example." or even
unregistered names like ".internal" (common with ActiveDirectory)
into the homenet.
Along with suffix are provided one or more DNS servers, accessible
via the semi-private connection, which would resolve names in that
zone.
Richardson Expires May 18, 2013 [Page 7]
Internet-Draft secret-gardens November 2012
4. Using Secret-Gardens to accomplish goals
As [SERVER-SELECTION] essentially mandates that DNSSEC be done, it
has essentially mandated that a recursive cacheing validating name
server be run on each host. Many have suggested that, as the days of
20Mhz, 8MB workstations are long gone, that having a caching,
validating name server on every host is not a problem. Once one
assumes this, new solutions become possible.
The fundamental problem that [SERVER-SELECTION] tries to solve is
that of mapping DNS suffixes to name servers. [RFC1034] provides a
way to do this: the NS resource record. [DNSSEC] provides a way to
do this securely by adding the DS resource record.
So what was stopping enterprises such as IP TV, or corporate VPNs
from putting in-accessible IP addresses into a reachable DNS server?
Usually two things: the perception that the security through
obscurity benefit of split-horizon DNS provided was greater than the
operational complexity and inconvenience of using a single namespace.
The second thing was that putting RFC1918 addresses in a publically
visible DNS would be confusing.
IPv6 addresses removes both problems. First, since almost every
walled-garden situation insists that any machine talking to it use an
address in the prefix that the walled-garden provides. This means
that if one puts the DNS servers for the walled garden names in the
walled gareden then can be queried only from machines that are
already in the garden.
Second: since IPv6 addresses are all unique, there is no confusion
when an IPv6 address is listed. It is therefore possible to
unambiguously indicate in an NS that that mytv.example.com is
reachable via DOCPREFIX:1234:0001. Just because the entire Internet
can see the (possibly secure) delegation doesn't meant that they can
query it.
4.1. Example 1: Corporate VPN
A company EXAMPLE has been given the assignment 2001:DB8:0F00:/48.
It has the forward name example.com. In addition, due to an
acquisition, it also owns example.org and assignment 2001:DB8:
0123:/48. Further, assume the VPN concentrator for example.com gives
/128 tunnel addresses to clients from the 2001:DB8:0F00:ff91::/64
range. In this example, the client has been assigned 2001:DB8:0F00:
ff91::1234.
Richardson Expires May 18, 2013 [Page 8]
Internet-Draft secret-gardens November 2012
Routes are established through the VPN tunnel for the above two
prefixes:
% netstat -rn -f inet6
Routing tables
Internet6:
Destination Gateway Flags Interface
...
2001:db8:0f00::/48 2001:db8:0f00:ff91::1 UGRS ipsec0
2001:db8:0123::/48 2001:db8:0f00:ff91::1 UGRS ipsec0
...
Figure 1
Rather than create a split-horizon DNS server on the inside that
answers (differently) for example.com, the enterprise instead creates
a new zone internal.example.com:
% dig internal.example.com. ns
;; QUESTION SECTION:
;internal.example.com. IN NS
;; ANSWER SECTION:
internal.example.com. 7200 IN NS ns1.internal.example.com.
internal.example.com. 7200 IN NS ns2.internal.example.com.
;; ADDITIONAL SECTION:
ns1.internal.example.com. 7200 IN AAAA 2001:db8:0f00:0001::8888
ns2.internal.example.com. 7200 IN AAAA 2001:db8:0f00:0002::8888
Figure 2
Note that these records are in the public example.com zone, and are
visible to the Internet.
The ns1 and ns2 servers SHOULD be configured such that they will not
answer queries for internal.example.com, unless the query comes from
2001:db8:0f00::/48.
What is the effect here? A host with it's VPN active performs a
query for thing.internal.example.com. The local recursive DNS server
chases the NS pointers from the root, and it gets the above NS
records. It then performs a query to ns1.internal.example.com for
the name thing.internal.example.com. Since the route for this IP
address goes through the ipsec0 device, the source address for the
packet will be 2001:DB8:0F00:ff91::1234. That source address fits
into the policy for the ns1 server, so it answers.
Richardson Expires May 18, 2013 [Page 9]
Internet-Draft secret-gardens November 2012
There are a number of other affects: 1) the result of this lookup is
cacheable, and does not need to be flushed if the node moves. 2) if
the VPN is not active, then the result of performing the lookup for
thing.internal.example.com causes a packet to be sent to the 2001:
db8:0f00::/48 network. If policies are setup right, then this packet
may well cause the VPN to be started (or even restarted, if it
failed).
Richardson Expires May 18, 2013 [Page 10]
Internet-Draft secret-gardens November 2012
5. How does this differ from SERVER-SELECTION?
run through use cases, show how this is equivalent or better.
Richardson Expires May 18, 2013 [Page 11]
Internet-Draft secret-gardens November 2012
6. Security Considerations
Richardson Expires May 18, 2013 [Page 12]
Internet-Draft secret-gardens November 2012
7. Other Related Protocols
Richardson Expires May 18, 2013 [Page 13]
Internet-Draft secret-gardens November 2012
8. IANA Considerations
Richardson Expires May 18, 2013 [Page 14]
Internet-Draft secret-gardens November 2012
9. Acknowledgements
Richardson Expires May 18, 2013 [Page 15]
Internet-Draft secret-gardens November 2012
10. References
10.1. Informative References
10.2. Normative References
Richardson Expires May 18, 2013 [Page 16]
Internet-Draft secret-gardens November 2012
11. Normative references
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
Richardson Expires May 18, 2013 [Page 17]
Internet-Draft secret-gardens November 2012
Author's Address
Michael C. Richardson
Sandelman Software Works
470 Dawson Avenue
Ottawa, ON K1Z 5V7
CA
Email: mcr+ietf@sandelman.ca
URI: http://www.sandelman.ca/
Richardson Expires May 18, 2013 [Page 18]