Web サービスを展開する際は、セキュリティに関する重要な考慮事項を理解しておく必要があります。 HTTPを使用する場合、その初期設定にはセキュリティ上の脆弱性があります。つまり、Webサービス コール内の全情報は、HTTPプロトコルを使用してネットワーク上のクライアントとサーバ間を平文で送信されてしまいます。 この情報には、チケットに関する説明や連絡先名などのアプリケーション データだけでなく、Web サービスのセッション ID (SID)が含まれます。 さらに、Web サービス アプリケーションで使用するログイン方法によってはパスワードも含まれます。
Web サービスを展開する管理者は、この情報を熟読して十分に理解し、アプリケーションおよびネットワークの両方のレベルで追加の設定手順を実行して、Web サービス環境を確実に保護するように努めてください。
重要: HTTPで使用するデフォルトの Webサービスには、セキュリティ上の脆弱性があるため、パスワードの漏洩、セッションの固定、データの盗み見などのセキュリティの脅威に曝されています。
Webサービスを展開するときは、以下に示す相互に関連した3つのセキュリティ事項について考慮する必要があります。
以下に、各セキュリティ機能について説明します。
ユーザ名/パスワードによる認証は、以下のセキュリティ設定コマンドを使用して無効にできます。
disable_user_logon
管理者はこのオプションを有効にする前に、Webサービスにアクセスするために企業で使用する各Webサービス クライアントが別の認証方法(PKIベースのログイン方法)を実際にサポートできるかどうかを確認する必要があります。 PKI テクノロジの大きなメリットは、システム ユーザ アカウントの管理(つまり、システム ユーザのパスワードの管理、保存、および送信)が Web サービス クライアント アプリケーションで不要である点です。
重要: Web サービスを展開するときは、SSL(または https)を使用して、アプリケーション レベルの認証交換、および続いて送受信されるセッション ID とデータを保護することをお勧めします。
require_secure_logon
このセキュリティ機能では、Login()およびLoginService()メソッドのコールにSSL(https)を使用する必要があります。 この機能は、他のWebサービスにかかるSSLのオーバーヘッドを回避すると同時に、ユーザ名およびパスワードを保護することにも役立ちます。
重要: require_secure_logonコマンドを使用すると、Webサービス アプリケーションは、Login()およびLoginService()以外のメソッドについて、通信でプロトコル レベルのセキュリティが施行されていることを確認しません。 このため、他のセキュリティ対策が講じられていない場合、Login()およびLoginService()以外のWebサービス メソッドは保護されない状態で呼び出されるため、セキュリティが非常に脆弱になります。
require_secure_connection
このセキュリティ機能では、WebサービスにアクセスするためにSSLを使用する必要があります。 httpsが必要であるにも関わらず使用されない場合は、SOAP FaultがUDS_SECURE_CHANNEL_REQUIREDコードと共に返されます。
注: SSL の設定方法の詳細については、J2EE サーブレット コンテナのドキュメントを参照してください。
|
Copyright © 2013 CA.
All rights reserved.
|
|