Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: HOW-TO: Создание собственного центра сертификации (CA - Certificate Authority)  (Прочитано 120289 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kdl

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Спасибо за подробную инструкцию, очень полезно. Хочу попробовать создать такую структуру центров сертификации, где был бы один корневой и несколько подчиненных. Корневой будет выдавать сертификаты только подчиненным, а подчиненные уже - серверам и клиентам. Задача - создать подчиненный центр сертификации.

Для этого, как я понимаю, нужно:
1. склонировать виртуалку (т.е. виртуалку с корневым центром положим в шкаф с глаз долой), поправить настройки OPENSSL_CONF
2. создать закрытый ключ подчиненного центра и запрос на сертификат подчиненного центра
3. подписать запрос на корневом центре

Правильно ли я мыслю?

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Да, в общем верно. Единственно, глубину проверки цепочки сертификации смотрите при генерации сертификата. Ваш подчинённый ключ может оказаться невалидным из-за того, что он подчинённый.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Люди, так дело оставлять нельзя. Давайте тогда вместе думать, что ли? Одна голова хорошо, а у семи нянек...
Какие шаблоны использования центра сертификации видите вы (подчёркиваю - собственного, практически домашнего ЦС)?
У меня получился очень короткий список.

1. Создание сертификатов для собственных сервисов/серверов. Апач, постфикс, Дейвов кот и т.д.
1.1. Создание пользовательских сертификатов вручную. Практически попадает в область 1. Только набор флажков другой будет.
Ключ и сертификат создаются в одном месте, в один проход.
Возможно, оптимальное решение - консольный скрипт.
Если вебморда - то ввод данных, вероятно - пароля для шифрования контейнера, и сразу получение pkcs12 на скачку. Это при условии, что пользователь однозначно идентифицирован, как лицо доверенное. Иначе см. п.2.

2. Создание персональных (и не только) сертификатов по запросу. Например, служба ИТ в филиале может создавать запросы на сертификаты для своих пользователей и высылать их вам пачкой на подпись. Это если вы решите не возиться с вторичными ЦС в филиалах, что часто неразумно либо накладно в смысле инфраструктуры.
Ключ вы в глаза не видите, создаётся только сертификат по реквесту.
В случае вебморды - простой интерфейс инспекции списка реквестов и кнопочки "аппрув" напротив каждой строчки. Это при условии, что... иначе... опять консоль.

Ещё кто какие варианты видит?

Пользователь решил продолжить мысль 08 Февраля 2014, 09:20:27:
3. Создание запросов с ключами, с последующим подписанием (созданием сертификатов) администратором. Через вебмордочку.
Клиент заходит на мордочку, заполняет форму, получает сгенерированный ключ и сидит, ждёт у моря погодыподписания сертификата (по подписании, сертификат скидывается клиенту на почту регистрации).
« Последнее редактирование: 09 Февраля 2014, 06:22:50 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Полезная командочка.
ln -s "<CA certificate file path>" "/etc/ssl/certs/$(openssl x509 -subject_hash -in "<CA certificate file path>" -noout)"Устанавливает индекс-ссылку на ваш CA сертификат в хранилице сертификатов системы.
(Нажмите, чтобы показать/скрыть)

И ещё одна полезная командочка.
Как сохранить сертификат сервера, к которому вы подключаетесь в файл?
Например, для IMAPS/POP3S можно сделать так:
Код: (bash) [Выделить]
openssl s_client -connect 192.168.56.13:993 > server.cer <<<QUITДля других сервисов команда автоматического завершения связи будет другой, либо можно просто прервать (^C) выполнение программы после установки соединения.
Конечно, в результирующем файле будет много мусора... но его можно автоматически очистить.
Код: (bash) [Выделить]
openssl x509 -in server.cer -out server.cer -outform PEM(Да, прямо так, перезаписать файл его очищенным вариантом.)

Сабж сертификата, безопасный для именования файла.
Код: (bash) [Выделить]
SUBJ="$(openssl x509 -subject -noout -in "$certificate" | cut -d / -f 2- --output-delimiter=";" | tr -d ":" )"" | tr -d ..." можно не делать, но некоторые [товарищи] умудряются URL в сабж пихать.
« Последнее редактирование: 09 Февраля 2014, 08:12:02 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн lamper

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Спасибо, за столь подробный мануал.

Вопрос такой: А будет ли в браузерах правильно верифицированы такие сертификаты.
Я имею ввиду будут ли они доверять ему? И не выкидывать страшные сообщения о непроверенных сертификатах.

Или мне всетаки придется тратиться на трастовые сертификаты?

Спасибо!

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
ЕСЛИ в системе (или в хранилище браузера) установлен корневой сертификат вашего ЦС, то ДА, браузер (и другие службы, использующие сертификаты), будут считать соединение доверенным.
Вся система сертификатов построена на доверии. :) Это не что-то абсолютно непогрешимое. Устанавливая корневой сертификат той или иной системы, ты своими руками говоришь системе - я(ты!) доверяю владельцу этого сертификата, и считаю заслуживающими доверия все сертификаты, которые им выданы. (А теперь подумай о том, что Microsoft уже установил более сотни CA сертификатов без твоего на то согласия. Которым система безоговорочно доверяет.)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Altlinux

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Всем добрый и замечательный день!
Помогите пожалуйста в чем у меня такая ошибка
cp /home/.CA/.ssh/id_rsa.pub /home/.CA/.ssh/authorized_keys
cp: не удалось выполнить stat для «/home/.CA/.ssh/id_rsa.pub»: Нет такого файла или каталога

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
В неумении читать текст целиком и понимать прочитанное.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Altlinux

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
данный ответ не помог разрешить проблему

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Для подобных вопросов есть отдельный форум https://forum.ubuntu.ru/index.php?board=67.0

Пользователь решил продолжить мысль 05 Февраля 2015, 00:55:46:
После добавления в проперти клиента codeSigning, удалось без проблем подписать виндовый экзешник.
Кому интересно, утилитка для подписывания: http://codesigning.ksoftware.net/#ksign (Это чтобы не качать весь виндовый SDK.)
« Последнее редактирование: 05 Февраля 2015, 00:55:46 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
+ Отзыв сертификатов.
+ Создание списков отзыва.

Пользователь решил продолжить мысль 18 Сентября 2015, 16:00:47:
Ну и да, минимальные правки по тексту.
« Последнее редактирование: 18 Сентября 2015, 16:00:47 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
+ HTTPS reverse proxy и авторизация доступа по сертификатам.
+ Разные заметки.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
В связи с выводом из обращения сертификатов, подписанных с использованием SHA1 дайджестов, в статью внесено маленькое исправление для использования SHA2 (SHA512) дайджеста по умолчанию.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн sergey113

  • Забанен
  • Активист
  • *
  • Сообщений: 407
  • равновесие
    • Просмотр профиля
    • Недоделанный сайт :)
почитал и  первая мысль какая уродская подача материала. Пойду почитаю в другом месте.
ubuntu 14.04+firefox+virtualbox+windows=туда-сюда ::)
dell 1220-Core2Duo 2200МГц (T6670)-4Gb DDR2-800МГц-Intel GMA 4500MHD-ЗВУК Intel HDA-HTS725050A7E630

Оффлайн AnrDaemon

  • Автор темы
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Спасибо за ваш отзыв. Что по-вашему стоит изменить?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.