Re: getting a later-version of BIND on various linux OS's

2020-11-08 Thread Rob McEwen

oops - sorry - I totally missed THIS page:
https://packages.debian.org/sid/amd64/bind9/download
...so it seems that there is a way. Still, I'm getting weird errors about:

E: The repository 'http://ftp.debian.org/debian sig Release' does not 
have a Release file.
N: Updating from such a repository can't be done securely, and is 
therefore disabled by default.


...but I'll work through those and ask a follow-up if I get stuck. Sorry 
for the noise - I can't believe I missed that extra page.


Rob McEwen

On 11/9/2020 2:18 AM, Rob McEwen wrote:


Several weeks ago, Mark Andrews gave me an excellent suggestion about 
a particular BIND feature, but it is a somewhat recent feature that 
started to exist on a version of BIND that isn't yet distributed in 
the default/main BIND distributions for many of the most common 
linux-based operating systems. I think the particular feature that was 
mentioned - came into existence around BIND 9.13? Unfortunately, many 
of the major linux operating systems haven't reached 9.13 yet. So, for 
example, I'm currently trying to upgrade a Debian server to a more 
recent version of BIND - 9.16 - and I saw the following pages:


https://packages.debian.org/sid/bind9

https://www.isc.org/blogs/bind-9-packages/

But I can't seem to find any simple way to do this - or maybe I missed 
something on that page? - from what I've seen, for Debian, it requires 
that the BIND source code (and various dependencies) be downloaded, 
and then BIND has to be compiled. Or so it seems. I tried that, but 
kept running into errors  - something about "Libressl not found" - 
even though I really did already have the SSL package installed that 
it said it needed. It was a downward-spiral mess I couldn't seem to 
resolve.


