2008-09-23 5 views
1

누구나 들어 오거나 들어오는 .NET 웹 서비스 SOAP 메시지를 스누핑 할 수 있습니다. 간단한 SoapExtension을 bin 폴더에 놓은 다음 다음을 사용하여 연결하면됩니다.SoapExtensions가 내 웹 서비스 응용 프로그램에 추가되는 것을 어떻게 방지합니까?

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

SOAP 확장을 방지하는 방법이 있습니까? 로드 또는 응용 프로그램에서 (이벤트 또는 일부 메커니즘을 통해)로드 여부를 묻는 메시지가 표시됩니다.

@Hurst : 답변 해 주셔서 감사합니다. 나는 메시지 레벨 암호화/WS 보안에 대해 알고 있으며 그 길을 가지 않아도되기를 희망했다. 우리는이 서비스를 사용하는 고전적인 ASP 클라이언트를 보유하고 있으며 이로 인해 작은 고통의 세계가 열리게됩니다. 웹 서비스를 실행하는 사이트에는 SSL 인증서가 있지만 나는 '재생'할 수있는 능력을 가진 개발자가 있기 때문에 클라이언트가 비누 확장 기능을 사용하지 못하게 할 수 있기를 바랬습니다.

답변

2

난 당신이 확장하고 빈 폴더가 무슨 뜻인지 확실하지 않다 (나는 당신이 .NET 사용하는 거라 생각) 그래서 나는 그들이

그러나 등로드에 대한 답변이 SOAP 설계되어 있습니다 없습니다 중개인이 헤더를 읽고 수정할 수도 있습니다. ("SOAP Active 중개자"를 검색하십시오.) 그 것으로 판단하면 코드가 SOAP을 읽지 못하게함으로써 기술이 스누핑을 피할 이유가 없기를 기대합니다.

자신을 보호하는 적절한 방법은 "메시지 수준 보안"을 사용하는 것입니다. 이는 중계선을 보호하지 않는 SSL과 같이 전송 레벨 보안과 대조됩니다. 즉, 보내기 전에 자신의 메시지를 암호화하십시오.

메시지 수준 보안 메커니즘을 구현하는 데 사용할 수있는 표준 중 하나는 WS-Security 프로토콜입니다. 이렇게하면 전송과 상관없이 페이로드 및 관련 헤더를 암호화 대상으로 지정할 수 있습니다. 그것은 더 복잡하지만 액세스를 제한하는 방법입니다.

0

@Hurst와 완전히 일치합니다. 다른 사람들이 메시지를 읽지 못하도록하려면 메시지 수준 암호화를 사용해야합니다. 그렇지 않으면 단순한 NetMon도 유선 트래픽을 해독 할 수 있습니다.

물론 누군가가 (예 :/bin에 액세스 할 수 있다면) 컴퓨터에 액세스 할 수 있다면 디버거를 사용하는 스누피를 방지하기위한 암호화조차도 충분하지 않을 수 있습니다. 해독 후 메시지의 메모리 내 표현을 읽습니다.

기계에 실제로 액세스 할 수 있습니다. 모든 베팅은 꺼져 있습니다.

관련 문제