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サイトを変更したいので、そのアドバイスが役立ちます。
欠落している手順は、基本システムのポートよりもポートからOpenSSLを使用することをシステムに伝える必要があることです。
ポートからOpenSSLを構築します:
次の行を作成/ /etc/make.conf
に追加します。
WITH_OPENSSL_PORT=yes
次に再インストールOpenSSL(devel/apr1
、www/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ライブラリを使用するようになりました。
OpenSSLをコンパイルしても、あまり役に立ちません。 Apacheはまだ古いOpenSSLにリンクされています。これは、ldd
コマンドを使用して確認できます。
新しいOpenSSLにリンクするには、Apacheまたはmod_ssl
を再コンパイルする必要があります。