絖綛 N@i.jp  昨日:00044692
 今日:00019429
 総計:00405712
keywords
管理者専用
  Post   Add link   Control Panel 































新しいトピック
最新:04/16 19:55


新しいコメント
最新:07/28 16:47






管理人へMAIL

プライバシーポリシー

OpenSSL から LibreSSL へ移行しています

参照:LibreSSL


色々な物を再ビルドしなきゃならないので大変


 LibreSSL は OpenSSL から派生したTLS/SSLプロトコルの実装で、2年ほど前に大騒ぎになったHeartBleed(心臓出血)脆弱性を機にスタートしたものです。LibreSSL Wikipedia を読むと、経緯や変更点などが色々書かれています。
 OpenSSL にはワタシも色々と悩まされてきまして、現在も新しい OpenSSLがリリースされる度、PowerPCの種類を判定する部分を修正してはビルドしていました。

 LibreSSL から取り払われたソースには PowerPCの種類を判定する処理も含まれていたようで、いちいち修正しなくても良くなりました。
 LibreSSL は、基本的に OpenSSL のAPIと互換がありますが、バイナリ互換はないので OpenSSL から LibreSSLに移行するには LibreSSL を使用するように指定して再ビルドする必要があります。

 と言うことで、取り合えず LibreSSL のインストールを備忘録として書いておこうと思います。この後、OpenSSL を使用していた物を LibreSSL を使用するよう再ビルドしていくのですが、何せ数が多いのでそこまで書けるかどうか・・・

  1. LibreSSLのダウンロード
    LibreSSL公式ホームページからソースプログラムをダウンロードします。現時点での最新版は LibreSSL 2.4.1 でした。
  2. 解凍&ビルド
    $ tar xzf libressl-2.4.1.tar.gz
    $ cd libressl-2.4.1
    $ ./configure ¥
        --prefix=/usr/local/libressl ¥
        --enable-shared ¥
        CC=/usr/local/bin/gcc ¥
        CFLAGS="-O3" ¥
        LDFLAGS="-L/usr/local/lib -L/usr/lib" ¥
        CPPFLAGS="-I/usr/local/include -I/usr/include"
    $ make
    $ make check
    〜
    ============================================================================
    Testsuite summary for libressl 2.4.1
    ============================================================================
    # TOTAL: 54
    # PASS:  53
    # SKIP:  1
    # XFAIL: 0
    # FAIL:  0
    # XPASS: 0
    # ERROR: 0
    ============================================================================

    備考1)「¥」は実際には継続行を示す半角の「\」(バックスラッシュ)。
    備考2) 上では自分でビルドした "/usr/local/bin/gcc"(gcc-5.4)を使用している。Apple-gcc(gcc-4)を使用するには CC="/usr/bin/gcc"。
    OpenSSL は "/usr/local/ssl" にインストールしていたので、LibreSSL は "/usr/local/libressl" にインストールするようにしました。--prefixオプションを指定せずOpenSSLを "/usr/local" 配下にインストールしている場合は、OpenSSL を上書きしてしまわないように注意です。(上書きしてしまうと、OpenSSL を使用している様々なものが動作できなくなります。)
  3. インストール
    $ sudo make install
    これで "/usr/local/libressl" 配下に LibreSSLがインストールされるはず。

 OpenSSL を使用していて、かつ自分でビルドしていた物で思いつくのは、

  • OpenSSH
  • libssh2
  • Apache
  • PHP
  • Curl
  • OpenVPN
  • Squid
  • ClamAV
  • MySQL
  • NTP
  • Subversion

等々、他にもあるかも・・・何せ暗号化通信の基盤だからねぇ。う〜ん、大変だこりゃ。


< 過去の記事 [ 6月の 全てのカテゴリ リスト ] 新しい記事 >

2016 calendar
6月
1234
567891011
12131415161718
19202122232425
2627282930


掲示板
最新:08/15 17:19


GsBlog was developed by GUSTAV, Copyright(C) 2003, Web Application Factory All Rights Reserved.