Welcome!

@DevOpsSummit Authors: Liz McMillan, Zakia Bouachraoui, Yeshim Deniz, Pat Romanski, Elizabeth White

Related Topics: @DevOpsSummit, Linux Containers, Containers Expo Blog

@DevOpsSummit: Blog Feed Post

DNS: What Can Go Wrong and How You Can Fix It | @DevOpsSummit #APM #Agile #DevOps

DNS enables users of all skill sets and technical knowledge levels to use this incredibly advanced resource on a daily basis

DNS: What Can Go Wrong and How You Can Fix It
By Ankit Kumar

DNS is a core component of the Internet. This rather complex system exists to perform the basic function of translating website Domain names (ex: Catchpoint.com) into an IP address. It acts as the liaison between the language that users can understand, and the address of the data center or destination in which the site is being hosted.

DNS is what shapes the modern Internet. It enables users of all skill sets and technical knowledge levels to use this incredibly advanced resource on a daily basis. Businesses that exist entirely on the Internet like online banking and ecommerce companies have not only emerged into the market, but have steadily gained a global presence.

Despite its critical role, DNS isn’t impenetrable; even with redundancies and a fast, efficient design, it’s still vulnerable to performance issues and failures. When these issues occur, it means that your applications and websites are inaccessible and users are likely feeling frustrated. Performance degradation can have serious consequences that can affect your revenue and brand reputation, so it’s crucial that your DNS is reliable and consistent.

Regardless of where your DNS is hosted (internally vs. third-party such as OpenDNS, NS1, etc.), reliability should always be a priority. To ensure it’s reliable, you must use a DNS monitor that allows you to test and analyze the results so you can make improvements. Monitoring also gives you the ability to recognize performance trends and patterns, and identify areas of concern.

Let’s take a look at some of the real world concerns that can cause DNS resolution issues.

Not using a multiple name server architecture:
DNS name servers are very important; they are the primary source that directs to the actual hostnames, which is what a client is looking for. These name servers can go down at times due to an issue (i.e. DDoS attacks, network issues with the server, etc.). This can be cause for serious concern if there is only one name server in place because the DNS resolution will fail and the end user wouldn’t be able to visit the page at all. It’s always advisable to have multiple name servers to answer DNS queries so that even if one fails, others can answer the query.

Let’s say I have a hostname www.abc.com and I have configured only one name server to handle the DNS query. So when the request reach abc.com, it gets the following information in the zone file:

abc.com   172,800   IN   NS     ns1.abc.com

Now imagine if this name server goes down; the complete DNS query will fail and the client will not be able to reach www.abc.com because there isn’t a second name server to handle failure.

Let’s look at another example: www.google.com has four name servers which enables them to handle a name server failure more effectively.

google.com   172,800   IN   NS     ns1.google.com

google.com   172,800   IN   NS     ns2.google.com

google.com   172,800   IN   NS     ns3.google.com

google.com   172,800   IN   NS     ns4.google.com

In this case, whenever any of the four name server fails, there are other three name servers which will be answering DNS queries, making sure there is not a complete outage of DNS resolution process for www.google.com.

Absence of glue records:
A glue record is the IP address of the name server that is present in the same zone file. Now, this is a very important resource record considering how the whole DNS resolution works. Let’s try to understand this with the help of an example:

Say I have a hostname www.abc.com and for that I have three name servers, which will be used in my zone file when a DNS query comes for abc.com

abc.com 172,800 IN NS ns1.abc.com

abc.com 172,800 IN NS ns2.abc.com

abc.com 172,800 IN NS ns3.abc.com

Now consider the case in which I do not give information about all three of the name servers in the form of an IP address (or glue records). Next, the DNS resolver will query one of the name servers; say ns1.abc.com is chosen. Now since the IP address of NS1 is not present in that zone file, our DNS resolver will start resolving from root, then .com, and, after querying abc.com, again it will end up with the same three name servers’ information as shown above. The DNS resolution process will be stuck in this loop forever until finally it fails. Hence, it is very important to add glue record while configuring the name server information in the zone file.

abc.com   172,800   IN   NS   ns1.abc.com

