Office Servers and Services

"La connaissance ne vaut que si elle est partagée" / "An effective Knowledge is a shared one"

Lync 2010 – Certificats SSL 101

Posted by Anthony Costeseque sur mars 10, 2011


Bonjour,

Aujourd’hui nous allons parler de la partie certificat dans Lync 2010 :) vaste sujet dans lequel on peut vite se perdre !!

Un peu de vocabulaire :

Enterprise/StandAlone CA (Certificate Authority) : Autorité de certification interne qui emmétra des certificats de confiance pour l’entreprise (le certificat de la CA (root) devra être déployé sur tous vos postes).

CA Public : Autorité de certification externe (VeriSign, DigiCert, …) qui emmétra des certificats de confiance pour tous (le certificat de la CA (root) est déjà présent sur tous vos postes).

Coté certificat on retrouve :

Un SN (Subject Name) = Le DN (Distinguished Name) complet (Exemple : CN=’Common Name’,O=Organization,L=Location,S=State,C=Country)

Un CN (Common Name) = un FQDN (Fully Qualified Domain Name)

Des SAN (Subject Alternative Name) = plusieurs FQDN


Passons maintenant au schéma de l’infrastructure que nous allons étudier.


Cette infrastructure (de petite taille) repose sur 1 Lync Server 2010 Standard Edition (avec tous les rôles (FE (Front End) MS (Media Server) A/V Conferencing) Co localisés) +

1 Reverse Proxy (TMG 2010) + 1 Lync Edge + 1 Exchange UM (pour la partie Voice Mail).

Le but étant de voir la partie certificat SSL, une fois comprise dans une installation de plus grande envergure, cela restera le même principe.

Nous distinguerons 3 domaines :

1 – La partie Reverse Proxy (certificat 1)

2 – La partie Edge (certificat 2 + 3)

3 – La partie FrontEnd/AVConferencing/MediaServer (certificat 4)

Alors c’est partie : Attention l’explication sera faite sur une infrastructure qui n’est pas en split-DNS (si non c’est trop facile ;p)

1 – La partie Reverse Proxy (certificat 1)

La partie reverse proxy permet de faire le lien avec les services web external hébergés sur le Front End.

 

Il faudra, pour commencer, configurer Lync dans le Topology Builder. le CN à utiliser sera composé de webext (vous pouvez choisir ce que vous voulez) comme nom pour l’enregistrement A que nous créerons sur notre zone DNS hébergée chez notre registrar + votre domaine SIP.

Ici pour le reste de l’explication nous utiliserons webext.domaineSIP.fr


Au travers de webext.domaineSIP.fr nous pourrons accéder à toutes les virtual directory et web app du site « Lync Server External Web Site »

Pour terminer la partie Reverse proxy nous aurons aussi besoin des URL Simples :


Toujours dans le topology builder au niveau de l’organisation on retrouve les URL configurées. Les 2 CN sont composés de dialin et meet (vous pouvez choisir ce que vous voulez) comme nom pour l’enregistrement A que nous créerons sur notre zone DNS hébergée chez notre registrar + votre domaine SIP.

Ici pour le reste de l’explication nous utiliserons dialin.domaineSIP.fr & meet.domaineSIP.fr

Note : vous voyez ici l’URL administrative pour l’accès à la console d’administration (en silverlight :p) le nom de domaine utilisé et le domaine interne car elle n’est accessible que de l’intérieur ! Si vous regardez le contenu du site web « Lync Server External Web Site » vous verrez qu’à la différence de « Lync Server Internal Web Site » la web app « cscp » n’est pas présente !


Maintenant que nous avons choisi nos CN passons au certificat :

Le certificat 1
que nous utiliserons sera demandé à une autorité externe publique de confiance (VeriSign, Digicert, etc) et comportera les informations suivantes :

CN = webext.domaineSIP.fr

SAN = webext.domaineSIP.fr,dialin.domaineSIP.fr,meet.domaineSIP.fr

Clef privée exportable et taille de clef 2048.

Notes : le CN doit aussi être présent dans les SAN ! Si vous avez plusieurs Standard Server, chacun devra avoir une external URL différente pour la partie web services ! si vous voulez utiliser qu’un seul port d’écoute web sur le TMG il faudra que toutes les URL soit présentes dans les SAN de ce certificat (exemple pour 2 Standard Edition on aura SAN = webext1.domaineSIP.fr, webext2.domaineSIP.fr,dialin.domaineSIP.fr,meet.domaineSIP.fr) ! Pour finir c’est au travers du reverse proxy que nous pourrons avoir accès à Lync Web App (web app « meet » du site web external) la version light du client Lync (en version web) !

