Строим безопасный канал через Интернет с IPsec и Mikrotik

Для начала давайте разберемся что такое IPsec. Многие ошибочно полагают, что IPsec — это одна из разновидностей протоколов по аналогии с PPTP или L2TP, но на самом деле это целый набор протоколов (набор стандартов), которые являются своеобразной надстройкой над IP протоколом.

Ядро стандарта IPsec

С целью установления защищенного соединения, которое называется SA (Security Association), используются 3 основных протокола, обеспечивающих безопасную аутентификацию, шифрование и обмен секретными ключами:

  1. АН (Authentication Header) обеспечивает аутентификацию источника информации и функцию по предотвращению повторной передачи пакетов, а также гарантирует целостность передаваемых данных;
  2. ESP (Encapsulating Security Payload) обеспечивает шифрование передаваемой информации. Этот протокол тесно работает с протоколом AH и может исполнять его функции, обеспечивая целостность данных при передаче, аутентификацию и предотвращение повторной передачи пакетов.
  3. ISAKMP (Internet Security Association and Key Management Protocol) служит для первичной настройки соединения, взаимной авториации конечных узлов и обмена секретными ключами. Если кому интересно, в протоколе реализовано нескольких механизмов обмена ключами, в том числе использование фиксированных ключей, а также протоколов IKE, KINK и DNS записей IPSECKEY.

IPsec работает на сетевом уровне и в целом является непростой штукой: для установления одного соединения двум участникам обмена нужно согласовать между собой целую кучу различных параметров: пройти взаимную аутентификацию, сгенерировать и обменяться ключами (причем в нашем случае через Интернет), а также решить с помощью каких протоколов производить шифрование.

Туннельный и транспортный режимы IPsec — какой выбрать?

Как известно, IPsec может работать на выбор в двух режимах: транспортном и туннельном. Но в нашем случае, когда передача данных происходит через Интернет, подходит только туннельный режим, так как только в этом режиме шифруется и инкапсулируется весь исходный IP-пакет: заголовок, данные, маршрутная информация, то есть шифруются даже хедеры, где записываются IP адреса участников обмена информацией. Работая в транспортном режиме, IPsec становится уязвимым, поскольку зная конкретные IP адреса, можно начинать проверять IPsec на прочность, как описано в нашумевшей статье на хабре.

Двухэтапные  «переговоры» в IPsec (фазы IPsec)

  1. Первая фаза — согласование работы участников SA. На этом этапе с помощью протокола IKE (Internet Key Exchange) договариваются, какой алгоритм будет применен для шифрования, какой для осуществления проверки целостности и как проводить взаимную аутентификацию. Впроцессе первой фазы участники аутентифицируют друг друга и договариваются о параметрах установки специального ISAKMP-туннеля, предназначенного только для обмена информацией об используемых алгоритмах шифрования и прочих деталях будущего основного IPsec-туннеля.определяются политикой ISAKMP. Если рассматривать всё более детально, то сначала согласуются хеши и алгоритмы шифрования, далее идет обмен ключами Диффи-Хеллмана (DH), происходит выяснение, кто есть кто. Затем уже в последнюю очередь идет процесс аутентификации, либо по PSK-, либо по RSA-ключу. И, когда стороны пришли к соглашению, то устанавливается ISAKMP-туннель, через который проходит второй этап «переговоров».
  2. Вторая фаза — доверяющие друг другу участники договариваются дальше о том, как «прокладывать» основной IPsec-туннель для передачи самих данных. Они показывают друг другу варианты, которые указаны у них в наборе параметров transform-set, где явно указано, как нужно обрабатывать пакет (работать по протоколу AH или ESP) и, после достижения согласия, открывают основной туннель. Обратите внимание, что с вспомогательным ISAKMP-туннелем ничего не происходит — он продолжает использоваться для поддержания работоспособности основного IPsec-туннеля. Получается, что в итоге мы имеем не один, а целых два поднятых туннеля.

Категории: Безопасность,Интернет

Комментирование отключено