Kapitel:
Home Debian Installation Debian Etc. Internet-Zugang Telnet FTP r-Utilities SSH Printing NTP Nameserver NFS/NIS/Automount Samba (SMB-Server) Apache (WEB-Server) Modem / ISDN Backup Etc.
| |
ProFTPD
|
|
[ Gemeinsamkeiten ] [ in.ftpd ] [ wu-ftpd ] [ ProFTPD ] [ vsftpd ] [ FTP-Clients ]
Als weiterer FTP-Server ist der ProFTPD bekannt, der einige Sicherheitslücken
vom wu-ftpd behebt und eine übersichtlichere Konfiguration ermöglicht. Der
ProFTPD wurde von rund auf neu entwickelt und ist unter der GPL (GNU Public
License) frei verfügbar. Zu den Eigenarten diese Servers gehören, der ProFTPD
benötigt keine 'Changed-Root-Umgebung' für anonyme Logins. Auch wird
der ProFTPD mit nur einer Konfigurationsdatei administriert.
Im Folgenden wird wieder einen kurze Beispiel-Installation unter Debian
vorgestellt, dabei wird auch auf die anonyme Variante des FTP-Server
eingegangen.
Installation
Unter Debian kann der ProFTPD einfach mit dem Kommando: 'apt-get install proftpd'
installiert werden. Zum Abschluss der Installation erscheint noch ein Dialog
bezüglich der Startart des Dämons:
- ProFTPd über inetd oder als Daemon starten? <inetd>
Es sollte die Variante über den Super-Dämon: 'inetd'
gewählt werden. Sinnvoll ist es auch das Paket der Dokumentation 'proftpd-doc'
mit zu installieren. Als 'Changed-Root-Umgebung' kann die bereits vorgestellte
Variante genutzt werden.
Konfiguration
Wie bereits erwähnt wird der ProFTPD mit nur einer
Konfigurationsdatei: '/etc/proftpd.conf' administriert.
Unter Debian wird
standardmäßig eine vorkonfigurierte Datei installiert, die als Ausgangsbasis für eigene
Konfigurationen genutzt werden kann. Die Datei ist ähnlich aufgebaut wie die
Konfigurationsdatei des Apaches, es sind sogar viele identische Anweisungen
enthalten. Im Folgenden ist die leicht abgeänderte
default-Konfigurationsdatei
zu sehen (gelb markierten Bereiche):
/etc/proftpd.conf |
#
# /etc/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
#
ServerName "Debian"
ServerType inetd
ServerAdmin ftpadm@localhost
DeferWelcome off
MultilineRFC2228 on
DefaultServer on
ShowSymlinks on
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
DisplayLogin welcome.msg
DisplayFirstChdir .message
ListOptions "-l"
DenyFilter \*.*/
# Uncomment this if you are using NIS or LDAP to retrieve passwords:
#PersistentPasswd off
# Uncomment this if you would use TLS module:
#TLSEngine on
# Uncomment this if you would use quota module:
#Quotas on
# Uncomment this if you would use ratio module:
#Ratios on
# Port 21 is the standard FTP port.
Port 21
# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30
# Set the user and group that the server normally runs at.
User nobody
Group nogroup
# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask 022 022
# Normally, we want files to be overwriteable.
AllowOverwrite on
# Delay engine reduces impact of the so-called Timing Attack
described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default.
#DelayEngine off
#
# Logging options
#
TransferLog /var/log/xferlog
# A basic anonymous configuration, no upload directories.
<Anonymous ~ftp>
User ftp
Group nogroup
# We want clients to be able to login with "anonymous" as well as "ftp"
UserAlias anonymous ftp
# Cosmetic changes, all files belongs to ftp user
DirFakeUser on ftp
DirFakeGroup on ftp
RequireValidShell off
# Limit the maximum number of anonymous logins
MaxClients 10
# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayFirstChdir .message
# Limit WRITE everywhere in the anonymous chroot
<Directory *>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# Uncomment this if you're
brave.
# <Directory incoming>
# # Umask 022 is a good
standard umask to prevent new files and dirs
# # (second parm) from being
group and world writable.
# Umask 022 022
# <Limit READ WRITE>
# DenyAll
# </Limit>
# <Limit STOR>
# AllowAll
# </Limit>
# </Directory>
</Anonymous> |
Eigentlich sollte der ProFTPD mit der
default-Konfigurationsdatei als restricted-FTP-Server schon lauffähig sein. Für die
individuelle Konfiguration, hier eine kurze Beschreibung der wichtigsten
Parameter:
-
ServerName
Hier wird lediglich ein Name definiert, der bei der Herstellung der
Verbindung an den Client geliefert wird.
-
ServerType
Bei ServerType wird zwischen 'standalone'
und 'inetd' unterschieden. Der Betrieb
über den Super-Dämon: 'inetd' bringt
aber den Vorteile mit sich, dass der ProFTPD-Prozess
wird nur bei Bedarf gestartet wird und somit den Rechner nur dann belastet.
Zusätzlich können Zugriffsbeschränkungen bereits im Vorfeld definiert
werden, d.h. nicht autorisierte Zugriffe werden bereits vor einem Start des
ProFTP vom Super-Dämon abgewiesen.
-
ServerAdmin
Hier ist die Email-Adresse des FTP Administrators einzutragen.
-
DeferWelcome
Angabe ob Informationen, wie der 'ServerName',
angezeigt werden, bevor eine Anmeldung stattgefunden hat.
-
DefaultServer
Falls der Rechner mehrere IP-Adressen besitzt, wird mit dieser Anweisung
definiert ob auf alle Anfragen mit dem Standardserver geantwortet wird.
Falls der Wert auf off gesetzt ist und für die
zweite Adresse kein FTP -Server definiert wurde, so wird eine Fehlermeldung
ausgegeben.
-
Port
Standardport für das FTP-Protokoll ist der Port: '21'. Wenn der Server über
'inetd' gestartet wurde, wird dieser Wert ignoriert, da der Superdämon
nur Anfragen am Port '21' weiterleitet. Falls
mehrere Server unter einer IP-Adresse mit unterschiedlichen Ports laufen
sollen, muss der ProFTPD im standalone-Modus
betrieben werden.
-
Umask
Dieser Wert gibt die Attribute einer neu erstellten Datei an.
-
User
Angabe unter welchem Benutzer der ProFTPD läuft.
-
Group
Angabe unter welcher Gruppe der ProFTPD läuft
-
TransferLog
Hier wird die Log-Datei des ProFTPD definiert.
In der vorgegebenen Konfiguration ist standardmäßig aus
Sicherheitsgründen der anonyme FTP-Zugang deaktiviert. Um den anonymen
FTP-Zugang zu erlauben, muss der entsprechende Teil aktiviert werden. Die
Einstellungen hierfür sind im unteren Teil der Konfigurationsdatei zwischen den
Anweisungen: '<Anonymous ~ftp>' und
'</Anonymous>' zu finden. Dazu
sind die Kommentarzeichen zwischen den Anweisungen zu entfernen.
Eine vollständige Beschreibung des ProFTPD ist auf der Homepage und den
Manualseiten zu finden.
Anmerkungen
Zum ProFTPD-Paket gehören einige weitere interessante Programme wie 'ftpcount',
ftpwho', 'ftpstats'
und 'ftpshut'. Detaillierte
Informationen zu den Programmen sind auf den entsprechenden Manualseiten zu
finden.
Weitere Infos
[ Home ] [ Nach oben ] [ Gemeinsamkeiten ] [ in.ftpd ] [ wu-ftpd ] [ ProFTPD ] [ vsftpd ] [ FTP-Clients ]
letzte Änderung:
07. März 2006 |