Maintenant la génération de la demande : (nous le ferons à partir du FrontEnd)

A l’aide du shell powershell avec le module Lync de charger nous utiliserons la cmdlet « Request-CsCertificate »

Request-CsCertificate -New -Type WebServicesExternal -Country FR -State « BdR » -City « Aix en Provence » -FriendlyName « Lync WebExternal Cert » -KeySize 2048 -PrivateKeyExportable $True -Organization « Votre Org » -Output C:\Certificates\WebServicesExternal.cer

Le contenu du fichier WebServicesExternal.cer devra être copié collé lors de votre demande de certificat sur l’autorité publique. Une fois le certificat délivré, il faudra l’importer (sur le FrontEnd) à l’aide de la commande :

Import-CsCertificate -Path « C:\Certificates\WebServicesExternal.cer » -PrivateKeyExportable $True

Le certificat, maintenant présent dans le magasin de certificat Personnel de l’ordinateur, pourra être exporté avec sa clef privée (dans un fichier .pfx) et importé dans le magasin de certificat personnel du TMG 2010 (partie ordinateur (pas utilisateur))

Ouf nous avons fini avec la partie Reverse Proxy :)

Passons à 2 – La partie Edge (certificat 2 + 3)

La partie Edge permet de connecter un client lourd Lync depuis l’extérieur de l’entreprise, au travers d’internet, de façon sécurisée !

De la même façon que pour la partie 1, nous aurons besoin de configurer Lync au travers du Topology Builder.


Dans cette configuration (que nous appellerons v1) j’ai choisi de mutualiser le CN et l’adresse IP que j’utilise pour publier les 3 services, j’ai donc besoin de définir 3 ports différents d’écoute.

Le CN mutualisé à utiliser sera composé de access (vous pouvez choisir ce que vous voulez) comme nom pour l’enregistrement A que nous créerons sur notre zone DNS hébergée chez notre registrar + votre domaine SIP.

Ici pour le reste de l’explication nous utiliserons access.domaineSIP.fr


Dans cette configuration (que nous appellerons v2) j’ai choisi d’utiliser 1 CN distinct par service publié et donc 1 IP différente pour chaque, ils seront publiés sur le même port d’écoute (le port HTTPS par défaut tcp/443).

Le CN à utiliser pour chaque service sera composé de sip, webcon et av (vous pouvez choisir ce que vous voulez) comme nom pour l’enregistrement A que nous créerons sur notre zone DNS hébergée chez notre registrar + votre domaine SIP.

Ici pour le reste de l’explication nous utiliserons sip.domaineSIP.fr & webcon.domaineSIP.fr & av.domaineSIP.fr

Maintenant que nous avons choisi nos CN passons au certificat :

Le certificat 2
que nous utiliserons sera demandé à une autorité externe publique de confiance (VeriSign, Digicert, etc) et comportera les informations suivantes :

Pour la configuration v1

CN = access.domaineSIP.fr

SAN = access.domaineSIP.fr,sip.domaineSIP.fr

Clef privée exportable et taille de clef 2048.

Pour la configuration v2

CN = sip.domaineSIP.fr

SAN = sip.domaineSIP.fr,webcon.domaineSIP.fr,av.domaineSIP.fr

Clef privée exportable et taille de clef 2048.

Notes : Nous voyons ici qu’entre la config v1 et la v2 nous avons 2CN pour 3CN ! Nous pouvons donc en économiser un (quand on voit le prix des certificats UCC (SAN) ce n’est pas un luxe :p) mais surtout dans un cas (la v1) nous avons besoin d’une IP publique alors que dans l’autre (la v2) nous en avons besoin de 3 !!

Maintenant la génération de la demande : (nous le ferons bien sûr à partir du serveur Edge)

Toujours à l’aide de la commande powershell « Request-CSCertificate »

Request-CSCertificate -New -Type AccessEdgeExternal,DataEdgeExternal,AudioVideoAuthentication -Country FR -State « BdR » -City « Aix en Provence » -FriendlyName « Lync Edge External Single Cert » -KeySize 2048 -PrivateKeyExportable $True -Organization « Votre Org » -DomainName « sip.domaineSIP.fr » -Output C:\Certificates\LyncEdgeExternalSingleCert.cer

