Sämtliche Internet-Dienste setzen entweder auf dem Transmission Control Protocol (TCP) oder dem User Datagram Protocol (UDP) auf.
TCP ist ein gesichertes, verbindungsorientiertes Transportprotokoll (siehe Kap. ), d. h. es garantiert, daß abgeschickte Pakete in der Reihenfolge ihres Abschickens verläßlich ihr Ziel erreichen. Jedes TCP-Paket enthält Informationen darüber, ob es Teil einer bereits bestehenden Verbindung ist oder nicht. Dies kann ausgenutzt werden, um den Auf´bau einer TCP-Verbindung nur in einer Richtung zu gestatten, gleichzeitig aber die Fortsetzung existierender Verbindungen in beiden Richtungen zu erlauben. Dienste, denen TCP zugrundeliegt sind beispielsweise Telnet oder Finger.
Im Gegensatz zu TCP handelt es sich bei UDP um ein ungesichertes, verbindungsloses Protokoll (siehe Kap. ), das es deshalb auch nicht gestattet, ein eintreffendes Paket dahingehend zu untersuchen, ob es Teil einer bestehenden (logischen) Verbindung ist oder nicht.
Wie bereits erwähnt, lassen sich zwei unterschiedliche Arten von Verbindungen angeben, die client/server-Verbindung und die peer-to-peer-Verbindung.
Client/Server-Verbindungen sind der weitaus häufiger anzutreffende Verbindungstyp. Ein sogenannter server stellt einen Dienst zur Verfügung, der von den sogenannten clients in Anspruch genommen werden kann. Der server verwendet meist einen für diesen Dienst bekannten well-known Port, der, von wenigen Ausnahmen abgesehen, im privilegierten Bereich liegt, während der client bei jedem Verbindungsaufbau einen beliebigen Port aus dem nicht-privilegierten Bereich zugewiesen bekommt. Typische Beispiele für client/server-Dienste sind Telnet und WWW.
Im Gegensatz hierzu stehen die peer-to-peer-Verbindungen, bei denen sich die zwei Kommunikationspartner gleichberechtigt gegenüberstehen und gegenseitig mit Informationen versorgen. Bei diesen Diensten haben beide Partner im vorhinein bekannte Ports, was eine Sicherung dieser Dienste erheblich vereinfacht.
Mit Hilfe der hier aufgezeigten Klassifizierung läßt sich die Beschreibung der Sicherung der meisten Internet-Dienste vornehmen. Allerdings gibt es auch einige Sonderfälle, die einer besonderen Behandlung bedürfen´:
FTP (siehe Kap. ) ist ein TCP-basierendes Client/Server-Protokoll, das allerdings die Besonderheit enthält, daß auf eine Anfrage eines clients hin von Seiten des servers aus eine neue Verbindung aufgebaut wird, auf der die Daten übertragen werden. Das bedeutet, daß eine von einem internen Benutzer initiierte Verbindung einen Verbindungsaufbau von außen nach sich zieht, was die Sicherung dieses Dienstes erheblich erschwert.
Wenn ein Benutzer seinen x-server für einen anderen Host zugänglich macht, damit Anwendungen, die auf diesem Rechner laufen, darauf zugreifen können, kann jeder Benutzer dieses Rechners auf den x-server zugreifen. Deshalb kann X11 durch einen Firewall nur mit sehr ausgefeilten Sicherheitsmechanismen gestattet werden (siehe auch Kap. ).
Dienste, die den Remote Procedure Call (RPC) [RFC1057] verwenden, müssen ebenfalls als Sonderfälle betrachtet werden, da hierbei die server keine festen Portnummern besitzen, sondern vom Betriebssystem dynamisch Portnummern zugewiesen bekommen. Diese Portnummern werden von einem Programm, dem sogenannten portmapper verwaltet und können dort erfragt werden. Es ist also schwierig, ein eintreffendes Paket einem bestimmten Dienst zuzuordnen, da die Portnummer keinen Aufschluß darüber gibt, an welchen server das Paket adressiert ist. Weiterhin ist problematisch, daß die überwiegende Mehrheit der Dienste auf UDP aufsetzt, wodurch die Behandlung dieser Dienste weiter erschwert wird.
Die Kriterien, die sich aus der Definition der unterschiedlichen Internet-Dienste herleiten lassen, sind also die folgenden: