ico_sslPese a que Exchange 2007 incorpora un certificado interno de su propia CA, puede ser interesante añadir un certificado de alguna entidad externa. El motivo es que al acceder por OWA o Outlook Anywhere/ a nuestro correo, obtendremos un aviso/error en el certificado de que la CA no es de confianza. Para que esto no ocurra, tendremos que tener un certificado emitido por una CA pública y que sea de confianza desde el exterior. En otro post ya tratamos acerca de evitar el error de certificado dentro de nuestra red. Ahora veremos como hacerlo para el acceso desde el exterior.

En cuanto a certificados SSL, hay muchas empresas dedicadas a emitirlos de todo tipo. Personalmente he trabajado siempre con Thawte y estoy encantado no solo por el servicio, sino también por unos precios excelentes y un periodo trial de 20 días gratuito. Ello me permite probar el certificado en el entorno antes de comprarlo. A los 21 días solo has de renovar el certificado y realizar el pedido. Para este escenario el certificado puede ser de tipo SSL 123 (un único nombre o host a securizar) o bien de tipo SAN (múltiples nombres). El precio entre ambos tipos es, obviamente, muy diferente. Microsoft aconseja comprar un certificado de tipo SAN para emitirlo a varios nombres que sean accesibles tanto desde el interior como desde el exterior de nuestra red (srvcorreo, owa.dominio.com, autodiscovery.dominio.com, activesync.dominio.com, etc).
En primer lugar, para solicitar la creación de un nuevo certificado (request) a nuestro Exchange, debemos de ejecutar el siguiente cmdlet:

New-ExchangeCertificate -GenerateRequest -Path c:\srvcorreo.csr -KeySize 1024 -SubjectName «c=ES, s=Madrid, l=Madrid, o=nombreempresa, ou=Sistemas, cn=srvcorreo» -DomainName owa.dominio.local, owa.dominio.com, autodiscover.dominio.com, autodiscover.dominio.local -PrivateKeyExportable $True

Para generar cómodamente este comando y aclarar su significado, te aconsejo que visites este enlace que contiene un interesante generador de request para Exchange 2007. Muy cómodo e interesante.

Tras realizar la solicitud de request a nuestro Exchange, se nos habrá creado un archivo .csr en la ruta especificada. Ahora nos dirigimos a la página del emisor de certificados (Thawte, Verisign, etc.) y tras indicar el tipo de certificado que nos interesa (SSL sencillo o SSL de tipo SAN), llegará un momento en el que se nos solicitará el archivo .csr. Abriremos el archivo con el notepad y copiaremos el contenido del mismo para pegarlo posteriormente en el lugar que nos indique la web del fabricante.

Una vez generado el certificado por la CA, se nos facilitará su código (ya sea por mail o desde la misma web. Copiaremos el código y nos dirigimos a nuestro servidor de Exchange 2007 que tiene la función de ser Concentrador de Transporte. Ahí pegaremos el código de nuestro certificado en un nuevo archivo con la extensión .p7b. Lo podemos guardar en C:, como certificado_trial_tawthe.p7b. Ahora, desde el shell, activaremos el certificado en los servicios que nos interese, mediante el comando:

Import-ExchangeCertificate -path c:\certificado_trial_tawthe.p7b | Enable-ExchangeCertificate -Services IMAP, POP, UM, IIS, SMTP

Para ver los certificados activos del servidor, y el servicio al que están asignados, ejecutamos:

Get-ExchangeCertificate

Nos mostrará los certificados instalados, su thumbprint, los servicios a los que se ha activado (S=SMTP, I=IMAP, P=POP, U=Unified Messaging, W=Web/IIS) y el nombre (subject) a quien se ha expedido el mismo. Si no nos aparece nuestro certificado activado a los servicios que nos interesen, podemos activarlo manualmente mediante (cambiamos el thumbprint por el de nuestro certificado):

Enable-ExchangeCertificate -Services IMAP, POP, UM, IIS, SMTP -thumbprint B74BF330C93E56DA2A76CFCSKIE49W2LX97

Importante: El acceso al correo (tanto desde el interior como desde el exterior) es preferible hacerlo mediante un certificado. Podemos utilizar el certificado por defecto que nos genera nuestro Exchange 2007, pese a recibir el error inicial en OWA/Outlook 2007. El error, como hemos visto, no es tal. Informa únicamente de que la CA que lo ha emitido, no es de confianza. Si nos instalamos localmente el certificado (bien manualmente o bien mediante política), la comunicación se realizará cifrada. El hecho de adquirir un certificado de terceros es para poder acceder a la CA y evitar el error. Por tanto, solo sería para evitar el aviso inicial.