A auditoria de segurança fornece rastreamento e arquivamento de eventos auditáveis para as operações de tempo de execução de serviços da Web. Quando a auditoria de segurança estiver ativada para serviços da Web, o utilitário gerador de eventos coletará e registrará a assinatura, a criptografia, a segurança, a autenticação e a delegação de eventos em registros de eventos de auditoria. Você pode analisar registros de eventos de auditoria para identificar possíveis violações de segurança ou potenciais
deficiências na configuração de segurança de seu ambiente.
O subsistema de segurança de auditoria deve ser ativado no WebSphere Application Server para que o gerador de eventos possa coletar registros de auditoria para o tempo de execução de Segurança dos Serviços da Web. A gravação de eventos de segurança auditáveis é alcançada pelo
subsistema de auditoria de segurança ativado. Para obter mais informações sobre como ativar auditoria de segurança, leia o tópico "Ativando o subsistema de auditoria de segurança."
A auditoria de Segurança dos Serviços da Web é ativada apenas para o tempo de execução JAX-WS. Vários eventos de segurança podem ocorrer quando uma mensagem SOAP é recebida.
Os dados de auditoria são coletados durante várias operações de tempo de execução de Web Services Security, como validação da assinatura digital de uma mensagem SOAP, decriptografia da mensagem ou verificação do cabeçalho da mensagem. Os dados de auditoria são armazenados e gerenciados pelo gerador de eventos, e armazenados em logs de auditoria para análise posterior.
Os eventos auditáveis para os serviços da Web incluem:
Assinatura
Como a assinatura digital em cada parte da mensagem SOAP é validada, um evento SECURITY_SIGNING é enviado ao gerador de eventos, juntamente com um resultado, que pode ser SUCCESS ou ERROR. Os códigos de razão, VALID_SIGNATURE ou INVALID_SIGNATURE, também são enviados. A integridade da mensagem é auditada, também com um evento SECURITY_SIGNING, com o resultado de SUCCESS ou DENIED. Os códigos de razão são INTEGRITY ou INTEGRITY_BAD. A tabela a seguir resume os eventos de assinatura:
Tabela 1. Eventos de auditoria de assinatura. Use os registros de eventos de auditoria de assinatura
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possíveis resultados |
Códigos de razão |
SECURITY_SIGNING (assinatura digital) |
SUCCESS
ERROR
|
VALID_SIGNATURE
INVALID_SIGNATURE
|
SECURITY_SIGNING (integridade) |
SUCCESS
DENIED
|
INTEGRITY
INTEGRITY_BAD
|
Se o resultado do evento SECURITY_SIGNING é DENIED, e o código de razão é INTEGRITY_BAD, isto significa que pelo menos uma parte da mensagem, que deve ser assinada pela política de segurança, falhou na validação da assinatura.
Se o resultado do evento SECURITY_SIGNING é ERROR, e o código de razão é INVALID_SIGNATURE, isto significa que a validação da assinatura digital falhou. Isto poderia levar a um código de razão INTEGRITY_BAD no registro de auditoria, dependendo de a assinatura digital ser necessária à política de segurança.
Criptografia
A auditoria de criptografia é executada em duas partes: primeiro, as partes criptografadas da mensagem SOAP são processadas, depois a confidencialidade da mensagem é auditada. Para auditar cada parte criptografada da mensagem, um evento SECURITY_ENCRYPTION é enviado.
Um registro de evento é criado somente se o resultado do evento for ERROR, o que significa que uma exceção foi encontrada. O código de razão é DECRYPTION_ERROR.
A seguir, a confidencialidade da mensagem é verificada com outro evento SECURITY_ENCRYPTION, que têm possíveis resultados de SUCCESS ou DENIED. Os códigos de razão para este evento são CONFIDENTIALITY ou CONFIDENTIALITY_BAD. A tabela a seguir resume os eventos de criptografia:
Tabela 2. Eventos de auditoria de criptografia. Use os registros de eventos de auditoria de criptografia
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possíveis resultados |
Códigos de razão |
SECURITY_ENCRYPTION (partes da mensagem criptografadas) |
ERROR |
DECRYPTION_ERROR |
SECURITY_ENCRYPTION (confidencialidade) |
SUCCESS
DENIED
|
CONFIDENTIALITY
CONFIDENTIALITY_BAD
|
Se o resultado do evento SECURITY_ENCRYPTION é DENIED, e o código de razão é CONFIDENTIALITY_BAD, isto significa que pelo menos uma parte da mensagem, que deve estar criptografada, não foi criptografada corretamente.
Um DECRYPTION_ERROR no registro de auditoria poderia levar a um código de razão CONFIDENTIALITY_BAD, dependendo se a criptografia da mensagem é necessária.
Registro de Data e Hora
Para cada mensagem SOAP, o registro de data e hora é auditora quando um evento SECURITY_RESOURCE_ACCESS é enviado ao gerador de eventos. Os possíveis resultados deste evento são SUCCESS ou DENIED. Os códigos de razão são TIMESTAMP ou TIMESTAMP_BAD. A tabela a seguir resume os eventos de registro de data e hora:
Tabela 3. Evento de auditoria de registro de data e hora. Use o registro de eventos de auditoria de registro de data e hora
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possível resultado |
Código de razão |
SECURITY_RESOURCE_ACCESS |
SUCCESS
DENIED
|
TIMESTAMP
TIMESTAMP_BAD
|
Cabeçalho de segurança
O cabeçalho de segurança é auditado para garantir que ele não está ausente do mensagem OAP. Um evento SECURITY_RESOURCE_ACCESS é enviado, e se o cabeçalho estiver ausente, o resultado é DENIED, com o código de razão SECURITY_HEADER_MISSING. A tabela a seguir resume o evento de cabeçalho de segurança:
Tabela 4. Evento de auditoria de cabeçalho de segurança. Use o registro de eventos de auditoria de segurança
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possível resultado |
Código de razão |
SECURITY_RESOURCE_ACCESS |
DENIED |
SECURITY_HEADER_MISSING |
Autenticação
O token de segurança usado para autenticar uma mensagem é auditado para determinar se a autenticação é bem-sucedida, e as informações sobre o tipo de autenticação, nome do provedor e status do provedor são salvas no registro do evento de auditoria. O ID do token também é gravado, juntamente com as informações que são específicas ao tipo de token, como nome do usuário e keystore. Informações confidenciais como o próprio token, ou a senha do token, não são registradas no registro de evento de auditoria. As informações registradas para cada tipo de token são descritas na seguinte tabela:
Tabela 5. Informações de token registradas no registro de evento de auditoria. Use os registros de eventos de auditoria de autenticação
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de Token |
Informações registradas |
Token do Nome do Usuário |
- Nome do Usuário
- Senha (null ou não-null)
- ID do Token
|
LTPA |
- Proprietário
- Expiração
- ID do Token
|
LTPAPropagate |
- Proprietário
- Expiração
- ID do Token
|
SecureConversation |
- UUID
- UUID da instância
- ID do Token
|
DerivedKey |
- ID de referência
- ID do Token
|
Kerberos |
- Proprietário
- SPN
- pSHA1
- ID do Token
|
X509 |
- Certificado
- Assunto
- Emissor
- Armazenamento de chaves
- ID do Token
- TrustAny
|
Caminho PKP (infraestrutura de chave pública) |
- Certificado
- Assunto
- Emissor
- Armazenamento de chaves
- ID do Token
- TrustAny
|
PKCS7 (Padrões de Criptografia de Chave Pública) |
- Certificado
- Assunto
- Emissor
- Armazenamento de chaves
- ID do Token
- TrustAny
|
Token SAML |
- Proprietário
- Nome do Emissor de Token SAML
- Método de Confirmação
|
A autenticação de mensagem é auditada usando um evento SECURITY_AUTHN. Possíveis resultados do evento são SUCCESS, DENIED ou FAILURE.
Códigos de razão são AUTHN_SUCCESS, AUTHN_LOGIN_EXCEPTION ou AUTHN_PRIVILEDGE_ACTION_EXCEPTION.
A tabela a seguir resume os eventos de autenticação:
Tabela 6. Evento de auditoria de autenticação. Use os registros de eventos de auditoria de autenticação
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possíveis resultados |
Códigos de razão |
SECURITY_AUTHN |
SUCCESS
DENIED
FAILURE
|
AUTHN_SUCCESS
AUTHN_LOGIN_EXCEPTION
AUTHN_PRIVILEDGE_ACTION_EXCEPTION
|
Delegação
A autenticação de uma mensagem SOAP pode ser delegada, e a função de delegação é auditada usando um evento SECURITY_AUTHN_DELEGATION. Este evento é enviado quando a identidade do cliente é propagado ou quando a delegação envolve o uso de uma identidade especial. No tempo de execução de Segurança de Serviços da Web, os eventos de auditoria são registrados somente quando o tipo de delegação é configurado para Asserção de Identidade. Possíveis resultados são SUCCESS ou DENIED, com códigos de razão AUTHN_SUCCESS ou AUTHN_DENIED.
Informações adicionais, como o tipo de delegação, nome da função e nome da identidade, são coletadas e armazenadas no registro de evento de auditoria. A tabela a seguir resume os eventos de delegação:
Tabela 7. Evento de auditoria de delegação. Use o registro de eventos de auditoria de delegação
para identificar possíveis violações de segurança ou
fragilidades na configuração de segurança.Tipo de evento |
Possíveis resultados |
Códigos de razão |
SECURITY_AUTHN_DELEGATION |
SUCCESS
DENIED
|
AUTHN_SUCCESS
AUTHN_DENIED
|
Validação
Como parte
do suporte ao módulo de login do token de segurança genérico, um Security Token
Service pode validar um token usado um pedido
WS-Trust Validate.
Esta operação de validação pode retornar um token em troca de um token
que está sendo validado. As informações trocadas estão localizadas
na documentação sobre auditoria para um token de segurança genérico. A tabela
a seguir mostra as informações de troca de tokens que são registradas.
Tabela 8. Troca de Tokens . Use as informações de troca de tokens
para rastrear o processo de troca de tokens.As classes de eventos |
Description |
TokenSentForExchangeId |
Estas informações identificam o token que é enviado
para validação e é trocado. |
TokenSentForExchangeType |
Estas informações identificam o tipo do
token que é enviado para validação e é trocado. |
ExchangedTokenId |
Estas informações identificam o token que é recebido
em troca durante o pedido de validação. |
ExchangedTokenType |
Estas informações identificam o tipo do
token que é recebido em troca durante o pedido de validação. |
Se o token for validado sem uma troca de tokens,
apenas o ID do Token será registrado.