www.ProFTPD.de
13. März 2007, 18:36:03 *
Willkommen Gast. Bitte einloggen oder registrieren.
Haben Sie Ihre Aktivierungs E-Mail übersehen?

Einloggen mit Benutzername, Passwort und Sitzungslänge
News: SMF - Neu installiert!
 
   Übersicht   Hilfe Suche Login Registrieren  
Seiten: [1] 2   Nach unten
  Drucken  
Autor Thema: TLS: login/verbindung bricht ab  (Gelesen 577 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Anonymous
Gast
« am: 06. Februar 2006, 14:12:15 »

Ich "fahre" über Port 21 mit einem "eigenen" Zertifikat.
Settings sind wie unter:
http://www.proftpd.de/HowTo_SFTP_TLS_verschluesse.55.0.html

Ohne TLS funktioniert der FTP.
TLS scheint auch zu funktionieren, weil ich die Meldung
"234 AUTH TLS successful" erhalte. Blos dann trennt der
Server die Verbindung sofort (kein Timeout oder so)

Was kann ich tun?

Danke und lg,
Gerfried

Code:
ServerName       "fileserver01"
ServerType       standalone
DefaultServer    on
Port             21
Umask            022
MaxInstances     30
User             nobody
Group            nogroup
DefaultRoot      ~
AllowOverwrite   on
MultilineRFC2228 on
ShowSymlinks     on
TransferLog      /var/log/proftpd/xfer.log
ExtendedLog      /var/log/proftpd/xtend.log


#TLS

<IfModule mod_tls.c>
   TLSEngine on
   TLSLog /var/log/tls.log
   TLSProtocol TLSv1
   #TLSProtocol SSLv23
   TLSOptions NoCertRequest

   # Are clients required to use FTP over TLS when talking to this server?
   TLSRequired on

   # Server's certificate
   TLSRSACertificateFile /usr/local/etc/ftpcert/tlsftp.cert
   TLSRSACertificateKeyFile /usr/local/etc/ftpcert/tlsftp.key

   # CA the server trusts
   TLSCACertificateFile /usr/local/etc/ftpcert/tlsftpCA.cert

   # Authenticate clients that want to use FTP over TLS?
   TLSVerifyClient off
</IfModule>
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #1 am: 06. Februar 2006, 14:31:02 »

Hallo!

Was meinst Du mit "eigenen" Zertifikat.?
Zertifikat auf dem Server oder auf dem Client?
Wohl ersteres... (IMHO auch mehr als ausreichend)

Es kann hilfreich sein, "TLSProtocol" aus Kompatibilitätsgründen zuerst einmal auf "SSLv23" zu belassen.
Nicht jeder Client kommt mit dem neuen TLS-Protokoll zurecht...

BTW: Ist "TLSRequired" wirklich notwendig?
Nicht sehr benutzerfreundlich, denn nicht jeder hat einen sicheren
Client zur Hand und kommt damit auch noch zurecht...

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #2 am: 06. Februar 2006, 14:55:18 »

Ja, eigenes Server Zertifikat.
OK, hab's auch mit SSLv23 probiert. Kein Unterschied.

Im proftpdlog Logfile lauten die letzten 2 Zeilen:
Feb 06 11:42:55 mod_tls/2.0.7[31653]: TLS/TLS-C requested, starting TLS handshake
Feb 06 11:42:56 mod_tls/2.0.7[31654]: using default OpenSSL verification locations (see $SSL_CERT_DIR)
[

lg,
Gerfried
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #3 am: 06. Februar 2006, 15:04:18 »

Sind die Zertifikate für den ProFTPD überhaupt erreichbar?

Probiere einmal das Ganze im Debug-Modus -vielleicht kannst Du dann erkennen, was los ist...
...wenn nicht, einfach die Zeilen ab Beginn des Verbindungsversuchs hier posten...

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #4 am: 06. Februar 2006, 17:18:20 »

Das Log mit d5 debug level:

fileserver01 (123.123.123.123[123.123.123.123]) - connected - local  : 111.111.111.111:21
fileserver01 (123.123.123.123[123.123.123.123]) - connected - remote : 123.123.123.123:16096
fileserver01 (123.123.123.123[123.123.123.123]) - FTP session opened.
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_tls
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_core
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_core
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching CMD command 'AUTH SSL' to mod_tls


und mit d9:

[...]

fileserver01 (123.123.123.123[123.123.123.123]) - ROOT PRIVS at mod_log.c:1144
fileserver01 (123.123.123.123[123.123.123.123]) - RELINQUISH PRIVS at mod_log.c:1146
fileserver01 (123.123.123.123[123.123.123.123]) - ROOT PRIVS at mod_auth.c:132
fileserver01 (123.123.123.123[123.123.123.123]) - opening scoreboard '/usr/local/var/proftpd/proftpd.scoreboard'
fileserver01 (123.123.123.123[123.123.123.123]) - RELINQUISH PRIVS at mod_auth.c:134
fileserver01 (123.123.123.123[123.123.123.123]) - ident lookup disabled
fileserver01 (123.123.123.123[123.123.123.123]) - connected - local  : 111.111.111.111:21
fileserver01 (123.123.123.123[123.123.123.123]) - connected - remote : 123.123.123.123:46329
fileserver01 (123.123.123.123[123.123.123.123]) - FTP session opened.
fileserver01 - FS: using system lstat()
fileserver01 - FS: using system lstat()
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_tls
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_core
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching PRE_CMD command 'AUTH SSL' to mod_core
fileserver01 (123.123.123.123[123.123.123.123]) - dispatching CMD command 'AUTH SSL' to mod_tls


 Traurig ich erkenne das Problem leider auf Grund der Logs nicht. Du?
Die Zertifikate habe ich probeweise auf 777 gesetzt - kein Unterschied.

Danke,
Gerfried
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #5 am: 07. Februar 2006, 05:23:59 »

Mir sagt das leider auch nichts... (außer daß Du "lustige" IP-Adressen hast)
Vielleicht muß man sich wirklich den ganzen Output angucken.

Aber versuchen wir es erst anders herum: wie hast Du die SSL-Zertifikate erstellt?
Noch was: hast Du den ProFTPD mit den selben SSL-Bibliotheken compiliert,
mit denen dann später auch die Zertifikate erstellt wurden?

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #6 am: 07. Februar 2006, 10:20:56 »

Hallo Vollgas,

danke für Deine Mühe (Frühaufsteher ? ;-))
Ja, die IP Adressen habe ich überschrieben, weil die Maschine im Internet steht und ich der Konfiguration noch nicht ganz traue.

Die Zertifikate habe ich so erstellt (2 Versuche):
#1:
openssl req -new -x509 -nodes -sha1 -days 365 -key host.key > host.cert

#2:
wie unter http://www.proftpd.de/forum/viewtopic.php?t=186

Beide Male das gleiche Ergebnis :-(

Die SSL Lib stammt aus dem proftpd package.

Ich habe hier ein Logfile des WSFTP clients:

Code:
Connecting to 123.123.123.123:21
Connected to 123.123.123.123:21 in 0.031249 seconds, Waiting for Server Response
Initializing SSL Session ...
220 ProFTPD 1.2.10 Server (fileserver01) [111.111.111.111]
AUTH SSL
234 AUTH SSL successful
SSL Session Started.
Host type (1): Automatic detect
USER cad01
331 Password required for cad01.
PASS (hidden)
230 User cad01 logged in.
SYST
215 UNIX Type: L8
Host type (2): UNIX (standard)
PBSZ 0
200 PBSZ 0 successful
PROT P
200 Protection set to Private
PWD
257 "/" is current directory.
TYPE A
200 Type set to A
PORT 172,24,180,51,4,46
500 Illegal PORT command
Port failed 500 Illegal PORT command
PASV
227 Entering Passive Mode (111,111,111,111,128,213).
connecting data channel to 111.111.111.111:128,213(32981)


Kann es sein, dass das Problem am Routing liegt? Ich habe einen DSL Router, der mit einem NAT von "123.123.123.123" auf "111.111.111.111"

Danke und schönen Tag,
Gerfried
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #7 am: 07. Februar 2006, 12:51:45 »

Frühaufsteher und Spät-zu-Bett-Geher in einem.

Jetzt fällt mir noch eines auf: Der Server funktioniert ohne TLS - dann ist
das oben aber bestimmt nicht die komplette .conf-Datei, oder?
Das kann nicht passen.

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #8 am: 07. Februar 2006, 14:41:03 »

Das ist aber ungesund  Cool

Am besten ich schicke das aktuelle config File nocheinmal. Wenn ich das TLS Zeug 'rauslösche, kann ich wie gewünscht über FTP zugreifen.

Code:

ServerName              "fileserver01"
ServerType              standalone
DefaultServer           on
Port                    21
Umask                   022
MaxInstances            30
User                    nobody
Group                   nogroup
DefaultRoot             ~
AllowOverwrite          on

MultilineRFC2228        on
ShowSymlinks            on
TransferLog             /var/log/proftpd/xfer.log
ExtendedLog             /var/log/proftpd/xtend.log
ExtendedLog             /var/log/proftpd/auth.log AUTH
ExtendedLog             /var/log/proftpd/diraccess.log WRITE,READ
ExtendedLog             /var/log/proftpd/everything.log ALL

TimeoutNoTransfer       600
TimeoutStalled          600
TimeoutIdle             1200

UseReverseDNS           off
IdentLookups            off

#TLS
<IfModule mod_tls.c>
   TLSEngine on
   TLSLog /var/log/tls.log
   #TLSProtocol TLSv1
   TLSProtocol SSLv23
   TLSOptions NoCertRequest

   # Are clients required to use FTP over TLS ?
   TLSRequired on

   # Server's certificate
   TLSRSACertificateFile /usr/local/etc/ftpcert/tlsftp.cert
   TLSRSACertificateKeyFile /usr/local/etc/ftpcert/tlsftp.key

   # CA the server trusts
   TLSCACertificateFile /usr/local/etc/ftpcert/tlsftpCA.cert

   # Authenticate clients that want to use FTP over TLS?
   TLSVerifyClient off
</IfModule>


BITTE NICHT AUFGEBEN!!!   :roll:
Gespeichert
Anonymous
Gast
« Antwort #9 am: 07. Februar 2006, 14:44:52 »

Übrigens - hast Du Dir das WSFTP logfile angeschaut?

Zitat

PORT 172,24,180,51,4,46
500 Illegal PORT command
Port failed 500 Illegal PORT command


Kann's daran liegen? was passt ihm da nicht?

Danke für Deine Mühe,
Gerfried
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #10 am: 07. Februar 2006, 15:00:13 »

Irgendwie kann ich dem Ganzen nicht so recht glauben.

Jetzt mal folgendes:[list=1][*]In die proftpd.conf: "RequireValidShell   no"
[*]Wenn Du den Server über Firewall/NAT erreichen willst, ist MasqueradeAddress nötig
[*]Der FTP-Client sollte immer auf "passive mode" stehen!
[*]wenn dann alles funktioniert, sichere Deine Zertifikate und insbesondere Deine Schlüssel-Datei![/list:o]Probier das mal.
Sollte das alles auch nicht klappen, so gebe ich mich geschlagen.

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #11 am: 07. Februar 2006, 15:39:22 »

Aha - deshalb geht der FTP (ohne TLS) nicht im "passive Mode".
Habe jetzt die beiden Zeilen hinzugefügt:

Code:

RequireValidShell off
MasqueradeAddress 123.123.123.123


Habe TLS versuchsweise deaktiviert und versuche mich mit passive FTP
zu verbinden. Anmeldung klappt gut, aber beim LIST Befehl bekomme ich dann ein Timeout. Das Debug d5 sieht so aus:

Code:

fileserver01 (222.222.222.6[222.222.222.6]) - in dir_check_full(): path = '/', fullpath = '/daten/ftp/'.
fileserver01 (222.222.222.6[222.222.222.6]) - Entering Passive Mode (123,123,123,123,128,222).
fileserver01 (222.222.222.6[222.222.222.6]) - dispatching LOG_CMD command 'PASV' to mod_log
fileserver01 (222.222.222.6[222.222.222.6]) - dispatching PRE_CMD command 'LIST' to mod_tls
fileserver01 (222.222.222.6[222.222.222.6]) - dispatching PRE_CMD command 'LIST' to mod_core
fileserver01 (222.222.222.6[222.222.222.6]) - dispatching PRE_CMD command 'LIST' to mod_core
fileserver01 (222.222.222.6[222.222.222.6]) - dispatching CMD command 'LIST' to mod_ls

... wobei 222.222.222.6 hier die Client IP Adresse darstellt.

Es ist zum Mäusemelken... :cry: heul
Gespeichert
VolGas
Moderator
ProFTPD
*****
Online Online

Beiträge: 770



Profil anzeigen
« Antwort #12 am: 07. Februar 2006, 17:06:30 »

Das  ist alles in Ordnung.

Was ich noch vergessen habe: die passiven Ports im ProFTPD definieren (z.B. mit "PassivePorts 50000 52000")
und diese Ports in der Firewall/NAT ebenfalls auf den Server forwarden lassen.

Am besten probiert man alles zuerst lokal im eigenen Netz (dazu MasqueradeAddress wieder deaktivieren)
bevor man den Server an das Internet bindet.
Die Zertifikate sind allerdings IP-basierend, das dürfte erneut Schwierigkeiten machen.

IMHO gehört so ein Server an eine feste Netzanbindung mit fester IP!
Alles andere...

mfg.
  VolGas
Gespeichert
Anonymous
Gast
« Antwort #13 am: 08. Februar 2006, 08:52:50 »

Hallo Volgas,

vielen Dank. Ich vermute es liegt an den "PassivePorts". Habe leider keine Möglichkeit "hinter" der FW zu testen und muss daher erst den Router konfigurieren. Ich probiere das aus und melde mich wieder. Vielen Dank für all die Zeit, einstweilen.

Schöne Grüße,
Gerfried
Gespeichert
Corben
ProFTPD
*
Offline Offline

Beiträge: 6

95545681 corbendallas65@hotmail.com
Profil anzeigen
« Antwort #14 am: 08. Februar 2006, 12:53:36 »

Anmerkung, durch Connection Tracking werden für den passiven Modus die Ports für die Datenverbindung des Transfers Ports automatisch geöffnet. Dies funktioniert aber nur, wenn das Connection Tracking in die Pakete schauen kann, was bei FTP normalerweise kein Problem ist, da es ein Klartextprotokoll ist.

Werden aber nun die Befehle verschlüsselt übermittelt, so kann das Connection Tracking die Befehler nicht mehr analysieren, und deshalb müssen zumindest für den passiven Datentransfer die Ports am Router geöffnet oder weitergeleitet werden, je nachdem ob der FTP Server auf dem Router selber oder dahinter läuft. Wird aktiv auf den FTP Server zugegriffen, sollte es ohne Probleme gehen, da normalerweise ausgehender Verkehr immer erlaubt ist, und der Server dann von seinem Port 20 auf den vom Client geöffneten Datenport verbindet.
Gespeichert

So long, Corben
Seiten: [1] 2   Nach oben
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC Prüfe XHTML 1.0 Prüfe CSS
Seite erstellt in 0.068 Sekunden mit 19 Zugriffen.