goo blog サービス終了のお知らせ 

情報技術の四方山話

AI、IoT、ヤマハルータ、VPN、無線LAN、Linux、クラウド、仮想サーバと情報セキュリティのよもやま話

OpenBSD/LibreSSL 2.0をUbuntu Linux 14.04 LTSにmake installしました

2014-07-14 12:00:46 | Linux
匠技術研究所
OpenBSD/LibreSSL 2.0をUbuntu Linux 14.04 LTSにmake installしました


こんにちは。匠技術研究所の谷山 亮治です。
今日は、OpenBSDのサブプロジェクトLibreSSL 2.0.1が7月13日にリリースとなったので、OpenSSLと入れ替えた手順を紹介します。

重要な注意点としてはUbuntu 14.04 LTSの配布開始時点でのOpenSSLはHeartbleed bugを含んでいます。サーバーとして運用するのであれば必ずアップデートが必要です。または、以下の手順を参考にLibreSSLをインストールする必要があります。

OpenSSLのバージョン1.0.1~1.0.1fおよび1.0.2-betaにはHeartbleed bugがあります!
その後も、セキュリティ・アップデートが出ています。最新版に維持して運用してください。

■LibreSSLの試験環境
私の日常的なデスクトップ環境を使いました。SSLサーバーとして使っていないので、インストールの手順を調べるに適しています。
Ubuntu Studio 14.04 LTS

$ uname -a
Linux ubstudio 3.13.0-30-lowlatency #55-Ubuntu SMP PREEMPT Fri Jul 4 21:58:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04 LTS
Release: 14.04
Codename: trusty

■LibreSSLの追加ステップ
1.tar ballのダウンロード
ftp://ftp.kddilabs.jp/OpenBSD/LibreSSL/
2.展開
3.インストール
./configure && make check && make install
4.動作確認
5.環境変数調整
6.再度動作確認

■LibreSSLのインストール手順
1.tar ballのダウンロード
OpenBSDの関連プロジェクトとしてリリースされているので以下のアドレスでダウンロードできます。私はKDDIサイトが近いのでお世話になりました。
ftp://ftp.kddilabs.jp/OpenBSD/LibreSSL/
(*)世界各地にOpenBSDのミラーサイトがあります。

2.展開
Xwindow上のアーカイブマネージャーでダウンロードしたtar ballを展開しました。

3.インストール
展開した、LibreSSLディレクトリに移動して、root権限で以下を実行するだけです。
私は、コンパイルインストールの際は、一旦rootシェルを起動して実行しています。

$ sudo bash
私の環境では、つつがなく完了しました。開発環境がない場合はあらかじめインストールしておく必要があります。
# ./configure && make check && make install

4.動作確認
コンパイルとインストールが完了したので、opensslのバージョンを確認してみました。そこでライブラリーをロードできない旨のエラーが出ます。
# openssl version
openssl: error while loading shared libraries: libcrypto.so.30: cannot open shared object file: No such file or directory

5.環境変数LD_LIBRARY_PATHの追加
では元々入っているopensslのバージョンを確認します。ありゃりゃ。危ないバージョンですが、このLinuxはサーバーとして使うことはないので、影響はありません。
# /usr/bin/openssl version
OpenSSL 1.0.1f 6 Jan 2014

opensslのバイナリのタイムスタンプを確認します。
# ls -l /usr/bin/openssl
-rwxr-xr-x 1 root root 513088 6月 21 03:58 /usr/bin/openssl

確かに、古いバイナリーでした。
新しいOpenSSL=LibreSSLは、以下のとおり/usr/local/binにインストールされています。

# which openssl
/usr/local/bin/openssl

# ls -l /usr/local/bin/openssl
-rwxr-xr-x 1 root root 2041145 7月 14 10:28 /usr/local/bin/openssl

/usr/local/libにLibreSSL用のライブラリがあるはずです。

# ls /usr/local/lib/
libcrypto.a libssl.a pkgconfig/
libcrypto.la libssl.la python2.7/
libcrypto.so libssl.so python3.4/
libcrypto.so.30 libssl.so.27 site_ruby/
libcrypto.so.30.0.0 libssl.so.27.0.0

ありました。このライブラリーをLibreSSLが利用できるように、環境変数LD_LIBRARY_PATHを設定します。

# export LD_LIBRARY_PATH=/usr/local/lib
# env
SHELL=/bin/bash
TERM=xterm
OLDPWD=/home/takumi
USER=root
LD_LIBRARY_PATH=/usr/local/lib
...省略

環境変数の追加が確認できました。

6.再度動作確認

# openssl version
LibreSSL 2.0

LibreSSLを実行することができました。サーバーとして運用するには、バージョンの取り違えを起こさないよう、慎重に調整する必要があります。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 7月10日(木)のつぶやき | トップ | 7月14日(月)のつぶやき »
最新の画像もっと見る

コメントを投稿

サービス終了に伴い、10月1日にコメント投稿機能を終了させていただく予定です。
ブログ作成者から承認されるまでコメントは反映されません。

Linux」カテゴリの最新記事