Showing posts with label DNS. Show all posts
Showing posts with label DNS. Show all posts

Tuesday, November 27, 2012

How DNS works in theory

The hierarchical Domain Name System, organized into zones, each served by a name server
The domain name space consists of a tree of domain names. Each node or leaf in the tree has one or more resource records, which hold information associated with the domain name. The tree sub-divides into zones. A zone consists of a collection of connected nodes authoritatively served by an authoritative DNS nameserver. (Note that a single nameserver can host several zones.)
When a system administrator wants to let another administrator control a part of the domain name space within his or her zone of authority, he or she can delegate control to the other administrator. This splits a part of the old zone off into a new zone, which comes under the authority of the second administrator's nameservers. The old zone becomes no longer authoritative for what goes under the authority of the new zone.
A resolver looks up the information associated with nodes. A resolver knows how to communicate with name servers by sending DNS requests, and heeding DNS responses. Resolving usually entails iterating through several name servers to find the needed information.
Some resolvers function simplistically and can only communicate with a single name server. These simple resolvers rely on a recursing name server to perform the work of finding information for them.

Parts of a domain name

A domain name usually consists of two or more parts (technically labels), separated by dots. For example wikipedia.org.
  • The rightmost label conveys the top-level domain (for example, the address en.wikipedia.org has the top-level domain org).
  • Each label to the left specifies a subdivision or subdomain of the domain above it. Note that "subdomain" expresses relative dependence, not absolute dependence: for example, wikipedia.org comprises a subdomain of the org domain, and en.wikipedia.org comprises a subdomain of the domain wikipedia.org. In theory, this subdivision can go down to 127 levels deep, and each label can contain up to 63 characters, as long as the whole domain name does not exceed a total length of 255 characters. But in practice some domain registries have shorter limits than that.
  • A hostname refers to a domain name that has one or more associated IP addresses. For example, the en.wikipedia.org and wikipedia.org domains are both hostnames, but the org domain is not.
The Domain Name System consists of a hierarchical set of DNS servers. Each domain or subdomain has one or more authoritative DNS servers that publish information about that domain and the name servers of any domains "beneath" it. The hierarchy of authoritative DNS servers matches the hierarchy of domains. At the top of the hierarchy stand the root nameservers: the servers to query when looking up (resolving) a top-level domain name (TLD).
Iterative and recursive queries:
  • An Iterative query is one where the DNS server may provide a partial answer to the query (or give an error). DNS servers must support non-recursive queries.
  • A recursive query is one where the DNS server will fully answer the query (or give an error). DNS servers are not required to support recursive queries and both the resolver (or another DNS acting recursively on behalf of another resolver) negotiate use of recursive service using bits in the query headers.

Address resolution mechanism

In theory a full host name may have several name segments, (e.g ahost.ofasubnet.ofabiggernet.inadomain.example). In practice, in the experience of the majority of public users of Internet services, full host names will frequently consist of just three segments (ahost.inadomain.example, and most often www.inadomain.example).

A DNS recursor consults three nameservers to resolve the address www.wikipedia.org.
 
For querying purposes, software interprets the name segment by segment, from right to left, using an iterative search procedure. At each step along the way, the program queries a corresponding DNS server to provide a pointer to the next server which it should consult.
As originally envisaged, the process was as simple as:
  1. the local system is pre-configured with the known addresses of the root servers in a file of root hints, which need to be updated periodically by the local administrator from a reliable source to be kept up to date with the changes which occur over time.
  2. query one of the root servers to find the server authoritative for the next level down (so in the case of our simple hostname, a root server would be asked for the address of a server with detailed knowledge of the example top level domain).
  3. querying this second server for the address of a DNS server with detailed knowledge of the second-level domain (inadomain.example in our example).
  4. repeating the previous step to progress down the name, until the final step which would, rather than generating the address of the next DNS server, return the final address sought.
The diagram illustrates this process for the real host www.wikipedia.org.
The mechanism in this simple form has a difficulty: it places a huge operating burden on the root servers, with each and every search for an address starting by querying one of them. Being as critical as they are to the overall function of the system such heavy use would create an insurmountable bottleneck for trillions of queries placed every day. The section DNS in practice describes how this is addressed.

Circular dependencies and glue records

Name servers in delegations appear listed by name, rather than by IP address. This means that a resolving name server must issue another DNS request to find out the IP address of the server to which it has been referred. Since this can introduce a circular dependency if the nameserver referred to is under the domain that it is authoritative of, it is occasionally necessary for the nameserver providing the delegation to also provide the IP address of the next nameserver. This record is called a glue record.
For example, assume that the sub-domain en.wikipedia.org contains further sub-domains (such as something.en.wikipedia.org) and that the authoritative nameserver for these lives at ns1.en.wikipedia.org. A computer trying to resolve something.en.wikipedia.org will thus first have to resolve ns1.en.wikipedia.org. Since ns1 is also under the en.wikipedia.org subdomain, resolving ns1.en.wikipedia.org requires resolving ns1.en.wikipedia.org which is exactly the circular dependency mentioned above. The dependency is broken by the glue record in the nameserver of wikipedia.org that provides the IP address of ns1.en.wikipedia.org directly to the requestor, enabling it to bootstrap the process by figuring out where ns1.en.wikipedia.org is located.
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia.

Friday, November 23, 2012

IE Domain Registry confirms hijacking of the DNS nameservers

On 9 October 2012, those who tried to visit Google.ie and Yahoo.ie were sent to an Indonesian webserver controlled by hackers.

After having investigated the security incident, the IE Domain Registry (IEDR) confirmed on November 2012 that unauthorised change had been made to the two .ie domains on an independent Registrar’s account which resulted in a change of DNS nameservers.

Nameservers ensure that when users visit a certain domain, they are pointed to the correct website on the correct server. In this case, users, instead of being directed towards Google.ie and Yahoo.ie, were redirected to a fraudulent server. The “hack” page was signed by Hmei7? who is apparently an Indonesian hacker whose “signature” has appeared on thousands of websites defacements, including attacks against Asus and Siemens.

According to IEDR, for a 25 days period starting with 11 September 2012, “the public-facing web server of the IEDR was subjected to repeated attempts at unauthorised access from external sources”. The incident occurred because the hacker had succeeded in exploiting a Joomla (content management system installed on the IEDR website) plugin, uploading malicious PHP web scripts. “PHP scripts were then used to access a backend database and this database access subsequently provided access to the IEDR control panel and permitted unauthorised modifications to an account,” says IEDR statement.

“Luckily there haven’t been any reports of any malware or viruses coming from the two websites. The sites were timing out and we suspect the hacker’s webservers were overwhelmed; they couldn’t cope with the volume of traffic Google and Yahoo would normally receive. Luckily, the IEDR were quick to restore the correct DNS nameservers on both the domain name and minimise the disruption caused. Luckily, other websites like Microsoft.ie which is also managed by MarkMonitor were not affected. It’s all very lucky. It is a security disaster but it could have been much worse. If website visitors had been infected with malware, Google, Yahoo, MarkMonitor and the IEDR could have been dealing with a security catastrophe,” stated Peter Armstrong from Irish webhosting provider Spiral Hosting.

IEDR also confirmed that a criminal investigation by the Gardai Bureau of Fraud Investigation would continue and assured that a recently appointed Technical Services Manager would give more attention to security policies, processes and procedures at the IE Domain Registry. The IEDR’s Joomla website was replaced on 26 October with a new website built using the Drupal content management system which was however criticised for its design and lack of a WHOIS lookup facility. IEDR replied that their priority had been to restore secure services and that they would deal with the other issues in the next future.
Investigation concludes IE Domain Registry website was exploited (9.11.2012)
http://www.domainregistrar.ie/investigation-concludes-ie-domain-registry-website-was-exploited/

Google.ie and Yahoo.ie unavailable after “unauthorised change” to
nameservers (9.10.2012)
http://sociable.co/web/google-ie-and-yahoo-ie-unavailable-after-unauthorised-change-of-nameservers/

Scenes from the history of the IEDR (12.11.2012)
http://www.tjmcintyre.com/2012/11/scenes-from-history-of-iedr.html

Google.ie Hijacked? (9.11.2012)
http://technology.ie/google-ie-hijacked/
Source: EDRi

Monday, November 5, 2012

DNS History

The practice of using a name as a more human-legible abstraction of a machine's numerical address on the network predates even TCP/IP, and goes all the way to the ARPAnet era. Back then however, a different system was used, as DNS was only invented in 1983, shortly after TCP/IP was deployed. With the older system, each computer on the network retrieved a file called HOSTS.TXT from a computer at SRI (now SRI International). The HOSTS.TXT file mapped numerical addresses to names. A hosts file still exists on most modern operating systems, either by default or through configuration, and allows users to specify an IP address (eg. 192.0.34.166) to use for a hostname (eg. www.example.net) without checking DNS. As of 2006, the hosts file serves primarily for troubleshooting DNS errors or for mapping local addresses to more organic names. Systems based on a hosts file have inherent limitations, because of the obvious requirement that every time a given computer's address changed, every computer that seeks to communicate with it would need an update to its hosts file.
The growth of networking called for a more scalable system: one that recorded a change in a host's address in one place only. Other hosts would learn about the change dynamically through a notification system, thus completing a globally accessible network of all hosts' names and their associated IP Addresses.
At the request of Jon Postel, Paul Mockapetris invented the Domain Name System in 1983 and wrote the first implementation. The original specifications appear in RFC 882 and 883. In 1987, the publication of RFC 1034 and RFC 1035 updated the DNS specification and made RFC 882 and RFC 883 obsolete. Several more-recent RFCs have proposed various extensions to the core DNS protocols.
In 1984, four Berkeley students — Douglas Terry, Mark Painter, David Riggle and Songnian Zhou — wrote the first UNIX implementation, which was maintained by Ralph Campbell thereafter. In 1985, Kevin Dunlap of DEC significantly re-wrote the DNS implementation and renamed it BIND (Berkeley Internet Name Domain, previously: Berkeley Internet Name Daemon). Mike Karels, Phil Almquist and Paul Vixie have maintained BIND since then. BIND was ported to the Windows NT platform in the early 1990s.
Due to BIND's long history of security issues and exploits, several alternative nameserver/resolver programs have been written and distributed in recent years
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia.

Tuesday, July 31, 2012

Domain name space

The hierarchical domain name technique, organized into zones, every single served by domain name servers.

Currently, the Internet Corporation for Assigned Names and Numbers (ICANN) manages the top-level development and architecture on the Online domain name space. It authorizes domain name registrars, via which domain names could be registered and reassigned.

The domain name space consists of a tree of domain names. Each and every node inside the tree holds details related with all the domain name. The tree sub-divides into zones starting in the DNS root zone.

Domain name syntax

A domain name consists of one or much more parts, technically referred to as labels, that happen to be conventionally concatenated, and delimited by dots, which include example.com.
  • The right-most label conveys the top-level domain; as an example, the domain name www.example.com belongs towards the top-level domain com.
  • The hierarchy of domains descends from the right to the left label in the name; every single label to the left specifies a subdivision, or subdomain with the domain for the proper. For instance: the label example specifies a node example.com as a subdomain of the com domain, and www is a label to make www.example.com, a subdomain of example.com. This tree of labels could consist of 127 levels. Every single label may perhaps contain from 1 to 63 octets. The empty label is reserved for the root node. The full domain name may well not exceed a total length of 255 characters. In practice, some domain registries might have shorter limits.
  • A hostname can be a domain name which has at the very least one particular connected IP address. For instance, the domain names www.example.com and instance.com are also hostnames, whereas the com domain is not. Nonetheless, other top-level domains, specifically nation code top-level domains, may possibly indeed have an IP address, and if so, they're also hostnames.
  • Hostnames impose restrictions on the characters allowed within the corresponding domain name. A valid hostname can also be a valid domain name, but a valid domain name may not necessarily be valid as a hostname.

Top-level domains

The top-level domains like .com and .net and .org are the highest amount of domain names with the Internet. A top-level domain is also named a TLD. Top-level domains form the DNS root zone on the hierarchical Domain Name Technique. Each and every domain name ends within a top-level or first-level domain label.
When the Domain Name Process was devised, in the 1980s, the domain name space was divided into two primary groups of domains. The nation code top-level domains (ccTLD) were mostly according to the two-character territory codes of ISO-3166 nation abbreviations. Additionally, a group of seven generic top-level domains (gTLD) was implemented which represented a set of categories of names and multi-organizations. These had been the domains Gov[ernment], Edu[cation], Com[mercial], Mil[itary], Org[anisations], Net[work], and Int[ernational].

During the growth of your Online, it became desirable to create more generic top-level domains. As of October 2009, you will discover 21 generic top-level domains and 250 two-letter country-code top-level domains. Moreover, the ARPA domain serves technical purposes inside the infrastructure in the Domain Name Technique.

Through the 32nd International Public ICANN Meeting in Paris in 2008, ICANN started a brand new method of TLD naming policy to take a "significant step forward on the introduction of new generic top-level domains." This system envisions the availability of lots of new or already proposed domains, at the same time a new application and implementation course of action. Observers believed that the new guidelines could result in hundreds of new top-level domains to be registered.
IANA has published an annotated list of top-level domains within the root zone database.

Second-level and lower level domains

Beneath the top-level domains within the domain name hierarchy are the second-level domain (SLD) names. They are the names straight towards the left of .com, .net, plus the other top-level domains. As an instance, within the domain example.co.uk, co is the second-level domain.