abc.com   172,800   IN   NS   ns2.abc.com

abc.com   172,800   IN   NS   ns3.abc.com

ns1.abc.com   800   IN   A      1.2.3.4

ns2.abc.com   800   IN   A      3.2.4.6

ns3.abc.com   800   IN   A      5.4.1.2

DNS cache poisoning:
To put it simply, DNS cache poisoning means incorrect DNS information. For example, if www.facebook.com starts pointing to a Google IP, that means Facebook will tell its user to search on a Google machine for Facebook content. DNS cache poisoning can occur in multiple ways, like if an attacker (middle man) gets ahold of the zone file of the authoritative name servers, they could change the value of A records and can cause incorrect DNS mapping.

It can also spread because of ISP caching wrong DNS entry, which is obtained from some compromised servers and can virtually spread from one ISP to the other and cause serious poisoning issues.

Insecure Zone transfer:
As explained earlier, having multiple name servers for a domain gives it a better chance of handling any kind of name server failure. It’s also very important for all the name servers to have updated information of the zone file, which is why you have to make sure all the Name servers have same information when it comes to zone transfer.

An insecure zone transfer can reveal a lot of critical information about a domain. Although zone transfer takes place over TCP protocol to make sure information transferred is more reliable, sometimes improper configuration of a particular name server can allow zone transfer to a third party (middle man), which means the third party will have all the critical information related to that particular domain. Hence, transferring zone information should happen between the same domain name servers. For example, if there are two name servers for example.com (NS1, NS2), then ns1.example.com should allow zone transfer only to ns2.example.com, and discard all other third-party requests for transfer.

These examples are just a few that demonstrate why monitoring is important for organizations to keep an eye on any anomalies to their DNS service. Stay tuned for a follow-up article that will examine other DNS scenarios, and how to handle the issues that can occur.

The post DNS: What Can Go Wrong and How You Can Fix It appeared first on Catchpoint's Blog.

Read the original blog entry...

More Stories By Mehdi Daoudi

Catchpoint radically transforms the way businesses manage, monitor, and test the performance of online applications. Truly understand and improve user experience with clear visibility into complex, distributed online systems.

Founded in 2008 by four DoubleClick / Google executives with a passion for speed, reliability and overall better online experiences, Catchpoint has now become the most innovative provider of web performance testing and monitoring solutions. We are a team with expertise in designing, building, operating, scaling and monitoring highly transactional Internet services used by thousands of companies and impacting the experience of millions of users. Catchpoint is funded by top-tier venture capital firm, Battery Ventures, which has invested in category leaders such as Akamai, Omniture (Adobe Systems), Optimizely, Tealium, BazaarVoice, Marketo and many more.

@DevOpsSummit Stories
Dynatrace is an application performance management software company with products for the information technology departments and digital business owners of medium and large businesses. Building the Future of Monitoring with Artificial Intelligence. Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like "How is my application doing" but no idea how to get a proper answer.
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
DXWorldEXPO LLC announced today that Nutanix has been named "Platinum Sponsor" of CloudEXPO | DevOpsSUMMIT | DXWorldEXPO New York, which will take place November 12-13, 2018 in New York City. Nutanix makes infrastructure invisible, elevating IT to focus on the applications and services that power their business. The Nutanix Enterprise Cloud Platform blends web-scale engineering and consumer-grade design to natively converge server, storage, virtualization and networking into a resilient, software-defined solution with rich machine intelligence.
This sixteen (16) hour course provides an introduction to DevOps, the cultural and professional movement that stresses communication, collaboration, integration and automation in order to improve the flow of work between software developers and IT operations professionals. Improved workflows will result in an improved ability to design, develop, deploy and operate software and services faster.
CI/CD is conceptually straightforward, yet often technically intricate to implement since it requires time and opportunities to develop intimate understanding on not only DevOps processes and operations, but likely product integrations with multiple platforms. This session intends to bridge the gap by offering an intense learning experience while witnessing the processes and operations to build from zero to a simple, yet functional CI/CD pipeline integrated with Jenkins, Github, Docker and Azure.