• 締切済み

Apache脆弱性対策(openssl)

現在使用しているサーバにてApacheのバージョンが2.2.27で脆弱性があり、2.2.29にバージョンアップをしようとしているのですが、そのサーバにはOpenSSLも設定してあり、こちらはこの作業の前にopenssl0.9.8eの脆弱性対策としてopenssl0.9.8zcを配置し、モジュールをmakeまでしてある状態で、Apacheのバージョンアップの際にmake installを行い、Apacheにも適用させようとしているのですが、ビルドの前にspecファイルに「--with-ssl=/usr/local/ssl/bin」(←opensslモジュールが存在する場所) を追加したのですが、OpenSSLが実際に適用されていません。他に設定などが必要なのでしょうか。また確認の際に、logでバージョン確認をしたのですが、他に確認する方法はありますでしょうか。(openssl versionコマンドであると、表示だけ変わっている状態なので意味ないようです。)

みんなの回答

  • entree
  • ベストアンサー率55% (405/735)
回答No.1

下記のいずれかで対処可能と思われます。 (a) OpenSSL を make depend する前に、全ての Makefile の -lcrypto を -lcrypto -Wl,-rpath -Wl,/usr/local/ssl/lib に置換する。 (b) (apacheのインストール先)/bin/envvarsファイルのLD_LIBRARY_PATHに /usr/local/lib/sslを追加する。 (c) OpenSSLを -fPICオプション付きで、かつ静的ビルドする。 (d) /etc/ld.so.confに/usr/local/lib/sslを追加して ldconfig を実行する。 が、(a)は仕組みを知らないと難しいと思います。 また、(d)はシステム全体に影響を及ぼすのでおすすめしません。(※) なので、(b)を検討されてみてはいかがでしょうか。envvarsにLD_LIBRARY_PATHを設定するパッチを用意してあげれば行けるはずです。 (c)はOpenSSLをsharedオプション付きでconfigし、インストールした後/usr/local/ssl/lib配下のlibcrypto.soとlibssl.soを別の名前に変えた状態でApacheをビルドするとできると思います。 ※容易さ: d -> c -> b -> d、おすすめ度: a -> b -> c -> d

関連するQ&A