1

単純な SoapExtension を bin フォルダーにドロップし、それを使用して配管するだけで、誰でも着信/発信 .NET Web サービス SOAP メッセージをスヌープできるようです。

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

SOAP 拡張機能が読み込まれないようにする方法、またはアプリで (イベントまたはそのようなメカニズムを介して) 読み込みを行ってもよいかどうかを尋ねられる方法はありますか?

@ハースト:答えてくれてありがとう。私はメッセージ レベルの暗号化/WS-Security について知っており、その道を行く必要がないことを望んでいました。サービスを使用している従来の ASP クライアントがあり、小さな痛みの世界が開かれます。Web サービスを実行しているサイトには SSL 証明書がありますが、「遊ぶ」能力のある開発者がいるため、クライアントが SOAP 拡張機能をいじるのを思いとどまらせることができると期待していました。

4

2 に答える 2

2

拡張機能とbinフォルダー(.NETを使用していると思います)の意味がわからないため、それらが読み込まれていることなどについては答えられません。

ただし、SOAPは、仲介者がヘッダーを読み取ったり、ヘッダーを変更したりできるように設計されていることに注意してください。(「SOAPActiveIntermediaries」を検索してください)。それから判断すると、コードがSOAPを読み取れないようにすることで、テクノロジーがスヌーピングを回避する理由はないと思います

自分自身を保護する適切な方法は、「メッセージレベルのセキュリティ」を使用することです。(これは、仲介者から保護しないSSLなどのトランスポートレベルのセキュリティとは対照的です)。つまり、送信する前に独自のメッセージを暗号化します。

メッセージレベルのセキュリティメカニズムを実装するために使用される利用可能な標準の1つは、WS-Securityプロトコルです。これにより、トランスポートに関係なく、暗号化をペイロードと関連するヘッダーにターゲティングできます。より複雑ですが、それがアクセスを制限する方法です。

于 2008-09-23T04:57:43.543 に答える
0

@Hurstに完全に同意します-他の人があなたのメッセージを読まないようにしたい場合は、メッセージレベルの暗号化を使用する必要があります。そうしないと、単純なNetMonでさえ有線トラフィックをクラックする可能性があります。

もちろん、誰かがマシンにアクセスできる場合(/ binへのアクセスなど)、暗号化でさえ、デバッガーを使用するスヌーパーを防ぐのに十分ではない場合があります。たとえば、復号化後にメッセージのメモリ内表現を読み取る場合などです。

マシンに物理的にアクセスできる場合、すべての賭けは無効になります。

于 2008-09-23T05:05:52.870 に答える