Vsftp Installation

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen


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:
rudi
egon
herbert

Anonymen Benutzern das Erstellen von Verzeichnissen erlauben

Soll es anonymen Benutzern erlaubt sein Verzeichnisse anzulegen, so muss man ihnen dazu ebenfalls das Recht extra einräumen. Per Default ist diese Option deaktiviert.

anon_mkdir_write_enable=YES

Weiter Optionen

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

Passives FTP

Passives FTP aktivieren

pasv_enable=YES

Portbereich für passives FTP

pasv_min_port=40000
pasv_max_port=50000

Schreibender Zugrifferlauben

#write_enable=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

Quelle