GNU/Linux >> LINUX-Kenntnisse >  >> Panels >> cPanel

So sichern Sie vsFTPd mit SSL/TLS

Sehr sicherer FTP-Daemon oder einfach vsFTPd ist eine leichtgewichtige Software mit großer Anpassungsfähigkeit. In diesem Tutorial sichern wir eine bereits bestehende Installation auf einem Debian-System mit unserem eigenen selbstsignierten SSL/TLS-Zertifikat. Obwohl es für Debian geschrieben wurde, sollte es auf den meisten Linux-Distributionen wie zum Beispiel Ubuntu und CentOS funktionieren.

Installation von vsFTPd

Auf einem neuen Linux-VPS müssen Sie zuerst vsFTPd installieren. Obwohl Sie die grundlegenden Schritte zur Installation von vsFTPd finden werden In diesem Tutorial empfehle ich Ihnen, auch diese beiden ausführlicheren Tutorials zu lesen:Setup vsFTPd on Debian/Ubuntu und Installing vsFTPd on CentOS. Dort werden alle Schritte zur Installation genauer erklärt.

Installation auf Debian/Ubuntu:

apt-get install vsftpd

Installation auf CentOS:

yum install epel-release
yum install vsftpd

Konfiguration Öffnen Sie die Konfigurationsdatei:/etc/vsftpd.conf in Ihrem bevorzugten Texteditor, in diesem Tutorial verwenden wir nano .

nano /etc/vsftpd.conf

Fügen Sie die folgenden Zeilen in die Konfiguration ein:

anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

Schließen Sie ab, indem Sie Ihren vsFTPd-Daemon neu starten:

/etc/init.d/vsftpd restart

Sie sollten sich jetzt als beliebiger lokaler Benutzer über FTP anmelden können. Lassen Sie uns nun fortfahren und diese Software sichern.

Generieren Sie ein selbstsigniertes Zertifikat

Ein selbstsigniertes Zertifikat wird normalerweise in einem Public-Key-Agreement-Protokoll verwendet, Sie verwenden jetzt openssl um einen öffentlichen Schlüssel und einen entsprechenden privaten Schlüssel zu generieren. Zuerst müssen wir ein Verzeichnis erstellen, um diese beiden Schlüsseldateien zu speichern, vorzugsweise an einem sicheren Ort, auf den normale Benutzer keinen Zugriff haben.

mkdir -p /etc/vsftpd/ssl

Nun zur eigentlichen Generierung des Zertifikats, wir speichern beide Schlüssel in derselben Datei (/etc/vsftpd/ssl/vsftpd.pem ):

openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/vsftpd/ssl/vsftpd.pem -out /etc/vsftpd/ssl/vsftpd.pem

Nachdem Sie den Befehl ausgeführt haben, werden Ihnen einige Fragen gestellt, z. B. Ländercode, Bundesland, Stadt, Name der Organisation usw. Verwenden Sie Ihre eigenen oder die Informationen Ihrer Organisation. Die wichtigste Zeile ist jetzt der Allgemeine Name die mit der IP-Adresse Ihres VPS übereinstimmen muss, alternativ ein darauf verweisender Domainname.

Dieses Zertifikat ist 365 Tage (~1 Jahr) gültig, es verwendet das RSA-Schlüsselvereinbarungsprotokoll mit einer Schlüssellänge von 4096 Bit, und die Datei mit beiden Schlüsseln wird in dem gerade erstellten neuen Verzeichnis gespeichert. Weitere Einzelheiten zur Schlüssellänge und deren Beziehung zur Sicherheit finden Sie hier:Encryption II-Empfehlungen.

Installieren Sie das neue Zertifikat in vsFTPd

Um unser neues Zertifikat zu verwenden und somit die Verschlüsselung bereitzustellen, müssen wir die Konfigurationsdatei erneut öffnen:

nano /etc/vsftpd.conf

Wir müssen die Pfade zu unseren neuen Zertifikats- und Schlüsseldateien hinzufügen. Da sie in der gleichen Datei gespeichert sind, sollte sie auch in der Konfiguration gleich sein.

rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/ssl/vsftpd.pem

Wir müssen diese Zeile hinzufügen, um sicherzustellen, dass SSL aktiviert wird:

ssl_enable=YES

Optional können wir anonymen Benutzern die Verwendung von SSL verweigern, da auf einem öffentlichen FTP-Server keine Verschlüsselung erforderlich ist.

allow_anon_ssl=NO

Als Nächstes müssen wir angeben, wann SSL/TLS verwendet werden soll. Dadurch wird die Verschlüsselung sowohl für die Datenübertragung als auch für die Anmeldedaten aktiviert

force_local_data_ssl=YES
force_local_logins_ssl=YES

Wir können auch angeben, welche Versionen und Protokolle verwendet werden sollen. TLS ist im Allgemeinen sicherer als SSL und daher können wir TLS zulassen und gleichzeitig ältere Versionen von SSL blockieren.

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

Erfordern Sie die Wiederverwendung von SSL und die Verwendung hoher Verschlüsselungen trägt ebenfalls zur Verbesserung der Sicherheit bei. Aus den Manpages von vsFTPd:

require_ssl_reuse Wenn auf yes gesetzt, müssen alle SSL-Datenverbindungen die Wiederverwendung von SSL-Sitzungen aufweisen (was beweist, dass sie dasselbe Master-Secret wie der Kontrollkanal kennen). Obwohl dies eine sichere Standardeinstellung ist, kann sie viele FTP-Clients beschädigen, sodass Sie sie möglicherweise deaktivieren möchten. Eine Diskussion der Konsequenzen finden Sie unter http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (Hinzugefügt in v2.1.0).

ssl_ciphers Diese Option kann verwendet werden, um auszuwählen, welche SSL-Chiffren vsftpd verschlüsselte SSL-Verbindungen zulassen wird. Weitere Informationen finden Sie auf der man-Seite von ciphers. Beachten Sie, dass das Einschränken von Chiffren eine nützliche Sicherheitsvorkehrung sein kann, da es verhindert, dass böswillige entfernte Parteien eine Chiffre erzwingen, mit der sie Probleme gefunden haben.

require_ssl_reuse=YES
ssl_ciphers=HIGH

Beenden Sie den Vorgang, indem Sie den vsftpd neu starten Dämon

/etc/init.d/vsftpd restart

Installation bestätigen

Und das war's, Sie sollten sich jetzt mit Ihrem Server verbinden und bestätigen können, dass alles funktioniert. Wenn Sie FileZilla verwenden, sollte sich bei der Verbindung ein Dialogfeld öffnen, das Ihre Organisationsinformationen enthält (oder was auch immer Sie zuvor beim Generieren des Zertifikats eingegeben haben). Die Ausgabe sollte dann etwa so aussehen:

Status: Connection established, waiting for welcome message...
Status: Initializing TLS...
Status: Verifying certificate...
Status: TLS connection established.

Um mehr über vsFTPd zu erfahren, sehen Sie sich die Handbuchseiten an:

man vsftpd

cPanel
  1. So sichern Sie Ihre Linux-E-Mail-Dienste mit SSL/TLS

  2. So sichern Sie ein cPanel-fähiges Konto mit einem SSL-Zertifikat von Lets Encrypt

  3. So sichern Sie ein cPanel-fähiges Konto mit einem Sectigo-SSL-Zertifikat

  4. So installieren Sie den vsftpd-FTP-Server und sichern ihn mit TLS unter Debian 11

  5. Wie konfiguriere ich VSFTPD mit einer SSL/TLS-verschlüsselten Verbindung?

So installieren Sie den vsftpd-FTP-Server mit TLS unter Debian 10

So sichern Sie den TCP-Socket von Docker mit TLS

So sichern Sie einen Plesk-Hostnamen mit SSL

So überwachen Sie SSL/TLS-Zertifikate mit Checkmk

So sichern Sie Nginx mit dem Let’s Encrypt SSL-Zertifikat

So konfigurieren Sie vsftpd für die Verwendung von SSL/TLS auf einem Ubuntu 20.04