wuftpd - ftp Server (V 1.3) |
Ist OPT_WUFTPD='yes' gesetzt, wird auf dem fli4l-Router ein ftp-Server installiert.
Dazu wird nach /usr/sbin der wu.ftpd in der Version 2.6.2 als optionales Programm installiert.
Dieses läuft dann als Dienst in einer sich selbst konfigurierenden Change-Root Umgebung
und ist als Serverdienst für die äussere Seite gedacht.
Voraussetzungen:
Die change-root Umgebung wird automatisch unter dem in der Variablen WUFTPD_HOME angegebenen
Pfad (Standard:/usr/local/data/ftp) angelegt.
Für die Funktion werden Einträge in der /etc/passwd benötigt und daher selbstständig
hinein geschrieben. Dabei werden user-IDs ab 40 benutzt. Ebenfalls werden Gruppen mit IDs ab 200
selbstständig angelegt.
Die Quellen zum wu-ftpd findet man unter http://www.wuftpd.org.
Das Copyright liegt bei : ¨Copyright (c) 1999,2000,2001 WU-FTPD Development Group¨
Die Software ist als ¨freeware¨ oder ¨Open Source Software¨ unter der Angabe der
Lizenzbedingungen zu verwenden.
Standard-Einstellung: OPT_WUFTPD='no'
Wenn der httpd Dienst aus den Dtandartpaketen installiert ist, kann man mit dem setzern der Vatiablen OPT_WUFTPD_HTTP='yes' ein cgi-Script installieren, welches sich in den httpd integriert. Mittels dieser Oberfläche kann man den Zugang zum ftp-Service sperren und wieder freigeben. Außerdem sieht man, wer gerade auf den ftp eingeloggt ist und welche Kennungen ftp-Berechtigungen haben. Wenn das xferlog mittels WUFTPD_XFERLOG='yes' aktiviert wurde kann man sich hierüber auch die entstehenden Logfiles ansehen.
Standard-Einstellung: OPT_WUFTPD_HTTP='no'
Setzt man OPT_WUFTPD_TOOLS='yes' so werden 5 Binarys (ftpcount ftpshut ftprestart ftpwho ckconfig ) unter /usr/bin installiert. Diese können von der Shell aus auf dem Router benutzt werden. Beschreibungen findet man unter http://www.wuftpd.org. Für den standardmäßigen Betrieb sind diese Programme allerdings nicht notwendig.
Standard-Einstellung: OPT_WUFTPD_TOOLS='no'
Mit der Variable WUFTPD_PORT kann man den Port bestimmen, auf dem der wuftpd laufen soll. Bei ev. Änderung des Ports sind auch die Einstellungen der Firewallkonfiguration anzupassen!
Standard-Einstellung: WUFTPD_PORT='21'
In der Variable WUFTPD_FTPMASTER soll eine e-Mail Adresse hinterlegt werden, unter der man den ftp-Betreiber erreichen kann.
Standard-Einstellung: WUFTPD_FTPMASTER='your.account@evrywhare.world' !! Bitte ändern !
Mit der Variable WUFTPD_LOCAL_NET wird das TCP/IP-Band festgelegt, welches auf der
internen Seite des Routers benutzt wird.
(dies ist für die Entscheidung über die Art des Logins notwendig,
siehe auch Anmerkung zum real-Login )
Standard-Einstellung: WUFTPD_LOCAL_NET='192.168.6.*'
Mit der Variable WUFTPD_HOME wird das Basisverzeichnis für den wuftpd-Datenbereich festgelegt.
Aus diesem Verzeichnis können weder der Benutzer ¨anonymous¨ noch
die Guest-Accounts (WUFTPD_G_N)
¨ausbrechen¨. Die Ausnahme sind die sogenannten real-Accounts -> siehe
Anmerkung zum real-Login .
Das Basisverzeichnis wird selbstständig erstellt. Unterhalb dieses Verzeichnises wird dann
die notwendige Umgebung für die ftp-Nutzer geschaffen.
Im Unterverzeichnis pub werden dann die Home-Verzeichnisse
des WUFTPD_ADMIN und die der Guest-Accounts
(WUFTPD_G_N) angelegt.
Standard-Einstellung: WUFTPD_HOME='/usr/local/data/ftp'
Die mit der Variable WUFTPD_ADMIN festgelegte Kennung ist eine administrative Kennung für den ftp-Datenbereich. Ein Login ist nur aus dem mit WUFTPD_LOCAL_NET festgelegten Adressband möglich. Die Kennung besitzt Lese- und Schreibrechte in den Unterverzeichnissen von WUFTPD_HOME/pub. Sie ist außerdem eine real-Kennung (siehe Anmerkung zum real-Login ).
Standard-Einstellung: WUFTPD_ADMIN='ftpadm'
Legt das Passwort für die Kennung WUFTPD_ADMIN fest.
Standard-Einstellung: WUFTPD_A_PW='ftplogin' !! Bitte ändern !
Durch Setzen der Variable WUFTPD_ANONYMOUS auf ¨yes¨ wird der anonyme
Zugriff ermöglicht. Dabei sind die Rechte so eingeschränkt, daß der
Benutzer ¨anonymous¨ WUFTPD_HOME als ¨/¨
dargestellt bekommt, er jedoch in allen Unterverzeichnissen alles lesen kann.
Ist die Variable auf ¨no¨ gesetzt, so ist kein anonymer Zugriff auf den ftp
möglich.
Standard-Einstellung: WUFTPD_ANONYMOUS='yes'
Ist die Variable WUFTPD_ANONYMOUS auf ¨yes¨
gesetzt und somit der anonyme Zugriff gestattet, so kann hier ein Verzeichnis
angegeben werden, in dem der Benutzer ¨anonymous¨ Daten Uploaden (jedoch
dann auch nicht mehr löschen) kann. Dieses Verzeichnis wird unter
WUFTPD_HOME/pub angelegt.
Wenn die Variable leer ist (WUFTPD_UPLOAD='') so kann der Benutzer ¨anonymous¨
nirgends schreiben.
Standard-Einstellung: WUFTPD_UPLOAD='incoming'
Mit der Variable WUFTPD_G_N legt man die Anzahl der Gast-Accounts fest, die auf den
ftp Server schreibend zugreifen können.
Die Variablen WUFTPD_G_x_ACC und WUFTPD_G_x_PW legen dann den Namen der
jeweiligen Kennung (bitte keine Leer- bzw. Sonderzeichen benutzen) und das Passwort fest.
Für diese Benutzer wird unter WUFTPD_HOME/pub ein Homeverzeichnis
angelegt, in dem sie lesen, schreiben und auch löschen können. In allen
anderen Verzeichnissen können sie, wie der Benutzer ¨anonymous¨, lesen.
Standard-Einstellung: WUFTPD_G_N='1' ; WUFTPD_G_1_ACC='ftpguest' ; WUFTPD_G_1_PW='ftplogin' !! Bitte ändern !
Durch das Setzen der Variable WUFTPD_XFERLOG auf ¨yes¨ wird das xferlog
des wu-ftpd aktiviert. Das heist, das in dem Logfile ¨/var/log/xferlog¨ die mittels
WUFTPD_LOG_COMMANDS bzw.
WUFTPD_LOG_TRANSFERS ausgewählten Aktivitäten protokolliert werden.
Da das Logfile unter ¨/var/log/xferlog¨ auf dem fli4l in einem Bereich angesidelt ist, der in der RAM-Disk liegt,
würden alle Einträge bei jedem Boot verschwinden. Deshalb wird mittels der Variablen
WUFTPD_XFERLOGDIR und WUFTPD_XFERLOGFILE
die Datei ¨/var/log/xferlog¨ in ein Verzeichnis auf der Festplatte, ( also unter ¨/usr/local/data ...¨ ) verlinkt
und somit gespeichert. Außerdem wird der Dateiname um das Datum ergänzt, so das es für jeden
Tag eine eigene Datei giebt. Diese lassen sich mittels dem cgi-Tool OPT_WUFTPD_HTTP
ansehen, durchsuchen und auch löschen.
Wenn man die Variable WUFTPD_SYSLOG auf ¨yes¨ setzt, werden die mittels WUFTPD_LOG_COMMANDS, WUFTPD_LOG_TRANSFERS bzw. WUFTPD_LOG_SECURITY ausgewählten Aktivitäten im syslog protokolliert. Wenn mann im Windows imonc den syslog-Client aktiviert und im base.txt den syslogd entsprechend Konfiguriert, kann man die wu-ftpd Aktivitäten auf seinem PC Protokollieren und auswerten.
Setzt man die Variable WUFTPD_LOG_SECURITY auf ¨yes¨, so werden alle Security-Ereignisse im syslog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨
Setzt man die Variable WUFTPD_LOG_TRANSFERS auf ¨yes¨, so werden alle Up- bzw. Downloads im syslog/xferlog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨ oder/und WUFTPD_XFERLOG=¨yes¨
Setzt man die Variable WUFTPD_LOG_COMMANDS auf ¨yes¨, so werden alle Kommandos der wu-ftp Benutzer im syslog/xferlog protokolliert. Voraussetzung ist natürlich die Aktivierung mittels WUFTPD_SYSLOG=¨yes¨ oder/und WUFTPD_XFERLOG=¨yes¨
Nur aus dem in WUFTPD_LOCAL_NET festgelegten Adressband sind ftp-Logins mit Realen Benutzern möglich (real-Logins). Diese haben Zugriff auf die Dateistruktur des gesamten Router. Dabei ist es vom Benutzer abhängig, welche Rechte diese Kennung hat. Die vom Paket mitgebrachte Kennung WUFTPD_ADMIN hat nur die Rechte einer ¨normalen¨ Userkennung, d.h. wenn überhaupt, dann kann sie nur lesen, mit Aussnahme des WUFTPD_HOME, dort besitzt sie Lese-, Schreib- und Löschrechte. Für einen real-Login mit weitreichenden Rechten käme daher nur die Standardkennung ¨root¨ in Frage. Dies halte ich persönlich für zumindest bedenklich! Deshalb sind in der wuftpd Konfigurationsdatei (opt/etc/ftpusers) die zwei Standarduser root und nobody aufgeführt, somit wird ein ftp-Login mit diesen Kennungen generell verhindert. Soll dennoch ein ftp-Login mit der Kennung ¨root¨ von Intern möglich sein, ist aus besagter Datei die Zeile ¨root¨ zu löschen