- Обновление корневых сертификатов на Linux
- Установка из репозитория
- Загрузка пакета с сертификатами
- Установка вручную
- Установка корневых сертификатов удостоверяющего центра linux
- Установка сертификатов используя КриптоПРО в Linux
- Пример установки отдельно взятого сертификата из контейнера
- 1С и Linux
- пятница, 14 декабря 2018 г.
- Установка сертификатов используя КриптоПРО в Linux
- Корневой сертификат удостоверяющего центра Active Directory на станции Linux
- Размышления
- Решение
Обновление корневых сертификатов на Linux
От корневых сертификатов в системе может зависеть правильная работа при обращении к ресурсам, которые работают по зашифрованному каналу связи. Если данные сертификаты устареют, мы можем столкнуться с рядом проблем:
- Не открываются или выдают предупреждение безопасности некоторые (или все) сайты, работающие по https.
- Некорректная работа отдельных приложений.
- Ошибки при подключении по ssh.
Это пример ошибок, который не претендует на свою полному. Чаще всего, проблемы встречаются на системах, снятых с обслуживания.
Установка из репозитория
Самый простой способ, который нужно попробовать, установить сертификаты из официального репозитория системы. В зависимости от ее типа, наши команды будут немного отличаться.
а) для систем на базе DEB (Debian, Ubuntu, Mint):
apt install ca-certificates
б) для систем на базе RPM (Rocky Linux, CentOS):
yum install ca-certificates
Если нам повезет и в репозитории будут обновленные корневые центры, наша работа закончена. Иначе, устанавливаем сертификаты вручную.
Загрузка пакета с сертификатами
Установка из репозитория может не дать нужного эффекта, если в нем находятся не самые свежие сертификаты или наша система сильно устарела или не имеет выхода в Интернет.
В этом случае нам нужно загрузить пакет с корневыми сертификатами вручную. Разберем пример на системе Ubuntu. В официальном репозитории или в поисковой системе находим пакет для загрузки, например, по ссылке ftp.ru.debian.org/debian/pool/main/c/ca-certificates копируем ссылку на файл с последней версией сертификатов, и загружаем его на наш компьютер:
Полученный пакет устанавливаем в системе:
dpkg -i ca-certificates_20210119_all.deb
И обновляем корневые сертификаты:
Установка вручную
Выше рассмотрены самые удобные способы обновления корневых сертификатов. Но мы можем столкнуться с ситуацией, когда в предоставляемых официальных пакетах не окажется обновленного сертификата. Например, на момент написания данной инструкции у систем на базе Deb не оказалось нового сертификата для Let’s Encrypt, а старый закончил свое действие 30 сентября 2021 года.
В данном случае, мы можем установить любой нужный нам сертификат руками. Для этого скачала находим его и копируем — приведем пример с Let’s Encrypt. На странице letsencrypt.org/ru/certificates мы можем увидеть ссылки на корневые сертификаты. Допустим, нам нужен Let’s Encrypt Authority X3 (Signed by ISRG Root X1), который доступен по ссылке letsencrypt.org/certs/letsencryptauthorityx3.pem.txt. Копируем последовательность и создаем файл на компьютере:
——BEGIN CERTIFICATE——
MIIFjTCCA3WgAwIBAgIRANOxciY0IzLc9AUoUSrsnGowDQYJKoZIhvcNAQELBQAw
TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTYxMDA2MTU0MzU1
WhcNMjExMDA2MTU0MzU1WjBKMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNTGV0J3Mg
RW5jcnlwdDEjMCEGA1UEAxMaTGV0J3MgRW5jcnlwdCBBdXRob3JpdHkgWDMwggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCc0wzwWuUuR7dyXTeDs2hjMOrX
NSYZJeG9vjXxcJIvt7hLQQWrqZ41CFjssSrEaIcLo+N15Obzp2JxunmBYB/XkZqf
89B4Z3HIaQ6Vkc/+5pnpYDxIzH7KTXcSJJ1HG1rrueweNwAcnKx7pwXqzkrrvUHl
Npi5y/1tPJZo3yMqQpAMhnRnyH+lmrhSYRQTP2XpgofL2/oOVvaGifOFP5eGr7Dc
Gu9rDZUWfcQroGWymQQ2dYBrrErzG5BJeC+ilk8qICUpBMZ0wNAxzY8xOJUWuqgz
uEPxsR/DMH+ieTETPS02+OP88jNquTkxxa/EjQ0dZBYzqvqEKbbUC8DYfcOTAgMB
AAGjggFnMIIBYzAOBgNVHQ8BAf8EBAMCAYYwEgYDVR0TAQH/BAgwBgEB/wIBADBU
BgNVHSAETTBLMAgGBmeBDAECATA/BgsrBgEEAYLfEwEBATAwMC4GCCsGAQUFBwIB
FiJodHRwOi8vY3BzLnJvb3QteDEubGV0c2VuY3J5cHQub3JnMB0GA1UdDgQWBBSo
SmpjBH3duubRObemRWXv86jsoTAzBgNVHR8ELDAqMCigJqAkhiJodHRwOi8vY3Js
LnJvb3QteDEubGV0c2VuY3J5cHQub3JnMHIGCCsGAQUFBwEBBGYwZDAwBggrBgEF
BQcwAYYkaHR0cDovL29jc3Aucm9vdC14MS5sZXRzZW5jcnlwdC5vcmcvMDAGCCsG
AQUFBzAChiRodHRwOi8vY2VydC5yb290LXgxLmxldHNlbmNyeXB0Lm9yZy8wHwYD
VR0jBBgwFoAUebRZ5nu25eQBc4AIiMgaWPbpm24wDQYJKoZIhvcNAQELBQADggIB
ABnPdSA0LTqmRf/Q1eaM2jLonG4bQdEnqOJQ8nCqxOeTRrToEKtwT++36gTSlBGx
A/5dut82jJQ2jxN8RI8L9QFXrWi4xXnA2EqA10yjHiR6H9cj6MFiOnb5In1eWsRM
UM2v3e9tNsCAgBukPHAg1lQh07rvFKm/Bz9BCjaxorALINUfZ9DD64j2igLIxle2
DPxW8dI/F2loHMjXZjqG8RkqZUdoxtID5+90FgsGIfkMpqgRS05f4zPbCEHqCXl1
eO5HyELTgcVlLXXQDgAWnRzut1hFJeczY1tjQQno6f6s+nMydLN26WuU4s3UYvOu
OsUxRlJu7TSRHqDC3lSE5XggVkzdaPkuKGQbGpny+01/47hfXXNB7HntWNZ6N2Vw
p7G6OfY+YQrZwIaQmhrIqJZuigsrbe3W+gdn5ykE9+Ky0VgVUsfxo52mwFYs1JKY
2PGDuWx8M6DlS6qQkvHaRUo0FMd8TsSlbF0/v965qGFKhSDeQoMpYnwcmQilRh/0
ayLThlHLN81gSkJjVrPI0Y8xCVPB4twb1PFUd2fPM3sA1tJ83sZ5v8vgFv2yofKR
PB0t6JzUA81mSqM3kxl5e+IZwhYAyO0OTg3/fs8HqGTNKd9BqoUwSRBzp06JMg5b
rUCGwbCUDI0mxadJ3Bz4WxR6fyNpBK2yAinWEsikxqEt
——END CERTIFICATE——
Открываем на редактирование файл:
И добавляем в него строку с указанием на созданный файл:
Источник
Установка корневых сертификатов удостоверяющего центра linux
Установка сертификатов используя КриптоПРО в Linux
Описание процесса установки приведено на примере дистрибутива семейства Debian (x64).
Названия файлов и директорий могут варьироваться от системы к системе.
При установке личных сертификатов не нужны права суперпользователя, и наоборот, при установке сертификатов УЦ (корневых и промежуточных) могут потребоваться такие права.
Подключите USB носитель с ключевыми контейнерами и проверьте результат команды:
Можно сразу установить личные сертификатов из всех доступных контейнеров одной командой:
/opt/cprocsp/bin/amd64/csptestf -absorb -certs
Произойдет установка сертификатов, находящихся во всех доступных в момент запуска команды контейнерах (съемных флэш-носителях, жесткого диска и т. д.) в хранилище uMy.
Пример установки отдельно взятого сертификата из контейнера
При необходимости скопируйте ключевой контейнер \\.\FLASH\.\sidorov на жесткий диск:
Наличие [ErrorCode: 0x00000000] в завершении каждой команды КриптоПРО говорит о ее успешном выполнении.
Проверьте наличие нового контейнера \\.\HDIMAGE\sidor :
Установите личный сертификат:
Установите закрытый ключ для личного сертификата:
Скачайте корневой сертификат по ссылке выше (из поля CA cert URL ): http://cert1.ucestp.ru/estp.crt и перенесите его, например, в домашнюю папку:
Установите корневой сертификат (возможно потребуются права суперпользователя):
Проверьте установку личного сертификата:
Показать список корневых сертификатов
Посмотреть данные одного сертификата:
Удалить сертификат из хранилища:
Посмотреть лицензию КриптоПРО (возможно потребуются права суперпользователя):
Установить лицензионный ключ КриптоПРО (возможно потребуются права суперпользователя):
Источник
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
пятница, 14 декабря 2018 г.
Установка сертификатов используя КриптоПРО в Linux
Для установки в uRoot админиских прав больше не нужно. Ради этого их с mRoot и разделили. Работает так: если ставить в uRoot — видно будет только текущему пользователю, даже если он root, но права не нужны и будет диалог с предупреждением. Если ставить в mRoot, то нужны права, видно будет всем и предупреждения не будет.
Установка корневого сертификата удостоверяющего центра:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/ .cer -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/guts_2012.cer -store uRoot
Просмотор корневых сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uRoot
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -delete -all -store uRoot
Установка списка отозванных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -crl -file
Установка цепочки промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/ .p7b -store uca
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file
/Загрузки/fk_2012.cer -store uca
Просмотор промежуточных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uca
Удалить:
$ /opt/cprocsp/bin/amd64/certmgr -delete -store uca
Установка сертификата с рутокена:
$ /opt/cprocsp/bin/amd64/certmgr -inst -cont ‘ ‘ -store uMy
Установка сертификата из контейнера:
$ /opt/cprocsp/bin/amd64/certmgr -inst -store uMy -cont ‘\\.\HDIMAGE\test’
Просмотор личных сертификатов:
$ /opt/cprocsp/bin/amd64/certmgr -list -store uMy
Просмотр контейнеров, рутокенов
$ /opt/cprocsp/bin/amd64/csptest -keyset -enum -verifycontext -fqcn
Экспорт в файл сертификата из хранилища
$ /opt/cprocsp/bin/amd64/certmgr -export -cert -dn «CN=» -dest ‘cert.crt’
$ /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
$ /opt/cprocsp/bin/amd64/cryptcp -verify -f cert.crt cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u
/cert.txt
$ /opt/cprocsp/bin/amd64/cryptcp -verify -u
/cert.txt | iconv -f cp1251
$ /opt/cprocsp/bin/amd64/cryptcp -verify -errchain -f
/cert.txt | iconv -f cp1251
Установка сертификатов zakupki.gov.ru
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Головного удостоверяющего центра.cer’ -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file ‘Сертификат Удостоверяющего центра Федерального казначейства.cer’ -store uRoot
$ /opt/cprocsp/bin/amd64/certmgr -inst -cert -file root2013.cer -store uRoot
$ CP_PRINT_CHAIN_DETAIL=1 /opt/cprocsp/bin/amd64/cryptcp -copycert -dn CN=’Фёдорова Галина Борисовна’ -df
Источник
Корневой сертификат удостоверяющего центра Active Directory на станции Linux
Задача — Корневой сертификат удостоверяющего центра AD-CA на Linux
Условие1. поднять PKI-AD, при этом корневой центр сертификации должен быть установлен на отдельной станции ROOT-CA.
Условие2. так как станция ROOT-CA используется крайне ограниченные время и только на выпуск CRT и CRL, то на 99% станция находится отключенном состоянии, бюджет на данную станцию равен нулю.
Размышления
Размышления крайне просты: для экономии бюджета PKI-AD будет установлена непосредственно на сервер Active Directory, а вот ROOT-CA требуется поднять на Linux.
Далее по тексту:
ROOT-CA – станция либо сертификат корневого центра.
PKI AD-CA – станция с ролью “Службы сертификатов Active Directory”
Решение
Подготовка ROOT-CA. (CentOS7)
Корневой сертификат ROOT-CA, будем выпускать на CentOS, там-же будем подписывать сертификат для PKI AD-CA.
Для решения данной задачи на машине с Linux необходимо установить пакет easy-rsa, который содержится в репетиторе epel-release
yum install epel-releas
yum install easy-rsa
Более подробно с документацией к easy-rsa можно ознакомится на GitHub/OpenVPN
После того как мы установили easy-rsa мы можем создать главный удостоверяющий центр сертификации.
(Все операции буду выполнять из под пользователя root)
Создадим в директории пользователя, каталог — в котором будем хранить наш PKI
Далее нужно скопировать последнюю версию easy-rsa в наш каталог ROOTca,
В моём случаи последняя версия 3.0.8. Её и будем копировать.
Копируем easy-rsa в каталог ROOTca
cp -R /usr/share/easy-rsa/3.0.8/*
теперь нам необходимо создать файл ответов vars, и отредактировать его
создаем и сразу редактируем
собираем файл vars, у меня получилось так:
Теперь все готово, можно начинать!
Внимание! Вовремя всех действий, вы должны находится в директории ROOTca
Инициализируем наш центр сертификации
Отлично, мы готовы выпустить наш ROOT-CA
Выпускаем
Система попросит придумать пароль для секретного ключа нашего ROOT-CA
(для наших задач, пароль должен быть не менее 4 символов)
Проверяем параметры выпускаемого сертификата, они берутся из vars, соглашаемся либо меняем на нужные.
. В какой-то момент система спросит название “Common Name”. Это название будет основным названиям нашего сертификата
Common Name (eg: your user, host, or server name) [Easy-RSA CA]: Указываем CompanyName Certificate 2021.
По окончанию мы получим корневой сертификат ROOT-ca нашего PKI
Он располагается пути /root/ROOTca/pki/ca.crt
Копируем корневой сертификат на станцию c PKI AD-CA
Сервер с PKI AD-CA (Windows Server)
Проверяем полученный файл на станции PKI AD-CA
Открываем ca.crt и проверяем содержимое
ca.crt
Все отлично! Переименуем ca.crt в ROOT-ca.crt, так как-то удобнее. Теперь нужно подготовить службу Центра сертификации Windows.
Устанавливаем роль “Службы сертификатов Active Directory”
в моем случае, устанавливаю “Службы сертификатов Active Directory” на отдельный ПК, все действия для PKI AD-CA идентичны
После установки переходим к настройке — Службы сертификатов Active Directory
Более детально с настройкой и установкой можно ознакомится на docs.microsoft.com
в момент настройки выбираем следующие опции:
Наш сервер будет- подчиненным ЦС
Нам нужно создать новый закрытый ключ
Шифрование — выбираем по вкусу
Указываем имя CA
Запрос сертификата — указываем через REQ файл
По окончанию настройки мы получаем следующее сообщение:
Хорошо, теперь у нас есть файл pki-ca_PKI-CA-CA.req
Копируем полученный файл на машину с Linux ROOT-ca в директорию /root/ROOTca/pki/
Все готово к выпуску сертификата для PKI AD-CA
Перед тем как выпустить сертификат нужно импортировать req файл в PKI
импортируем
./easyrsa import-req /root/ROOTca/pki/pki-ca_PKI-CA-CA.req CompanyName-AD
Где CompanyName-AD – название центра PKI AD-CA
Проверяем что получилось
./easyrsa show-req CompanyName-AD
Пора выпустить сертификат для CompanyName-AD
./easyrsa sign-req ca CompanyName-AD
Так как мы выпускаем сертификат для “Центра сертификации” указываем именно ca, если нужно выпустить на отдельный сервер указываем server.
мы получили наш сертификат для PKI AD-CA по пути /root/ROOTca/pki/issued/CompanyName-AD.crt
Копируем его на станцию с PKI AD-CA
Также нам нужны списки отзыва CRL, с генерируем и их
(Напоминаю что действия наших списков 92 дня см файл vars,в течении 92 дней нужно повторить операцию передачи CRL)
Копируем crl.pem также на станцию с AD-PKI
Сервер с PKI AD-CA (Windows Server)
Сейчас у нас есть все, что нам нужно.
Корневой сертификат: ROOT-ca.crt
Сертификат CA для нашего сервера: CompanyName-AD.crt
Списки отзыва: crl.pem
Импорт ROOT-ca
Нам нужно сделать ROOT-ca.crt стал валидным сертификатом в системе Windows, напоминаю, что сейчас он с крестом и нас, конечно, такой вариант не устраивает.
Запускам MMC-консоль и подключаем оснастку “Сертификаты” для учетной записи компьютера.
Переходим по пути: Сертификаты\Доверительные корневые центры\Сертификаты
Добавим наш сертификат ROOT-ca.crt в «Доверительные корневые центры»
Для этого правой кнопкой по папке “сертифкаты” -> импорт
Указываем путь к сертификату ROOT-ca.crt и импортируем его.
После импорта сертификат должен появиться в списке
Теперь, проверяем сам файл ROOT-ca.crt
Так-то куда лучше!
(Данный сертификат нужно также распространить через групповые политики, на все ПК в AD)
Импорт CRL.
Нам также нужно импортировать списки отзыва, для этого необходимо переименовать файл crl.pem в ROOTca.crl
(теперь можно изучить файл ROOTca.crl)
Импортируем его точно также как и сертификат в доверительные корневые центры ROOT-ca.crt
Активация PKI AD-CA
Теперь можно приступить к активации нашего CA PKI AD-CA
Запускаем средство «Центр сертификации»
Перед установкой сертификата в CA, лучше предварительно настроить публикацию CDP и AIA
Активируем CA
Правой кнопкой мыши по серверу PKI AD-CA > Все задачи > Установить сертификат ЦС
Далее, указываем файл CompanyName-AD.crt и подтверждаем.
Если мы все сделали правильно, установка сертификата в CA должна пройти без ошибок и предупреждений.
Если вы не можете импортировать CompanyName-AD.crt система просит P7B файл.
Необходимо выполнить слияние CompanyName-AD.crt с ROOT-ca.crt в OpenSSL следующей командой:
openssl crl2pkcs7 -nocrl –certfile ROOT-ca.crt -certfile CompanyName-AD.crt -out CompanyName-AD.p7b
Запуск PKI AD-CA
теперь мы можем запустить службу Центра сертификации
Правой кнопкой мыши по серверу PKI AD-CA > Все задачи > Запуск службы
Итог
мы получили рабочий PKI — Active Directory и можем начать выпуск сертификатов для пользователей, станций, серверов. При этом ROOT-ca находится на станции с Linux, и нам не пришлось отдавать под данную задачу отдельный сервер с Windows.
Источник