2

OpenSSL 1.0.2k удалил шифры 3DES по умолчанию, что означает, что некоторые устаревшие браузеры (например, IE8 в Windows XP) больше не поддерживаются.

Согласно официальному блогу OpenSSL, чтобы повторно включить 3DES-шифры, мы должны добавить флаг enable-weak-ssl-ciphers при компиляции.

Итак, как с этим справиться? Любые другие флаги, необходимые при компиляции? Кроме того, могу ли я покрыть Openssl, установленный DPKG(инструментом управления пакетами Debian) с помощью самоскомпилированной версии с поддержкой 3DES? Если это возможно, как?

Спасибо :-)

2 ответа2

1

Так как у меня нет никакого полезного ответа, чтобы решить эту проблему, я хотел бы поделиться тем, что я сделал по этому вопросу.

Сначала вы должны получить инструменты для сборки программного обеспечения и зависимостей для OpenSSL (например, на Debian-подобных дистрибутивах).

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

Затем получите последний выпуск OpenSSL, проверьте подпись и скомпилируйте ее с опцией enable-weak-ssl-ciphers , если вы хотите восстановить поддержку устаревшего SSLv3 для GOD D ** N Microsoft IE6, enable-ssl3 и enable-ssl3-method также должен быть добавлен к опции компиляции.

Не забывайте shared флаг или libssl.so и libcrypto.so не будут собраны , и используйте -Wl,-rpath= чтобы указать компоновщику (ld) связать совместно используемые библиотеки с каким каталогом.

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

После этого ваша пользовательская версия OpenSSL будет установлена в /opt/openssl-1.0.2 (а не на версию, поставляемую с вашей ОС).

Ваши приложения также могут быть перекомпилированы, с этими параметрами, чтобы заставить компоновщик связать вашу пользовательскую версию библиотек OpenSSL (переопределите конфигурацию из /etc/ld.so.conf или переменной PKGCONFIG )

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

Вы также можете попробовать OpenSSL 1.1.0, так как большинство приложений теперь поддерживают его API.

0

Тебе понадобится:

  1. Перестройка пакета OpenSSL Debian - версии, включенной в ваш выпуск Debian.
  2. Хостинг где-нибудь, чтобы сделать его доступным на всех машинах, которые вы хотите заменить оригинальной.
  3. Убедитесь, что вы перестраиваете свою пользовательскую версию каждый раз, когда стандартный пакет OpenSSL получает обновление безопасности (и, следовательно, его новая исправленная версия выпускается через канал обновлений безопасности).

К сожалению, все вышеперечисленные шаги требуют дальнейшего расширения, поэтому главный вопрос, который у меня возникает, заключается в том, уверены ли вы, что triple-DES отключен в стандартных сборках Debian? В моей системе растяжки у меня есть:

$ 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

Что, на мой взгляд, говорит о том, что у меня есть более свежая версия OpenSSL, чем та, о которой вы говорите, и она поддерживает 3DES.

Итак, вы тестировали?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .