협상 검색 전송 모드
협상 검색 전송 모드 IPsec 정책 시나리오에서는 일치하는 모든 인바운드 트래픽에 대해 IPsec 전송 모드 보호가 필요하며 아웃바운드 트래픽 일치에 대한 IPsec 보호를 요청합니다. 따라서 아웃바운드 연결은 텍스트 지우기로 대체될 수 있지만 인바운드 연결은 대체될 수 없습니다.
이 정책을 사용하면 호스트 컴퓨터가 새 아웃바운드 연결을 시도하고 트래픽과 일치하는 기존 IPsec SA가 없는 경우 호스트는 동시에 패킷을 지우기 텍스트로 보내고 IKE 또는 AuthIP 협상을 시작합니다. 협상이 성공하면 연결이 IPsec로 보호됨으로 업그레이드됩니다. 그렇지 않으면 연결이 명확한 텍스트로 유지됩니다. IPsec로 보호되면 연결이 지우기 텍스트로 다운그레이드될 수 없습니다.
협상 검색 전송 모드는 일반적으로 IPsec 지원 컴퓨터와 비 IPsec 지원 컴퓨터를 모두 포함하는 환경에서 사용됩니다.
가능한 협상 검색 전송 모드 시나리오의 예는 "IPsec 전송 모드를 사용하여 ICMP를 제외한 모든 유니캐스트 데이터 트래픽을 보호하고 협상 검색을 사용하도록 설정"입니다.
이 예제를 프로그래밍 방식으로 구현하려면 다음 WFP 구성을 사용합니다.
다음 MM 정책 공급자 컨텍스트 중 하나 또는 둘 다를 추가합니다.
- IKE의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_IKE_MM_CONTEXT.
- AuthIP의 경우 형식의 정책 공급자 컨텍스트 가 FWPM_IPSEC_AUTHIP_MM_CONTEXT.
참고
공통 키 지정 모듈이 협상되고 해당 MM 정책이 적용됩니다. IKE와 AuthIP가 모두 지원되는 경우 AuthIP는 기본 키 지정 모듈입니다.
1단계에서 추가된 각 컨텍스트에 대해 다음 속성을 사용하여 필터를 추가합니다.
Filter 속성 값 필터링 조건 비어 있음 모든 트래픽이 필터와 일치합니다. providerContextKey 1단계에서 추가된 MM 공급자 컨텍스트의 GUID입니다. 다음 QM 전송 모드 정책 공급자 컨텍스트 중 하나 또는 둘 다를 추가하고 IPSEC_POLICY_FLAG_ND_SECURE 플래그를 설정합니다.
- IKE의 경우 형식의 정책 공급자 컨텍스트가 FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
- AuthIP의 경우 형식의 정책 공급자 컨텍스트가 FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. 이 컨텍스트는 필요에 따라 EM(AuthIP 확장 모드) 협상 정책을 포함할 수 있습니다.
참고
공통 키 지정 모듈이 협상되고 해당 QM 정책이 적용됩니다. IKE와 AuthIP가 모두 지원되는 경우 AuthIP는 기본 키 지정 모듈입니다.
1단계에서 추가된 각 컨텍스트에 대해 다음 속성을 사용하여 필터를 추가합니다.
Filter 속성 값 필터링 조건 비어 있음 모든 트래픽이 필터와 일치합니다. providerContextKey 1단계에서 추가된 QM 공급자 컨텍스트의 GUID입니다. 다음 속성을 사용하여 필터를 추가합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_V{4|6} rawContext FWPM_CONTEXT_IPSEC_INBOUND_PERSIST_CONNECTION_SECURITY 다음 속성을 사용하여 필터를 추가하여 IPsec에서 ICMP 트래픽을 제외합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 필터링 조건 **IPPROTO_ICMP{V6}**이러한 상수는 winsock2.h에 정의되어 있습니다. action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 다음 속성을 사용하여 필터를 추가합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_V{4|6} rawContext FWPM_CONTEXT_IPSEC_OUTBOUND_NEGOTIATE_DISCOVER 다음 속성을 사용하여 필터를 추가하여 IPsec에서 ICMP 트래픽을 제외합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 필터링 조건 **IPPROTO_ICMP{V6}**이러한 상수는 winsock2.h에 정의되어 있습니다. action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS 다음 속성을 사용하여 필터를 추가합니다. 이 필터는 IPsec로 보호되는 경우에만 인바운드 연결 시도를 허용합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6} 다음 속성을 사용하여 필터를 추가하여 IPsec에서 ICMP 트래픽을 제외합니다.
Filter 속성 값 FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE 필터링 조건 NlatUnicast FWPM_CONDITION_IP_PROTOCOL 필터링 조건 **IPPROTO_ICMP{V6}**이러한 상수는 winsock2.h에 정의되어 있습니다. action.type FWP_ACTION_PERMIT weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
FWPM_LAYER_IKEEXT_V{4|6}에서 MM 협상 정책 설정
FWPM_LAYER_IPSEC_V{4|6}에서 QM 및 EM 협상 정책 설정
FWPM_LAYER_INBOUND_TRANSPORT_V{4|6}에서 패킷당 인바운드 필터링 규칙 설정
FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6}에서 패킷당 아웃바운드 필터링 규칙 설정
FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6}에서 인바운드 연결별 필터링 규칙 설정