私は以下を試しましたが、それ以降にビルド日付を取得できません:
2012年8月21日火曜日05:18:46UTC
私は次のことを行いました:
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ファイルを比較しましたが、同じように見えます。 1つのサーバーはどのように更新され、他のサーバーは更新されませんでしたか?
編集:
提案どおりに行いました:
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
次に、上記と同じバージョンで再起動しました。まだハートブリードに失敗しています。
Aptは、パッケージがインストールおよびアップグレードされていると考えています。 libsslの手動検証とテストは別の方法を示唆しているため、パッケージデータベースはインストールされているファイルと矛盾しています(ファイルは以前にパッケージマネージャーの関与なしにアップグレードされていた可能性があります)。何らかの理由でこれが発生したため、パッケージが正しくアップグレードまたは再インストールされていません。これは、システムが修正バージョンを報告していることが確立されているが、それでも脆弱性を示していることを前提としています。
まず、影響を受けるパッケージを強制的に再インストールしてみてください。
apt-get install --reinstall libssl1.0.0
それが失敗した場合は、Aptの依存関係管理やサニティチェックを一切行わずに、パッケージを完全に削除してみてください。
dpkg --force-all --remove libssl1.0.0
この時点で、libsslが欠落していて、それに依存する多くのパッケージがまだインストールされているため、システムは事実上「壊れています」(これがAptが防止しようとしていることであり、Aptの背後にある理由です)。 libssl1.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)します。
apt-getリポジトリにプリコンパイル済み1.0.1g OpenSSLバージョンが含まれていない場合は、公式Webサイトからソースをダウンロードしてそれをコンパイルします。
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
Sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014
Cf this ブログ投稿 。
NB:ブログ投稿に記載されているように、この回避策では「1.0.1gのopenSSLソースで再コンパイルする必要があるNginxおよびApacheサーバー」は修正されません。
PATHにOpenSSLの2つのバージョンがある可能性があります。これは、独自のバージョンをコンパイルした場合に発生する可能性があります。
これを試して /usr/bin/openssl version
。
これは、OpenSSLのパッケージバージョンの位置である必要があります。
Libssl1.0.0を更新してから、サーバーを再起動する必要があります。再起動しないと機能しません。