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


Удаленная авторизация идентификатора

Сценарий политики IPsec авторизации удаленного удостоверения требует, чтобы входящие подключения поступают из определенного набора удаленных субъектов безопасности, указанных в списке управления доступом (ACL) дескриптора безопасности Windows (SD). Если удаленное удостоверение (определяемое протоколом IPsec) не соответствует набору разрешенных удостоверений, подключение будет прервано. Эта политика должна быть указана в сочетании с одним из параметров политики режима транспорта.

Если authIP включен, можно указать два дескриптора безопасности, один из них соответствует режиму AuthIP main, а другой — расширенному режиму AuthIP.

Пример возможного сценария в режиме транспорта обнаружения согласований: "Защитите весь трафик одноадресных данных, за исключением ICMP, используя режим транспорта IPsec, включите обнаружение согласования и ограничьте входящий доступ к удаленным удостоверениям, разрешенным в соответствии с дескриптором безопасности SD1 (соответствующий режиму IKE/AuthIP main) и дескриптором безопасности SD2 (соответствует расширенному режиму AuthIP) для всего одноадресного трафика, соответствующего локальному порту 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
    weight 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
    weight 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
    weight FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS
  3. Добавьте фильтр со следующими свойствами. Этот фильтр разрешает входящие подключения к TCP-порту 5555, если соответствующие удаленные удостоверения разрешены как SD1, так и SD2.

    Свойство Filter Значение
    FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE условие фильтрации NlatUnicast
    FWPM_CONDITION_IP_PROTOCOL условие фильтрации IPPROTO_TCP Эта константа определена в winsock2.h.
    FWPM_CONDITION_IP_LOCAL_PORT условие фильтрации 5555
    FWPM_CONDITION_ALE_REMOTE_MACHINE_ID SD1
    FWPM_CONDITION_ALE_REMOTE_USER_ID SD2
    action.type FWP_ACTION_CALLOUT_TERMINATING
    action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_INITIATE_SECURE_V{4|6}
  4. Добавьте фильтр со следующими свойствами. Этот фильтр блокирует любые другие входящие подключения к 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_BLOCK

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

Слои ALE

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

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

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

FWPM_ACTION0

FWPM_PROVIDER_CONTEXT_TYPE