client-initiated renegotiation

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

client-initiated renegotiation

Günther J. Niederwimmer
Hallo,

Ich habe mal einige Test Server für meinen Mailserver ausprobiert das einzige
was dabei bemängelt wird ist "client-initiated renegotiation" nach der
sucherei was das ist, bin ich nicht recht schlauer geworden.

Das einzige was ich gefunden habe, soll der Parameter sein ?

smtpd_client_new_tls_session_rate_limit = 0

Hängt das damit zusammen wenn ja welchen Wert sollte man da einfügen?

Danke für eine Antwort,
--
mit freundliche Grüßen / best regards,

  Günther J. Niederwimmer


Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Winfried Neessen
Hi,

On 13. Mar 2019, at 12:33, Günther J. Niederwimmer <[hidden email]> wrote:

> Ich habe mal einige Test Server für meinen Mailserver ausprobiert das einzige
> was dabei bemängelt wird ist "client-initiated renegotiation" nach der
> sucherei was das ist, bin ich nicht recht schlauer geworden.
>

Was fuer "Test Server"? Wo wird das bemaengelt? Hast Du Logs?


Winni


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Günther J. Niederwimmer
Am Mittwoch, 13. März 2019, 15:42:11 CET schrieb Winfried Neessen:
> Hi,
>
> On 13. Mar 2019, at 12:33, Günther J. Niederwimmer <[hidden email]> wrote:
> > Ich habe mal einige Test Server für meinen Mailserver ausprobiert das
> > einzige was dabei bemängelt wird ist "client-initiated renegotiation"
> > nach der sucherei was das ist, bin ich nicht recht schlauer geworden.
>
> Was fuer "Test Server"? Wo wird das bemaengelt? Hast Du Logs?
>
auf

en.internet.nl

Logs habe ich dazu leider keine, jedenfalls meint das Teil ich bin für Dos
Attacken offen. aber es gibt ein Beispiel .... ?

Das ist der Bericht dazu.

 Verdict:

At least one of your mail servers allows for client-initiated renegotiation,
which is not secure.
Test explanation:
We check if a sending mail server can initiate a renegotiation with your
receiving mail server (MX). There seems to be no need to support client-
initiated renegotiation. Although the option does not bear a risk for
confidentiality, it does make your mail server vulnerable to DoS attacks
within the same TLS connection. Therefore you should not support it. See 'TLS
guidelines from NCSC- NL', guideline B6-2 (in Dutch).

Requirement level: Recommendation

--
mit freundliche Grüßen / best regards,

  Günther J. Niederwimmer


Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Winfried Neessen
Hi,

On 13. Mar 2019, at 18:14, Günther J. Niederwimmer <[hidden email]> wrote:

At least one of your mail servers allows for client-initiated renegotiation, 
which is not secure.
Test explanation:
We check if a sending mail server can initiate a renegotiation with your
receiving mail server (MX). There seems to be no need to support client-
initiated renegotiation. Although the option does not bear a risk for
confidentiality, it does make your mail server vulnerable to DoS attacks
within the same TLS connection. Therefore you should not support it. See 'TLS
guidelines from NCSC- NL', guideline B6-2 (in Dutch).

Hmm, aktuelle OpenSSL Implementierungen sollten eigentlich nur sichere[3]
TLS renegotiation erlauben. Lt. SSL_CTX_set_options(3) ist dies seit OpenSSL
0.9.8m der Fall.

Du kannst aber auch Postfix sagen, dass Du TLS renegotiation komplett deaktivieren
willst. Das funktioniert mit dem tls_ssl_options parameter. Dem musst Du die
entsprechende OpenSSL set_options Hexmaske uebergeben. Lt. openssl/ssl.h[2]
fuer die aktuelle OpenSSL Version sollte das 0x40000000 sein. In aelteren OpenSSL
Versionen kann es aber auch eine andere Maske sein.

Generell wuerde ich aber davon abraten an den tls_ssl_options zu schrauben.


Winni




signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Andreas Meyer-3
In reply to this post by Günther J. Niederwimmer
Günther J. Niederwimmer <[hidden email]> schrieb am 13.03.19 um 18:14:46 Uhr:

> Am Mittwoch, 13. März 2019, 15:42:11 CET schrieb Winfried Neessen:
> > Hi,
> >
> > On 13. Mar 2019, at 12:33, Günther J. Niederwimmer <[hidden email]> wrote:  
> > > Ich habe mal einige Test Server für meinen Mailserver ausprobiert das
> > > einzige was dabei bemängelt wird ist "client-initiated renegotiation"
> > > nach der sucherei was das ist, bin ich nicht recht schlauer geworden.  
> >
> > Was fuer "Test Server"? Wo wird das bemaengelt? Hast Du Logs?
> >  
> auf
>
> en.internet.nl
>
> Logs habe ich dazu leider keine, jedenfalls meint das Teil ich bin für Dos
> Attacken offen. aber es gibt ein Beispiel .... ?
Ich darf mal zitieren:

The impact of TLS-based attacks on SMTP should not be over-stated. Presently, most SMTP clients don't verify the TLS certificates of SMTP servers. Such clients are already vulnerable to ordinary man-in-the-middle attacks, and TLS renegotiation introduces no new threats for them.

The Postfix SMTP server with OpenSSL is not affected by the TLS renegotiation attack that redirects and modifies SMTP mail, due to accidental details of the Postfix and OpenSSL implementations.

https://blog.kruyt.org/postfix-and-tls-encryption/

Grüße

  Andreas

--
PGP-Fingerprint: F004 8EEE 5E54 F2EA 566E B939 22E5 85DD AA14 AC0A

attachment0 (235 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Andreas Schulze
Am 13.03.19 um 23:57 schrieb Andreas Meyer:
> The impact of TLS-based attacks on SMTP should not be over-stated. Presently, most SMTP clients don't verify the TLS certificates of SMTP servers. Such clients are already vulnerable to ordinary man-in-the-middle attacks, and TLS renegotiation introduces no new threats for them.

>
> The Postfix SMTP server with OpenSSL is not affected by the TLS renegotiation attack that redirects and modifies SMTP mail, due to accidental details of the Postfix and OpenSSL implementations.

Moin,

das ist grundsätzlich richtig. Man kann damit keine Maildaten fälschen.
Aber - und das wird auf der Testseite angesagt - eröffnet es die Möglichkeit für einen DoS.

Renegioation ist eine kryptographische Funktion und damit mehr oder weniger CPU-Intensiv. Wenn also ein Client in einer TLS-Session 100 Renegioations pro Sekunde anstößt, /kann/ das schon spürbar sein.
Testen kann man Renegioation mit "openssl s_client -connect mail.example.org:25 -starttls smtp"
In der Session dann jeweils R und ENTER drücken ( siehe man s_client / CONNECTED COMMANDS )

Wie man das ausschaltet muss ich auch gerade passen. Ich vermute aber ebenfalls, via tls_ssl_options.
Wenn jemand näheres weiß, gern über die Liste kippen ....

Übrigens: dieser DoS-Vektor ist wohl der Grund, dass "Client initiated Renegioation" in TLS1.3 über Bord geworfen wurde.
Wer also Postfix mit TLS1.3 only betreibt ist zumindest davor sicher, hat aber ansonsten möglicherweise Interop Probleme :-)

--
A. Schulze
DATEV eG
Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Winfried Neessen
Hi,

On 14. Mar 2019, at 08:19, Andreas Schulze <[hidden email]> wrote:
>
> Wie man das ausschaltet muss ich auch gerade passen. Ich vermute aber ebenfalls, via tls_ssl_options.

Mir ist keine SSL_option bekannt, die nur Client initiierte TLS renegotiation ausschaltet. M. W. n. gibt
es nur "SSL_OP_NO_RENEGOTIATION" um TLS renegotiation komplett zu deaktivieren. Generell
bringt das eh nur einen Geschwindigkeitsvorteil, wenn man Verbindungen hat, die weite Strecken
(sprich hoher Roundtrip) hinter sich gelegt haben.

