Serviços da Web - Segurança

A segurança é crítica para os serviços da web. No entanto, nem as especificações XML-RPC nem SOAP fazem quaisquer requisitos de segurança ou autenticação explícitos.

Existem três problemas de segurança específicos com serviços da web -

  • Confidentiality
  • Authentication
  • Segurança de rede

Confidencialidade

Se um cliente enviar uma solicitação XML a um servidor, podemos garantir que a comunicação permaneça confidencial?

A resposta está aqui -

  • XML-RPC e SOAP são executados principalmente em HTTP.
  • HTTP tem suporte para Secure Sockets Layer (SSL).
  • A comunicação pode ser criptografada via SSL.
  • SSL é uma tecnologia comprovada e amplamente implantada.

Um único serviço da web pode consistir em uma cadeia de aplicativos. Por exemplo, um grande serviço pode unir os serviços de três outros aplicativos. Nesse caso, SSL não é adequado; as mensagens precisam ser criptografadas em cada nó ao longo do caminho do serviço, e cada nó representa um elo potencial fraco na cadeia. Atualmente, não há uma solução acordada para esse problema, mas uma solução promissora é o W3C XML Encryption Standard. Este padrão fornece uma estrutura para criptografar e descriptografar documentos XML inteiros ou apenas partes de um documento XML. Você pode verificar em www.w3.org/Encryption

Autenticação

Se um cliente se conecta a um serviço da web, como identificamos o usuário? O usuário está autorizado a usar o serviço?

As opções a seguir podem ser consideradas, mas não há um consenso claro sobre um esquema de autenticação forte.

  • O HTTP inclui suporte integrado para autenticação Basic e Digest e, portanto, os serviços podem ser protegidos da mesma maneira que os documentos HTML são protegidos atualmente.

  • A assinatura digital SOAP (SOAP-DSIG) aproveita a criptografia de chave pública para assinar digitalmente as mensagens SOAP. Ele permite que o cliente ou servidor valide a identidade da outra parte. Verifique em www.w3.org/TR/SOAP-dsig .

  • A Organização para o Avanço de Padrões de Informações Estruturadas (OASIS) está trabalhando na Linguagem de Marcação para Asserção de Segurança (SAML).

Segurança de rede

Atualmente, não há uma resposta fácil para esse problema, que tem sido objeto de muito debate. Por enquanto, se você realmente deseja filtrar mensagens SOAP ou XML-RPC, uma possibilidade é filtrar todas as solicitações HTTP POST que definem seu tipo de conteúdo como text / xml.

Outra alternativa é filtrar o atributo de cabeçalho SOAPAction HTTP. Os fornecedores de firewall também estão desenvolvendo ferramentas explicitamente projetadas para filtrar o tráfego do serviço da web.