Next are third-level domains, that are written instantly for the left of a second-level domain. There can be fourth- and fifth-level domains, and so on, with practically no limitation. An instance of an operational domain name with four levels of domain labels is www.sos.state.oh.us. The www preceding the domains will be the host name of the World-Wide Web server. Every single label is separated by a total quit (dot). 'sos' is stated to be a sub-domain of 'state.oh.us', and 'state' a sub-domain of 'oh.us', etc. Generally, subdomains are domains subordinate to their parent domain. An example of very deep levels of subdomain ordering are the IPv6 reverse resolution DNS zones, e.g., 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa, which is the reverse DNS resolution domain name for the IP address of a loopback interface, or the localhost name.

Second-level (or lower-level, based on the established parent hierarchy) domain names are usually produced depending on the name of a business (e.g., bbc.co.uk), product or service (e.g., hotmail.com). Below these levels, the next domain name component has been utilised to designate a specific host server. Consequently, ftp.wikipedia.org could possibly be an FTP server, www.wikipedia.org could be a World Wide Web server, and mail.wikipedia.org may be an e-mail server, every single intended to execute only the implied function. Modern technology enables numerous physical servers with either different (cf. load balancing) and even identical addresses (cf. anycast) to serve a single hostname or domain name, or many domain names to be served by a single personal computer. The latter is really common in Net hosting service centers, where service providers host the websites of lots of organizations on just a number of servers.

The hierarchical DNS labels or components of domain names are separated within a completely certified name by the full cease (dot, .).

Internationalized domain names

The character set allowed within the Domain Name Method is depending on ASCII and will not permit the representation of names and words of numerous languages in their native scripts or alphabets. ICANN approved the Internationalized domain name (IDNA) method, which maps Unicode strings applied in application user interfaces in to the valid DNS character set by an encoding known as Punycode. For example, københavn.eu is mapped to xn--kbenhavn-54a.eu. Quite a few registries have adopted IDNA.
This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia.

Friday, July 27, 2012

Domain names

A domain name is an identification string that defines a realm of administrative autonomy, authority, or control online. Domain names are formed by the rules and procedures in the Domain Name Technique (DNS).

Domain names are utilized in a variety of networking contexts and application-specific naming and addressing purposes. In general, a domain name represents an Online Protocol (IP) resource, for instance a private pc utilised to access the world wide web, a server laptop or computer hosting a internet site, or the web website itself or any other service communicated by way of the internet.

Domain names are organized in subordinate levels (subdomains) of your DNS root domain, which is nameless. The first-level set of domain names would be the top-level domains (TLDs), which includes the generic top-level domains (gTLDs), for example the prominent domains com, net and org, as well as the country code top-level domains (ccTLDs). Below these top-level domains within the DNS hierarchy are the second-level and third-level domain names that happen to be usually open for reservation by end-users who wish to connect neighborhood place networks towards the Internet, generate other publicly accessible World-wide-web resources or run web web pages. The registration of these domain names is typically administered by domain name registrars who sell their services to the public.

Goal

Domain names serve as humanly-memorable names for World-wide-web participants, like computer systems, networks, and services. A domain name represents an Net Protocol (IP) resource. Individual World-wide-web host computers use domain names as host identifiers, or hostnames. Hostnames would be the leaf labels inside the domain name system commonly with no additional subordinate domain name space. Hostnames appear as a element in Uniform Resource Locators (URLs) for Net resources such as web websites (e.g., en.wikipedia.org).

Domain names are also applied as very simple identification labels to indicate ownership or control of a resource. Such examples are the realm identifiers used within the Session Initiation Protocol (SIP), the DomainKeys employed to verify DNS domains in e-mail systems, and in numerous other Uniform Resource Identifiers (URIs).

An essential function of domain names will be to give easily recognizable and memorizable names to numerically addressed World wide web resources. This abstraction will allow any resource to become moved to a unique physical place within the address topology in the network, globally or locally in an intranet. Such a move normally calls for altering the IP address of a resource as well as the corresponding translation of this IP address to and from its domain name.

Domain names are usually referred to basically as domains and domain name registrants are often known as domain owners, while domain name registration with a registrar doesn't confer any legal ownership from the domain name, only an exclusive correct of use.

The use of domain names in commerce may well subject them to trademark law. In 2010, the amount of active domains reached 196 million.

Background

The practice of employing a name as a simple memorable abstraction of a host's numerical address on a computer network dates back towards the ARPANET era, just before the advent of today's commercial World-wide-web. In the early network, each laptop or computer on the network retrieved the hosts file (host.txt) from a computer system at SRI (now SRI International). which mapped pc host names to numerical addresses. The fast growth of the network created it impossible to preserve a centrally organized hostname registry and in 1983 the Domain Name Technique was introduced on the ARPANET and published by the net Engineering Activity Force as RFC 882 and RFC 883.

This article is licensed under the GNU Free Documentation License. It uses material from the Wikipedia.