Mit aktueller Hardware halte ich den DoS Vektor aber auch fuer ueberschaubar (acceptable risk).


Winni

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Günther J. Niederwimmer
Hallo,

Am Donnerstag, 14. März 2019, 08:51:05 CET schrieb Winfried Neessen:

> Hi,
>
> On 14. Mar 2019, at 08:19, Andreas Schulze <[hidden email]> wrote:
> > Wie man das ausschaltet muss ich auch gerade passen. Ich vermute aber
> > ebenfalls, via tls_ssl_options.
> Mir ist keine SSL_option bekannt, die nur Client initiierte TLS
> renegotiation ausschaltet. M. W. n. gibt es nur "SSL_OP_NO_RENEGOTIATION"
> um TLS renegotiation komplett zu deaktivieren. Generell bringt das eh nur
> einen Geschwindigkeitsvorteil, wenn man Verbindungen hat, die weite
> Strecken (sprich hoher Roundtrip) hinter sich gelegt haben.
>
> Mit aktueller Hardware halte ich den DoS Vektor aber auch fuer ueberschaubar
> (acceptable risk).

Ich hatte von dem "Problem" bis jetzt nirgends gelesen, bis ich auf dieser
Testseite darauf hingewiesen wurde ?

Also Ihr meint man kann es vernachlässigen ?

Was ich noch nicht gefunden habe ist der Sinn / Unsinn diese Parameters
worüber ich beim suchen gestolpert bin?

smtpd_client_new_tls_session_rate_limit = 0

das ist die Grundeinstellung in postfix, hat der überhaupt was mit dem obigen
Fall zu tun?

Oder sollte man da einen Wert setzen zb. = 100

Danke für Eure Mithilfe,

--
mit freundliche Grüßen / best regards,

  Günther J. Niederwimmer


Reply | Threaded
Open this post in threaded view
|

Re: client-initiated renegotiation

Andreas Schulze
Am 14.03.19 um 12:50 schrieb Günther J. Niederwimmer:

> Hallo,
>
> Am Donnerstag, 14. März 2019, 08:51:05 CET schrieb Winfried Neessen:
>> Hi,
>>
>> On 14. Mar 2019, at 08:19, Andreas Schulze <[hidden email]> wrote:
>>> Wie man das ausschaltet muss ich auch gerade passen. Ich vermute aber
>>> ebenfalls, via tls_ssl_options.
>> Mir ist keine SSL_option bekannt, die nur Client initiierte TLS
>> renegotiation ausschaltet. M. W. n. gibt es nur "SSL_OP_NO_RENEGOTIATION"
>> um TLS renegotiation komplett zu deaktivieren. Generell bringt das eh nur
>> einen Geschwindigkeitsvorteil, wenn man Verbindungen hat, die weite
>> Strecken (sprich hoher Roundtrip) hinter sich gelegt haben.
>>
>> Mit aktueller Hardware halte ich den DoS Vektor aber auch fuer ueberschaubar
>> (acceptable risk).
>
> Ich hatte von dem "Problem" bis jetzt nirgends gelesen, bis ich auf dieser
> Testseite darauf hingewiesen wurde ?
weder hardenize.com noch ssllabs bemängeln client initiated renegioation,
für ssllabs muss man einen smtp-server auf port 443 legen und mit
  -o smtpd_tls_security_level=encrypt" sowie
  -o smtpd_tls_wrappermode=on
starten

> Also Ihr meint man kann es vernachlässigen ?
insofern: Ball flachhalten oder auf der engl. postfix-users ML nachfragen...

> Was ich noch nicht gefunden habe ist der Sinn / Unsinn diese Parameters
> worüber ich beim suchen gestolpert bin?
>
> smtpd_client_new_tls_session_rate_limit = 0
Das ist meines Erachtens nur ein Limit für neue TLS-Verbindungen incl komplettem TCP Handshake

> das ist die Grundeinstellung in postfix, hat der überhaupt was mit dem obigen
> Fall zu tun?
>
> Oder sollte man da einen Wert setzen zb. = 100
kann man machen, wenn man weis was man tut.


--
A. Schulze
DATEV eG