ubuntuusers.de

Finger-Server

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Ein Finger-Server stellt über das Finger-Protokoll (RFC1196) Informationen über auf einem System vorhandene Benutzer über das Netzwerk zur Verfügung. Informationen hierzu bietet der Artikel Finger.

Achtung!

Die über das Finger-Protokoll zur Verfügung gestellten Informationen gelten als personenbezogene Daten. Durch die Inbetriebnahme eines Finger-Servers muss von den betroffenen Personen die Zustimmung zur Veröffentlichung eingeholt werden, da diese je nach Konfiguration weltweit für jeden abrufbar sind.

Achtung!

Die Informationen, die über das Finger-Protokoll bekannt gemacht werden, können sehr gut für Social-Engineering-Angriffe genutzt werden. Es ist daher ratsam, den Finger-Server nur für bestimmte IP-Adressbereiche zugänglich zu machen. Dies kann entweder über eine Firewall wie iptables oder über tcpd im Internet-Superserver erfolgen. Das Finger-Protokoll arbeitet zudem ohne Verschlüsselung, ein Mithören und ein Fälschen ist möglich.

Installation

fingerd

fingerd benötigt einen Internet-Superserver, z.B. inetd.

Anschließend kann man fingerd über die offiziellen Paketquellen installieren.

  • fingerd (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install fingerd 

Oder mit apturl installieren, Link: apt://fingerd

Ist die Datei /etc/inetd.conf bereits vorhanden, so wird ein passender Eintrag für IPv4 gleich angelegt. Nutzt man einen anderen Internet-Superserver (z.B. rlinetd oder xinetd, so ist dieser manuell zu konfigurieren, er wird nicht automatisch eingerichtet. Folgende Zeile wird angelegt

finger          stream  tcp     nowait  nobody  /usr/sbin/tcpd  /usr/sbin/in.fingerd

Damit wird fingerd über tcpd gestartet, lauscht jedoch nur auf IPv4. Für IPv6 muss der Eintrag erweitert werden. Bei inetutils-inetd muss tcp durch tcp6 ersetzt werden.

finger          stream  tcp6     nowait  nobody  /usr/sbin/tcpd  /usr/sbin/in.fingerd

Bei openbsd-inetd muss diese Zeile zusätzlich eingetragen werden. Anschließend muss inetd neugestartet werden.

Optionen

fingerd bietet einige Optionen, mit denen das verhalten angepasst werden kann. Diese müssen hinter dem Befehl im Internet-Superserver eingetragen werden. Hat man mehrere Zeilen müssen diese in allen eingetragen werden. Beispiel:

finger          stream  tcp6     nowait  nobody  /usr/sbin/tcpd  /usr/sbin/in.fingerd -w

Option Verhalten
-w Gibt eine Willkommensnachricht (Laufzeit und Betriebssystem) aus
-u Nicht die Liste angemeldeter Benutzer übergeben (ohne Angabe eines Benutzers)
-l Anfragen mitloggen in Syslog
-f Weiterleiten von Anfragen an anderen Finger-Server aktivieren
-t 25 Zeit in Sekunden bis Timeout festlegen

cfingerd

cfingerd (configurable finger daemon) ist ein konfigurierbarer Finger-Server. Er beinhaltet unter anderem Fake-Benutzer für die Ausgabe spezieller Informationen. Ist noch kein Internet-Superserver installiert, so wird einer installiert und für IPv4 konfiguriert. Um diesen für IPv6 einzurichten kann analog wie bei fingerd verfahren werden, da dies eine Eigenschaft des inetd und nicht von cfingerd ist.

cfingerd besitzt das Konfigurationsverzeichnis /etc/cfingerd/. Dort gibt es die Datei /etc/cfingerd/cfingerd.conf, welche einige Konfigurationsparameter enthält. Hier können unter anderem die Pfade für auszuliefernde Dateien wie .plan oder .project angepasst werden. Zudem können die Strings, die ausgegeben werden, angepasst werden. Dies gilt ebenso für die Texte für den Syslog. Es kann ebenso über ACLs eingerichtet werden, welcher Rechner welche Aktionen ausführen darf.

In der Standardkonfiguration wird eine ident-Abfrage über das Ident-Protokoll getätigt. Diese kann jedoch nur erfolgen, wenn auf dem abfragenden Rechner ein ident-Server läuft, was in den seltensten Fällen der Fall ist. Schlägt diese fehl, wird der Zugriff verweigert. Dies kann angepasst werden, indem in der Datei /etc/cfingerd/cfingerd.conf die Zeile

        -ALLOW_NONIDENT_ACCESS,

angepasst wird. Das Minus wird durch ein Plus ersetzt. Minus bedeutet, dass die Option deaktiviert ist.

Fake-User

Fake-User sind Benutzer, die nicht auf dem System existieren, die aber per Finger aufgerufen werden können und die Ausgabe von Shellskripten ausgeführt wird. Die Konfiguration der /etc/cfingerd/cfingerd.conf sieht wie folgt aus:

FILES finger_fakeusers = {
"nutzerliste", "Alle Nutzer ausgeben", FALSE, "/etc/skript.sh"
}

Wird nun der Benutzer nutzerliste per finger abgefragt, so wird die Ausgabe des Shellskriptes ausgegeben.

efingerd

efingerd ist ebenso ein konfigurierbarer finger-Server. Er besitzt einige Kommandozeileoptionen, die im Internet-Superserver eingetragen werden müssen. Dort kann dann analog zu den anderen Finger-Servern auch IPv6 eingerichtet werden.

Option Verhalten
-t <Zeit> Zeit in Sekunden, bis ein Timeout bei der Verbindung ausgelöst wird
-n keine Rückauflösung (PTR-Record) der IP-Adressen bei Zugriffen
-i ident-Abfrage beim Anfrager durchführen
-f nicht den vollständigen Namen von Benutzern ausgeben
-u .efingerd im Home-Verzeichnis der Benutzer ignorieren.

Des weiteren gibt es folgende Skripte, die ggf. angepasst werden können (z.B. wie die Nachricht lautet, die ausgegeben wird)

Datei Bedeutung
/etc/efingerd/list Verhalten, wenn ein bestimmter Benutzer abgefragt wird.
/etc/efingerd/luser Verhalten, wenn ein Benutzer abgefragt wird, in dessen Homeverzeichnis keine .efingerd existiert /etc/efingerd/nouser Verhalten, wenn ein nicht vorhandener Benutzer abgefragt wird

Hat ein Benutzer eine Datei .efingerd in seinem Home-Verzeichnis und ist diese vom efingerd lesbar, so wird diese ausgeführt. Es kann also ein beliebiges Shellskript verwendet werden. Alle Ausgaben (STDOUT) von diesem werden an den Anfrager zurückgegeben. Bei efingerd existieren "virtuelle" Benutzer, die nicht auf dem System exisiteren, die aber abgefragt werden können und bestimmte Informationen zurückgeben. Diese können in der Datei /etc/efingerd/nouser angepasst werden.

Benutzer Zweck
time Ausgabe der aktuellen Uhrzeit in UTC
ping Senden von 5 ICMP-Echo-Requests an die IP-Adresse des Anfragers
fortune Start von fortune (Ausgabe eines Spruches)
uptime Lautzeit des Servers ausgeben
uname Ausgabe der Kernel-Version über uname

Diese Revision wurde am 4. März 2022 20:31 von Zuckerberg erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Internet, Netzwerk, Server