web-dev-qa-db-ja.com

このバージョンのOpenSSL(1.0.1e)がHeartbleedに対して脆弱ではないのはなぜですか?

最近、SSLが設定されたWebサーバーを必要とする要件に遭遇し、OpenSSLの脆弱なバージョン(Heartbleed)。したがって、OpenSSLの脆弱なバージョンに同梱されていることがわかっているDebianのバージョンを here からダウンロードしました。

しかし、それを構成した後、それは何もリークしていませんでした(Metasploitによって報告されたように)。

以下は、openssl version -aからの出力です。

OpenSSL 1.0.1e 11 Feb 2013
built on: Sat Jun 13 10:26:40 UTC 2015
platform: debian-AMD64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/usr/lib/ssl"

私が知っていることから、1.0.1から1.0.1fまでのバージョンは脆弱です。後日建てられたことがわかります。私の質問は:

  1. Heartbleedに対して安全なコンパイルオプションはどれですか?上記の出力にDOPENSSL_NO_HEARTBEATS flagオプションがありません。

  2. Heartbleedのデモに必要なOpenSSLの脆弱なバージョンに実際に同梱されているDebianバージョン(7以降)はどこで入手できますか。

2
user1720897

@void_inで言及されているように、彼らはパッチをバックポートしました。次のようにパッケージのバージョンを確認します。

dpkg -l openssl

1.0.1e-2 + deb7u5以降、セキュリティパッチは included になっています。

openssl(1.0.1e-2 + deb7u5)wheezy-security;緊急度=高

  • セキュリティチームによる非メンテナアップロード。
  • CVE-2014-0160.patchパッチを追加します。 CVE-2014-0160:TLS/DTLSハートビート情報開示を修正しました。 TLSハートビート拡張の処理で欠落している境界チェックを使用して、接続されているクライアントまたはサーバーに最大64kのメモリを公開できます。

1.0.1e-2 + deb7u4に関連するファイルは、 ここ で見つかり、パッケージに 以前のバージョンに戻す にエントリを追加することで、/etc/apt/preferencesファイル。

8
Michael