Dieses Tutorial beschreibt die Installation und Konfiguration von ProFTPD auf einem CentOS 7.2 Server. ProFTPD ist ein FTP-Daemon für Unix- und Linux-Betriebssysteme und wird unter der GNU Public License (GPL) vertrieben.
1 Vorbemerkung
Dieses Tutorial basiert auf einem CentOS-Server, daher sollten Sie eine grundlegende CentOS 7.2-Serverinstallation einrichten, bevor Sie mit diesem Tutorial fortfahren. Das System sollte eine statische IP-Adresse haben. Ich verwende 192.168.1.100 als IP-Adresse in diesem Tutorial und server1.example.com als Hostnamen.
2 ProFTPD installieren und konfigurieren
2.1 Installation:
Wir benötigen Software aus dem EPEL-Repository, aktivieren Sie sie wie folgt:
yum -y install epel-release
Importieren Sie dann den EPEL GPG-Schlüssel:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
und aktualisieren Sie die Pakete:
yum -y update
Wir installieren ProFTPD und OpenSSL wie folgt:
yum install -y proftpd openssl proftpd-utils
Wir müssen den Dienst starten und ihn so aktivieren, dass er beim Booten automatisch gestartet wird.
systemctl start proftpd.service
systemctl enable proftpd.service
Wenn Sie firewalld installiert haben, konfigurieren Sie die Firewall mit firewall-cmd, um den FTP-Port zu öffnen:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
Wir können die ProFTPD-Version wie folgt überprüfen:
proftpd -v[[email protected] ~]# proftpd -v
ProFTPD Version 1.3.5b
[[email protected] ~]#
2.2 Erstellen von ProFTPD-Benutzern
Ich werde eine Gruppe ftpgroup und einen Benutzer tom für ProFTPD erstellen. Ich werde /ftpshare als Home-Verzeichnis für den Benutzer tom festlegen.
groupadd ftpgroup
Als nächstes werde ich den Benutzer srijan in ftpgroup hinzufügen:
useradd -G ftpgroup tom -s /sbin/nologin -d /ftpshare
passwd tom
[[email protected] ~]# passwd tom
Changing password for user srijan.
New password: <--ftppassword
Retype new password: <--ftppassword
passwd: all authentication tokens updated successfully.
[[email protected] ~]#
Legen Sie die Berechtigungen für das ftpshare-Verzeichnis fest:
chmod -R 1750 /ftpshare/
Jetzt sind wir bereit für die ProFTPD-Verbindung. Aber die Verbindungen sind noch nicht verschlüsselt, das lösen wir im nächsten Kapitel.
3 Aktivieren von TLS in ProFTPD
Um TLS in ProFTPD zu aktivieren, öffnen Sie /etc/proftpd/proftpd.conf. Bevor Sie die Datei bearbeiten, ist es besser, die Originaldatei zu sichern und die Datei dann mit nano zu bearbeiten.
cp -pf /etc/proftpd.conf /etc/proftpd.conf.bak
nano /etc/proftpd.conf
Fügen Sie die Zeilen wie in Rot angezeigt hinzu und ändern Sie sie.
[...]
DefaultRoot ~ !adm PassivePorts 6000 6100
[...]
#<IfDefine TLS> TLSEngine on TLSRequired on TLSRSACertificateFile /etc/pki/tls/certs/proftpd.pem TLSRSACertificateKeyFile /etc/pki/tls/certs/proftpd.pem TLSCipherSuite ALL:!ADH:!DES TLSOptions NoCertRequest TLSVerifyClient off TLSRenegotiate ctrl 3600 data 512000 required off timeout 300 TLSLog /var/log/proftpd/tls.log # <IfModule mod_tls_shmcache.c> # TLSSessionCache shm:/file=/var/run/proftpd/sesscache # </IfModule> #</IfDefine>
[...]
Ich habe 6000- und 6100-Ports hinzugefügt, um den passiven FTP-Modus zuzulassen, ebenso werde ich den passiven Modus über den CentOS-Firewalld-Dienst wie folgt zulassen:
firewall-cmd --add-port=6000-6100/tcp --permanent
firewall-cmd --reload
Wir können den Status der Ports wie folgt überprüfen:
firewall-cmd --list-ports
[[email protected] ~]# firewall-cmd --list-ports
6000-6100/tcp
[[email protected] ~]#
Zusätzlich müssen wir SELINUX anweisen, das Lesen/Schreiben der Dateien zu erlauben.
setsebool -P allow_ftpd_full_access=1
Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich werde es in /etc/pki/tls/certs erstellen, wir können das SSL-Zertifikat wie folgt generieren:
openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
[[email protected] certs]# openssl req -x509 -nodes -newkey rsa:1024 -keyout /etc/pki/tls/certs/proftpd.pem -out /etc/pki/tls/certs/proftpd.pem
Generieren eines privaten 1024-Bit-RSA-Schlüssels
....................................+++ ++
.........++++++
Neuen privaten Schlüssel in '/etc/pki/tls/certs/proftpd.pem' schreiben
- ----
Sie werden gleich aufgefordert, Informationen einzugeben, die
in Ihre Zertifikatsanforderung aufgenommen werden.
Was Sie gleich eingeben werden, ist ein sogenannter Distinguished Name oder DN .
Es gibt einige Felder, aber Sie können einige leer lassen
Für einige Felder gibt es einen Standardwert,
Wenn Sie '.' eingeben, bleibt das Feld leer.
-----
Ländername (2-Buchstaben-Code) [XX]:<--DE
Staats- oder Provinzname (vollständiger Name) []:<-- Hamburg
Ortsname (z. B. Stadt) [Standardstadt]: <-- Lüneberg
Organisationsname (z. B. Unternehmen) [Standardunternehmen GmbH]:<-- Wie man schmiedet
Name der Organisationseinheit (zB Abschnitt) []:<-- Entwicklung
Allgemeiner Name (z. B. Ihr Name oder der Hostname Ihres Servers) []:<-- server1.example.com
E-Mail-Adresse []:<-- [E-Mail-geschützt]
[[E-Mail-geschützte] Zertifikate]#
Geben Sie die obigen Werte nach Ihrer Wahl in Rot ein, ich habe nur ein Beispiel gegeben.
Jetzt werde ich aus Sicherheitsgründen die Zertifikate nur wie folgt lesbar machen:
chmod 0440 /etc/pki/tls/certs/proftpd.pem
Abschließend starten Sie den ProFTPD-Dienst wie folgt neu:
systemctl restart proftpd.service
Wir können uns mit der Filezilla-Software mit dem ProFTPD-Server verbinden, Sie müssen Filezilla auf dem Client-Computer installiert haben, um sich mit dem Server zu verbinden. Öffnen Sie Filezilla und geben Sie die Details wie folgt ein:
Einzelheiten sind:
Host =192.168.1.100
Protokoll =FTP
Benutzer = tom
Port =kann leer sein, wenn Sie keinen anderen Port als 21 angepasst haben
Passwort =ftppassword (gerade oben erstellt)
Hinweis:Da wir unsere Verbindung im obigen Schritt verschlüsselt haben, verwenden wir die Verschlüsselung mit Explizites FTP über TLS erforderlich
Wenn Sie TLS nicht konfiguriert haben, können Sie Plain FTP verwenden verwenden
Es wird gefragt, ob Sie dem Zertifikat vertrauen möchten, drücken Sie OK
Es wird über eine TLS-Verbindung mit dem freigegebenen FTP-Verzeichnis verbunden.
4 Anonymer FTP-Zugriff in ProFTPD
Wir können ein anonymes FTP-Konto in ProFTPD erstellen, fügen Sie einfach diese Zeilen in die ProFTPD-Konfigurationsdatei ein:
nano /etc/proftpd.conf
Und fügen Sie diese Zeilen am Ende der Datei hinzu.
[...]
###Anonymous share##### <Anonymous ~ftp> User ftp Group ftp UserAlias anonymous ftp DirFakeUser on ftp DirFakeGroup on ftp MaxClients 10 <Directory *> <Limit WRITE> DenyAll </Limit> </Directory> </Anonymous>
Jetzt müssen wir den FTP-Dienst neu starten:
systemctl restart proftpd.service
Verbinden Sie sich nun wie folgt über Filezilla mit dem Anon-Konto:
Hinweis:Da wir unsere Verbindung im obigen Schritt verschlüsselt haben, verwenden wir die Verschlüsselung mit Explizites FTP über TLS erforderlich
Wenn Sie TLS nicht konfiguriert haben, können Sie Plain FTP verwenden verwenden
Drücken Sie Verbinden.
Wir sind erfolgreich mit dem Server mit einem anonymen Benutzer verbunden.
Herzliche Glückwünsche! Jetzt haben wir die ProFTPD-Serverumgebung in CentOS 7.2 erfolgreich konfiguriert :)
5 Links
- CentOS:http://www.centos.org/
- ProFTPD:http://www.proftpd.org/