ページの先頭行へ戻る
Interstage Web Server Express セキュリティシステム運用ガイド
Interstage

2.6 Java EEに関する対策

■サーバの資源への不正アクセス

Webブラウザからアプリケーションにアクセスする際、ネットワーク上の悪意のあるユーザが、正当なアクセス権限をもつユーザになりすまし、サーブレットアプリケーションやHTMLファイルにアクセスする脅威があります。

サーバの資源に対する不正なアクセスを防止するために、Java EEには各種のセキュリティ機能があります。
詳細は、「Java EE運用ガイド」の「Java EEアプリケーションのセキュリティ機能」を参照してください。

■通信データの盗聴・改ざん

ネットワーク上の悪意のあるユーザが、正当にアクセスする権限を持つユーザとサーバとの間の通信データをのぞき見する脅威があります。さらにサーバとの間の通信データを改ざんされ、それが正当なデータとしてやりとりされる脅威があります。

通信データの改ざんを防ぐため、暗号化によるセキュリティ保護が必要です。それには、SSL通信を使用することができます。
詳細は、「Java EE運用ガイド」の「Java EEアプリケーションのセキュリティ機能」を参照してください。

※性能を重視する場合はSSLアクセラレータの使用を検討してください。

■サービス停止・サービス拒否

ネットワーク上の悪意のあるユーザが、標的とするサーバに対して、大量のアクセスを発生させてサーバの負荷を上げます。これによりレスポンスが悪くなりサービスの質が劣化する、または正規の利用者がサービスを利用できなくなってしまう脅威があります。
サービスへの攻撃に対しては、ユーザ認証、IPアクセス制限、SSL通信、リクエストメッセージのサイズ制限の機能の利用をお勧めします。

ユーザ認証

登録したユーザからのアクセスだけを許可するように設定することができます。
「Java EE運用ガイド」の「Java EEアプリケーションのセキュリティ機能」を参照してください。

IPアクセス制限

特定のIPからのアクセスに対して、許可/拒否を設定することができます。
「Java EE運用ガイド」の「HTTPサービスの定義項目」を参照してください。

クライアントからのリクエストメッセージのサイズ制限

バッファオーバフローに備えて、リクエストメッセージの最大サイズを設定することができます。
「Java EE運用ガイド」の「HTTPサービスの定義項目」の「POSTリクエストの最大サイズ」を参照してください。

サーバ情報の漏洩

ネットワーク上の悪意のあるユーザが、HTTPレスポンスヘッダのX-Powered-Byヘッダフィールドに存在するサーバ情報を入手し、製品情報から不正アクセスを試みることが可能となる脅威があります。

Java EEでは、X-Powered-Byヘッダフィールドを付加しない設定で運用することを推奨します。設定については「Java EE 運用ガイド」の「HTTPサービスの定義項目」の「X-Powered-Byヘッダフィールド」を参照してください。

Webコンテナへアクセスする運用形態の設定

Webコンテナへのリクエストが運用形態に応じたものではない場合、セキュリティのリスクが発生することがあります。
たとえば、Webサーバでリクエストに対するチェックやフィルタリングを行っているときにWebコンテナに直接アクセスされた場合や、逆にWebサーバを利用しない形態であるときにWebサーバ経由であるかのようにリクエストの情報を偽られる場合が考えられます。
本機能の設定を適切に行うことで、IJServerクラスタの運用形態を限定することが可能です。
設定は、HTTPリスナーのプロパティ「requestCheck」で行います。詳細は、「Java EE運用ガイド」-「HTTPサービスの定義項目」を参照してください。

■クロスサイト・スクリプティングによるセッションCookieの漏洩

クロスサイト・スクリプティングによりCookieが第三者に漏えいする脅威があります。

HttpOnly属性をCookieに付加すると、クライアントサイドスクリプトからCookieを取得できなくなります。このため、クロスサイト・スクリプティングの影響を軽減することができます。

Java EEでは、CookieにHttpOnly属性を付加する運用を推奨します。なお、セッションCookieに対してHttpOnly属性を付加する設定は、以下を参照してください。

注意

Webコンテナの定義項目のプロパティとdeployment descriptorの両方に設定した場合は、後者の設定が有効になります。