Данная статья применима к:

Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), РУСБ.10015-10
Astra Linux Special Edition РУСБ.10015-17
Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
Astra Linux Special Edition РУСБ.10015-03 (очередное обновление 7.6)
Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1
Astra Linux Special Edition РУСБ.10015-16 исп. 2
Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Astra Linux Common Edition 2.12

Установка пакета

Пакет openvpn входит в дистрибутивы Astra Linux, и устанавливается по умолчанию при установке ОС. Для быстрой настройки этого пакета можно рекомендовать дополнительно установить пакеты

  • для машины, предназначенной на роль сервера: 
    • графический инструмент fly-admin-openvpn-server;
    • или инструмент командной строки astra-openvpn-server;
  • для клиентской машины дополнительных пакетов не требуется.

При установке пакетов fly-admin-openvpn-server и astra-openvpn-server автоматически будет установлен пакет libgost-astra, поддерживающий защитное преобразование информации в соответствии с алгоритмами ГОСТ.

Быстрая настройка сервера

Настройка ipv6

Для корректной работы VPN следует убедиться, что корректно настроен протокол IPv6. См. статью IPv6: включение и выключение.

Настройка VPN

После установки пакетов для быстрой настройки и запуска сервера OpenVPN можно воспользоваться командной строкой:

astra-openvpn-server start
Или использовать графический инструмент fly-admin-openvpn-server, который после установки будет доступен в меню:

"Пуск" > "Панель управления" > "Сеть" > "Настройка OpenVPN сервера"

При настройке сервера OpenVPN автоматически будет настроен пакет libgost-astra, поддерживающий защитное преобразование информации в соответствии с алгоритмами ГОСТ.

При настройке пакета libgost-astra будет переписан конфигурационный файл службы openssl (/etc/ssl/openssl.cnf).
  • если установлен пакета libgost-astra, то сервер OpenVPN будет автоматически настроен на работу с использованием преобразования "Кузнечик" (grasshopper-cbc);
  • если пакет libgost-astra не установлен, то будет выбран метод защитного преобразования AES-256-GCM;
  • при необходимости алгоритм защитного преобразования можно изменить из графического инструмента fly-admin-openvpn-server или из командной строки, например:

    astra-openvpn-server cipher AES-256-GCM

Настройка клиента

Настройку клиентов можно выполнить с помощью штатного предустановленного графического менеджера сетевых соединений.

Для генерации пар ключей для идентификации клиентов желательно использовать графический инструмент XCA,  или использовать возможности, встроенные в пакеты astra-openvpn-server и fly-admin-openvpn-server (см. документацию по этим пакетам).

В случае, если сервер OpenVPN использует метод защитного преобразования Кузнечик, на клиентской машине также должен быть установлен пакет libgost-astra.

Дальнейшие настройки службы OpenVPN

Первый запуск

При первом запуске графического инструмента fly-admin-openvpn-server будет создана конфигурация по умолчанию, и будут выпущены сертификаты сервера.

Выполнение этой операции может занять продолжительное время, поэтому пользователю будет показано диалоговое окно с уведомлением и предложением подождать.

ВАЖНО! Графический инструмент не производит автоматический запуск службы openvpn, так как предполагается, что пользователь может захотеть внести в созданную конфигурацию свои изменения. Для запуска службы после создания и редактирования конфигурации следует нажать кнопку «Запустить».

При первом запуске будут выполнены следующие операции:

  • Будет автоматически создан файл конфигурации службы, содержащий достаточные для запуска настройки.

  • Будет создан локальный удостоверяющий центр и выпущены необходимые для работы сертификаты.

  • Будут созданы необходимые для работы службы файлы.

  • В случае, если на компьютере установлены и настроены библиотеки, поддерживающие метод защитного преобразования по алгоритму ГОСТ Р 34.12-2015 («Кузнечик») , для защиты канала данных openvpn будет выбран этот метод. В противном случае будет выбран метод защитного преобразования AES-256-GCM.

  • Будут выполнены настройки сетевого межсетевого экрана, и другие настройки операционной системы для работы openvpn как системной службы.

При этом служба openvpn будет настроена как стандартная системная служба автоматических запуском при включении компьютера.

Настройка службы OpenVPN

После создания конфигурации по умолчанию, пользователю станет доступно основное окно программы, которое включает две вкладки:

  • «Настройки»;

  • «Клиентские сертификаты»,

кнопки

  • «Запустить»;

  • «Остановить».

