Como configurar o Mutual TLS para segurança de domínio

 

Aplica-se a: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

Tópico modificado em: 2009-04-20

Este tópico explica como usar o Shell de Gerenciamento do Exchange para configurar o TLS mútuo para Segurança de Domínio, o conjunto de funcionalidades contido no Microsoft Exchange Server 2007 e no Microsoft Office Outlook 2007 que é uma alternativa relativamente barata para o S/MIME e outras soluções de segurança no nível de mensagens.

Para exemplificar, este tópico explica como os administradores do Exchange, em uma empresa fictícia, Contoso, configuram o ambiente do Exchange 2007 para trocar emails de domínio seguro com seu parceiro, o Woodgrove Bank. Nesse cenário, a Contoso quer garantir que todos os emails enviados e recebidos do Woodgrove Bank estejam protegidos com o TLS mútuo. Além disso, a Contoso quer configurar a funcionalidade de Segurança de Domínio, de forma que todas as mensagens enviadas para o Woodgrove Bank e dele recebidas sejam rejeitadas se o TLS mútuo não puder ser usado.

A Contoso tem uma PKI (infra-estrutura de chave pública) interna que gera certificados. O certificado raiz da PKI foi assinado por uma CA (autoridade de certificação) principal de terceiros. O Woodgrove Bank usa a mesma CA para gerar seus certificados. Portanto, a Contoso e o Woodgrove Bank confiam nas CAs raiz um do outro.

Para configurar o TLS mútuo, os administradores do Exchange na Contoso executam os procedimentos a seguir:

  1. Gerar uma solicitação de certificado para certificados TLS.

  2. Importar o certificado para os servidores de Transporte de Borda.

  3. Configurar a segurança de domínio de saída.

  4. Configurar a segurança de domínio de entrada.

  5. Testar o fluxo de mensagens.

Antes de começar

A configuração do TLS mútuo requer o seguinte:

  • Acesso a servidores Exchange 2007 internos usando o cmdlet Set-TransportConfig e o cmdlet New-SendConnector se você não tiver configurado conectores de envio.

  • Acesso a computadores servidor de Transporte de Borda onde os cmdlets ExchangeCertificate são executados.

Em geral, as alterações de configuração feitas na funcionalidade de Segurança de Domínio que não usam cmdlets ExchangeCertificate devem ser feitas dentro da organização e sincronizadas nos servidores de Transporte de Borda por meio do serviço Microsoft Exchange EdgeSync.

Ao importar e configurar certificados TLS usando cmdlets ExchangeCertificate, é necessário executar os cmdlets no servidor de Transporte de Borda que você está configurando. Para executar cmdlets ExchangeCertificate em um computador em que a função de servidor Transporte de Borda esteja instalada, faça logon com uma conta que seja membro do grupo Administradores local no mesmo computador.

Para executar o cmdlet Set-TransportConfig, você deve usar uma conta à qual esteja delegada a função de Administrador da Organização do Exchange.

Para executar o cmdlet New-SendConnector, você deve usar uma conta à qual esteja delegada a função de Administrador do Exchange Server e grupo de Administradores local nesse computador.

Para obter mais informações sobre permissões, delegação de funções e os direitos necessários para administrar o Exchange 2007, consulte Considerações sobre permissão

Este tópico pressupõe que você tenha lido e compreendido Criando um certificado ou uma solicitação de certificado de TLS.

O serviço Microsoft Exchange EdgeSync deve ser totalmente implantado para Segurança de Domínio.

Para executar com êxito o TLS mútuo em um servidor de Transporte de Borda, é preciso configurar o ambiente do computador e PKI de forma que a validação de certificado e a verificação da lista de certificados revogados fiquem operáveis. Para obter mais informações, consulte Como habilitar PKI no servidor de Transporte de Borda para segurança de domínio.

Gerando uma solicitação de certificado para certificados TLS

Conforme mencionado anteriormente neste tópico, a Contoso tem uma PKI interna subordinada a uma CA de terceiros. Nesse cenário, a subordinação refere-se ao fato de que a CA implantada pela Contoso em sua infra-estrutura corporativa contém um certificado raiz que foi assinado por uma CA pública de terceiros. Por padrão, a CA pública é um dos certificados raiz confiáveis no armazenamento de certificados do Microsoft Windows. Portanto, qualquer cliente que inclua a mesma CA de terceiros em seu armazenamento raiz confiável e que se conecte à Contoso pode ser autenticada com o certificado apresentado pela Contoso.

