Re: [DNSOP] I-D Action: draft-vixie-dns-rpz-04.txt

Vernon Schryver <vjs@rhyolite.com> Fri, 30 December 2016 11:45 UTC

Return-Path: <vjs@rhyolite.com>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0077D12952E for <dnsop@ietfa.amsl.com>; Fri, 30 Dec 2016 03:45:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.002
X-Spam-Level:
X-Spam-Status: No, score=-5.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RP_MATCHES_RCVD=-3.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 B9HrsDaz3UYH for <dnsop@ietfa.amsl.com>; Fri, 30 Dec 2016 03:45:39 -0800 (PST)
Received: from calcite.rhyolite.com (calcite.rhyolite.com [192.188.61.3]) (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 8A095129416 for <dnsop@ietf.org>; Fri, 30 Dec 2016 03:45:39 -0800 (PST)
Received: from calcite.rhyolite.com (localhost [127.0.0.1]) by calcite.rhyolite.com (8.15.2/8.15.2) with ESMTPS id uBUBjNif061756 (CN=www.rhyolite.com version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for <dnsop@ietf.org> env-from <vjs@rhyolite.com>; Fri, 30 Dec 2016 11:45:23 GMT
Received: (from vjs@localhost) by calcite.rhyolite.com (8.15.2/8.15.2/Submit) id uBUBjNdi061755 for dnsop@ietf.org; Fri, 30 Dec 2016 11:45:23 GMT
Date: Fri, 30 Dec 2016 11:45:23 +0000
From: Vernon Schryver <vjs@rhyolite.com>
Message-Id: <201612301145.uBUBjNdi061755@calcite.rhyolite.com>
To: dnsop@ietf.org
In-Reply-To: <20161230091702.GA32139@jurassic>
X-DCC-Rhyolite-Metrics: calcite.rhyolite.com; whitelist
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/mkrBLUSo9FKwCy6-N_dhzvlW95w>
Subject: Re: [DNSOP] I-D Action: draft-vixie-dns-rpz-04.txt
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 30 Dec 2016 11:45:42 -0000

> From: Mukund Sivaraman <muks@isc.org>

> > In 4.1.1 (IP address encoding in triggers), I suggest adding:
> >
> > - The encoded address prefix MUST NOT not have any extra trailing 1s
> >   (longer address prefix than the prefix length) or the rule will be
> >   rejected. E.g., the following trigger will be rejected:
> >
> >   8.1.0.0.10.rpz-client-ip

The draft tries to address that issue with these final words of 4.1.1 in
https://tools.ietf.org/html/draft-vixie-dns-rpz-04

]  In the case of an address block, either IPv4 or IPv6, the address
]  part MUST NOT contain any non-zero bits after the section indicated
]  by the prefix length.  For example, "8.2.0.0.10.rpz-client-ip" is not
]  a valid trigger, because in the address "10.0.0.2" expressed in
]  binary notation, a one occurs outside the first 8 bits or prefix of
]  the address block.

Please suggest improvements.


> > Some minor nits:
> >
> > - Include an IPv4 example in 4.1.1 (IP address encoding in triggers)

I don't understand how that would differ from the second paragraph of 4.1.1
which is

]  For example, the address block 192.0.2.0/24 is encoded as
]  "24.0.2.0.192".

Could you suggest some more or better text?


> > - Maybe include that "zz" label in v6 encoding can also appear on
> > - either side of the address bits label sequence

I don't understand.  Describing how zz/:: works seemed difficult (as
demonstrated by the tech.note), so the draft tries to punt to RFC 5952.
As always, please suggest better words than are now in the draft.


> 2. BIND makes the assumption that a trigger is exclusive within a zone.
> So for example, if a zone transfer of an RPZ zone has taken place, and
> currently the RPZ summary datastructures are being updated, the
> datastructures can contain policy rules partially from an older version
> of the zone and partially from a newer version of the zone (from the
> transfer). As long as the change to an entire RR of a policy rule is
> applied atomically, to BIND this is a consistent set of policy rules
> (some of rules from previous version of zone, remaining from newer
> version). This behavior is consistent with the RPZ rules so far, but it
> would be wise to make a note of it.
>
> (Note that this behavior is different from the old BIND RPZ
> implementation and so you may not be familiar with it.)

Are you saying that the rdataset held st->r.r_rdataset or st->r.ns_rdataset
could be bogus in old versions of BIND?  Or that st->r.ns_rdataset and
st->r.r_rdataset might be from differing versions of red/black trees?
If so, that sounds like a good bug fix that might be documented in
BIND release notes or elsewhere, but not like something that should
be mentioned in description of the protocol.

Or do you mean that there should be words somewhere to the effect that
RPZ results must be sane despite concurrent AXFR/IXFR activity of
individual policy zones?  If so, please suggest some words.  Then there
is what should happen if a transfer of a policy zone happens between
the time QNAME rules are checked and the generally later time when
NSIP and NSDNAME rules are checked.  The draft tries to pretend that
all of the rules in all of the policy zones are checked instantaneously,
and never mind real code or the delays forced by recursion.  Words
about these issues are not BIND specific would probably be good, so
please suggest some.


Vernon Schryver    vjs@rhyolite.com