Serverdienste II

Ports als (virtuelle) Schnittstellen zur Außenwelt des Rechners, bestehend aus 16-bit Zahlen, sind auf den OSI-Schichten 5 bis 7 zu finden.

Die Gruppeneinteilung der IANA (Internet Assigned Numbers Authority):

  • 0 bis 1.023: Well Known Services (durch ICANN, Internet Corporation for Assigned Names and Numbers, ein Unternehmen mit ca. 300 Mitgliedern, definiert)
  • 1.024 bis 49.151: registrierte Ports
  • 49.152 bis 65.535: dynamische/private Ports

Die Adressvergabe für öffentliche IP-Adressen hat die IANA an die ARIN (American Registry for Internet Numbers) übertragen, die diese Aufgabe wiederum an  weitere NICs (Network Information Center) bzw. Domain Name Registries delegiert, die Domains über Registrare zuteilen. So wird dem Endkunden (Domain-Registrant) ein Markt mit konkurrierenden Registraren eröffnet.

Serverdienste

NTP (Network Time Protocol): Zeitsynchronisation im Netzwerk, definiert in RFC 5905, nutzt Port 123 mit UDP („stateless„, verbindungslos), der Stratum-Wert zeigt Distanz zur Zeitquelle an; durch komplexe Algorithmen kann die Zeit im Netzwerk auf 10 Millisekunden (im Internet) oder 200 Mikrosekunden (im LAN) genau synchronisiert werden:

Stratum-Struktur

SNTP (Simple Network Time Protocol): Vereinfachte Form des NTP

Wichtig: Kick-out „time.windows.com„!

Überprüfung:

$ ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
[...]
#178.162.199.162 131.188.3.223    2 u   67   64  377   93.430   22.671  68.723
+2a01:238:42e4:8 129.143.2.33     2 u   62   64  377   40.661   -0.928 187.936
+epsilon.h6g-ser 124.216.164.14   2 u   64   64  375   33.789    4.084  63.523
+fry.celeborn.de 205.46.178.169   2 u   60   64  363   35.069    2.984  91.534
+2a01:4f8:221:19 158.167.74.53    3 u   58   64  373   35.107    1.779 101.261
+ntp1.m-online.n 212.18.1.106     2 u   63   64  327   37.788    0.927  76.578
+2001:67c:1560:8 193.79.237.14    2 u   16   64  377   47.636   -3.109   0.394
*ernie.gerger-ne 213.172.96.14    2 u   57   64  377   30.149    0.669   0.996
+2a01:4f9:c010:1 95.216.218.15    3 u    -   64  377   52.933    2.154  47.024
#electrode.felix 89.231.96.83     2 u   65   64  327   34.091   17.087 104.511
+lotor.mcl.gg    131.188.3.222    2 u   59   64  377   33.048    0.449  83.247
+static.131.40.9 122.227.206.195  3 u   61   64  267   34.289    3.469  77.147
+pugot.canonical 193.79.237.14    2 u    8   64  377   38.374    0.867  47.023
+gromit.nocabal. 131.188.3.222    2 u   58   64  377   34.287    0.222  64.662
+golem.canonical 193.79.237.14    2 u   81   64  376   43.050   -1.357  18.227

HTTP (Hypertext Transfer Protocol):

  • überträgt HTML-Seiten (Hypertext Markup Language) und dient zum Download und Upload von Dateien
  • HTTP (OSI-Schicht 7) verwendet TCP (OSI-Schicht 4) als Transportprotokoll, da es selbst verbindungslos (stateless) ist, und nutzt im Standard Port 80
  • HTML wurde  ab 1989 im CERN entwickelt
  • HTML wird durch einen Webserver bereitgestellt und durch eine Clientkomponente („Browser„) interpretiert
  • das „System“ Webserver, HTML & Clientkomponente wird als WWW (World Wide Web) bezeichnet
  • HTML ist der „Webtraffic“ im aktuellen Standard HTTP/1.1 (RFC 2616)
  • ab 2003: „Web 2.0“, Ursprung der „sozialen Medien“