A Contoso possui dois servidores de Tranporte de Borda que exigem certificados TLS: mail1.contoso.com e mail2.mail.contoso.com. Portanto, o administrador de email da Contoso deve gerar duas solicitações de certificado, uma para cada servidor.

O procedimento a seguir mostra o comando que o administrador usa para gerar uma solicitação de certificado PKCS#10 codificada em base 64. O administrador da Contoso deve executar esse comando duas vezes: uma vez para CN=mail1.contoso.com e uma vez para CN=mail2.mail.contoso.com.

Dica

O nome comum (CN) no nome de Assunto dos certificados resultantes é mail1.contoso.com e mail2.mail.contoso.com, respectivamente. O Nome Alternativo de Assunto contém "mail.contoso.com", que é o FQDN (nome de domínio totalmente qualificado) de um dos domínios aceitos configurado para a Contoso.

Para criar uma solicitação de certificado TLS

  • Execute o seguinte comando:

    New-ExchangeCertificate -GenerateRequest -FriendlyName "Internet certificate" -Path c:\certificates\request.p7c -SubjectName "DC=com,DC=Contoso,CN=mail1.contoso.com"  -DomainName mail.contoso.com
    

Para obter informações detalhadas de sintaxes e de parâmetros, consulte New-ExchangeCertificate.

Importante

Os detalhes específicos do certificado ou da solicitação de certificado que você cria dependem de muitas variáveis. Se você estiver gerando uma solicitação, trabalhe em contato direto com o administrador de CA ou de PKI que emitirá o certificado. Para obter mais informações sobre como criar uma solicitação de certificado para TLS, consulte Criando um certificado ou uma solicitação de certificado de TLS.

Transportando certificados e chaves relacionadas

