質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

2442閲覧

CVE-2020-1938の回避策の設定について

katuobusi

総合スコア8

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Tomcat

TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

2クリップ

投稿2020/09/08 08:18

前提・実現したいこと

CVE-2020-1938(Ghost Cat)の回避策を実施して、監査を合格させたい。

発生している問題・エラーメッセージ

Tomcatの「server.xml」内へ「requiredSecret属性」の追記、Apacheの「proxy_ajp.conf」内へ「ProxyPassReverse ~ secret=***」を追記したが、監査が通らなかった。

該当のソースコード

※設定の編集は同サーバ内のTomcatとApacheにて実施しております。

■Tomcat側
編集ファイル:/opt/tomcat/conf内の「server.xml」
編集内容  :下記設定内容の内、太字部分を追記

<!--Define an AJP 1.3 Connector on port 8009 -->

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" secret="(英数字10文字の組み合わせ)"

■Apacht側
編集ファイル:/etc/httpd/conf.d内の「proxy_ajp.conf」
編集内容  :下記内容を設定ファイル内の最終行へ追記

ProxyPassReverse / ajp://localhost:8009/ secret="(英数字10文字の組み合わせ)"

試したこと

上記設定を記入後、Tomcat、Apachのサービス再起動を実施。
Tomcat、Apacheのどちらも正常に起動・動作が可能であることを確認後、サーバ監査実施。

補足情報(FW/ツールのバージョンなど)

【動作環境】
Red Hat 5.6
Tomcat 6.0.35
Apache 2.2.3

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Tomcat 7/8/9にて、ajpを使う際には secret 属性が必須になりました(そうでないと起動しません)
https://www.jpcert.or.jp/at/2020/at200009.html

server.xml の例

xml

1<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" address="127.0.0.1" secret="password" />

Apacheのhttpd.confのajp設定は以下のようになります。
この設定は、Apache Httpd 2.4.42 以降 で有効です(それ以前のバージョンでは設定できず、HTTPDのビルドが必要かも知れません。)

conf

1ProxyPass / ajp://localhost:8009/ secret=password 2ProxyPassReverse / ajp://localhost:8009/ secret=password

なお、残念ながら記載していただいているTomcat6やApache HTTPD 2.2.3ではこの記載は利用できず、バージョンアップしなければなりません。

投稿2020/09/08 08:43

編集2020/09/10 11:01
A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

katuobusi

2020/09/10 07:29

返答遅くなり申し訳ありません。 ご回答いただいた通り、Apacheの設定を変更したところ、下記のSyntaxエラーが表示されました。 【エラー内容】 Syntax error on line ** of /etc/httpd/conf.d/proxy_ajp.conf: ProxyPass unknown Worker parameter 設定した内容は下記の通りです。 ProxyPass / ajp://localhost:8009/ secret="(英数字10文字の組み合わせ)" エラーが発生してしまう原因について考えられる問題は何がありますでしょうか。 合わせてご回答いただけますと幸いです。
A-pZ

2020/09/10 11:01

こちら検証した結果とバージョンについて回答を編集いたしました。
katuobusi

2020/09/17 01:20

検証結果について回答内容への記載、ありがとうございます。 使用しているバージョンでは、今回の回避策が使用不可であることについて理解いたしました。 バージョンアップについて、検討することとしました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問