すべてのプロダクト
Search
ドキュメントセンター

Enterprise Distributed Application Service:Kubernetes クラスタにおける Apache Tomcat AJP の脆弱性に関するセキュリティ更新 (2020 年 2 月 24 日)

最終更新日:Jan 07, 2025

デフォルトでは、Apache Tomcat は Apache JServ Protocol (AJP) コネクタを使用します。攻撃者は、AJP コネクタを使用して、Apache Tomcat の webapp ディレクトリにあるファイルからデータを読み取ることができます。これは潜在的なリスクとなります。このトピックでは、この脆弱性を修正する方法について説明します。

背景情報

Apache Tomcat は、Apache Software Foundation の一部である Jakarta プロジェクトによって開発されたサーブレットコンテナです。デフォルトでは、Apache Tomcat は AJP コネクタを使用して他の Web サーバーとデータを交換します。

ただし、AJP には脆弱性があります。攻撃者はこの脆弱性を悪用して、Apache Tomcat の webapp ディレクトリからデータを読み取ることができます。これにより、攻撃者は webapp ディレクトリ内の構成ファイルまたはソースコードを取得できます。ユーザーがファイルをアップロードできるアプリケーションの場合、攻撃者は悪意のある Jakarta Server Pages (JSP) スクリプトを含むファイルをサーバーにアップロードし、脆弱性を悪用してファイルインクルージョン攻撃を開始する可能性があります。これにより、攻撃者はサーバー上でリモートから権限を取得できます。攻撃者は、AJP サービスが有効になっており、サービスポートが公開されている場合にのみ、この脆弱性を悪用できます。デフォルトでは、Apache Tomcat は AJP サービスを有効にし、IP アドレスを 0.0.0.0 に設定します。

影響

  • この脆弱性は、Elastic Compute Service (ECS) クラスタにデプロイされているアプリケーション、または JAR パッケージを使用してデプロイされているアプリケーションには影響しません。
  • この脆弱性は、WAR パッケージを使用して Kubernetes クラスタにデプロイされているアプリケーションにセキュリティ上の脅威をもたらします。できるだけ早くこの脆弱性を修正する必要があります。
  • この脆弱性は、イメージから作成され、Tomcat AJP コネクタTomcat Server.xml 構成ファイルで が有効になっている Kubernetes クラスタにセキュリティ上の脅威をもたらします。できるだけ早くこの脆弱性を修正する必要があります。

修正

  • WAR パッケージを使用して Kubernetes クラスタにアプリケーションをデプロイしている場合は、Enterprise Distributed Application Service (EDAS) コンソールで、または API オペレーションを呼び出すことによって、アプリケーションを再デプロイします。
  • EDAS によって管理されている Kubernetes クラスタがイメージから作成されている場合は、Tomcat AJP コネクタがコメントアウトされている Tomcat バージョンを使用してイメージを作成します。次に、そのイメージを使用してアプリケーションを再デプロイします。

脆弱性のチェック

webshell を使用してコンテナにログオンし、tomcat conf ディレクトリを見つけ、server.xml ファイルに <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 設定が含まれているかどうかを確認します。

  • この設定が存在しない場合は、脆弱性が修正されていることを示します。
  • この設定がまだ存在する場合は、脆弱性は修正されていません。できるだけ早く修正する必要があります。詳細については、修正 をご参照ください。