久しぶりに DD-WRT をインストールした Wi-Fi ルーターの管理画面に Firefox から https で接続しようとしたところ、「切断が中断されました」と表示されて接続することができなくなっていました。
SSL 3.0 の脆弱性「POODLE」 に対応するために Firefox の設定で SSL 3.0 が使用できなくなったことが原因と想定されるので、自宅の DD-WRT Wi-Fi ルーターの SSL 3.0, TLS 1.0, 1.1, 1.2 への対応状況を openssl コマンドで確認してみました。
環境
- DD-WRT v24-sp2 (「 Buffalo WZR-300HP に DD-WRT インストール 」でインストールしたものです。)
- ブラウザ側 OS: Ubuntu 14.04 (Trusty Tahr) Desktop 日本語 Remix
- ブラウザ: Firefox 34.0
結論から言うと、自宅の DD-WRT Wi-Fi ルーターの対応状況は以下の通りでした。
SSL or TLS | 対応状況 |
---|---|
SSL 3.0 | 対応 |
TLS 1.0 | 非対応 |
TLS 1.1 | 非対応 |
TLS 1.2 | 非対応 |
このため、想定した通り POODLE 対策のために SSL 3.0 を使用できなくした Firefox からは https で管理画面に接続できなかったようです。
まず SSL 3.0 に対応していることを確認します。
Ubuntu で SSL 3.0 を指定して openssl の s_client コマンドで DD-WRT Wi-Fi ルーターに接続
$ openssl s_client -connect <DD-WRT の IP アドレス>:443 -ssl3「-ssl3」オプションで SSL 3.0 を指定しています。
以下のようにいろいろ接続情報が表示されます。
CONNECTED のメッセージ及びコモンネーム等 :
CONNECTED(00000003) depth=0 C = DE, ST = Saxon, L = Dresden, O = NewMedia-NET GmbH, OU = DD-WRT, CN = NewMedia-NET GmbH, emailAddress = info@dd-wrt.com verify error:num=18:self signed certificate verify return:1 depth=0 C = DE, ST = Saxon, L = Dresden, O = NewMedia-NET GmbH, OU = DD-WRT, CN = NewMedia-NET GmbH, emailAddress = info@dd-wrt.com verify return:1 ---続いて Certificate chain というものが表示されました
Certificate chain 0 s:/C=DE/ST=Saxon/L=Dresden/O=NewMedia-NET GmbH/OU=DD-WRT/CN=NewMedia-NET GmbH/emailAddress=info@dd-wrt.com i:/C=DE/ST=Saxon/L=Dresden/O=NewMedia-NET GmbH/OU=DD-WRT/CN=NewMedia-NET GmbH/emailAddress=info@dd-wrt.com ---SSL 証明書等:
Server certificate -----BEGIN CERTIFICATE----- ... snip ... -----END CERTIFICATE----- subject=/C=DE/ST=Saxon/L=Dresden/O=NewMedia-NET GmbH/OU=DD-WRT/CN=NewMedia-NET GmbH/emailAddress=info@dd-wrt.com issuer=/C=DE/ST=Saxon/L=Dresden/O=NewMedia-NET GmbH/OU=DD-WRT/CN=NewMedia-NET GmbH/emailAddress=info@dd-wrt.com --- No client certificate CA names sent --- SSL handshake has read 730 bytes and written 286 bytes ---
- サーバーとクライアント間のネゴシエーション結果
New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA Server public key is 512 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE SSL-Session: Protocol : SSLv3 Cipher : DES-CBC3-SHA ... snip ... ---「Protocol : SSLv3」となっていることから SSL 3.0 で接続されたことがわかり、 Cipher は DES-CBC3-SHA が使われました。
最後に入力待ちの状態になるので、以下を入力して DD-WRT Wi-Fi ルーターが公開しているページの HTML を取得することができました。 (入力待ちの状態のまま放置するとタイムアウトしてしまうので、その前に入力します)
GET / HTTP/1.0 <= 入力待ちになるのでこれを入力して Enter キーを押す <= もう一度 Enter キーを押す 以下、 DD-WRT Wi-Fi ルーターが公開しているページの HTML が表示されます以上のように SSL 3.0 に対応していることが確認できました。
TLS 1.0 に対応していないことを確認
$ openssl s_client -connect <DD-WRT の IP アドレス>:443 -tls1 ... snip ... SSL-Session: Protocol : TLSv1 Cipher : 0000 <= Cipher が 0000 になっています。 ... snip .. --- $ <= 入力待ちにならずに終了し、コマンドプロンプトが表示されました。「-tls1」オプションで TLS 1.0 を指定しています。 「Protocol : TLSv1」と表示されましたが Cipher が 0000 となっており、入力待ちにならずに終了してしまったので 「GET / HTTP/1.0」を入力することができませんでした。 TLS 1.0 には対応していません。
同様に TLS 1.1, 1.2 にも対応していないことを確認
- TLS 1.1 にも対応していません。
$ openssl s_client -connect <DD-WRT の IP アドレス>:443 -tls1_1 ... snip ... SSL-Session: Protocol : TLSv1.1 Cipher : 0000 <= Cipher が 0000 になっています。 ... snip ... --- $ <= 入力待ちにならずに終了し、コマンドプロンプトが表示されました。「-tls1_1」オプションで TLS 1.1 を指定しています。
- TLS 1.2 にも対応していません。
$ openssl s_client -connect <DD-WRT の IP アドレス>:443 -tls1_2 ... snip ... SSL-Session: Protocol : TLSv1.2 Cipher : 0000 <= Cipher が 0000 になっています。 ... snip ... --- $ <= 入力待ちにならずに終了し、コマンドプロンプトが表示されました。「-tls1_2」オプションで TLS 1.2 を指定しています。
0 件のコメント:
コメントを投稿