Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы администрирования и системного программирования в операционной системе Linux. В 2 частях. Ч.2. Учебное пособие.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
3.1.2.3. Алгоритм Диффи-Хелмана
Алгоритм
Диффи-Хелмана (Diffie-Hellman) необходим для реализации одноименного протокола, позволяющего использовать небезопасный канал для получения общего секретного ключа. Этот ключ будет в дальнейшем использо­ваться для защищённого обмена данными с помощью алгоритмов симметрич­ного шифрования.
В применении к OpenVPN алгоритм Диффи-Хелмана нужен для обеспе­чения защиты трафика от расшифровки, если ключи были похищены. Здесь имеется в виду тот трафик, который был записан и сохранен ещё до похищения ключей.
3.1.2.4. Клиент и сервер OpenVPN
В сети OpenVPN-клиент необходимо установить на все узлы, которым необходим защищённый канал передачи данных с сервером OpenVPN. При не­обходимости в OpenVPN возможна защищённая передача данных между клиен­тами OpenVPN, а не только между клиентами и сервером OpenVPN.
В свою очередь, сервер OpenVPN создаёт туннель внутри незащищённой сети, например, Интернета. Этот туннель обеспечивает безопасный зашифро­ванный трафик между узлами-участниками обмена данными в сети OpenVPN.

3.2. ПРИНЦИП РАБОТЫ OPENVPN

Сервер доступа по умолчанию работает в режиме маршрутизации уров­ня 3, где он по большей части функционирует как маршрутизатор. Вы подклю­чаетесь к нему с помощью нашего клиентского программного обеспечения OpenVPN, и трафик, предназначенный для определённых IP-адресов, может маршрутизироваться через туннель VPN. Например, разрешить 192.168.70.0/24, но оставить все остальные подсети и IP-адреса на стороне клиента. Или вы мо­жете перенаправить весь интернет-трафик от VPN-клиента через VPN-туннель и через VPN-сервер. Дело в том, что вы контролируете, какой трафик проходит через VPN-туннель, а какой нет.
Сервер доступа также может работать в режиме моста второго уровня, где он по большей части работает как сетевой коммутатор или концентратор. При подключении к нему с помощью нашего клиентского программного обес-
41
печения OpenVPN, и ваш клиентский компьютер подключается к сети, в кото­рой находится сервер доступа. Он соединяет вас напрямую, так сказать. Тогда у вас практически нет контроля над тем, какой трафик проходит через VPN­туннель. Имеется возможность включить или отключить отправку трафика, на­правленного в Интернет, от VPN-клиента через VPN-туннель, но это всё, что у вас есть над трафиком, который здесь проходит. Это также означает, что широ­ковещательный трафик сможет беспрепятственно проходить через ссылку. Для некоторого более старого устаревшего программного обеспечения это может быть необходимо, но это также довольно уродливо в том смысле, что если у вас, например, подключено 100 клиентов VPN, и один клиент VPN отправляет 1 мегабайт широковещательного трафика через туннель VPN, который затем ретранслируется сервером доступа другим 99 клиентам VPN. Это сразу много данных. По этим причинам настоятельно рекомендуется придерживаться ре­жима уровня 3 по умолчанию.

3.3. РАЗВЁРТЫВАНИЕ И КОНФИГУРИРОВАНИЕ СЕТИ

