■概要
SSLv3のセキュリティホール「POODLE攻撃」問題への対応を実施いたします。
下記サンドボックスおよび本番環境へのAPI呼び出しに関し、改修対応が必要となる場合があります。

spapi.nijiyome.jp (17日実施対応)
api.nijiyome.jp (23日実施予定)

■1:POODLE攻撃とは?
 SSL 3.0は、すでに「安全ではない」として廃れたプロトコルです。大多数のクライアントソフト(ブラウザ等)は TLS 1.0~TLS1.2 というプロトコルに置き換えられています。しかし、多くのWEBサーバにおいて(もちろんエイシスが提供しているサービスも含みます)はごく一部のクライアントソフトのために、SSL 3.0のサポートが残された状態になっていました。
通常はクライアントとサーバとの間でSSL接続を必要とする場合、より新しいバージョンのプロトコルを選択することが一般的です。ところが、クライアントソフト(やサーバ)が望めば、SSL 3.0のような安全ではないプロトコルを選択(ダウングレード)することも可能です。そしてこのSSL 3.0には致命的なバグがあって「POODLE攻撃」を許す結果となります。

SSL 3.0は(物凄く大ざっぱに言えば)データを暗号化する際にデータの隙間に「詰め物」をしますが、この「詰め物」に対する暗号化のパターンが非常に単調なためにここから暗号化に使用した鍵を推測することが可能となります。
結果として、攻撃者はSSL通信の内容を覗き見る事が可能となってしまい、認証情報やクッキーを盗み取る事ができてしまいます。

この手法を用いた攻撃方法としては、すでにJava Scriptを使用した方法が広く知られています。


■2:エイシス提供サービスとして影響が及ぶもの
 *.nijiyome.jp


■3:対応内容と影響範囲について
 現状、SSLv3を用いたアクセスは「許可」された状態です。これを「不許可」とすることといたします。

 エイシス側対応手順は以下の通りです。

① サンドボックス環境でSSLv3を使用禁止とする。(★本日)
  同時にTLS 1.1/1.2を明示的に使用許可とする
  ★週末ではありますが、直ちに実施します。
  問題があって困るというケースはお知らせください。その時点でそのELBだけ元に戻したいと思います。

② 本番環境でSSLv3を使用禁止とする。(23日実施予定)
  同時にTLS 1.1/1.2を明示的に使用許可とする

 本番環境での対応時期については関係者と調整の上設定したいと考えています。

 この対応をすることで、次のような影響が発生します。

・以下のOSについて、古いバージョンを使用している場合にSSLが全く使用出来なくなります。(おそらくブラウザ上にエラーが出て進めなくなる)
 ① Android 2.3系とそれ以前
 ② WindowsXP SP2までの全て

・以下のクライアントについて、バージョンが古いと「SSLが使用出来なくなる」または「SSLを使用すると非常に重くなる」といった問題が発生します。(アップデート・パッチ適用状況によっては問題なく使用出来る可能性があります)
 ① Windows VistaまででInternet Explorer 8までを使用している
 ② Java 6u45 以前のJDK/JREを使用したアプリケーションを使用している
 ③ Safari 5.1.9よりも古いバージョン
 ④ MAC OS X 10.6.8よりも古いバージョン
 ⑤ ブラウザにYahoo!提供の検索プラグインの古いバージョン(バージョンは不明)を導入している
   ※ブラウザのプラグインソフトについては、Yahoo!提供以外の物でも同様の状況に陥る可能性はあります。プラグインソフトが原因で現象が発生するケースではブラウザ本体が最新でも現象が発生しますのでご注意ください。


■4:アプリケーション等での対応について
 SSLv3を使用するアプリケーションは変更対応が必要となる可能性があります。

・cURLコマンドを使用している場合
 ① 「-2」または「-3」オプションを使用している場合はこれを削除します。
 ② cURLコマンドのバージョンによっては、「-1」オプションを明示的に設定する必要があるかもしれません。

・wgetコマンドを使用している場合
 ① 「--secure-protocol=TLSv1」オプションを設定します。>
  ※ このオプションが無くてもエラーにはなりませんが速度が低下する恐れがあります

・phpでfopen関数を用いて https://hogehoge/somewhere/something.html のようなファイルを開いている場合
 ① fopen関数の第4引数($context)に何か適切なオプションを指定する必要があるかもしれません。(詳しい事は私からはなんとも…)
 ※ opensslのオプション指定を変更する必要がある。php.iniからでも可能かも?

・その他の環境でも、適宜SSL 3.0を使用しないように明示的なオプション(設定)変更をすべきかと思われます。
 なお、可能であればTLS1.2の使用を強く推奨いたします。