Il vous est sans doute arrivé en configurant un serveur Exchange de rencontrer le message d’erreur “HTTP Erreur 500” (message d’erreur “simplifié” censé nous aider à trouver une solution).

J’ai plus d’une fois trouvé des indices déterminents en analysant les trames. C’est vrai, je n’ai pas installé Network Monitor mais j’ai pris l’habitude de Wireshark.

Ce qu’il vous faut pour analyser les trames en clair, c’est:

-un serveur SSL (Exchange, Lync, etc.);
- un client (de Windows XP à WIndows 8.1 par exemple);
- le certificat SSL ainsi que sa clé privé présent sur le serveur (j’expliciterai comment faire par la suite);
- Wireshark (www.wireshark.org, version 64 bits également);
- Enfin OpenSSL pour convertir le format de notre certificat. OpenSSL est disponible à l’adresse:

Win32 OpenSSL v1.0.1f Light. (ou une version plus récente si elle existe au moment où vous suivez cet article. Installez également les http://www.microsoft.com/en-us/download/confirmation.aspx?id=15336 (je préfère les télécharger chez Microsoft directement).

Mon POC : Windows 2012 R2 avec Exchange Server 2013, un client Windows 8.1 (le mien). J’y installe Wireshark. Une fois l’opération réalisée, il convient d’extraire le certificat SSL installé sur notre serveur CAS (puisqu’il s’agit d’un serveur Exchange mais nous aurions procédé de la même manière avec un serveur IIS).

Etape préliminaire, le certificat que nous allons extraire au format PKCS#12 avec sa clé privée (si vous n’avez pas procédé à l’installation du certificat privé en ayant coché l’option “permettre l’exportation de la clé privée”, je pense que vous pouvez vous arrêtez ici et taper votre front contre le bureau (means Game Over!)
Depuis le serveur, ouvrez une console MMC et ajoutez la console “Certificats de l’ordinateur”. Puis rendez-vous dans la partie personnelle où vous trouverez votre certificat):

imageimage
Si vous avez un doute sur le certificat, il faudra utiliser du Powershell pour identifier l’empreinte du certificat. Il est aussi possible de procéder ainsi depuis IIS. Un moyen très simple consiste à aller sur le serveur IIS et à regarder l’empreinte numérique du certificat (exemple avec Firefox…). Empreinte que l’on retrouvera en parcourant les certificats du magasins personnel de l’ordinateur (je sais j’insiste!) !
imageimage
Une fois le certificat identifié, procédez à un export avec la clé privée:
image
II vous faudra choisir par sécurité un mot de passe pour la conversion plus l’installation dans Wireshark.
imageimageimage
image
Il convient à présent de convertir le certificat au format PEM. Pour plus de facilité, copiez le fichier certificat.pfx dans le répertoire BIN d’OpenSSL, cela rendra la commande de conversion plus courte. Une fois cette opération réalisée, entrez la commande suivante (depuis le répertoire BIN): openssl pkcs12 –in certificat.pfx –out cypher.pem –nocerts –nodes

image
Une dernière commande est nous y sommes: openssl rsa -in cypher.pem -out cypherout.pem

Nous obtenons ainsi la clé de cryptage RSA dans le fichier cypherout.pem:

-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAsUlgDlFpyMdkSY0/9ezccfC49eTM2da+AthLsqty5f+G5OVK
…etc.
-----END RSA PRIVATE KEY-----

Démarrez Wireshark et rendez-vous dans les préférences (Edit, Preferences Winking smile). Dans la partie prococole située à gauche, descendez jusqu’à SSL et renseignez la fenêtre modale de la manière suivante. Cliquez sur “Edit RSA Key List” puis sur “New”. Renseignez alors le formulaire de la manière suivante:

imageimage

Nous y sommes ! Au sein de Wireshark, nous allons filtrer les conversations entre le serveur (192.168.1.2) et le client (192.168.1.78). En terme de filtre d’affichage cela ressemble à:
ip.addr==192.168.1.2 and ip.addr==192.168.1.78 and http
Pourquoi faire simple, nous analysons les échanges entre le serveur et le client depuis le client lui-même. Les trames décryptées vers les autres hôtes ne seront pas visibles avec ce filtre. Cliquez sur Capture, Interfaces, puis sélectionnez la carte réseau appropriée.
En général, il s’agit de l’interface qui communique le plus, puis cliquez sur Start !
image

Je vais me connecter à Outlook Web App et voir le résultat en allant sur l’Outlook Wep App:
https://mail.microsoftgroups.org/owa/

Première partie, formulaire d’authentification:
image = image
A présent, je m’authentifie :
image

Le but de cette démonstration était de vous montrer qu’il est possible de decrypter les trames sécurisées SSL avec la clé privée et quelques outils. Cela pourra vous être utile pour ces fameuses erreurs HTTP 500.
Enfin, cette méthode s’applique également à tout décryptage (VPN/SSL par exemple, etc.). Les outils sont toujours les mêmes aussi, je ne saurais que trop vous encourager à les avoir avec vous.

