OpenSSL Heartbleed問題を対応した時の手順についてです。通常のUNIX系OSでは、OSベンダーからセキュリティアップグレードパッケージが提供されます。その際、yum upgradeだとか、apt-get upgradeだとかでセキュリティ問題をクリアした最新パッケージをご利用できます。しかし、現には古いOSシステムの場合、簡単にyum、あるいはapt-getシステムを利用できないことは少なくありません。

その際は各Softwareのソースコードからビルドする必要があります。本記事では、CentOSにおけるその手順を書きたいと思います。

 

1.OpenSSLをインストール

 

・インストールバージョン

当時OpenSSL 1.0.1gが最新。
・インストール詳細

./config --prefix=/usr/local/openssl-1.0.1g shared
make
make test
make install


インストールフォルダ:/usr/local/openssl-1.0.1g
・新しいOpensslモジュールのロード
vi /etc/ld.so.conf.d/openssl101g.conf
   /usr/local/openssl-1.0.1g/lib  <- この行を追加

その後、インストールしたOpensslモジュールをロードします。
/sbin/ldconfig

 

2.Apacheをインストール


・インストールバージョン
Apache2.2.27(2.2.xの最新版)
・インストール詳細

./configure --prefix=/usr/local/apache2.2.27 --enable-ssl --with-ssl=/usr/local/openssl-1.0.1g --enable-so --enable-rewrite
make
make install

インストールフォルダは:/usr/local/apache2.2.27。ここは大事なのはSSLのパス指定ですね。これはやらないとシステムのデフォルト古いOpenSSLを参照してしまうからです。

その他はAPACHE用モジュールも再インストールします。その際は大事なのはconfigureオプションにて

--with-apxs=/usr/local/apache2.2.27/bin/apxs
指定してください。

 

3.PHPをインストール


・インストールバージョン
php5.2.17(5.2.xの最新版)
・インストール詳細

./configure --prefix=/usr/local/php.5.2.17 --disable-debug --with-apxs2=/usr/local/apache2.2.27/bin/apxs --with-iconv=/usr/local --enable-mbstring --enable-zend-multibyte --with-mysql --with-mysqli --with-pdo-mysql=shared,/usr --with-zlib-dir=/usr/local/lib --with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/lib --with-gd --with-freetype-dir=/usr/local --enable-gd-native-ttf --enable-gd-jis-conv --with-mysql-sock=/var/lib/mysql --with-openssl=/usr/local/openssl-1.0.1g
make
make test
make install

インストールフォルダ:/usr/local/php.5.2.17。ここは大事なのは、apsx2とopensslパスの指定です。残りのconfigureオプションは必要に応じて指定してください。

 

4.新APACHE環境を再起動

 

一旦現APACHE環境をストップしてください。

/etc/init.d/httpd stop

/etc/init.d/httpdを編集し、apachectlとhttpdのバスを新しいAPACHEフォルダのパスにしてください。

新APACHE環境をスタートします。

/etc/init.d/httpd start

 

その後は<?php phpinfo(); ?>で新しい環境をご確認してください。

また、OpenSSL Heartbleed問題が解消されているかどうかは下記のサイトでご確認できます。

https://knowledge.verisign.co.jp/support/ssl-certificates-support/index?page=content&actp=CROSSLINK&id=SO22875

https://ssltools.websecurity.symantec.com/checker/views/certCheck.jsp


Leave a Comment

Fields with * are required.