5

Я пробовал следующее, но я не могу получить дату сборки позже, чем:

Вт, авг 21 05:18:46 UTC 2012

Я сделал следующее:

apt-get dist-upgrade
apt-get update
apt-get upgrade openssl

а также

apt-get purge openssl
apt-get install openssl

а также

apt-get purge libcrypto1.0.0
apt-get install libcrypto1.0.0

Кажется, все работает нормально, но дата сборки остается, как указано выше. И тест http://filippo.io/Heartbleed/ все еще не проходит.

Я знаю, что я не сумасшедший, потому что я смог обновить свой идентичный сервер в среду. (Идентично КАЖДОМУ, кроме аппаратного).

РЕДАКТИРОВАТЬ:

Я сравнил файлы /etc/apt/sources.list на обеих машинах, и они оказались идентичными. Как один сервер обновился, а другой нет?

РЕДАКТИРОВАТЬ:

Сделал как предложено:

apt-get purge openssl
reboot
apt-get install openssl
reboot

но безрезультатно.

Пробовал те же команды на libssl1.0.0, все та же версия, как указано выше.

Это меня озадачило.

Какие-либо предложения?

РЕДАКТИРОВАТЬ

Как только я получу достаточно уличного кредита (15), я найду +1 жизнеспособных обходных путей

РЕДАКТИРОВАТЬ

Как и предполагалось, я запустил apt-get с --reinstall --print-uris и вернулся:

http://us.archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5.12_amd64.deb

Затем перезагрузите, ту же версию, что указана выше. Все еще терпит неудачу сердцебиение.

4 ответа4

7

Принудительная переустановка пакета

Apt считает, что пакеты установлены и обновлены. Ручная проверка и тестирование libssl предполагает иное, поэтому база данных пакета не соответствует установленным файлам (возможно, ранее файлы были обновлены без участия менеджера пакетов). По какой-либо причине это произошло, пакет не обновляется правильно или переустанавливается. Это предполагает, что было установлено, что система сообщает о фиксированных версиях, но все еще показывает как уязвимые.

Сначала попытайтесь принудительно переустановить уязвимые пакеты:

apt-get install --reinstall libssl1.0.0

Если это не помогло, попробуйте принудительно удалить пакет, не задействовав ни одного из методов управления зависимостями и проверки работоспособности Apt:

dpkg --force-all --remove libssl1.0.0

На этом этапе система фактически «сломана», потому что libssl отсутствует, и все еще устанавливаются многие пакеты, которые зависят от нее (это то, что Apt так старается предотвратить, и причина, по которой мы идем за спиной Apt), поэтому переустановите libssl1 .0.0, повторно скачивая последний пакет из репозитория:

apt-get clean && apt-get install libssl1.0.0

Кроме того, если вы загрузили известный исправный пакет deb, вы можете использовать dpkg для установки и принудительной перезаписи любых существующих файлов:

dpkg --force-overwrite -i libssl1.0.0_1.0.1-4ubuntu5.12_amd64.deb

Повторно протестируйте и проверьте (debsums, sha1sum) установленные файлы на соответствие установленной конфигурации.

2

Если в ваших репозиториях apt-get нет предварительно скомпилированной версии 1.0.1g OpenSSL , просто скачайте исходники с официального сайта и скомпилируйте его.

Ниже единственной командной строки для компиляции и установки последней версии openssl.

curl https://www.openssl.org/source/openssl-1.0.1g.tar.gz | tar xz && cd openssl-1.0.1g && sudo ./config && sudo make && sudo make install

Замените старый двоичный файл openssl на новый по символической ссылке.

sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`

У вас все хорошо!

# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014

Сравни это сообщение в блоге.

NB. Как указано в сообщении в блоге, этот обходной путь не исправит «Nginx и сервер Apache, которые должны быть перекомпилированы с исходными кодами openSSL 1.0.1g».

0

Может быть, у вас есть 2 версии OpenSSL в вашем PATH. Это может произойти, если вы скомпилировали свою версию.

Попробуйте эту /usr/bin/openssl version .

Это должно быть положением пакетной версии OpenSSL.

0

Вам необходимо обновить libssl1.0.0, а затем перезагрузить сервер. Это не будет работать без перезагрузки.

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