「脆弱性の見つかったApache 2.4をアップデートしたい」
「インストール済みApacheを最新バージョンに更新したい」
このような場合には、この記事に内容が参考になります。
この記事では、脆弱性のあるApache 2.4を最新版にアップデートする方法を解説しています。
本記事の内容
- Apache 2.4で脆弱性が見つかった!!
- aptによる最新バージョンApacheへの更新
- Apacheの動作確認
それでは、上記に沿って解説していきます。
Apache 2.4で脆弱性が見つかった!!
Apache HTTP Server 2.4系で複数の脆弱性が見つかりました。
Apache HTTP Server 2.4.53以下は、全部アウトです。
脆弱性の詳細は、以下。
- mod_proxy_ajpにおけるHTTPリクエストスマグリングの脆弱性 - CVE-2022-26377 - Windows環境のmod_isapiにおける境界外読み取りの脆弱性 - CVE-2022-28330 - ap_rwrite()関数による領域外読み取りの脆弱性 - CVE-2022-28614 - ap_strcmp_match() 関数における領域外読み取りの脆弱性 - CVE-2022-28615 - mod_lua r:parsebodyにおけるサービス運用妨害(DoS)の脆弱性 - CVE-2022-29404 - mod_sedにおけるサービス運用妨害(DoS)の脆弱性 - CVE-2022-30522 - mod_luaでのwebsocketsフレームの処理における情報漏えいの脆弱性 - CVE-2022-30556 - hop-by-hop機構によってmod_proxyのX-Forwarded-Forヘッダーがオリジンサーバに送られない脆弱性 - CVE-2022-31813
想定される影響は、以下が考えられます。
- 攻撃者によって、リクエストをAJPサーバに転送される - CVE-2022-26377 - 攻撃者によって、境界外読み取りが行われる - CVE-2022-28330 - 攻撃者によって、意図しないメモリを読み取られる - CVE-2022-28614 - 攻撃者によって、サーバのクラッシュや情報の窃取が行われる - CVE-2022-28615 - 攻撃者によって、サービス運用妨害(DoS)状態にされる - CVE-2022-29404、CVE-2022-30522 - 攻撃者によって、情報が窃取される - CVE-2022-30556 - 攻撃者によって、IPベースの認証を回避される - CVE-2022-31813
見る限りでも、結構ヤバそうな脆弱性があります。
その対策として、Apache HTTP Server 2.4.54が2022年6月8日に公開されています。
以上、Apache 2.4で脆弱性が見つかった!!について説明しました。
次は、aptによる最新バージョンApacheへの更新を説明します。
aptによる最新バージョンApacheへの更新
最新版のApacheをインストールしましょう。
そうすれば、脆弱性対策が実施されたApacheをインストールすることになります。
まずは、インストール済みのApacheのバージョンを確認します。
$ apache2ctl -v | grep 'Server version' Server version: Apache/2.4.53 (Ubuntu)
上記Apacheは、最近新規にインストールしたばかりです。
インストールについては、次の記事でまとめています。
Apache HTTP Server 2.4.53は、2022年3月14日にリリースされたばかりです。
それでも、セキュリティ的にはアウトとなりました。
そこで、Apacheをアップデートする必要があります。
Apacheのバージョンアップについては、次の記事で説明しています。
詳細については、上記の記事を参考にしてください。
では、Apacheのバージョンアップを実施していきます。
作業の前に、設定ファイルをバックアップ。
$ tar cvzf apache.tar.gz /etc/apache2
まずは、Apacheを停止。
$ sudo systemctl stop apache2
そして、パッケージを更新。
具体的には、リポジトリを登録しています。
$ sudo add-apt-repository ppa:ondrej/apache2
上記を実行したら、最新版Apacheのパッケージを認識するようになっています。
$ sudo apt info apache2 Package: apache2 Version: 2.4.54-1+ubuntu20.04.1+deb.sury.org+1 Priority: optional Section: httpd Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> Installed-Size: 523 kB Provides: httpd, httpd-cgi Depends: apache2-bin (= 2.4.54-1+ubuntu20.04.1+deb.sury.org+1), apache2-data (= 2.4.54-1+ubuntu20.04.1+deb.sury.org+1), apache2-utils (= 2.4.54-1+ubuntu20.04.1+deb.sury.org+1), lsb-base, mime-support, perl:any, procps Recommends: ssl-cert Suggests: apache2-doc, apache2-suexec-pristine | apache2-suexec-custom, www-browser Download-Size: 163 kB APT-Sources: http://ppa.launchpad.net/ondrej/apache2/ubuntu focal/main amd64 Packages Description: Apache HTTP サーバ Apache HTTP Server Project は、標準準拠のオープンソースソフトウェアとして、 安全で、効率的で、拡張性のある HTTP サーバを構築することを目的としています。 その成果は、インターネットで長い間ナンバーワンの web サーバとなっています。 . このパッケージをインストールすれば、設定ファイル、init スクリプト、 補助スクリプトを含むすべてをインストールできます。
あとは、インストールするだけです。
インストールには、次のコマンドを利用します。
$ sudo apt update $ sudo apt install -y apache2
エラーなく終われば、Apacheのバージョンアップは完了です。
以上、aptによる最新バージョンApacheへの更新を説明しました。
最後は、Apacheの動作確認を説明します。
Apacheの動作確認
Apacheのバージョン確認には、再度次のコマンドを利用します。
$ apache2ctl -v | grep 'Server version' Server version: Apache/2.4.54 (Ubuntu)
無事に更新されていますね。
なお、インストール完了と同時にApacheは起動しています。
Apacheの起動状況を確認すると、起動済みとなっています。
$ sudo systemctl status apache2 ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-06-14 18:15:53 JST; 4min 9s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 16642 (apache2) Tasks: 6 (limit: 9508) Memory: 12.8M CGroup: /system.slice/apache2.service ├─16642 /usr/sbin/apache2 -k start ├─16645 /usr/sbin/apache2 -k start ├─16646 /usr/sbin/apache2 -k start ├─16647 /usr/sbin/apache2 -k start ├─16648 /usr/sbin/apache2 -k start └─16649 /usr/sbin/apache2 -k start ~
PHPを使っても確認しておきましょう。
info.php
<?php phpinfo(); ?>
上記のファイルをドキュメントルート以下に設置して、ブラウザでアクセスします。
Apache HTTP Server 2.4.54を確認できます。
Apacheの動作確認は、問題ありません。
以上、Apacheの動作確認を説明しました。