Пояснительная записка (1209853), страница 4
Текст из файла (страница 4)
#cp -r /etc /openvpn/easy-rsa/ /etc/openvpn/desk
Далее редактируется /etc/openvpn/desk/vars в соответствии с действительностью:
-
export HOME= – Путь к папке, где содержится данный файл, если изменяли;
-
export KEY_SIZE= – Размер ключа, по умолчанию стоит 1024, если требуется повысить надёжность шифрования, то увеличивается значение;
-
export KEY_COUNTRY="RU";
-
export KEY_PROVINCE="KHV";
-
export KEY_CITY="Khabarovsk";
-
export KEY_ORG="DESK";
-
export KEY_EMAIL="name@ feesc.ru ".
Примечание: Стойкость современных алгоритмов основывается на недоказанном математическом предположении о сложности разложения больших чисел на множители (факторизации) (RSA) или дискретного логарифмирования в конечных полях (Эль Гамаль, DSA). Рекомендуемая длина ключа для алгоритмов, основанных на разложении числа на множители, составляет 2048 бит при необходимости долговременного хранения, для кратковременного хранения – 1024 бит.
Примечание: чтобы сохранить изменения файла vars, его необходимо редактировать от имени суперпользователя(sudo).
Для создания главного сертификата центра сертификатов и его секретного ключа требуется ввести следующие команды:
#cd /etc/openvpn/desk/
# mv vars.example vars
#./init-pki
#./build-ca
После генерации ключа главного сертификата CA нужно заполнить поля, те поля, которые редактировались в файле vars, пропускаются. Остальные поля заполняются:
-
Organizational Unit Name – наименование сегмента сети, для которого создаются ключ главного сертификата CA;
-
Common Name – общее наименование, которое должно быть уникально;
-
Name – имя файла.
Примечание: Common Name должно быть уникальным и не повторяться как для сервера, так и для клиентов. Причём для клиентов Common Name заполняется в соответствии с пунктом 3.4.
Для повышения безопасности при генерации ключа требуется добавить пароль, который будет защищать приватный ключ удостоверяющего центра, созданный в формате PEM. Этот пароль потребуется каждый раз во время подписания сертификатов в удостоверяющем центре для серверов и клиентов OpenVPN.
Для удостоверяющего центра команда build-ca создаст два файла:
-
ca.key
-
ca.crt
Файл ca.key представляет собой приватный ключ центра CA, он секретный, его нужно оставить на сервере и никому не передавать. Файл сертификата удостоверяющего центра ca.crt, напротив, открытый, и он будет нужен на узлах серверов и клиентов OpenVPN. Файл ca.crt записывается на USB флэш-диск, чтобы перенести на другие узлы.
-
Серверные сертификаты
Далее создаётся сертификат и секретный ключ для сервера:
#./build-key-server <machine-name> nopass .
Как и на предыдущем этапе, большинство параметров можно выбирать по умолчанию. Два других запроса требуют положительного ответа: "Sign the certificate? [y/n]"и"1 out of 1 certificate requests certified, commit? [y/n]".
Примечание. <machine-name>. – название сертификата для сервера OpenVPN.
-
Создание файла параметров алгоритма Диффи-Хелмана для OpenVPN сервера:
#./ gen-dh
Все сертификаты и ключи будут создаваться в подкаталоге /desk/.
-
Создание списка отзывов сертификатов
Если сотрудник уволился, необходимо заблокировать его доступ в сеть VPN компании. Специально для этой цели в OpenVPN предусмотрен список отзыва сертификатов CRL. Создаётся он следующей командой:
#cd /openvpn/desk/
#./easyrsa gen-crl
После этого будет запрошен пароль доступа к приватному ключу ca.key удостоверяющего центра. Список отзыва сертификатов будет создан в файле /etc/openvpn/desk/pki/crl.pem.
-
Клиентские сертификаты
VPN клиент тоже требует наличие сертификата для аутентификации на сервере. Обычно создаются отдельные сертификаты для каждого клиента. Для создания сертификата введите следующее в терминале под суперпользователем:
#cd /etc/openvpn/desk/
#source vars
#./build-key ClientName nopass
Примечание: ClientName задаётся в соответствии с пунктом 3.4. и заявкой пользователя. Учётные данные при генерации ключа используются те, что были присвоены пользователю в соответствии с его заявкой.
Следующие файлы копируются на сторону клиента, используя защищенный метод (например, проверенный USB-носитель):
-
/etc/openvpn/desk /ca.crt
-
/etc/openvpn/desk/ ClientName.crt
-
/etc/openvpn/ desk /private/ ClientName.key
Поскольку сертификаты и секретные ключи требуются только на стороне клиента, вам нужно удалить их с сервера.
3.7 Настройка сервера OpenVPN
Процесс создания сервера OpenVPN включает в себя установку пакета OpenVPN, подготовку файлов конфигурации, ключей и сертификатов. Так как OpenVPN установлен, ключи и сертификаты созданы. Далее необходимо перейти к настройке конфигурации.
Файлы конфигурации, сертификаты и ключи нужно поместить в каталог /etc/openvpn, который будет создан автоматически в процессе установки пакета OpenVPN.
Прежде всего, необходимо подготовить файл конфигурации server.conf., если файл отсутствует в указанной директории, необходимо его создать.
Далее происходит настройка содержимого файла server.conf, содержимое файла заполняется параметрами указанными в таблице 3.7.1:
Таблица 3.7.1 – Параметры файла конфигурации сервера
Параметр | Назначение параметра |
port 12435 | Порт, на котором будет работать OpenVPN |
proto udp | Протокол, по которому будут передаваться данные |
dev tun | Интерфейс на котором будет работать OpenVPN |
Продолжение таблицы 3.7.1
Параметр | Назначение параметра |
cd /etc/openvpn | Путь к OpenVPN |
dh /etc/openvpn/dh.pem | Путь к файлу параметров алгоритма Диффи-Хеллмана |
ca /etc/openvpn/ca.crt | Путь к главному сертификату CA |
cert /etc/openvpn/server.crt | Путь к сертификату OpenVPN сервера |
key /etc/openvpn/server.key | Путь к закрытому ключу OpenVPN сервера |
crl-verify /etc/openvpn/crl.pem | Путь к списку отзыва сертификатов |
server 172.16.10.0 255.255.255.0 | Подсеть для выдачи виртуальных IP-адресов. |
auth-user-pass | Разрешает аутентификацию по логину паролю |
client-config-dir /etc/openvpn/ccd | Каталог конфигурационных файлов пользователя |
client-to-client | Параметр, который позволяет клиента подключаться друг с другом |
max-clients 10 | Максимальное количество пользователей, которые могут одновременно подключаться к OpenVPN |
route 192.168.10.0 255.255.255.0 | Подсети, к которым будет доступ через OpenVPN |
comp-lzo | Включение алгоритма сжатия трафика |
Окончание таблицы 3.7.1
Параметр | Назначение параметра |
keepalive 10 120 | Параметр проверки соединения |
status /var/log/openvpn/openvpn-status.log | Файл состояния текущих соединений |
log-append /var/log/openvpn/openvpn-server.log | Файл логов OpenVPN |
verb 3 | Уровень детализации логов от 1 до 5 |
Чтобы запуск сервера OpenVPN произошел успешно, необходимо создать каталоги, сертификаты и ключи, на которые есть ссылки в конфигурационном файле server.conf.
Создайте каталог для журнала сервера OpenVPN:
# mkdir /var/log/openvpn/
Создайте каталог для конфигураций клиентов (пока не используем):
# mkdir /etc/openvpn/ccd
Перед тем как запустить демон OpenVPN, необходимо убедится, что в каталоге /etc/openvpn/ для CetnOS присутствуют все ниже перечисленные файлы:
-
openssl.cnf – файл конфигурации OpenSSL;
-
server.conf – файл конфигурации сервера OpenVPN;
-
ca.crt – cертификат удостоверяющего центра;
-
severname.crt – cертификат сервера OpenVPN;
-
severname.key – приватный ключ сервера OpenVPN, секретный;
Запустите демон OpenVPN следующей командой:
# systemctr start openvpn@server
Если сервер OpenVPN стартовал без ошибок, убедитесь с помощью команды ifconfig в том, что появился интерфейс TUN:
# ifconfig
Если все хорошо, то в интерфейсе tun появился адрес IP 172.16.1.1. Это адрес сервера OpenVPN в защищенном туннеле, заданный в файле конфигурации server.conf.
После проверки наличия интерфейса TUN убедитесь, что OpenVPN занял порт указанный порт:
# netstat -ltupn | grep 12435
Если демон запустился нормально и порт 12435 занят сервером OpenVPN, можно переходить к установке клиента OpenVPN.
3.8 Настройка клиента OpenVPN
Все сотрудники используют на своих рабочих станциях ОС Microsoft Windows, поэтому для подключения к серверу OpenVPN необходимо установить OpenVPN-GUI. Дистрибутив OpenVPN-GUI можно скачать на официальном сайте.
Необходимо выбрать вариант загрузки Windows Installer (64-bit) или Windows Installer (32-bit) в зависимости от разрядности вашей версии ОС Microsoft Windows. Далее запустить полученный файл и выполните установку по умолчанию. Файлы конфигурации, сертификаты и ключи необходимо записать в папку C:\Program Files\OpenVPN\config.
Все сертификаты и конфигурационный файл будет генерироваться в разработанном веб-интерфейсе OpenVPN:Контроль. Администратор согласно заявке создаёт нового клиента, и при сохранении автоматически сгенерируются сертификаты и конфигурационный файл. Данные сертификаты и конфигурационный файл будет добавлен в единый архив, его можно будет скачать с веб-интерфейса OpenVPN:Контроль. После скачивания архив необходимо распаковать и содержимое поместить в C:\Program Files\OpenVPN\config.
Если необходимо проверить настройки файла конфигурации клиента OpenVPN, то его можно просмотреть в каталоге C:\Program Files\OpenVPN\config. Расширение имени этого файла должно быть ovpn. Если файл создан не верно, его можно корректировать в ручную, для это необходимо его открыть и изменять согласно параметрам указанными в таблице 3.8.1.
Таблица 3.8.1 – Настройка файла конфигурации клиента
dev tun | Интерфейс, на котором будет работать OpenVPN |
proto udp | Протокол, по которому будут передаваться данные |
remote 172.16.10.2 12435 | Адрес и порт сервера |
client | Указывает на конфигурацию клиента |
ca /etc/openvpn/ca.crt | Путь к главному сертификату CA |
cert /etc/openvpn/client.crt | Путь к сертификату OpenVPN клиената |
key /etc/openvpn/client.key | Путь к закрытому ключу OpenVPN клиента |
route 192.168.10.0 255.255.255.0 | К какой сети будет доступ через OpenVPN сервер |
comp-lzo | Алгоритм сжатия трафика |
verb 3 | Уровень детализации логов от 1 до 5 |
persist-key | Сохраняет ключ во время перезапуска клиента |
persist-tun | Сохраняет данные интерфейса во время перезапуска клиента |
Так же необходимо проверить, что в каталоге C:\Program Files\OpenVPN\config имеются следующие файлы, возможно сертификаты не были сгенерированы и вы скопировали пустой архив:
CA.crt – сертификат удостоверяющего центра CA;
ClientName.crt – сертификат хоста Microsoft Windows, подписанный удостоверяющим центром CA;