Просмотр полной версии : Вопрос по OpenVPN
Добрый день!
1. Когда создаю сертификат для клиентской машины, на терминал выводится:
=====
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
=====
Не подскажете, что это за база такая?
2. Допустим, у меня ключи хранятся в каталоге /etc/openvpn/keys
Если я хочу удалить какой-нибудь сертификат, ключ, корректно ли будет просто физическое удаление соответсвующего файла? Или надо как-то по другому?
Спасибо.
Артур Крюков
07.03.2008, 13:13
Это относится к openssl. К подписи сертификатов своим CA.
Вот содержимое такой директории у меня:
# ls -l
итого 80
-rw-r--r-- 1 root root 1237 Фев 25 19:50 CA.crt
-rw-r--r-- 1 root root 2258 Мар 4 15:25 CA.pem
-rw-r--r-- 1 root root 383 Фев 26 15:03 index.txt
-rw-r--r-- 1 root root 20 Фев 26 15:03 index.txt.attr
-rw-r--r-- 1 root root 20 Фев 25 20:29 index.txt.attr.old
-rw-r--r-- 1 root root 254 Фев 25 20:29 index.txt.old
drwxr-xr-x 2 root root 4096 Фев 26 15:03 newcerts
drwx------ 2 root root 4096 Фев 25 19:50 private
-rw-r--r-- 1 root root 3 Фев 26 15:03 serial
-rw-r--r-- 1 root root 3 Фев 25 20:29 serial.old
Файлы index.txt и serial, а также директории private и newcerts.
В index.txt хранится список сертификатов, в serial следующий серийный номер. В newcerts сами подписанные сертификаты.
Маленький кусочек openssl.conf
[ CA_default ]
dir = ../CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/CA.crt
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/CA.key
RANDFILE = /var/log/messages # private random number file
x509_extensions = usr_cert
2. Ну вы же не делаете реальный центр сертификации? :) Конечно можно.
Вот для меня не понятны некоторые базовые вопросы по поводу работы ssl. Я настраивал OpenVPN и как написано в wiki делал:
# ./build-ca
#./build-key-server
# ./build-key
# ./build-dh
Мне непонятно:
Чем серверный ключь отличается от обычного ключа?
Зачем нужен корневой сертификат?
Что делает последняя команда?
И поэтому мне непонятно что будет если я допустим сгенерил 1 ключь для сервера и 5 для клиентов. Потом понадобилось добавить еще 5 клиентом. Нужно ли мне будет переделывать все по новой сгенерить нужное количество ключей и всё? Тоесть если будет время и желание напишите какая взаимосвязь в генерируемых файлах.
Артур Крюков
07.03.2008, 22:10
Вкратце так.
1. Генерим ключ и сертификат для CA. Это надо делать, если планируете сами подписывать свои сертификаты.
2. Генерим ключ для сервера - 1шт.
3. Подписываем его либо у доверенной организации, либо сами.
4. Для каждого клиента генерим свой ключ.
5. Подписываем там же.
Если подписывали в организации (это дорого, около 100 баксов за каждый ключик на один год :fool:), то сертификаты корневых доменов уже есть на всех клиентах. Если сами подписывали, то сертификат вашего CA надо кинуть на каждый клиент.
OpenVPN так же поддерживает шифрование по симметричному ключу. Когда на клиенте и на серваке одна парольная фраза. Так меньше возится, но с точки зрения безопасности, мягко говоря не очень :(
Для чего надо генерить dh, фиг его знает. Надо, значит надо. Тем более генерится он один раз и мы про него забываем.
Серверный ключ от обычного отличается записью в ключе, для чего он предназначен. И если вам с клиента приходит серверный ключ, программа удивляется и не верит. Можно генерить ключ для каждого типа сервера: web, mail и т.п. Это позволяет увеличить безопасность.
Если интересно про ssl почитать, тогда начинаем тут (http://www.opennet.ru/base/sec/openssl.txt.html), а затем читаем man :rabbi:
Работает на vBulletin® версия 3.7.4. Copyright ©2000-2008, Jelsoft Enterprises Ltd. Перевод: zCarot