[Plesk] CVE-2014-3566:SSL 3.0 フォールバックを悪用する POODLE 攻撃

Refers to:

  • Plesk for Windows
  • Plesk for Linux
  • Plesk

Created:

2016-11-16 13:20:39 UTC

Modified:

2017-02-15 21:17:01 UTC

2

Was this article helpful?


Have more questions?

リクエストを送信

[Plesk] CVE-2014-3566:SSL 3.0 フォールバックを悪用する POODLE 攻撃

情報

Google セキュリティチーム が SSLv3 プロトコルに脆弱性 CVE-2014-35 を発見しました。OpenSSL もこの脆弱性について追加の ホワイトペーパー を提供しています。

脆弱性の有無をチェックするには、以下のスクリプトを使用します。 パラメータに、サーバ IP を指定します。

# wget http://kb.plesk.com/Attachments/kcs-40007/poodle.zip
# unzip poodle.zip
# chmod +x poodle.sh
# for i in `echo 21 587 443 465 7081 8443 993 995 `; do /bin/sh /root/poodle.sh <IP> $i; done

解決策

上記の攻撃を行うには、SSL 3.0 接続を確立する必要があるため、クライアントまたはサーバ(あるいは両方)で SSL 3.0 プロトコルを無効にすることで、潜在的な攻撃を回避することができます。

OS ベンダーは、最近発見された複数の OpenSSL 脆弱性に対応するために、以下のセキュリティアドバイザリを発表しています。

Debian

RedHat

Ubuntu

CentOS

ここに記載されたアップデートは、 実際に POODLE 攻撃に対する修正を行うことはありません TLS_FALLBACK_SCSV オプションを使用することにより SSLv3 へのフォールバックのトリガを防ぎ、その他いくつかの脆弱性に対する修正を提供します。

openssl パッケージを更新することを推奨します。

最善のオプションは、SSLv3 のサポートを無効にすることです。

以下の特別なスクリプトを使用して、すべてのサービスに対して SSLv3 を無効にすることができます。

  • Linux の場合 - Apache、nginx、proftpd、courier-imap、qmail、postfix、dovecot、Plesk サーバエンジン(バージョン 11.5 以降)が無効になります。
  • Windows の場合 - サーバ全体で SSLv3 が無効になります (注意:サーバの再起動が必要になります)

サービスごとに SSLv3 を無効にするには、以下の手順に従ってください。既にサーバに pci_compliance_resolver を適用済みの場合も、同じ手順に従ってください。

Plesk サービス

Plesk は同じ SSL エンジンを使用するため、 sw-cp-server サービスも SSLv3 脆弱性から保護するように構成する必要があります。

