GNU/Linux >> LINUX-Kenntnisse >  >> Debian

So installieren und konfigurieren Sie vsftpd mit TLS unter Debian 8 (Jessie)

In diesem Artikel wird erläutert, wie Sie einen TLS-fähigen vsftpd-Server auf einem Debian 8-Server einrichten und mit FileZilla auf den FTP-Server zugreifen. FTP ist standardmäßig ein sehr unsicheres Protokoll, da alle Passwörter und alle Daten im Klartext übertragen werden. Durch die Verwendung von TLS kann die gesamte Kommunikation verschlüsselt werden, wodurch FTP viel sicherer wird.

1 Vorbemerkung

In diesem Tutorial verwende ich den Hostnamen server1.example.com mit der IP-Adresse 192.168.1.100. Diese Einstellungen können für Sie unterschiedlich sein, daher müssen Sie sie gegebenenfalls ersetzen. Ich verwende die minimale Servereinrichtung von Debian 8 als Grundlage für diese Anleitung.

2 Installieren von vsftpd und OpenSSL

OpenSSL wird von TLS benötigt; Um vsftpd und OpenSSL zu installieren, führen wir einfach Folgendes aus:

apt-get -y install vsftpd openssl

3 Erstellen des SSL-Zertifikats für TLS

Um TLS verwenden zu können, müssen wir ein SSL-Zertifikat erstellen. Ich erstelle es in /etc/ssl/private - falls das Verzeichnis nicht existiert, erstelle es jetzt::

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private

Anschließend können wir das SSL-Zertifikat wie folgt generieren:

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

Ländername (2-Buchstaben-Code) [AU]:<-- Geben Sie Ihren Ländernamen ein (z. B. "DE").
Staats- oder Provinzname (vollständiger Name) [Some-State]:<-- Geben Sie Ihren Staat ein oder Provinzname.
Ortsname (zB Stadt) []:<-- Geben Sie Ihre Stadt ein.
Organisationsname (zB Firma) [Internet Widgits Pty Ltd]:<-- Geben Sie Ihren Organisationsnamen ein (z. B. der Name Ihres Unternehmens).
Name der Organisationseinheit (z. B. Abteilung) []:<-- Geben Sie den Namen Ihrer Organisationseinheit ein (z. B. "IT-Abteilung").
Allgemeiner Name (z. B. IHR Name) []:<-- Geben Sie den vollständig qualifizierten Domänennamen des Systems ein (z. B. "server1.example.com").
E-Mail-Adresse []:<-- Geben Sie Ihre E-Mail-Adresse ein.

4 Aktivieren von TLS in vsftpd

Um TLS in vsftpd zu aktivieren, öffnen Sie /etc/vsftpd.conf...

nano /etc/vsftpd.conf

... und fügen Sie die folgenden Optionen hinzu oder ändern Sie sie:

[...]

# Turn on SSL ssl_enable=YES # Allow anonymous users to use secured SSL connections allow_anon_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to # send and receive data on data connections. force_local_data_ssl=YES # All non-anonymous logins are forced to use a secure SSL connection in order to send the password. force_local_logins_ssl=YES # Permit TLS v1 protocol connections. TLS v1 connections are preferred ssl_tlsv1=YES # Permit SSL v2 protocol connections. TLS v1 connections are preferred ssl_sslv2=NO # permit SSL v3 protocol connections. TLS v1 connections are preferred ssl_sslv3=NO # Disable SSL session reuse (required by WinSCP) require_ssl_reuse=NO # Select which SSL ciphers vsftpd will allow for encrypted SSL connections (required by FileZilla) ssl_ciphers=HIGH # This option specifies the location of the RSA certificate to use for SSL # encrypted connections. rsa_cert_file=/etc/ssl/private/vsftpd.pem [...]

Wenn Sie force_local_logins_ssl=YES und force_local_data_ssl=YES verwenden, sind nur TLS-Verbindungen erlaubt (dies sperrt alle Benutzer mit alten FTP-Clients, die keine TLS-Unterstützung haben); Durch die Verwendung von force_local_logins_ssl=NO und force_local_data_ssl=NO werden sowohl TLS- als auch Nicht-TLS-Verbindungen zugelassen, je nachdem, was der FTP-Client unterstützt.

