Обновите OpenSSL в Ubuntu 12.04

20

Я хотел обновить OpenSSL до 1.0.1 в системе Ubuntu 12.04. Я заметил, что apt-get upgrade opensslне заканчивается обновление OpenSSL. Поддерживается ли более новый OpenSSL в Ubuntu?

Я также пытался компилировать из источника. Компиляция работает, но я не могу узнать, как заменить встроенный OpenSSL (1.0.0) более новым (1.0.1). Компиляция из исходного кода заставляет меня работать с более новой версией вместе со старой версией - мне нужно заменить старую версию более новой версией. Моя причина этого заключается в том, чтобы FreeSWITCH компилировался с более новой версией, потому что последний источник FreeSWITCH не совместим с OpenSSL 1.0.0, и, похоже, во FreeSWITCH нет конфигурации make, которая указала бы путь к новому OpenSSL. (Так он упорно продолжает использовать старую версию и не в работе!)

Спасибо заранее. Любая помощь будет принята с благодарностью.

Кшитий Саксена
источник
Пожалуйста, включите в свой вопрос, почему вы хотите обновить. Ubuntu исправляет ошибки в бэкпорте, включая исправления безопасности. Посмотрите, apt-get changelog opensslчтобы увидеть изменения. По замыслу Ubuntu не обновляет пакеты внутри релиза. Именно так работают выпуски в большинстве не-Windows ОС (замораживание системных библиотек / версий пакетов).
gertvdijk
Я включил причину - мне нужен FreeSWITCH для работы в системе, которая требует OpenSSL 1.0.1
Кшитий Саксена
Попробуйте sudo apt-get install openssl. Это обновит ваш пакет openssl.
Авинаш Радж
Вам нужно добавить еще один OpenSSL PPA в список источников, если вы хотите обновлять пакет. Тем не менее, я не уверен, что для этого есть Ubuntu PPA ... Ручная компиляция, вероятно, будет самой простой.
Джон У. С. Смит,
просто обновление и обновлениеsudo apt-get update && sudo apt-get upgrade
Fakhri Zulkifli

Ответы:

13

ВНИМАНИЕ: этот вопрос и ответ предшествуют ошибке OpenSSL, Heartbleed.

Сначала вам нужно полностью удалить старую установку: (это сломает большинство систем! Будьте осторожны! Большинство людей пожалеют об этом) apt-get purge openssl

Вы можете очистить дом, запустив:

apt-get autoremove && apt-get autoclean

Затем вам нужно скачать и скомпилировать нужную версию ( полный список )

wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
philshem
источник
7
Для всех, кто читает это в контексте обновлений безопасности: все локальные сервисы по-прежнему связаны с USSAU. Пожалуйста, не полагайтесь на локальную установку OpenSSL ( /usr/localпо умолчанию)! Так что просто обновляйте свою систему Ubuntu обычным способом получать обновления безопасности!
gertvdijk
Какие важные данные могут быть удалены?
Я не знаю, это была не моя редакция.
philshem
Никогда не думал, что «чистый дом» означает удаление всех важных пакетов и баз данных. Не знаю, как восстановить мой сайт сейчас, лол.
Драконтис
Текущая версия OpenSSL в Ubuntu Trusty сообщает о себе как о версии 1.0.1f. Тем не менее, команда OpenSSL утверждает, что g является исправленной версией: git.openssl.org/gitweb/… . Я предлагаю установить из источника ...
Том Swirly
12

Установите пакет разработки!

1.0.1 является частью Ubuntu 12.04 на момент написания. Однако для того, чтобы скомпилировать его, вам также необходимо установить пакет разработки ( libssl-dev)!

Сначала сделайте обновление списка пакетов

sudo apt-get update

Затем установите пакет разработки и обновите саму библиотеку за один раз:

sudo apt-get install openssl libssl-dev

Вы можете увидеть здесь 1.0.1 является частью 12.04: http://packages.ubuntu.com/precise-updates/openssl

Если ваша система по-прежнему устанавливает 1.0.0, у вас настроен какой-то другой репозиторий или что-то еще в вашем управлении пакетами было изменено, чтобы вызвать эту ошибку. В этом случае проверьте, что вызывает его на 1.0.0, запустив

apt-cache policy openssl libssl-dev
gertvdijk
источник
Да, он устанавливает 1.0.1, но это все еще влияет. На 2 или на моих серверах, работающих под управлением 12.04, выполняется указанная выше команда, OpenSSL 1.0.1cкоторая уязвима
Дин Перри,
4
@DeanPerry Нет, это НЕ уязвимо для Heartbleed со вчерашнего дня. Бэкпорт Ubuntu исправляет предоставленные версии. Прочитайте журналы изменений и рекомендации по безопасности Ubuntu USN-2165-1 . Просто обновите свою систему, и все в порядке. Пожалуйста, не распространяйте страх по первой части номера версии и не читайте о том, как работает релиз Ubuntu.
gertvdijk
@gertvdijk Список изменений, на который вы ссылались, относится к более высокой версии (Quantal), но 12.04 (Precise) из исходного ответа также обновлено, см .
Мщайна
@mschayna Changelog запись для точного тогда; здесь вы идете: launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12
gertvdijk
6

Попробуйте загрузить последнюю версию libsslи opensslс http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/ и установить обе версии .

Предупреждение: это нарушит автоматические обновления безопасности для OpenSSL.

buddy86
источник
Я нашел обновление для 1.0.1fof opensslи libsslбыл достаточно новым, чтобы остановить routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol versionошибку, которая появилась недавно.
Том Салеба