これは、HTTP、SMTP、IMAP、POPなどの弱いSSLバージョン2.0(SSLv2)プロトコルを使用してサーバーを攻撃することを目的としたDROWN(廃止されたeNcryptionによるRSAの復号化)と呼ばれる最新の脆弱性です。基本的に、SSL/TLSを使用するサービスはすべて対象となります。 SSLv2に対して脆弱です。 DROWNを使用すると、攻撃者は、十分なSSLv2ハンドシェイクデータを収集できる場合、RSAベースのSSL証明書を使用して暗号化された通信を(秘密鍵を取得して)復号化できます。 DROWNは、弱いSSLv2プロトコルを使用するサーバーに直接影響を与える可能性がありますが、傍受するには約1000のSSLハンドシェイクが必要です。
DROWNの脆弱性に対してサーバーをテストする方法は?
このリンクにすばやくジャンプして、DROWN脆弱性攻撃に対してサーバーをテストします。
これがウェブインターフェースです。ウェブサイトのアドレスを入力して、[DROWNの脆弱性を確認]ボタンをクリックします。
ApacheおよびNginxWebサーバーのDROWN脆弱性を修正する方法
Apacheの場合:
$ sudo vim /etc/httpd/conf/httpd.conf
(または)
$ sudo vim /etc/httpd/conf.d/ssl.conf
-SSLv2と-SSLv3を追加します 以下に示すように:
SSLProtocol all -SSLv2 -SSLv3
注: 上記の設定では、SSLv2とSSLv3の両方を無効にすることをお勧めします。 SSLv3はDROWN攻撃に対して脆弱ではありませんが、他の種類の攻撃に対して脆弱であるため、SSLv3を無効にすることを強くお勧めします。
Webサーバーを再起動します:
$ sudo /etc/init.d/httpd restart
Nginxの場合:
$ sudo vim /etc/nginx/nginx.conf
以下の行に注意してください:
ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
およびSSLv2とSSLv3を削除 以下に示すように:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Nginxサービスを再起動します。
SMTPのDOWN脆弱性を修正する方法– Postfix?
$ sudo vim /etc/postfix/master.cf
次の行を設定します。ここで、(!)はSSLv2およびSSLv3プロトコルを削除します。
smtpd_tls_mandatory_protocols =!SSLv2、!SSLv3smtp_tls_mandatory_protocols =!SSLv2、!SSLv3smtpd_tls_protocols =!SSLv2、!SSLv3smtp_tls_protocols =!SSLv2、!SSLv3注:SSLを使用するすべてのサービスでこの変更を行うことを忘れないでください。
また、OpenSSLを最新バージョンに更新します:
#yum update openssl *