Nenhum dos conjuntos de cifras suportados pelo aplicativo cliente é suportado pelo servidor

9

Estou recebendo esse erro no log de eventos do Windows do meu servidor:

Uma solicitação de conexão TLS 1.0 foi recebida de um aplicativo cliente remoto, mas nenhum dos conjuntos de cifras suportados pelo aplicativo cliente é suportado pelo servidor. A solicitação de conexão SSL falhou.

Quando tento conectar-me a um serviço da Web em uma caixa do Windows 7 a partir de uma caixa do Windows Server 2003.

Como adiciono um conjunto de criptografia a um que o outro suporta?

(corrigir clientes é o ideal, mas, na falta de uma solução de servidor - eu tenho acesso a todas as caixas envolvidas, só quero uma criptografia básica entre eles para privacidade).

Junto com horas de pesquisa e leitura, tentei:

  • Visualizador de eventos do Windows verificado do servidor (erro encontrado no conjunto de cifras)
  • Pacotes de cifras adicionados ao test1 em http://support.microsoft.com/kb/948963 (não ajudou)
  • Adicionado TLS 1.0 aos protocolos em conjuntos de criptografia no registro do Windows do servidor (sem alterações)
  • Instale as ferramentas do IIS na esperança de adicionar mais protocolos ao Schannel (isso não acontece)
  • Certificado de exportação para clientes, novamente, mas com chave privada incluída (sem alteração)
  • Verifique se os conjuntos de cifras instalados correspondem no servidor e no cliente (não consegue encontrar onde o win2k3 os lista)
  • Adicione TLS_RSA_WITH_AES_256_CBC_SHA (instalado pelo hotfix acima) aos conjuntos de cifras do servidor (não, já estão lá)
MGOwen
fonte
@sohnee serverfault.com/questions/166750/… A resposta de Garys sobre essa questão é uma maneira de responder a esse detalhe.
Drifter104
Você provavelmente já sabe disso, mas vou publicá-lo assim mesmo para quem não sabe. O Windows 2003 não é mais suportado pela Microsoft e não receberá mais atualizações. Se você estiver usando 2k3, deve migrar ou atualizar.
Licenciada #
Esse problema também é visível no Server 2008 (e provavelmente em 2012, embora ainda não tenha SSL em 2012 aqui).
Fenton

Respostas:

5

O Windows 7 usa a nova API CNG (Cryptography Next Generation) ao escolher cifras. O CNG para Windows 2003 não está disponível até onde eu sei.

No entanto, você pode instalar esses conjuntos de criptografia baseados em AES para uso no Windows 2003:

  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA

Esses são os primeiros pacotes que os clientes Windows Vista e Windows 7 tentam negociar para usar com o TLS 1.0 e superior e também são suportados pelos clientes OpenSSL.

Para usá-los, instale o KB948963

Mathias R. Jessen
fonte
1
Obrigado! Eu deveria ter mencionado que já tentei isso - não resolveu o problema para mim. Talvez a outra caixa ainda os rejeite porque a CBC não é mais considerada segura? Eles estão na lista de conjuntos de cifras, no entanto, o que mais posso fazer? :(
MGOwen
Interessante como a comunidade funciona. Agora, a resposta principal para esta pergunta é aquela que nunca funcionou, e a resposta real é rebaixada ... Suponho que devido ao SHA1 estar obsoleto alguns anos depois que essa pergunta foi esquecida há muito tempo. Esperemos que esta resposta ajude alguém - ou ninguém está obrigado a apoiar ganhar 2K3 servidores mais ...
MGOwen
1
@MGOwen Me desculpe, eu não fui capaz de ajudá-lo. Eu pessoalmente resolvi um problema semelhante ao seu, com o hotfix ao qual vinculei. Felizmente, os upvotes refletir o número de pessoas que acharam esta resposta útil
Mathias R. Jessen
-1

A solução foi gerar meu certificado novamente, desta vez forçando RSA e SHA1 (embora SHA1 seja o padrão de qualquer maneira). Por alguma razão, o Win Server 2k3 não poderia ou não usaria as cifras corretas com um certificado makecert padrão. Aqui está a linha de comando que funcionou para mim:

makecert -pe -r -ss my -sr localMachine -n ​​"CN = domainnameoripaddressgoeshere.com" -e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky exchange -sp "Microsoft RSA SChannel Fornecedor de criptografia "-sy 12

Para obter detalhes, consulte http://mgowen.com/2013/06/19/cipher-suites-issue/ e http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx .

MGOwen
fonte
3
sha1 está obsoleto. Suponho que o problema tenha surgido porque todas as cifras suportadas pelo seu cliente de 2003 foram preteridas devido a desenvolvimentos de segurança nos últimos dois anos. Sua abertura dessas cifras novamente provavelmente abrirá brechas de segurança. Observe também que o Google o penalizará se você usar o SHA1 para obter um certificado de site. community.qualys.com/blogs/securitylabs/2014/09/09/…
mc0e
1
A frase "SHA1 deve ser o padrão de qualquer maneira" provavelmente é verdadeira no contexto que você provavelmente estava usando, mas como o @ mc0e disse, ela foi preterida devido a problemas de segurança e hoje em dia essa frase causava arrepios nos profissionais de TI e segurança . Certifique-se de usar o SHA-2 (SHA-256) sempre que possível, pois agora é o padrão.
rubynorails
Obrigado rubynorails. Eu editei minha resposta, quis dizer que o SHA1 era o padrão no makecert (em 2013, quando escrevi isso, não tenho certeza se existem versões mais recentes do makecert para as quais esse não é mais o caso). Vou ver se ainda usamos o SHA1 e considerar se vale a pena tentar fazer com que o makecert use outra coisa e faça nossos certificados novamente (não é para um produto voltado para o público).
quer tocar hoje
Para o Server2003 SP2 aceitar (verificar) um certificado SHA-256, é necessário outro hotfix support.microsoft.com/pt-br/kb/938397 . (XP SP2 também requereu isto, mas ficou SP3 com a correção antes de suporte terminou.)
dave_thompson_085