Como posso evitar que SoapExtensions sendo adicionado ao meu aplicativo de serviço da web?

StackOverflow https://stackoverflow.com/questions/119018

  •  02-07-2019
  •  | 
  •  

Pergunta

Parece que qualquer um pode espionar mensagens SOAP serviço web de entrada / saída .NET apenas deixando cair em um SoapExtension simples para a pasta bin e, em seguida, encanamento que no uso:

<soapExtensionTypes>
  <add type="MyLoggingSoapExtension, SoapLoggingTools" priority="0" group="High" />
<soapExtensionTypes>

Existe uma maneira para evitar extensões SOAP de carga ou de ser convidado em meu aplicativo (através de um evento ou algum tal mecanismo) se é ok para carregar?

@Hurst: obrigado pela resposta. Eu sei sobre criptografia de nível de mensagem / WS-Security e estava esperando para não ter que ir por esse caminho. Temos clientes ASP clássicas usando o serviço e que abre um pequeno mundo de dor. Há certificados SSL no site executando o serviço web, mas eu estava meio que esperando que eu poderia desencorajar o cliente de mexer com extensões de sabão, pois têm os desenvolvedores que têm alguma capacidade de 'play'.

Foi útil?

Solução

Eu não sei o que você quer dizer com extensões e pastas bin (eu acho que você está usando .NET), então eu não posso responder sobre eles sendo carregado etc.

No entanto, nota que o SOAP é projetado para permitir intermediários para ler os cabeçalhos e até mesmo modificá-los. (Faça uma busca por "Soap ativos Intermediários"). A julgar pelo que, eu espero que haja nenhuma razão para que uma tecnologia para evitar a espionagem, impedindo código da leitura do SABÃO .

A maneira correta de se proteger é usar " segurança em nível de mensagem ". (Isso está em contraste com de segurança de nível de transporte , como SSL, que não protege de intermediários). Em outras palavras, criptografar suas próprias mensagens antes de enviar.

Um padrão disponível usado para implementar mecanismos de segurança de nível de mensagem é o WS-Security protocolo. Isso permite que você direcionar a criptografia para os cabeçalhos de carga útil e relevante, independentemente do transporte. É mais complexo, mas é assim que você faria para restringir o acesso.

Outras dicas

Concordo totalmente com @Hurst - se você quiser evitar que outras pessoas lendo suas mensagens que você precisa para usar a criptografia em nível de mensagem. Caso contrário, mesmo simples NetMon pode rachar sobre o tráfego fio.

É claro que se alguém tem acesso à máquina (dado o acesso a / bin etc.), mesmo criptografia pode não ser suficiente para evitar bisbilhoteiros usando depuradores por exemplo ler representações na memória da mensagem depois de descriptografar.

Com o acesso físico à máquina - todas as apostas estão fora

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top