Установка и настройка IPSEC на Debian8

Первая нода
EXT_IP – 10.10.1.43
INT_IP – 192.168.10.1
Внутренняя сеть за первой нодой
INT_NET-192.168.10.0/24

Вторая нода
EXT_IP – 10.10.1.46
INT_IP – 192.168.20.1
Внутренняя сеть за второй нодой
INT_NET-192.168.20.0/24

Задача: связать сети 192.168.10.0/24 192.168.20.0/24
Предпологается,что обе машины являются шлюзами по умолчанию для своих подсетей

Настройка GRE-туннеля.

Настройка второй ноды:

1.Загрузка модуля

2.Создание туннеля

3.Установка адреса для тунеля

4.Активирование туннеля

5.Установка маршрута для туннеля

6.Установка маршрута до удаленной локальной сети(192.168.10.0/24)

Настройка первой ноды

Со второй ноды

Проверяем доступность удаленного адреса на туннеле

Проверяем доступность удаленной локальной сети

С первой ноды

Скрипты для установки в автозагрузку

Нода2

Нода 1

 

Установка и настройка IPSEC
IPSEC, в общем случае, служит для поддержки безопасных соединений между узлами и сетями в глобальной сети Интернет. Он может работать в конфигурации «узел-узел» (один компьютер соединяется с другим) или «сеть-сеть» (одна локальная/глобальная сеть соединяется с другой). Реализация IPsec использует протокол обмена ключами в Интернете (Internet Key Exchange, IKE) для взаимной проверки подлинности и соответствия параметров безопасности между подключающимися системами или сетями.
Процесс соединения IPsec разделяется на два логических этапа. На первом этапе узел IPsec устанавливает подключение к удалённому узлу или сети. Удалённый узел/сеть проверяет учётные данные запрашивающего узла и обе стороны согласуют способ проверки подлинности, применяемый в соединении. Обычно для проверки подлинности узла IPSec используется алгоритм с предварительным общим ключом. В случае с IPsec-соединением с применением предварительного общего ключа, оба узла должны использовать один ключ, и тогда они смогут перейти ко второму этапу установки соединения.
Второй этап соединения IPsec между узлами IPSec создаётся условным сравнением безопасности (security association, SA). При этом в базу данных SA вносится информация о конфигурации — метод шифрования, способы обмена секретными ключами сеанса и некоторые другие параметры. Этот этап и управляет соединением IPsec между узлами и сетями, разнесенными в пространстве глобальной сети.
Фаза 1.
узлы договариваются о методе шифрования, алгоритме, хэш-алгоритме и группе Diffie Hellman. Так же идентификация. Путем обмена 3 нешифрованными пакетами — aggressive mode, или шестью — main mode. В результате создается SA первой фазы (IKE SA).
Фаза 2.
Генерятся ключи, узлы договариваются о используемой политике. Все пакеты этой фазы шифруются. В результате создается phase 2 SA (IPSec SA).
SA — связь (ассоциация) безопасности. Это термин IPSec для обозначения соединения.
IPsec является набором стандартов Интернет и своего рода «надстройкой» над IP-протоколом. Его ядро составляют три протокола:
• Authentication Header (АН) обеспечивает целостность виртуального соединения (передаваемых данных), аутентификацию источника информации и функцию по предотвращению повторной передачи пакетов
• Encapsulating Security Payload (ESP) обеспечивает конфиденциальность (шифрование) передаваемой информации, ограничение потока конфиденциального трафика. Кроме этого, он может исполнять функции AH: обеспечить целостность виртуального соединения (передаваемых данных), аутентификацию источника информации и функцию по предотвращению повторной передачи пакетов. При применении ESP в обязательном порядке должен указываться набор услуг по обеспечению безопасности: каждая из его функций может включаться опционально.
• Internet Security Association and Key Management Protocol (ISAKMP) — протокол, используемый для первичной настройки соединения, взаимной аутентификации конечными узлами друг друга и обмена секретными ключами. Протокол предусматривает использование различных механизмов обмена ключами, включая задание фиксированных ключей, использование таких протоколов, как Internet Key Exchange, Kerberized Internet Negotiation of Keys (RFC 4430) или записей DNS типа IPSECKEY (RFC 4025).