J’utilise à titre personnel une licence d’un logiciel antispam bien développé et don’t le prix n’est pas exorbitant (Vamsoft ORF pour info). Quelle fut ma surprise de voir que mon filtrage ne marchait plus du tout. J’ai temporairement désactivé la fonctionnalité et j’ai regardé du côté de GFI Mail Essentials 2014. Même résultat, donc ne perdez pas une secode est consultez l’article Microsoft suivant qui corrigera ce problème !

http://support.microsoft.com/kb/2938053/en-us

Il existait autrefois un commutateur du programme d’installation nommé /removeorg qui était bien utile dans certaines situations désespérées Smile Cette option n’existe plus dans Microsoft Exchange Server 2013. Aussi, je vous propose de passer par la méthode brutale mais fonctionnelle. Pour les beoins de l’article, j’ai bien endommagé mon serveur et je ne peux plus accéder aux commandes PowerShell ni à l’ECP ou l’OWA. Il s’agit donc d’un bon moyen de tester cette procédure que je vous propose.

Commencez par utiliser ADSIEDIT et ouvrez la partition de configuration puis supprimez les deux arborescences CN=Microsoft Exchange et CN=Microsoft Exchange Autodiscover se trouvant dans la partie Services de la partition de confiugration. Confirmez que vous souhaitez supprimer tout le contenu de ces arborescences (je sais, vous avez un moment d’hésitation à ce moment là mais vous pouvez y aller).

image_thumbimage_thumb[2]image_thumb[3]

Toujours dans ADSIEDIT, rendez-vous dans la partition intitulée “Contexte d’attribution par défaut” (qui est en fait la console utilisateurs et ordinateurs Active Directory sans les sécurité inhérentes qui y ont été implentées. Autant dire qu’il n’y a aucun garde fou et qu’il faut être sûr de ce que vous y faites.

Rendez-vous dans le

Supprimez les deux arborescences suivantes:

OU=Microsoft Exchange Security Groups et CN=Microsoft Exchange System Objects
image_thumb[6] image_thumb[7]

La partie annuaire est achevée. Il reste à supprimer le répertoire d’installation, généralement: C:\Program Files\Microsoft\Exchange Server\V15.

Arrêtez tous les services qui débutent par Microsoft Exchange, sans quoi, il ne sera pas possible de supprimer le répertoire d’installation de Microsoft Exchange. Puis rendez-vous dans REGEDIT et supprimez tous les services correspondants (ils débutent tous par Microsoft Exchange également):

image_thumb[8]image_thumb[10]

Il reste enfin un service dans une autre arborescence (vous l’avez partiellement dans la copie d’écran):

image_thumb[14]

Certains répertoires refuseront d’être supprimés car nous n’avons pas arrêté les services. Rendez-vous dans la console services et arrêtez (si possible) tout les services qui débutent par “Microsoft Exchange” (je sais c’est fastidieux!).Si malgré tout vous ne parvenez pas à supprimer ensuite le répertoire de Microsoft Exchange, un redémarrage s’impose. Enfin n’oubliez pas d’arrêter puis de supprimer le discret mais contraingnant service nommé “SearchExchangeTracing” (qui ne débute pas par Microsoft Exchange). Là vous pouvez supprimer tout le répertoire de Microsoft Exchange!

Passons à présent à la partie IIS bien plus simple puisqu’il faut supprimer les deux sites

image_thumb[11]image_thumb[13]

Enfin, il reste à supprimer les comptes suivants localisés dans le conteneur Users:

DiscoverySearch Mailbox{GUID}
Exchange Online-ApplicationAccount
FederatedEmail.GUID
Migration.GUID
*SystemMailbox{GUID}
*HealthMailboxGUID

image_thumb[16]

Si vous êtes vraiment pointilleux, vous irez supprimer l’entrée correspondante dans la liste des programmes installés via regedit Smile
Si vous en avez encore le courage, il faut supprimer tous les packs de langue qui se trouvent également dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

image

Vous êtes prêt à refaire une insallation “clean” au dépend du temps passé à nettoyer (pratiquement une heure!). L’article pourrait être plus long et vous pourriez également aller dans la console certificats supprimer les certificats installés par Exchange mais je crois que c’est déjà pas mal d’être parvenu jusque-là ! Félicitations !

Et merci pour vos encouragements !
image

1 Comment

De retour après de quoi faire un blog complet hallucinant (double démissions et fractures des épaules après une collision à 130 Km/h contre un camion citerne !). Après plusieurs mois de rééducation, je suis de nouveau dans la course prêt à relancer la communauté alors que ceux qui veulent me rejoignent se manifestent, ils seront les bienvenus et auront également leur boite Exchange 2013 @microsoftgroups.org et/ou msft.email en échange de quoi ils seront les bienvenus pour rédiger un article de temps en temps!

Pour toutes vos questions et remarques: tfrache@msft.email.