Re: [dns-operations] IMPORTANT: Please ensure your NSEC3 iteration count is sufficiently low

2021-04-17 Thread Viktor Dukhovni
> On Apr 17, 2021, at 10:43 AM, Warren Kumari  wrote:
> 
> Do you happen to have the list of the 279 anywhere?

Yes.  I sent the full dossier off-list to Puneet.  I'll resend you a copy.
Few are broadly popular, but not all are complete unknowns. The only ones
with an "Alexa rank" (recentish snapshot of the Tranco list) are:

Zone  Tranco#  Iters
  ---  -
photon.com   8300500
raytheon.com13880500
unitymedia.de   28724330
posteo.de   44277250
uneb.br 66247330
bbn.com 93451500
unity-mail.de  205975330
kabelbw.de 354397330
phst.at636940250
gender-summit.com  674579500
unity-mail.com 783623330

Of the above:

 - posteo.de is a small to midsize email provider in Germany.
   An early DANE adopter.  The are multiple posteo.* domains
   with other TLD suffixes, but these don't show up on Tranco.

 - kabelbw.de, unity-mail.com, unitymedia.de is a cable broadband+email
   provider in Germany, also an early DANE adopter.

 - uneb.br is a university in Brazil

 - phst.at is a teacher training school in Austria.

I've already reached out to posteo.de and unitymedia.de via my contacts
at sys4.de, I hope they'll take appropriate action soon, but feel free
to ping them separately, they may expedite remediation.

Grouped by SOA mname, the top 10 zone counts (224 total) are:

 51 ns01.posteo-dns.de  # posteo.de ...
 48 ns01.3s-dns.de  # 3sdns.de, 3shosting.de, 3smail.de ...
 45 dfw-infma1.ext.ray.com  # photon.com, raytheon.com, bbn.com ...
 36 ns1.upc.biz # unitymedia.de ...
 15 jupiter.cloud1500.com   # caffari.net ...
  7 ns5.dnsmadeeasy.com # webactive.ch ...
  6 dns01.consistec.de  # consistec.de ...
  6 devnull.itsynergy.net.uk# gender-summit.com, itsynergy.net.uk 
...
  5 ns1.vnode.net   # vnode.net ...
  5 ns1.phst.at # phst.at ...

