エンジニア見習いの覚え書き

エンジニア見習いの@tanakaxaが気になること書いたりいろいろ

httpd 2.2.x や bind 9.8.x がEoLで危険だから使ってはいけない…とは必ずしも言えない話

はじめに

最近よく、OSS脆弱性修正がリリース…なんてニュース多く見ますよね。 対応しなきゃってrpm -qaとかしたところ、あれ…私のバージョン低すぎ…!なんて思うこともあると思います。

調べてみたら、公式ページにApache httpd 2.2 End-of-Life 2018-01-01とか書いてあるし、 でもyum searchで探しても2.4.xは出てこないし…自分でmakeするしかない!?と思ったあなた、実はそのhttpd 2.2はサポート終了していないかもしれません。

バックポート

Backporting Security Fixes : https://access.redhat.com/security/updates/backporting/

多くの商用ディストリビューションでは、バックポートという仕組みが存在します。 要約すると、OSリリースタイミングにおいてサポートされていたパッケージバージョンを、OSSサポート終了後も独自に脆弱性修正を続けていく仕組みです。 詳しくは上のRed Hatのリンクを読んでください。

パッケージバージョンがメジャーバージョンアップされてしまうと、機能互換の問題が発生してしまうことがあるため、運用エンジニアとしては不必要なメジャーバージョンアップは望んでいません。 そういうエンジニア向けに脆弱性修正への対応作業が軽減されるように、影響が最小限になるよう元のパッケージに問題の修正を適用する形でマイナーバージョンアップを提供しています。

そのため本記事のタイトルにあるhttpd 2.2.15やbind 9.8.2は、コミュニティとしてはサポートを終了しているものの、Red Hat Enterprise Linux 6においてサポートされているため、必ずしも危険、とは言えないというわけです。

余談ですが、バナー情報を収集しているサイトを見ると、httpd 2.2.15 が2.4.6(RHEL7で採用) よりも台数が多いようです。 サポート終了まであと1年切っているので皆さん大変ですね…

Red Hat Enterprise Linux 6は2020年11月30日まで

影響有無の調べ方

多くのディストリビューションでは、共通脆弱性識別子CVEで検索可能なセキュリティポータルが存在します。こちらで検索することで、自分が利用するパッケージに影響があるのか、また修正が適用されるのかを確認することができます。

もし上記のようなCVEから検索可能なポータルが存在しないディストリビューションの場合、自分で脆弱性を評価し、影響有無を確認する必要があります。

とりあえず常に新しいバージョンをコミュニティから落として使えばOK…ではない例

新しいもの好きの方は、コミュニティサポートあるんだし常に新しいバージョンを使えばOK!と思うかもしれません。

コミュニティからリリースされたパッケージは、多くの商用ディストリビューションではサポート契約対象外になってしまいます。 対象外になることで、運用中に動作不具合が出てきても、サポート契約に基づいた問い合わせを行えず、自力で解決する必要があります。

一方で非商用のディストリビューションを使っている場合は、そもそもサポートも無いため、コミュニティリリースを使用しても、動作の確認が無いことを除けば問題ありません。 むしろ、ディストリビューションのコミュニティが修正を反映させるより前に適用できることを考えるとよりセキュアとも考えられます。

おわりに

はじめに、に書いたような質問を度々受けたたため、改めて整理して書き起こしてみました。

パッケージサポートを正しく理解しないと、不必要にも関わらずパッケージをmakeする運用が発生したり、不具合発生時に本来受けられるはずのサポートが受けられないなど、悲しいことになってしまいます。

この話は実際に脆弱性対応を行う運用エンジニアだけではなく、システム構築エンジニア、パッケージバージョン等を参考にセキュリティを評価するセキュリティ監査・コンサル系エンジニアなどなど、多くの人に理解頂ければと思います。

Advent Calender 2019

この記事は岩手県立大学 Advent Calendar 2019の10日目の記事です。