확장된 보호 정책
이 문서에서는 ExtendedProtection 샘플에 대해 설명합니다.
확장된 보호는 MITM(Man-In-The-Middle, 메시지 가로채기) 공격을 방지하기 위한 보안 이니셔티브입니다. MITM 공격은 공격자가 클라이언트의 자격 증명을 가로채 서버로 전달하는 보안 위협입니다.
토론(Discussion)
애플리케이션이 Kerberos, 다이제스트 또는 NTLM(HTTPS 사용)을 사용하여 인증할 때는 TLS(전송 수준 보안) 채널이 먼저 설정된 다음 이 보안 채널을 사용하여 인증이 진행됩니다. 그러나 SSL을 통해 생성되는 세션 키와 인증 중에 생성되는 세션 키는 서로 바인딩되지 않습니다. 따라서 클라이언트와 서버 사이에 MITM이 개입하여 클라이언트로부터의 요청을 전달하기 시작할 수 있습니다. 이는 전송 채널 자체가 보안 채널인 경우에도 해당되는데, 보안 채널이 클라이언트에서 설정되었는지 MITM에서 설정되었는지를 서버에서는 알 수 있는 방법이 없기 때문입니다. 이 경우 해결 방법은 MITM이 있는 경우 서버에서 이를 감지할 수 있도록 외부 TLS 채널을 내부 인증 채널과 바인딩하는 것입니다.
참고 항목
이 샘플은 IIS에서 호스팅하는 경우에만 작동하며,
참고 항목
다음 단계는 Windows 7에만 해당됩니다.
샘플을 설치, 빌드 및 실행하려면
제어판, 프로그램 추가/제거, Windows 기능에서 인터넷 정보 서비스를 설치합니다.
Windows 기능, 인터넷 정보 서비스, World Wide Web 서비스, 보안 및 Windows 인증에서 Windows 인증을 설치합니다.
Windows 기능, Microsoft .NET Framework 3.5.1 및 Windows Communication Foundation HTTP Activation에서 Windows Communication Foundation HTTP Activation을 설치합니다.
이 샘플을 사용하려면 클라이언트에서 서버와의 보안 채널을 설정해야 하므로, IIS(인터넷 정보 서비스) 관리자에서 설치할 수 있는 서버 인증서가 있어야 합니다.
IIS 관리자를 엽니다. 루트 노드(컴퓨터 이름)를 선택하면 기능 보기 탭에 나타나는 서버 인증서를 엽니다.
이 샘플을 테스트하기 위해 자체 서명된 인증서를 만듭니다. 브라우저에서 인증서가 안전하지 않다는 메시지가 표시되지 않도록 하려면 인증서를 신뢰할 수 있는 인증서 루트 인증 기관 저장소에 설치합니다.
기본 웹 사이트의 작업 창을 엽니다. 사이트 편집, 바인딩을 차례로 클릭합니다. HTTPS가 아직 없으면 포트 번호 443을 사용하여 HTTPS를 형식으로 추가합니다. 이전 단계에서 만든 SSL 인증서를 할당합니다.
서비스를 빌드합니다. 그러면 IIS에 가상 디렉터리가 만들어지고 서비스를 웹에서 호스트하는 데 필요한 .dll, .svc 및 .config 파일이 복사됩니다.
IIS 관리자를 엽니다. 이전 단계에서 만든 가상 디렉터리(ExtendedProtection)를 마우스 오른쪽 단추로 클릭합니다. 애플리케이션으로 변환을 선택합니다.
IIS 관리자에서 이 가상 디렉터리에 대한 인증 모듈을 열고 Windows 인증을 사용하도록 설정합니다.
이 가상 디렉터리에 대한 Windows 인증에서 고급 설정을 열고 필수로 설정합니다.
브라우저 창에서 정규화된 도메인 이름을 제공하여 HTTPS URL에 액세스하면 서비스를 테스트할 수 있습니다. 원격 컴퓨터에서 이 URL에 액세스하려면 들어오는 모든 HTTP 및 HTTPS 연결에 대해 방화벽이 열려 있는지 확인합니다.
클라이언트 구성 파일을 열고
<<full_machine_name>>
을 대체하는 엔드포인트 주소 특성 또는 클라이언트의 정규화된 도메인 이름을 제공합니다.클라이언트를 실행합니다. 클라이언트가 서비스와 통신하며, 이때 보안 채널이 설정되고 확장된 보호가 사용됩니다.