The below are somewhat more exposed to forgery via negative responses, because
they also have a zone apex wildcard record, so any name can be denied and the
wildcard substituted (which may not be a problem if the data's the same).

  *.itsspasadena.com. IN A 199.46.197.68
  *.rispasadena.com. IN A 199.46.197.68

  *.ybti.net. IN CNAME ybti.net.
  ybti.net. IN A 212.12.48.75

  *.unitymediabusiness.de. IN A 68.183.242.60

  *.posteo.de. IN A 89.146.220.134

  *.initramfs.io. IN CNAME initramfs.io.
  initramfs.io. IN A 36.227.174.26

  *.dwreports.com. IN A 208.81.182.169

-- 
Viktor.
___
dns-operations mailing list
dns-operations@lists.dns-oarc.net
https://lists.dns-oarc.net/mailman/listinfo/dns-operations


Re: [dns-operations] IMPORTANT: Please ensure your NSEC3 iteration count is sufficiently low

2021-04-17 Thread Warren Kumari
On Fri, Apr 16, 2021 at 3:04 PM Viktor Dukhovni 
wrote:

> On Fri, Apr 16, 2021 at 02:29:07PM -0400, Puneet Sood via dns-operations
> wrote:
>
> > Google Public DNS is also planning to cap NSEC3 iterations to a safe
> value.
> > Do you have data you can share on the prevalence of high iteration count
> > NSEC3 zones?
>
> Sure, below are the absolute, percentile, and cumulative percentile
> frequencies by iteration count for ~10.9 million domains using NSEC3.
> The cumulative numbers are from 0 iterations up, but the table below is
> in reverse order, showing the high iterations first, I hope that's not
> too confusing.
>
> The suggested cutoff is presently at 150, with just 279 zones out of
> 10.9 million using more than 150 iterations.



Thank you for doing this work - it’s helpful.

Do you happen to have the list of the 279 anywhere? I realize that it
*shouldn’t* matter, but if some of these are really “popular” domains the
calculation is different to them being domains which get almost no traffic.
Also, perhaps we can do some outreach to the affected domains if easy?

W


>
>#iters   #zones   %zones  cumulative%
>--   --   --  ---
>  40961   0. 100.
>  25003   0. 100.
>  20001   0. 100.
>  1600   50   0.0005 100.
>  13372   0.  99.9995
>  10241   0.  99.9995
>   500   67   0.0006  99.9995
>   4871   0.  99.9989
>   4231   0.  99.9988
>   4006   0.0001  99.9988
>   3601   0.  99.9988
>   3333   0.  99.9988
>   330   56   0.0005  99.9987
>   3004   0.  99.9982
>   250   61   0.0006  99.9982
>   2003   0.  99.9976
>   1971   0.  99.9976
>   177   17   0.0002  99.9976
>   --- suggested cutoff -
>   150 5070   0.0464  99.9974
>   149   21   0.0002  99.9510
>   1286   0.0001  99.9508
>   127 2956   0.0271  99.9508
>   1201   0.  99.9237
>   107   15   0.0001  99.9237
>   1011   0.  99.9236
>   100   978251   8.9571  99.9236
>995   0.  90.9665
>961   0.  90.9664
>90   20   0.0002  90.9664
>85   26   0.0002  90.9662
>818   0.0001  90.9660
>801   0.  90.9659
>75   33   0.0003  90.9659
>691   0.  90.9656
>64   16   0.0001  90.9656
>551   0.  90.9654
>541   0.  90.9654
>531   0.  90.9654
>52   18   0.0002  90.9654
>511   0.  90.9652
>5011837   0.1084  90.9652
>431   0.  90.8569
>42   16   0.0001  90.8568
>4050605   0.4634  90.8567
>35   12   0.0001  90.3933
>341   0.  90.3932
>33  697   0.0064  90.3932
>32   74   0.0007  90.3868
>314   0.  90.3862
>30   12   0.0001  90.3861
>25   27   0.0002  90.3860
>24   66   0.0006  90.3858
>23   20   0.0002  90.3852
>224   0.  90.3850
>21 5383   0.0493  90.3849
>20   510107   4.6707  90.3357
>195   0.  85.6650
>188   0.0001  85.6649
>17   13   0.0001  85.6649
>1614801   0.1355  85.6648
>15 4113   0.0377  85.5292
>14   19   0.0002  85.4916
>13   88   0.0008  85.4914
>12   302246   2.7674  85.4906
>11  106   0.0010  82.7232
>10  1204263  11.0265  82.7222
> 9   40   0.0004  71.6957
> 8  1168469  10.6988  71.6953
> 725308   0.2317  60.9965
> 6   55   0.0005  60.7648
> 5  1366608  12.5130  60.7643
> 4   40   0.0004  48.2513
> 328243   0.2586  48.2509
> 2 3816

Re: [dns-operations] IMPORTANT: Please ensure your NSEC3 iteration count is sufficiently low

2021-04-16 Thread Viktor Dukhovni
On Fri, Apr 16, 2021 at 02:29:07PM -0400, Puneet Sood via dns-operations wrote:

> Google Public DNS is also planning to cap NSEC3 iterations to a safe value.
> Do you have data you can share on the prevalence of high iteration count
> NSEC3 zones?

Sure, below are the absolute, percentile, and cumulative percentile
frequencies by iteration count for ~10.9 million domains using NSEC3.
The cumulative numbers are from 0 iterations up, but the table below is
in reverse order, showing the high iterations first, I hope that's not
too confusing.

The suggested cutoff is presently at 150, with just 279 zones out of
10.9 million using more than 150 iterations.

   #iters   #zones   %zones  cumulative%
   --   --   --  ---
 40961   0. 100.
 25003   0. 100.
 20001   0. 100.
 1600   50   0.0005 100.
 13372   0.  99.9995
 10241   0.  99.9995
  500   67   0.0006  99.9995
  4871   0.  99.9989
  4231   0.  99.9988
  4006   0.0001  99.9988
  3601   0.  99.9988
  3333   0.  99.9988
  330   56   0.0005  99.9987
  3004   0.  99.9982
  250   61   0.0006  99.9982
  2003   0.  99.9976
  1971   0.  99.9976
  177   17   0.0002  99.9976
  --- suggested cutoff -
  150 5070   0.0464  99.9974
  149   21   0.0002  99.9510
  1286   0.0001  99.9508
  127 2956   0.0271  99.9508
  1201   0.  99.9237
  107   15   0.0001  99.9237
  1011   0.  99.9236
  100   978251   8.9571  99.9236
   995   0.  90.9665
   961   0.  90.9664
   90   20   0.0002  90.9664
   85   26   0.0002  90.9662
   818   0.0001  90.9660
   801   0.  90.9659
   75   33   0.0003  90.9659
   691   0.  90.9656
   64   16   0.0001  90.9656
   551   0.  90.9654
   541   0.  90.9654
   531   0.  90.9654
   52   18   0.0002  90.9654
   511   0.  90.9652
   5011837   0.1084  90.9652
   431   0.  90.8569
   42   16   0.0001  90.8568
   4050605   0.4634  90.8567
   35   12   0.0001  90.3933
   341   0.  90.3932
   33  697   0.0064  90.3932
   32   74   0.0007  90.3868
   314   0.  90.3862
   30   12   0.0001  90.3861
   25   27   0.0002  90.3860
   24   66   0.0006  90.3858
   23   20   0.0002  90.3852
   224   0.  90.3850
   21 5383   0.0493  90.3849
   20   510107   4.6707  90.3357
   195   0.  85.6650
   188   0.0001  85.6649
   17   13   0.0001  85.6649
   1614801   0.1355  85.6648
   15 4113   0.0377  85.5292
   14   19   0.0002  85.4916
   13   88   0.0008  85.4914
   12   302246   2.7674  85.4906
   11  106   0.0010  82.7232
   10  1204263  11.0265  82.7222
9   40   0.0004  71.6957
8  1168469  10.6988  71.6953
725308   0.2317  60.9965
6   55   0.0005  60.7648
5  1366608  12.5130  60.7643
4   40   0.0004  48.2513
328243   0.2586  48.2509
2 3816   0.0349  47.9923
1  5234737  47.9305  47.9574
0 2933   0.0269   0.0269

-- 
Viktor.
___
dns-operations mailing list
dns-operations@lists.dns-oarc.net
https://lists.dns-oarc.net/mailman/listinfo/dns-operations


Re: [dns-operations] IMPORTANT: Please ensure your NSEC3 iteration count is sufficiently low

2021-04-16 Thread Puneet Sood via dns-operations
--- Begin Message ---
Hi Viktor,

Thanks for bringing this issue to everyone's attention and your ongoing
work on DNSSEC.

Google Public DNS is also planning to cap NSEC3 iterations to a safe value.
Do you have data you can share on the prevalence of high iteration count
NSEC3 zones?

-Puneet
On Thu, Apr 1, 2021 at 9:42 AM Viktor Dukhovni 
wrote:

> RFC 5155 defined NSEC3 iterations to scale up with the RSA/DSA key size
> up to perhaps as high as 2500 iterations for 4096-bit keys.  In
> retrospect such a generous iteration cap is counter-productive.  It is
> neither particularly effective at keeping your zone content "secret",
> nor sufficiently cheap to avoid negative impact on authoritative and
> iterative resolver performance.
>
> In that light, Wes Hardaker and I have authored an Internet-Draft that
> strongly recommends setting the NSEC3 additional iteration count to 0
> (at least one initial SHA1 hash is always performed).
>
> https://tools.ietf.org/html/draft-hardaker-dnsop-nsec3-guidance-02
>
> Today, the Knot resolver became the first one to cap NSEC3 iterations
> for now at 150, but this will likely be reduced further (perhaps
> ultimately as low as ~25):
>
> https://gitlab.nic.cz/knot/knot-resolver/-/tags/v5.3.1
>
> and is expected to be done by more resolvers.
>
> Since iteration counts above the resolver cap make denial-of-existence
> for the entire zone insecure, it is important that all domains with a
> high NSEC3 iteration count proactively lower it ideally to 0, but
> otherwise ~10 or less.
>
> While DNSSEC still precludes forged positive answers, any signed
> NXDomain or NODATA NSEC3 response can be replayed for any query,
> regardless of the qname.
>
> This impacts any protocol in which negative responses have security
> consequences.  Potential exposures include:
>
> - Forged absence of RFC7672 DANE SMTP TLSA records
> - Forged absence of CAA records
> - Forged absence of HTTPS records enabling various downgrades
> - ...
>
> A number of TLDs have already lowred their iteration counts, and it is
> expected that most of the rest will follow soon.
>
> TLD before  after
> --- --  -
> la 150  1
> xn--q7ce6a 150  1
> blue   100 10
> green  100 10
> lat100 10
> mx 100 10
> pink   100 10
> red100 10
> schaeffler 100 10
> by 100  3
> creditunion100  3
> ally   100  1
> autos  100  1
> boats  100  1
> homes  100  1
> motorcycles100  1
> yachts 100  1
>
> If your DNS zone is configured to use NSEC3, please:
>
> - Reduce the iteration count to 10 or less.
>
> - Disable opt-out, you're very unlikely to need it.
>
> - Either rotate the salt each time you sign, or skip
>   it entirely.  But a short fixed salt is harmless if
>   leaving it alone easier than changing it.
>
> Of course, if your zone is small enough (just the zone apex and a
> handful of already public or easy to guess names) or in any case has
> nothing to hide, even better is to use just plain NSEC.  You get smaller
> negative replies (less exposure to DoS) and more effective negative
> caching at resolvers.  So in many cases, it is even simpler to abandon
> NSEC3 entirely.  Please also consider the pros/cons of that option.
>
> --
> Viktor.
> ___
> dns-operations mailing list
> dns-operations@lists.dns-oarc.net
> https://lists.dns-oarc.net/mailman/listinfo/dns-operations
>
--- End Message ---
___
dns-operations mailing list
dns-operations@lists.dns-oarc.net
https://lists.dns-oarc.net/mailman/listinfo/dns-operations


[dns-operations] IMPORTANT: Please ensure your NSEC3 iteration count is sufficiently low

2021-04-01 Thread Viktor Dukhovni
RFC 5155 defined NSEC3 iterations to scale up with the RSA/DSA key size
up to perhaps as high as 2500 iterations for 4096-bit keys.  In
retrospect such a generous iteration cap is counter-productive.  It is
neither particularly effective at keeping your zone content "secret",
nor sufficiently cheap to avoid negative impact on authoritative and
iterative resolver performance.

In that light, Wes Hardaker and I have authored an Internet-Draft that
strongly recommends setting the NSEC3 additional iteration count to 0
(at least one initial SHA1 hash is always performed).

https://tools.ietf.org/html/draft-hardaker-dnsop-nsec3-guidance-02

Today, the Knot resolver became the first one to cap NSEC3 iterations
for now at 150, but this will likely be reduced further (perhaps
ultimately as low as ~25):

https://gitlab.nic.cz/knot/knot-resolver/-/tags/v5.3.1

and is expected to be done by more resolvers.

Since iteration counts above the resolver cap make denial-of-existence
for the entire zone insecure, it is important that all domains with a
high NSEC3 iteration count proactively lower it ideally to 0, but
otherwise ~10 or less.

While DNSSEC still precludes forged positive answers, any signed
NXDomain or NODATA NSEC3 response can be replayed for any query,
regardless of the qname.

This impacts any protocol in which negative responses have security
consequences.  Potential exposures include:

- Forged absence of RFC7672 DANE SMTP TLSA records
- Forged absence of CAA records
- Forged absence of HTTPS records enabling various downgrades
- ...

A number of TLDs have already lowred their iteration counts, and it is
expected that most of the rest will follow soon.

TLD before  after
--- --  -
la 150  1
xn--q7ce6a 150  1
blue   100 10
green  100 10
lat100 10
mx 100 10
pink   100 10
red100 10
schaeffler 100 10
by 100  3
creditunion100  3
ally   100  1
autos  100  1
boats  100  1
homes  100  1
motorcycles100  1
yachts 100  1

If your DNS zone is configured to use NSEC3, please:

- Reduce the iteration count to 10 or less.

- Disable opt-out, you're very unlikely to need it.

- Either rotate the salt each time you sign, or skip
  it entirely.  But a short fixed salt is harmless if
  leaving it alone easier than changing it.

Of course, if your zone is small enough (just the zone apex and a
handful of already public or easy to guess names) or in any case has
nothing to hide, even better is to use just plain NSEC.  You get smaller
negative replies (less exposure to DoS) and more effective negative
caching at resolvers.  So in many cases, it is even simpler to abandon
NSEC3 entirely.  Please also consider the pros/cons of that option.

-- 
Viktor.
___
dns-operations mailing list
dns-operations@lists.dns-oarc.net
https://lists.dns-oarc.net/mailman/listinfo/dns-operations