Ubuntu 16.04. Отзыв сертификата хоста ssh

Этот вопрос касается конфигурации SSH на стороне клиентского хоста когда известно, что сертификат HOST сервера скомпрометирован.

Вкратце: Как отозвать сертификаты SSH HOST, какие файлы должны быть обновляется на узлах стороны КЛИЕНТА, чтобы сертификат предлагал отвечающим сервером во время попытки подключения ssh признан отозванным сертификатом?

Полная версия: Сертификаты КЛИЕНТА:

Каждый пользователь генерирует пару ключей, отправляет открытый ключ КЛИЕНТУ ЦС, который генерирует сертификат клиента и возвращает его пользователю. Пользователь помещает сертификат (заканчивающийся на -cert.pub) рядом со своим закрытый ключ, и он загружается ssh-add, когда он добавляет закрытый ключ и предоставляет парольную фразу.

Открытый ключ ЦС КЛИЕНТА указан в файле доверенных ЦС хостов сервера. а демон sshd авторизует подключение пользователя, потому что CA появляется в этом файле. Он также проверяет другие условия, указанные в сертификате, такие как не истек срок действия и учетная запись в принципалах пользователей. Сервер также проверяет, был ли отозван сертификат в отношении файл отозванного пользователя. Поэтому, когда закрытый ключ и сертификат пользователя были скомпрометированы, как только ЦС получает уведомление, он отзывает сертификат и распространяет их на серверные файлы отозванных пользователей.

Следовательно, скомпрометированный ключ и сертификат больше не представляют угрозы когда файлы отозванных пользователей были обновлены.

Сертификаты HOST:

Каждый хост-узел имеет сертификат хоста, подписанный HOST CA. У каждого клиентского узла есть файл глобальных известных хостов, обычно / etc / ssh_known_hosts, который был обновлен, чтобы содержать запись для данного CA HOST. Но, похоже, нигде нет отозванного файла hosts.

Когда пользователь на клиентском узле пытается использовать ssh на сервере хост, ssh (на клиентском хосте) принимает сертификат хоста предлагается хостом сервера, потому что открытый ключ подписывающий орган, подписавший этот сертификат, находится в ssh_known_hosts файл.
Но где и когда этот сертификат хоста проверено против отзыва? Файл отозванных пользователей на хостах применяется к клиентским сертификатам в отношении ВХОДЯЩИХ соединений. Сертификаты HOST должны быть проверены SSH на ИСХОДЯЩИХ соединениях. для хостов серверов предлагаемый сертификат необходимо проверить на предмет отзыв по SSH на стороне клиента. Если этого не было сделано, ТОЛЬКО способ восстановления с взломанного ключа хоста и сертификата будет чтобы сам CA стал ненадежным и был удален из / etc / ssh_known_hosts в клиентской хост-системе. Т это означало бы, что все хосты с сертификатами, подписанными одним и тем же CA, также будут отображаться как неизвестные хосты.

Итак, что и куда мы помещаем отозванную информацию HOST на стороне хоста клиента так что ssh распознает сертификаты хоста как отозванные и идентифицирует ХОЗЯИН считается ненадежным?

Заранее спасибо

0
задан 19 July 2017 в 05:36
1 ответ

openssh указывает параметр конфигурации для этого.

Добавьте следующую строку в / etc / ssh / ssh_config :

RevokedHostKeys / etc / ssh / revoked_host_keys

Этот файл должен существовать и быть доступным для чтения в противном случае все ключи хоста будут отклонены. Файл может содержать открытый ключ на строку для каждого отозванного ключа хоста. Или это может быть файл KRL, более компактный.

ssh-keygen может создать файл KRL из такого текстового файла.

См. Man ssh-keygen и man ssh_config для получения дополнительной информации.

Blush .. Я отвечаю на свой вопрос. Извините, что беспокою всех, я везде искал ответ на свой вопрос, но нашел свой ответ только после публикации вопроса.

1
ответ дан 4 December 2019 в 16:12

Теги

Похожие вопросы