HTTPS (in den meisten Fällen HTTP secure):

  • zur verschlüsselten Kommunikation mit Webservern, nutzt im Standard Port 443
  • Verwendung einer Variante von SSL (Secure Socket Layer-Protokoll, entwickelt von Netscape), welches verschiedene Sicherheitsfunktionen (Verschlüsselung, Authentizität und Integrität) für andere Protokolle bereit stellt
  • SSLv3: als TLS, Transport Layer Security, in RFC 2246 (TLS 1.0) erstmals standardisiert

FTP (File Transfer Protocol):

  • vor dem RFC für IP im Jahre 1980 in RFC 765 definiert und 1985 mit RFC 959 aktualisiert
  • eine der ältesten Internet-Anwendungen für Upload und Download von Dateien, mit ftp-Server und ftp-Client
  • verfügt über Authentifizierung, diese findet im Klartext statt
  • nutzt neben Port 20 (active ftp) und 21 (control-session: Verwaltungssitzung) auch dynamische Ports (ausgehende Ports, „Highports“ für den Client-Passivmodus)
  • nur suboptimale Performance
  • immer noch das Standard-Protokoll für die Datei-Übertragung
  • Analyse einer ftp data session (z.B. Abarbeitung eines ftp-Befehls) – Active FTP:
    Request: PORT 192,168,1,1,194,21
    (Aufschlüsselung: 194 HEX: C2, 21 HEX: 15, C215 DEC: 49.685)
    20=>49685 [SYN]
    49685=>20 [SYN, ACK]
    [...]
    49685=>20 [FIN, ACK]
    20=>49685 [ACK]
    Response: 226 Transfer complete 
    
  • der Verwaltungskanal wird von einem Highport des Clients (> 1023) auf den Port 21/tcp des ftp-Servers aufgebaut. Diese Verbindung wird zum Austausch von Verwaltungsinformationen, Fehlermeldungen, Befehlen und Bestätigungen genutzt
  • der Datenkanal wird zum Übermitteln der eigentlichen Nutzdaten über separate Ports verwendet. Für jede ftp-Aktion („jeden ftp-Befehl“) wird ein eigener Datenkanal aufgebaut, während der Verwaltungskanal permanent über die gesamte Sitzungsdauer bestehen bleibt
    – bei Active FTP baut der Client eine Verbindung von einem High-Port auf den Port 21/tcp des FTP-Servers auf. Anschließend baut der FTP-Server von seinem Port 20/tcp eine Verbindung auf einen High-Port des Clients auf. Dieser Port wird ihm über den PORT-Befehl auf dem Verwaltungskanal vom Client genannt. Das ist problematisch für die Firewall: aus dem Internet wird eine Verbindung zum Clientsystem im sicheren Netzwerk aufgebaut.
    – bei Passive FTP sendet der Client dem Server das PASV-Kommando. Der Server reagiert mit einer Bestätigung und nennt den serverseitigen High-Port, auf den der Client die Data-Session aufbauen soll. Beide Kanäle werden vom Client zum Server aufgebaut.
  • Anonymous FTP: Benutzername anonymous, Passwort oft beliebig, muss aber oft in Form einer eMail-Adresse angegeben werden, unsicher – deswegen oft nur lesender Zugriff gestattet

