【セキュリティ対策】脆弱性のあるApache 2.4のアップデート

【セキュリティ対策】脆弱性のあるApache 2.4のアップデート サーバー

「脆弱性の見つかった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の動作確認を説明しました。

タイトルとURLをコピーしました