• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

vsftpd mit TLS/SSL

A

Anonymous

Gast
hab über Yast vsftpd installiert, im runleveleditor 3 und 5 gesetzt.

Code:
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# If you do not change anything here you will have a minimum setup for an
# anonymus FTP server.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.

# General Settings
#
# Uncomment this to enable any form of FTP write command.
#
write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
#
dirmessage_enable=YES
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#
#nopriv_user=ftpsecure
#
# You may fully customise the login banner string:
#
ftpd_banner="Willkommen auf RIFFs FTP"
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#
ls_recurse_enable=YES
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#
#deny_email_enable=YES
#
# (default follows)
#
#banned_email_file=/etc/vsftpd.banned_emails
#
# If  enabled,  all  user  and  group  information in
# directory listings will be displayed as "ftp".
#
hide_ids=YES

# Local FTP user Settings
# 
# Uncomment this to allow local users to log in.
#
local_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
#
# Uncomment to put local users in a chroot() jail in their home directory
# after login.
#
chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#
chroot_list_enable=YES
#
# (default follows)
#
chroot_list_file=/etc/vsftpd.chroot_list
#
# The maximum data transfer rate permitted, in bytes per second, for
# local authenticated users. The default is 0 (unlimited).
#
#local_max_rate=7200


# Anonymus FTP user Settings
#
# Allow anonymous FTP?
#
anonymous_enable=YES
#
# Anonymous users will only be allowed to download files which are
# world readable.
#
anon_world_readable_only=YES
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#
#anon_upload_enable=YES
#
# Default umask for anonymus users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#
#anon_umask=022
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#
#anon_mkdir_write_enable=YES
#
# Uncomment this to enable anonymus FTP users to perform other write operations
# like deletion and renaming.
#
#anon_other_write_enable=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#
#chown_uploads=YES
#chown_username=whoever
#
# The maximum data transfer rate permitted, in bytes per second, for anonymous
# authenticated users. The default is 0 (unlimited).
#
#anon_max_rate=7200


# Log Settings
#
# Log to the syslog daemon instead of using an logfile.
#
#syslog_enable=YES
#
# Uncomment this to log all FTP requests and responses.
#
#log_ftp_protocol=YES
#
# Activate logging of uploads/downloads.
#
#xferlog_enable=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
vsftpd_log_file=/var/log/vsftpd.log
# 
# If you want, you can have your log file in standard ftpd xferlog format.
# Note: This disables the normal logging unless you enable dual_log_enable below. 
#
#xferlog_std_format=YES
#
# You may override where the log file goes if you like. The default is shown
# below.
#
#xferlog_file=/var/log/xferlog
#
# Enable this to have booth logfiles. Standard xferlog and vsftpd's own style log.
#
#dual_log_enable=YES
#
# Uncomment this to enable session status information in the system process listing.
#
#setproctitle_enable=YES

# Transfer Settings
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
#
connect_from_port_20=YES
#
# You may change the default value for timing out an idle session.
#
idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#
#data_connection_timeout=120
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# Set to NO if you want to disallow the  PASV  method of obtaining a data
# connection.
#
#pasv_enable=NO

# PAM setting. Do NOT change this unless you know what you do!
#
pam_service_name=vsftpd

# Set listen=YES if you want vsftpd to run standalone
#
listen=YES

# Set to ssl_enable=YES if you want to enable SSL
ssl_enable=YES

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

# ********************************
# TLS
# --------------------------------

ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=NO
force_local_logins_ssl=NO

ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO

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

hab 2 leere Dateinen in /etc/ erstellt vsftpd.chroot_list und vsftpd.ftpusers

mit
Code:
openssl req -x509 -nodes -days 730 -newkey rsa:1024 -keyout /etc/ssl/certs/vsftpd.pem -out /etc/ssl/certs/vsftpd.pem
den Schlüssel

versuch ich vsftp über den Runlevel-Editor zu starten so erhalte ich
/etc/init.d/vsftpd start gab 7 (Programm wird nicht ausgeführt) zurück:
Starting vsftpd
als root über die Konsole mit
Code:
/etc/init.d/vsftpd start
Starting vsftpd startproc: cannot open /var/log/rcvsftp.log: Permission denied
failed
ander ich die Befügnisse von rcvsftp.log, sodass Gruppe und Sonstige schreiben dürfen
und führe
Code:
/etc/init.d/vsftpd start
abermals aus, so erhalte ich
Starting vsftpd startproc: cannot stat /proc/5322/exe: Permission denied
failed

Wo liegt mein Fehler? Wie bekomm ich den Daemon zum laufen?
 
OP
A

Anonymous

Gast
hab mir selbst geholfen ....

vsftpd nochmal runter, neu drauf

