Vsftp Installation: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 16: Zeile 16:
 
Die Standardeinstellung von vsftp ist, dass sich lokale Benutzer per ftp einloggen dürfen. Möchte man dies deaktivieren, so muss man diese Option setzen.
 
Die Standardeinstellung von vsftp ist, dass sich lokale Benutzer per ftp einloggen dürfen. Möchte man dies deaktivieren, so muss man diese Option setzen.
 
  local_enable=YES"  
 
  local_enable=YES"  
 
+
=Zugriff auf Benutzer beschränken=
 +
==Bestimmte Nutzer erlauben==
 +
Um nur bestimmten Benutzern den Login via FTP zu erlauben, müssen folgende Optionen gesetzt werden
 +
userlist_deny=NO
 +
userlist_enable=YES
 +
userlist_file=/etc/vsftpd.user_list
 +
==Bestimmte Nutzer verbieten==
 +
Um bestimmten Benutzern den Login via FTP zu verbieten, müssen folgende Optionen gesetzt werden (In diesem Fall wird den restlichen Benutzern der Login gewährt):
 +
userlist_deny=YES
 +
userlist_enable=YES
 +
userlist_file=/etc/vsftpd.user_list
 +
Die Nutzer werden in beiden Fällen folgendermaßen in die Datei /etc/vsftpd.user_list eingetragen:
 
  #
 
  #
 
  # Point users at the directory we created earlier.
 
  # Point users at the directory we created earlier.

Version vom 16. Februar 2023, 20:32 Uhr


installation

sudo apt-get update
sudo apt-get install vsftpd

vsftpd test configuration

  • mkdir -p /var/ftp/pub
  • chown nobody:nogroup /var/ftp/pub
  • echo "vsftpd test file" | sudo tee /var/ftp/pub/test.txt
add / change in vi /etc/vsftp.conf

Anonyme Logins zulassen

  • vsftpd ist von Haus aus so konfiguriert, dass anonyme Benutzer sich nicht einloggen dürfen. Durch Editieren der Datei /etc/vsftpd.conf kann der anonyme Zugriff aber leicht aktiviert werden.
anonymous_enable=YES

Lokale Benutzer zulassen

Die Standardeinstellung von vsftp ist, dass sich lokale Benutzer per ftp einloggen dürfen. Möchte man dies deaktivieren, so muss man diese Option setzen.

local_enable=YES" 

Zugriff auf Benutzer beschränken

Bestimmte Nutzer erlauben

Um nur bestimmten Benutzern den Login via FTP zu erlauben, müssen folgende Optionen gesetzt werden

userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

Bestimmte Nutzer verbieten

Um bestimmten Benutzern den Login via FTP zu verbieten, müssen folgende Optionen gesetzt werden (In diesem Fall wird den restlichen Benutzern der Login gewährt):

userlist_deny=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.user_list

Die Nutzer werden in beiden Fällen folgendermaßen in die Datei /etc/vsftpd.user_list eingetragen:

#
# Point users at the directory we created earlier.
anon_root=/var/ftp/
#
# Stop prompting for a password on the command line.
no_anon_password=YES
#
# Show the user and group as ftp:ftp, regardless of the owner.
hide_ids=YES
#
# Limit the range of ports that can be used for passive FTP
pasv_min_port=40000
pasv_max_port=50000
  • for passive mode add
pasv_enable=YES
  • um schreibenden Zugriff zu erlauben, Kommentarzeichen vor folgender Zeile entfernen
#write_enable=YES
  • Lokalen Benutzern Zugriff erlauben
local_enable=YES
  • lokalen Benutzern anhand einer Benutzerliste Zugriff erlauben - nur diesen Benutzern ist Zugriff erlaubt:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
  • lokalen Benutzern anhand einer Benutzerliste Zugriff verbieten - anonymer Zugriff funktioniert weiterhin:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=YES

Restart & enable

systemctl restart vsftpd.service
systemctl enable vsftpd.service

Testen des Zugriffs

  • ftp localhost
Connected to localhost.
220 (vsFTPd 3.0.3)
Name (localhost:dummy.user): anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
  • Passiven Modus anschalten
  • ftp> passive
Passive mode on.
  • Verzeichnis wechseln und Testdatei herunterladen bzw. Testdatei hochladen
  • ftp> cd pub
  • ftp> get test.txt
  • ftp> put test2.txt

vsftpd mit SSL/TLS - Erstellen des Zertifikates

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

vsftpd mit SSL/TLS - Anpassen der vsftpd Konfiguration /etc/vsftpd.conf

anonymous_enable=NO
write_enable=YES

local_enable=YES
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO

chroot_local_user=YES
allow_writeable_chroot=YES # Alternatively: please consider using sFTP (FTP over SSH) or FTPs (FTP via TLS) with a modified, non-writeable, chroot.

rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
ssl_enable=YES
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH
  • Restarten vsftpd
  • systemctl restart vsftpd.service

vsftpd mit SSL/TLS - Kontrolle

  • Zugriff über einen ftp Client, z.Bsp. Filezilla
  • Als Encryption 'Require explicit FTP over TLS' auswählen

Vsftpd-filezilla-1.png

  • Nach Anklicken des Buttons 'Connect' wird das Zertifikat angezeigt