Como habilitar as Cifras SSL 3DES para o OpenSSL 1.0.2k

2

O OpenSSL 1.0.2k removeu cifras 3DES por padrão, o que significa que alguns navegadores legados (por exemplo, o IE8 no Windows XP) não podem mais ser suportados.

De acordo com Blog oficial do OpenSSL , para reativar as cifras 3DES, devemos adicionar enable-weak-ssl-ciphers bandeira ao compilar.

Então, como lidar com isso? Quaisquer outros sinalizadores necessários ao compilar? Além disso, posso cobrir o Openssl instalado pelo DPKG (ferramenta de gerenciamento de pacotes Debian) com a versão auto-compilada e habilitada para 3DES? Se for praticável, como?

Obrigado :-)

Hardrain
fonte
Certamente WinXP suporta mais do que apenas 3DES?
grawity

Respostas:

1

Como não tenho uma resposta útil para resolver esse problema, gostaria de compartilhar o que fiz nele.

Primeiro você deve obter as ferramentas para construir software e as dependências para o OpenSSL (por exemplo, em distros do tipo Debian)

apt install build-essential make zlib1g-dev libxml2-dev

Então pegue a última versão do OpenSSL, verifique a assinatura e compile com a opção enable-weak-ssl-ciphers, se você quiser recuperar o suporte do SSLv3 obsoleto para o GOD D ** N Microsoft IE6, enable-ssl3 e enable-ssl3-method também deve ser anexado à opção de compilação.

Não esqueça o shared bandeira ou libssl.so e libcrypto.so não será construído e usar -Wl,-rpath= para dizer ao linker ( ld ) para vincular bibliotecas compartilhadas em qual diretório.

wget https://www.openssl.org/source/openssl-1.0.2o.tar.gz
sha256sum openssl-1.0.2o.tar.gz
curl https://www.openssl.org/source/openssl-1.0.2o.tar.gz.sha256

tar -zxvf openssl-1.0.2o.tar.gz
cd openssl-1.0.2o/

./config --prefix=/opt/openssl-1.0.2 \
--openssldir=/etc/ssl \
shared enable-weak-ssl-ciphers \
-Wl,-rpath=/opt/openssl-1.0.2/lib

make
make install

Depois disso, sua versão personalizada do OpenSSL será instalada /opt/openssl-1.0.2 (em vez de cobrir a versão fornecida com o seu sistema operacional).

Seus aplicativos também podem ter que ser recompilados, com essas opções para forçar o vinculador a vincular sua versão personalizada de bibliotecas OpenSSL (Substituir a configuração de /etc/ld.so.conf ou PKGCONFIG variável)

LDFLAGS="-L/opt/openssl-1.0.2/lib -lssl -lcrypto -Wl,-rpath=/opt/openssl-1.0.2/lib"

Você também pode tentar o OpenSSL 1.1.0, já que a maioria dos aplicativos agora suporta a API dele.

Hardrain
fonte
0

Você vai precisar de:

  1. Reconstruindo o Pacote OpenSSL do Debian - a versão incluída no seu lançamento Debian.
  2. Hospedando-o em algum lugar para disponibilizá-lo em todas as máquinas você quer que ele substitua o original.
  3. Certificando-se de reconstruir sua versão personalizada cada vez que o estoque OpenSSL pacote recebe uma atualização de segurança (e, portanto, sua nova versão corrigida é lançada através do canal de atualizações de segurança).

Infelizmente, todas as etapas acima exigem maior expansão, então a principal questão que eu tenho é você certo triple-DES está desabilitado no repositório do Debian? No meu sistema Stretch eu tenho:

$ openssl version
OpenSSL 1.1.0c  10 Nov 2016

$ openssl list -cipher-algorithms | grep -i des
DES => DES-CBC
DES-CBC
DES-CFB
DES-CFB1
DES-CFB8
DES-ECB
DES-EDE
DES-EDE-CBC
DES-EDE-CFB
DES-EDE-ECB => DES-EDE
DES-EDE-OFB
DES-EDE3
DES-EDE3-CBC
DES-EDE3-CFB
DES-EDE3-CFB1
DES-EDE3-CFB8
DES-EDE3-ECB => DES-EDE3
DES-EDE3-OFB
DES-OFB
DES3 => DES-EDE3-CBC
DESX => DESX-CBC
DESX-CBC
des => DES-CBC
DES-CBC
DES-CFB
DES-CFB1
DES-CFB8
DES-ECB
DES-EDE
DES-EDE-CBC
DES-EDE-CFB
des-ede-ecb => DES-EDE
DES-EDE-OFB
DES-EDE3
DES-EDE3-CBC
DES-EDE3-CFB
DES-EDE3-CFB1
DES-EDE3-CFB8
des-ede3-ecb => DES-EDE3
DES-EDE3-OFB
DES-OFB
des3 => DES-EDE3-CBC
des3-wrap => id-smime-alg-CMS3DESwrap
desx => DESX-CBC
DESX-CBC
id-smime-alg-CMS3DESwrap

$ openssl list -disabled
Disabled algorithms:
BLAKE2
HEARTBEATS
IDEA
MD2
MDC2
RC5
SCTP
SSL3
ZLIB

O que, para mim, sugere que eu tenha uma versão mais recente do OpenSSL do que você está falando, e tem 3DES suportado.

Então, você testou?

kostix
fonte