и текстовое поле для вывода сообщений.

На вкладке «Настройки» находятся элементы управления для настройки сервера OpenVPN.

Настройки разделены на базовые настройки, которые сразу доступны пользователю и расширенные настройки, которые скрыты по умолчанию и становятся доступны по нажатию кнопки «Показать расширенные настройки».

Базовые настройки

Базовые настройки включают IP-адрес, сетевую маску, порт и метод защитного преобразования.

  • IP-адрес — позволяет задать IP-адрес создаваемой сети VPN. По умолчанию установлено значение 10.8.0.0. Поддерживается только формат адресов протокола IPv4.

  • Маска – позволяет задать маску создаваемой сети VPN. По умолчанию установлено значение 255.255.255.0. Поддерживается только формат масок протокола IPv4.

  • Порт – сетевой порт сервера, который будут использовать клиенты для подключения. По умолчанию установлено значение 1194. Поддерживаются номера свободных портов от 1 до 65535.

  • Метод защитного преобразования - по умолчанию установлено значение «grasshopper-cbc» («Кузнечик»). Поддерживаются следующие методы:

    • grasshopper-cbc - алгоритм «Кузнечик» ГОСТ Р 34.13–2015;

    • AES-256-GCM - Рекомендован для применения в системах общего назначения;

    • AES-256-CBC - Допустим для применения в системах общего назначения;

    • AES-128-CBC - Для совместимости со старыми системами, к применению не рекомендуется.

Расширенные настройки

Расширенные настройки позволяют задать расположение ранее предустановленных файлов ключей и сертификатов внешнего удостоверяющего центра, а также заново выпустить сертификаты локального удостоверяющего центра.

Задать расположение ранее предустановленных файлов ключей и сертификатов внешнего удостоверяющего центра можно используя следующие поля:

  • сертификат пользователя – сертификат открытого ключа (например, server.crt);

  • сертификат центра сертификации (ЦС) – сертификат открытого ключа удостоверяющего центра (например, ca.crt);

  • личный ключ – закрытый ключ сервера (например, server.key);

  • файл Диффи-Хеллмана – файл параметров Диффи-Хеллмана (например, dh2048.pem);

  • файл аутентификации TLS – файл дополнительной аутентификации TLS (например, ta.key).

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

Кнопка «Сбросить сертификаты» предназначена для удаления всех сертификатов локального удостоверяющего центра и повторного выпуска сертификатов сервера. После выполнения этого действия сертификаты клиентов станут недействительными, и клиенты потеряют возможность подключения к серверу OpenVPN.

Данная операция:

  • останавливает службу openvpn;

  • удаляет все файлы удостоверяющего центра;

  • удаляет все копии сертификатов сервера и клиентов;

  • создаёт новый удостоверяющий центр;

  • создаёт новые сертификаты сервера;

  • повторно запускает сервер.

Управление сертификатами и ключами для клиентов OpenVPN

При использовании собственного удостоверяющего центра, инструмент fly-admin-openvpn-server поддерживает возможность создания ключей и сертификатов для клиентов.

Для управления клиентскими сертификатами перейдите на вкладку
«Клиентские сертификаты».

На данной вкладке расположены:

  • таблица с данными о клиентских сертификатах;

  • кнопки:

    • «Создать сертификат»,

    • «Отозвать сертификат» и

    • «Открыть директорию сертификатов».

Поля таблицы с данными о клиентских сертификатах:

  • Номер – номер сертификата в базе данных удостоверяющего центра;

  • Имя пользователя – уникальное имя сертификата;

  • Состояние — сертификат действителен или отозван;

  • Страна – название страны;

  • Область – название области;

  • Город – название города;

  • Организация – название организации;

  • Email – адрес электронной почты;

  • Подразделение – название подразделения организации;

  • Имя – имя пользователя;

  • Истекает – дата истечения сертификата;

  • Отозван – дата отзыва сертификата, если он был отозван.

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

Для создания ключа и сертификата пользователя используется кнопка «Создать сертификат». При нажатии на эту кнопку, будет открыт диалог со следующими полями:

  • Имя пользователя – имя сертификата. Имя сертификата должно быть уникальным, не может быть пустым и не может содержать пробелы.

  • Страна – двухбуквенный код страны. Если поле пустое, то по умолчанию будет установлено значение RU;

  • Область – название области. Если поле пустое, то по умолчанию будет установлено значение MO;

  • Город – название города. Если поле пустое, то по умолчанию будет установлено значение Moscow;

  • Организация – название организации. Если поле пустое, то по умолчанию будет установлено значение none;

  • Email – адрес электронной почты. Если поле пустое, то по умолчанию будет установлено значение none;

  • Отдел – название подразделения организации; Если поле пустое, то по умолчанию будет установлено значение none;

  • Имя –имя пользователя. Если поле пустое, то по умолчанию будет установлено значение noname.

При нажатии на кнопку «Да» будут созданы следующие файлы:

  • будет создан новый файл закрытого ключа для клиента с указанным именем клиента (<имя_клиента>.key);

  • будет создан файл сертификата открытого ключа, подписанный удостоверяющим центром (<имя_клиента>.crt);

  • для удобства последующей передачи клиенту, созданные файлы будут скопированы в каталог /etc/opnvpn/clients-keys/<имя_клиента>;

  • дополнительно, в это же каталог /etc/opnvpn/clients-keys/имя_клиента, будут скопированы и другие, необходимые для работы клиента, файлы:

    • файл сертификата удостоверяющего центра (по умолчанию - ca.crt);

    • файл дополнительной аутентификации TLS (ta.key).

ВАЖНО! Клиентские ключи генерируются в открытой (без защитного преобразования) форме, чтобы избежать ввода паролей при подключении клиента к серверу.

Отзыв сертификатов

При использовании центра сертификации, созданного с помощью инструмента fly-admin-openvpn-server, поддерживается отзыв клиентских сертификатов. Отзыв сертификатов применяется для запрета подключений клиента, даже тогда, когда в распоряжении клиента имеются копии всех сертификатов и ключей.

Для отзыва сертификата выберите в таблице клиентов строку с отзываемым сертификатом и нажмите кнопку «Отозвать сертификат».

При выполнении этой операции:

  • сертификат клиента в базе данных удостоверяющего центра будет помечен, как «отозванный»;

  • будет создан (или обновлён ранее созданный) список отозванных сертификатов;

  • новый список отозванных сертификатов будет скопирован в каталог /etc/openvpn/keys, и сервер openvpn будет автоматически перезапущен, чтобы обновления немедленно вошли в силу.

Кнопка «Открыть директорию сертификатов» позволяет открыть каталог /etc/openvpn/keys в файловом менеджере.

Управление службой OpenVPN

Доступность кнопок «Запустить» и «Остановить» отображает статус службы.

Когда служба запущена, становится доступна кнопка «Остановить», а кнопка «Запустить» блокируется, и наоборот.

Для сохранения настроек и запуска службы OpenVPN нажмите кнопку «Запустить».

Для остановки службы нажмите кнопку «Остановить».

Диагностика работы службы и клиента OpenVPN

В процессе работы службы и клиента openvpn информация о происходящих событиях записывается в системный журнал сервера или клиента, на котором работает служба или клиент openvpn.

Для просмотра системного журнала можно использовать следующие команды

journalctl

просмотр всего системного журнала

journalctl -f

просмотр последних событий, и вывод на экран новых событий по мере их появления


Возможен также вывод журнала на экран по мере добавления в него новых сообщений от openvpn:

tail -f /var/log/syslog | grep ovpn-server
будет выводить только сообщения от службы openvpn по мере их добавления в системный журнал.

Проверка метода защитного преобразования, используемого при передаче данных openvpn

При каждом подключении VPN-клиента в системный журнал VPN-сервера записывается информация о параметрах подключения, в том числе — о выбранном методе защитного преобразования передаваемых данных для входящего и исходящего каналов, например, в сообщениях о подключении с методом защитного преобразования ГОСТ Р 34.13–2015 «Кузнечик» будет содержаться следующая информация:

Outgoing Data Channel: Cipher 'grasshopper-cbc' initialized with 256 bit key
Outgoing Data Channel: Using 160 bit message hash 'SHA1' for HMAC authentication
Incoming Data Channel: Cipher 'grasshopper-cbc' initialized with 256 bit key
Incoming Data Channel: Using 160 bit message hash 'SHA1' for HMAC authentication

Проверить метод используемого защитного преобразования можно следующей командой:

grep "Data Channel: Cipher" /var/log/syslog

Проверка включения ГОСТ Р 34.13–2015 «Кузнечик»

Отдельно использование метода защитного преобразования можно проверить командой 

grep "grasshopper-cbc" /var/log/syslog