[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Сертификаты OpenVPN



Alexey Pechnikov wrote:
Частенько проскакивают темы про OpenVPN, но ни разу никто не уточнил, как генерирует сертификаты.

1. Если делать серитфикаты вручную, то лучше это делать спомошью скриптов openvpn, то как это делается в переведенных доках по SSL, с использованием openssl.conf, тоже можно, но это не удобно, и в этих русских доках много ошибок - видно что авторы в результате тоже стали пользоваться скриптами openvpn...
Но лучший способ - это использовать EJBCA.

2. PKI и p12 это одно и тоже, openvpnу все равно что использовать p12 или pem, с pem надо отдельно указывать в конфиге ca.pem, key.key и key.crt, а в p12 все три в одном файле. p12 не обязательно должен быть зашифрованным, но сжимается он в любом случае и по cat что внутри не видно.

Сертификаты клиента и сервера могут быть однотипные, просто серитфикат сервера должен содержать какую опцию "может быть сертификатом сервера", с клиентом аналогично. Сертификат может иметь обе опции.

На сервере не надо держать сертификаты клиентов (можно, но для openvpn ненужно), главное что бы сертификаты клиента и сервера были подписанны одним ca.


P.S. Вспомнилось - когда сервер OpenVPN сам назначает ip-адреса клиентам, в файле с соответствиями ip

3. Можно указать диапазон ip для случайного распределения или использовать файлы с указанием статического ip клиента, в этом случае: имя файла = common name сертификата, а содержимое файла примерно такое:
ifconfig-push 192.168.1.1 255.255.255.0

эти файлы помещаются в директорию, например, ccd которая указывается в конфиге openvpn.conf:
client-config-dir       /etc/openvpn/ccd

4. Что касается юридических тонкостей - там важнее алгоритм, они могут быть разные, обычно rsa, но есть и советские.

5. Что касается центров сертификации - umho лучше иметь свой CA 509, если хочеться помудрить можно использовать "взаимную сертификацию", но это еще толком не работает - в простом случае разрастается с геометрической прогрессией при добавлении сторонних CA - практической ценности не имеет. Если использовать классическое дерево - покупать дорогой сертификат раскрутившейся фирмы особого смысла нет - по идее ее "все знают", вот и все, и что это гарантирует ?

6. Отзывать сертификат можно с помощью crl, что просто, или OCSP, XKMS (последними двумя не пользовался). crl - это список отозванных сертификатов для ca, генерируется в файл (по крону) с которым сверяется openvpn при каждом коннекте.

7. Что бы программы не ругались cn должно быть такое же как и домен (особо вредные иначе вообще не работают) - это касается сертификатов сервера и не для openvpn, а для апача, почты...

Удачи.

--
Sincerely,
	Nicholas



Reply to: