Информационная безопасность


Типичные применения IPSec - часть 2


После компиляции ядра активизируем эту поддержку в основном конфигурационном файле /etc/rc.conf:

ipsec_enable="YES" ipsec_file="/файл правил"

Описанные выше процедуры уже позволяют организовать VPN на базе IPSec, но для этого нужно еще определить правила в указанном файле, на основе которых будет строиться защищенный туннель. Обычно это файл /etc/ipsec.conf.

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

IPSec использует базу данных для того, чтобы решить, как обращаться с трафиком. Эта база данных содержит правила: какой трафик и как именно его шифровать. Правила делятся на два типа: Policy и Association; Security Policy Database (SPD) определяет, какой трафик шифровать, а Security Association Database (SAD) - методы шифрования этого трафика.

Основной инструмент в FreeBSD для управления этими базами данных называется setkey. Определим правила ipsec.conf для нашего случая и рассмотрим их подробнее:

add 192.168.0.1 192.168.1.253 esp 691 -E rijndael-cbc "1234567890123456"; add 192.168.1.253 192.168.0.1 esp 693 -E rijndael-cbc "1234567890123456";

spdadd 192.168.1.0/24 0.0.0.0/0 any -P in ipsec esp/tunnel/192.168.1.253-192.168.0.1 /require; spdadd 0.0.0.0/0 192.168.1.0/24 any -P out ipsec esp/tunnel/192.168.0.1 192.168.1.253 /require;

Первые два правила add - это вхождения SAD, последние два (spdadd) - SPD. Пункты add устанавливают ключи шифрования между двумя компьютерами, а spdadd непосредственно описывают сам туннель. Необходимо четко прописывать правила для каждого направления трафика, так как применительно к IPSec понятия "первый компьютер" и "второй компьютер" слишком расплывчаты, а значит, описание механизма взаимодействия должно быть максимально точным - иначе туннель просто не будет функционировать.

  • Правило 1 определяет индекс 691 и алгоритм шифрования rijndael-cbc с публичным ключом 1234567890123456 между компьютерами 192.168.0.1 и 192.168.1.253.
  • Правило 2 описывает аналогичные требования для обратного направления: от 192.168.1.253 к 192.168.1.1, но с индексом 693.
  • Правило 3: все сетевые соединения внутри 192.168.1.0/24 и "наружу" (0.0.0.0/0) обязательно проходят сквозь туннель.
  • Правило 4: то же, что и правило 3, но в обратном направлении.

Итак, мы выбрали и описали следующую стратегию: ни одного байта мимо туннеля, весь трафик шифруется. После описания правил перезагружаемся с ядром, поддерживающим IPSec, - при этом правила, описанные в /etc/ipsec.conf, загружаются автоматически. Сервер готов к "поднятию" туннеля, но необходимо описать его на ноутбке. Для этого нужно запустить службу IPSec, если она не запущена по умолчанию, и воспользоваться мастером установки сетевых соединений Windows.

Весьма желательно установить на сервере и программное обеспечение для автоматического обмена ключами шифрования - Racoon, иначе на клиентских машинах придется вручную прописывать ключи в дебрях управляющих консолей Windows.




Начало  Назад  Вперед



Книжный магазин