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: