今日の時点で、OpenSSLのバグが(包括的)および1.0.1
を通じてバージョンに影響を及ぼしていることが判明しています。1.0.1f
1.0.2-beta
Ubuntu 12.04以降、私たちは皆このバグに対して脆弱です。この脆弱性にパッチを適用するには、影響を受けるユーザーがOpenSSLに更新する必要があります1.0.1g
。
影響を受けるすべてのユーザーがこの更新プログラムを今すぐ適用する方法を教えてください。
今日の時点で、OpenSSLのバグが(包括的)および1.0.1
を通じてバージョンに影響を及ぼしていることが判明しています。1.0.1f
1.0.2-beta
Ubuntu 12.04以降、私たちは皆このバグに対して脆弱です。この脆弱性にパッチを適用するには、影響を受けるユーザーがOpenSSLに更新する必要があります1.0.1g
。
影響を受けるすべてのユーザーがこの更新プログラムを今すぐ適用する方法を教えてください。
回答:
12.04、12.10、13.10、および14.04のセキュリティ更新プログラムは、Ubuntu Security Notice USN-2165-1を参照してください。
そのため、最初に利用可能なセキュリティ更新を適用する必要があります。たとえば、次を実行します。
sudo apt-get update
sudo apt-get upgrade
コマンドラインから。
影響を受けるOpenSSLバージョンを使用するサービス(HTTP、SMTPなど)を再起動することを忘れないでください。そうしないと、依然として脆弱です。Heartbleed:それとは何ですか、またそれを軽減するオプションは何ですか?Serverfault.comで。
次のコマンドは、再起動が必要なすべてのサービスを(アップグレード後)表示します。
sudo find /proc -maxdepth 2 -name maps -exec grep -HE '/libssl\.so.* \(deleted\)' {} \; | cut -d/ -f3 | sort -u | xargs --no-run-if-empty ps uwwp
その後、すべてのサーバーSSLキーを再生成する必要があります。次に、キーが漏洩したかどうかを評価します。この場合、攻撃者がサーバーから機密情報を取得した可能性があります。
openssl version
を提供しOpenSSL 1.0.1 14 Mar 2012
ます。パッチが適用されたバージョンではありませんよね?それとも私はそれを誤解していますか?
dpkg -l | grep ' openssl '
て得たなら、それで1.0.1-4ubuntu5.12
いいのです。
バグはHeartbleedとして知られています。
一般に、ある時点でSSLキーを生成したサーバーを実行すると影響を受けます。ほとんどのエンドユーザーは(直接)影響を受けません。少なくともFirefoxとChromeはOpenSSLを使用しません。SSHは影響を受けません。Ubuntuパッケージの配布は影響を受けません(GPG署名に依存します)。
OpenSSLバージョン1.0〜1.0.1fを使用するサーバーを実行すると、脆弱性が生じます(バグが発見されてからパッチが適用されたコースバージョンを除く)。影響を受けるUbuntuバージョンは、11.10から14.04の信頼できるプレリリースまでです。これは実装のバグであり、プロトコルの欠陥ではないため、OpenSSLライブラリを使用するプログラムのみが影響を受けます。OpenSSLの古い0.9.xバージョンに対してリンクされているプログラムがある場合、影響はありません。OpenSSLライブラリを使用してSSLプロトコルを実装するプログラムのみが影響を受けます。他の目的でOpenSSLを使用するプログラムは影響を受けません。
インターネットに公開されている脆弱なサーバーを実行した場合、2014-04-07のアナウンス以降、ログに接続が表示されない限り、サーバーが危険にさらされていると考えてください。(これは、発表前に脆弱性が悪用されていなかったことを前提としています。)サーバーが内部でのみ公開されている場合、キーを変更する必要があるかどうかは、他のセキュリティ対策によって異なります。
このバグにより、SSLサーバーに接続できるクライアントは、サーバーから約64kBのメモリを取得できます。クライアントを認証する必要はありません。攻撃を繰り返すことにより、クライアントは連続した試行でメモリのさまざまな部分をダンプできます。
攻撃者が取得できる重要なデータの1つは、サーバーのSSL秘密キーです。このデータを使用して、攻撃者はサーバーになりすますことができます。
影響を受けるすべてのサーバーをオフラインにします。実行している限り、潜在的に重要なデータを漏らしています。
libssl1.0.0
パッケージをアップグレードし、影響を受けるすべてのサーバーが再起動されることを確認します。
影響を受けるプロセスがまだ実行されているかどうかを確認するには、「grep 'libssl。(削除済み) '/ proc / / maps`
新しいキーを生成します。これは、バグにより攻撃者が古い秘密鍵を取得できる可能性があるためです。最初に使用したのと同じ手順に従います。
妥協のない新しいキーができたので、サーバーをオンラインに戻すことができます。
古い証明書を取り消します。
損傷評価:SSL接続を提供しているプロセスのメモリ内にあったデータは、潜在的に漏洩した可能性があります。これには、ユーザーパスワードやその他の機密データが含まれる場合があります。このデータが何であったかを評価する必要があります。
クライアントアプリケーションが影響を受ける状況はほとんどありません。サーバー側の問題は、誰でもサーバーに接続してバグを悪用できることです。クライアントを悪用するには、次の3つの条件を満たしている必要があります。
wget
、ファイルをダウンロードするために実行した場合、リークするデータはありませんでした。)2014年4月7日の夕方UTCからOpenSSLライブラリのアップグレードまでの間にこれを行った場合、クライアントプロセスのメモリにあったデータが侵害されることを考慮してください。
openssl
はコマンドラインツールが含まれています。OpenSSLライブラリを使用してSSLプロトコル(Apacheなど)を実装するアプリケーションでは使用されません。ただし、ディストリビューションのセキュリティ更新プログラムを適用するだけです。
UbuntuにインストールされているOpenSSLバージョンを確認するには、次を実行します。
dpkg -l | grep openssl
次のバージョンの出力が表示される場合、CVE-2014-0160のパッチが含まれている必要があります。
ii openssl 1.0.1-4ubuntu5.12 Secure Socket Layer (SSL)...
https://launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12を見ると、どの種類のバグが修正されているかがわかります。
...
SECURITY UPDATE: memory disclosure in TLS heartbeat extension
- debian/patches/CVE-2014-0160.patch: use correct lengths in
ssl/d1_both.c, ssl/t1_lib.c.
- CVE-2014-0160
-- Marc Deslauriers <email address hidden> Mon, 07 Apr 2014 15:45:14 -0400
...
sudo service apache2 restart
openssl
しても、Apache、Nginx、またはpostfixなどのアプリケーションは修正されません。libssl1.0.0
他の投稿で説明されているように、それらを更新して再起動する必要があります。
もしあなたのapt-getのリポジトリは任意のプリコンパイルされた含まれていません1.0.1gの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
sudo ln -sf /usr/local/ssl/bin/openssl `which openssl`
# openssl version should return
openssl version
OpenSSL 1.0.1g 7 Apr 2014
Cfこのブログ投稿。
NB:ブログ投稿で述べたように、この回避策は「1.0.1g openSSLソースで再コンパイルする必要があるNginxとApacheサーバー」を修正しません。
サーバー全体のパッケージアップグレードを行いたくない場合。私は今日これらのガイドの束を読み、apt-get upgrade openssl
=== apt-get upgrade
これはあなたのマシンに必要なすべてのセキュリティ修正を適用します。どこか古いパッケージバージョンに明示的に傾いているのでない限り、すばらしい。
これは、Apache 2を実行するUbuntu 12.04 LTSで必要な最小限のアクションです。
移動し、このアドレスとあなたは脆弱性を持っていることを証明。Webサーバーのダイレクト外部アドレスを使用する必要があります。ロードバランサー(ELBなど)を使用している場合、Webサーバーに直接接続していない可能性があります。
パッケージをアップグレードして再起動するには、次の1つのライナーを実行します。はい、すべてのガイドで、2014年4月4日以降にタイムスタンプを設定する必要があると言っていますが、これは私には当てはまらないようです。
apt-get update && apt-get install openssl libssl1.0.0 && /etc/init.d/apache2 restart
適切なパッケージバージョンがインストールされていることを確認し、Webサーバーで脆弱性をもう一度確認します。
主要なパッケージは次のとおりです。以下のコマンドを使用してこの情報を特定し、不要なものを編集しました(マシンの状態についてそれほど知る必要はありません)。
$ dpkg -l | grep ssl
ii libssl-dev 1.0.1-4ubuntu5.12 SSL development libraries, header files and documentation
ii libssl1.0.0 1.0.1-4ubuntu5.12 SSL shared libraries
ii openssl 1.0.1-4ubuntu5.12 Secure Socket Layer (SSL)* binary and related cryptographic tools
1.0.1-4ubuntu5.12
脆弱性を含めるべきではありません。以下のWebサイトに再度アクセスし、Webサーバーをテストして、これが当てはまることを確認してください。
apt-get install openssl libssl1.0.0
私のためにやった。実行openssl version -a
今は、示していますbuilt on: Mon Apr 7 20:33:29 UTC 2014
緊急に助けを必要とする多くのコメンターに気づきました。彼らは指示に従い、アップグレードし、再起動しますが、いくつかのテストWebサイトを使用するときは依然として脆弱です。
libsslなどの保留中のパッケージがないことを確認する必要があります。
:~$ sudo apt-get upgrade -V
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
libssl-dev (1.0.1-4ubuntu5.10 => 1.0.1-4ubuntu5.12)
libssl1.0.0 (1.0.1-4ubuntu5.10 => 1.0.1-4ubuntu5.12)
linux-image-virtual (3.2.0.31.34 => 3.2.0.60.71)
linux-virtual (3.2.0.31.34 => 3.2.0.60.71)
0 upgraded, 0 newly installed, 0 to remove and 4 not upgraded.
それらをアップグレードするにはapt-mark unhold libssl1.0.0
(たとえば)。次にアップグレードしますapt-get upgrade -V
。次に、影響を受けるサービスを再起動します。