Domain-Name-System
- Was ist ein Domain-Name?
- Sie können zu einem gegebenen Domain-Namen die zugehörige IP-Adresse ermitteln.
- Sie können herausfinden, wem ein Domain-Name gehört und ob ein bestimmter Domain-Name noch frei ist.
- Sie können Web-Links auf ihre Unbedenklichkeit überprüfen.
Telefonbücher
@IP-Adressen sind wie Telefonnummern, man kann sie sich nur schwer merken. Für Telefonnummern gibt es deshalb Verzeichnisse, in welchen man die Nummer einer bestimmten Person nachschauen kann (entweder das gute alte Telefonbuch oder, moderner, 👉 tel.search.ch). Man muss nur den Namen der Person und vielleicht noch die Wohnadresse kennen.
Domain Name
Auch für das Internet gibt es solche Verzeichnisse. Wenn man den Namen einer bestimmten Webseite kennt, kann man im Verzeichnis die IP-Adresse des Servers nachschauen, der diese Seite im Internet anbietet.
Solche Namen sind zum Beispiel
Diese Namen werden als Domain-Names bezeichnet und das Verzeichnis, wo sie drinstehen, heisst Domain-Name-System, kurz DNS.
Kernidee
Namen kann man sich viel besser merken als Zahlen. Deshalb sind Webseiten im Internet mit einem Domain-Namen versehen. Im Verzeichnis der Domain-Namen, dem Domain-Name-System, kann man nachschauen, welches die IP-Adresse des Servers ist, der diese Seite anbietet.
Funktionsweise
Es gibt auf der Welt bald 2 Milliarden1 Webseiten, verteilt auf ca. 200 Millionen Server. Jeder Server beherbergt also durchschnittlich 10 Webseiten. Für jeden dieser Server braucht es eine öffentliche IP-Adresse, damit der Server im Internet erreichbar ist. Wenn man die IP-Adresse des Servers kennt, könnte man theoretisch versuchen im Browser statt des Domain-Namens einer Web-Site direkt die IP-Adresse des Servers einzugeben, also statt 👉 www.instgram.com die IP-Adresse 157.240.17.174.
Obiges Beispiel, die IP-Adresse von Instagram direkt in den Browser einzutippen, funktioniert in der Praxis mit modernen Webseiten, die https als Protokoll verwenden, nicht. Bei https wird von Ihrem Browser mittels Zertifikat sichergestellt, dass die Adresse auf den korrekten Domain Namen lautet. Dadurch wird verhindert, dass Sie auf eine falsche Seite umgeleitet werden, und dann unwissentlich bspw. eine Geldtransaktion vornehmen. Das führt aber dazu, dass das Zertifikat bei IP-Adressen nicht gültig ist.
Eine zu Demonstrationszwecken veröffentlichte Seite ohne https ist 👉 login.gbsl.website. Diese ist auch direkt über den entsprechenden Server 👉 49.13.52.125 zu finden.
Wie schon in der Einleitung erwähnt, wird das niemand tun, weil man sich diese IP-Adresse nicht merken kann und sie mit der Zeit auch ändern könnte (z.B. wenn die Web-Site auf einen anderen Server gezügelt wird). Ganz abgesehen davon, dass es auch nicht ausreichen würde, nur die IP-Adresse anzugeben, weil ja eben mehrere Web-Sites an einer bestimmten Adresse «zuhause» sein können - der Port müsste ebenfalls bekannt sein.
Ein Port spezifiziert, welche Applikation auf einem Server die Anfrage behandeln soll.
Auf dem Server 👉 49.13.52.125 sind mehrere Web-Sites, und mit dem richtigen Port kann ausgewählt werden, welche man möchte:
- Port 100 *
- 👉 49.13.52.125:100 👉 login.gbsl.website
- Port 8080
- 👉 49.13.52.125:8080 👉 hacksql.gbsl.website
Nun wird deutlich, dass es schwierig würde, sich auch noch alle Ports zu merken...
Die Frage ist nun aber: Wie kann man 2 Milliarden Domain-Namen in einem Verzeichnis verwalten? Würde man dies in Form eines Buches versuchen, so ergäbe das ein Buch mit ca. 4 Millionen Seiten (500 Adresseinträge pro Seite). Hinzu kommt, dass diese Adressen laufend angepasst werden müssten. Neue Adressen kommen hinzu, andere ändern oder verschwinden. Ganz zu schweigen von der schieren Unmöglichkeit, in einem solchen Buch eine gesuchte Adresse zu finden.
In elektronischer Form ist dieses Problem nicht so gross. 2 Milliarden Adressen ergeben eine Datenmenge von ca. 2 Terrabyte, wenn man grosszügig 1 KB (1000 Zeichen) pro Adresse annimmt. Eine Harddisk mit so viel Platz kriegt man für einige zehn Franken. Allerdings bleibt das Problem mit den dauernden Änderungen. Eine zentrale Stelle, welche dieses Verzeichnis führen müsste, wäre wohl schnell überfordert. Zudem bestünde auch ein grosses Risiko, dass ein Ausfall dieser zentralen Stelle das ganze Internet lahmlegen könnte. Schliesslich müsste ein solches Verzeichnis auch auf einem sehr, sehr leistungsfähigen Server betrieben werden, denn bei ca. 5 Milliarden Internetnutzern weltweit, die dauernd irgendwelche IP-Adressen brauchen, ist mit einer enormen Flut von Anfragen zu rechnen.
Aus diesen Gründen haben die Erfinder des Domain-Name-Systems einen anderen Weg eingeschlagen: Das Verzeichnis ist
- erstens hierarchisch gegliedert und
- zweitens auf viele DNS-Server weltweit verteilt, wobei jeder Server nur die Adressen in seiner Zone kennt und für alle anderen Adressen auf weitere DNS-Server verweist.
Untenstehendes Bild zeigt diese Hierarchie. Auf der obersten Ebene befinden sich die sogenannten Top-Level-Domains (TLD), z.B. ch, de, org oder com. Diese sind unter einer namenlosen Root-Domain zusammengefasst (Punkt im obersten Kästchen auf dem Bild). Unterhalb einer TLD können dann beliebig viele Subdomains angehängt werden. Liest man nun von unten beginnend, die Namen der Subdomains auf einem Pfad bis zur Root-Domain, so entsteht ein vollständiger Domain-Name, z.B. en.wikipedia.org.
@
Im Bild sind drei DNS-Server mit ihrer jeweiligen Zone (grau) eingezeichnet. Jeder DNS-Server verwaltet den Teil der Adressinformationen, der zu seiner Zone gehört. Die IP-Adresse zum Domain-Namen en.wikipedia.org, also 91.198.174.192, kennt dabei nur der unterste DNS-Server, denn er ist für die Zone, in welche dieser Domain-Name schliesslich gehört, zuständig.
Wird einer der übergeordneten DNS-Server nach dieser IP-Adresse gefragt, so verweist er als Antwort nur auf den nächsttieferen DNS-Server, mit dem Hinweis, man solle dort weiterfragen. Das geht dann so weiter, bis der Frager beim untersten DNS-Server angelangt ist und die IP-Adresse als Antwort erhält.
Man kann diese Situation mit jemandem vergleichen, der sich in einer fremden Stadt über mehrere Stationen zu seinem Hotel durchfragt.
Zeichnen Sie eine Hierarchie (Baum), in welcher folgende Domain-Namen vorkommen (so wie auf der Abbildung weiter oben):
www.gbsl.chlearningview.orgtel.search.cherzbe-my.sharepoint.comoutlook.office.comwww.office.com
Halten Sie Ihre Lösung auf einem Blatt Papier fest und fügen Sie ein Foto davon unten ein:
Wer verwaltet Domain-Namen?
Die hierarchische Gliederung des Domain-Name-Systems erlaubt es, die Verwaltung zu dezentralisieren. So gibt es für jede Top-Level-Domain eine Organisation, welche die Namen der darunter angesiedelten Subdomains verwaltet. Für die TLD der Schweiz (ch) und Liechtenstein (li) ist die Stiftung 👉 SWITCH zuständig.
Die SWITCH betreibt unter dem Link 👉 https://www.nic.ch/de/ einen Dienst zur Überprüfung, ob eine bestimmte Subdomain noch verfügbar ist. Das Registrieren einer Subdomain delegiert die SWITCH an sogenannte Registrare, also an Unternehmen die Domain-Namen anbieten und verkaufen. Bekannte (und günstige) Registrare sind:
Jährlich muss für eine .ch Domain zwischen 5 und 20 Franken gerechnet werden.
Es gibt Web-Sites, über welche man herausfinden kann, von wem ein bestimmter Domain-Name registriert wurde (Registrar) und wem dieser Name gehört (Registrant). Drei davon sind:
- 👉 https://www.hostpoint.ch/domains/whois.html (TLDs ch, li, …)
- 👉 https://www.whois.com/whois/ (TLDs com, org, edu, website, …)
- 👉 http://whois.nic.swiss/ (TLD swiss)
Welcher Registrar hat die Domain
- gbsl.website
- gbsl.ch
vergeben?
IP Adressen herausfinden
Wenn Sie im Browser auf Ihrem Computer den Link 👉 https://www.instagram.com eingeben, so muss Ihr Computer herausfinden, welche IP-Adresse zum Domain-Name 👉 www.instagram.com gehört, damit er den Instagram-Server schliesslich kontaktieren kann.
Den zuständigen DNS-Server kann Ihr Computer, aber nur über dessen eigene IP-Adresse erreichen. Wenn Ihr Computer das zum ersten Mal macht, so kennt er diese Adresse noch nicht. Deshalb wendet er sich an einen der 13 DNS-Server auf der obersten Ebene, den sogenannten Root-Servern, deren IP-Adressen jedem Computer bekannt sind 👉 https://root-servers.org/. Diese leiten Ihren Computer dann an die tiefer gelegenen DNS-Server weiter, bis schliesslich der richtige DNS-Server gefunden ist. Das passiert automatisch, ohne, dass Sie davon etwas merken.
Man kann solche Anfragen aber auch von Hand machen. Dazu können Sie die Seite 👉 https://tools.keycdn.com/dig verwenden.
Finden Sie die IP-Adresse von 👉 login.gbsl.website heraus. Stimmt sie mit obiger IP-Adresse überein? Und bei 👉 hacksql.gbsl.website? Überlegen Sie sich, woher diese Unterschiede kommen könnten.
Suchen Sie auch nach weiteren IP-Adressen, bspw. von 👉 www.instagram.com.
The Hacky Way Übers Terminal
Sie können auch in der Windows-Eingabeaufforderung oder auf dem Mac-Terminal einen Domain-Name zu einer IP-Adresse auflösen. Dazu brauchen Sie den Befehl nslookup.
Beispiel:
nslookup de.wikipedia.org
Probieren Sie es aus, wenn Sie Lust auf mehr Hacker-Feeling haben.
Welchen Weg nimmt eine Anfrage? Dies kann mit dem Befehl tracert (Windows) oder traceroute (Mac) herausgefunden werden. Geben Sie beispielsweise den folgenden Befehl ein:
- Windows 11
- macOS
PowerShell öffnen und folgenden Befehl eingeben:
tracert login.gbsl.website
- Wie viele Stationen (Hops) sind es von Ihrem Computer bis zum Server von login.gbsl.website?
- Wie lange dauert es, bis die Anfrage den Server erreicht?
- Was bedeuten die
*** ms-Angaben in der Ausgabe?
Wie lange dauert es, bis eine Anfrage von einem Server beantwortet wird? Probieren Sie es mit dem ping-Befehl aus, z.B. mit
ping login.gbsl.website
(mit Ctrl + c können Sie den Ping-Befehl jederzeit abbrechen).
- Wie lange dauert es, bis die Anfrage beantwortet wird?
- Probieren Sie es mit verschiedenen Webseiten aus...
Sie möchten Ihr eigenes Unternehmen gründen, oder Sie möchten eine Kampagne für ein Ihnen wichtiges Anliegen führen. In beiden Fällen hilft einen Auftritt im Web, um möglichst erfolgreich zu sein. Eine grosse Rolle spielt dabei, ob Sie einen einprägsamen und packenden Domain-Name finden. Dieser muss selbstverständlich noch verfügbar sein.
Überlegen Sie sich einen solchen Domain-Name und überprüfen Sie mit den oben beschriebenen Whois-Diensten, ob dieser Name noch frei ist.
Ein Gedankenspiel: Die Berner Kantonalbank (BEKB) bietet ihren Kunden Internet-Banking an. Diese ist erreichbar über die Web-Site der BEKB, 👉 www.bekb.ch.
Angenommen einem Angreifer gelingt es, Ihrem Computer eine beliebige, aber falsche IP-Adresse für den Domain-Name 👉 www.bekb.ch unterzuschieben, welche Möglichkeiten ergeben sich dem Angreifer dadurch?
⭐ Hack-Angriff DNS-Hijacking
Ausschnitt: Start bis 2:51 Minuten.
Schlusspunkt
Sie haben nun das Domain-Name-System kennengelernt. Es ist eines der wichtigsten Teile des Internet. Sie haben gesehen, wie man zu einem Domain-Name die zugehörige IP-Adresse erhält. Sie haben auch eine Idee von den Konsequenzen erhalten, wenn das Domain-Name-System nicht so funktioniert, wie erwartet, beispielsweise wegen einer Attacke durch Hacker (DNS-Hijacking). Solche Attacken können in unserer vernetzten Welt einen enormen wirtschaftlichen Schaden verursachen.