FREAK: OpenSSL 脆弱性 (CVE-2015-0204)
Red Hat Product Security チームは、2015 年 1 月、RHSA-2015-0066 および RHSA-2015-0800 アドバイザリーで OpenSSL の脆弱性 (CVE-2015-0204) に対応しています。Red Hat Product Security チームは、この脆弱性による影響度を 中程度の影響 と評価しています。報道機関は、この脆弱性を FREAK として報じています。
背景情報
クライアントが輸出グレード (安全性の低い) 鍵を要求していない場合でも、OpenSSL クライアントにそれらの鍵を受け入れさせます。この脆弱性は、中間者攻撃で悪用される可能性があります。中間者攻撃は、クライアントによる標準鍵の当初の要求に途中で介入し、サーバーに輸出グレード鍵を要求します。クライアントに強度の弱い鍵を受け入れさせることで、攻撃者は、輸出グレード鍵に対してファクタリング攻撃を仕掛け、クライアントとサーバー間の通信を解読します。
影響
最新バージョンの Red Hat Enterprise Linux (5.11、6.6 および 7.1) に同梱される OpenSSL では、輸出グレード暗号の使用がデフォルトで無効にされているものの、OpenSSL ライブラリーを使用するアプリケーションはこれを有効にすることができます。このため、この脆弱性は、OpenSSL パッケージの修正されたバージョンをインストールしていない Server、Workstation、Desktop、および HPC Node バリアントを含むすべての Red Hat Enterprise Linux 5、6 および 7 システムに影響を与えることが考えられます。
Red Hat Enterprise Linux 5 に同梱される openssl097a のバージョンも影響を受けます。Red Hat Enterprise Linux 5 は現在、サポートおよびメンテナンスライフサイクルの 運用フェーズ 3 にあり、このフェーズでは影響度が「重大」のセキュリティーアドバイザリーのみが提供されるため、この問題が今後のアップデートで対応される予定は今のところありません。
解決策
OpenSSL クライアントの脆弱性が悪用される可能性を排除するには、RHSA-2015-0066 および RHSA-2015-0800 アドバイザリーより利用可能なアップデートされた OpenSSL パッケージをインストールします。
アップデートをインストールするには、以下のように yum
パッケージマネージャーを使用します。
yum update
OpenSSL パッケージとその依存関係のアップデートのみを実行する場合は、以下を使用します。
yum update openssl
注記: OpenSSL サーバーに接続されているパッチ未適用のクライアントでこの不具合による脆弱性が悪用されないようにするには、以下の軽減策のセクションで説明されるように、サーバー上で輸出グレード暗号を無効にすることが推奨されます。
注記: すべての影響を受けるサービスにアップデートされた ssl ライブラリーを使用させる最も安全な方法は、アップデートの実行後にシステムを再起動することです。再起動を避ける必要がある場合も、以下のサブセクションを参照してください。
プロセスを再起動して変更を有効にする
上記のように、システムの完全再起動を実行することが最も安全で単純な操作になります。影響を受けるサービスを再起動するには、以下の例でステップを確認してください。
再起動する必要のあるプロセスを特定する方法
影響を受けるサービスをリストするには、以下のように lsof
コマンドを実行して DEL
で grep を実行します。
# lsof | grep DEL | grep -e crypto -e libssl
sshd 7708 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- sshd service
certmonge 7940 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- certmonger service
Xorg 7986 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- Xwindows service
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- used by ssh login with bash shell
master 7796 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
qmgr 7809 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
tuned 7866 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- tuned service
pickup 9501 postfix DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- postfix service
httpd 9524 root DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
^^^--- httpd service
httpd 9526 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9527 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9528 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9529 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9530 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9531 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9532 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9533 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9534 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
httpd 9535 apache DEL REG 253,0 140068 /usr/lib64/libssl.so.1.0.1e
chkconfig
で管理されるサービスを再起動するには、以下を実行します。
# service sshd restart
# service certmonger restart
# service postfix restart
# service tuned restart
# service httpd restart
Xorg を再起動するには、以下を実行します。
# init 3
# lsof | grep DEL | grep -e crypto -e libssl
# init 5
再度チェックし、最後のリストを削除するためにログアウトしてください。
# lsof | grep ssl | grep lib | grep DEL
sshd 8990 root DEL REG 253,0 139948 /usr/lib64/libcrypto.so.1.0.1e
^^^--- used by current ssh login with bash shell
# logout
パッチ未適用のクライアントにおける軽減策
この記事で説明している脆弱性を軽減するには、クライアントまたはサーバーで輸出グレード暗号を無効にすることもできます。サーバーに接続されているすべてのクライアントにパッチが当てられていることを確認できない場合などは特に、この暗号をサーバー上で無効にすることが推奨されます。
httpd で輸出暗号を無効にする
httpd
web サーバーによる輸出グレード暗号の使用を不許可にするには、!EXP
ディレクティブを /etc/httpd/conf.d/ssl.conf
設定ファイルの SSLCipherSuite
行に追加します。たとえば、以下のようになります。
SSLCipherSuite HIGH:!aNULL:!MD5:!EXP
ssl.conf を変更した後に、httpd サービスを再起動する必要があります。
# service httpd restart
Comments