- - PR -
opensslのバージョンアップ(apache + mod_ssl)
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-07-27 18:34
今更という気もしますがopenssl0.9.7.aからopenssl0.9.7.d
へのバージョンアップについてご質問させてください。 既設のwwwサーバは、openssl0.9.7aをインストール後 apache1.3.31にmod_ssl2.8.18を組み込み構成しております。 (全てソースからコンパイルしてインストールしています) mod_sslのコンフィグオプションには、--with-ssl=/usr/local/ssl と しております。 その状況にて、openssl0.9.7dへのバージョンアップを 検討しているのですが、その手順に手間取っております。 既存のopensslを削除し、 (#rm -rf /usr/local/ssl) 新しいopenssl0.9.7dをソースからコンパイルして インストールする予定です。 インストール先は前回同様、/usr/local/ssl とします。 以上の作業をしたあと、既存のapacheやmod_sslも何らかの 手をくわえる必要があるのでしょうか。 あと、apacheが現在利用しているopensslのバージョンを 確認する方法が何かあるのでしょうか。 openssl version -a というコマンドでバージョンの 確認ができるものの、それは実行したopensslファイルの バージョンが表示されるようで、実際にapacheから利用している opensslという訳ではないように思えます。 以上、私の知識不足で説明になっていないかもしれませんが どうか御教授よろしくお願いします。 |
|
投稿日時: 2004-07-27 20:14
OpenSSL に対して、共有ライブラリとリンクしていたのであれば OpenSSL を再インストールするだけで問題なく動作するはずです。
もし、静的ライブラリとリンクしていたのであれば、Apache または libssl.so (OpenSSL と静的リンクしている方) も再コンパイルする必要があります。 > apacheが現在利用しているopensslのバージョンを > 確認する方法が何かあるのでしょうか。 共有ライブラリとリンクしているのであれば、適切に LD_LIBRARY_PATH を通してから $ ldd httpd または $ ldd libssl.so でリンクしているライブラリが分かります。 静的リンクしている場合は、httpd または libssl.so をバイナリエディタで開き、 OpenSSL 0.9.7d という文字列を検索するのば手っ取り早いでしょう (邪道かもしれませんが・・・)。 |
|
投稿日時: 2004-07-28 09:42
こんにちは。
私はバージョンを調べる時はヘッダ見るようにしてます。 apacheの設定でServerTokens等を変更していなければ、telnet等でhttpdの ポートに接続してヘッダを取得すれば見れると思います。 |
|
投稿日時: 2004-07-28 13:15
さっそくのお返事ありがとうございます。
> OpenSSL に対して、共有ライブラリとリンクしていたのであれば OpenSSL を再インス > トールするだけで問題なく動作するはずです。 私は、 tar xvfz openssl-0.9.7a.tar.gz cd openssl-0.9.7a ./config make make install gzip -dc apache_1.3.31.tar.gz | tar -xvf - cd apache_1.3.31 ./configure --prefix=/usr/local/apache --enable-module=so gzip -dc mod_ssl-2.8.18-1.3.31.tar.gz | tar -xvf - cd mod_ssl-2.8.18-1.3.31 ./configure --with-apache=../apache_1.3.31 --prefix=/usr/local/apache --enable-shared=ssl --with- ssl=/usr/local/ssl 上記の手順にてopensslとapache + mod_sslをインストールいたしました。 その場合共有ライブラリとなるのでしょうか? 共有ライブラリなどWWWサイトで調べてみたのですが よく理解できませんでしたのでよろしければ教えてください。 opensslの動作の仕組みをあまり理解していなくて申し訳ないのですが 現在 /usr/local/ssl にインストールされている sslフォルダを リネームし(ssl → ssl_old) apacheを再起動(apachectl stop → apachectl startssl) させても通常通り動作してしまうものなのでしょうか。 opensslの最新版への移行の方法として、 /usr/local/sslフォルダをリネームし、動作しないことを確認後、 最新版を/usr/local/sslへインストールし、正常動作を 確認したかったのですが、ファルダをリネームしても 今までどおり動作してしまうのです。 (https://www.xxx.comへのアクセスが可能である。) 上記の理由から今現在apacheが利用しているopensslの詳細な情報を 得ることができれば、と思ったしだいであります。 > 私はバージョンを調べる時はヘッダ見るようにしてます。 > apacheの設定でServerTokens等を変更していなければ、telnet等でhttpdの > ポートに接続してヘッダを取得すれば見れると思います。 綾瀬様からいただいた情報をもとに調査をしてみたのですが telnet xxx.xxx.xxx.xxx 80 と言った方法で正しいのでしょうか。 うまく情報を得ることができなかったのでよろしければ アドバイス願います。 ご質問ばかりさせていただき申し訳ございませんが どうかご協力のほど、よろしくお願いいたします。 |
|
投稿日時: 2004-07-28 17:23
ということでしたら、恐らく OpenSSL は libssl.so に静的リンクされていると思われます。
> opensslの動作の仕組みをあまり理解していなくて申し訳ないのですが > 現在 /usr/local/ssl にインストールされている sslフォルダを > リネームし(ssl → ssl_old) > apacheを再起動(apachectl stop → apachectl startssl) > させても通常通り動作してしまうものなのでしょうか。 静的リンクされていれば、libssl.so の中に OpenSSL のライブラリが丸まるコピーされているので、コピー元が削除されても全く動作に影響を与えません。 > telnet xxx.xxx.xxx.xxx 80 と言った方法で正しいのでしょうか。 ServerTokens Full または未設定の状態で $ telnet localhost 80 HEAD /index.html HTTP/1.0 とでもすれば、Server というところに、Apache や OpenSSL のバージョンが表示されます。 |
|
投稿日時: 2004-07-29 14:47
こんにちは。
> 綾瀬様からいただいた情報をもとに調査をしてみたのですが > telnet xxx.xxx.xxx.xxx 80 と言った方法で正しいのでしょうか。 やり方はあんどれさんが書いてくれてますので省略しますね。 「apache」「telnet」「ヘッダ」「取得」のようなキーワードを提示しましたが、 これらを元にやり方とか調べて頂けました? これらを各検索サイトに放り込めば、大抵1ページ目に表示される結果の中に やり方を説明しているサイトが出てきました。 出来れば自分で調べて欲しかったから、あえて答えは書かなかったのですけど。 教わって覚えるのと、自分で調べて覚えるのでは、やはり自分で調べたほうが 良いと思うので、これからもがんばってくださいね。 |
|
投稿日時: 2004-08-02 13:24
御教授いただきましたみなさま本当にありがとうございました。
先日無事作業を完了させることができました。 綾瀬様のおっしゃるとおり少し甘えていた部分もあったように おもいます。 以後は、可能な限り自分の力で解決できるよう努力し、 皆様のように他の人にアドバイスできるような人材を 目指したいと思います。 本当にありがとうございました。 |
1