Betriebssysteme allgemein
Von: drаmbеldіеr, 14.8.2003 07:34 Uhr
Liebe ExpertInnen,

im Zusammenhang mit W32.Blaster ist immer von Ports die Rede. Trotz heftiger Suche finde ich keine Definition eines Ports. Wenn dann von "Port 4444" oder "Port 8080" gesprochen wird, stelle ich fest, dass ich mir darunter absolut nichts vorstellen kann; auch dass man die Ports auf- und zumachen kann, hilft mir nicht weiter. Wer weiß was?

Danke für jede Antwort!



  1. Antwort von Ρеtеr Μöсklі 1
    Re: Was ist ein Port?
    Hallo Drambeldier im Zusammenhang mit W32.Blaster ist immer von Ports die Rede.
    Trotz heftiger Suche finde ich keine Definition eines Ports.
    Wenn dann von "Port 4444" oder "Port 8080" gesprochen wird,
    stelle ich fest, dass ich mir darunter absolut nichts
    vorstellen kann; auch dass man die Ports auf- und zumachen
    kann, hilft mir nicht weiter. Wer weiß was?
    Für die Kommunikation in Netzwerken, die mit der TCP/IP-Protokollfamilie funktionieren, sind zwei Dinge sehr wichtig. Die IP-Adresse und die Port-Nummer. Man kann sich die IP-Adresse ungefähr wie die Hausnummer einer Postadresse vorstellen. Die Port-Nummer ist dann das Klingelschild. Ein Beispiel:

    Ich möchte meine Emails mittels POP3 abrufen. Mein Mailprogramm sendet nun eine entsprechende Anfrage an den Mailserver, auf dem mein Postfach liegt. Da nun auf einem Server (einem Rechner) mehrere Dienste parallel laufen können, muss mein Mailprogramm neben der IP des Servers auch noch angeben, welcher Dienst angesprochen werden soll. Darum wird der Port 110 (standardmässiger Port für POP3) mit angegeben. So wird sichergestellt, dass der richtige Dienst meine Anfrage bekommt. Der Webserver kann mit einer Anfrage für den Abruf von Emails nämlich wenig anfangen.

    Mein Mailprogramm selber gibt als Absender die IP-Adresse an, die ich von meinem Provider mit der Einwahl bekommen habe. Und es gibt auch eine Port-Nummer an. Allerdings eine völlig andere. Z.B. 25643. Das sorgt dafür, dass die Antwort des Mailservers wieder am richtigen Ort eintreffen.

    Es gibt insgesamt einige tausend Ports. Eine Reihe von Ports sind in sogenannten 'RFC' (Request for Comment) definiert. Z.B. Port 110 für POP3, Port 80 für HTTP und so weiter. Dies sind zwar nur Empfehlungen, dennoch halten sich eigentlich alle Server-Betreiber wie etwa Provider an diese Empfehlungen, denn sie erleichtern die Konfiguration. Wenn es anders wäre, müsstest Du je nach Anbieter bei Deinem Mailkonto neben dem Server-Namen auch noch die Port-Nummer ändern...

    CU
    Peter
    4 Kommentare
    • von Ѕtuffі (abgemeldet) 2
      Re^2: Was ist ein Port?
      Ergänzend zur guten Beschreibung von Peter:
      Wenn ein Port "offen" ist heißt das, das hinter dieser Portnummer ein Programm (Server, Dämon) auf eingehende Verbindungen wartet.
      Wenn dieses Programm fehlerhaft ist (wie zB der ungepatchte RPC-Dienst von Win2k und XP) kann dies zu einem Einfallstor für einen Angriff werden. Das passiert, indem man dem Programm speziell präparierte Pakete unterschiebt, die den Fehler für die Zwecke des Angreifers nutzbar machen.
      Ist ein Port "geschlossen" so heißt das nichts anderes, als das KEIN Programm darauf lauscht. "Ports schließen" bedeutet also, die dahinter wartenden Programme zu beenden.
      Den Zustand Deiner Ports kannst Du mit dem Befehl netstat -a abfragen.

      LG
      Stuffi
    • von Αnоnүm (abgemeldet) 0
      Re^3: Was ist ein Port?
      Wenn ein Port "offen" ist heißt das, das hinter dieser
      Portnummer ein Programm (Server, Dämon) auf eingehende
      Verbindungen wartet.

      Ist ein Port "geschlossen" so heißt das nichts anderes, als
      das KEIN Programm darauf lauscht. "Ports schließen" bedeutet
      also, die dahinter wartenden Programme zu beenden.
      Einspruch!

      Ich kann auf einem Rechner einen Serverprozess starten, der auf einem bestimmten Port lauscht und kann trotzdem den Port schließen.
      Genauso kann ein Port offen sein, obwohl kein Prozess dort lauscht.
      Das ganze spielt sich auf der Transportschicht des Netzwerkverkehrs ab und hat nichts damit zu tun, welche Anwendungen auf einem Rechner laufen.

      Einfach formuliert: Port schließen heißt, die Tür zuzunageln. Das hat nichts damit zu tun, ob hinter dieser Tür jemand sitzt oder nicht.
      Und das schaurige ist: jeder Rechner hat 65536 solcher Türen ;-)

      Um das Öffnen oder Schließen von Ports (und um einiges mehr) kümmert sich eine Paketfilter-Firewall (iptables, Internet-Verbindungs-Firewall, Zone Alarm)
      Wobei zumindest Zone Alarm und ähnliche Personal Firewalls aus Gründen, die im Brett Internet-Sicherheit ausdiskutiert wurden/werden, nur sehr bedingten Schutz bietet.


      Stefan
    • Re^4: Was ist ein Port?
      Einspruch!
      Abgelehnt. Einfach formuliert: Port schließen heißt, die Tür zuzunageln.
      Und das erreicht man dadurch, dass man den dazugehörigen Dienst beendet. Und das schaurige ist: jeder Rechner hat 65536 solcher Türen
      Na und? Solange hinter der Tür Nr. 5837 kein Dienst horcht, kann dort anklopfen wer will, es wird sich nix tun. Um das Öffnen oder Schließen von Ports (und um einiges mehr)
      kümmert sich eine Paketfilter-Firewall (iptables,
      Internet-Verbindungs-Firewall, Zone Alarm)
      Falsch. Vor allem würde ich iptables nicht im selben Atemzug wie Schrott Marke Zone Alarm nennen.

      Gerade Zone Alarm und Konsorten tun etwas, was in keiner technischen Spezifikation (aka RFC, Request for Comment) festgelegt ist. Gemäss RFC gibt es für einen Port genau zwei Zustände: Offen und Geschlossen. PF wie Zone Alarm schliessen keinen Port, sie stülpen ihm nur eine Tarnkappe über. Sprich, sie setzen den Port auf 'Stealth'. Ein Zustand, den es wie gesagt offiziell gar nicht gibt. Und der eher zu Problemen führt, jedoch nicht wirklich sinnvoll ist.

      Mache ich einen Portscan, so bekomme ich im Normalfall für jeden Port eine Angabe, ob er offen ist oder nicht. Bei diesem unsäglichen Stealth werde ich dagegen im Unklaren gelassen, ob die Ports offen sind oder nicht. Ich weiss aber, dass an dieser IP, die so reagiert, etwas sein muss. Denn sonst würden andere Antworten eintreffen. Somit erregt ein PC im Internet, der auf 'Stealth' läuft, eher das Interesse von 'bösen Buben'.

      CU
      Peter
    • von Αnоnүm (abgemeldet) 0
      Re^5: Was ist ein Port?
      Einfach formuliert: Port schließen heißt, die Tür zuzunageln.
      Und das erreicht man dadurch, dass man den dazugehörigen
      Dienst beendet.
      Was machst Du mit Diensten, die laufen müssen/sollen, aber nicht nach außen zur Verfügung stehen sollen? Um das Öffnen oder Schließen von Ports (und um einiges mehr)
      kümmert sich eine Paketfilter-Firewall (iptables,
      Internet-Verbindungs-Firewall, Zone Alarm)
      Falsch.
      OK, der Stack ist zuständig. Was ich meinte, ist, dass der Paketfilter Priorität über eventuell lauschende Anwendungen hat. Vor allem würde ich iptables nicht im selben Atemzug
      wie Schrott Marke Zone Alarm nennen.
      Stimmt, mein Fehler.


      Somit erregt ein PC im Internet,
      der auf 'Stealth' läuft, eher das Interesse von 'bösen Buben'.
      Das ist die alte Diskussion, ob (iptables) DROP oder REJECT besser ist.
      DROP erscheint ja ebenfalls als "Stealth".
      Die Argumente pro und contra sind überall nachzulesen ;-)
      DROP ist IMHO die bessere Wahl, zumindest, wenn man keine Dienste nach außen anbieten will. Dann sieht es für den portscannenden Angreifer so aus, als gäbe es gar keinen Rechner auf der Adresse.


      Stefan
  2. Antwort von оlіνеr 1
    Re: Was ist ein Port?
    Hallo,


    nicht stundenlang suchen, sondern gleich bei w-w-w fragen :-)

    http://www.glossar.de/glossar/amglos_p.htm Da steht's ganz kurz erklärt. Allg. ist das Glossar ganz gut für solche Fragen.


    Gruß, olli
    1 Kommentare
  3. Antwort von Ѕtеffеn Fіеdlеr 1
    Re: Was ist ein Port?
    Hi
    Eigentlich ist schon alles gesagt, ich versuchs trotzdem noch einfacher darzustellen.
    Ports (1-65536) sind Adress-Ergänzungen für IP-Adressen, die die sogenannte Interprozeßkommunikation ermöglichen. Es gibt physikalische Ports, wie Lpt, Com und virtuelle Ports.
    Virtuelle Ports sind, mal übersetzt, Kommunikationsendpunkte zwischen Prozessen die einen Datenaustausch erfordern. Da IP-Adressen allein keine Programme(Prozesse) verbinden können, weil die IP ja nur für den Rechner steht, benötigen sie dazu zusätzliche Adressinformationen. Beispiel: Prozess AB auf 192.168.1.1 benötigt Informationen von einem ihm bekannten anderen Prozess XY auf 192.168.1.2. Er verbindet sich über seine programmierte Schnittstellennummer (Port) mit dem anderen Prozess über dessen Schnittstellennummer z.B. 825 weil er weiss, das der an 825 "lauscht".
    Die Schnittstellennummern (Ports) des Client- und Serverports müssen nicht identisch sein.
    Bei WebClients reicht es aus, Rechnernamen und Web-Verzeichnis, wie etwa: wer-weiss-was.de/content/start.shtml ohne den Port mit anzugeben, da von vorn herein festgelegt ist, dass HTM-Daten normalerweise nur über den Port 80 übertragen werden . Viele Dienste im Internet und allgemein im Netzwerk haben einen zugewiesenen (reservierten) Port.