Re: [OPSAWG] I-D Action: draft-gont-opsawg-firewalls-analysis-01.txt

Mark Andrews <marka@isc.org> Mon, 19 October 2015 23:16 UTC

Return-Path: <marka@isc.org>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 639321B2E42 for <opsawg@ietfa.amsl.com>; Mon, 19 Oct 2015 16:16:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.233
X-Spam-Level:
X-Spam-Status: No, score=-0.233 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FUZZY_CREDIT=1.678, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=no
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 G3JoTb47LroX for <opsawg@ietfa.amsl.com>; Mon, 19 Oct 2015 16:16:36 -0700 (PDT)
Received: from mx.ams1.isc.org (mx.ams1.isc.org [IPv6:2001:500:60::65]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EC86D1B2E12 for <opsawg@ietf.org>; Mon, 19 Oct 2015 16:16:35 -0700 (PDT)
Received: from zmx1.isc.org (zmx1.isc.org [149.20.0.20]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx.ams1.isc.org (Postfix) with ESMTPS id 69B581FCC40; Mon, 19 Oct 2015 23:16:32 +0000 (UTC)
Received: from zmx1.isc.org (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTPS id B4EEE16003F; Mon, 19 Oct 2015 23:16:36 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1]) by zmx1.isc.org (Postfix) with ESMTP id 9337716008B; Mon, 19 Oct 2015 23:16:36 +0000 (UTC)
Received: from zmx1.isc.org ([127.0.0.1]) by localhost (zmx1.isc.org [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id IPnGvJumooLo; Mon, 19 Oct 2015 23:16:36 +0000 (UTC)
Received: from rock.dv.isc.org (c122-106-161-187.carlnfd1.nsw.optusnet.com.au [122.106.161.187]) by zmx1.isc.org (Postfix) with ESMTPSA id 37B3616003F; Mon, 19 Oct 2015 23:16:36 +0000 (UTC)
Received: from rock.dv.isc.org (localhost [IPv6:::1]) by rock.dv.isc.org (Postfix) with ESMTP id CB57D3AC7EDB; Tue, 20 Oct 2015 10:16:28 +1100 (EST)
To: "Blumenthal, Uri - 0553 - MITLL" <uri@ll.mit.edu>
From: Mark Andrews <marka@isc.org>
References: <20151013134530.1812.97650.idtracker@ietfa.amsl.com> <56245AE1.405@gmail.com> <D24A9604.20C16%uri@ll.mit.edu>
In-reply-to: Your message of "Mon, 19 Oct 2015 16:44:37 -0000." <D24A9604.20C16%uri@ll.mit.edu>
Date: Tue, 20 Oct 2015 10:16:28 +1100
Message-Id: <20151019231628.CB57D3AC7EDB@rock.dv.isc.org>
Archived-At: <http://mailarchive.ietf.org/arch/msg/opsawg/cLBeX0Zu2uOA__oZe4KpEmcUW8M>
Cc: "opsawg@ietf.org" <opsawg@ietf.org>
Subject: Re: [OPSAWG] I-D Action: draft-gont-opsawg-firewalls-analysis-01.txt
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 19 Oct 2015 23:16:37 -0000

In message <D24A9604.20C16%uri@ll.mit.edu>, "Blumenthal, Uri - 0553 - MITLL" wr
ites:
> 
> On 10/18/15, 22:52 , "OPSAWG on behalf of Brian E Carpenter"
> <opsawg-bounces@ietf.org on behalf of brian.e.carpenter@gmail.com> wrote:
> 
> >Hmm. I've finally made time to read this draft, to find out what the
> >fuss is about...
> 
> :-)
> 
> >Overall, this draft seems to me to be an opinion piece. That's fine of
> >course,
> >everyone is entitled to state their opinion, but I'm not sure that it
> >helps
> >the IETF to know what to do next. It reads more like a CCR editorial
> >article
> >or an Independent Submission RFC.
> 
> +1
> 

Actually it gives good advice to firewall vendors.  In many cases
they do more harm than good by not actually understanding the
protocols that they inspect.  They block extension unnecessarially.

We design a protocol to be future proof and the firewall vendors
stuff up that design for no reason beyond paranoia.

Take the DNS and the handling of EDNS versions > 0.  These were
thought about when EDNS was designed.  There is a specific error
code to be returned BADVERS along with the highest version if EDNS
the server supports.  The client then retries using a common version
of EDNS.  There is NOTHING here that should concern a firewall
vendor.

What do firewall vendors do?  They code the firewall to drop packets
with EDNS version > 0.  This is despite EDNS aware servers having
explict instructions on how to handle these packets.  If the server
doesn't understand EDNS it doesn't matter if the version is 0 or > 0
as it still noise to the nameserver that doesn't understand EDNS.  It
will either ignore the OPT record completely or return FORMERR.

There is no case to be made for dropping these packets.

When one actually wants to use the capabilities we built into the
protocol one then has to fight the firewalls even to get the packet
delivered.  Cleaning out old/broken firewalls takes decades.

Got to https://ednscomp.isc.org/compliance/summary.html and look
at the firewall graphs to see how much damage firewalls are doing
to the DNS for no good reason.  We have mostly removed the broken
firewalls from in front of the TLD servers.

I have no problem with a firewall block a extension temporarially
if it protecting from a known defect in a product while that product
is getting fixed.  They just shouldn't be blocked by default.

One can test products to ensure that they handle packets with
extensions and get the defects fixed.  Most defects are benign and
you will see a lot of them if you look at
https://ednscomp.isc.org/compliance/summary.html but again they can
be fixed.  We have got most of those in the servers the TLD operators
are running fixed.  In doing this testing I've not seen a single
case of a server being knocked over.

Defects like ignoring the EDNS version.  Returning FORMERR to well
formed packets.  Incorrectly copying fields from the request to the
response or I suspect not clearing a fields when turning the request
packet into a response packet.  But you can't get these defects
fixed unless you can see them.

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: marka@isc.org