The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Промежуточный центр сертификации для OpenVPN"
Версия для распечатки Пред. тема | След. тема
Форум Информационная безопасность
Исходное сообщение [ Отслеживать ]

"Промежуточный центр сертификации для OpenVPN" +/
Сообщение от Markoff (ok), 25-Июл-14, 12:41 
Добрый день коллеги!
В связи с производственной необходимостью (IT аутсорсинг), возникла задача по созданию собственного центра сертификации, дабы генерировать ключи к OpenVPN для своих сотрудников и сотрудников обслуживаемых организаций.
Идея такая:
Все (кому надо) мои сотрудники получают личный ключ, подписанный нашим СА, и с его помощью ходят по всем нашим организациям. Так же, во многих обслуживаемых нами организациях, руководство и не только, тоже желает подключаться к своей конторе из дома/командировки... Для этого на их сервере тоже стоит свой СА, но подписанный нашим СА (т.е. является как бы дочерним). Он собственно и выдает ключи для целей конкретной организации. Все дочерние организации периодически скачивают у нас список отозванных сертификатов, дабы блокировать скомпрометированные ключи.
Т.е. получается такая схема:

----------------------------           ----------------------------
|    СА0 наш               |-----> | СА1 организации1|
|самоподписанный  |--       | подписанный СА0 |
----------------------------    |      ----------------------------
   |                                     |                         |
User0                               |                      User1
                                          |                      ServerOVPN1
                                          |
                                          |         ----------------------------
                                             -->  | СА2 организации2|
                                                    | подписанный СА0 |
                                                     ----------------------------
                                                               |
                                                             User2
                                                             ServerOVPN2

(криво получилось... в редакторе один шрифт, предпросмотр другой, результат вообще третий :( )

СА0 - выдает моим сотрудникам ключи и с их помощью, наример User0, нормально подключается к ServerOVPN1 и ServerOVPN2.
СА1 - подписан нашим СА и выдает для сотрудников организации1, например User1, ключи для подключения к ServerOVPN1.
СА2 - подписан нашим СА и выдает для сотрудников организации2, например User2, ключи для подключения к ServerOVPN2.

Все замечательно работает...
Одно НО! Очень большое НО. User1 может подключиться к ServerOVPN2 и наоборот, User2 подключается к ServerOVPN1. Но этого не должно быть!... по задумке... и по фэншую.

Как генерирую ключи:
# Создание основного CA сертификации
openssl dhparam -out /etc/openvpn/keys/dh2048.pem 2048
openssl req -days 7000 -nodes -new -newkey rsa:4096 -x509 -keyout ca.key -out ca.crt

# Генерация СА1
openssl req -nodes -new -newkey rsa:3072 -keyout /etc/openvpn/keys/Test1/ca.key -out /etc/openvpn/keys/Test1/ca.csr -config /root/Scripts/ssl/openssl.cnf -batch
openssl ca -days 3650 -out /etc/openvpn/keys/Test1/ca.crt -in /etc/openvpn/keys/Test1/ca.csr -extensions v3_ca -config /root/Scripts/ssl/openssl.cnf -batch
cat /etc/openvpn/keys/ca.crt>>/etc/openvpn/keys/Test1/ca.crt

Далее копируем по scp Test1/ca.key,Test1/ca.csr, Test1/ca.crt на сервер клиента1, там стандартными средствами от OpenVPN создаем ключ сервера (ServerOVPN1) и клиента User1

Аналогично поступаем с CA2, ServerOVPN2, User2

openssl.cnf взят из OpenVPN, только дополнен несколькими переменными для автоматической генерации из скриптов.

Что я делаю не так? Может какие параметры надо дописать в openssl.cnf на СА0?

Ответить | Правка | Cообщить модератору

Оглавление
Промежуточный центр сертификации для OpenVPN, Markoff, 25-Июл-14, 12:41  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру