Гарантированное шифрование
Сценарий политики гарантированного шифрования IPsec требует шифрования IPsec для всего соответствующего трафика. Эта политика должна быть указана в сочетании с одним из параметров политики режима транспорта.
Гарантированное шифрование обычно используется для шифрования конфиденциального трафика для каждого приложения.
Примером возможного сценария гарантированного шифрования является "Защита всего одноадресного трафика данных, за исключением ICMP, с помощью режима транспорта IPsec, включение обнаружения согласования и требование гарантированного шифрования для всего одноадресного трафика, соответствующего локальному порту TCP 5555".
Чтобы реализовать этот пример программным способом, используйте следующую конфигурацию ВПП.
Добавьте один или оба следующих контекста поставщика политики MM.
- Для IKE контекст поставщика политики типа FWPM_IPSEC_IKE_MM_CONTEXT.
- Для AuthIP контекст поставщика политики типа FWPM_IPSEC_AUTHIP_MM_CONTEXT.
Примечание
Будет согласован общий модуль ключей, и будет применена соответствующая политика MM. AuthIP является предпочтительным модулем ключей, если поддерживаются как IKE, так и AuthIP.
Для каждого контекста, добавленного на шаге 1, добавьте фильтр со следующими свойствами.
Свойство Filter Значение Условия фильтрации Пустой. Весь трафик будет соответствовать фильтру. providerContextKey GUID контекста поставщика MM, добавленного на шаге 1. Добавьте один или оба из следующих контекстов поставщика политики режима транспорта QM и установите флаг IPSEC_POLICY_FLAG_ND_SECURE .
- Для IKE контекст поставщика политики типа FWPM_IPSEC_IKE_QM_TRANSPORT_CONTEXT.
- Для AuthIP контекст поставщика политики типа FWPM_IPSEC_AUTHIP_QM_TRANSPORT_CONTEXT. При необходимости этот контекст может содержать политику согласования расширенного режима AuthIP (EM).
Примечание
Будет согласован общий модуль ключей и будет применена соответствующая политика QM. AuthIP является предпочтительным модулем ключей, если поддерживаются как IKE, так и AuthIP.
Для каждого контекста, добавленного на шаге 1, добавьте фильтр со следующими свойствами.
Свойство Filter Значение Условия фильтрации Пустой. Весь трафик будет соответствовать фильтру. providerContextKey GUID контекста поставщика QM, добавленного на шаге 1. Добавьте фильтр со следующими свойствами.
Свойство 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 Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.
Свойство 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 Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.
Свойство 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} Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.
Свойство 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 Добавьте фильтр со следующими свойствами. Этот фильтр разрешает входящие подключения только к TCP-порту 5555, если они зашифрованы.
Свойство Filter Значение условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast условие фильтрации FWPM_CONDITION_IP_PROTOCOL IPPROTO_TCP Эта константа определена в winsock2.h. условие фильтрации FWPM_CONDITION_IP_LOCAL_PORT 5555 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6} rawContext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION Добавьте фильтр со следующими свойствами. Этот фильтр разрешает исходящие подключения с TCP-порта 5555, только если они зашифрованы.
Свойство Filter Значение условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast условие фильтрации FWPM_CONDITION_IP_PROTOCOL IPPROTO_TCP Эта константа определена в winsock2.h. условие фильтрации FWPM_CONDITION_IP_LOCAL_PORT 5555 action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_ALE_CONNECT_V{4|6} rawContext FWPM_CONTEXT_ALE_SET_CONNECTION_REQUIRE_IPSEC_ENCRYPTION
На 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} настройте правила фильтрации входящих подключений
На FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} настройте правила фильтрации исходящего трафика для каждого подключения