Pure-FTPd unter Red Hat Linux
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