Поделиться через


Гарантированное шифрование

Для сценария политики IPsec гарантированного шифрования требуется шифрование IPsec для всего соответствующего трафика. Эта политика должна быть указана в сочетании с одним из вариантов политики режима транспорта.

Гарантированное шифрование обычно используется для шифрования конфиденциального трафика на основе каждого приложения.

Примером сценария гарантированного шифрования является "Защита всего одноадресного трафика данных, кроме ICMP, с помощью режима транспорта IPsec, включение обнаружения переговоров и требование гарантированного шифрования для всего одноадресного трафика, соответствующего локальному порту TCP 5555".

Чтобы реализовать этот пример программным способом, используйте следующую конфигурацию МПП.

FWPM_LAYER_IKEEXT_V{4|6} настройте политику согласования MM

  1. Добавьте один или оба из следующих контекстов поставщика политик MM.

    • Для IKE контекст поставщика политик типа FWPM_IPSEC_IKE_MM_CONTEXT.
    • Для AuthIP контекст поставщика политик типа FWPM_IPSEC_AUTHIP_MM_CONTEXT.

    Заметка

    Будет согласован общий модуль ключей, и будет применена соответствующая политика MM. AuthIP — это предпочтительный модуль ключей, если поддерживаются IKE и AuthIP.

  2. Для каждого из контекстов, добавленных на шаге 1, добавьте фильтр со следующими свойствами.

    Свойство filter Ценность
    Условия фильтрации Пустой. Весь трафик будет соответствовать фильтру.
    providerContextKey GUID контекста поставщика MM, добавленного на шаге 1.

FWPM_LAYER_IPSEC_V{4|6} настройте политику QM и политики ведения переговоров EM

  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.

  2. Для каждого из контекстов, добавленных на шаге 1, добавьте фильтр со следующими свойствами.

    Свойство filter Ценность
    Условия фильтрации Пустой. Весь трафик будет соответствовать фильтру.
    providerContextKey GUID контекста поставщика QM, добавленного на шаге 1.

FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} настройте правила фильтрации входящих пакетов

  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
  2. Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.

    Свойство filter Ценность
    условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    условие фильтрации FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Эти константы определяются в winsock2.h.
    action.type FWP_ACTION_PERMIT
    вес FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

в FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} настройте правила фильтрации исходящего трафика на пакеты

  1. Добавьте фильтр со следующими свойствами.

    Свойство 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
  2. Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.

    Свойство filter Ценность
    условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    условие фильтрации FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Эти константы определяются в winsock2.h.
    action.type FWP_ACTION_PERMIT
    вес FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS

В FWPM_LAYER_ALE_AUTH_RECV_ACCEPT_V{4|6} настройте правила фильтрации входящих подключений

  1. Добавьте фильтр со следующими свойствами. Этот фильтр разрешает попытки входящего подключения только в том случае, если они защищены 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}
  2. Исключите трафик ICMP из IPsec, добавив фильтр со следующими свойствами.

    Свойство filter Ценность
    условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast
    условие фильтрации FWPM_CONDITION_IP_PROTOCOL **IPPROTO_ICMP{V6}**Эти константы определяются в winsock2.h.
    action.type FWP_ACTION_PERMIT
    вес FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Добавьте фильтр со следующими свойствами. Этот фильтр разрешает только входящие подключения к 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

FWPM_LAYER_ALE_AUTH_CONNECT_V{4|6} настройте правила фильтрации исходящих подключений

  • Добавьте фильтр со следующими свойствами. Этот фильтр разрешает только исходящие подключения из 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

пример кода: использование режима транспорта

уровней ALE

встроенные идентификаторы выноски

условия фильтрации

идентификаторов слоев фильтрации

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE