ASN1_CHECK_TLEN:wrong tag bei proftpd + tls

mrtnmueller

New Member
hi, ich habe mir einen proftpd-server selbst kompiliert mit mod_tls, die config angepasst und per openssl die zertifikate generiert. nun kommt aber jedes mal wenn ich versuche mich zu verbinden folgender fehler:

Code:
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 1)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
[R] Konnte SSL nicht aushandeln, Verbindung getrennt

hat jemand dazu eine idee? das problem hängt höchstwahrscheinlich mit openssl zusammen...




hier die proftpd.conf:
Code:
#
# /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file.
# To really apply changes reload proftpd after modifications.
# 

# Includes DSO modules
#Include /etc/proftpd/modules.conf

# Set off to disable IPv6 support which is annoying on IPv4 only boxes.
UseIPv6					off

ServerName				"xyz"
ServerType				standalone
DeferWelcome			off

MultilineRFC2228		on
DefaultServer			on
ShowSymlinks			on

TimeoutNoTransfer		120
TimeoutStalled			120
TimeoutIdle				1200

DisplayLogin            welcome.msg
ListOptions             "-l"
IdentLookups			off
UseReverseDNS			off
DenyFilter				\*.*/

# Port 21 is the standard FTP port.
Port				21

# In some cases you have to specify passive ports range to by-pass
# firewall limitations. Ephemeral ports can be used for that, but
# feel free to use a more narrow range.
# PassivePorts                    49152 65534

# 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

# Set the user and group that the server normally runs at.
User				proftpd
Group				nogroup

# Umask 022 is a good standard umask to prevent new files and dirs
# (second parm) from being group and world writable.
Umask				022  022
# Normally, we want files to be overwriteable.
AllowOverwrite			on

# Uncomment this if you are using NIS or LDAP to retrieve passwords:
# PersistentPasswd		off

# Be warned: use of this directive impacts CPU average load!
#
# Uncomment this if you like to see progress and transfer rate with ftpwho
# in downloads. That is not needed for uploads rates.
# UseSendFile			off

TransferLog /dev/null
SystemLog   /dev/null


<IfModule mod_tls.c>
	TLSEngine on
	TLSLog /dev/null
	TLSProtocol SSLv23
	TLSRequired off
	TLSOptions NoCertRequest
	TLSVerifyClient off
	TLSRSACertificateFile /usr/local/etc/ftpcert/proftpd.cert.pem
	TLSRSACertificateKeyFile /usr/local/etc/ftpcert/proftpd.key.pem
</IfModule> 

<IfModule mod_quota.c>
	QuotaEngine on
</IfModule>

<IfModule mod_ratio.c>
	Ratios on
</IfModule>

<IfModule mod_shaper.c>
    ShaperEngine on
    ShaperLog /dev/null
    ShaperTable /var/log/ftpd/shaper.tab
    ShaperAll downrate 3500 uprate 8500
    ShaperControlsACLs info allow user *
</IfModule>



# Delay engine reduces impact of the so-called Timing Attack described in
# http://security.lss.hr/index.php?page=details&ID=LSS-2004-10-02
# It is on by default. 
<IfModule mod_delay.c>
	DelayEngine on
</IfModule>

<IfModule mod_ctrls.c>
	ControlsEngine        on
	ControlsMaxClients    2
	ControlsLog           /var/log/proftpd/controls.log
	ControlsInterval      5
	ControlsSocket        /var/run/proftpd/proftpd.sock
</IfModule>

<IfModule mod_ctrls_admin.c>
	AdminControlsEngine on
</IfModule>

# A basic anonymous configuration, no upload directories.

# <Anonymous ~ftp>
#   User				ftp
#   Group				nogroup
#   # We want clients to be able to login with "anonymous" as well as "ftp"
#   UserAlias			anonymous ftp
#   # Cosmetic changes, all files belongs to ftp user
#   DirFakeUser	on ftp
#   DirFakeGroup on ftp
# 
   RequireValidShell		off
# 
#   # Limit the maximum number of anonymous logins
#   MaxClients			10
# 
#   # We want 'welcome.msg' displayed at login, and '.message' displayed
#   # in each newly chdired directory.
#   DisplayLogin			welcome.msg
#   DisplayFirstChdir		.message
# 
#   # Limit WRITE everywhere in the anonymous chroot
#   <Directory *>
#     <Limit WRITE>
#       DenyAll
#     </Limit>
#   </Directory>
# 
#   # Uncomment this if you're brave.
#   # <Directory incoming>
#   #   # Umask 022 is a good standard umask to prevent new files and dirs
#   #   # (second parm) from being group and world writable.
#   #   Umask				022  022
#   #            <Limit READ WRITE>
#   #            DenyAll
#   #            </Limit>
#   #            <Limit STOR>
#   #            AllowAll
#   #            </Limit>
#   # </Directory>
# 
# </Anonymous>

und diesen befehl zum erstellen der zertifikate:
Code:
openssl req -new -x509 -days 365 -nodes -out proftpd.cert.pem -keyout proftpd.key.pem
 
okay, mithilfe der apache-dokumentation zu mod_ssl hab ich rausgefunden dass es wohl nicht so einfach mit der .csr-datei geht sondern man den request auch selber unterzeichnen muss. also eine CA erstellt und den key unterschrieben -> server.crt dann diese in der config eingestellt. nun kommt meine fehlermeldung von oben nichtmehr und flashfxp zeigt mit auch nen zertifikat zum annehmen an. soweit ganz super.

jetzt bin ich aber richtig verwirrt, da ich nun andauernd andere fehlermeldungen bekomme -.-

Code:
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 1)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.2
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 2)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.3
[R] Wiederholungs-Versuch abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH TLS
[R] 234 AUTH TLS successful
[R] Verbunden. TLSv1 Session aushandeln..
[R] TLSv1 Aushandlung erfolgreich...
[R] TLSv1 verschlüsselte Sitzung mit Cipher DHE-RSA-AES256-SHA (256 bits)
[R] PBSZ 0
[R] Verbindung fehlgeschlagen (Verbindung verloren)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 1)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH TLS
[R] 234 AUTH TLS successful
[R] Verbunden. TLSv1 Session aushandeln..
[R] error:04077068:rsa routines:RSA_verify:bad signature
[R] Konnte TLSv1 nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.2
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 2)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH TLS
[R] 234 AUTH TLS successful
[R] Verbunden. TLSv1 Session aushandeln..
[R] error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
[R] Konnte TLSv1 nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 1 Sekunden bis zum Versuch einer erneuten Verbindung Nr.3
[R] Wiederholungs-Versuch abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH TLS
[R] 234 AUTH TLS successful
[R] Verbunden. TLSv1 Session aushandeln..
[R] error:04077068:rsa routines:RSA_verify:bad signature
[R] Konnte TLSv1 nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 1)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH TLS
[R] 234 AUTH TLS successful
[R] Verbunden. TLSv1 Session aushandeln..
[R] error:04077068:rsa routines:RSA_verify:bad signature
[R] Konnte TLSv1 nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.2
[R] Wiederholungs-Versuch abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] SSL Aushandlung erfolgreich...
[R] SSL verschlüsselte Sitzung mit Cipher DHE-RSA-AES256-SHA (256 bits)
[R] PBSZ 0
[R] 200 PBSZ 0 successful
[R] USER martin
[R] Verbindung fehlgeschlagen (Verbindung verloren)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Wiederholungs-Versuch abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbindung abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Wiederholungs-Versuch abgebrochen
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.1
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 1)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:04077068:rsa routines:RSA_verify:bad signature
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.2
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 2)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:04077068:rsa routines:RSA_verify:bad signature
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.3
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 3)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.4
[R] Verbinde zu xyz -> DNS=xyz IP=xyz PORT=21 (Versuch # 4)
[R] Verbunden mit xyz
[R] 220 ProFTPD 1.3.2rc3 Server (xyz) [xyz]
[R] AUTH SSL
[R] 234 AUTH SSL successful
[R] Verbunden. SSL Session aushandeln..
[R] error:140943FC:SSL routines:SSL3_READ_BYTES:sslv3 alert bad record mac
[R] Konnte SSL nicht aushandeln, Verbindung getrennt
[R] Verbindung fehlgeschlagen (Verbindung von Benutzer getrennt)
[R] Verzögere um 5 Sekunden bis zum Versuch einer erneuten Verbindung Nr.5
[R] Wiederholungs-Versuch abgebrochen
 
hm, wie schon vermutet lag das problem an openssl. nach vielem hin- und her habe ich die selbsterstellte CA als Schwachstelle ausmachen können... irgendwas ist hier faul aber was genau habe ich bisher nicht rausgefunden. Aber mein Server läuft jetzt, ich bin einfach auf ein selbstsigniertes Zertifikat umgestiegen. Bei ner eigenen CA iss das ja eigentlich auch nix viel anderes^^

der vollständigkeit halber hier mal die befehle:
Code:
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
 
Back
Top