* [gentoo-user] Secure DNS servers
@ 2014-06-16 18:15 James
2014-06-16 18:49 ` Michael Orlitzky
2014-06-16 20:10 ` thegeezer
0 siblings, 2 replies; 12+ messages in thread
From: James @ 2014-06-16 18:15 UTC (permalink / raw
To: gentoo-user
Hello,
I'm reading up on how to secure DNS primary and secondary servers.
I guess DNSSEC is pretty important. Any other areas I should read
up on? It's been a few years since I admin'd a dns server....
Also, look for gentoo centric DNS primary solutions, I see
no mention of hardened, up-mounted or read only partitions,
etc etc. I wondering if anyone has some general suggestions
on how to keep a gentoo dns primary only machine secure.
The iptables suggests seem trite and old. I'll not
be running anything but DNS primary on the machine. When it
is up, I want to test it and see if it can be hacked, by me.
So a listing of "how to hack-test" your DNS primary server
of ideas would be keen too.
I wonder why the gentoo wiki does not have such information, as
I'm sure it is commonly needed?
Any other thoughts, suggestions and ideas are most appreciated,
as I have not kept current with all of the latest dns security
issues. I cannot even find a listing of security issues, that
are strictly centric to DNS primary server issues.
James
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Secure DNS servers
2014-06-16 18:15 [gentoo-user] Secure DNS servers James
@ 2014-06-16 18:49 ` Michael Orlitzky
2014-06-16 19:57 ` [gentoo-user] " James
2014-06-16 20:59 ` [gentoo-user] " Rich Freeman
2014-06-16 20:10 ` thegeezer
1 sibling, 2 replies; 12+ messages in thread
From: Michael Orlitzky @ 2014-06-16 18:49 UTC (permalink / raw
To: gentoo-user
On 06/16/2014 02:15 PM, James wrote:
> Hello,
>
> I'm reading up on how to secure DNS primary and secondary servers.
> I guess DNSSEC is pretty important. Any other areas I should read
> up on? It's been a few years since I admin'd a dns server....
The benefits of DNSSEC are debatable. We're moving the centralized trust
from one group of scumbags (the CAs) to another group of scumbags (the
registrars). So the benefits to authentication are not entirely clear-cut.
But, DNSSEC will eventually allow us to do away with the SSL racket, and
that can only improve security through the widespread adoption of
encryption. So it's a good thing either way.
There's a video of DJB at the 27c3 conference floating around where he
discusses some of this stuff. Some of his points shouldn't be taken
seriously, but it's entertaining nevertheless.
>
> Also, look for gentoo centric DNS primary solutions, I see
> no mention of hardened, up-mounted or read only partitions,
> etc etc. I wondering if anyone has some general suggestions
> on how to keep a gentoo dns primary only machine secure.
>
Sven Vermeulen maintains some general suggestions here:
http://dev.gentoo.org/~swift/docs/security_benchmarks/
> The iptables suggests seem trite and old.
Which suggestion? For a DNS server, you probably want something like,
iptables -P INPUT DROP
iptables -A INPUT -p ALL -i lo -j ACCEPT
iptables -A INPUT -p ALL -m conntrack --ctstate ESTABLISHED,RELATED \
-j ACCEPT
iptables -A INPUT -p ALL -m conntrack --ctstate INVALID -j DROP
# Allow SSH, up to you
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# And allow DNS traffic
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-user] Re: Secure DNS servers
2014-06-16 18:49 ` Michael Orlitzky
@ 2014-06-16 19:57 ` James
2014-06-16 20:26 ` thegeezer
` (2 more replies)
2014-06-16 20:59 ` [gentoo-user] " Rich Freeman
1 sibling, 3 replies; 12+ messages in thread
From: James @ 2014-06-16 19:57 UTC (permalink / raw
To: gentoo-user
Michael Orlitzky <mjo <at> gentoo.org> writes:
>
> On 06/16/2014 02:15 PM, James wrote:
> > Hello,
> >
> > I'm reading up on how to secure DNS primary and secondary servers.
> > I guess DNSSEC is pretty important. Any other areas I should read
> > up on? It's been a few years since I admin'd a dns server....
>
> The benefits of DNSSEC are debatable. We're moving the centralized trust
> from one group of scumbags (the CAs) to another group of scumbags (the
> registrars). So the benefits to authentication are not entirely clear-cut.
>
> But, DNSSEC will eventually allow us to do away with the SSL racket, and
> that can only improve security through the widespread adoption of
> encryption. So it's a good thing either way.
I'm just reading at this point. Listening to follks too. I have formed
no options (yet).
Here is a nice, general listing:
[1]
http://csrc.nist.gov/groups/SMA/fasp/documents/network_security/NISTSecuringDNS/NISTSecuringDNS.htm
> There's a video of DJB at the 27c3 conference floating around where he
> discusses some of this stuff. Some of his points shouldn't be taken
> seriously, but it's entertaining nevertheless.
I thought DJB was mostly deprecated. He's still preaching dns security,
yet does not update his offernings? Interestingly strange.
> > Also, look for gentoo centric DNS primary solutions, I see
> > no mention of hardened, up-mounted or read only partitions,
> > etc etc. I wondering if anyone has some general suggestions
> > on how to keep a gentoo dns primary only machine secure.
> >
>
> Sven Vermeulen maintains some general suggestions here:
>
> http://dev.gentoo.org/~swift/docs/security_benchmarks/
Sven is great. So just the generic hardened remedies, nothing
special to DNS servers or services, from my quick parse of his
documents on hardened?
Sven's also into "selinux". I see no selinux policies
or rules. Maybe I should drop him a line about selinux related to
dns primary servers? Surely a selinux policy for a primary only
selinux dns server would been keen? Not needed ? Overkill ?
I was going to read up a bit, before asking him questions I should
have discovered from robust research on the subject......
> > The iptables suggests seem trite and old.
> Which suggestion? For a DNS server, you probably want something like,
>
> iptables -P INPUT DROP
> iptables -A INPUT -p ALL -i lo -j ACCEPT
> iptables -A INPUT -p ALL -m conntrack --ctstate ESTABLISHED,RELATED \
> -j ACCEPT
> iptables -A INPUT -p ALL -m conntrack --ctstate INVALID -j DROP
> # Allow SSH, up to you
> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
> # And allow DNS traffic
> iptables -A INPUT -p udp --dport 53 -j ACCEPT
> iptables -A INPUT -p tcp --dport 53 -j ACCEPT
Ah, you've added to this iptables listing:
http://wiki.gentoo.org/wiki/BIND/Tutorial
So, I am looking for a minimal listing of flags that is sufficient
for a dns primary server, ssh and only necessary other services
(make.conf).
I'm thinking there should be tremendously reduced set of C libraries
so as to remove potential issues found on other services, or a
secure, blessed C library commonly used for ultra tight servers.
I was also thinking of not mounting some partitions rw, but r only
so a manual reboot would be need to modify settings critical to
security on the primary server. Good idea? Other similar ideas?
"eix dns" revels many servers, tools and complimentary softwares.
also, /usr/portage/net-dns/ has some ebuilds not discovered by
eix. Any recommended or useful for dns security issues?
Any guidance of those?
secure dns servers: sheerdns, maradns
TOOLS to test the security of a dns server?
fpdns, dnscap, validns, dnstop (with alarms or logging?)
dnshijacker, dnscap, dnstracer, etc etc?
New, relevant DNS RFC's ?
It's more ideas on subjects I should read up on, or specifically
targeted responses from those current on dns security issues, like
ISP that practice dns-hijacking for their selfished desires and expose
others in the process:
[2] http://en.wikipedia.org/wiki/DNS_hijacking#Manipulation_by_ISPs
CERT. I did find this singular issue:
Alert (TA13-088A) DNS Amplification Attacks
[3] https://www.us-cert.gov/ncas/alerts/TA13-088A
And this compreshensive listing of dns server issues:
http://search.us-cert.gov/search?utf8=✓&affiliate=us-cert&query=all+dns+server+alerts&commit=Search
As well as a current listing of dns server issues, which is
currently empty?
Anyone and Everyone is encouraged to "chime in" on dns server
security issues, particularly related to the primary servers
issues and protection strategies.
James
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Secure DNS servers
2014-06-16 18:15 [gentoo-user] Secure DNS servers James
2014-06-16 18:49 ` Michael Orlitzky
@ 2014-06-16 20:10 ` thegeezer
2014-06-16 21:08 ` [gentoo-user] " James
1 sibling, 1 reply; 12+ messages in thread
From: thegeezer @ 2014-06-16 20:10 UTC (permalink / raw
To: gentoo-user
generally using something like ISC BIND you can set filters and easily
create an external view and internal view, so that you can do split dns
based on network connection. if doing something like this test it and
then test it again to make sure there is no leak due to a typo.
it would be easier if we knew what you were standing up the servers for.
if it is for example your own domain name, you want something simple
like a couple of A addresses and an MX record then you don't need to
deviate much.
if you are looking for dynamic dns updates you want to make sure you
have auth by secured ip (encrypted traffic) and you want to guard your
keys to allow DDNS.
DNSSec is to prevent MITM attacks such as DNS cache poisoning, and you
can see some starter material at ISC BIND website [1]
In terms of "hack my dns server" there are many things that can hamper
it - something at the bleeding edge like gentoo is ace for this kind of
thing (*cough* centos is prehistoric *cough*) and if you were to load up
metasploit with ISC specific filters you can try to see what is
vulnerable. you can filter by CVE on your favourite website [2]
If the server is public facing then you want to be wary of such goodies
as recursive lookups as these can contribute to DoS attacks. you might
also like to try flooding the server with DNS or spoofed ip and see what
it responds to. these are not necessarily dns server specific but UDP
server specific and you can start to get an idea of scalability.
in terms of primary to secondary then you have to question the
underlying layers -- is this being xferred across the internet ?
internally over vpn ? are your secondary servers going to be full
secondaries or just caching forwarders ? how will you control zone
transfers ? consider filtering the type of queries, and the size of queries
also consider the consequences of a hack. use selinux or similar, make
sure dns running in its own username and/or namespace. primary target
though has to be to change dns zones, so to make www.example.com map to
www.clickads.com, so make sure that you have a remote server doing
lookups regularly and report anomalies.
hope this gives you a few directions to explore!
[1] http://www.isc.org/downloads/bind/dnssec/
[2]
https://kb.isc.org/article/AA-00913/0/BIND-9-Security-Vulnerability-Matrix.html
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Re: Secure DNS servers
2014-06-16 19:57 ` [gentoo-user] " James
@ 2014-06-16 20:26 ` thegeezer
2014-06-16 21:40 ` Michael Orlitzky
2014-06-17 14:48 ` Eray Aslan
2 siblings, 0 replies; 12+ messages in thread
From: thegeezer @ 2014-06-16 20:26 UTC (permalink / raw
To: gentoo-user
On 06/16/2014 08:57 PM, James wrote:
> Michael Orlitzky <mjo <at> gentoo.org> writes:
>
>> On 06/16/2014 02:15 PM, James wrote:
>>> Hello,
>>>
>>> I'm reading up on how to secure DNS primary and secondary servers.
>>> I guess DNSSEC is pretty important. Any other areas I should read
>>> up on? It's been a few years since I admin'd a dns server....
>> The benefits of DNSSEC are debatable. We're moving the centralized trust
>> from one group of scumbags (the CAs) to another group of scumbags (the
>> registrars). So the benefits to authentication are not entirely clear-cut.
except for the preventions of dns injection/ spoof floods
>> But, DNSSEC will eventually allow us to do away with the SSL racket, and
>> that can only improve security through the widespread adoption of
>> encryption. So it's a good thing either way.
> Sven's also into "selinux". I see no selinux policies or rules. Maybe
> I should drop him a line about selinux related to dns primary servers?
> Surely a selinux policy for a primary only selinux dns server would
> been keen? Not needed ? Overkill ?
how paranoid are you?
are you using SSL and fear the heartbleed will appear here too?
> I was going to read up a bit, before asking him questions I should
> have discovered from robust research on the subject......
>
>
>
>>> The iptables suggests seem trite and old.
>> Which suggestion? For a DNS server, you probably want something like,
>>
>> iptables -P INPUT DROP
>> iptables -A INPUT -p ALL -i lo -j ACCEPT
>> iptables -A INPUT -p ALL -m conntrack --ctstate ESTABLISHED,RELATED \
>> -j ACCEPT
>> iptables -A INPUT -p ALL -m conntrack --ctstate INVALID -j DROP
>> # Allow SSH, up to you
>> iptables -A INPUT -p tcp --dport 22 -j ACCEPT
>> # And allow DNS traffic
>> iptables -A INPUT -p udp --dport 53 -j ACCEPT
>> iptables -A INPUT -p tcp --dport 53 -j ACCEPT
how secure do you need this to be? how about
iptables -A OUTPUT -m state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
iptables -A OUTPUT DROP
in case your machine gets hacked ?
do you control all the clients connecting to the DNS ? then disable UDP
dns which is what the entire world uses, and then you can much more
easily control spoof flood amplification
>
> Ah, you've added to this iptables listing:
>
> http://wiki.gentoo.org/wiki/BIND/Tutorial
>
>
> So, I am looking for a minimal listing of flags that is sufficient
> for a dns primary server, ssh and only necessary other services
> (make.conf).
it all depends on where the balance lays for you. do you have a text
only requirement for dns and no ssl ?
do you require ldap support or ip6 ?
a minimal set for ISC BIND i think is nothing -- you can boot minimal
gentoo and websync and emerge net-dns/bind
a minimal gentoo running bind can easily fit with into a couple of GB
(or nothing with PXE boot) and 256MB RAM so you can have a hundred boxes
working in tandem.
assuming of course you have very small zones to load
>
> I'm thinking there should be tremendously reduced set of C libraries
> so as to remove potential issues found on other services, or a
> secure, blessed C library commonly used for ultra tight servers.
you might also like to consider looking at embedded setups or
alternative to glibc such as uclibc but this is a little offtopic.
> I was also thinking of not mounting some partitions rw, but r only
> so a manual reboot would be need to modify settings critical to
> security on the primary server. Good idea? Other similar ideas?
>
A wise idea, but then you are trading off manageability for security.
ah security, the eternal balance, and only you can know where the
tipping point lies.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Secure DNS servers
2014-06-16 18:49 ` Michael Orlitzky
2014-06-16 19:57 ` [gentoo-user] " James
@ 2014-06-16 20:59 ` Rich Freeman
1 sibling, 0 replies; 12+ messages in thread
From: Rich Freeman @ 2014-06-16 20:59 UTC (permalink / raw
To: gentoo-user
On Mon, Jun 16, 2014 at 2:49 PM, Michael Orlitzky <mjo@gentoo.org> wrote:
> The benefits of DNSSEC are debatable. We're moving the centralized trust
> from one group of scumbags (the CAs) to another group of scumbags (the
> registrars). So the benefits to authentication are not entirely clear-cut.
>
> But, DNSSEC will eventually allow us to do away with the SSL racket, and
> that can only improve security through the widespread adoption of
> encryption. So it's a good thing either way.
While I agree with your concerns about trust, I think the good thing
about DNSSEC is that you don't have to trust as many people.
With the current SSL racket I need to trust all the folks in my
browser's CA list to not mess with my connection. Any one of them has
the power to spoof any website on the planet, and have you seen how
long the list is?
With DNSSEC the only person who can tamper with a connection is the
domain owner, registrar, and TLD owner. So, while Verisign can tamper
with a .com domain, they can't mess with a .uk domain, and at least
the folks who buy a .com domain know who they're getting involved
with. With SSL Verisign can spoof any domain there is anywhere, since
the trust relationship in SSL is not limited to some domain.
I'd like to see things improved further still, but DNSSEC is a big
step in the right direction.
Rich
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-user] Re: Secure DNS servers
2014-06-16 20:10 ` thegeezer
@ 2014-06-16 21:08 ` James
2014-06-16 22:06 ` thegeezer
0 siblings, 1 reply; 12+ messages in thread
From: James @ 2014-06-16 21:08 UTC (permalink / raw
To: gentoo-user
thegeezer <thegeezer <at> thegeezer.net> writes:
>
> generally using something like ISC BIND you can set filters and easily
> create an external view and internal view, so that you can do split dns
> based on network connection. if doing something like this test it and
> then test it again to make sure there is no leak due to a typo.
>
> it would be easier if we knew what you were standing up the servers for.
> if it is for example your own domain name, you want something simple
> like a couple of A addresses and an MX record then you don't need to
> deviate much.
Well some things will be very simple (minimal). Then, There is a "portal"
I'm researching where we run all sorts of applications very securely,
for one person at a time. It's eventually (hopefully) going to be
a full LMS Learning Management system, something comprehensive, maybe even
www-apps/moodle and or SWAD. Eventually a full ecommerce system, just
for one company, not as a service to others.
But for now, just running various forms of secure, minimized DNS. Some
machine controls (SCADA) will use the DNS as part of the SSL services.
>
> if you are looking for dynamic dns updates you want to make sure you
> have auth by secured ip (encrypted traffic) and you want to guard your
> keys to allow DDNS.
>
> DNSSec is to prevent MITM attacks such as DNS cache poisoning, and you
> can see some starter material at ISC BIND website [1]
DNS sec will be down the road. I have time to build, test, research
and adjust the strategy as this goes along. It's not fixing a desparate
situation; more along the lines of building up various secure dns platforms
along an increasing features set.
> In terms of "hack my dns server" there are many things that can hamper
> it - something at the bleeding edge like gentoo is ace for this kind of
> thing (*cough* centos is prehistoric *cough*) and if you were to load up
> metasploit with ISC specific filters you can try to see what is
> vulnerable. you can filter by CVE on your favourite website [2]
Yep:
http://cyberarms.wordpress.com/2014/04/20/detecting-openssl-heartbleed-with-nmap-exploiting-with-metasploit/
I got that, hense the advise is being sought out, first.
> If the server is public facing then you want to be wary of such goodies
> as recursive lookups as these can contribute to DoS attacks. you might
> also like to try flooding the server with DNS or spoofed ip and see what
> it responds to. these are not necessarily dns server specific but UDP
> server specific and you can start to get an idea of scalability.
One of the things I like to do, is profile the traffic, particularly
in "well behaved, machine control networks" with IP services first.
The open them up and gather some statistics, to start to develop
some heuristics for patterns and volumes of excpected and un expected
traffic flows.....
That will be for latter.
> in terms of primary to secondary then you have to question the
> underlying layers -- is this being xferred across the internet ?
> internally over vpn ? are your secondary servers going to be full
> secondaries or just caching forwarders ? how will you control zone
> transfers ? consider filtering the type of queries, and the size
> of queries
>
> also consider the consequences of a hack. use selinux or similar, make
> sure dns running in its own username and/or namespace. primary target
> though has to be to change dns zones, so to make www.example.com map to
> www.clickads.com, so make sure that you have a remote server doing
> lookups regularly and report anomalies.
>
> hope this gives you a few directions to explore!
Yep, THANKS!
James
>
> [1] http://www.isc.org/downloads/bind/dnssec/
> [2]
>
https://kb.isc.org/article/AA-00913/0/BIND-9-Security-Vulnerability-Matrix.html
>
>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Re: Secure DNS servers
2014-06-16 19:57 ` [gentoo-user] " James
2014-06-16 20:26 ` thegeezer
@ 2014-06-16 21:40 ` Michael Orlitzky
2014-06-17 14:48 ` Eray Aslan
2 siblings, 0 replies; 12+ messages in thread
From: Michael Orlitzky @ 2014-06-16 21:40 UTC (permalink / raw
To: gentoo-user
On 06/16/2014 03:57 PM, James wrote:
>
>> There's a video of DJB at the 27c3 conference floating around where he
>> discusses some of this stuff. Some of his points shouldn't be taken
>> seriously, but it's entertaining nevertheless.
>
> I thought DJB was mostly deprecated. He's still preaching dns security,
> yet does not update his offernings? Interestingly strange.
>
He's a security researcher, not a system administrator. Most of his
software is in the public domain if someone wants to maintain it. And
while it's getting long in the tooth, e.g. djbdns still has one of the
best track records for security -- you just won't get any new features.
> Sven is great. So just the generic hardened remedies, nothing
> special to DNS servers or services, from my quick parse of his
> documents on hardened?
Nothing specific to DNS, no.
> Sven's also into "selinux". I see no selinux policies
> or rules. Maybe I should drop him a line about selinux related to
> dns primary servers? Surely a selinux policy for a primary only
> selinux dns server would been keen? Not needed ? Overkill ?
> I was going to read up a bit, before asking him questions I should
> have discovered from robust research on the subject......
I personally don't use SELinux, so my opinion is "overkill." But that
opinion is highly colored by a lazy reluctance to learn how it works.
>
> Ah, you've added to this iptables listing:
>
> http://wiki.gentoo.org/wiki/BIND/Tutorial
>
No! There's a dangerous mistake on that page that I've just fixed. This
line,
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
puts a big hole in your firewall for anyone smart enough to attack you
from port 53.
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Re: Secure DNS servers
2014-06-16 21:08 ` [gentoo-user] " James
@ 2014-06-16 22:06 ` thegeezer
2014-06-17 1:29 ` James
0 siblings, 1 reply; 12+ messages in thread
From: thegeezer @ 2014-06-16 22:06 UTC (permalink / raw
To: gentoo-user
On 06/16/2014 10:08 PM, James wrote:
> thegeezer <thegeezer <at> thegeezer.net> writes:
>
>> generally using something like ISC BIND you can set filters and easily
>> create an external view and internal view, so that you can do split dns
>> based on network connection. if doing something like this test it and
>> then test it again to make sure there is no leak due to a typo.
>>
>> it would be easier if we knew what you were standing up the servers for.
>> if it is for example your own domain name, you want something simple
>> like a couple of A addresses and an MX record then you don't need to
>> deviate much.
> Well some things will be very simple (minimal). Then, There is a "portal"
> I'm researching where we run all sorts of applications very securely,
> for one person at a time. It's eventually (hopefully) going to be
> a full LMS Learning Management system, something comprehensive, maybe even
> www-apps/moodle and or SWAD. Eventually a full ecommerce system, just
> for one company, not as a service to others.
sounds interesting. going for full interactive video distance learning
too would be a great direction to take, especially if the teacher
controls who has audio (to speak).
the only thing i would add is to keep each system seperated as much as
possible. don't put everything on one server. bad things happen to good
people so try to make sure one thing doesn't affect another. depending
on the age of the people you are helping they probably will try to use
latest scriptkiddie toys against you first, so think about the ingress
and egress of the network and of the individual nodes when you think
about security.
> But for now, just running various forms of secure, minimized DNS. Some
> machine controls (SCADA) will use the DNS as part of the SSL services.
>
scada huh. i wouldn't put it on a public facing internet connection.
even on a network connected to things i care about. i'm sure you have
good reasons, i would probably urge you to reconsider them [3]
>> if you are looking for dynamic dns updates you want to make sure you
>> have auth by secured ip (encrypted traffic) and you want to guard your
>> keys to allow DDNS.
>>
>> DNSSec is to prevent MITM attacks such as DNS cache poisoning, and you
>> can see some starter material at ISC BIND website [1]
> DNS sec will be down the road. I have time to build, test, research
> and adjust the strategy as this goes along. It's not fixing a desparate
> situation; more along the lines of building up various secure dns platforms
> along an increasing features set.
if your scada devices are using the public internet to get to your dns
servers i would seriously urge you to rethink things, even if you are
using dnssec.
>
>> In terms of "hack my dns server" there are many things that can hamper
>> it - something at the bleeding edge like gentoo is ace for this kind of
>> thing (*cough* centos is prehistoric *cough*) and if you were to load up
>> metasploit with ISC specific filters you can try to see what is
>> vulnerable. you can filter by CVE on your favourite website [2]
> Yep:
> http://cyberarms.wordpress.com/2014/04/20/detecting-openssl-heartbleed-with-nmap-exploiting-with-metasploit/
>
> I got that, hense the advise is being sought out, first.
>
and bear in mind the security in depth. your perimeter will be bypassed
- what happens next is down to you.
you are looking at having possible external user generated web content
-- how do you protect other users from XSS exploits ? how about 2factor
auth for staff and/or students ? how do you sandbox your remote apps ?
having an open network behind "the wall" is convenient, but servers in
your own network not trusting each other by default is how it should be
designed.
>> If the server is public facing then you want to be wary of such goodies
>> as recursive lookups as these can contribute to DoS attacks. you might
>> also like to try flooding the server with DNS or spoofed ip and see what
>> it responds to. these are not necessarily dns server specific but UDP
>> server specific and you can start to get an idea of scalability.
> One of the things I like to do, is profile the traffic, particularly
> in "well behaved, machine control networks" with IP services first.
> The open them up and gather some statistics, to start to develop
i for one would be very interested in reading of this work, should you
care to share it
> some heuristics for patterns and volumes of excpected and un expected
> traffic flows.....
there are very many companies that do this such as darktrace for one [4]
but my argument with them is that it is difficult to detect "normal"
unless you aggregate data among very large sites and use big data
statistics on them.
it wasnt' so long ago that usb dsl modems were the norm, and windows xp
had zero firewall on the dialup connection. viruses came in within
seconds of connectivity. what happens if what you start with is not
normal ? especially on a proving ground it is not only subject to
change but also you intend to pentest it -- is that flood of syn's
normal because it comes from your IP ? what happens if a friend visits
with his/her laptop and has a trojan that happens to be scanning your
'secure network' as part of a larger subset of networks ?
> That will be for latter.
>
>
>> in terms of primary to secondary then you have to question the
>> underlying layers -- is this being xferred across the internet ?
>> internally over vpn ? are your secondary servers going to be full
>> secondaries or just caching forwarders ? how will you control zone
>> transfers ? consider filtering the type of queries, and the size
>> of queries
>>
>> also consider the consequences of a hack. use selinux or similar, make
>> sure dns running in its own username and/or namespace. primary target
>> though has to be to change dns zones, so to make www.example.com map to
>> www.clickads.com, so make sure that you have a remote server doing
>> lookups regularly and report anomalies.
>>
>> hope this gives you a few directions to explore!
> Yep, THANKS!
> James
>
>
>> [1] http://www.isc.org/downloads/bind/dnssec/
>> [2]
>>
> https://kb.isc.org/article/AA-00913/0/BIND-9-Security-Vulnerability-Matrix.html
>>
>
>
>
>
[3] https://benoitis.com/beware-next-circle-hell-unpatchable-systems/
[4] http://www.darktrace.com/#/home
^ permalink raw reply [flat|nested] 12+ messages in thread
* [gentoo-user] Re: Secure DNS servers
2014-06-16 22:06 ` thegeezer
@ 2014-06-17 1:29 ` James
0 siblings, 0 replies; 12+ messages in thread
From: James @ 2014-06-17 1:29 UTC (permalink / raw
To: gentoo-user
thegeezer <thegeezer <at> thegeezer.net> writes:
> > I'm researching where we run all sorts of applications very securely,
> > for one person at a time. It's eventually (hopefully) going to be
> > a full LMS Learning Management system, something comprehensive, maybe even
> > www-apps/moodle and or SWAD. Eventually a full ecommerce system, just
> > for one company, not as a service to others.
>
> sounds interesting. going for full interactive video distance learning
> too would be a great direction to take, especially if the teacher
> controls who has audio (to speak).
>
> the only thing i would add is to keep each system seperated as much as
> possible. don't put everything on one server. bad things happen to good
> people so try to make sure one thing doesn't affect another. depending
> on the age of the people you are helping they probably will try to use
> latest scriptkiddie toys against you first, so think about the ingress
> and egress of the network and of the individual nodes when you think
> about security.
We're planning on lots of unwanted noise from a range of talented
problem hackers. Eventually a massive VM system approach will be
deploy, but first I want to test security the old fashion way....
> > But for now, just running various forms of secure, minimized DNS. Some
> > machine controls (SCADA) will use the DNS as part of the SSL services.
> >
>
> scada huh. i wouldn't put it on a public facing internet connection.
> even on a network connected to things i care about. i'm sure you have
> good reasons, i would probably urge you to reconsider them [3]
Let me share a little background with you on SCADA. Most networks that
have SCADA on them, are really poorly secured. It's just layers upon
layers of MS crap. I do not design those sorts of machine networks.
I have been given the opprotunity of 'fix' many such networks. Most I just
walk away from. I employ techniques I would characterize as "network
partitioning" and "asymmetric traffic routing" and loads of passive
monitoring and profiling. Many scada networks have all sorts of
improperly configured devices, bounced packets, and no sort
of 'state machine' design on what is and is not need, how often
and why. They have evolved, mostly by technicians and poorly trained
IT folks that just 'got it to work' without optimization or system
design constraints being enforced. Far too many folks and machines
are present on those critical networks. IT folks view a 20 million
dollar gas turbine, just like an expensive printer. Hacking them
is trivial. Most SCADA networks have MS servers on the same segments for
the'convenience' of all sorts of non-essential personel. To boot they
put video surveillance networks in place, so the hackers can actually
"see" the physical layout of the plants. Stupid does not begin to
characterize the mistakes common to scada operations.
You have the very wrong impression of my scada network designs. Most
companies I talk to, do not like my 'draconian' designs, and I'm never
going to be responsible for MS inspired, stupid networks. That said
the big vendors do make billions of (scada) dollars and I search pretty
hard form companies that will listen and I like enough to work for.
Networks with many machines and without humans are easy to secure,
you just have to think out of the box a bit.... (sorry trade secrets here).
Just keep anybody with an MBA out of the process.
> >> if you are looking for dynamic dns updates you want to make sure you
> >> have auth by secured ip (encrypted traffic) and you want to guard your
> >> keys to allow DDNS.
> >>
> >> DNSSec is to prevent MITM attacks such as DNS cache poisoning, and you
> >> can see some starter material at ISC BIND website [1]
> > DNS sec will be down the road. I have time to build, test, research
> > and adjust the strategy as this goes along. It's not fixing a desparate
> > situation; more along the lines of building up various secure dns
> > platforms along an increasing features set.
>
> if your scada devices are using the public internet to get to your dns
> servers i would seriously urge you to rethink things, even if you are
> using dnssec.
Ok, so even though folks consider these 'devices' as scada, I do not.
I mostly work on industrial control systems, when I choose to do scada
work.
What you are referring to, something like using a cell phone to open your
front door, turn on the hot tub, or manipulate your audio gear, is not
really what I consider scada, but others do. If those things get hacked,
you flood a basement, illegally enter a house etc etc. Bad things but
not really catistrophic to the neighborhood. For me, scada means
big industry, water supply, chemical plants, manufacturing etc etc.
So if you hack them, costs rise astronomically, very quickly. Loss of
life is a distinct possibility. These types of things should not
depend on MS anything, or using the open internet for anything. Few listen
now a days, because of the allure of sexy visual candy for folks that
do not need access to the data/controls/equipment. Large telecom companies
are the worst offenders, that why the gov. is not considering them
to mandate security standards, under the guise that it is for their
customers......
Stuxnet was a weakup call. Few listen. Far, far worse is bound to happen,
sooner or later.
> >> In terms of "hack my dns server" there are many things that can hamper
> >> it - something at the bleeding edge like gentoo is ace for this kind of
> >> thing (*cough* centos is prehistoric *cough*) and if you were to load up
> >> metasploit with ISC specific filters you can try to see what is
> >> vulnerable. you can filter by CVE on your favourite website [2]
> > Yep:
> >
http://cyberarms.wordpress.com/2014/04/20/detecting-openssl-heartbleed-with-nmap-exploiting-with-metasploit/
> >
> > I got that, hense the advise is being sought out, first.
> >
> and bear in mind the security in depth. your perimeter will be bypassed
> - what happens next is down to you.
> you are looking at having possible external user generated web content
I'm looking for consolidated information. I have a very very good track
record for (2) things. Keeping machines very secure and pissing
off managers by designing system with a need to know and very very
limited access. I usually save folks signficantly by using the word
"No" to all sorts of stupid ideas. One customer paid me out a fraction of
the savings they realized, for a very long time.
What managers need are reports from databases on systems, production and
security scans, not real time access...... However, go to a trade show
on scada and it's a feeding freenzy for hackers....... Vendors are putting
controls on cell phones and have security equivalent to WEP.
Thanks for your input. My goals here are building a series of dns servers
from very simple and very secure, and on up, slowly learning and creating
a portal for other to experinece what I figure out. My techniques on
machines are pretty much unpublished and unique. In a big industrial
environment, I teach folks to build something unique, and not follow
the vendor main-line approach. Few listen, hence all the noise lately
about the chineese hacking industries in the US...... The sad thing
is most industries think the US governement is watching their network,
will swoop in just in time to save them, and not make the managers look
like idiots, when press reports are leaked. They do not understand that
government agenices have a singular focus to increase their funding, and not
to protect anyone. You nor I can get through to them, until
after the pooper has been hacked.
idiots....abound, sorry for the digression.
peace,
James
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Re: Secure DNS servers
2014-06-16 19:57 ` [gentoo-user] " James
2014-06-16 20:26 ` thegeezer
2014-06-16 21:40 ` Michael Orlitzky
@ 2014-06-17 14:48 ` Eray Aslan
2014-06-17 20:40 ` Alan McKinnon
2 siblings, 1 reply; 12+ messages in thread
From: Eray Aslan @ 2014-06-17 14:48 UTC (permalink / raw
To: gentoo-user
On Mon, Jun 16, 2014 at 07:57:31PM +0000, James wrote:
> Any guidance of those?
When I have a choice, I go with nsd for authoritive and with unbound for
recursive dns servers. Bind is also a popular alternative.
> Anyone and Everyone is encouraged to "chime in" on dns server
Try to seperate your authorative and recursive dns servers.
Learn to use dig.
On Mon, Jun 16, 2014 at 02:49:39PM -0400, Michael Orlitzky wrote:
> iptables -A INPUT -p ALL -m conntrack --ctstate ESTABLISHED,RELATED
> \
> -j ACCEPT
Careful with conntrack. It is OK for a home/hobby server. For a high
volume dns server, you don't want to reach conntrack limits before you
reach the limits of your dns software - which are usually much higher.
A stateful firewall for a dns server is not always a good choice - do
not make it easier to DoS.
--
Eray Aslan <eras@gentoo.org>
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [gentoo-user] Re: Secure DNS servers
2014-06-17 14:48 ` Eray Aslan
@ 2014-06-17 20:40 ` Alan McKinnon
0 siblings, 0 replies; 12+ messages in thread
From: Alan McKinnon @ 2014-06-17 20:40 UTC (permalink / raw
To: gentoo-user
On 17/06/2014 16:48, Eray Aslan wrote:
> On Mon, Jun 16, 2014 at 07:57:31PM +0000, James wrote:
>> Any guidance of those?
>
> When I have a choice, I go with nsd for authoritive and with unbound for
> recursive dns servers. Bind is also a popular alternative.
>
>> Anyone and Everyone is encouraged to "chime in" on dns server
>
> Try to seperate your authorative and recursive dns servers.
>
> Learn to use dig.
>
> On Mon, Jun 16, 2014 at 02:49:39PM -0400, Michael Orlitzky wrote:
>> iptables -A INPUT -p ALL -m conntrack --ctstate ESTABLISHED,RELATED
>> \
>> -j ACCEPT
>
> Careful with conntrack. It is OK for a home/hobby server. For a high
> volume dns server, you don't want to reach conntrack limits before you
> reach the limits of your dns software - which are usually much higher.
> A stateful firewall for a dns server is not always a good choice - do
> not make it easier to DoS.
>
You could probably get away with it on an auth server as they tend to be
lighter loaded than a caching server.
But on a cache server - no ways at all.
I watched big busy dns cache servers try to deal with FreeBSD stateful
firewalls once, it was not a pretty sight :-)
--
Alan McKinnon
alan.mckinnon@gmail.com
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2014-06-17 20:41 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-06-16 18:15 [gentoo-user] Secure DNS servers James
2014-06-16 18:49 ` Michael Orlitzky
2014-06-16 19:57 ` [gentoo-user] " James
2014-06-16 20:26 ` thegeezer
2014-06-16 21:40 ` Michael Orlitzky
2014-06-17 14:48 ` Eray Aslan
2014-06-17 20:40 ` Alan McKinnon
2014-06-16 20:59 ` [gentoo-user] " Rich Freeman
2014-06-16 20:10 ` thegeezer
2014-06-16 21:08 ` [gentoo-user] " James
2014-06-16 22:06 ` thegeezer
2014-06-17 1:29 ` James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox