Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Qmail SSL Problem

  1. #1
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244

    [gelöst] Qmail SSL Problem

    Moin!

    Ich habe seit Kurzem ein Problem mit meinem Mailserver (Debian 4.0, Qmail), genauer gesagt mit dem SMTP:

    Kein Client kann per SSL auf den SMTP zugreifen. Bei Thunderbird wird ein Timeout gemeldet, bei Claws-Mail heißt es nur, es könne keine SSL-Verbindung aufgebaut werden.

    TLS und Plaintext funktioniert jedoch ohne Probleme. An der Firewall liegt es auch nicht.

    Ein Test auf der shell ergibt folgendes:

    Code:
    [lynix@thor ~]$ openssl s_client -connect meinedomain.de:465
    CONNECTED(00000003)
    16832:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:601:
    Gestartet wird der SMTPd über xinetd:

    Code:
    service smtps
    {
    	socket_type	= stream
    	protocol	= tcp
    	wait		= no
    	disable		= no
    	user		= root
    	instances	= 100
    	env		= SMTPAUTH=1 END=1
    	server          = /var/qmail/bin/tcp-env
    	server_args     = -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    }

    Hat jemand eine Idee, an was das liegen könnte?

    Vielen Dank für jeden Tip im Voraus!


    Gruß

    lynix
    Geändert von lynix (17.02.09 um 19:08 Uhr) Grund: gelöst
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  2. #2
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    hi!

    was bekommst zurück wenn dich direkt mit telnet auf port 465
    hängst? vielleicht stimmt nur ein pfad oder sowas nicht.

    hth,
    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  3. #3
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Hi, Richard!

    mit telnet:
    Code:
    [lynix@thor ~]$ telnet meinedomain.de 465
    Trying 80.xx.xx.150...
    Connected to meinedomain.de.
    Escape character is '^]'.
    220 meinedomain.de ESMTP
    QUIT
    221 meinedomain.de
    Connection closed by foreign host.
    Also eine Session identisch zu einem Telnet-Aufruf mit Port 25. Liegt es daran? Also dass einfach SSL "weggelassen" wird? Weil mit openssl und debugmode sehe ich auch ein "220 meine....":

    Code:
    [lynix@thor ~]$ openssl s_client -crlf -debug -connect meinedomain:465
    CONNECTED(00000003)
    write to 0x170b5f0 [0x170b690] (124 bytes => 124 (0x7C))
    0000 - 80 7a 01 03 01 00 51 00-00 00 20 00 00 39 00 00   .z....Q... ..9..
    0010 - 38 00 00 35 00 00 16 00-00 13 00 00 0a 07 00 c0   8..5............
    0020 - 00 00 33 00 00 32 00 00-2f 00 00 07 05 00 80 03   ..3..2../.......
    0030 - 00 80 00 00 05 00 00 04-01 00 80 00 00 15 00 00   ................
    0040 - 12 00 00 09 06 00 40 00-00 14 00 00 11 00 00 08   ......@.........
    0050 - 00 00 06 04 00 80 00 00-03 02 00 80 72 22 c9 20   ............r". 
    0060 - ff 28 22 b0 c7 cd 41 c4-b8 af b8 e5 d9 4a d1 77   .("...A......J.w
    0070 - cb 7c a8 4c 8b 75 a0 ee-49 c9 07 e6               .|.L.u..I...
    read from 0x170b5f0 [0x1710bf0] (7 bytes => 7 (0x7))
    0000 - 32 32 30 20 76 73 33                              220 mei
    6553:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:601:

    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  4. #4
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    hi!

    da sollte sofort in den ssl modus geschalten werden.
    was verwendest du um ssl zu verwenden? (stunnel?)

    hth,
    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  5. #5
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Hi!

    Okay, da muss ich etwas ausholen :

    Bis vor Kurzem wurde der Qmail-SMTPd noch über inetd gestartet. Als er dann nicht mehr ging, hab ich auf xinetd gewechselt, d.h. einfach die config von inetd auf xinetd umgeschrieben; sonst hab ich nix geändert.

    Auf der Box rennt Plesk 8, ich weiß leider nicht, wo/wie da der SSL erwirkt wird ^^

    Wie realisiert man das normalerweise?


    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  6. #6
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    hi!

    wenn richtiges ssl, also kein tls willst dann einfach einen stunnel vorschalten.
    mit stunnel kann man beliebige tcp-dienste mit ssl versehen.

    hth,
    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  7. #7
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Hi!

    Okay, ich hab mich mal kurz in stunnel eingelesen. Ich denke ich will "normales" SSL. Aber wie baue ich das in xinetd ein?

    Mal ganz abgesehen von der Frage, wie es Jahre lang funktioniert hat, d.h. wie das auf einer Plesk Standardinstallation gelöst ist


    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  8. #8
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Achja, auf dem Server ist noch gar kein stunnel drauf (gerade installiert). Gibts noch ne andere gängige Methode außer stunnel?
    Nur interessehalber; wenn die stunnel-Methode klappt soll sie mir recht sein

    Danke!


    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  9. #9
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    So, ich hab mal nach weiterem manpages-Lesen folgende xinetd.conf aufgestellt:

    Code:
    service smtps
    {
    	socket_type	= stream
    	protocol	= tcp
    	wait		= no
    	disable		= no
    	user		= root
    	instances	= 100
    	env		= SMTPAUTH=1 END=1
    	server          = /usr/bin/stunnel
    	server_args     = -l /var/qmail/bin/tcp-env smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    }
    Allerdings sehe ich mit telnet auf 465, dass stunnel das Serverzertifikat fehlt. Daher jetzt meine Frage: TLS geht ja - wo sehe ich, welches Zertifikat da verwendet wird? Das könnte ich ja dann an dieser Stelle auch benutzen oder?


    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  10. #10
    Registrierter Benutzer Avatar von derRichard
    Registriert seit
    Nov 2001
    Beiträge
    5.069
    hi!

    vom tls merkt (x)inetd überhaupt nichts. das tls macht der qmail-smtpd von selbst.
    tls ist ja im protokoll selbst, ssl ist nur ein zusätzlicher layer.

    man kann neben stunnel auch tcpserver-ssl verwenden.
    es gibt dazu einiges.
    ich verwende kaum ssl, tls ist um einiges feiner.

    hth,
    //richard
    There are two factions of CS, the ones that hate computers, and the ones that hate science.

  11. #11
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Hi, Richard!

    Ich war bis vor kurzem auch kein Fan von SSL. Aber wenn man über eine unsichere Verbindung (unverschlüsseltes WLAN, unterwegs) mal schnell eMails checken will, fühlt man sich vielleicht mit SSL doch etwas sicherer. Mit TLS kann jeder mit einem einfachen Filter das "STARTTLS" abfangen und die Session mitschneiden

    Ich bin mittlerweile so weit:

    xinetd-config:
    Code:
    service smtps
    {
    	socket_type	= stream
    	protocol	= tcp
    	wait		= no
    	disable		= no
    	user		= root
    	instances	= 100
    	env		= SMTPAUTH=1 END=1
    	server          = /usr/bin/stunnel
    	server_args     = -p /var/qmail/control/servercert.pem -l /var/qmail/bin/tcp-env smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    }
    Test:
    Code:
    root@meinedomain.de:/# telnet localhost 465
    Trying 127.0.0.1...
    Connected to localhost.localdomain.
    Escape character is '^]'.
    2009.02.17 09:52:06 LOG5[11829:3083773632]: Using 'smtps' as tcpwrapper service name
    2009.02.17 09:52:06 LOG4[11829:3083773632]: Wrong permissions on /var/qmail/control/servercert.pem
    2009.02.17 09:52:06 LOG5[11829:3083773632]: stunnel 3.26 on i486-pc-linux-gnu PTHREAD+LIBWRAP with OpenSSL 0.9.8c 05 Sep 2006
    2009.02.17 09:52:06 LOG5[11829:3083773632]: smtps connected from 127.0.0.1:39661
    Allerdings funktioniert ein Verbinden per Mailclient oder openssl immer noch nicht:

    Code:
    root@meinedomain.de:/# openssl s_client -crlf -debug -connect localhost:465
    CONNECTED(00000003)
    write to 0x80bef58 [0x80bfe90] (118 bytes => 118 (0x76))
    0000 - 80 74 01 03 01 00 4b 00-00 00 20 00 00 39 00 00   .t....K... ..9..
    0010 - 38 00 00 35 00 00 16 00-00 13 00 00 0a 07 00 c0   8..5............
    0020 - 00 00 33 00 00 32 00 00-2f 03 00 80 00 00 05 00   ..3..2../.......
    0030 - 00 04 01 00 80 00 00 15-00 00 12 00 00 09 06 00   ................
    0040 - 40 00 00 14 00 00 11 00-00 08 00 00 06 04 00 80   @...............
    0050 - 00 00 03 02 00 80 b9 6c-a6 1e 25 c1 c2 06 a6 bc   .......l..%.....
    0060 - 55 65 34 07 af 95 e7 ee-58 c5 54 1d d7 ed 27 94   Ue4.....X.T...'.
    0070 - b6 01 df af 8f ff                                 ......
    read from 0x80bef58 [0x80c53f0] (7 bytes => 7 (0x7))
    0000 - 32 30 30 39 2e 30 32                              2009.02
    13452:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567:
    Hast Du noch nen Tip?


    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  12. #12
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    Update:

    Okay, ich glaube ich bin einen Schritt weiter SSL scheint nun zu funktionieren, aber der SMTPd wird dahinter anscheinend nicht richtig gestartet:

    /etc/xinet.d/smtps
    Code:
    service smtps
    {
    	socket_type	= stream
    	protocol	= tcp
    	wait		= no
    	disable		= no
    	user		= root
    	instances	= 100
    	env		= SMTPAUTH=1 END=1
    	server          = /usr/bin/stunnel
    	server_args     = -D 5 -o /var/log/stunnel.log -T -p /var/qmail/control/servercert.pem -l /var/qmail/bin/tcp-env smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    }
    Test
    Code:
    root@meinedomain.de:/var/log# openssl s_client -crlf -connect localhost:465
    CONNECTED(00000003)
    depth=0 /C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
    verify error:num=18:self signed certificate
    verify return:1
    depth=0 /C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
    verify return:1
    ---
    Certificate chain
     0 s:/C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
       i:/C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIFCDCCA/CgAwIBAgIESMjU4zANBgkqhkiG9w0BAQQFADCBtjELMAkGA1UEBhMC
    (...)
    NRENKRNdxEw/SDs8ulUFwOMDlLOxEud7Le66hgX2MdvsdzLhx4caO9O2sY3EITBa
    DFNGL85mhMx5LdB/chSkNJC4aeOo/wlqfUXYWGRcUA1me+qIez7zjYC1sUb8CdkW
    ZnaKXwA025SpCE6UOg+f+huEbOUzhqLThqWkE9Ja5ZTIewp290XVoih5hRM=
    -----END CERTIFICATE-----
    subject=/C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
    issuer=/C=DE/ST=Germany/L=Cologne/O=Intergenia AG/OU=Internet Service Provider/CN=meinedomain.de/emailAddress=root@meinedomain.de
    ---
    No client certificate CA names sent
    ---
    SSL handshake has read 1856 bytes and written 252 bytes
    ---
    New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
    Server public key is 2048 bit
    Compression: NONE
    Expansion: NONE
    SSL-Session:
        Protocol  : TLSv1
        Cipher    : DHE-RSA-AES256-SHA
        Session-ID: BFD6DA085B73083855DAEF843101E765265B94A5659860A8945A43B730347B5F
        Session-ID-ctx: 
        Master-Key: 752B98358151D73C0C4DC9468657DC5BF0B20B518C1097118D2660EE6AE545F665D7E3CAC334DD25693A23678D6C28EE
        Key-Arg   : None
        Start Time: 1234863186
        Timeout   : 300 (sec)
        Verify return code: 18 (self signed certificate)
    ---
    closed
    Das stunnel-log dazu:
    Code:
    2009.02.17 10:33:06 LOG5[13399:3083773632]: Using 'smtps' as tcpwrapper service name
    2009.02.17 10:33:06 LOG4[13399:3083773632]: Wrong permissions on /var/qmail/control/servercert.pem
    2009.02.17 10:33:06 LOG5[13399:3083773632]: stunnel 3.26 on i486-pc-linux-gnu PTHREAD+LIBWRAP with OpenSSL 0.9.8c 05 Sep 2006
    2009.02.17 10:33:06 LOG5[13399:3083773632]: smtps connected from 127.0.0.1:41995
    2009.02.17 10:33:06 LOG5[13399:3083773632]: Connection closed: 0 bytes sent to SSL, 0 bytes sent to socket
    Der Mailclient will immer noch nicht, endet jedoch mittlerweile mit einem Timeout, ohne sich aufzuhängen ^^


    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

  13. #13
    Arch-Jünger
    Registriert seit
    Mar 2003
    Ort
    Karlsruhe
    Beiträge
    244
    GELÖST!

    Mit dieser config funktioniert es jetzt:

    Code:
    service smtps
    {
    	socket_type	= stream
    	protocol	= tcp
    	wait		= no
    	disable		= no
    	user		= root
    	instances	= 100
    	env		= SMTPAUTH=1 END=1
    	server          = /usr/bin/stunnel
    	server_args     = -D 3 -o /var/log/stunnel.log -T -p /var/qmail/control/servercert.pem -l /var/qmail/bin/tcp-env -- smtps -Rt0 /var/qmail/bin/relaylock /usr/local/bin/spamdyke -f /etc/spamdyke.conf /var/qmail/bin/qmail-smtpd /var/qmail/bin/smtp_auth /var/qmail/bin/true /var/qmail/bin/cmd5checkpw /var/qmail/bin/true
    Vielen Dank nochmal für Deine Hilfe, Richard!!

    Gruß

    lynix
    Linux is like a tipi: No gates, no windows, samba-dancing, gnu-eating apache inside...

Ähnliche Themen

  1. problem mit ucspi-ssl und debian-etch
    Von Tommy_20 im Forum Linux als Server
    Antworten: 10
    Letzter Beitrag: 22.01.07, 07:02
  2. Qmail SMTP Auth Problem?
    Von D3R S3H@ im Forum Linux als Server
    Antworten: 2
    Letzter Beitrag: 24.06.06, 14:17
  3. Problem mit qmail, clamav, squirrelmail und co
    Von punkte im Forum Linux als Server
    Antworten: 5
    Letzter Beitrag: 13.01.06, 20:26
  4. qmail und pop3 bzw. smtp über ssl
    Von derRichard im Forum Linux als Server
    Antworten: 11
    Letzter Beitrag: 31.08.02, 01:25
  5. Problem mit qmail
    Von im Forum Linux als Server
    Antworten: 4
    Letzter Beitrag: 18.12.00, 13:17

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •