martes, 13 de marzo de 2012

Instalación de Exchange 2010 IX - Generación de Certificados.

Este es el tercero y espero que el último Post de este rol .... que no termino nunca y se me acumulan las cosas.

Tercero, generación de los certificados de cada servicio/servidor:

Para la publicación de todos nuestros servicios, ya sea interna o externamente, necesitamos generar certificados SSL (Secure Sockets Layer). Exchange 2010 por defecto genera unos certificados self-signed pero, a nosotros, que controlamos este tema, nos gustan mas los certificados de nuestra CA de producción o una CA externa como Verisign, etc. Asimismo, podríamos utilizar certificados Wildcard pero, en nuestro caso, vamos a utilizar SAN, o sea, certificados con nombres alternativos.


Necesitamos los siguientes certificados:
  •  Para Servidor:
    • Nombre corto de cada Servidor.
    • FQDN de cada Servidor.
  • Para Servicio:
    • Servicio SMTP.
    • Servicio POP3/IMAP4.
    • Web Services:
      • Outlook Anywhere
      • Autodiscover
      • ActiveSync
    • Unified Messaging.
  • Legacy Exchange Server.- Este se utiliza en entornos de coexistencia mientras se realiza la migración de usuarios.
Podemos realizar a través de la consola (EMC) o a través de la shell (EMS), al contrario que en Exchange 2007.Desde la consola:


Seleccionamos el servidor CAS, en este caso. botón derecho y elegimos "Nuevos Certificados"

 Escribimos un nombre (amigable)

Habilitamos, si es nuestro caso, la posibilidad de certificados Wildcard, que no lo es

 Nos aparecen todos los posibles certificados a generar:

Certificados "Sharing", para el caso de realizar una delegación federada

Para el certificado, tanto interno como externo, para Outlook Web App (OWA):

Para el certificado de ActiveSync:

Y ahora viene lo bueno, habilitamos tanto Exchange Web Services, Outlook Anywhere como Autodiscoer, a nivel interno y/o externo:

Certificado para POP3 e IMAP, si es necesario:

Certificados para encriptar la comunicación entre los Hub Transport utilizando MTLS:

Asi como el certificado denominado "legacy" para casos de migración:

Si os fijais, en todo momento nos aparece el botón de Reset por si queremos volver a empezar porque se nos haya olvidado algo:
 Review de lo solicitado:

Nos pide datos de nuestra organización y la ubicación del fichero que se va a generar:
Sumario:

Y... fin. Nos indica los pasos a seguir:

El fichero generado tendrá este formato:

Una vez realizada la solicitud a la Entidad Certificadora, procederemos a completar nuestra petición pendiente de certificados:

 Lanzamos el Asistente, seleccionamos el archivos que la Entidad Certificadora nos ha devuelto:

Y completamos la petición:

Y el proceso de asignación de los certificados a los servicios será el siguiente:
Seleccionamos el o los servidores sobre los que actuar:
Seleccionamos los certificados a asignar:
Realizamos la asignación:

En mi caso, me solicita la sobreescritura del certificado SMTP existente:

Y ya esta. No os olvideis de eliminar aquellos certificados Selfsigned que se crearon inicialmente y que, ahora, no sirven:

Podemos verificar, por ejemplo, el certificado que se ha instalado en el IIS con todos sus SAN (Subject Alternative Name):


Podemos abrir una consola mmc con los certificados del servidor o verificar desde un explorador qué certificados aparecen y si se aceptan al abrir un OWA.

Desde la Shell, pues esto tendría un formato similar a este:

New-ExchangeCertificate -GenerateRequest -Path c:\temp\CertReq.req -SubjectName "c=CA,o=RobeznoSA, cn=mail.robezno.com" -DomainName mail.robezno.com, autodiscover.robezno.com, ROBSRVFJ, ROBSRVFJ.robezno.com -PrivateKeyExportable $true

Y el resultado algo como esto:
Podemos ejecutar el cmdlet anterior utilizando variables y, posteriormente, exportar el contenido a un fichero:

$ReqCert = New-ExchangeCertificate -GeneraleRequest -SubjectName "c=CA,o=RobeznoSA, cn=mail.robezno.com" -DomainName mail.robezno.com, autodiscover.robezno.com, ROBSRVFJ, ROBSRVFJ.robezno.com -PrivateKeyExportable $true

Set-content -path c:\temp\CertReq.req -Value $ReqCert

La principal diferencia, básicamente, entre un método y otro es que no tenemos una path o ruta a usar con los cmdlets que gestionan los certificados.

Bibliografia.
Msexchange.org
Sitting on IT.

No hay comentarios:

Publicar un comentario