Более подробная информация о работе IPSEC
https://ru.wikipedia.org/wiki/IPsec
http://www.ipsec-howto.org/x202.html

Протокол Обмена Ключами — IKE (Internet Key Exchange), позволяющий обмениваться сгенерированными, автоматически и случайным образом, ключами. Передача ключей осуществляется с помощью асимметричной технологии кодирования, в соответствии с предопределенными алгоритмами
В Linux IPSEC реализация выполнена в виде демона KAME ‘racoon’ IKE
В случае автоматической настройки, обновление и обмен ключевой информацией выполняется без нашего участия. Очевидно, что при этом «на лету» создаются защищенные каналы (SA), которые, как это ни странно, не обеспечиваются какой-либо политикой безопасности.

Таким образом, чтобы воспользоваться преимуществами IKE, необходимо установить для него политику безопасности. Для этого создается такая политика, которая не связана с каким-либо конкретным защищенным каналом (SA). Когда ядро обнаружит такую политику, то оно передаст ее демону IKE, который в свою очередь будет использовать ее в своей работе
Политика Безопасности определяет — ЧТО следует предпринять в том или ином случае, а Контекст Безопасности (защищенный канал) определяет — КАК производить обмен данными

Установка IPSEC

Первый способ аутентификации — на основе парольной фразы/пароля

Аутентификацимя на основе парольной фразы (pre-shared keys)
PSK — аутентификация по паролю. Если пароль подошел, генерятся сертификаты и сервера обмениваются ими автоматически по IKE

На первой ноде(10.10.1.43)

На второй ноде(10.10.1.46)

 

Определение политик безопасности — Security Police Database(SPD)

На первой ноде(10.10.1.43)

На второй ноде(10.10.1.46)

 

Создание защищенных каналов SA (security )
Настройка Racoon

Конфигурационный файл Racoon на первой ноде(10.10.1.43)

Конфигурационный файл Racoon на второй ноде(10.10.1.46)

Для отладки работы Raccon временно включаем уровень логировнаия debug вместо notify

Ряд базовых параметров используемых по умолчанию можно посмотреть в файле

 

Запуск туннеля, SPD(через setkey), Racoon на обоих нодах

Мониторинг работы
Например, на второй ноде

1.Наличие маршрутов для пакетов с подсетей 192.168.10.0/24 (устанавливается через скрипт туннеля)
2.Наличие списка политик безопасности SPD (security police database) (устанавливается через setkey в скрипте ipsec-on.conf )

3. Наличие списка защищенных каналов SA (security associate)
Выводит данные только в случае установленного соединения (канал уже существует) – если не было ни одного пакета в нужном направлении, то эта команда ничего не выведет

4. Наличия трафика по протоколу esp на интерфейсе eth0

 

Второй способ аутентификации — на основе предварительных ключей
Для каждого направления трафика генерируется пара ключей — публичный и приватный. Публичный раздается для шифрования — приватный оставляем для расшифровки.
Если каждая из сторон, использующих IPSEC, создаст открытый и закрытый ключи, то обе стороны, обменявшись своими открытыми ключами и настроив политику безопасности, смогут установить защищенное соединение.

В качестве инструмента для создания ключей используем утилиту openssl.

Создание запроса на сертификат

Создание самого сертификата, подписанного самим собой

Теперь можно удалить файл debian.pem

Аналогично повторяем процедуру на второй ноде

Настройка Racoon

Настройка на первой ноде

Настройка на второй ноде

Скопируем публичные ключи

С первой ноды на вторую

Со второй ноды на первую

Проверяем, что контрольные суммы файлов публичных ключей одинаковы

На Ноде 1

На Ноде 2

Запуск туннеля, SPD(через setkey), Racoon на обоих нодах

Проверим доступность между подсетями

После чего провереям наличие безопасных каналов

Настройка iptables для IPSEC

Необходимо разрешить трафик:
1.Протокол esp, который используется для шифрования пакетов данных
2.Порт isakmp для обмена ключами (IKE) (используется Racoon) – UDP протокол и порт номер 500

Источник:

https://www.opennet.ru/docs/RUS/LARTC/x616.html
http://www.lissyara.su/articles/freebsd/security/ipsec2/
http://www.lissyara.su/archive/ipsec_old/
http://www.lissyara.su/archive/ipsec/

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика