What is the role of the Recursive DNS server?

We could talk a lot about DNS functionality, however, let’s concentrate at the moment on one major DNS component, the recursive DNS server. 

Recursive DNS server explained.

The Recursive DNS server is responsible for searching for data that is required for answering the queries of the users. Recursion in computing is associated with a method for solving a problem. That means a program or solution is going to repeat itself until it reaches the goal.

The recursive server operates between the authoritative DNS server and the end-users that make the requests.

Every time a user wants to visit a website, it requests its domain name, and the recursive DNS server is the one seeking its IP address (IPv4 or IPv6). Once the recursive server gets the required IP address, it goes back to the device (browser) of the user that initiated that request the first time. Then the laptop, smartphone, or whatever device is using the user receives the information, and it is able to connect to the IP address and load the website.

Types of lookup

The recursive DNS server could complete the lookup for the information in two different ways.

The first type of search needs a more extended period of time to be performed. This is because the recursive server has to go through a long path to get the wanted data. First, it reaches the root server, next to the TLD (Top-Level-Domain) server, and lastly to the authoritative DNS server, which provides the answer to the query. 

For that reason, the recursive server has only one goal – to search for information.

The second type is the easier and quicker path. The recursive server is able to get the IP address from its cache memory. For a certain amount of time, this server can store the data in its cache. The administrators can set for how long by the TTL (time-to-live) value. 

When the user makes a query, the recursive server will first check for the IP address in its cache memory. The query finds its answer if the data is still available there and the TTL has not expired yet. That is a great advantage because the response is quick, and the recursive server doesn’t have to look further in other servers.

DNS cache poisoning attacks and Recursive DNS server

It occurs when the recursive DNS server seeks an IP address from a different DNS server. The cybercriminal stops the request, and instead of the accurate data, the attacker gives a fake answer. Usually, it is an IP address pointing to a malicious website. That is how the DNS cache poisoning attack is completed.

The issue is not just that the recursive server provided the user with a fraudulent IP address. Further, the server will save the answer on its cache, leading to a significant problem. Each user who wants to visit that website is going to receive the fraudulent IP address and enter the malicious website. Such an attack could affect a lot of users. 

3 common usages of FQDN

What is FQDN?

Fully Qualified Domain Name, or for short FQDN, presents exactly the complete name of a specific domain name. Moreover, that applies to servers too and not only to websites. The Domain Name System (DNS) is built and organized hierarchy. It begins from the top level that is the root, followed by the TLD, a level below is the domain, and finally, the last level is the particular hostname.

To make things simple, let’s see the complete syntax of a fully qualified domain name (FQDN):

hostname. domain name. TLD 

([hostname].[domain].[tld].)

Here are some examples of a fully qualified domain name that you probably have seen:

mail.google.com. 

ftp.microsoft.com. 

movies.disney.com.

Keep in mind that the dot “.” that is last in the syntax is commonly neglected. It simply represents the root level. Typically the FQDN ends with the TLD. Yet, there are some cases where that dot is required, and you are going to need to add it. Also, it depends on the software you are currently applying.

With a Fully Qualified Domain Name, you are able to see where exactly an object exists in the hierarchy of the Domain Name System.

Components 

The Fully Qualified Domain Name has 3 main components. They are the following: 

  • The first component is the TLD (Top Level Domain) – It is described with the extension in the end that you can view in an FQDN. Usually it includes 2 or 3 letters, for instance .com, .eu, .net etc.
  • The second component is the subdomain – You can see it as the domain one level below the Top Level Domain (TLD). For illustration, domain.com.
  • The third component is the hostname – It is described with the signs located at the start of the Fully Qualified Domain Name. A simple and very familiar example is www in www.domain.com. The domain owner could create various hostnames as they are connected with a subdomain. For illustration:
    • mail.domain.com
    • www.domain.com
    • ftp.domain.com

Use cases of FQDN

  1. If you want to get an SSL Certificate – Almost every site has one, and you need to provide the FQDN to receive it.
  2. If you want to connect to a host remotely – The Fully Qualified Domain Name is a requirement when you want to connect to a remote host. That means that it isn’t local to your ISP.
  3. If you want to access a specific Domain Service or Protocol – The FQDN is required, for instance, when you want to establish email for particular applications.

What is PQDN (Partially Qualified Domain Name)?