SMTP (Simple Mail Transfer Protocol):

  • zum Transport von eMails über Port 25/tcp von MUA (Mail User Agent, „eMail-Client“, z.B.: Thunderbird, IncrediMail, em Client, Opera Mail uva.) zum MTA (Mail Transfer Agent, „eMail-Server“, z.B. Sendmail, Postfix, Exim uva.)
  • zum Abrufen von Postfächern auf Mailservern werden andere Protokolle benutzt, z.B.:
    POP3 (Post Office Protocol Version 3, Port 110/tcp)
    IMAP (Internet Message Application Protocol Version 4, Port 143/tcp)
    – MS-Extrawurst („proprietär“) MAPI (für Outlook zum Abruf von Mails aus Exchange)
  • SMTP wurde in RFC 821 im Jahr 1982 erstmals beschrieben und 2001 durch RFC 2821 ersetzt (erweitert u.a. zu ESTMP mit erweiterten Authentifzierungsmöglichkeiten)
  • der für den MUA zuständige Sender-MTA erfordert eine DNS-Abfrage von MX-Einträgen bei DNS-Servern zum Weitersenden an den Empfänger-MTA
  • der empfangende MTA überprüft, ob er für das entsprechende Empfänger-Postfach zuständig ist und nimmt die Nachricht dementsprechend an oder lehnt sie ab
  • SMTP kommuniziert sowohl die Verwaltungsinformationen als auch den Nachrichten-Inhalt im Klartext
  • deswegen:
    – Verschlüsselung des Inhalts der Nachricht (PGP – Ende-zu-Ende)
    – Übertragung über TLS zwischen MUAs und MTAs und MTAs untereinander

Telnet (Teletype Network):

  • 1969 entwickelt, 1974 eingesetzt
  • per Default nutzt telnet Port 23/tcp
  • dient der Fernsteuerung von Computersystemen via Textkonsole
  • standardisiert in RFC 854 und RFC 855 (1983), allerdings oft erweitert
  • heutzutage oft nur noch zu Diagnose-Zwecken für TCP-basierte Dienste eingesetzt, da zwar Authentifizierung aber Klartext-Übertragung

SSH (Secure Shell):

  • sichere Variante der Terminal-Session, ebenso standardmäßig auf Port 23/tcp
  • mit Authentizität, Integrität und Verschlüsselung
  • SSH ist eine Protokoll-Suite zuzüglich:
    SFTP und SCP (sichere Dateiübertragung)
    X11-Tunnelung (sicheres X11)
    SSHFS (Remote Dateisystem)
  • SSHv1 enthält Sicherheitslücken, es sollte nur noch SSHv2 verwendet werden

VoIP (Voice over IP):

  • schafft ein konvergentes Netzwerk: Zusammenführung von Sprach- und Datenübertragung
  • VoIP überträgt Telefonverbindungen über Datennetze
  • benötigt ausreichend Bandbreite bzw. QoS (Quality of Service), „Pflicht“ im lokalen Netzwerk
  • IP-Telefonie bezeichnet die Ende-zu-Ende-Kommunikation per VoIP
  • wichtige Protokolle für VoIP:
    H.323: ITU-Standard, ausgereift, aber komplex
    SIP (Session Initialisation Protocol): einfacher und flexibler Standard
    – bei SIP: Daten werden via RTP (Real Time Protocol) übertragen
    Skinny: proprietäres Protokoll von Cisco

Kapselung von VoIP-Daten

  • die Sprache wird digitalisiert und mittels Codec kodiert, z.B. (Kbit-Angaben zzgl. IP-Overhead):
    – G.711 – ISDN-Codec (64 Kbit/s)
    – G.722 – verbesserter Codec, bessere Sprachqualität (64 Kbit/s)
    – G.726 – insbesondere bei DECT-Telefonen mit ca. 32 Kbit/s , schlechtere Sprachqualität
    – die Qualität der Kodierung kann mittels MOS (Mean Opinion Score) gemessen werden:
  • Probleme mit VoIP treten auf durch:
    Paketverluste (Packetloss) mangels Durchsatz zwischen 1% bis 5%
    Laufzeit (Latenz, Delay), darf max. 150 ms betragen, oft länger
    zeitliche Schwankung (Jitter), Varianz der Übertragung darf max. 30 ms betragen
    – im Internet existiert über mehrere Provider hinweg keine garantierte Übertragung