Ident

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Ident im TCP/IP‑Protokollstapel:
Anwendung Ident
Transport TCP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI

Ident ist ein Netzwerkprotokoll, mit dem ein Server feststellen kann, welcher Benutzer eines Mehrbenutzersystems eine bestimmte TCP-Verbindung geöffnet hat. Ident verwendet dazu das Transmission Control Protocol auf Port 113 und ist im RFC 1413 festgelegt.

Der Einsatz eines Ident-Servers nützt dabei nur dem Betreiber des betreffenden Systems selbst: Er kann im Beschwerdefall anhand einer vom Beschwerdeführer aufgezeichneten Ident-Antwort den Urheber der betreffenden TCP-Verbindung auf seinem System identifizieren. Für andere als die Person, die den Ident-Server betreibt, sind die Informationen des Ident-Protokolls nutzlos, weil potentiell gefälscht.

Es gibt eine Reihe von Programmen mit Ident-Funktionalität, die entweder bewusst falsche oder aber entwertete Informationen zurückliefern; begründet wird dies damit, dass das Protokoll ein Sicherheitsdefizit darstellen könne und darüber hinaus in die Persönlichkeitsrechte der örtlichen Nutzer eingegriffen werde.

Ident-Nachrichten bestehen stets aus einer Zeile von ASCII-Text, die durch einen Zeilenumbruch mit den Zeichen <CR><LF> abgeschlossen wird.

Eine Anfrage ist dabei wie folgt aufgebaut:

<Port auf dem Zielsystem>, <Lokaler Port>

Gültige Antworten wiederholen die Anfrage und haben eine der folgenden Formen:

<Port auf dem Zielsystem>, <Lokaler Port> : USERID : <Betriebssystem> : <Benutzername>
<Port auf dem Zielsystem>, <Lokaler Port> : ERROR : <Fehlermeldung>


Einsatzgebiete des Ident-Protokolls sind zum Beispiel

  • Simple Mail Transfer Protocol: Wird bei der Annahme einer Mail eine Ident-Anfrage an das Sendersystem gestellt und die Ident-Antwort in die Kopfzeilen der E-Mail aufgenommen, so ist der Betreiber des Sendersystems in der Lage, gefälschte Mails später seinen Benutzern zuzuordnen
  • Internet Relay Chat: Hier ermöglicht es beispielsweise dem Channel Operator, statt eines ganzen Hosts nur einen einzelnen Benutzer von der Diskussion auszuschließen

Beispiel-Szenario[Bearbeiten]

Aufbau einer SMTP-Verbindung[Bearbeiten]

Identd-flow-1.png

Ein Benutzer „tei“ am Client-Computer 10.10.10.10 baut mit einem beliebigen Client-Port 31010 eine Verbindung zum SMTP-Server 10.20.20.20:25 auf.

Jede TCP-Verbindung lässt sich aus dem Quadrupel Source-IP, Source-Port, Destination-IP, Destination-Port eindeutig identifizieren. Für diese SMTP-Verbindung lauten die Daten:

Eigenschaften der SMTP-Verbindung
IP Adresse Port
Source 10.10.10.10 31010
Destination 10.20.20.20 25

Ident-Lookup[Bearbeiten]

Um die richtige Verbindung zu finden und einem Benutzer zuordnen zu können, benötigt der Identd das entsprechende Quadrupel aus IPs und Ports.

Der Ident-Client (in diesem Fall zB. der SMTP-Daemon) baut nun eine Verbindung von der Destination-IP der SMTP-Verbindung (10.20.20.20) mit einem beliebigen Source-Port (zB. 42020) eine Verbindung zur Source-IP der SMTP Verbindung auf den Well-known Port des Identd auf (Port 113). Damit kennt der Identd zwei der vier Eigenschaften der TCP Verbindung, zu welcher er Auskunft geben soll: Die Source- und Destination-IP.

Identd-flow-2.png

Damit der Identd die Verbindung eindeutig identifizieren kann, muss der Ident-Client nun noch den Source- und Destination-Port der SMTP-Verbindung mitteilen. Er schickt dem Ident-Server dazu die Ports der SMTP-Verbindung:

31010, 25

Identd-flow-3.png

Der Ident-Daemon sucht mittels einer Schnittstelle zum TCP/IP-Stack des Betriebssystems nach der Verbindung und deren Benutzer mit dem entsprechenden IP und Port Quadrupel. Der Ident-Daemon antwortet dann mit der Betriebssystemkennung seines Servers, zB. „UNIX“, und dem Benutzernamen des Besitzers der TCP-Verbindung, „tei“:

31010, 25 : USERID : UNIX : tei

Identd-flow-4.png

Die Ident-Verbindung wird geschlossen. Der SMTP-Daemon kennt nun den Namen des Benutzers der die SMTP-Verbindung aufgebaut hat, und kann diese Information zB. im E-Mail-Header hinterlegen.

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]