FTP über TLS/SSL

Dawn

Registered User
Hallöchen,

Ich nutze momentan Plesk 8.0.1 auf einem Debian Sarge Server. Ich habe ziemlich lange gegoogelt habe es aber nicht geschafft meinen FTP-Server über TLS/SSL zum laufen zu bringen. Ich wollte deshalb fragen ob mir jemand sagen kann (steb by step) wie ich das anstellen soll....

- Wie generiere ich die benötigten Schlüssel am besten?
- Wo lege ich diese am besten ab und welche Rechte/Owner müssen diese haben damit sie kein Sicherheitsrisiko darstellen?
- Welche Einträge müssen ins proftpd.conf?
- Wie starte ich proftp neu? ("proftpd restart" funktioniert ja nicht)

Gruss und Danke,
Dawn
 
1.apt-get install openssl
2.openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/proftpd.cert.pem -keyout /etc/ssl/certs/proftpd.key.pem
3./etc/proftpd.conf editieren

TLSEngine on
TLSLog /var/log/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient off

4./etc/init.d/proftpd restart
/etc/init.d/inetd restart
 
@razz: Vielen Dank für deine Anleitung. Abgesehen von Punk 4 hat alles geklappt. Keine Ahnung wie das unter Plesk 8.0.1 läuft aber der Command "etc/init.d/proftpd restart" funktioniert nicht. Auch wenn ich mein System absuche und von einem anderen Ort die ProFTP-Binary mit dem Parameter "restart" neu zu starten versuche funktioniert das nicht. Den Inetd konnte ich aber problemlos neu starten. Um sicher zu gehen das di Konfiguration auch geladen wurde, habe ich den kompletten Server neu gestartet. Nur geht das immer noch nicht...

Ich habe dies mit mehreren FTP-Clients versucht (im Mode SSL oder TLS explizit/implizit) nur bekomme ich immer die Rückmeldung: "AUTH not understood". Ich verstehe das nicht denn wenn ich in der Shell folgendes eingebe bekomme ich zurück das alle benötigten Module installiert sind:
Code:
proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_auth_pam.c
  mod_ratio.c
  mod_readme.c
  mod_quota.c
  mod_tls.c
  mod_cap.c
Woran könnte das liegen? Ich hatte mit allen gefundenen Anleitungen genau dieses Problem.... Was für einen FTP-Client bzw. welche Einstellungen nutzt du?

Ich habe es mit SmartFTP, TurboFTP und CoreFTP versucht. Hat mit keinem dieser Tools funktioniert....

@Tobster: Genau diese Anleitung hatte ich befolgt bevor ich hier gepostet habe. Leider mit den oben genannten Problemen...

Ich wäre echt super froh wenn mir jemand helfen könnte..

Gruss und Danke,
Dawn
 
Dawn said:
Keine Ahnung wie das unter Plesk 8.0.1 läuft aber der Command "etc/init.d/proftpd restart" funktioniert nicht.
Weil ProFTP unter Plesk per xinetd gestartet wird. (siehe /etc/xinetd.d/ftp_psa)

huschi.
 
@razz: Hier meine proftpd.conf:
Code:
#
# To have more informations about Proftpd configuration
# look at : http://www.proftpd.org/
#

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD"
ServerType      inetd
ServerType      inetd
DefaultServer                   on
<Global>
DefaultRoot     ~               psacln
AllowOverwrite          on
</Global>
DefaultTransferMode     binary
UseFtpUsers                     on

# Port 21 is the standard FTP port.
Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances                    30

#Following part of this config file were generate by PSA automatically
#Any changes in this part will be overwritten by next manipulation
#with Anonymous FTP feature in PSA control panel.

#Include directive should point to place where FTP Virtual Hosts configurations
#preserved

ScoreboardFile /var/run/proftpd/scoreboard

# Primary log file mest be outside of system logrotate province

TransferLog /opt/psa/var/log/xferlog

#Change default group for new files and directories in vhosts dir to psacln

<Directory /var/www/vhosts>
        GroupOwner      psacln
