Вики IT-KB

Пошаговые руководства, шпаргалки, полезные ссылки...

Инструменты пользователя

Инструменты сайта


unix-linux:openssl:how-to-add-domain-certification-authority-root-certificates-for-openssl-in-linux

Это старая версия документа!


Добавление в Linux корневых сертификатов локального корпоративного Центра сертификации

Некоторые службы и приложения в Linux могут использовать в своей работе сетевые соединения, защищаемые с помощью SSL/TLS. Иногда требуется, чтобы цифровой сертификат, используемый для защиты соединений и предоставляемый каким-то удалённым сервером из локальной сети, принимался локальной Linux-системой как доверенный. Для этого в Linux-систему может потребоваться добавить корневой сертификат Центра сертификации (ЦС), которым были выданы сертификаты, используемые для защиты соединений. Типичный пример, когда локальная Linux-система для механизмов аутентификации и авторизации подключается с помощью ldap-клиента (например OpenLDAP) к контроллеру домена Active Directory (AD) и контроллер домена предоставляет ldap-клиенту для защиты соединения сертификат, выданным локальным корпоративным ЦС.

Здесь мы рассмотрим простой пример того, как в Linux-систему добавить корневые сертификаты локального корпоративного ЦС.

О том, как «выуживать» корневые сертификаты ЦС, которыми подписаны сертификаты контроллеров домена AD, я приводил пример ранее. Если под руками есть доменная Windows-машина, то можно выгрузить корневой сертификат из оснастки управления сертификатами из раздела корневых сертификатов доверенных ЦС. Если корневой сертификат не один, а несколько (цепочка), то каждый корневой сертификат цепочки выгрузим в файл в кодировке Base-64, сразу присвоив им расширение PEM вместо CER

image

В итоге в нашем примере получится пара файлов AD-RootCA.pem и AD-SubCA.pem. Скопируем полученные pem-файлы на наш сервер Icinga, например с помощью утилиты pscp, во временный каталог.

С:\Tools\PuTTy>pscp.exe С:\Temp\AD-*.pem user@KOM-AD01-MON20:/tmp

AD-RootCA.pem | 1 kB | 1.3 kB/s | ETA: 00:00:00 | 100% AD-SubCA.pem | 1 kB | 1.9 kB/s | ETA: 00:00:00 | 100%Вернёмся в консоль сервера Icinga и переместим файлы коневых сертификатов из временного каталога в каталог, который мы создадим специально для хранения наших корневых сертификатов и подправим на эти сертификаты права (если требуется)

# mkdir /etc/ssl/certs-corp-ca # mv /tmp/AD-*.pem /etc/ssl/certs-corp-ca # chown root:root /etc/ssl/certs-corp-ca/AD-*.pem # ls -la /etc/ssl/certs-corp-ca

… -rw-r–r– 1 root root 1344 Mar 6 19:35 AD-RootCA.pem -rw-r–r– 1 root root 1922 Mar 6 19:35 AD-SubCA.pemТеперь обработаем содержимое каталога с нашими сертификатами утилитой OpenSSL c_rehash:

# c_rehash /etc/ssl/certs-corp-ca

Doing /etc/ssl/certs-corp-ca AD-RootCA.pem ⇒ 36865f67.0 AD-RootCA.pem ⇒ bb8428b0.0 AD-SubCA.pem ⇒ e740e31e.0 AD-SubCA.pem ⇒ 536fc63e.0В результате выполнения этой команды в этом же каталоге будут созданы специальные хитрые хеш-ссылки на файлы сертификатов.

# ls -la /etc/ssl/certs-corp-ca … lrwxrwxrwx 1 root root 13 Mar 6 20:06 36865f67.0 → AD-RootCA.pem lrwxrwxrwx 1 root root 12 Mar 6 20:06 536fc63e.0 → AD-SubCA.pem -rw-r–r– 1 root root 1344 Mar 6 19:59 AD-RootCA.pem -rw-r–r– 1 root root 1922 Mar 6 19:59 AD-SubCA.pem lrwxrwxrwx 1 root root 13 Mar 6 20:06 bb8428b0.0 → AD-RootCA.pem lrwxrwxrwx 1 root root 12 Mar 6 20:06 e740e31e.0 → AD-SubCA.pemПомните про то, что если в дальнейшем в данный каталог потребуется снова добавить дополнительный сертификат, то команду c_rehash нужно будет выполнить для каталога заново, чтобы сгенерировались хеш-ссылки для добавленных сертификатов. И напротив, если из каталога будут удаляться какие-то сертификаты, то нужно будет выполнить команду, которая вычистит все хеш-ссылки на уже несуществующие файлы сертификатов:

# find -L /etc/ssl/certs-corp-ca -type l -exec rm {} +Итак, каталог с сертификатами подготовлен, теперь пропишем этот каталог в конфигурационном файле ldap.conf (/etc/ldap/ldap.conf) в дополнительной опции TLS_CACERTDIR, таким образом, чтобы эта опция шла после имеющейся по умолчанию опции TLS_CACERT (подробнее об этих опциях можно найти в man ldap.conf):

… # TLS certificates (needed for GnuTLS) TLS_CACERT /etc/ssl/certs/ca-certificates.crt

# Corp CA root certificates storage TLS_CACERTDIR /etc/ssl/certs-corp-ca


Автор первичной редакции:
Алексей Максимов
Время публикации: 25.03.2017 17:36

Обсуждение

АлександрАлександр, 17.04.2018 15:18
Доброго дня.



Пытаюсь проделать такие же операции на CentOS, но нет такой команды "c_rehash":

-bash: c_rehash: command not found



Как быть?
Ваш комментарий:
 
unix-linux/openssl/how-to-add-domain-certification-authority-root-certificates-for-openssl-in-linux.1490452830.txt.gz · Последнее изменение: 25.03.2017 17:40 — Алексей Максимов

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki