Re: [IPsec] draft-pauly-ipsecme-split-dns

Paul Wouters <paul@nohats.ca> Tue, 19 June 2018 19:48 UTC

Return-Path: <paul@nohats.ca>
X-Original-To: ipsec@ietfa.amsl.com
Delivered-To: ipsec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5FB91130EC1; Tue, 19 Jun 2018 12:48:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level:
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nohats.ca
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JEyF4LBMKQNC; Tue, 19 Jun 2018 12:48:45 -0700 (PDT)
Received: from mx.nohats.ca (mx.nohats.ca [IPv6:2a03:6000:1004:1::68]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 749F2130E6E; Tue, 19 Jun 2018 12:48:45 -0700 (PDT)
Received: from localhost (localhost [IPv6:::1]) by mx.nohats.ca (Postfix) with ESMTP id 419JRt0VKvzF8M; Tue, 19 Jun 2018 21:48:42 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nohats.ca; s=default; t=1529437722; bh=qQH+zPhe8QJXYU/rHBQSJtV8fRWrZn3/axX2d6wdiJw=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=Yho4Jubme2FdDHlqICbO+In7eJbUSlrBe7a3TpeW+tHI8GucH+8FV9aFZyO9ZyjAl VrBh3tqkURyf/8KURXlrCUC7VR9Zeo5DDBoduKPPKodDYeAbK3Efl/TqM/HLTyOe+b EFY3FB1egxtKaC49Hb6SmYp0a11BoCvTQoZykuKM=
X-Virus-Scanned: amavisd-new at mx.nohats.ca
Received: from mx.nohats.ca ([IPv6:::1]) by localhost (mx.nohats.ca [IPv6:::1]) (amavisd-new, port 10024) with ESMTP id RRSHmO7fF5lB; Tue, 19 Jun 2018 21:48:40 +0200 (CEST)
Received: from bofh.nohats.ca (bofh.nohats.ca [76.10.157.69]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx.nohats.ca (Postfix) with ESMTPS; Tue, 19 Jun 2018 21:48:39 +0200 (CEST)
Received: by bofh.nohats.ca (Postfix, from userid 1000) id 869754FB769; Tue, 19 Jun 2018 15:48:38 -0400 (EDT)
DKIM-Filter: OpenDKIM Filter v2.11.0 bofh.nohats.ca 869754FB769
Received: from localhost (localhost [127.0.0.1]) by bofh.nohats.ca (Postfix) with ESMTP id 7AB434023307; Tue, 19 Jun 2018 15:48:38 -0400 (EDT)
Date: Tue, 19 Jun 2018 15:48:38 -0400
From: Paul Wouters <paul@nohats.ca>
To: Eric Rescorla <ekr@rtfm.com>
cc: IPsecME WG <ipsec@ietf.org>, "draft-ietf-ipsecme-split-dns.all@ietf.org" <draft-ietf-ipsecme-split-dns.all@ietf.org>, "Waltermire, David A. (Fed)" <david.waltermire@nist.gov>, Tero Kivinen <kivinen@iki.fi>
In-Reply-To: <CABcZeBN2HwiwVzAUjyZU+Q+toFM2jOKHD9xmKwM1V5qhUoULEQ@mail.gmail.com>
Message-ID: <alpine.LRH.2.21.1806191509050.21058@bofh.nohats.ca>
References: <BL0PR0901MB23061A8F0712B88D36CB05B4F0710@BL0PR0901MB2306.namprd09.prod.outlook.com> <BL0PR0901MB23068BA2032457DC76CE70E2F0710@BL0PR0901MB2306.namprd09.prod.outlook.com> <CABcZeBOi6BoBFdkq9iz6GPLR+f5SJ8uR68GFS0Lsd+1UvHcCvQ@mail.gmail.com> <alpine.LRH.2.21.1806181637240.22748@bofh.nohats.ca> <CABcZeBPZFswnn6zoK6h-Oiy8P1o5u-BVVExQSO48fxGWy1cwXQ@mail.gmail.com> <alpine.LRH.2.21.1806181644520.22748@bofh.nohats.ca> <CABcZeBPf6TEh3JtYwT7D6+90y40W7y_=Hx03xNzLxEuQM_YsLQ@mail.gmail.com> <alpine.LRH.2.21.1806181702230.13143@bofh.nohats.ca> <CABcZeBOa8qMhDyCMzPTAtUBZTYPGehrhPrr6h4cVCjP4QZ1+Ew@mail.gmail.com> <alpine.LRH.2.21.1806191109300.16269@bofh.nohats.ca> <CABcZeBPFw1iuHXV+_sEuMaRCYRSk1nH_FujeimOb=ViEAtvkVA@mail.gmail.com> <alpine.LRH.2.21.1806191159310.26059@bofh.nohats.ca> <CABcZeBN2HwiwVzAUjyZU+Q+toFM2jOKHD9xmKwM1V5qhUoULEQ@mail.gmail.com>
User-Agent: Alpine 2.21 (LRH 202 2017-01-01)
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"; format="flowed"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipsec/DcCIR9y5vkyu_sy1TvpLOcEJwaw>
Subject: Re: [IPsec] draft-pauly-ipsecme-split-dns
X-BeenThere: ipsec@ietf.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: Discussion of IPsec protocols <ipsec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipsec>, <mailto:ipsec-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipsec/>
List-Post: <mailto:ipsec@ietf.org>
List-Help: <mailto:ipsec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipsec>, <mailto:ipsec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 19 Jun 2018 19:48:48 -0000

On Tue, 19 Jun 2018, Eric Rescorla wrote:

> 1. In the current design, many clients (those whose enterprises have any significant number of domains) are just going to have to accept
> whatever domains the VPN server claims should be treated as internal, and to accept the trust anchors the VPN server claims

I don't agree clients have to accept anything. Currently, my iphone will
prompt me with this when installing a VPN Profile:

 	The network traffic of your iPhone may be secured, filtered, or
 	monitored by a VPN server.

It's easy for it to extend this with:

 	The VPN profile is requesting to take control of the domain name(s)
 	"redhat.com"

Or if the VPN profile wouldn't constrain the DNS names, upon connecting
to the VPN it could warn the user and store the decision:

 	The VPN server is requesting to take control of the domain name(s)
 	"redhat.com", "centos.org", "openstack.com".

If it later wants to add "gmail.com", the phone could do the popup
again, and hopefully the user would say no to that.

In addition, the current CT requirements would block rogue attempts by
the VPN server to take over domains not under its control, as a rogue
enterprise certificate for "gmail.com "would not appear in any CT logs,
and the browser would not be aware whether or not this domain would be
a private or public view.

> 2. Because the current design also allows those trust anchors to sign TLSA records, any TLS client which accepts those TLSA records is subject
> to MITM by the VPN server

Again, this is the feature, not the bug. We want to use TLSA records in
the enterprise network.

> 3. Even if enterprise doesn't intend to run a MITM proxy, this means that any compromise of the VPN server automatically makes it an MITM
> proxy for the Internet as a whole, because the person who compromises it can simply reconfigure it to advertise any domain of its choice as
> internal, as well as the corresponding keys and TLSA records.

If the server constrained itself in the VPN profile given to the client,
it cannot modify this later on when there is a VPN server compromise.

If the profile did not constrain itself, a popup could ask the user once
the server requests to install trust anchors for new domains.

CT would further prevent a compromised server from making up
certificates for domains not under its control.

If you wanted, you could add some new EKU or HSTS or other TLS
mechanism marking a domain name as never appearing as an
internal zone.

> What, if any, of the above do you disagree with?

The premise that enterprise deployments are a bug instead of a feature.

The premise that this auto-configuration issue is more important than
allowing DNSSEC to be used on internal-only domains and that it cannot
be contained with local client policy.

Compare this to the current webpki, where I don't even get notified by
the browser when it adds/removes a webpki CA that can say anything about
everything on the internet _at all_. It is fully blind trust and I don't
have an enterprise trust relationship with them. Or compare it with
openvpn, that allows the server to execute arbitraty commands on the
client.

There is no IETF protocol that allows for reconfiguration of trust
anchors. If there was, we could have used that here.

A VPN enterprise profile is a trust relationship. This draft tries
to limit the amount of trust the client needs to have while ensuring
that the DNS protocol still works as expected. That is why it does not
support "." or "send everything over the VPN" deployments. I am happy to
clarify text if that is not clear enough, but I think it is unreasonable
to start talking about DNS filters or modifying DNS protocol behaviour
other then the (re)configuration of specific mutually agreed DNS zones
and trust anchors.

Paul