web-dev-qa-db-ja.com

Tomcatのセキュリティ制約設定は必須ですか?

TomcatでSSL構成テストを行うために、これはすべて必須ですか?

以下の行は website から取られています:

テストのためにこれを行うには、Tomcatに既に正常にデプロイされているアプリケーションを使用し、最初にhttpおよびhttpsを介してアクセスして、正常に動作するかどうかを確認します。 「はい」の場合、そのアプリケーションのweb.xmlを開き、web-appが終了する前にこのXMLフラグメントを追加します。つまり</web-app>

<security-constraint>
    <web-resource-collection>
        <web-resource-name>securedapp</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
</security-constraint>

この構成はweb.xmlファイル内で行う必要がありますか?

26
Pawan

いいえ、必要ありません。これは、WebアプリケーションonlyがHTTPS経由で利用できることを意味します(HTTP経由では利用できません)。

<transport-guarantee>CONFIDENTIAL</transport-guarantee>タグ(または<security-constraint>全体)を省略すると、アプリケーションはHTTPとHTTPSの両方で利用できます。 web.xml<transport-guarantee>CONFIDENTIAL</transport-guarantee>が含まれている場合、HTTPを使用しようとすると、Tomcatは自動的にリクエストをSSLポートにリダイレクトします。

デフォルトのTomcat構成ではSSLコネクタが有効にならないことに注意してください。手動で有効にする必要があります。詳細については、 SSL Configuration HOW-TO を確認してください。

41
palacsint

詳細に確認すると、 blog でさらに説明されています。

アプリケーション内のリソースには、サーブレットでもJSPでも[〜#〜] https [〜#〜]でのみアクセスできます。用語CONFIDENTIALは、SSLでアプリケーションを動作させるようにサーバーに指示する用語です。このアプリケーションのSSLモードをオフにする場合は、フラグメントを削除しないでください。 値をNONEの代わりにCONFIDENTIALとして置くだけです。

5
kenorb