注:Customer and Business Manager を使用する場合、こちらの KB 記事( #213367869 )を参照してください。

Plesk 11.5 以降

' /etc/sw-cp-server/config を編集します。 http セクションに、以下を追加します。

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

再起動:

    sudo service sw-cp-server restart

Plesk 11.0

/usr/local/psa/admin/conf/ssl-conf.sh を編集し、 echo 'ssl.use-sslv3 = &quot;disable&quot;' echo 'ssl.use-sslv2 = &quot;disable&quot;' ディレクティブの後に追加します。ファイルは次のようになります。

    echo 'ssl.engine = "enable"'
echo 'ssl.use-sslv2 = "disable"'
echo 'ssl.use-sslv3 = "disable"'

再起動:

    sudo service sw-cp-server restart

Plesk 9.x および 10.x

Plesk 10.x での sw-cp-server バックエンド用の解決策としては、/usr/local/psa/admin/conf/cipher.lst ファイルの使用可能な暗号の一覧に変更を加えます(改行なし)。

ECDHE-ECDSA-CAMELLIA256-SHA384 ECDHE-ECDSA-AES256-GCM-SHA384 ECDHE-ECDSA-AES256-SHA384 ECDHE-ECDSA-AES256-SHA ECDHE-RSA-CAMELLIA256-SHA384 ECDHE-RSA-AES256-GCM-SHA384 ECDHE-RSA-AES256-SHA384 ECDHE-RSA-AES256-SHA DHE-DSS-CAMELLIA256-SHA DHE-DSS-AES256-GCM-SHA384 DHE-DSS-AES256-SHA256 DHE-DSS-AES256-SHA DHE-RSA-CAMELLIA256-SHA DHE-RSA-AES256-GCM-SHA384 DHE-RSA-AES256-SHA256 DHE-RSA-AES256-SHA ECDHE-ECDSA-CAMELLIA128-SHA256 ECDHE-ECDSA-AES128-GCM-SHA256 ECDHE-ECDSA-AES128-SHA256 ECDHE-ECDSA-AES128-SHA ECDHE-RSA-CAMELLIA128-SHA256 ECDHE-RSA-AES128-GCM-SHA256 ECDHE-RSA-AES128-SHA256 ECDHE-RSA-AES128-SHA

/usr/local/psa/admin/conf/cipher.lst ファイルの変更が完了後、バックエンドを再起動します。

    sudo service sw-cp-server restart

Plesk 8.6.0 まで

Plesk 8.6 では、コントロールパネルのバックエンドとして Apache を使用します。

/usr/local/psa/admin/conf/httpsd.conf ファイルに次の行を追加してください。

SSLProtocol All -SSLv2 -SSLv3

次に、コントロールパネルを再起動します。

sudo service psa restart

Apache HTTPD Server

Apache を実行している場合、Apache 構成ファイルを変更します(デフォルトの場所は以下のとおりです)。

RedHat/CentOS /etc/httpd/conf.d/ssl.conf

Debian/Ubuntu /etc/apache2/mods-available/ssl.conf

SuSE /etc/apache2/ssl-global.conf

Apache 構成ファイルに SSL ディレクティブとして以下の行を追加するか、変更を加えます。

SSLProtocol All -SSLv2 -SSLv3

以下のコマンドを実行し、PCI 準拠テンプレートで SSL 設定を変更します。

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/server/
# cp /usr/local/psa/admin/conf/templates/pci_compliance/server/PCI_compliance.php /usr/local/psa/admin/conf/templates/custom/server/
# sed -i 's/SSLProtocol -ALL +SSLv3 +TLSv1/SSLProtocol All -SSLv2 -SSLv3/g' /usr/local/psa/admin/conf/templates/custom/server/PCI_compliance.php

次に、Apache ウェブサーバを再起動します。

/usr/local/psa/admin/bin/websrvmng -r

Nginx サーバ

Nginx を実行している場合、 /etc/nginx/nginx.conf に以下の SSL ディレクティブを追加します。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

さらに、 Plesk 11.0 for Linux のすべてのサイトに対して:

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/

# sed -i 's/ssl_protocols SSLv2 SSLv3 TLSv1;/ssl_protocols TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

Plesk 11.5 for Linux のすべてのサイトに対して:

# mkdir -p /usr/local/psa/admin/conf/templates/custom/
# mkdir -p /usr/local/psa/admin/conf/templates/custom/domain/
# cp /usr/local/psa/admin/conf/templates/default/nginxWebmailPartial.php /usr/local/psa/admin/conf/templates/custom/
# cp /usr/local/psa/admin/conf/templates/default/domain/nginxDomainVirtualHost.php /usr/local/psa/admin/conf/templates/custom/domain/

# sed -i 's/ssl_protocols SSLv2 SSLv3 TLSv1;/ssl_protocols TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/nginxWebmailPartial.php
# sed -i 's/ssl_protocols SSLv2 SSLv3 TLSv1;/ssl_protocols TLSv1 TLSv1.1 TLSv1.2;/g' /usr/local/psa/admin/conf/templates/custom/domain/nginxDomainVirtualHost.php

Plesk 12.0 for Linux のすべてのサイトに対して:

# mysqldump -uadmin -p`cat /etc/psa/.psa.shadow` psa > psa_backup.sql
# mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
mysql> insert into misc values('disablesslv3', 'true');

次に、Apache と Nginx を再構成します。

# /usr/local/psa/admin/bin/httpdmng --reconfigure-all

参考: Nginx マニュアル

Dovecot IMAP/POP3 サーバ

/etc/dovecot/dovecot.conf に以下の行を追加します。

ssl_protocols = !SSLv2 !SSLv3

サービスを再起動します。

    sudo service dovecot restart

Courier IMAP

以下のファイルを編集します。

/etc/courier-imap/pop3d-ssl

/etc/courier-imap/imapd-ssl

TLS_PROTOCOL および TLS_CIPHER_LIST ディレクティブを、以下のように追加または変更します。

TLS_PROTOCOL=TLSv1+
TLS_CIPHER_LIST=&quot;ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS&quot;

サービスを再起動します。

    sudo service courier-imaps restart
sudo service courier-pop3s restart

Postfix SMTP

「opportunistic SSL」(暗号化ポリシーが施行されず、平文が許可される)に対しては、何も変更する必要がありません。SSLv2 でさえ平文よりは優れているため、サーバを保護する必要がある場合は「mandatory SSL」モードを使用する必要があります。

それでも日和見暗号化のために SSLv3 を無効にしたい場合は、以下を追加/変更します。

smtpd_tls_protocols=!SSLv2,!SSLv3
smtp_tls_protocols=!SSLv2,!SSLv3

「mandatory SSL」が既に構成済みの場合、 smtpd_tls_mandatory_protocols 設定を追加/変更してください。 /etc/postfix/main.cf ファイルに、以下の文字列を追加します。

smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3

次に、Postfix を再起動します。

sudo service postfix restart

SSLv3 が無効であるかどうかは、以下のコマンドを使用して確認できます。

openssl s_client -connect localhost:465 -ssl3

脆弱性がない場合(SSLv3 が無効になっている場合)、次のような出力結果となります。

CONNECTED(00000003)
139808606107464:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1257:SSL alert number 40
139808606107464:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:

脆弱性がある場合、標準の接続結果が出力され、次のような行が含まれている可能性があります。

CONNECTED(00000003)
220 mail.example.com ESMTP Postfix
DONE

Qmail MTA

/var/qmail/control/tlsserverciphers ファイルを作成(または編集)し、次のようにします。

ALL:!ADH:!LOW:!SSLv2:!SSLv3:!EXP:+HIGH:+MEDIUM

注: SSLv3 暗号を無効にすると、Thunderbird で 465(TLS)を使用できなくなります。

ProFTPD サーバ

/etc/proftpd.d/60-nosslv3.conf ファイルを作成・編集し、以下の行を追加します。

<IfModule mod_tls.c>
TLSProtocol TLSv1
TLSCipherSuite ALL:!aNULL:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM
</IfModule>

次に、作成された構成ファイルが proftpd 構成に含まれることを確認します。もしなければ、 /etc/proftpd.conf に以下の行を追加します。

Include /etc/proftpd.d/*.conf

次に、サービスデーモンを再起動します。

service xinetd restart

Microsoft Internet Information Services

IIS で特定のプロトコルを無効にする方法について、Microsoft 公式のサポート技術情報が公開されています( インターネット インフォメーション サービスで PCT 1.0、SSL 2.0、SSL 3.0、または TLS 1.0 を無効にする方法 )。

Microsoft Windows Server では、Windows Server がサポートするセキュリティ強化チャネルプロトコルの情報が、 以下のレジストリキーに格納されています。

  1. [スタート]をクリックし、[ファイル名を指定して実行]をクリックし、 regedt32 または regedit と入力して[OK]をクリックします。

  2. レジストリ エディターで、以下のレジストリキーを探します。

    HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control\\SecurityProviders\\SCHANNEL\\Protocols\\SSL 3.0\\Server
  3. [編集]メニューで[値の追加]をクリックします。

  4. [データタイプ]リストで、 DWORD をクリックします。

  5. [値の名前]ボックスに、「 Enabled 」と入力し、[OK]をクリックします。

    注: この値が存在する場合、ダブルクリックして編集します。

  6. バイナリ エディターに「 00000000 」と入力し、新しいキーの値を「0」と等しく設定します。

  7. [OK]をクリックします。コンピュータを再起動します。

他にご質問がございましたら、リクエストを送信してください
ログインしてコメントを残してください。