Назначение туннелей. Защита туннелей. Создание защищенного туннеля на ОС Debian.

Назначение туннелей. Защита туннелей. Создание защищенного туннеля на ОС Debian.

Туннелирование-процесс, в ходе которого создаётся логическое соединение между двумя конечными точками посредством инкапсуляции различных протоколов. Туннелирование представляет собой метод построения сетей, при котором один сетевой протокол инкапсулируется в другой. От обычных многоуровневых сетевых моделей (таких как OSI или TCP/IP) туннелирование отличается тем, что инкапсулируемый протокол относится к тому же или более низкому уровню, чем используемый в качестве туннеля.

Суть туннелирования состоит в том, чтобы «упаковать» передаваемую порцию данных, вместе со служебными полями, в область полезной нагрузки пакета несущего протокола. Туннелирование может применяться на сетевом и на прикладном уровнях поэтому комбинация туннелирования и шифрования позволяет реализовать закрытые виртуальные частные сети (VPN). Туннелирование обычно применяется для согласования транспортных протоколов либо для создания защищённого соединения между узлами сети.

Прежде чем перейти к настройки IPsec нам надо сделать настройку GRE-туннеля для лучшей работе на DEBIAN .

Первым делом включаем пересылку пакетов на ISP, RTR-L, и RTR-R.

Для применения изменений, необходимо ввести команду «sysctl -p».

Настраиваем трансляцию трафика из внутренних интерфейсов во внутренние.

Включаем и добавляем в автозапуск службу nftables.

В конфигурационном файле nftables вносим изменения. Конфигурационные файлы на RTR-R и RTR-L выглядят одинаково, возможное различие – название интерфейса.

Где ens192 – внешний интерфейс, связанный с ISP.

После каждого изменения файла конфигурации nftables, службу необходимо перезагружать.

systemctl restart nftables.

Создаем GRE-туннель между RTR-R и RTR-L.

RTR-R GRE

RTR-L GRE

Добавляем в автозагрузку запуск скрипта с созданием туннеля.

Проверяем связь между двумя концами туннеля.

Добавляем статический маршрут на RTR-L.

Добавляем статический маршрут на RTR-R.

Перейдем к настройке IPsec для того чтобы обеспечить защищённое взаимодействие между платформами управления трафиком.

Создаем PSK длиной в 64 символа при помощи OpenSSL.

Скопируем созданный ключ.

Перейдем к редактированию файла /etc/ipsec.secret.

Добавляем в файл необходимую информацию, и вставляем скопированный PSK.

Скопируем PSK с RTR-R на RTR-L при помощи SCP.

Отредактируем файл /etc/ipsec.secret на RTR-L.

Произведем настройку IPsec, начав редактирование файла /etc/ipsec.conf.

Left и right – IP-адреса устройств с которыми будет работать IPsec.
Authby=secret – способ аутентификации. В данном случае аутентификация происходит при помощи PSK.
Type=transport – тип соединения. В libreswan выделяется 5 типов соединения: tunnel, transport, drop, passthrough, reject.
Auto=start – операция производимая при запуске IPsec.
Pfs=yes – PFS(Perfect Forward Secrecy). Указывает на то, желательна ли совершенная прямая секретность ключей на соединяемых ключевых каналах. Допустимые значения yes и no.
Ike=aes-sha1 – Шифрование/аутентификация производимая в первой фазе. Вместо aes-sha1 может быть другое значение, состоящее из стандарта шифрования (AES, DES, 3DES) и алгоритма хэширования (SHA, MD5).
Phase2alg=aes256-sha1 – Phase2 определяет алгоритм, который будет использоваться во второй фазе, допустимые значения: esp и ah. AH не имеет возможности шифрования, и предоставляет только возможность аутентификации, поэтому был выбран ESP. Phase2alg является синонимом к esp.

Запускаем IPsec на обоих роутерах.

В случае если бы IPsec был уже запущен, и нам нужно было бы перечитать PSK, необходимо было бы ввести команду ipsec auto —rereadsecrets.

Вводим команду ipsec auto —add mytun, чтобы убедиться, что соединение загружено.

Включаем туннель.

Настраиваем межсетевой экран на RTR-L.

Где ens192 – внутренний интерфейс.
Настраиваем межсетевой экран на RTR-R.

Где ens192 – внутренний интерфейс.
Настраиваем SSH в регионе Left.
RTR-L.

Настраиваем порт, на котором работает SSH на WEB-R.

Настраиваем порт, на котором работает SSH на WEB-L.

Добавить комментарий