3.3.1. СОЗДАНИЕ ТОПОЛОГИИ
Для имитации физической сети использована виртуальная машина. Топо­логия сети была реализована на основе виртуальной машины Eve-NG. Полу­чившаяся топология представлена на рис. 3.1 и полностью отражает все аспек­ты требуемой сети. Все дальнейшие манипуляции будут проводиться над уст­ройствами сети, реализованной в виртуальной машине
.
42
Рис. 3.1. Реализация топологии в виртуальной машине Eve-NG
Рис. 3.2. Настройка IP-адреса на сервере Linux
3.3.2. НАСТРОЙКА СЕРВЕРОВ
Добавим в файл /etc/network/interfaces следующие параметры: IP-адрес сетевой карты, маску подсети, адрес шлюза, DNS-сервер, адрес широковеща­тельной рассылки. Настройка параметров на серверах представлена на рис. 3.2.
3.3.3. НАСТРОЙКА КЛИЕНТОВ
В качестве клиентов были выбраны ПК с операционной системой Ubuntu
16.04. IP-адрес, который настроен на маршрутизаторе R4, настроен статически. Настройки клиентов приведены на рис. 3.3.
3.3.4. НАСТРОЙКА МАРШРУТИЗАТОРОВ
Настроим интерфейсы на R1.
Router>en
Router#conf t
Router(config)# interface Ethernet0/1
Router(config-if)# ip address 10.0.0.1 255.255.255.0
Затем посмотрим на результат (рис. 3.4).
43
Рис. 3.3. IP-адресация на клиенте Client
Рис. 3.4. Конфигурация интерфейсов на R1
Настроим NAT:
Router(config)#ip nat inside source list 10 interface Ethernet0/0 overload
Router(config)#ip nat inside source static tcp 10.0.0.6 443 192.168.159.131
443 extendable
Router(config)#access-list 10 permit 10.0.0.0 0.0.0.255
Router(config)# interface Ethernet0/1
Router(config-if)# ip nat inside
Router(config)# interface Ethernet0/0
Router(config-if)# ip nat outside
Настроим интерфейсы на R4.
Router>en
Router#conf t
44
Router(config)# interface Ethernet0/1
Router(config-if)# ip address 20.0.0.3 255.255.255.0
Рис. 3.5. Конфигурация интерфейсов на R4
Рис. 3.6. Установка OpenVPN
Рис. 3.7. Проверка версии OpenVPN
Затем посмотрим на результат (рис. 3.5).
Настроим NAT:
Router(config)# ip nat inside source list 10 interface Ethernet0/0 overload
Router(config)#access-list 10 permit 20.0.0.0 0.0.0.255
Router(config)# interface Ethernet0/1
Router(config-if)# ip nat inside
Router(config)# interface Ethernet0/0
Router(config-if)# ip nat outside
3.3.5. ПОДГОТОВКА СЕРВЕРА OPENVPN
Сначала установим OpenVPN (рис. 3.6).
С помощью команды проверим установленную версию (рис. 3.7):
openvpn –version
45
Рис. 3.8. Созданная директория
Рис. 3.9. Результат редактирования переменных
Создание директории центра сертификации (рис. 3.8).
Настройка переменных центра сертификации (рис. 3.9).
Создание центра сертификации (рис. 3.10).
Создание сертификата, ключа и файлов шифрования для сервера (рис. 3.11).
Затем посмотрим процесс создания ключей (рис. 3.12).
Создание подписи HMAC:
openvpn --genkey --secret keys/ta.key
Создание сертификата и пары ключей для клиента (рис. 3.13).
46
Рис. 3.10. Результат создания центра сертификации
Рис. 3.11. Результат создания сертификата
Рис. 3.12. Создание ключей протокола Диффи-Хеллмана
47
Рис. 3.13. Создание сертификата и пары ключей для клиента
3.3.6. НАСТРОЙКА СЕРВИСА OPENVPN
Копирование файлов в директорию OpenVPN:
cd ~/openvpn-ca/keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
Скопируем и разархивируем файл-пример конфигурации OpenVPN в
конфигурационную директорию для дальнейшей настройки:
gunzip –c/usr/share/doc/openvpn/examples/sample-configfiles/server.conf.gz |
tee /etc/openvpn/server.conf
48
Рис. 3.14. Секция настройки HMAC
Рис. 3.15. Выбор шифра AES-128-CBC
Рис. 3.16. Настройка порта 443
Рис. 3.17. Настройка протокола TCP
Настройка конфигурационного файла сервера OpenVPN.
Настройка использования подписи HMAC на рис. 3.14.
Настройка шифрования (рис. 3.15).
Настройка порта представлена на рис. 3.16.
Настройка протокола представлена на рис. 3.17.
3.3.7. НАСТРОЙКА СЕТЕВОЙ КОНФИГУРАЦИИ СЕРВЕРА И ЗАПУСК СЕРВЕРА
Настройка пересылки пакетов между интерфейсами (рис. 3.18).
Рис. 3.18. Разрешаем перенаправления трафика
49
Рис. 3.19. Сервер активен
Открытие порта – разрешить трафик tcp для порта 443:
ufw allow 443/tcp
ufw allow OpenSSH
Запуск OpenVPN на сервере:
systemctl start openvpn@server
Проверка статуса работы сервера (рис. 3.19).
3.3.8. СОЗДАНИЕ ФАЙЛА КОНФИГУРАЦИИ ДЛЯ КЛИЕНТОВ
Создание конфигурации с помощью следующей команды:
cp/usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-
configs/base.conf
Редактирование базовой конфигурации для использования как конфигу­рации клиента (рис. 3.20).
50
Рис. 3.20. Выбор протокола и порта
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]