</Directory>

# TLS authentication
TLSEngine on
TLSLog /var/log/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient off

# Enable PAM authentication
AuthPAM on
AuthPAMConfig proftpd
# Enable PAM authentication
AuthPAM on
AuthPAMConfig proftpd

# delay on login off
IdentLookups off
UseReverseDNS off

AuthGroupFile   /etc/group

Include /etc/proftpd.include

@Huschi: Danke für den Hinweis :)

Gruss,
Dawn
 
Dawn said:
TLSLog /var/log/tls.log
Steht da was im Logfile?
Oder evtl. im Syslog (da ja per inetd).
Evtl. solltest Du auch mal versuchen ihn standalone zu starten.

huschi.
 
@Huschi:

tls.log
Code:
Jun 26 10:14:47 mod_tls/2.1.1[2093]: using default OpenSSL verification locations (see $SSL_CERT_DIR environment variable)

Im Syslog finde ich nichts bezüglich FTP... :(

Wenn möglich möchte ich den ProFTP-Deamon eigentlich wie aktuell über den Inet-Deamon laufen lassen.

Gruss,
Dawn
 
Du könntest es noch mit dieser Zeile in der proftpd.conf versuchen:
Code:
ExtendedLog 		/var/log/ftp_auth.log AUTH auth
#oder:
ExtendedLog /var/log/ftp_paranoid.log ALL default
Evtl. wird dann etwas klarer, was dort passiert.

huschi.
 
Ich habe die Zeile um die erweiterte Logs zu schreiben in mein /etc/proftpd.conf eingetragen. Leider wird aber nichts in diese Dateien geloggt. Inzwischen hatte ich auch mal die /var/tls.log gelöscht auch hier wird nichts geschrieben. Woran kann das liegen?

Selbstverständlich habe ich den Inetd neu gestartet. Hilft aber nichts. Es wird einfach nichts geloggt :(

Hier mein aktuelles /etc/proftpd.conf:
Code:
#
# To have more informations about Proftpd configuration
# look at : http://www.proftpd.org/
#

# This is a basic ProFTPD configuration file (rename it to
# 'proftpd.conf' for actual use.  It establishes a single server
# and a single anonymous login.  It assumes that you have a user/group
# "nobody" and "ftp" for normal operation and anon.

ServerName                      "ProFTPD"
ServerType      inetd
ServerType      inetd
DefaultServer                   on
<Global>
DefaultRoot     ~               psacln
AllowOverwrite          on
</Global>
DefaultTransferMode     binary
UseFtpUsers                     on

# Port 21 is the standard FTP port.
Port                            21

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

# To prevent DoS attacks, set the maximum number of child processes
# to 30.  If you need to allow more than 30 concurrent connections
# at once, simply increase this value.  Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances                    30

#Following part of this config file were generate by PSA automatically
#Any changes in this part will be overwritten by next manipulation
#with Anonymous FTP feature in PSA control panel.

#Include directive should point to place where FTP Virtual Hosts configurations
#preserved

ScoreboardFile /var/run/proftpd/scoreboard

# Primary log file mest be outside of system logrotate province

TransferLog /opt/psa/var/log/xferlog

#Change default group for new files and directories in vhosts dir to psacln

<Directory /var/www/vhosts>
        GroupOwner      psacln
</Directory>

# Enable PAM authentication
AuthPAM on
AuthPAMConfig proftpd

# TLS
TLSEngine on
TLSLog /var/log/tls.log
TLSProtocol SSLv23
TLSOptions NoCertRequest
TLSRSACertificateFile /etc/ssl/certs/proftpd.cert.pem
TLSRSACertificateKeyFile /etc/ssl/certs/proftpd.key.pem
TLSVerifyClient off

ExtendedLog             /var/log/ftp_auth.log AUTH auth
#oder:
ExtendedLog /var/log/ftp_paranoid.log ALL default

# delay on login off
IdentLookups off
UseReverseDNS off

AuthGroupFile   /etc/group

Include /etc/proftpd.include
 
Last edited by a moderator:
Back
Top