Pure-FTPd unter Red Hat Linux

Aus Laub-Home Wiki

Hier eine kleine Anleitung wie man einen FTP Server (pure-ftpd) unter Red Hat Enterprise Linux installiert und konfiguriert. Ich verwende hier die Red Hat Enterprise Linux Version 6. Mit der 5er geht es ganz genauso. Voraussetzung ist, dass das Fedora EPEL Repository eingebunden ist. Mehr Infos hierzu findet ihr hier:

Installation

yum install pure-ftpd

Konfiguration

Zuerst erstellen wir den Systembenutzer mit dessen Rechten die virtuellen FTP Benutzer arbeiten:

useradd -d /dev/null -s /bin/false ftpuser

und nehmen den Server Dienst in den Autostart auf:

chkconfig pure-ftpd on

Jetzt den pure-ftpd Server konfigurieren.
/etc/pure-ftpd/pure-ftpd.conf

ChrootEveryone              yes
BrokenClientsCompatibility  yes
MaxClientsNumber            50
Daemonize                   yes
MaxClientsPerIP             8
VerboseLog                  no
DisplayDotFiles             yes
AnonymousOnly               no
NoAnonymous                 yes
SyslogFacility              ftp
DontResolve                 yes
MaxIdleTime                 15
PureDB                        /etc/pure-ftpd/pureftpd.pdb
PAMAuthentication             no
UnixAuthentication            no
LimitRecursion              10000 8
AnonymousCanCreateDirs      no
MaxLoad                     4
AntiWarez                   yes
Umask                       133:022
MinUID                      500
UseFtpUsers no
AllowUserFXP                yes
AllowAnonymousFXP           no
ProhibitDotFilesWrite       no
ProhibitDotFilesRead        no
AutoRename                  no
AnonymousCantUpload         yes
AltLog                     stats:/var/log/pureftpd.log
CreateHomeDir               yes
MaxDiskUsage               99
CustomerProof              yes

Nun noch einen User anlegen und die Userdatenbank schreiben:

mkdir -p /srv/pure-ftpd/ftpbenutzer
chown -R ftpuser:ftpuser /srv/pure-ftpd
pure-pw useradd ftpbenutzer -u ftpuser -d /srv/pure-ftpd/ftpbenutzer
pure-pw mkdb

zu guter Letzt starten wir den FTP Server neu:

/etc/init.d/pure-ftpd restart

nun sollte die folgende Abfrage folgende Ausgabe haben:

ps ax | grep pure-ftpd
1238 ?        Ss     0:01 pure-ftpd (SERVER)

Nun kann man die Verbindung mittels FTP Client testen.
Folgende Clients können zum Beispiel mit TLS Verschlüsselte FTP Verbindungen:

  • Filezilla
  • FireFTP (Plugin für den Firefox)
  • FlashFXP

TLS Verschlüsselung

als Erstes erstellen wir ein SSL Zertifikat für die TLS Verschlüsselung:

openssl req -x509 -days 10000 -nodes -newkey rsa:1024 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

und geben dieses Zertifikat dem FTP Server
/etc/pure-ftpd/pure-ftpd.conf

# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
#     including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
TLS                      1

und zum Aktivieren ein Neustart des Server Dienstes:

/etc/init.d/pure-ftpd restart