Home > TLS1.2への道(1)

TLS1.2への道(1)


  • Posted by: F&F
  • 2020年7月 2日 14:06

2007021402_480x543.jpg
TLS1.2以上に対応するため、まずはOpenSSLを1.1以上にしなければならない。
最も簡単な方法はPORTSを使う手で、まずはPORTSを最新版に更新する。

なお最新版に更新することで何か障害が出ると、今後PORTSは使えなくなる。
しかし障害が出るかどうかはやってみなければ分からない。
旧バージョンの全てをバックアップして奥手も勿論あるのだが、このサーバ上で新たなソフトのインストールも行わないだろうと言う事、何よりバックアップは面倒である事からPORTSのアップデートを行った。

アップデート後に /usr/ports/security/openssl で make を行うと "Unknown modifier 't'"と出力されてmake出来ない。
検索してみると、最終的にはOSのバージョンを上げるしか無いとなる。
或いはこのportsコレクションをmake出来るバージョンのmakeをどこかから移植すると。
これは不可能に近い。

そこでportsは諦め、ソースからインストールすることにする。
wget http://www.openssl.org/source/openssl-1.0.2d.tar.gz
とやるとwgetが無いと言われる。
そうか…
と言うことで、別途httpでダウンロードしたものをftpで/usr/local/srcに転送する。
次に以下のコマンドでコンパイルまでを行う。

tar xzvf openssl-1.0.2d.tar.gz
cd openssl-1.0.2d
./config shared zlib
make
make install
何もエラーが出なければコンパイルは成功しているはずだ。
実行ファイルは/usr/local/ssl/bin/に出来ている。

/usr/local/ssl/bin/openssl version
OpenSSL 1.0.2d 9 Jul 2015

これでうまく行くだろうか。
実行ファイルを/usr/binにコピーするか、或いはシンボリックリンクを張る。
古いバージョンはopenssl0.9として残しておく。
mv /usr/bin/openssl /usr/bin/openssl0.9
次にシンボリックリンクを作る。
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

現在動作しているApacheは2.2.23であり、これはTLS1.2に対応していない。
そこで2.4.43をインストールする。
2.4からはOSの差異を吸収するapr(Apache Portable Runtime), apr-utilが必要になった。
これはApacheのソースには同梱されておらず、別途インストールが必要だ。

tar xzvf apr-1.7.0.tar.gz
tar xzvf apr-util-1.6.1.tar.gz
cp -r /usr/local/src/apr-1.7.0 /usr/local/src/httpd-2.4.43/srclib/apr
cp -r /usr/local/src/apr-util-1.6.1 /usr/local/src/httpd-2.4.43/srclib/aprlib
この2つのファイルはhttpd-2.4.43/srclib/に入れるだけで良いらしい。

ソースからインストールするので、方法はopenssl同様だ。
tar xzvf httpd-2.4.43.tar.gz
cd httpd-2.4.43
./configure --enable-so --enable-ssl --enable-rewrite
make
make install
古いバージョンをリネームする
mv /usr/local/sbin/httpd /usr/local/sbin/httpd-2.2.23
シンボリックリンクを張る
ln -s /usr/local/src/httpd-2.4.43/httpd /usr/local/sbin/httpd
ここまでは良いとして、configファイルを書き換えるのが面倒だ。
旧バージョンの物がそのまま使えるわけではない。
更にサーバ設定など、細かなところもイジらなければいけない。
とりあえずHTTPサーバが動いているかどうかだけでもチェックするか。

エラーはなく起動はするが、HTTPアクセスが出来ない。
Apacheなんてインストールすれば大抵は動くくらいのものなのに、何故だ?
OSのバージョンが古いとダメなんて事は無いだろうから、httpd.confに下らない誤りでも書いてしまったのだろう。
とにかく動かないので、元に戻してアクセス可能とした。
その後Apache2.4を別のポートで動作させてチェックし、構文が変わっているところが何カ所かある事に気づいた。

ここを修正してhttpdは動くようになった。
しかしSSLはたぶん動いていない。
さらにPHPも設定し直しが必要だ。
Perlはhttpdとは別に動いているので良いのだが、PHPはhttpサーバと密接に関係している。
これはコンパイルし直しじゃないかな。
そして、それによって動作しなくなるものがあると、更にそれの修正へと続く。

この時点での不具合はMail送受信不可能(Postfixの必要とするライブラリが焼失した)、blog動作不良(fcgiが動作しない)、トップページ更新不可能、PerlによるMail送信不可能、画像サイズ変更不可能(Blogにも影響する)、ログその他の解析不可能などだ。

にほんブログ村 その他趣味ブログ 電子工作へ
にほんブログ村



Comments:0

コメント投稿には JavaScript が必要です。ブラウザのJavaScript 機能を有効にしてください。

サインインしなくてもコメントの投稿は出来ます。
サインインしている場合はお名前などを入力せずに、そのまま投稿できます。

登録は簡単&それによって何かが起きるわけではないのでお気軽にどうぞ。
登録ページ書き込み→確認メール送信→確認メールのURLクリックで承認、の手順です。
確認メールに書かれたURLにアクセスしないと登録は完了せず、正しいログイン状態に移行できません。
コメント フォーム
コメント投稿完了までには少し時間がかかります。
二重投稿にご注意下さい。

Home > TLS1.2への道(1)



VC