Stellen Sie neben den TLS-Optionen sicher, dass Sie auch die folgenden Einstellungen in Ihrer vsftpd.conf haben, um nicht-anonyme Anmeldungen zu ermöglichen:

[...]
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022

[...]

vsftpd danach neu starten:

service vsftpd restart

Das ist es. Sie können jetzt versuchen, sich mit Ihrem FTP-Client zu verbinden; Sie sollten jedoch Ihren FTP-Client für die Verwendung von TLS konfigurieren (dies ist ein Muss, wenn Sie force_local_logins_ssl=YES und force_local_data_ssl=YES verwenden) – siehe nächstes Kapitel, wie Sie dies mit FileZilla tun.

5 vsftpd Benutzer hinzufügen

In diesem Schritt fügen wir einen lokalen Linux-Benutzer hinzu, mit dem wir eine Verbindung herstellen können. Ich werde einen Benutzer "till" mit dem Passwort "howtoforge" erstellen. Alle FTP-Benutzer sollen ihre Home-Verzeichnisse in mkdir /var/ftproot haben, also werde ich dieses Verzeichnis zuerst erstellen.

mkdir /var/ftproot

Fügen Sie dann den Benutzer mit dem Befehl hinzu:

adduser --home /var/ftproot/till till

Der Befehl adduser fragt nach dem Benutzerkennwort und einigen anderen Details

[email protected]:/# adduser --home /var/ftproot/till till
Adding user `till' ...
Adding new group `till' (1001) ...
Adding new user `till' (1001) with group `till' ...
Creating home directory `/var/ftproot/till' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: <-- Enter the new password here
Retype new UNIX password: <-- Enter the new password here
passwd: password updated successfully
Changing the user information for till
Enter the new value, or press ENTER for the default
Full Name []: <-- Enter your name here or press enter to skip
Room Number []: <-- Enter room number here or press enter to skip
Work Phone []: <-- Enter work phone here or press enter to skip
Home Phone []: <-- Enter home phone here or press enter to skip
Other []: <-- Enter Other user details here or press enter to skip
Is the information correct? [Y/n] <-- Y

Wir haben erfolgreich einen FTP-Benutzer hinzugefügt.

6 Konfigurieren von FileZilla für TLS

Um FTP mit TLS verwenden zu können, benötigen Sie einen FTP-Client, der TLS unterstützt, z. B. FileZilla.

Öffnen Sie in FileZilla den Server-Manager:

Geben Sie die IP-Adresse oder den Hostnamen des FTP-Servers in das Serverfeld ein, wählen Sie das Protokoll „FTP“ und „Require Explicit FTP over TLS“ aus und geben Sie den Benutzernamen in das Benutzerfeld ein.

Jetzt können Sie sich mit dem Server verbinden. Wenn Sie dies zum ersten Mal tun, müssen Sie das neue SSL-Zertifikat des Servers akzeptieren:

Wenn alles gut geht, sollten Sie jetzt auf dem Server angemeldet sein:

  • vsftpd:https://security.appspot.com/vsftpd.html
  • FileZilla:http://filezilla-project.org/
  • Debian:http://www.debian.org/

Debian
  1. So installieren und konfigurieren Sie ZFS unter Linux mit Debian Jessie 8.1

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

  3. So installieren und konfigurieren Sie Mariadb 10 in Debian 11

  4. So installieren und konfigurieren Sie MongoDB 5 unter Debian 11

  5. So installieren und konfigurieren Sie Redis 6 unter Debian 11

So installieren und konfigurieren Sie Tripwire IDS unter Debian 10

So installieren und konfigurieren Sie RabbitMQ unter Debian 11

So installieren Sie TYPO3 7 mit Nginx und MariaDB auf Debian 8 (Jessie)

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

So installieren und konfigurieren Sie Git in Debian 11

Wie installiere und konfiguriere ich Apache unter Debian 11?