FTP unterstützt den Transport von Text- und Binärdateien. Während einer typischen Sitzung baut der gestartete ftp Befehl einen Kontrollkanal zum Zielsystem auf.
Die eigentlichen Daten, sei es eine Datei oder ein Verzeichnisinhalt, werden über einen separaten Datenkanal transportiert. Üblicherweise wartet der Client auf einer zufälligen Port-Nummer, die er dem Server durch einen PORT-Befehl mitteilt, auf die Daten.
Im Startzustand erfolgt die Übertragung im ASCII-Modus. Zum Transfer von Dateien, die nicht aus (systemdefinierten) Zeilen von druckbaren ASCII-Zeichen bestehen, müssen beide Seiten mit TYPE I in den Binärmodus (bekannt als image- oder binary-Modus)
Anonymouse FTP ist der wichtigste Mechanismus zur Verteilung von Programmen und Daten. Wer will, kann seinen FTP-Server so konfigurieren, daß jeder Dateien aus einem festgelegten Systembereich ohne Voranmeldung oder Befugniserteilung kopieren kann. Per Konvention meldet sich der Benutzer dazu als anonymous. Manche Betreiber verlangen vom Benutzer als Paßwort die e-mail Adresse, ein Wunsch, welcher meist mit Mißachtung bedacht wird, auch wenn einige FTP-Server diese Regel durchzusetzten versuchen.
$ ftp ping.co.at
220 inet FTP server ready.
Þ USER anonymous
331 Guest login ok, send ident as password.
Þ PASS guest
230 Guest login ok, access restrictions apply.
Þ SYST
215 UNIX Type: L8 Version BSD-43
Remote system type is UNIX.
ftp> ls
Þ PORT 192, 20, 225, 3, 5, 163
200 PORT command successful.
Þ TYPE A
200 Type set to A.
Þ NLST
150 Opening ASCII mode data connection for /bin/ls.
bin
dist
etc
doc.Z
netlib
pub
226 Transfer complete.
Þ TYPE I
200 Type set to I.
Þ STOR doc.Z
226 Transfer complete.
ftp> bye
Þ QUIT
221 Goodbye.
$
Die allerwichtigste Regel lautet, keine Datei und kein Verzeichnis im Bereich für anonymous FTP darf der ftp-Kennung (unter der anonymouse FTP ausgeführt) gehören oder von ihr beschreibbar sein. Ein Hacker könnte sonst eine Datei namens .rhosts mit geeignetem Inhalt in das Heimatverzeichnis von ftp schreiben. Damit kann man nun mittles rsh eine Sitzung als ftp auf der Zielmaschine starten.
Es sollte sich keine echte /etc/passwd Datei im Bereich für anonymous FTP befinden. Eine echte /etc/passwd wäre ein großes Geschenk für einen Hacker. Wenn die UNIX Implementierung es zuläßt, sollte sie komplett gelöscht werden. Andernfalls sollte sie durch ein Phantasiegebilde ohne echte Kennungen und ohne echte Paßworteinträge ersetzt werden.
Schließlich sollte vorsichtshalber alles im FTP-Bereich mit Mißtrauen betrachtet werden. Dies gilt besonders im Hinblick auf ausführbare Programme, namentlich die Kopie von ls, da diese durch ein Trojanisches Pferd ersetzt worden sein könnten.
Die "r\"-Befehle
Die "r\"-Befehle verlassen sich auf die Betriebssystem-Authentifikation. Man kann einen rlogin auf eine fremde Maschine ohne Paßwortabfrage durchführen, wenn folgende Authentifikationskritäreien erfüllt sind:
Die Anfrage muß von einem privilegierten TCP-Port ausgehen. Auf manchen Systemen (wie PCs) gibt es solche Beschränkungen nicht, und sie wären auch sinnlos. Daraus folgt, daß Anfragen per rlogin und rsh nur Maschinen gestattet werden sollten, die die Vergabe privilegierter Ports wirksam kontrollieren.
Die Kombination von Benutzer und System, von der die Anfrage ausgeht, muß dem Zielsystem als vertrauenswürdig erklärt worden sein, entweder Systemweit (/etc/hosts.equiv, oder auf Benutzerebene $HOME/.rhosts.
Name und IP-Adresse des Quellsystems müssen übereinstimmen
Aus Benutzersicht funktioniert dieses Verfahren prächtig. Ein Benutzer kann die Maschinen, die er benutzen will, absegnen und wird nicht mehr mit Paßwortabfragen belästigt, wenn er andere Computer erreichen will. Auch aus Hackersicht funktioniert es prächtig: Es bietet ein Einfallstor in ein System und von dort Zugang zu weiteren Hosts, die dem ersten vertrauen. Ein Hauptziel von Hackern ist, geeignete Einträge in /etc/hosts.equiv oder .rhosts eines Benutzers zu deponieren.
Wenn Hacker Zugang zu einem System erlangt haben, streben sie zuerst danach, ihre Spuren zu verwischen, indem sie Protkolldaten löschen. Dann versuchen sie, root-Zugang zu bekommen und sich Hintertürchen anzulegen, falls der Weg durch den Vordereingang blockiert werden sollte.
Ein Gutteil der Sicherheit eines Systems liegt also in der Hand der Benutzer, die fremden Maschinen mit ihren .rhosts Dateien das Vertrauen aussprechen können. Solche Entscheidungen sollten der Systemadministration vorbehalten sein. Einige Versionen der rlogin und rsh-Dämonen können entsprechend konfiguriert werden. Ansonsten ist wohl ein Batchjob, der das System regelmäßig von .rhosts-Dateien säubert, angebracht.
Angesichts der vielen Schwächen dieses Authentifiaktionsverfahrens ist es ratsam, diese Dienste nicht auf Systemen anzubieten, die direkt vom Internet aus zugänglich sind.
Informationsdieste
|