Aller au contenu


Problème Handshake SSL


  • Veuillez vous connecter pour répondre
9 réponses à ce sujet

#1 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 27 mai 2019 - 12:28

Bonjour,

Tout d'abord je salut tous ceux qui prendront la peine de me lire et remercie d'avance ceux qui essaierons de me venir en aide.

Mise en contexte de ma problématique

====================================================================================================
Configuration de mon serveur Zimbra du 01/04/18 au 23/05/19

Zimbra: 8.8.7_GA_1964.NETWORK - Single Server
OS: Ubuntu 16.04 [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

Le reverse proxy est activé et paramétré en HTTPS seulement + Certificat client pour accéder au reverse et donc à la page de login
zimbra@serveur:~$ zmprov gs mail.domaine.fr zimbraReverseProxyMailMode
# name mail.domaine.fr
zimbraReverseProxyMailMode: https

zimbra@serveur:~$ zmprov gs mail.domaine.fr zimbraMailSSLProxyClientCertPort
# name mail.domaine.fr
zimbraMailSSLProxyClientCertPort: 3443


zimbra@serveur:~$ zmprov gs mail.domaine.fr zimbraReverseProxyClientCertMode
# name mail.domaine.fr
zimbraReverseProxyClientCertMode: on

En plus afin de gérer les certificats révoqué j'ai ajouté les lignes suivante (dans le fichier /opt/zimbra/conf/nginx/templates/nginx.conf.web.template) :
# Custom crl
ssl_crl /opt/certificat/CA/crl/list_revoke.crl;
ssl_verify_client on;
# Fin Custom

Cette configuration fonctionne donc du du 01/04/18 au 23/05/19 sans aucun souci.

====================================================================================================
Le jour ou tout à dérapé vendredi 24/05/19

Le vendredi matin j'arrive au bureau tout guilleret en cette fin de semaine, seulement panique à bord certaine personnes ont accès à leur mail d'autre non depuis ce matin.
Je commence alors à faire les vérifications d'usage, en gros voir si personne dans l'équipe n'a fait tourné un script ou n'est intervenue sur le serveur et qui aurait par inadvertance casser quelque chose. Résultat rien pas de connexion d'administrateur depuis plus d'une semaine et pas de script autres que les script quotidien d'usage.

====================================================================================================
Etat des lieux des problèmes (ha oui important, pour un certain nombre de raisons que je n'étalerais pas chacun des utilisateurs a le choix de laisser son navigateurs web en maj auto ou manuel)

* Sur les postes avec d'ancienne version de Chrome ou Firefox - Zimbra fonctionne
* Sur les postes linux: Zimbra fonctionne sur Chrome (quelque soit la version) - Mais ne fonctionne pas sur Firefox (dernière version)
* Sur les postes windows: Zimbra fonctionne sur IE - Mais ne fonctionne pas sur les dernières version de Chrome et Firefox
* Je n'ai pas tester de mac car je n'ai pas d'usager utilisant ces produits.
* Sur les smartphones: Zimbra fonctionne normalement (Android / Apple et WindowsPhone [Je sais, j'ai quelque tyrannosaure])

Ce que j'entends par "Ne fonctionne pas":

L'accès au serveur ce passe normalement et Zimbra (nginx en réalité) me demande mon certificat client, une fois le certificat client renseigné page blanche jusqu'au timeout réseau et le navigateur répond "ERR_TIMEOUT".

Côté log les seul traces que je retrouve sont dans le fichier nginx.log
2019/05/27 11:54:44 [info] 129275#0: *11379 peer closed connection in SSL handshake while SSL handshaking, client: XXX.XX.XX.XX, server: 0.0.0.0:443
2019/05/27 11:55:23 [info] 129275#0: *11368 client timed out (110: Connection timed out) while SSL handshaking, client: XXX.XX.XX.XX, server: 0.0.0.0:443

Capture de paquet wireshark

Sur un échange qui fonctionne
Image IPB
Et sur un qui ne fonctionne pas
Image IPB

Sur ces deux captures type on peut voir que les données ne transite pas exactement de la même manière, dans celui qui fonctionne les différentes instructions de handshake sont clairement séparées alors que dans le cas ou ca ne fonctionne pas les instructions de handshake qui se suivent sont encapsulées dans un "Multiple Handshake Messages".

Et enfin un test via openssl
julien@julien-OptiPlex-7050:~/Téléchargements$ openssl s_client -connect mail.domaine.fr:443 -cert pemju.pem -key keyju.key -crlf -prexit
CONNECTED(00000003)
depth=[...]
verify return:1
depth=[...]
verify return:1
depth=[...]
verify return:1
---
Certificate chain
[...]
---
Server certificate
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
subject=[...]
issuer=[...]
---
Acceptable client certificate CA names
[...]
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 5988 bytes and written 1807 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: [...]
Session-ID-ctx:
Master-Key: [...]
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 600 (seconds)
TLS session ticket:
0000 - [...]
Start Time: 1558952007
Timeout : 300 (sec)
Verify return code: 0 (ok)
---
GET / HTTP/1.1
Host: mail.domaine.fr
HTTP/1.1 200 OK
Server: nginx
Date: Mon, 27 May 2019 10:14:47 GMT
Content-Type: text/html;charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Frame-Options: SAMEORIGIN
Expires: -1
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Pragma: no-cache
Content-Language: en-US
Set-Cookie: ZM_TEST=true;Secure
Set-Cookie: ZM_LOGIN_CSRF=9d522a66-0952-4f7d-a88b-7cfdd803bef6;Secure;HttpOnly
Vary: User-Agent
X-UA-Compatible: IE=edge
Vary: Accept-Encoding, User-Agent
1e4d
<!DOCTYPE html>
<!-- set this class so CSS definitions that now use REM size, would work relative to this.
Since now almost everything is relative to one of the 2 absolute font size classese -->
<html class="user_font_size_normal" lang="en">
<head>
<!--
login.jsp
* ***** BEGIN LICENSE BLOCK *****
* Zimbra Collaboration Suite Web Client
* Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Synacor, Inc.
*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software Foundation,
* version 2 of the License.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
* You should have received a copy of the GNU General Public License along with this program.
* If not, see <https://www.gnu.org/licenses/>.
* ***** END LICENSE BLOCK *****
-->
[...]
</html>
0

====================================================================================================
Les actions menées jusqu'à présent

J'ai dans un premier temps tenté les différents hack que l'on peut trouver un peu partout. En modifiant le fichier /opt/zimbra/conf/nginx/templates/nginx.conf.web.https.default.template.
Mais ca n'a rien changé.

J'ai ensuite tenté de mettre à jour le proxy en me disant que ca avait du être patché.
Mais ca n'a rien changé.

Puis j'ai fini par carrément mettre à jour Zimbra (v8.8.12_GA_3794) en me disant qu'avec les dernier paquets nginx ca irait mieux.
Mais.... fin vous avez compris quoi <_<

====================================================================================================
HELP

Voila ou j'en suis... A court d'idée et en quête d'un sauveur... si parmi vous quelqu'un avait la procédure magique je lui en serais très reconnaissant!

:wub: :wub: :wub: :wub: :wub: :wub: :wub:
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#2 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 27 mai 2019 - 13:11

Bonjour,

les connexions qui ne fonctionnent pas se font-elles depuis le même réseau que
celles qui fonctionnent ?

  Cordialement,
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#3 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 27 mai 2019 - 13:28

Qu'importe le réseau.

Les connexions qui fonctionnent comme celles qui ne fonctionnent pas viennent de n'importe quel réseau.
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#4 2l2n

2l2n

    Membre actif

  • Membres
  • PipPip
  • 274 messages
  • LocalisationLiège - Belgique

Posté 27 mai 2019 - 13:52

Bonjour,
Victime du même problème, j'ai trouvé (avec l'aide d'un expert, merci à lui) une solution qui fonctionne pour moi sur le forum US : http://forums.zimbra...d549871#p290615
- rétablir les droits de certains dossiers
- vérifier le crontab
- vérifier qu'il n'y a pas de comptes non souhaités créés
Probablement une faille exploitée sur les versions insuffisamment mises à jour.

Edit : voir aussi là : https://www.zimbrafr...l-inaccessible/
8.6.0 OSE sous Ubuntu 14.04

#5 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 27 mai 2019 - 14:13

Après lecture attentive, mon problème n'a rien à voir avec les liens donnés en exemple.

(Par acquis de conscience j'ai vérifié et je n'ai aucune altération du cron, aucune altération des droits et pas de comptes indésirable)

Je pensais avoir relativement bien exposé mon problème mais je dois avoir loupé une étape:

La requête client n'a même pas l'occasion d'atteindre un seul process Zimbra autre que nginx puisque la connexion s'arrête dés le premier Handshake SSL (avant même que le reverse ne forward au serveur Zimbra).
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#6 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 28 mai 2019 - 08:52

Hum c'est un bon conseil... La partie sur le Joker et Harley Quinn à l'air intéressante...

:D
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#7 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 28 mai 2019 - 15:05

A par notre ami russe qui s'est fait modérer :lol:
Personne n'aurait d'éclair de génie ?

Pour info, j'ai passé 2 heures avec le support ce matin, un p'tit indien bien sympathique à pris le contrôle de mon poste m'a fait tout lui ré-expliquer, à pris note du problème et essaie de le reproduire sur ses VMs. S'il y arrive il enverra aux dev pour correction.

Mais bon ca m'a pas l'air gagné puisqu'il ne savait même pas comment activer les certificats clients...

... :unsure:
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#8 Zimbra Guy

Zimbra Guy

    Zimbra Jedi

  • Modérateurs
  • 5 523 messages
  • LocalisationPlanète Terre

Posté 28 mai 2019 - 15:36

Welcome to the Zimbra Customer Support

Désolé.
Guy Carré, professionel certifié Zimbra, Contributeur Zimbra
tel : +33 (0)6 63 18 08 XX / mail : guy.carre+zimbrafr@libremail.fr

#9 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 29 mai 2019 - 11:01

Bon ben au bout de 24H la première nouvelle que je reçois... c'est qu'il n'arrive pas à paramétrer les certificats client sur sa VM... Obligé de lui envoyer ce lien... :ph34r: <_<

Je viens également de poster ma problématique sur le forum US, sait on jamais...
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]

#10 JulienC

JulienC

    Membre débutant

  • Membres
  • 7 messages
  • LocalisationToulouse

Posté 29 mai 2019 - 15:51

De mon côté j'ai pu trouver des pistes supplémentaire:

J'ai patché firefox en modifiant dans la page "about:config" l'utilisation de certain cipher:

Image IPB

Ce qui a pour conséquence de... fonctionner !
Du coup j'ai modifié les paramètre suivants sur mon zimbra:

zimbra@dell74:~$ zmprov mcf zimbraReverseProxySSLCiphers 'ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'
zimbra@dell74:~$ zmprov ms mail.domaine.fr zimbraReverseProxySSLCiphers 'ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4'

Mais malheureusement ca m'a corrigé mes Firefox mais pas mes chromes et ca ma cassé IE....
Du coup je suis repassé sur la conf d'origine et pour l'instant j'ai fait un mémo pour ceux qui veulent utiliser Firefox.

J'ai aussi tenté de passer le paramètre ssl_prefer_server_ciphers à off dans les configuration de nginx mais à part casser IE ca n'a rien fait.
Zimbra: 8.8.12_GA_3803.NETWORK - Single Server
OS: Ubuntu 16.04.6 LTS - 4.4.0-148-generic [Serveur Physique - Intel® Xeon® CPU E5-2640 v4 @ 2.40GHz - 32 Go RAM]




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)