IPsec
Pfsense -> Firewall -> Aliases -> IP -> Add IP of VPN sites
Pfsense -> Firewall -> Rules -> WAN -> Add sourse alias VPN sites, Destination “WAN adress” 500 port UDP
Шифрованный туннель:
Phase1
IKE – V1
Mode – main
P1 Encryption Algorithms – AES128
P1 Hash Algorithms – SHA1
P1 PFS key group – 2 (1024 bit)
Lifetime (Seconds) – 28800
Phase2
Mode – tunnel
P2 Protocol – ESP
P2 Encryption Algorithms – AES128
P2 Hash Algorithms – SHA1
P2 PFS key group – none
Lifetime (Seconds) – 3600
Нешифрованный туннель:
Phase1
IKE – V1
Mode – main
P1 Encryption Algorithms – AES128
P1 Hash Algorithms – SHA1
P1 PFS key group – 2 (1024 bit)
Lifetime (Seconds) – 28800
Phase2
Mode – tunnel
P2 Protocol – AH
P2 Hash Algorithms – SHA1
Lifetime (Seconds) – 3600
IPsec (IP security):
набор протоколов для безопасной передачи трафика через IP сеть. Пожалуй, самый сложный и разветвленный стек протоколов из поддерживаемых системой VPNKI.
Включает в себя три основных протокола:
- AH (Authentication Header). Обеспечивает управление целостностью передаваемых данных и аутентификацию.
- ESP (Encapsulating Security Payload). Обеспечивает шифрование данных.
- ISAKMP (Internet Security Association and Key Management Protocol). Управление установкой соединения, взаимную аутентификации конечными узлами друг друга и обмен секретными ключами.
Основные используемые порты и номера протоколов.
- Протокол UDP, port 500 (IKE, управление ключами).
- Протокол UDP, port 4500 (IPSEC NAT-Traversal mode).
- Протокол ESP, значение 50 (for IPSEC).
- Протокол AH, значение 51 (for IPSEC).
Вообще, набор протоколов IPsec непрост с точки зрения возможностей его использования, которые весьма многогранны. Однако, базовой особенностью всего взаимодействия по этому протоколу является понятие SA (Security Association). SA это набор параметров о том, как стороны будут в дальнейшем использовать те или иные свойства протоколов из состава IPsec. Если стороны договорились о чем-то, то будет считаться что SA установлена.
Стоит еще упомянуть про два основных режима работы IPsec – туннельный и транспортный. Грубо говоря, в транспортном режиме шифруются только полезные данные IP пакета, а в туннельном режиме шифруются все данные, включая заголовки IP.
Аутентификация
Взаимодействие двух узлов начинается с установления SA. Точнее с двух ассоциаций – для протокола AH и ESP причем в одну и в другую стороны. SA начинается с аутентификации и затем стороны согласовывают будущие параметры сессии:
- для протокола AH – используемый алгоритм аутентификации, ключи, время жизни ключей и другие параметры.
- для протокола ESP – алгоритмы шифрования и аутентификации, ключи, параметры инициализации, время жизни ключей и другие параметры.
Здесь же стороны договариваются о туннельном или транспортном режиме работы IPsec.
К завершению процесса у вас должны быть установлены несколько SA, но … чуть подробнее как это на самом деле.
Фаза 1 и Фаза 2
В IPsec все происходит по Фазам.
На фазе 1 происходит установление SA первой фазы. В первой фазе стороны договариваются о методе идентификации, алгоритме шифрования, алгоритме хэшировнаия и группе Diffie Hellman. Эта фаза может пройти путем обмена тремя нешифрованными пакетами (агрессивный режим) или шестью нешифрованными пакетами – стандартный режим. Если все прошло успешно, то создается SA фазы 1 под названием IKE SA и осуществляется переход ко второй фазе.
На фазе 2 стороны договариваются о политике и создаются сами ключи. Эта фаза, в отличии от первой, полностью шифруется и она наступает только в случае успешного окончания первой фазы. В связи с тем, что трафик этой фазы полностью шифрован становится сложно осуществлять поиск неполадок. Однако если все прошло успешно, то создается SA фазы 2 под названием IPSec SA. В этот момент можно сказать, что VPN туннель установлен.
Компрессия данных
В составе IPsec нет собственного механизма компрессии данных, однако можно использовать механизм IPcomp. Он сжимает содержимое IP пакета до его передачи в процесс IPsec. Некоторые демоны IPsec поддерживают включение/отключение этого механизма из файлов настроек ipsec.conf (например пакет Strongswan).
Автоматическая проверка работоспособности VPN соединения
Внутри IPsec нет штатного средства для проверки работоспособности соединения (типа ping). Работу туннеля можно проверять внешними средствами.
Разрыв VPN соединения и смена ключей
Согласованные на двух фазах ключи должны работать оговоренное политикой время. Это означает, что сторонам возможно предстоит пережить процедуру смены ключей (rekeying), а иначе согласованные SA распадутся. Как было сказано выше, у сторон есть ключи в рамках процесса фазы 1 (IKE) и фазы 2 (IPsec). Процедуры их смены различны, как и таймеры, которые за это отвечают. Для того, чтобы не было перерыва связи в процессе смены ключей стороны сначала согласовывают параметры новой SA и лишь после этой успешной процедуры уничтожают старую SA.
В IPsec на каждой из фаз есть несколько способов смены ключей – с аутентификацией или без нее, но мы не будем сильно заострять на этом свое внимание. Просто для этой процедуры слишком существует много нюансов, которые зависят от версий ПО и соотношения таймеров – для IKE и IPsec.
Автоматическое установление разорванного VPN соединения
Важным аспектом является способность IPsec устанавливать соединение заново. Для этого существуют настройки в ispec.conf, однако детали этих настроек могут отличаться от версии ПО. Сверяйтесь с мануалом именно по вашей версии программного обеспечения.
Плюсы:
- высокая криптоустойчивость.
- возможность использования L2TP внутри IPsec для аутентификации по имени пользователя и паролю (вариант VPNKI).
Минусы:
- сложен для настройки и поиска неисправностей.
- большие накладные расходы на передачу трафика в канале за счет заголовков.