The Partially Qualified Domain Name, or for short PQDN, is a Fully Qualified Domain Name, simply with an absent part. It does not contain all of the components, which give the exact position on the DNS hierarchy. To make things more simple, for instance, a PQDN is google.com. The reason for that is there is an absent web host (www.) before the domain name. 

Everyday users usually apply PQDN because it is more accessible and easy. Besides, it is shorter, which makes PQDN more simple to use.

DNS cache: Why should you care about it?

What is DNS cache?

The DNS cache is a mechanism for storing the DNS data of previously queried domain names. Different devices, such as DNS recursive servers, mobiles, computers, and tablets, have such cache memory. It has a specific purpose: to reduce the time for resolving a domain name. Thanks to it, the DNS recursive server is not necessary to perform a complete DNS lookup every time a particular domain name is requested.

The DNS information that is kept in the cache memory includes the various different DNS records, such as A record of a specific domain name and the corresponding IP address. However, the data is stored temporarily only for a specific amount of time. Therefore, it is estimated through the TTL (Time-To-Live) value of the DNS records. Once the TTL expires, the DNS resolver will have to perform a new DNS lookup.

Let’s take, for instance, a news website that you visit every morning. The first time you want to visit that specific website, a DNS lookup is completed for the needed IP address. The DNS recursive server receives the IP address and saves it in its cache. The next day, when you type the domain name of your news website, it is going to be a lot faster and easier to load. The reason is the DNS cache that keeps the IP address. Also, a new DNS lookup is not required. 

It provides responses to DNS queries of the users faster and optimizes the resources efficiently. DNS recursive only makes the absolutely necessary lookups. 

You should you care?

DNS cache is very useful, and unfortunately, cybercriminals are well aware of that. They have found and established a way to take profit from its functionality.

The attackers manage to perform DNS poisoning by inserting fraudulent IP addresses or domain names. That way, they direct the user to a malicious website that is very similar to the original one.

Technical issues or administrative errors could corrupt the DNS cache. Yet, often if something like that appears, it is a sure sign for criminal activity in motion. So, to prevent this risk, it is a good idea to flush the DNS cache regularly. 

How to delete the DNS cache?

The process of deleting the cache depends on your OS and your browser that could have different separate DNS cache. 

macOS

  1. Open the Terminal. Then type the following command – sudo killall -HUP mDNSResponder
  2. Next, write your password and press Enter. Ready!

Linux (Ubuntu 20.04 LTS)

  1. Open the Terminal. Then type the following command – sudo systemd-resolve –flush-caches. 
  2. Next, write your sudo password and press Enter. Ready!

Windows

  1. Start the Command Prompt or Windows PowerShell. Then type the following command – ipconfig /flushdns.
  2. You have to receive a confirmation message. The DNS is now clear.

Safari 

  1. Go to “Preferences” and next “Advanced.” There, in the menu bar, search for “Show develop menu.” 
  2. Next, find “Develop” and then “Empty Caches.”
  3. Now, just restart your browser. You are ready! 

Google Chrome/Edge/Opera

  1. Copy this text – chrome://net-internals/#dns. 
  2. Paste the text inside your address bar. Then press Enter.
  3. On the page you see, search for “Host resolver cache” and click on “Clear host cache.”
  4. Ready!

Managed DNS: Take your performance to the next level

Let me tell you a real story. I had a blog, which had no additional DNS service and was using just the name servers of the domain registrar, and I was using a regular shared hosting. You can imagine that neither the domain resolution speed nor the web hosting was great. I am experiencing the bad consequences of people clicking and not waiting for my site to load, leaving it faster than expected and not satisfying positioning on the search engines’ rankings.

The blog was loading in 20-30 milliseconds from the continent (Europe), where the servers were, but around 200-300 milliseconds on all of the rest (North America, South America, Australia, Asia, etc.).

I was losing many visitors until I started to use a Managed DNS!

The Managed DNS first brought speed, but many more features too, that improved the visitors’ experience greatly. Here you can have my observations:

Boosted speed.

Yes, you can imagine that a paid Managed DNS service will bring significant improvement when it comes to domain resolution. First, get a plan with name servers located as close as possible to your biggest audiences. Like that, you will shorter the route of the DNS queries and speed the process up. With a good provider, your domain could be resolved in less than 10 milliseconds! 

Load balancing for better performance.

Not only that the speed will be better, but also you can enjoy the advantages of the load balancing that many Managed DNS services offer. The queries can be managed between the name servers and provide better performance and, most importantly, redundancy. Even if some of the servers are down, the visitors’ queries can still be answered from another of the working DNS servers. So, thanks to the load balancing, you won’t miss visits, leads, and conversions, just because your domain was offline.

No overspending.

Yes, you can rent several dedicated servers or virtual private servers and use software like Bind 9, to manage your domain on your own. But this could be hundreds of times more expensive than what a Managed DNS plan can offer. And you don’t need to think about software support because it is a SaaS (software-as-a-service). All the support, hardware and software, are the responsibility of the DNS provider.

Scalability.

Related to the previous point, you can also benefit from cloud DNS providers’ scalability. You want more resources, then you just pay and start using them in a matter of minutes. No need to set up whole OSes and software. Click a few times, perform a zone transfer, and you have another Secondary server up and running.

Top-notch security.

If you haven’t managed a server on your own, you might not know how much pain in your rear end is to secure a server if you use a DNS provider, all that responsibility and weight fall on it. You will get all the benefits of a good firewall, smart monitor of traffic, DDoS protection, and automatic triggers. I can’t really express myself how much time and effort not having to worry about security helps your business.

Conclusion

Having a Managed DNS took that blog to the next level. It was a significant and visible improvement. Sure it costs, and maybe it is an expense that you don’t want to add in the beginning. But when your site starts growing, it is a must-have DNS that will boost your overall performance.

Use DNSSEC to boost your security.

As you know, the Domain Name System (DNS) infrastructure is the soul of pretty much everything on the Internet. There’s no web hosting, e-mail or messaging services, etc., that can exist online without the DNS.

And being that important, yes, the DNS has its Achilles heel: security. Its focus is not there, and that makes it vulnerable. But don’t worry, DNSSEC already exists! A reliable choice to boost security!

What is DNSSEC?

DNSSEC or Domain Name System Security Extensions is a suite of extension specifications for encrypting DNS records sets and proving the original authoritative nameserver. It’s not about cryptographically signing DNS requests and answers but directly signing DNS data by their owner.

Then, if a criminal (man-in-the-middle) manages to snatch these DNS records, they will be unreadable due to the encryption.

DNSSEC serves for authentication, too, through digital signatures that use public-private key cryptography combinations. Each DNS zone owns its key pair (public/private).

A big DNSSEC advantage is it covers every domain’s level. From the very top, the root, all the way down to the hostname. It builds sort of a chain of trust all across the DNS tree. Every level up verifies the one below through the combined use of the public and private keys. If there’s a failure on one of the levels, the chain gets broken. Therefore data is considered unreliable.

Let’s try an example of the hierarchical digital authentication DNSSEC practices. Think about an exampledomain.net lookup. .Net nameserver authenticates the zone below, which is exampledomain.net

DNSSEC DNS record types.

DNSSEC adds the following DNS records in order to enable signature validation. 

DNSKEY. This record holds the public key that can verify RRSIG.

DS. It’s a delegation signer, and it contains the DNSKEY record’s hash and is put in the parent zone to verify the one under. 

RRSIG. It holds the signature for the recordset.

NSEC, NSEC3. Used for denial-of-existence of a DNS record, and to link to the next secure record.

How does DNSSEC boost security?

DNSSEC boosts your security, providing you with the tools (suite) to ensure that DNS records are not altered. This strengthens your protection and decreases the chances for criminal attempts like DNS cache poisoning. When a criminal manages to alter DNS records on the fly, the client receives them and gets dragged to a different server controlled by the criminal. 

Besides, DNSSEC allows you to authenticate the source of DNS data. By now, you should know about the frequency and different techniques criminals use to attack the DNS. This authentication feature is really significant. To have the certainty that data really belongs to the source they claim to be, meaning to the right authoritative name server, is gold. This reduces the chances of fake servers operating successfully.

If you activate DNSSEC, DNS recursive servers can authenticate data they work with really come from a legit source, so it’s reliable. Fake data will be discarded. And if by any chance the recursive can’t authenticate data, they won’t use them to keep the security. They will retry the authentication process to avoid the use of unreliable or forged data.

Conclusion.

The use of DNSSEC to keep the DNS security is a good decision. Online risks and direct attacks to the DNS are not uncommon nowadays. Of course, DNSSEC costs, but you know that prevention always will be cheaper than the cost of fixing the unfortunate consequences of a criminal attack.

A breakdown of rDNS.

Are you experiencing problems with your e-mails? Perhaps they are going to the spam folder or missing. If this is your case, it’s possible that the origin of the problem is that you haven’t configured reverse DNS (rDNS).

What is reverse DNS (rDNS)?

The rDNS or reverse DNS is the DNS lookup of an IP address, with the goal to find the domain name behind it. Yes, it’s exactly the opposite of the regular DNS lookup, in which a domain name points to the IP address where it’s hosted.

The rDNS service usually is supplied by managed DNS providers. Basically, when you get it, you have the chance to create a reverse Master zone. By adding PTR records to this zone, you can verify the correct match between IP addresses and their domain name. PTR records become the evidence you need to prove the IP address really corresponds to the domain name and, therefore, avoid frauds.

The rDNS functions with IPv4 (A) and IPv6 (AAAA). 

What is a reverse Master zone?

A reverse Master zone is a Primary DNS zone on an authoritative DNS server you need for resolving IP addresses to domains. Its creation is a must because it’s the environment PTR records require for functioning correctly.

When a rDNS lookup is triggered, it will travel through the DNS hierarchy like a regular DNS lookup. The difference is rDNS lookups require a specific root domain: in-addr.arpa. Within this domain, subdomains are produced with the numbers of an IP address in reverse. There’s a reason for this: the IP address information is more specific from the left to the right direction.

What is a PTR record?

The PTR or pointer record contains an IP address linked to the domain name. It’s the antithesis of an A record. This last supplies the corresponding IP address of a domain name. And actually, being opposites, they are teammates. You need an A or AAAA record for each PTR you add.

Let’s explain it through an example. When an e-mail is sent, the recipient’s mail server will verify the PTR record to confirm that the IP address corresponds to the domain it says to come from. This is an rDNS lookup. To ensure this match and avoid risks, there will be a second check, but the attention will go to the A or AAAA record.

PTR records are helpful for servers to confirm senders’ identity, for the recipients to trust that the sender’s IP address is not a forged one.

Suppose you wonder what happens when an e-mail server doesn’t have rDNS enabled. Well, they still try to protect security in a basic way. They discard the message or mark it as dangerous. The choice depends on their configuration.

Why do we need rDNS?

To prevent spam. Unwanted messages can be simply rubbish or dangerous threats. They can be looking for advertising or spreading malware, phishing, etc. rDNS can really reduce spam by verifying the IP addresses. If they are legit, rDNS will find it out!

To get easily readable logs. Logging systems register just IP addresses, those long sequences of numbers you perfectly know. Well, with rDNS those numbers can become domain names easier to be read on the logs.

To fix e-mail delivery problems. If your e-mails are going to the spam folder or missing, you can stop these problems by enabling rDNS. 

Conclusion.

The rDNS is an efficient solution you should add to enhance your security. So check your configuration and set it up today!

DNS record types every beginner should know

For most beginners, the concept behind DNS could seem complex—especially for those without a technical background. However, here are some essential DNS record types that will help you manage your DNS easily.

A record

Probably the A (address) record is the most popular of all DNS record types. The reason for that is simply because its purpose is very specific and also very fundamental. The A record links the hostname to the corresponding IP address (IPv4). That way, people remember just domain names and don’t bother with IP addresses.

(more…)

What is the purpose of DNS?

DNS is a complex topic and deserves proper attention. So, let’s explain a little bit more about DNS!

DNS explained. 

The Domain Name System, or for short DNS, is an infrastructure that makes the experience on the Internet for people way less complicated. It has great and enormous functionality. However, in its foundation, the Domain Name System has a database with all of the existent domain names and the IP addresses which correspond to them.

When you type a domain name that you desire to visit, the DNS process is triggered. But, first, the domain name has to be translated to a language that is understandable for machines, which are the IP addresses. Machines are able to connect and communicate with each other through numbers. So once the required IP address, which is associated with the domain name, is found, it is sent back to your browser. Now you can successfully connect and explore the website.

If DNS were not created, people would have to enter complicated long IP addresses to reach a particular website. Imagine how challenging it would be to memorize several website’s addresses! So instead, DNS allowed humans to easily type domain names, which are further translated to numbers for the machines. 

(more…)