Ao receber um certificado do seu provedor de CA ou de PKI, converta o certificado emitido em um arquivo PFX (PKCS#12), para que possa fazer backup dele como parte de uma contingência de desastre. Um arquivo PFX contém o certificado e as chaves relacionadas. Em alguns casos, você pode desejar transportar o certificado e as chaves para movê-los para outros computadores. Por exemplo, se você tiver vários servidores de Transporte de Borda em que espera enviar e receber emails que sejam Domínio Seguro, poderá criar um único certificado que funcionará em todos os servidores. Nesse caso, você deve ter o certificado importado e habilitado para TLS em cada servidor de Transporte de Borda.

Enquanto você mantiver uma cópia do arquivo PFX arquivada com segurança, poderá sempre importar e habilitar o certificado. O arquivo PFX contém a chave privada, portanto é importante proteger fisicamente o arquivo, guardando a mídia de armazenamento em um local seguro.

É importante compreender que o cmdlet Import-ExchangeCertificate sempre marca a chave particular importada do PFX como não exportável. Essa funcionalidade é devida ao design.

Ao usar o snap-in Gerenciador de Certificados no MMC (Console de Gerenciamento Microsoft) para importar um arquivo PFX, você pode especificar a exportabilidade da chave particular e a proteção de chaves.

Importante

Não habilite a proteção de chaves em certificados destinados ao TLS. A proteção de chaves solicita ao usuário sempre que uma chave particular é acessada. Com Segurança de Domínio, o "usuário" é o serviço SMTP no servidor de Transporte de Borda.

Importando certificados para servidores de Transporte de Borda

Depois de gerar as solicitações de certificado, o administrador usa as solicitações para gerar os certificados para os servidores. Os certificados resultantes devem ser emitidos como um certificado único ou uma cadeia de certificados e devem ser copiados para os servidores de Transporte de Borda apropriados.

Importante

Para importar os certificados, você deve usar o cmdlet Import-ExchangeCertificate. Para obter mais informações, consulte Import-ExchangeCertificate.

Importante

Não use o snap-in Gerenciador de Certificados no MMC para importar os certificados para TLS no servidor Exchange. Usar o snap-in Gerenciador de Certificados para importar certificados em servidores Exchange não ligará a solicitação criada neste procedimento ao certificado emitido. Portanto, o TLS pode falhar. Você pode usar o snap-in Gerenciador de Certificados para importar os certificados e as chaves armazenadas como arquivos PFX no armazenamento de computador local. Depois que os certificados forem importados, você poderá habilitar o certificado para TLS executando o cmdlet Enable-ExchangeCertificate.

Ao importar o certificado para o servidor de Transporte de Borda, também é preciso habilitá-lo para o serviço SMTP. O administrador da Contoso executa o seguinte comando em cada servidor de Transporte de Borda, uma vez para cada certificado respectivo.

Para importar e habilitar um certificado TLS para Segurança de Domínio em um servidor de Transporte de Borda

  • Execute o seguinte comando:

    Import-ExchangeCertificate -Path c:\certificates\import.pfx | Enable-ExchangeCertificate -Services SMTP
    

Esse comando importa e habilita o certificado TLS, canalizando o cmdlet Enable-ExchangeCertificate.

Você também pode habilitar o certificado depois de importá-lo. Para importar o certificado, execute o seguinte comando:

Import-ExchangeCertificate -Path c:\certificates\import.pfx 

Em seguida, copie a impressão digital para a área de transferência do Windows. Para exibir a impressão digital do certificado que você acabou de importar, execute o seguinte comando:

Get-ExchangeCertificate |FL

Copie os dados do campo Impressão Digital para a área de transferência do Windows.

Finalmente, para habilitar o certificado, execute o seguinte comando:

Enable-ExchangeCertificate -Thumbprint AB493A0C9A6C0327162FE04EF74609CB8FB7FE24 -Services SMTP

Configurando a segurança de domínio de saída

É necessário executar três etapas para configurar a Segurança de Domínio de saída:

  1. Execute o cmdlet Set-TransportConfig para especificar o domínio com o qual você deseja enviar emails de domínio seguro.

  2. Execute o cmdlet Set-SendConnector para definir a propriedade DomainSecureEnabled no conector de envio que enviará mensagens para o domínio com o qual você deseja enviar emails de domínio seguro.

  3. Execute o cmdlet Set-SendConnector para verificar o seguinte:

    • Se o conector de envio que enviará mensagens ao domínio com o qual você deseja enviar emails de domínio seguro roteia mensagens com DNS (Sistema de Nome de Domínio).

    • Se o FQDN está definido para corresponder o Nome de Assunto ou o Nome Alternativo de Assunto dos certificados sendo usados para Segurança de Domínio.

Como as alterações que você faz nessas três etapas são globais, você deve realizá-las em um servidor Exchange interno. As alterações de configuração realizadas serão replicadas nos servidores de Transporte de Borda por meio do serviço Microsoft Exchange.

Especificando o domínio do remetente na configuração de transporte

É relativamente simples especificar o domínio com o qual você deseja enviar emails de domínio seguro. O administrador da Contoso executa o seguinte comando em um servidor Exchange 2007 interno:

Set-TransportConfig -TLSSendDomainSecureList woodgrovebank.com

Para obter mais informações, consulte Set-TransportConfig.

Dica

O parâmetro TLSSendDomainSecureList aceita uma lista com vários valores de nomes de domínio. O comando Set-TransportConfig substitui todo o valor de TLSSendDomainSecureList pelo novo valor fornecido no cmdlet. Portando, se você deseja adicionar um novo domínio, o valor fornecido deve incluir a lista existente e o novo domínio.

Configurando um conector de envio

A Contoso usará seu conector de envio de rota DNS padrão para enviar emails de domínio seguro aos seus parceiros. Como o conector de envio de rota DNS padrão é um conector de envio de Internet padrão, ele usa DNS para rotear mensagens e não usa um host inteligente. O FQDN já está definido como mail.contoso.com. Como os certificados que o administrador da Contoso criou definem o parâmetro DomainName de New-ExchangeCertificate como mail.contoso.com, o conector de envio pode usá-los sem configurações adicional.

Se você tiver configurado um subdomínio para teste, terá de atualizar o FQDN do Conector de Envio para corresponder o certificado criado (por exemplo, subdomain.mail.contoso.com). Por outro lado, se você tiver criado um certificado que contém o subdomínio nos campos Assunto e Nome de Assunto Alternativo, não terá de atualizar o FQDN do Conector de Envio.

Portanto, a única configuração que o administrador da Contoso deve realizar no conector de envio é definir o parâmetro DomainSecureEnabled. Para fazer isso, ele executa o seguinte comando em um servidor Exchange 2007 interno para o conector de envio de "Internet":

Set-SendConnector Internet -DomainSecureEnabled:$True

Para obter mais informações, consulte Set-SendConnector.

Você também pode usar o Console de Gerenciamento do Exchange para habilitar emails de domínio seguro em um conector de envio.

Para usar o Console de Gerenciamento do Exchange para configurar um conector de envio para Segurança de Domínio

  1. Em um servidor de Transporte de Hub, abra o Console de Gerenciamento do Exchange, clique em Configuração da Organização, em Transporte de Hub e, no painel resultante, clique na guia Conectores de Envio.

  2. Selecione o conector de envio que envia mensagens ao domínio do qual você deseja enviar emails de domínio seguro e, em seguida, no painel de ações, clique em Propriedades.

  3. Na guia Rede, selecione Habilitar Segurança de Domínio (TLS de Autenticação Mútua), clique em Aplicar e, em seguida, clique em OK.

Configurando a segurança de domínio de entrada

É necessário executar duas etapas para habilitar a Segurança de Domínio de entrada:

  1. Execute o cmdlet Set-TransportConfig para especificar o domínio do qual você deseja receber emails de domínio seguro.

  2. No servidor de Transporte de Borda, use o Shell de Gerenciamento do Exchange ou o Console de Gerenciamento do Exchange para habilitar a Segurança de Domínio no conector de recebimento do qual você deseja receber emails de domínio seguro. Como a Segurança de Domínio requer autenticação de TLS mútua, também é necessário habilitar TLS no conector de recebimento. 

Especificando o domínio de recebimento na configuração de transporte

É relativamente direto especificar o domínio com o qual você deseja receber emails de domínio seguro. Para especificar o domínio, o administrador da Contoso executa o seguinte comando em um servidor Exchange 2007 interno:

Set-TransportConfig -TLSReceiveDomainSecureList woodgrovebank.com

Para obter mais informações, consulte Set-TransportConfig.

Dica

O parâmetro TLSReceiveDomainSecureList aceita uma lista com vários valores de nomes de domínio. O comando Set-TransportConfig substitui todo o valor do parâmetro TLSReceiveDomainSecureList pelo novo valor fornecido pelo cmdlet Set-TransportConfig. Portando, se você deseja adicionar um novo domínio, o valor fornecido deve incluir a lista existente e o novo domínio.

Configurando um conector de recebimento

É necessário configurar o conector de recebimento em cada servidor de Transporte de Borda que aceite mensagens do domínio do qual você deseja receber emails de domínio seguro. O ambiente da Contoso é configurado para ter um único conector de recebimento de Internet, com uma Identidade Inet, em ambos os servidores de Transporte de Borda. Portanto, para habilitar o TLS, enquanto as mensagens são enviadas ou recebidas do Woodgrove Bank, o administrador da Contoso deve certificar-se de que o TLS esteja habilitado no conector de recebimento de Internet padrão em ambos os servidores de Transporte de Borda.

Para usar o Shell de Gerenciamento do Exchange para configurar um conector de recebimento para Segurança de Domínio

  • No servidor de Transporte de Borda, execute o seguinte comando:

    Set-ReceiveConnector Inet -DomainSecureEnabled:$True -AuthMechanism TLS
    

Para obter informações detalhadas de sintaxes e de parâmetros, consulte Set-ReceiveConnector.

Para usar o Console de Gerenciamento do Exchange para configurar um conector de recebimento para Segurança de Domínio

  1. No servidor de Transporte de Borda, abra o Console de Gerenciamento do Exchange, clique em Transporte de Borda e, no painel de resultados, clique na guia Conectores de Recebimento.

  2. Selecione o conector de recebimento que aceita mensagens do domínio do qual você deseja receber emails de domínio seguro e, no painel de ações, clique em Propriedades.

  3. Na guia Autenticação, selecione Transport Layer Security (TLS) e Habilitar Segurança de Domínio (TLS de Autenticação Mútua) e clique em OK.

Observe que especificar o mecanismo de autenticação como TLS não forçará o TLS em todas as conexões de entrada.

O TLS será forçado para conexões do Woodgrove Bank pelos seguintes motivos:

  • O Woodgrove Bank está especificado no cmdlet Set-TransportConfig no parâmetro TLSReceiveDomainSecureList.

  • O parâmetro DomainSecureEnabled está definido como $True no conector de recebimento.

Outros remetentes não listados no parâmetro TLSReceiveDomainSecureList no cmdlet Set-TransportConfig só usarão TLS se houver suporte no sistema de envio.

Dica

Um efeito da habilitação da Segurança de Domínio em um conector de recebimento é que um certificado de cliente é solicitado durante a negociação de TLS. Se o domínio do qual o cliente está enviando não estiver na lista de domínios seguros, o cliente não será obrigado a enviar o certificado.

Testando o fluxo de mensagens de domínio seguro

Depois de configurar os emails de domínio seguro, você poderá testar a conexão, analisando os logs de desempenho e os logs de protocolo. As mensagens autenticadas com êxito no caminho do fluxo de mensagens de domínio seguro são exibidas no Outlook 2007 como mensagens de "Domínio Seguro".

Contadores de desempenho

O recurso de Segurança de Domínio inclui o seguinte conjunto de contadores de desempenho em Transporte de Email Seguro MSExchange:

  • Mensagens do Domínio Seguro Recebidas

  • Mensagens do Domínio Seguro Enviadas

  • Falhas de Sessões de Saída do Domínio Seguro

Você pode criar um novo arquivo de log do contador para o fluxo de mensagens de domínio seguro com esses contadores de desempenho para monitorar o número de mensagens enviadas e recebidas e as sessões de TLS mútuas com falha. Para obter mais informações sobre como criar e configurar logs de contador, consulte o arquivo de Ajuda incluído no snap-in Logs de desempenho e alertas do MMC.

Logs de protocolo

Você pode analisar os logs de protocolo de envio e recebimento para determinar se a negociação de TLS foi bem-sucedida. A negociação de TLS bem-sucedida gerará logs que se assemelham aos exemplos a seguir.

Para exibir logs detalhados de protocolo, você deve definir o nível de log do protocolo como Verbose nos conectores que sua organização usa para enviar e receber email de Domínio Seguro.

Para usar o Shell de Gerenciamento do Exchange para configurar um Conector de Recebimento para log detalhado de protocolo

  • No servidor de Transporte de Borda, execute o seguinte comando:

    Set-ReceiveConnector Inet -ProtocolLoggingLevel Verbose
    

    Em que Inet é o nome do Conector de Recebimento no qual o email de Domínio Seguro está habilitado.

Para usar o Shell de Gerenciamento do Exchange para configurar um Conector de Envio para log detalhado de protocolo

  • No servidor de Transporte de Borda, execute o seguinte comando:

    Set-SendConnector Internet -ProtocolLoggingLevel Verbose
    

    Em que Internet é o nome do Conector de Envio em que o email de Domínio Seguro está habilitado.

Exemplo de um log de envio

<220 edgedns3 ESMTP Microsoft ESMTP MAIL Service, Version: 8.0.647.0; Tue, 29 Aug 2006 04:22:00 -0700 (PDT)
>EHLO edgea36.dns.contoso.com
<250-edgedns3 Hello woodgrove.com [192.168.0.2], pleased to meet you
<250-ENHANCEDSTATUSCODES
<250-PIPELINING
<250-EXPN
<250-VERB
<250-8BITMIME
<250-SIZE
<250-DSN
<250-ETRN
<250-STARTTLS
<250-DELIVERBY
<250 HELP
>STARTTLS
<220 2.0.0 Ready to start TLS
*Sending certificate
*CN=edgea36, Certificate subject
*CN=edgea36, Certificate issuer name
*CA2EDF2487C6F09B4E413FD3812A7F89, Certificate serial number
*E8DA062786FD097DD8D79FF10C583CC23AD64F6C, Certificate thumbprint
*edgea36;edgea36.dns.contoso.com, Certificate alternate names
*Received certificate
*CN=smi.extest.contoso.com, OU=Contoso, O=Corp, L=Spokane, S=WA, C=US, Certificate subject
*CN=ExCertDom EntSub Issuing CA v1.0, DC=ExCertDom, DC=ExTest, DC=Contoso, DC=Com, Certificate issuer name
*446DD186000A00002819, Certificate serial number
*DC27B5F8657F84B15B5004BE63CE482721871582, Certificate thumbprint
*smi.extest.contoso.com, Certificate alternate names
>EHLO edgea36.dns.contoso.com
<250-edgedns3 Hello woodgrove.com [192.168.0.2], pleased to meet you
<250-ENHANCEDSTATUSCODES
<250-PIPELINING
<250-EXPN
<250-VERB
<250-8BITMIME
<250-SIZE
<250-DSN
<250-ETRN
<250-DELIVERBY
<250 HELP
*08C895F533E837EC;2006-08-28T22:37:53.323Z;1, sending message
>MAIL FROM:<user@example.com> SIZE=614
>RCPT TO:<root@smi.extest.contoso.com>
<250 2.1.0 <user@example.com>... Sender ok
<250 2.1.5 <root@smi.extest.contoso.com>... Recipient ok
>DATA
<354 Enter mail, end with "." on a line by itself
<250 2.0.0 k7TBM0BZ000043 Message accepted for delivery
>QUIT
<221 2.0.0 edgedns3 closing connection

Exemplo de um log de recebimento

>220 edgea36 Microsoft ESMTP MAIL Service, Version: 8.0.647.0 ready at Mon, 28 Aug 2006 15:37:53 -0700
<EHLO edgedns3
>250-edgea36.dns.contoso.com Hello [192.168.0.1]
>250-SIZE 15728640
>250-PIPELINING
>250-DSN
>250-ENHANCEDSTATUSCODES
>250-STARTTLS
>250-AUTH
>250-8BITMIME
>250-BINARYMIME
>250 CHUNKING
<STARTTLS
>220 2.0.0 SMTP server ready
*Sending certificate
*CN=edgea36, Certificate subject
*CN=edgea36, Certificate issuer name
*CA2EDF2487C6F09B4E413FD3812A7F89, Certificate serial number
*E8DA062786FD097DD8D79FF10C583CC23AD64F6C, Certificate thumbprint
*edgea36;edgea36.dns.contoso.com, Certificate alternate names
*Received certificate
*CN=smi.extest.contoso.com, OU=Contoso, O=Corp, L=Spokane, S=WA, C=US, Certificate subject
*CN=ExCertDom EntSub Issuing CA v1.0, DC=ExCertDom, DC=ExTest, DC=Contoso, DC=Com, Certificate issuer name
*446DD186000A00002819, Certificate serial number
*DC27B5F8657F84B15B5004BE63CE482721871582, Certificate thumbprint
*smi.extest.contoso.com, Certificate alternate names
<EHLO edgedns3
>250-edgea36.dns.contoso.com Hello [192.168.0.1]
>250-SIZE 15728640
>250-PIPELINING
>250-DSN
>250-ENHANCEDSTATUSCODES
>250-AUTH
>250-8BITMIME
>250-BINARYMIME
>250 CHUNKING
<MAIL From:<user@smi.extest.contoso.com> SIZE=16
*08C895F533E837EC;2006-08-28T22:37:53.323Z;1, receiving message
>250 2.1.0 user@smi.extest.contoso.com Sender OK
<RCPT To:<user@woodgrove.com>
>250 2.1.5 user@woodgrove.com Recipient OK
<DATA
>354 Start mail input; end with <CRLF>.<CRLF>
>250 2.6.0 <200608281121.k7SBHYi0004586@edgedns3> Queued mail for delivery
<QUIT
>221 2.0.0 Service closing transmission channel

Para obter mais informações sobre como exibir logs de protocolo, consulte Como configurar o log do protocolo.

Para obter mais informações sobre como gerenciar a Segurança de Domínio no Exchange 2007, consulte Gerenciando segurança de domínio.

Para obter mais informações sobre como configurar uma infra-estrutura de chave pública, consulte Práticas recomendadas para implementar uma infra-estrutura de chave pública do Microsoft Windows Server 2003.