はじめに
* まず、POODLE について、説明する
POODLE
* POODLE(Padding Oracle On Downgraded Legacy Encryption)は、セキュリティ脆弱性の名称で、 暗号化接続をSSL 3.0へと強制的に「フォールバック」(ダウングレード)させたうえで、 同プロトコルの欠陥を突いて、暗号化通信の一部(主にクッキー情報)を解読することができる
脆弱性内容
* 攻撃者は、SSL 3.0 を使う暗号化通信において、リクエスト送信を繰り返し試み、 暗号化通信の一部を解読する恐れが発生。
脆弱性対策
* SSL 3.0 を無効にする
参考文献
http://blog.trendmicro.co.jp/archives/10112http://itpro.nikkeibp.co.jp/atcl/idg/14/481709/101700029/
具体的な対策
Tomcat でSSL 3.0 を無効にする
* Tomcatの設定ファイル "server.xml"の"Connector"要素で以下のように記載する
server.xml(Tomcat8の場合)
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="200" scheme="https" secure="true" clientAuth="false" keystoreFile="/etc/tomcat/server.jks" keystorePass="changeit" sslProtocol="TLS" <!-- ★ここ★ --> sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"/><!-- ★ここ★ -->
参考文献
http://blog.livedoor.jp/k_urushima/archives/1752935.html#sec2-6動作確認
方法(1) SSLv3で接続する
[1] IE11において、[ツール(歯車アイコン。Alt+X)]-[インターネットオプション]-[詳細設定]を選択 [2] 「SSL 3.0を利用する」以外の「TLS X.X (SSL2.0)を利用する」のチェックを外す [3] 対象のサーバにSSL接続(https://xxx....)する ⇒ 対策されてたら接続できないはず
方法(2) SSLログをとる
* 「JAVA_OPTS=-Djavax.net.debug=all」を追加し、Tomcatを起動する
手順
■方法1 [1-1]「スタートメニュー」→「Apache Tomcat 6.0」→「Configure Tomcat」から「Java」タブを開く [1-2] Java Optionに「-Djavax.net.debug=all」を追記する ■方法2 [2-1] バッチファイル%CATALINA_HOME%\bin\catalina.bat を以下のように修正する 【catalina.bat】 set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%" rem SSL Debug log ↓★これを追記★ set LOGGING_SSL=-Djavax.net.debug=all set "JAVA_OPTS=%JAVA_OPTS% %LOGGING_SSL%" [2-2] バッチファイル%CATALINA_HOME%\bin\startup.bat などでTomcatを起動する ※ただし、上記は、TomcatをWindowsのサービスとして起動している場合、使えない
方法(3) opensslコマンドの s_client を使う
openssl s_client -ssl3 -connect [hostname/IPAdress]:[port] でエラーが表示されたら、SSLv3が無効になっている なお、opensslコマンドの s_client については、以下の関連記事を参照のこと。http://blogs.yahoo.co.jp/dk521123/35255385.html
参考文献
SSLログの取得http://sweng.web.fc2.com/ja/program/java/debug-tls.html
http://docs.oracle.com/javase/jp/7/technotes/guides/security/jsse/ReadDebug.html
Tomcatの起動
http://www.gs.sjts.co.jp/v4/support/tomcat_setting.html
https://staff.aist.go.jp/nakamura-akihito/research/memo/tomcat/tomcat-memo.html
opensslコマンドの s_client を使う
https://www.infocircus.jp/2014/11/14/check-ssl-3-disable/
関連記事
SSL / TLS 脆弱性
http://blogs.yahoo.co.jp/dk521123/35888290.html設定ファイル server.xml ~ Connector / Special Features 編~
* server.xmlの属性については以下の関連記事を参照のことhttp://blogs.yahoo.co.jp/dk521123/35255676.html
トラブルシュート に役立つ Openssl コマンド
* opensslコマンドの s_client についてhttp://blogs.yahoo.co.jp/dk521123/35255385.html