Le contenu du fichier LyncEdgeExternalSingleCert.cer devra être copié collé lors de votre demande de certificat sur l’autorité publique. Une fois le certificat délivré, il faudra l’importer (sur le Edge) à l’aide de la commande :

Import-CsCertificate -Path « LyncEdgeExternalSingleCert.cer » -PrivateKeyExportable $True

Enfin il faudra l’activer pour les bons services : (il faudra utiliser le Thumbprint généré suite à l’import du certificat)

Set-CSCertificate -Type AccessEdgeExternal,DataEdgeExternal,AudioVideoAuthentication -Thumbprint XXXX

Le certificat 3
(destiné au chalenge SSL de la partie interne (FrontEnd))
que nous utiliserons sera demandé à notre autorité de certification interne et comportera les informations suivantes :

CN = ls-edge.domaineLOACAL.local (fqdn interne de votre edge)

Pas de SAN !

Clef privée exportable et taille de clef 2048.

Note : ici le certificat est très simple.

Toujours à l’aide de la commande powershell « Request-CSCertificate »

Request-CSCertificate -New -Type Internal -CA « ServeurCA.domaineLOCAL.local\NomDeLaCA » -Country FR -State « BdR » -City « Aix en Provence » -FriendlyName « Lync Edge Internal Cert » -KeySize 2048 -PrivateKeyExportable $True -Organization « Votre Org » -CAAccount « domaineLOCAL\administrateur » -CAPassword « VotrePassword »

Le certificat est demandé en direct et sera directement importé, il nous suffira de l’activer avec le Thumbprint généré.

Set-CSCertificate -Type Internal -Thumbprint XXXX

Ouf nous avons fini avec la partie Edge :)

Et pour finir 3 – La partie FrontEnd/AVConferencing/MediaServer (certificat 4)

Cette dernière partie va nous permettre de connecter nos clients lourds Lync à l’intérieur de l’entreprise de façon sécurisée !

La seule URL supplémentaire ici sera l’URL d’administration (pour accéder à CSCP (Communication Server Control Panel)) dont nous avons parlé dans la partie 1.

Ici pour le reste de l’explication nous utiliserons admin.domaineLOCAL.local

Le certificat 4
que nous utiliserons sera demandé à notre autorité de certification interne et comportera les informations suivantes :

CN = ls-fe.domaineLOACAL.local (fqdn interne de votre FrontEnd)

SAN = ls-fe.domaineLOACAL.local,sip.domaineSIP.fr,webext.domaineSIP.fr,dialin.domaineSIP.fr,meet.domaineSIP.fr,admin.domaineLOCAL.local

Clef privée exportable et taille de clef 2048.

Note : ici le certificat comporte tous les CN que nous avons vus jusqu’ici.

Toujours à l’aide de la commande powershell « Request-CSCertificate »

Request-CSCertificate -New -Type Default,WebServicesInternal,WebServicesExternal -CA « ServeurCA.domaineLOCAL.local\NomDeLaCA » -Country FR -State « BdR » -City « Aix en Provence » -FriendlyName « Lync Single Cert » -KeySize 2048 -PrivateKeyExportable $True -Organization « Votre Org » -DomainName « sip.vcloudconsulting.fr »

Le certificat est demandé en direct et sera directement importé, il nous suffira de l’activer avec le Thumbprint généré.

Set-CSCertificate -Type Default,WebServicesInternal,WebServicesExternal -Thumbprint XXXX

Ouf nous avons tout fini :p

Bilan :

Pour la partie certificat destiné au publique (c’est là que c’est payant …) nous avons donc comme scénario possibles :

2 certificats : 1 pour TMG avec 3 CN et 1 pour Edge avec 2 CN en v1 et 3 CN en v2 -> On reste donc avec 2 certificat UCC (SAN) de moins de 5 CN !

1 certificat : le même pour TMG et Edge avec 5 CN pour la v1 et 6 CN pour la v2 -> Il tout à fait possible d’opter pour cette qui réduira les couts …

 
 

Le mot de la fin :

Maintenant lorsque vous lancerez l’assistant de certificats dans le setup de Lync vous saurez à quoi cela correspond !!



Et oui pour ceux qui sont arrivés au bout sans prendre l’Efferalgan ;) vous avez bien vu que le certificat 1 pour le TMG pouvait se faire sur Lync mais pas avec l’assistant, uniquement dans le shell :)

Bonne lecture à tous et pour toutes questions n’hésitez pas.

Anthony Costeseque.

  

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

 
%d blogueurs aiment cette page :