セキュリティー監査は、Web サービス・ランタイム操作に関して、監査可能イベントのトラッキングとアーカイブを提供します。Web サービスに対してセキュリティー監査が使用可能になっている場合、イベント・ジェネレーター・ユーティリティーが署名、暗号化、セキュリティー、認証、および委任の各イベントを収集して、監査イベント・レコードに記録します。監査イベント・レコードを分析することにより、ご使用の環境のセキュリティー構成内の潜在的なセキュリティー・ブリーチ (抜け穴)、または潜在的な弱点を特定することができます。
イベント・ジェネレーターが Web サービス・セキュリティー・ランタイムに関する監査レコードを収集できるようにするには、WebSphere® Application Server に対して監査セキュリティー・サブシステムを使用可能にしておく必要があります。
監査可能セキュリティー・イベントは、セキュリティー監査サブシステムを使用可能にすることによって記録されます。セキュリティー監査の使用可能化について詳しくは、トピック『セキュリティー監査サブシステムの使用可能化』を参照してください。
Web Services Security 監査は、JAX-WS ランタイムに対してのみ使用可能になっています。SOAP メッセージの受信時には、いくつかの監査イベントが発生する可能性があります。
監査データは、さまざまな Web Services Security ランタイムの操作 (例えば、SOAP メッセージのデジタル署名の検証、メッセージの暗号化解読、あるいはメッセージのセキュリティー・ヘッダーの検査) 時に収集されます。監査データは、イベント・ジェネレーターによって保管および管理され、後で分析するために監査ログに保管されます。
Web サービスの監査可能イベントには、以下のものがあります。
署名
各 SOAP メッセージ・パーツ内のデジタル署名が検証されると、SECURITY_SIGNING イベントが、結果 (SUCCESS または ERROR) とともにイベント・ジェネレーターに送られます。理由コード (VALID_SIGNATURE または INVALID_SIGNATURE のいずれか) も送られます。メッセージの保全性は、SECURITY_SIGNING イベントでも監査され、その結果は SUCCESS または DENIED です。理由コードは INTEGRITY または INTEGRITY_BAD です。以下の表に、署名イベントの要約を示します。
表 1. 署名監査イベント. 署名監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ (抜け穴)、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_SIGNING (デジタル署名) |
SUCCESSERROR
|
VALID_SIGNATURE
INVALID_SIGNATURE
|
SECURITY_SIGNING (保全性) |
SUCCESSDENIED
|
INTEGRITY
INTEGRITY_BAD
|
SECURITY_SIGNING イベントの結果が DENIED で、その理由コードが INTEGRITY_BAD の場合、これは、セキュリティー・ポリシーによって署名されていなければならない、少なくとも 1 つのメッセージ・パーツが、署名の検証に失敗したことを意味しています。
SECURITY_SIGNING イベントの結果が ERROR で、その理由コードが INVALID_SIGNATURE の場合、これは、デジタル署名の検証が失敗したことを意味しています。この場合、セキュリティー・ポリシーによってデジタル署名が要求されているかどうかに応じて、理由コード INTEGRITY_BAD が監査レコードに含まれることがあります。
暗号化
暗号化監査は 2 つの部分で実行されます。最初は、SOAP メッセージの暗号化されている部分が処理され、次にそのメッセージの機密性が監査されます。メッセージの暗号化された各部分を監査するために、SECURITY_ENCRYPTION イベントが送られます。イベント・レコードは、イベントの結果が ERROR の場合にのみ作成されます。これは、例外が発生したことを意味しています。理由コードは DECRYPTION_ERROR です。
次に、メッセージの機密性が別の SECURITY_ENCRYPTION イベントで検査されます。このイベントの可能性のある結果は、SUCCESS または DENIED です。このイベントの理由コードは CONFIDENTIALITY または CONFIDENTIALITY_BAD です。以下の表に暗号化イベントの要約を示します。
表 2. 暗号化監査イベント. 暗号化監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_ENCRYPTION (暗号化されたメッセージ・パーツ) |
ERROR |
DECRYPTION_ERROR |
SECURITY_ENCRYPTION (機密性) |
SUCCESSDENIED
|
CONFIDENTIALITY
CONFIDENTIALITY_BAD
|
SECURITY_ENCRYPTION イベントの結果が DENIED で、その理由コードが CONFIDENTIALITY_BAD の場合、これは、暗号化されている必要のある、少なくとも 1 つのメッセージが正しく暗号化されていないことを意味しています。
メッセージの暗号化が要求されているかどうかに応じて、監査レコード内の DECRYPTION_ERROR により、理由コードが CONFIDENTIALITY_BAD になることがあります。
タイム・スタンプ
SECURITY_RESOURCE_ACCESS イベントがイベント・ジェネレーターに送られると、SOAP メッセージごとにタイム・スタンプが監査されます。このイベントによって生じる可能性のある結果は SUCCESS または DENIED です。理由コードは TIMESTAMP または TIMESTAMP_BAD です。以下の表にタイム・スタンプ・イベントの要約を示します。
表 3. タイム・スタンプ監査イベント. タイム・スタンプ監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_RESOURCE_ACCESS |
SUCCESSDENIED
|
TIMESTAMPTIMESTAMP_BAD
|
セキュリティー・ヘッダー
セキュリティー・ヘッダーは、それが SOAP メッセージから欠落していないことを確認するために監査されます。SECURITY_RESOURCE_ACCESS イベントが送信され、ヘッダーが欠落している場合、結果は DENIED になり、理由コードは SECURITY_HEADER_MISSING になります。以下の表にセキュリティー・ヘッダー・イベントの要約を示します。
表 4. セキュリティー・ヘッダー監査イベント. セキュリティー・ヘッダー監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_RESOURCE_ACCESS |
DENIED |
SECURITY_HEADER_MISSING |
認証
認証が成功したかどうかを判別するために、メッセージの認証に使用されるセキュリティー・トークンが監査され、認証タイプ、プロバイダー名、およびプロバイダーの状況が監査イベント・レコードに保存されます。トークン ID も、トークン・タイプに固有の情報 (ユーザー名や鍵ストアなど) とともに記録されます。トークン自体、トークンのパスワードなどの機密情報は、監査イベント・レコードには記録されません。以下の表に、トークン・タイプごとに記録される情報についての説明を示します。
表 5. 監査イベント・レコードに記録されるトークン情報. 認証監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。トークン・タイプ |
記録される情報 |
ユーザー名トークン |
- ユーザー名
- パスワード (ヌルまたは非ヌル)
- トークン ID
|
LTPA |
|
LTPAPropagate |
|
SecureConversation |
|
DerivedKey |
|
Kerberos |
|
X509 |
- Certificate
- サブジェクト
- 発行者
- 鍵ストア
- トークン ID
- TrustAny
|
PKP パス (公開鍵インフラストラクチャー) |
- Certificate
- サブジェクト
- 発行者
- 鍵ストア
- トークン ID
- TrustAny
|
PKCS7 (Public Key Cryptography Standards) |
- Certificate
- サブジェクト
- 発行者
- 鍵ストア
- トークン ID
- TrustAny
|
SAML トークン |
- プリンシパル
- SAML トークン発行者名
- 確認メソッド
|
メッセージ認証は、SECURITY_AUTHN イベントを使用して監査されます。このイベントの可能性のある結果は、SUCCESS、DENIED、または FAILURE です。
理由コードは、AUTHN_SUCCESS、AUTHN_LOGIN_EXCEPTION、または AUTHN_PRIVILEDGE_ACTION_EXCEPTION です。
以下の表に認証イベントの要約を示します。
表 6. 認証監査イベント. 認証監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_AUTHN |
SUCCESSDENIED
FAILURE
|
AUTHN_SUCCESS
AUTHN_LOGIN_EXCEPTION
AUTHN_PRIVILEDGE_ACTION_EXCEPTION
|
委任
SOAP メッセージの認証は委任が可能であり、SECURITY_AUTHN_DELEGATION イベントを使用して委任機能が監査されます。このイベントは、クライアント ID が伝搬されるとき、または委任で特別な ID の使用が必要とされるときに送信されます。Web Services Security ランタイムでは、監査イベントは、委任タイプが「ID アサーション」に設定されている場合にのみ記録されます。可能性のある結果は SUCCESS または DENIED で、理由コードは AUTHN_SUCCESS または AUTHN_DENIED です。
委任タイプ、ロール名、ID 名などの追加情報が収集され、監査イベント・レコードに保管されます。以下の表に委任イベントの要約を示します。
表 7. 委任監査イベント. 委任監査イベント・レコードを使用することにより、セキュリティー構成内の潜在的なセキュリティー・ブリーチ、または潜在的な弱点を特定することができます。イベント・タイプ |
可能性のある結果 |
理由コード |
SECURITY_AUTHN_DELEGATION |
SUCCESSDENIED
|
AUTHN_SUCCESS
AUTHN_DENIED
|
妥当性検査
汎用セキュリティー・トークン・ログイン・モジュール・サポートの一環として、セキュリティー・トークン・サービスで
WS-Trust Validate 要求を使用してトークンを検証することができます。
この検証操作では、検証対象トークンと交換に別のトークンが戻されることがあります。交換される情報は、汎用セキュリティー・トークンの監査に関する資料で説明されています。以下の表に、記録されるトークン交換情報を示します。
表 8. トークン交換. トークン交換プロセスをトレースするには、トークン交換情報を使用します。Event |
説明 |
TokenSentForExchangeId |
この情報は、検証のために送信され、交換されるトークンを示します。 |
TokenSentForExchangeType |
この情報は、検証のために送信され、交換されるトークンのタイプを示します。 |
ExchangedTokenId |
この情報は、検証要求中に交換して受け取られるトークンを示します。 |
ExchangedTokenType |
この情報は、検証要求中に交換して受け取られるトークンのタイプを示します。 |
トークン交換なしでトークンが検証される場合、トークン ID のみが記録されます。