To Virtualize or Not to Virtualize?
As has been recently pointed out by both SANS Institute and The Measurement Factory, DNS is clearly not working. Year after year, surveys have shown that public DNS servers are compromised by security problems that threaten the stability of the entire Internet.
I recently had a discussion with a distinguished gentleman who has been working in and around this problematic area for a rather lengthy time. As I was rather interested in his take on this topic, I asked him if he had any idea as to why people were so hesitant to make changes to their DNS servers to resolve the associated problems. His response was rather interesting.
In his view, the problem isn’t so much about reluctance to fix DNS related problems. Rather, he said that networking professionals tend to be rather skeptical about touching functional DNS installations, in part because screwing them up would be a sure way to interrupt a network’s operation and to cause havoc, and on the other hand because DNS servers are often used to run also other TCP/IP services alongside DNS. This in turn makes these servers more complex, which raises the bar for tweaking them. If it works don’t fix it, as the old adage goes.
Running other services in a DNS server is actually a security threat cited by SANS Institute in their latest 2006 update of Internet Security Attack Targets listing. The reason for this is quite simple: if a server runs both DNS and, say, sendmail, one doesn’t need O/S or DNS vulnerability to hack into the system. A hole in sendmail is enough to do the trick (and there have certainly been some security flaws in sendmail over the years).
To get rid of this problem for once and for all, there are actually two optional approaches that are now available:
Virtualization
If there is a specific reason as to why an organization wants to run several TCP/IP services in a single physical server, the best way to build a secure, dedicated DNS server is to run it in a virtual server. With several virtual servers or virtual appliances in a single physical server, organizations can run several services side by side while keeping them secure. There are several options to choose from ranging from VMware to open source solutions such as XEN.
DNS appliance / dedicated DNS server
If there is no specific need to run all services in the same physical server, another good way of securing DNS is to run an appliance. Admittedly, dedicated DNS appliances have been fairly expensive in comparison with traditional DNS servers. However, with software appliances making their way to the mainstream, setting up a dedicated DNS server appliance is not expensive at all. We have just certified Nixu SNS on HP ProLiant series, which means that the investment required for a dedicated server starts from significantly below $2,000.00 (US). That’s less than half of the cost for traditional hardware-based DNS appliances.
Regardless of whether you decide to proceed with a virtual appliance or a dedicated DNS appliance, they both offer two significant security benefits. Due to their purpose built design, they are more secure than servers that run other services alongside DNS. Also, because appliances automate the maintenance and software update processes, they are patched automatically whenever new vulnerabilities are found. This reduces the workload at customers’ end as the DNS servers are maintained for them, which otherwise would be somewhat time-consuming and therefore costly. And last but not least, DNS appliances tend to be easier to live with because they are supported and offer tools that cannot be found in DNS server implementations running plain BIND.