Comment empêcher SoapExtensions d'être ajouté à mon application de service Web?

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

  •  02-07-2019
  •  | 
  •  

Question

Il semble que tout le monde peut espionner les messages SOAP du service Web .NET entrants / sortants en déposant simplement un fichier SoapExtension dans le dossier bin, puis en le connectant à l'aide de:

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

Existe-t-il un moyen d'empêcher le chargement des extensions SOAP ou de demander à mon application (via un événement ou un mécanisme similaire) si le chargement est correct?

@Hurst: merci pour la réponse. Je connaissais le cryptage au niveau des messages / WS-Security et espérais ne pas être obligé de prendre cette route. Nous avons des clients ASP classiques qui utilisent le service et cela ouvre un petit monde de douleur. Il existe des certificats SSL sur le site du service Web, mais j’espérais pouvoir décourager le client de bricoler des extensions soap, car il existe des développeurs qui ont une certaine capacité à «jouer».

Était-ce utile?

La solution

Je ne suis pas sûr de comprendre ce que vous entendez par extensions et dossiers bin (je suppose que vous utilisez .NET), je ne peux donc pas vous dire s'ils ont été chargés, etc.

Cependant, notez que SOAP est conçu pour permettre aux intermédiaires de lire les en-têtes et même de les modifier. (Recherchez "SOAP Active Intermediaries"). À en juger par cela, je ne pense pas qu'une technologie puisse éviter la surveillance en empêchant le code de lire le code SOAP .

La bonne façon de vous protéger consiste à utiliser " la sécurité au niveau du message ". (Cela diffère de la sécurité au niveau du transport , telle que SSL, qui ne protège pas des intermédiaires). En d'autres termes, chiffrez vos propres messages avant de les envoyer.

Le protocole WS-Security est une norme disponible utilisée pour mettre en œuvre des mécanismes de sécurité au niveau du message. Cela vous permet de cibler le chiffrement sur la charge utile et les en-têtes correspondants, indépendamment du transport. C’est plus complexe, mais c’est ainsi que vous feriez pour restreindre l’accès.

Autres conseils

Totalement d'accord avec @Hurst - si vous voulez empêcher les autres de lire vos messages, vous devez utiliser le cryptage au niveau du message. Sinon, même un simple NetMon peut craquer sur le trafic Internet.

Bien sûr, si quelqu'un a accès à la machine (compte tenu de l'accès à / bin, etc.), même la cryptographie peut ne pas être suffisante pour empêcher les observateurs d'utiliser des débogueurs, par exemple. lire les représentations en mémoire du message après le déchiffrement.

Avec un accès physique à la machine - tous les paris sont désactivés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top