AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 832571
Accepted
Caynadian
Caynadian
Asked: 2017-02-15 13:09:30 +0800 CST2017-02-15 13:09:30 +0800 CST 2017-02-15 13:09:30 +0800 CST

SQL Server envia e-mail para Exchange 2016 DAG dá erro de certificado

  • 772

Temos uma instalação do SQL Server 2008R2 que estava enviando e-mail para nosso servidor Exchange 2010 agora desativado. Agora estamos executando um Exchange 2016 DAG com 2 hosts (mailserver1.example.com e mailserver2.example.com) com um ponteiro DNS chamado mail.example.com que faz referência a ambos os servidores. Portanto, quando desativamos o servidor antigo, mudamos de usar um nome de host real (severname.example.com) para mail.example.com. Ao fazermos isso, obtemos o seguinte erro:

The mail could not be sent to the recipients because of the mail server failure. (Sending Mail using Account 1 (2017-02-14T15:41:00). Exception Message: Cannot send mails to mail server. (The remote certificate is invalid according to the validation procedure.).

Se eu alterar a configuração de email do banco de dados para apontar para um servidor individual no DAG (mailserver1.example.com), tudo funcionará bem.

Usamos um certificado curinga (*.example.com) nos servidores de e-mail, então não tenho certeza se esse é o problema.

Gostaria de corrigir o problema para manter a resiliência. Alguém pode me dizer o que não gosta?

EDIT: Então, me aprofundei em quais certificados estão instalados/sendo usados:

Get-ExchangeCertificate -server mailserver2.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
133914D76770DE347949C1FF771A64B7B6  IP.....    CN=mailserver2.example.com
4D2582DA78719BCC1B1CB8F33B3FAC2E54  IP..S..    CN=mailserver2
B39C5DED40D1C926A1ABDA2CA5B30FE305  ....S..    CN=Microsoft Exchange Server Auth Certificate
AD3C61F290199AB908ECB976A0C8341351  .......    CN=WMSvc-mailserver2
E6F14092B221239F51A62420FD74F2FA63  IP.WS..    CN=mailserver2.example.com
D1215C7C1E5D674E7C204FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...


Get-ExchangeCertificate -server mailserver1.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
4C560FF28A576F814DFAD198C81912C3BE  IP.....    CN=mailserver1.example.com
B39C5DED40D1C926A1A8DA2CA5B30FE305  ....S..    CN=Microsoft Exchange Server Auth Certificate
A29DA1FA4C800AB5EAD22B0BFA39D7BC5B  IP..S..    CN=mailserver1
184B109C120633C33711E26C40F4FAFFC6  .......    CN=WMSvc-mailserver1
22C69182932BE55A2F01B20C10FADBE359  IP.WS..    CN=mailserver1.example.com
D1215C7C1E5D674E7C244FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

Get-ExchangeCertificate -domainname example.com

Thumbprint                          Services   Subject
----------                          --------   -------
D1215C7C1E5D674E7C644FCB776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

Get-ExchangeCertificate -domainname mail.example.com

Thumbprint                          Services   Subject
----------                          --------   -------
D1215C7C1E5D674E7C20D9FF776D60F93E  ...WS..    CN=*.example.com, OU=PremiumSSL Wildcard, O=Example Company...

Quando uso o OPENSSL (conforme a resposta 1 abaixo), recebo nosso certificado CA interno (CN=mailserver2.example.com) em vez do certificado curinga.

EDIT 2: Aqui está a saída do comando OpenSSL: openssl s_client -connect mailserver1.example.com:25 -starttls smtp

Loading 'screen' into random state - done
CONNECTED(000001F4)
depth=1 /DC=com/DC=example/CN=example-Issuing-CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/CN=mailserver1.example.com
   i:/DC=com/DC=example/CN=example-Issuing-CA
 1 s:/DC=com/DC=example/CN=example-Issuing-CA
   i:/CN=example-Root-CA
---
Server certificate
-----BEGIN CERTIFICATE-----
< certificate info here >
-----END CERTIFICATE-----
subject=/CN=mailserver1.example.com
issuer=/DC=com/DC=example/CN=example-Issuing-CA
---
No client certificate CA names sent
---
SSL handshake has read 3875 bytes and written 485 bytes
---
New, TLSv1/SSLv3, Cipher is AES256-SHA
Server public key is 2048 bit
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES256-SHA
    Session-ID: < session ID >
    Session-ID-ctx:
    Master-Key: < master key >
    Key-Arg   : None
    Start Time: 1487248994
    Timeout   : 300 (sec)
    Verify return code: 20 (unable to get local issuer certificate)
---
250 XRDST
QUIT
DONE
sql-server exchange
  • 1 1 respostas
  • 1411 Views

1 respostas

  • Voted
  1. Best Answer
    BastianW
    2017-02-16T08:52:58+08:002017-02-16T08:52:58+08:00

    O problema que você vê aqui está relacionado ao certificado SSL usado para o serviço SMTP oferecido pelo ambiente MS Exchange.

    Para verificar o certificado SSL, você pode usar openSSL via:

    openssl s_client -connect exchange01.int.contoso.com:25 -starttls smtp

    Dependendo da configuração do seu ambiente MS Exchange, várias soluções podem ser aplicadas aqui (veja aqui para mais informações):

    • O nome do host não está no certificado SSL (pode não ser o caso do seu ambiente)
    • O servidor MS Exchange ainda usava um certificado autoassinado, você verá isso com o openssl
    • Alguns certificados SSL usados ​​aqui estão desatualizados
    • Algumas partes da cadeia de certificação não são confiáveis ​​(importe o que falta no armazenamento raiz confiável da máquina, pois seu caso está relacionado aos serviços SQL)

    Atualização (devido à sua edição): parece que o serviço SMTP não está usando o certificado correto com base na sua solução de problemas. Portanto, o seguinte deve prendê-lo:

    Enable-ExchangeCertificate -Thumbprint D1215C7C1E5D674E7C244FCB776D60F93E -Identity mailserver1.example.com -Services SMTP
    

    Você precisa executá-lo para o servidor Exchange.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve