После компиляции ядра активизируем эту
После компиляции ядра активизируем эту поддержку в основном конфигурационном файле /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.
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий