ITと創作でねこを飼いたい

プログラミングやITで勉強したこと、疑問をまとめます。

Red HatのApacheのバージョンを上げて!と言われたときに確認すべきこと

業務で実際に調査したことなのですが、備忘録として残しておきます。
この記事は2019/7/15に書いた記事です

事件は、httpd -vと叩いたときに始まった。

本番環境をAWSのRed Hat7のAMIイメージでサーバー構築していた我々。
(現状最新Red Hatサーバーを建てようと思ったら普通にやるとRed Hat8になる)
OSSのージョン整理する段でhttpd -vと叩いたときに驚愕の事実が発覚する。

バージョン : v2.4.6

えっ、Apacheってv2.4.39とか出てなかった? 古すぎじゃね???
となった訳、v2.4.6~2.4.39までの脆弱性対策とかどうなってるんやって話。
(ちなみにv2.4.6は2013/07/22にリリースされたバージョン)

新事実、オープンソースRed HatApacheのバージョンは中身が違った。

yumでインストールできんやん! と悪戦苦闘していた最中。
なんでv2.4.6なんだ?? という疑問が出ないでもなかった。
調べてみると、以下のような情報が出てくる。

access.redhat.com

access.redhat.com

2つ目のサイトをgoogle翻訳で訳してみると、
backporting(バックポート)なる概念があるらしいことが分かる。
ざっくりいうと、
古いバージョンを元にしているが、Red Hat社でセキュリティの問題は修正してリリースしてますよと言っているのである。
つまりオープンソースApachev2.4.6Red HatApachev2.4.6は違ったのだ。
というか、httpd -vではRed Hat内のApacheの正体は分からないのである。
yum list installed | grep httpdして、v2.4.6の先の数字をみる必要があったのだ。
今回であればhttpd-2.4.6-89.el7_6と続いていて、これこそが真のバージョン情報だった。(リリース日:2019/04/23)

説得しよう

Red Hat社でセキュリティを担保していることもあって、yumでは、オープンソース版のApacheはまっったくインストールできなかったのである。

ここで一点注意しなければならない点を説明しなければならない。

それは、Red Hat社でセキュリティを担保しているのは、Red Hat社がクリティカルだと思ったものだけというところだ。
脆弱性はCVEなるものでまとめられているが、CVEのレベルで「Low」となっているもの等など、Red Hat社は対応していないものも散見される。
個人的には、クリティカルな部分はおさえてあるのだから、運用上の利便性を蔑ろにしてまで、オープンソース版に変える必要はないように思っているが、プロジェクトリーダーやらなんやら説得するにはもうちょっと調査が必要かもしれない。
残念なことにRed Hat版のApacheはリリースノートのように、一覧でまとめられたものは見つけられなかったので、私はオープンソースApacheリリースノートとRed Hatの公式サイトのRed Hat CVE Databaseの検索で調査した。
(私の場合は、事前にクリティカルそうなCVEを抽出してもらっていたので楽だったが、全部みるのは大変だろうと思う。ここは若干仕方がない・・・)

httpd.apache.org

access.redhat.com

あとは、Red Hat版じゃなくて、オープンソース版にすると、こういった問題があるよ!的なことが、(ありがたいことに、)以下のサイトにまとまっているので、参考になるはず(少し情報は古いが)

teratail.com

以上、調査の役に立ってもらえたら幸いである。