So here is the question - is there an */easier/simpler/* way to get 
the most common linux operating systems (Debian, Ubuntu, CentOs, etc) 
- to a later version of BIND - beyond what auto-installs when you 
issue a command like "apt-get install bind9" - but /without/ having to 
download and compile the source code?


--
Rob McEwen, invaluement
  


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users



--
Rob McEwen
https://www.invaluement.com
+1 (478) 475-9032


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


getting a later-version of BIND on various linux OS's

2020-11-08 Thread Rob McEwen
Several weeks ago, Mark Andrews gave me an excellent suggestion about a 
particular BIND feature, but it is a somewhat recent feature that 
started to exist on a version of BIND that isn't yet distributed in the 
default/main BIND distributions for many of the most common linux-based 
operating systems. I think the particular feature that was mentioned - 
came into existence around BIND 9.13? Unfortunately, many of the major 
linux operating systems haven't reached 9.13 yet. So, for example, I'm 
currently trying to upgrade a Debian server to a more recent version of 
BIND - 9.16 - and I saw the following pages:


https://packages.debian.org/sid/bind9

https://www.isc.org/blogs/bind-9-packages/

But I can't seem to find any simple way to do this - or maybe I missed 
something on that page? - from what I've seen, for Debian, it requires 
that the BIND source code (and various dependencies) be downloaded, and 
then BIND has to be compiled. Or so it seems. I tried that, but kept 
running into errors  - something about "Libressl not found" - even 
though I really did already have the SSL package installed that it said 
it needed. It was a downward-spiral mess I couldn't seem to resolve.


So here is the question - is there an */easier/simpler/* way to get the 
most common linux operating systems (Debian, Ubuntu, CentOs, etc) - to a 
later version of BIND - beyond what auto-installs when you issue a 
command like "apt-get install bind9" - but /without/ having to download 
and compile the source code?


--
Rob McEwen, invaluement
 

___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: rbldnsd and DNSSEC compatibility issues - any suggestions?

2020-09-11 Thread Rob McEwen

On 9/11/2020 2:46 AM, Mark Andrews wrote:

validate-except (I typo’d it the second time, unfortunately expect and except 
are both valid words).



I got so far down the rabbit trail with your other points, somehow I 
missed that. Thanks. This should solve my problem!




If you actually used a zone names with a DNAME



Great suggestion! I didn't know about that.

However, since i use CloudFlare' DNS for my authoritative DNS - which is 
critical for prevention of DDOS attacks - and they don't actually 
support DNAME, my hands are tied. (or so it SEEMS - see my question 
about a possible workaround at the end of this email)


My actual direct query service involves my own rbldnsd servers in 42 
cities around the world (all hiding behind secret host names that a 
criminal couldn't easily find) - and those are pointed to by NS records 
in my CloudFlare DNS, so then the actual direct DNS queries, and the 
vast majority of my DNS traffic for direct queries to my own DNSBL, goes 
to those 42 servers around the world, NOT to CloudFlare - but CloudFlare 
is the starting point - the first query goes to CloudFlare, then the DNS 
server doing the asking "knows" for a while to use one of my own 
servers, and not bother CloudFlare with any more traffic for a while. 
(again, this is for my direct query service - for my smaller subscribers 
- my servers can handle THAT traffic)


But since CloudFlare is the authoritative server for invaluement.com, 
that is where the DNAME you're suggesting would need to be setup. Since 
they don't support that, I'm not able to implement that at this time.


SEE: https://community.cloudflare.com/t/dname-records-on-cloudflare/16642/4

...also, them not supporting it - makes me a little nervous about others 
not supporting it. But maybe that fear is unreasonable since it is only 
the "revolvers" that need this feature, not authoritative-only services? 
This is something that DNS caching servers like BIND, have been 
supporting for decades, correct? Please tell don't tell me that _only_ a 
very _recent_ version of BIND does this correctly. ;) That would 
probably kill this idea!


*POSSIBLE WORKAROUND?:* So assuming that DNAME is widely supported by 
many DNS caching servers, old and new... I wonder if I could do 
something similar to what I do for my direct query service, using NS 
records to delegate this to another BIND DNS server that I would run on 
my own server - so for "example.invaluement.com" - I'd create a BIND 
instance on my own server hosting "example.invaluement.com" as the 
authoritative server for that zone, implementing the DNAME records you 
suggested. Then put a NS record on my cloudflare telling the world that 
THIS server is the authoritative server for "example.invaluement.com" 
(with TTL for some hours). Do you think that would work?


--
Rob McEwen
https://www.invaluement.com
+1 (478) 475-9032


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users


Re: rbldnsd and DNSSEC compatibility issues - any suggestions?

2020-09-10 Thread Rob McEwen

Mark,

You gave me the "let them eat cake" answer I anticipated. Also, this 
isn't fixing a problem that my services produce - it is preventing a 
problem that a potential MISTAKE from a large customer would cause - the 
type of mistake that is inevitable at some point, but likely 
short-lived. That's on them, not me. But I can sleep well at night 
knowing that such MISuse of my service isn't going to take out an entire 
datacenter for hours (with MANY innocent bystanders taken out, too!) 
with a DOS attack due to those queries NOT ending with a valid/public 
domain name, thus making such an attack impossible. (again, just 
referring to our very largest customers' DNSBL queries).


I did a search for "bind9 validate-expect named.conf" (but not in 
quotes) - and shockingly LITTLE came up that specifically references 
that - pages came up regarding everything else under the sun involving 
BIND, but I didn't see anything specifically about that. Do you have a 
link for that? I'll try to research that more to try to figure out what 
exactly you were suggesting.


Rob McEwen

On 9/11/2020 1:32 AM, Mark Andrews wrote:

On 11 Sep 2020, at 15:04, Rob McEwen  wrote:

Mark,

The whole usage of DNS by the anti-spam industry in our DNSBLs - is somewhat a 
hack on the DNS system from the start - I guess if you think that is wrong, 
maybe you should take that up with Paul Vixie?

And Paul will tell you to use a name you control.  We did that with 
DLV.ISC.ORG.  We are still absorbing that traffic despite there being no 
entries in the zone for several years now.  We knew we would have to do that 
going in.


And the whole purpose for MANY of us DNSBLs using ".local" in the first place - was precisely to PREVENT the queries from possibly leaking out of our 
largest customers LANs  - because in many cases, that would an essential denial of service attack against us (and our hosters, etc). For example, some DNSBL 
customers literally have a billion mailboxes. I have a couple of customers with a few hundreds million mailboxes. I'm pretty sure Spamhaus has a few with a 
billion. Do you have any idea how many emails are processed per second for a billion mailboxes? (especially mid-morning during a business day!) It's enough to 
where it takes multiple rbldnsd servers each serving thousands of queries per second. To keep up with that volume, these MUST be locally-hosted rbldsnd 
servers. In that situation, if/when there is a slight DNS mistake - such as some software update mistakenly rerouting DNS to something like "8.8.8.8" 
- as OFTEN (stupidly!) happens - and then, in the case of Spamhaus' customers with a billion mailboxes - that traffic will massively hit both Google and 
"spamhaus.org" DNS servers - or even if the forwarder got deleted mistakenly, the same will still happen for "spamhaus.org" DNS servers. 
Even if those servers can handle the traffic - it might overwhelm a local router in between, or overwhelm the particular DNS server to which this traffic is 
assigned. This then turns into a NIGHTMARE DOS attack for such DNSBLs. Therefore, the ENTIRE point of using such zone names (".local", 
".dnsbl", etc) internally - is to PREVENT the queries from possibly ever leaving the LAN. That is why, for these largest customers, using hostnames 
that end in our own domain names - is not an option. (and when it does work, it is often a "let them eat cake" option - where only the largest 
Internet companies with billions in revenue - can afford to handle such traffic - so please, don't respond with a "let them eat cake" answer!) But 
that overall point about how DNSBLs work in such situations... seems lost on you.

The very reason I used ".dnsbl" as an example - is because I did a little research after before last email - and it 
turns out that - maybe in response to the RFC you pointed out that took a position against using ".local" - Spamhaus 
then (apparently) switched to using ".dnsbl" - (or maybe they were using ".dnsbl" all along? - I can't keep 
track over every other DNSBL - but ".local" was popular for many DNSBLs for many years.) Spamhaus doesn't use that for 
their direct query service - but it appears that they're using that for the instructions for their customers who RSYNC the data. 
Therefore, you just harshly criticized me for suggesting doing what Spamhaus ALREADY does - so I guess I'm in good company!

Two wrongs don’t make a right.  If you think queries will leak then provision 
services to absorb those leaks.  The root operators shouldn’t have to absorb 
that traffic.  RFC 1918 DNS traffic leaked and services where stood up to 
absorb that leaking traffic.  There is nothing stopping you from doing 
something similar.  Absolutely nothing.


Really - your purism - and harsh realities of large DSNBL operations - are not 
compatible.

No, its taking ownership o

Re: rbldnsd and DNSSEC compatibility issues - any suggestions?

2020-09-10 Thread Rob McEwen

Mark,

The whole usage of DNS by the anti-spam industry in our DNSBLs - is 
somewhat a hack on the DNS system from the start - I guess if you think 
that is wrong, maybe you should take that up with Paul Vixie?


And the whole purpose for MANY of us DNSBLs using ".local" in the first 
place - was precisely to PREVENT the queries from possibly leaking out 
of our largest customers LANs  - because in many cases, that would an 
essential denial of service attack against us (and our hosters, etc). 
For example, some DNSBL customers literally have a billion mailboxes. I 
have a couple of customers with a few hundreds million mailboxes. I'm 
pretty sure Spamhaus has a few with a billion. Do you have any idea how 
many emails are processed per second for a billion mailboxes? 
(especially mid-morning during a business day!) It's enough to where it 
takes multiple rbldnsd servers each serving thousands of queries per 
second. To keep up with that volume, these MUST be locally-hosted 
rbldsnd servers. In that situation, if/when there is a slight DNS 
mistake - such as some software update mistakenly rerouting DNS to 
something like "8.8.8.8" - as OFTEN (stupidly!) happens - and then, in 
the case of Spamhaus' customers with a billion mailboxes - that traffic 
will massively hit both Google and "spamhaus.org" DNS servers - or even 
if the forwarder got deleted mistakenly, the same will still happen for 
"spamhaus.org" DNS servers. Even if those servers can handle the traffic 
- it might overwhelm a local router in between, or overwhelm the 
particular DNS server to which this traffic is assigned. This then turns 
into a NIGHTMARE DOS attack for such DNSBLs. Therefore, the ENTIRE point 
of using such zone names (".local", ".dnsbl", etc) internally - is to 
PREVENT the queries from possibly ever leaving the LAN. That is why, for 
these largest customers, using hostnames that end in our own domain 
names - is not an option. (and when it does work, it is often a "let 
them eat cake" option - where only the largest Internet companies with 
billions in revenue - can afford to handle such traffic - so please, 
don't respond with a "let them eat cake" answer!) But that overall point 
about how DNSBLs work in such situations... seems lost on you.


The very reason I used ".dnsbl" as an example - is because I did a 
little research after before last email - and it turns out that - maybe 
in response to the RFC you pointed out that took a position against 
using ".local" - Spamhaus then (apparently) switched to using ".dnsbl" - 
(or maybe they were using ".dnsbl" all along? - I can't keep track over 
every other DNSBL - but ".local" was popular for many DNSBLs for many 
years.) Spamhaus doesn't use that for their direct query service - but 
it appears that they're using that for the instructions for their 
customers who RSYNC the data. Therefore, you just harshly criticized me 
for suggesting doing what Spamhaus ALREADY does - so I guess I'm in good 
company!


Really - your purism - and harsh realities of large DSNBL operations - 
are not compatible.


And no - you NEVER gave me an answer - and guess what? While I have 
tremendous respect for RFCs in general, and try hard to follow them - 
they are NOT perfect - on rare occasion, some of them SHOULD be broken 
and DO have errors or situations that they didn't anticipate. This one 
of those. RFCs were written by humans. Humans make mistakes.


And it's too bad that the maintainers of BIND didn't anticipate that 
there might be local-data situations where sys admins should be given 
the ability to turn DNSSEC off for a particular zone. Your answers are 
helping me to understand HOW/WHY such decisions were made. But 
rigidity/purity doesn't always equal wisdom/intelligence. In this case, 
it doesn't.


Rob McEwen, invaluement

On 9/10/2020 10:23 PM, Mark Andrews wrote:

On 11 Sep 2020, at 11:13, Rob McEwen  wrote:

Mark,

Most invaluement subscribers do direct queries - to hostnames that end with my 
own valid domain names that don't have this DNSSEC issue - those are the ONE 
ones that make use of public DNS and are broadcast across the internet.

Our usage of ".local" zones for those who are RSYNC'ing our data - dates back to something like 
2007, and the RFC you referred to is from 2013. By the time this RFC had been published, we'd already had 
customer using the ".local" for 6 years. At the time that came out in 2013, I assessed whether I 
needed to get my clients to change that, but it didn't seem to effect anyone. Again, those of our subscribers 
who RSYNC our data and use the ".local" zone names - are just using that for 100% local usage, and 
are not trying to broadcast it across the internet. And in many of THOSE cases, if the BIND and RBLDND are on 
the same computer, as is often the case, it doesn't even 

Re: rbldnsd and DNSSEC compatibility issues - any suggestions?

2020-09-10 Thread Rob McEwen

Mark,

Most invaluement subscribers do direct queries - to hostnames that end 
with my own valid domain names that don't have this DNSSEC issue - those 
are the ONE ones that make use of public DNS and are broadcast across 
the internet.


Our usage of ".local" zones for those who are RSYNC'ing our data - dates 
back to something like 2007, and the RFC you referred to is from 2013. 
By the time this RFC had been published, we'd already had customer using 
the ".local" for 6 years. At the time that came out in 2013, I assessed 
whether I needed to get my clients to change that, but it didn't seem to 
effect anyone. Again, those of our subscribers who RSYNC our data and 
use the ".local" zone names - are just using that for 100% local usage, 
and are not trying to broadcast it across the internet. And in many of 
THOSE cases, if the BIND and RBLDND are on the same computer, as is 
often the case, it doesn't even go out to the LAN - this is all on one 
single computer.


So are you claiming that if I simply changed the zone naming form ending 
in ".local" - to something else - such as ".dnsbl" - then all my 
problems would go away? And the forwarder will start working? (even 
though rbldnsd doesn't do DNSSEC)


That would be EXCELLENT news! Or, if that doesn't actually fix my 
problem, do you have any suggestions that actually address my actual 
question?


Rob McEwen

On 9/10/2020 7:37 PM, Mark Andrews wrote:

.local is for mDNS (RFC 6762).  Do not use it for other purposes as you are 
hijacking the namespace.

The best solution is to NOT change the name of the zones from those that you 
use publicly.  That way they have the correct DNSSEC chain of trust down from 
the root.  If you want to use different zone names then create delegations to 
empty unsigned zones (SOA and NS records only) like those done for 
10.IN-ADDR.ARPA in a zone you control.  That breaks the DNSSEC chain of trust 
at the delegation point.  If you later decide you want to sign these zones you 
can do so and link them into the DNSSEC chain of trust.  Just sign both the 
rbldsnd-formatted files and the empty zones.

If you absolutely must continue to hijack the .local namespace, which is 
allocated for a different purpose, then add validate-except entries to 
named.conf

Mark


On 11 Sep 2020, at 01:56, Rob McEwen  wrote:

I manage an anti-spam DNSBL and I've been running into an issue in recent years 
- that I'm FINALLY getting around to asking about. I just joined this list to 
ask this question. Also, I checked the archives, but couldn't find an answer - 
at least, not one I understood.

So basically, while most of our users do direct queries and don't have this issue - some 
of our larger subscribers RSYNC the rbldsnd-formatted files, and then they typically run 
rbldnsd on the same server as their BIND server that is answering their DNSBL queries. 
Then, their invaluement zone names will all end with "invaluement.local". 
Typically, their RBLDNSD server is set up to listen on 127.0.0.2 - and then they use BIND 
for answering their DNSBL queries, and so they tell BIND to get its answers for THOSE 
invaluement dnsbl queries by doing a DNS forwarder, telling bind to get the answers for 
THOSE zones from 127.0.0.2 - as shown below:

zone "invaluement.local" in {
   type forward;
   forward only;
   forwarders { 127.0.0.2; };
};

This works perfectly - so long as DNSSEC is turned off. And since most of our 
subscribers are running a dedicated instance of BIND that is ONLY used for 
DNSBL queries, they don't mind turning DNSSEC off.

But, occasionally, we have a customer who cannot turn DNSSEC off. So I was 
hoping that THIS command would work:

dnssec-must-be-secure "invaluement.local" no;

But it doesn't seem to be helping at all. Is that command suppose to disable DNSSEC checking for a 
particular zone? If yes, what did I do wrong? If not, what does "dnssec-must-be-secure" 
set to "no" do?

I've heard that there is NOT a way to get this to work - and that such 
subscribers much use DNS Delegation, instead. But I really wish this 
could be done by simply turning off DNSSEC for a particular zone. That could be 
useful for MANY various types of internal zones that need this. But if this is 
that case, how would that DNS Delegation look, to get the above forwarding 
example to work using delegation instead?

Thanks in advance for your help!

--
Rob McEwen, invaluement
  


___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users



--
Rob McEwen
https://www.invaluement.com
+1 (478) 475-9032


__

rbldnsd and DNSSEC compatibility issues - any suggestions?

2020-09-10 Thread Rob McEwen
I manage an anti-spam DNSBL and I've been running into an issue in 
recent years - that I'm FINALLY getting around to asking about. I just 
joined this list to ask this question. Also, I checked the archives, but 
couldn't find an answer - at least, not one I understood.


So basically, while most of our users do direct queries and don't have 
this issue - some of our larger subscribers RSYNC the rbldsnd-formatted 
files, and then they typically run rbldnsd on the same server as their 
BIND server that is answering their DNSBL queries. Then, their 
invaluement zone names will all end with "invaluement.local". Typically, 
their RBLDNSD server is set up to listen on 127.0.0.2 - and then they 
use BIND for answering their DNSBL queries, and so they tell BIND to get 
its answers for THOSE invaluement dnsbl queries by doing a DNS 
forwarder, telling bind to get the answers for THOSE zones from 
127.0.0.2 - as shown below:


zone "invaluement.local" in {
  type forward;
  forward only;
  forwarders { 127.0.0.2; };
};

This works perfectly - so long as DNSSEC is turned off. And since most 
of our subscribers are running a dedicated instance of BIND that is ONLY 
used for DNSBL queries, they don't mind turning DNSSEC off.


But, occasionally, we have a customer who cannot turn DNSSEC off. So I 
was hoping that THIS command would work:


dnssec-must-be-secure "invaluement.local" no;

But it doesn't seem to be helping at all. Is that command suppose to 
disable DNSSEC checking for a particular zone? If yes, what did I do 
wrong? If not, what /does/ "dnssec-must-be-secure" set to "no" do?


I've heard that there is NOT a way to get this to work - and that such 
subscribers much use DNS Delegation, instead. But I really wish this 
could be done by simply turning off DNSSEC for a /particular/ zone. That 
could be useful for MANY various types of internal zones that need this. 
But if this is that case, how would that DNS Delegation look, to get the 
above forwarding example to work using delegation instead?


Thanks in advance for your help!

-- Rob McEwen, invaluement

___
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.


bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users