neuen ssl-Schlüssel

Start über xinetd und nicht runlevel

vsftpd.conf neu aufgesetzt

Code:
write_enable=YES
dirmessage_enable=YES
#nopriv_user=ftpsecure
#ftpd_banner=""
#ls_recurse_enable=YES
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
hide_ids=YES
local_enable=YES
#local_umask=022
chroot_local_user=YES
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
#local_max_rate=7200
anonymous_enable=YES
anon_world_readable_only=YES
#anon_upload_enable=YES
#anon_umask=022
#anon_mkdir_write_enable=YES
#anon_other_write_enable=YES
#chown_uploads=YES
#chown_username=whatever
#anon_max_rate=7200
syslog_enable=YES
#log_ftp_protocol=YES
#xferlog_enable=YES
#vsftpd_log_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#xferlog_file=/var/log/xferlog
#dual_log_enable=YES
#setproctitle_enable=YES
connect_from_port_20=YES
idle_session_timeout=600
#data_connection_timeout=120
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#pasv_enable=NO
pam_service_name=vsftpd
listen=NO
ssl_enable=NO
pasv_min_port=14900
pasv_max_port=15000
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/certs/vsftpd.pem

vsftpd läuft als root mit standardgruppe laut xinetd

anonymer ftp nach /srv/ftp/
ftp-user mit shell /bin/false mit leerem Homeverzeichnis nach /ftp-user/username/
user alle in Gruppe ftp
Homeverzeichnisse (/srv/ftp-user/username) mit Berechtigung 770
anonymes ftp-Verzeichnis (/srv/ftp) ebenfalls mit Berechtigung 770
hab mich ebenfalls zur Gruppe ftp hinzugefügt, sodass ich die Homeverzeichnisse
der ftp-user lesen und bearbeiten kann

Meinungen zur Sicherheit? Lässt sich was verbessern?

Was bringen mir die Optionen
Code:
ssl_sslv2=NO
ssl_sslv3=NO
ssl_enable=NO
? Empfehlenswert diese zu aktivieren?
 
OP
A

Anonymous

Gast
mit den Besitzrechten klappts ned so ...

/srv/ftp/ gehört root:root mit 775

/srv/ftp-user/ gehört root:root mit 755

/srv/stp-user/username gehört username:ftp mit 770

ich gehör zur Gruppe ftp, damit ich die Dateien in die
Userordner schieben kann bzw. rausziehen.

für den anonymen geht das nicht, mach ich den
Ordner root:ftp mit 775 meckert er
500 OOPS: vsftpd: refusing to run with writable anonymous root

also wieder auf /srv/ftp/ gehört root:root mit 775 geändert ...

ist es empfelhlenswert mich der Gruppe root hinzuzufügen?
 
OP
A

Anonymous

Gast
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

logg ich mich aus dem LAN mit FireFTP 0.95.2 mit Security "Auth TLS" ein, passiv kann ich daten schieben, ziehen und ändern, versuch ich Gleiches aus der Ferne erhalte ich "521 Data connection must be encrypted" und ich seh keine Files und werde alle paar Sekunden getrennt

Ports hab ich 21 sowie 14001-15000 remapped
pasv_enable=YES
pasv_min_port=14001
pasv_max_port=15000

auch als Exposed Host geht es nicht

woran könnt das liegen?

setz ich

force_local_data_ssl=NO
force_local_logins_ssl=NO
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

und logg mich mit FireFTP Security "None" ein geht alles, auch aus der Ferne

kann es sein, dass der FireFTP-Client keine verschlüsselten Datenübertragungen
unterstützt? Wenn ja, aber warum geht es dann im LAN?


setze ich

force_local_data_ssl=NO
force_local_logins_ssl=YES
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES

kann ich mich von der ferne einloggen, seh Files, transfers gehen nicht, werden mit
425 Use RORT or PASV first.
Connection-Abbrüche inclusive

würd eben doch gern einen sicheren FTP mit verschlüsseltem Login und verschlüsselter
Datenübertragung haben

Für etwas Licht im Dunkel wär ich sehr dankbar

Grüße, riff
 
OP
A

Anonymous

Gast
Schade, dass sich bisher keine Meinungen und Kommentare eingefunden
haben. Das Topic ist durchaus noch aktiv!

Würde mich freuen, wenn doch noch was zu Stande kommt

Danke, Grüße,


riff
 

Yehudi

Guru
Hast Du auch schon mal andere FTP Clients zum Einsatz kommen lassen?
z.B. mit Konqueror?

Ich habe nämlich mit dem FireFTP auch schon einige Probleme gehabt. Ist allerdings schon etwas her, und seit dem nutze ich den nicht mehr.
 
Oben