Ручное sa
Сценарий политики IPsec для ассоциации безопасности вручную позволяет вызывающим пользователям обойти встроенные модули ключей IPsec (IKE и AuthIP), напрямую указав SPsec для защиты любого сетевого трафика.
Пример возможного сценария СА вручную: "Добавление пары SA IPsec для защиты всего трафика данных одноадресной рассылки между IP-адресами 1.1.1.1 & 2.2.2.2, кроме ICMP, с помощью режима транспорта IPsec".
Заметка
Следующие шаги должны выполняться на обоих компьютерах с СООТВЕТСТВУЮЩИМи IP-адресами.
Чтобы реализовать этот пример программным способом, используйте следующую конфигурацию МПП.
Добавьте фильтр со следующими свойствами.
Свойство filter Ценность условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast FWPM_CONDITION_IP_LOCAL_ADDRESS Соответствующий локальный адрес (1.1.1.1 или 2.2.2.2.2). FWPM_CONDITION_IP_REMOTE_ADDRESS Соответствующий удаленный адрес (1.1.1.1 или 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_INBOUND_TRANSPORT_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 вес FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS Добавьте фильтр со следующими свойствами.
Свойство filter Ценность условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS_TYPE NlatUnicast условие фильтрации FWPM_CONDITION_IP_LOCAL_ADDRESS Соответствующий локальный адрес (1.1.1.1 или 2.2.2.2.2). условие фильтрации FWPM_CONDITION_IP_REMOTE_ADDRESS Соответствующий удаленный адрес (1.1.1.1 или 2.2.2.2.2). action.type FWP_ACTION_CALLOUT_TERMINATING action.calloutKey FWPM_CALLOUT_IPSEC_OUTBOUND_TRANSPORT_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 вес FWPM_WEIGHT_RANGE_IKE_EXEMPTIONS - Вызовите IPsecSaContextCreate0с параметром outboundTraffic, содержащим IP-адреса как 1.1.1.1 & 2.2.2.2.2 и ipsecFilterId в качестве LUID исходящего уровня передачи IPsec, добавленного выше.
- Вызов IPsecSaContextGetSpi0с параметром id, содержащим идентификатор контекста, возвращенным из IPsecSaContextCreate0, и параметром getSpi, содержащим IP-адреса как 1.1.1.1 & 2.2.2.2.2. и ipsecFilterId в качестве LUID фильтра выноски iPsec входящего уровня транспорта, добавленного выше. Возвращаемое значение SPI предназначено для использования в качестве входящего SA SPI на локальном компьютере и в качестве исходящего sa SPI соответствующим удаленным компьютером. Оба компьютера должны использовать некоторые внеполосные средства для обмена значениями SPI.
- Вызов IPsecSaContextAddInbound0с параметром id, содержащим идентификатор контекста, возвращенным из IPsecSaContextCreate0, а также параметром inboundBundle, описывающим свойства входящего пакета SA (например, входящие SA SPI, тип преобразования, типы алгоритмов, ключи и т. д.).
- Вызов IPsecSaContextAddOutbound0с параметром id, содержащим идентификатор контекста, возвращаемый из IPsecSaContextCreate0, а также параметр outboundBundle, описывающий свойства исходящего пакета SA (например, исходящий тип SA SPI, тип преобразования, типы алгоритмов, ключи и т. д.).
FWPM_LAYER_INBOUND_TRANSPORT_V{4|6} настройте правила фильтрации входящих пакетов
в FWPM_LAYER_OUTBOUND_TRANSPORT_V{4|6} настройте правила фильтрации исходящего трафика на пакеты
настройка сопоставлений безопасности для входящего и исходящего трафика
Связанные разделы
-
пример кода : ключей sa вручную