- •Введение
- •Глава 1. Основная часть
- •1.1 Основные топологии компьютерных сетей
- •1.3 Стек протоколов tcp/ip
- •Глава 2. Специальная часть
- •2.1 Цель курсового проекта
- •2.2 Технология виртуальных частных сетей virtual private network (vpn).
- •2.3 Компоненты сети openvpn.
- •2.4 Создание удостоверяющего центра ca.
- •2.5 Создание сервера openvpn.
- •2.6 Установка и запуск по клиента openvpn.
- •2.7 Установка прокси-сервера squid.
- •Глава 3. Мероприятия по технике безопасности
- •Заключение
- •Список использованных источников
2.4 Создание удостоверяющего центра ca.
Задача удостоверяющего центра CA — выдача подписанных сертификатов для сервера и клиентов OpenVPN.
Чтобы получить сертификат, сервер или клиент на своем хосте генерирует файл запроса на сертификат. Этот файл запроса передается на хост CA, который создает сертификат и подписывает его. Далее подписанный сертификат передается на запросивший хост.
Одновременно с запросом сертификата создается приватный ключ. Приватные ключи создаются для всех узлов сети OpenVPN: для удостоверяющего центра CA, для сервера и всех клиентов OpenVPN.
Для безопасности файлы ключей никогда не должны покидать узлы, где они были созданы. Обмениваться можно только запросами на сертификаты и сертификатами, приватными ключами обмениваться нельзя и незачем.
Сервер OpenVPN создает свой приватный ключ и файл запроса на получение сертификата. Файл запроса передается в удостоверяющий центр, например, на USB флеш-диске.
Удостоверяющий центр на основе запроса создает подписанный сертификат, который затем требуется перенести на сервер OpenVPN, также на USB флэш-диске.
Если к безопасности не предъявляется особых требований или вы только изучаете OpenVPN, можно подключить машину удостоверяющего центра к сети и передавать запросы и сертификаты, например, с помощью утилит SFTP или SCP. Можно даже совместить функции CA и, например, сервера OpenVPN в одном хосте.
Аналогичным образом необходимо получить сертификаты для всех клиентских узлов.
Установка утилиты Easy-RSA
Все операции по созданию ключей и сертификатов можно выполнить с помощью утилиты openssl. Однако проще воспользоваться специально созданной для этого программой Easy-RSA, которая использует openssl для выполнения действий с ключами и сертификатами.
Ранее утилита Easy-RSA поставлялась вместе с OpenVPN, но теперь это отдельный проект.
Создание инфраструктуры публичных ключей PKI
На первом шаге создаем инфраструктуру публичных ключей (Public Key Infrastructure, PKI):
$ cd /home/ca/easy-rsa-master/easyrsa3
$ ./easyrsa init-pki
Увидим сообщение:
init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /home/ca/easy-rsa-master/easyrsa3/pki
В результате выполнения команды init-pki был создан каталог /home/ca/easy-rsa-master/easyrsa3/pki, где и находится инфраструктура публичных ключей PKI.
На втором шаге с помощью команды build-ca создаем удостоверяющий центр CA:
$ ./easyrsa build-ca
В ответ на эту команду вводим пароль и так называемое имя Common Name:
Generating a 2048 bit RSA private key
.....+++
................................................................+++
writing new private key to '/home/ca/easy-rsa-master/easyrsa3/pki/private/ca.key'
Enter PEM pass phrase:********
Verifying - Enter PEM pass phrase:********
----You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ca.mydomain.ru>
CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/home/ca/easy-rsa-master/easyrsa3/pki/ca.crt
Пароль будет защищать приватный ключ удостоверяющего центра, созданный в формате PEM (Privacy Enhancement for Internet Electronic Mail). Этот пароль потребуется каждый раз для подписания в удостоверяющем центре сертификатов для серверов и клиентов OpenVPN.
Чтобы избавиться от необходимости ввода пароля, можно при запуске команды build-ca задать опцию nopass:
$ ./easyrsa build-ca nopass
В качестве Common Name задается, например, доменное имя, выделенное для удостоверяющего центра CA, имя пользователя или хоста сервера CA.
Для удостоверяющего центра команда build-ca создаст два файла:
/home/ca/easy-rsa-master/easyrsa3/pki/private/ca.key
/home/ca/easy-rsa-master/easyrsa3/pki/ca.crt
Файл ca.key представляет собой приватный ключ центра CA, он секретный, и его нельзя переносить на другие узлы сети.
Файл сертификата удостоверяющего центра ca.crt, напротив, открытый, и он будет нужен на узлах серверов и клиентов OpenVPN. Записываем файл ca.crt на USB флэш-диск, чтобы перенести на другие узлы.
Созданные файлы и каталоги PKI
В табл. 2 приведено краткое описание некоторых файлов и каталогов PKI.
Файл или каталог |
Описание |
ca.crt |
Сертификат удостоверяющего центра CA, не секретный |
crl.pem |
Список отзыва сертификатов CRL |
issued |
Каталог с сертификатами, созданными удостоверяющим центром CA, не секретный |
private |
Каталог с секретными приватными ключами |
Reqs |
Каталог запросов на сертификаты, не секретный |
Таблица 2. Структура каталога PKI.
