370 likes | 562 Views
HTTP(S) & DNS. H yper t ext T ransfer P rotocol ( S ecure) D omain N ame S ystem. Fach: Netzwerktechnik Lehrekraft: Herr U. Bücken Gruppe: Mario Brakhage und Oliver Bethke. Domain Name System (1). Einer der wichtigsten Dienste im Internet DNS ist eine verteilte Datenbank
E N D
HTTP(S) & DNS Hypertext Transfer Protocol (Secure) Domain Name System Fach: Netzwerktechnik Lehrekraft: Herr U. Bücken Gruppe: Mario Brakhage und Oliver Bethke
Domain Name System (1) • Einer der wichtigsten Dienste im Internet • DNS ist eine verteilte Datenbank • Verwaltet den Namensraum im Internet • Standart Port: 53 • Hauptaufgabe: • Domainname IP-Adrsse HTTP(S) & DNS
Domain Name System (2) • Löste die hosts-Dateien ab! • Zeichnet sich aus durch: • dezentrale Verwaltung • hierarchische Strukturierung des Namensraums in Baumform • Eindeutigkeit der Namen • Erweiterbarkeit HTTP(S) & DNS
Forward Lookup • Umsetzung von Domainname in IP-Adressen • z.B. ita-04.de 193.201.54.82 DNS ermöglicht eine Entkopplung vom darunterliegenden Aufbau z. B. Änderung der IP-Adresse, ohne den Domainnamen ändern zu müssen • Kunkel Willi 3168 • Mozartstr. 31 • Kuntz Petre & Gisela 95751 • Heinikenalle 7a • Kunz Hans 5689 • -Schlossstr. 23 • Kurat Christina 82547 • -Eichelweg 1 Ita-04.de 193.201.54.82 Hypertrophic.de 217.195.36.30 www.bk-alsdorf.de 10.115.64.11 Google.de 216.239.59.104 Wikipedia.de 195.114.99.123 Gmx.de 213.165.64.215 Kika.de 193.22.36.176 HTTP(S) & DNS
Reserver Lookup • Inverssuche • Auflösung von IP-Adressen in Domainamen • z.B. 193.201.54.82 ita-04.de HTTP(S) & DNS
Komponenten des DNS • Der DNS besteht aus drei Hauptkomponenten • Domain-Namensraum • Namensservern • Resolver HTTP(S) & DNS
Domain-Namensraum (1) • Hat eine baumförmige Struktur • Blätter und Knoten des Baumes werden als Labels bezeichnet • Ein kompletter Domainname eines Objektes besteht aus der Verkettung aller Labels • Label sind Zeichenketten • mindestens ein Zeichen • maximal 63 Zeichen • werden durch Punkte voneinander getrennt • Ein Domain Name wird mit einem Punkt abgeschlossen • Ein korrekter, vollständiger Domain Name wird auch Fully Qualified Domain Name (FQDN) genannt • z.B. forum.ita-04.de. (der letzte Punkt gehört zum Domain Name) • als einziges Sonderzeichen ist '-' erlaubt HTTP(S) & DNS
Domain-Namensraum (2) • Domain Namen dürfen inklusive aller Punkte maximal 255 Zeichen lang sein • Domain Name werden immer von rechts nach links delegiert und aufgelöst • Der Punkt am rechten Ende eines Domainnamens trennt das Label für die erste Hierarchieebene von der root • Diese erste Ebene wird auch als Top Level Domain (TLD) bezeichnet. • z.b. de, com, org, nl, net, eu • Die DNS-Objekte einer Domäne werden als Satz von Resource Records gehalten. HTTP(S) & DNS
Nameserver • Nameserver sind Programme, die Anfragen zum Domain-Namensraum beantworten. • Man unterscheidet zwischen: • autoritativen • nicht-autoritativen HTTP(S) & DNS
Autoritativer Nameserver • Ist verantwortlich für eine Zone • Seine Informationen über diese Zone werden gesichert angesehen • Für jede Zone existiert mindestens ein autoritativer Server • der Primary Nameserver • Dieser wird im SOA Resource Record aufgefürt • Fast immer als Server-Cluster realisiert • Die Synchronisation zwischen Primary und Secondary Nameservern erfolgt per Zonentransfer. HTTP(S) & DNS
Nicht-autoritativer Namensserver • Bezieht seine Informationen über eine Zone von anderen Nameservern • Seine Informationen werden als nicht gesichert angesehen • Speichern die einmal von einem Resolver angefragten Informationen im lokalen RAM ab • Jeder dieser Einträge besitzt ein eigenes Verfallsdatum (TTL time to live). • Ein Spezialfall ist der caching only Nameserver • Ist für keine Zone verantwortlich • Muss alle eintreffenden Anfragen über weitere Nameserver auflösen HTTP(S) & DNS
Strategien (1) • Delegierung • Teile des Namensraumes einer werden an Subdomains mit dann eigens zuständigen Nameservern ausgelagert • Ein Nameserver einer Domäne kennt die zuständigen Nameserver für diese Subdomains aus seiner Zonendatei • Delegiert Anfragen zu diesem untergeordneten Namensraum an einen dieser Nameserver • Weiterleitung • Falls der angefragte Namensraum außerhalb der eigenen Domäne lieg, wird die Anfrage an einen fest konfigurierten Nameserver weitergeleitet. HTTP(S) & DNS
Strategien (2) • Auflösung über die Root-Server • Werden befragt wenn: • kein Weiterleitungsserver konfiguriert wurde • dieser nicht antwortet • Dazu werden in Form einer statischen Datei die Namen und IP-Adressen der Root-Server hinterlegt • Es gibt 13 Root-Server (Server A bis M) • Die Root-Server beantworten ausschließlich iterative Anfragen • DNS-Anfragen werden normalerweise auf Port 53 UDP beantwortet • Falls die Antwort sehr umfangreich ausfällt (größer 512 Bytes), wird auf Port 53 TCP übermittelt • Zonentransfers werden stets auf Port 53 TCP durchgeführt HTTP(S) & DNS
Resolver • sind Ansammlungen von Bibliotheken • die Informationen aus den Nameservern abrufen können • Sie bilden die Schnittstelle zwischen Anwendung und Nameserver • Der Resolver übernimmt die Anfrage einer Anwendung • Arbeitet entweder iterativ oder rekursiv • informiert den Nameserver über die verwendete Arbeitsweise HTTP(S) & DNS
rekursive Anfragen • Der Resolver schickt eine Anfrage an einen ihm bekannten Nameserver • erwartet von ihm eine eindeutige Antwort • Diese Antwort enthält entweder • den gewünschten Resource Record • „gibt es nicht“ • Die so gewonnene Antwort übergibt der Resolver an das Programm, das die Daten angefordert hat • Rekursiv arbeitende Resolver überlassen also die Arbeit zur vollständigen Auflösung anderen. HTTP(S) & DNS
Iterative Anfragen • Der Resolver bekommt entweder • den gewünschten Resource Record • die Adresse eines weiteren Nameserver, den er als nächsten fragt • Der Resolver hangelt sich so von Nameserver zu Nameserver bis er bei einem autoritativen Nameserver landet. • Die so gewonnene Antwort übergibt der Resolver an das Programm, das die Daten angefordert hat HTTP(S) & DNS
Beispiel • Die Adresse von A.root-servers.net (198.41.0.4) wird als bekannt vorausgesetzt $ dig +norecurse @198.41.0.4 www.example.net net. 172800 IN NS A.GTLD-SERVERS.net. A.GTLD-SERVERS.net. 172800 IN A 192.5.6.30 $ dig +norecurse @192.5.6.30 www.example.net example.net. 172800 IN NS a.iana-servers.net. a.iana-servers.net. 172800 IN A 192.0.34.43 $ dig +norecurse @192.0.34.43 www.example.net www.example.net. 172800 IN A 192.0.34.166 HTTP(S) & DNS
Hypertext Transfer Protocol • Hintergrund • HTTP im TCP/IP-Protokollstapel • Funktionsweise • Protokollversion • HTTP-Request-Methoden (Befehle) • HTTP-Statuscodes • HTTPS HTTP(S) & DNS
Hintergrund • HTTP • erstellt: 1989 von Tim Berners-Lee • zusammen mit URL & HTML • Protokoll • für Übertragungen im Internet (Webseiten, ...) • idR von Webbrowsern verwendet HTTP(S) & DNS
Hintergrund • HTTP ist zustandslos • Verbindung wird nach Übertragung von Daten unterbrochen • jede weitere Anfrage erfordert eine neue Verbindung HTTP(S) & DNS
HTTP im TCP/IP-Protokollstapel • OSI-Model Schicht (OSI 5 - 7) • Anwendung (OSI 7) • Darstellung (OSI 6) • Sitzung (OSI 5) HTTP(S) & DNS
Funktionsweise Beispiel: http://www.ita-04.de/index.html Host: www.ita-04.de Datei: index.html Der Host wird jeder zuerst über DNS- einer IP-Adresse zugeordnet. HTTP(S) & DNS
Funktionsweise Anfrage: GET /index.html HTTP/1.1 Host: www.ita-04.de HTTP(S) & DNS
Funktionsweise Antwort: HTTP/1.1 200 OK Server: Apache/1.3.29 (Unix) PHP/4.3.4 Content-Length: (Größe von index.html in Byte) Content-Language: de Content-Type: text/html Connection: close (Inhalt von infotext.html) HTTP(S) & DNS
Protokollversion Derzeit werden zwei Protokollversionen verwendet: HTTP/1.0 • benötigt für jede neue Datei (z.B. Bilder in einer HTML) eine neue TCP-Verbindung HTTP/1.1 • mehrer Anfragen und Antworten können durch eine TCP-Verbindung gesendet und empfangen werden • ermöglicht es Daten zum Server zu senden bzw. Daten auf dem Server zu löschen (PUT-Methode) • die Möglichkeit besteht, den Weg zum Webserver zu verfolgen HTTP(S) & DNS
HTTP-Request-Methoden GET Anforderung von Inhalten von Servern POST Anforderung von Inhalten von Servern Übermittlung von Name/Wert-Paaren aus Formularen HEAD Senden des HTTP-Headers, nicht des eigentlichen Dokumentinhalt (z.B. für die Prüfung der Gültigkeit einer Datei im Browsercache) PUT dient dazu, Dateien unter Angabe des Ziel-URIs auf einen Webserver hochzuladen DELETE löscht die angegebene Datei auf dem Server TRACE liefert die Anfrage so zurück, wie der Server sie empfangen hat OPTIONS liefert eine Liste der vom Server unterstützen Methoden und Features CONNECT wird von Proxy-Servern implementiert, die in der Lage sind, SSL-Tunnel zur Verfügung zu stellen. HTTP(S) & DNS
HTTP-Statuscodes (Auszug) 1xx Informationen (Die Bearbeitung der Anfrage dauert trotzdem an) 2xx Erfolgreiche Operation (Die Bearbeitung der Anfrage kann durchgeführt werden) 3xx Umleitung (Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen sind weitere Schritte seitens des Clients erforderlich) 4xx Client-Fehler (Nicht klar von den so genannten Server-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Clients) 5xx Server-Fehler (Nicht klar von den so genannten Client-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Servers) erweiterte Liste HTTP(S) & DNS
HTTPS (Hypertext Transfer Protocol Secure) • ein Netzwerkprotokoll, das eine gesicherte HTTP-Verbindung zwischen Rechnern ermöglicht • Daten werden über SSL/TLS (Verschlüsselungsprotokoll für Datenübertragungen, Transportschicht (OSI 4)) verschlüsselt • HTTPS-Verbindungen laufen über TCP • Port: 443 • Verschlüsselung über digitale Zertifikate • Protokoll ist ohne digitale Zertifikate sehr schnell verwundbar (Sicherheitslücke) HTTP(S) & DNS
Danke für die Aufmerksamkeit HTTP(S) & DNS
HTTP-Statuscodes (1/5) 1xx Informationen (Die Bearbeitung der Anfrage dauert trotzdem an) 100 Continue 101 Switching Protocols 102 Processing HTTP(S) & DNS
HTTP-Statuscodes (2/5) 2xx Erfolgreiche Operation (Die Bearbeitung der Anfrage kann durchgeführt werden) 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 207 Multi-Status HTTP(S) & DNS
HTTP-Statuscodes (3/5) 3xx Umleitung (Um eine erfolgreiche Bearbeitung der Anfrage sicherzustellen sind weitere Schritte seitens des Clients erforderlich) 300 Multiple Choices 301 Moved Permanently 302 Found303See Other 304 Not Modified 305 Use Proxy 307 Temporary Redirect HTTP(S) & DNS
HTTP-Statuscodes (4/5) 4xx Client-Fehler (Nicht klar von den sogenannten Server-Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Clients) 400Bad Request 401 Unauthorized 402 Payment Required 403 Forbidden 404 Not Found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Time-out 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-URI Too Long 415 Unsupported Media Type 416 Requested range not satisfiable 417 Expectation Failed 422 Unprocessable Entity 423 Locked 424 Failed Dependency HTTP(S) & DNS
HTTP-Statuscodes (5/5) 5xx Server-Fehler (Nicht klar von den sogenannten Client- Fehlern abzugrenzen. Die Ursache des Scheiterns der Anfrage liegt jedoch eher im Verantwortungsbereich des Servers) 500 Internal Server Error 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Time-out 505 HTTP Version not supported 507 Insufficient Storage 509 Bandwidth Limit Exceeded Zurück HTTP(S) & DNS
Certificate: Data: Version: 3 (0x2) Serial Number: 1 (0x1) Signature Algorithm: md5WithRSAEncryption Issuer: C=XY, ST=Austria, L=Graz, O=TrustMe Ltd, OU=Certificate Authority, CN=CA/Email=ca@trustme.dom Validity Not Before: Oct 29 17:39:10 2000 GMT Not After : Oct 29 17:39:10 2001 GMT Subject: C=DE, ST=Austria, L=Vienna, O=Home, OU=Web Lab, CN=anywhere.com/Email=xyz@anywhere.com Subject Public Key Info: Public Key Algorithm: rsaEncryption RSA Public Key: (1024 bit) Modulus (1024 bit): 00:c4:40:4c:6e:14:1b:61:36:84:24:b2:61:c0:b5: d7:e4:7a:a5:4b:94:ef:d9:5e:43:7f:c1:64:80:fd: 9f:50:41:6b:70:73:80:48:90:f3:58:bf:f0:4c:b9: 90:32:81:59:18:16:3f:19:f4:5f:11:68:36:85:f6: 1c:a9:af:fa:a9:a8:7b:44:85:79:b5:f1:20:d3:25: 7d:1c:de:68:15:0c:b6:bc:59:46:0a:d8:99:4e:07: 50:0a:5d:83:61:d4:db:c9:7d:c3:2e:eb:0a:8f:62: 8f:7e:00:e1:37:67:3f:36:d5:04:38:44:44:77:e9: f0:b4:95:f5:f9:34:9f:f8:43 Exponent: 65537 (0x10001) HTTP(S) & DNS
X509v3 extensions: X509v3 Subject Alternative Name: email:xyz@anywhere.com Netscape Comment: mod_ssl generated test server certificate Netscape Cert Type: SSL Server Signature Algorithm: md5WithRSAEncryption 12:ed:f7:b3:5e:a0:93:3f:a0:1d:60:cb:47:19:7d:15:59:9b: 3b:2c:a8:a3:6a:03:43:d0:85:d3:86:86:2f:e3:aa:79:39:e7: 82:20:ed:f4:11:85:a3:41:5e:5c:8d:36:a2:71:b6:6a:08:f9: cc:1e:da:c4:78:05:75:8f:9b:10:f0:15:f0:9e:67:a0:4e:a1: 4d:3f:16:4c:9b:19:56:6a:f2:af:89:54:52:4a:06:34:42:0d: d5:40:25:6b:b0:c0:a2:03:18:cd:d1:07:20:b6:e5:c5:1e:21: 44:e7:c5:09:d2:d5:94:9d:6c:13:07:2f:3b:7c:4c:64:90:bf: Zurück HTTP(S) & DNS