特定のwebサービスに、https (TLS1.2)で接続できない(固まる)場合

(コメント)

特定のwebサーバーと、OpenSSL 1.0.1a 〜 OpenSSL 1.0.1f のバージョンで、TLS1.2 で通信をしようとすると OpenSSLが固まることがあります。

OpenSSL 1.0.1f は、2015年6月現在、Ubuntu 14.04, Ubuntu 15.04 などの apt で最新版で自動的に入るバージョンで、これ以上のバージョンアップは apt ではできません。

そこで、改修された OpenSSL 1.0.1g をインストールする方法です。

インストール前の状態

OpenSSLのバージョン

$ openssl version
OpenSSL 1.0.1f 6 Jan 2014

SSLコネクションの動作確認

$ openssl s_client -connect hoge.example.com:443  # サイト名は仮
→固まる

試しに、TLS1.2を回避して接続

$ openssl s_client -connect home.example.com:443 -no_tls1_2
→ コネクションできる

ビルド&インストール

$ wget https://www.openssl.org/source/openssl-1.0.1g.tar.gz
$ tar -xzvf openssl-1.0.1g.tar.gz
$ cd openssl-1.0.1g
$ ./config
$ make
$ sudo make install_sw
$ sudo ln -sf /usr/local/ssl/bin/openssl \`which openssl\`

もしここで、make install としてしまうと、

cms.pod around line 457: Expected text after =item, not a number
cms.pod around line 461: Expected text after =item, not a number
cms.pod around line 465: Expected text after =item, not a number
cms.pod around line 470: Expected text after =item, not a number
cms.pod around line 474: Expected text after =item, not a number
POD document had syntax errors at /usr/bin/pod2man line 71.
make: *** [install_docs] エラー 255

こうなってエラーで落ちます。manページのビルドに失敗しているらしい。 なので、make install_sw とします。manページのビルドを行わないらしい。

動作確認

$ openssl version
OpenSSL 1.0.1g 7 Apr 2014

$ openssl s_client -connect hoge.example.com:443
→コネクションできた!

ただし

これで、OpenSSLのバージョンアップはできましたが、これに依存する curl, PHP, Python, その他の更新が必要な場合、それらもビルドしなおしがいるかもしれませんので、けっこう面倒です。

curl, PHP, Python を使ってこのバグを踏んでいる場合、それらのアプリで TLS1.2 での接続を回避させた方が修正が容易かもしれません。

http://b.ytyng.com/a-62/ Curl, Python, PHP で HTTPS 接続する際固まるサイトがあるので、TLS1.2 を使わないようにする

参考

How To Upgrade OpenSSL to 1.0.1g To Guard Against Heartbleed in Ubuntu ~ Bauer-Power Media http://www.bauer-power.net/2014/05/how-to-upgrade-openssl-to-101g-to-guard.html#.VXaBpOdCLHM

Linuxbrew でインストールしてもいいかも

Linuxbrew のススメ - Qiita http://qiita.com/thermes/items/926b478ff6e3758ecfea

現在未評価

コメント

最近のツイート

  • ytyng

    ytyng @ytyng

    俺もスタバアプリにログインできないよ
    1 ヶ月, 2 週間 前

  • 安藤拓郎 Takuro Ando

    安藤拓郎 Takuro Ando @takuroando

    ytyng

    これまでいろんなグッズを作ってきたけど、今回は「お米」と聞いて買うしかないなと。今夜の夕食はコシヒカリ!箸もセットだし^^ https://t.co/01ucQx9qtw #腰乃展 #マンガ展 https://t.co/4VL2vOe0Og
    1 ヶ月, 4 週間 前

  • ytyng

    ytyng @ytyng

    講談社さんとやった全部入り電子書籍セットがギネスブックに登録されたよー https://t.co/rbkd3IYub0
    1 ヶ月, 4 週間 前