web-dev-qa-db-ja.com

openssl1.0.1をインストールしているのに、サーバーにopenssl 0.9.8が表示されるのはなぜですか?

isハートブリードバグに対して脆弱なテストサーバーを作成しています。

私のサーバーはFreeBSDVMでApache2.4を実行しています。デフォルトでは、FreeBSDにはOpenSSL0.9.8がデフォルトでインストールされているようです。ポートからOpenSSLをアンインストールしようとしましたが、ポート経由でインストールしなかったため(デフォルトで付属)、その方法でアンインストールできませんでした。

次に、それを無視して、ソースからOpenSSL1.0.1をインストールしようとしました。しかし、Apacheサーバーを再起動し、curl --head 127.0.0.1を使用してサイトを確認すると、「OpenSSL0.9.8」が表示されました。

次に、Apacheを再インストール/再構成しようとしましたが、同じテストで「OpenSSL0.9.8」が生成されました。

そこで、次のようにデフォルトのOpenSSLを置き換えようとしました。
-ポートを介して新しいOpenSSLをインストールしました(デフォルトバージョンを置き換えるため)
-ポートにインストールされたOpenSSLをアンインストールしました(デフォルトのOpenSSLを完全に消去しようとしています)
-私のソースで-残っているのは1つだけで、これで変更する必要があると思いました
-テストでも「OpenSSL0.9.8」(悲しみ)が発生しました

では、なぜまだ「OpenSSL0.9.8」が表示されているのですか?

また、OpenSSL 1.0.1を使用するようにWebサイトを変更したいので、そのアドバイスが役立ちます。

1
user2738698

欠落している手順は、基本システムのポートよりもポートからOpenSSLを使用することをシステムに伝える必要があることです。

  • ポートからOpenSSLを構築します:

  • 次の行を作成/ /etc/make.confに追加します。

    WITH_OPENSSL_PORT=yes
    
  • 次に再インストールOpenSSLdevel/apr1www/Apache24、..を必要とする他のすべてのモジュール。)

  • Apache24によって使用されるOpenSSLlibを確認できます(実際にはApache24 mod_sslモジュール):

    # ldd /usr/local/libexec/Apache24/mod_ssl.so |grep ssl 
    /usr/local/libexec/Apache24/mod_ssl.so:
            libssl.so.8 => /usr/local/lib/libssl.so.8 (0x801634000)
    

    Apache24mod_sslは、ポートからOpenSSLライブラリを使用するようになりました。

5
Ouki

OpenSSLをコンパイルしても、あまり役に立ちません。 Apacheはまだ古いOpenSSLにリンクされています。これは、lddコマンドを使用して確認できます。

新しいOpenSSLにリンクするには、Apacheまたはmod_sslを再コンパイルする必要があります。

1
Spack