Назад | Перейти на главную страницу

Каков наилучший подход к управлению ключами RSA в Ubuntu?

У нас 2 десятка серверов, и мы переходим на аутентификацию RSA. Конечно, некоторые разработчики, ИТ, некоторые исполнители и т. Д. Все отправляют свои ключи, кто знает, где они их хранят, кто знает, устанавливают ли они парольные фразы и т. Д. Затем на сервере мы не знаем, какие пользователи какие ключи есть, и, наконец, когда кто-то теряет свой ключ, нам нужно заменить их вручную и т. д. и т. д.

Я уверен, что есть способ получше.

Кроме коммерческого продукта, я не нашел простого решения для управления ключами.

Каковы рекомендуемые способы сделать это?

Мы управляем всеми нашими ключами с помощью Puppet. Каждый ключ имеет комментарий, идентифицирующий сотрудника по имени, и когда кто-то теряет свое, или он уходит, или что-то еще, мы просто обновляем манифест, а Puppet позаботится об удалении старого и добавлении нового.

Я вас понимаю очень хорошо. Когда я реализовал аутентификацию RSA для доступа к нашим серверам только для разработчиков, у меня были действительно неприятные дни. На самом деле большинство обычных пользователей до сих пор ненавидят меня за «очень загадочные пароли». Я не могу сделать это сразу, но, возможно, некоторые регулярные заметки по безопасности дадут определенные результаты, и пользователи поймут, зачем это нужно.

На компьютерах пользователей много сделать нельзя. Фактически, если у вас есть права администратора на офисных компьютерах, вы сможете выполнить некоторые проверки путей ключей SSH по умолчанию, проверить запуск ssh-агентов, ключевые пароли, прочитать .ssh/config для сбора дополнительной информации. Но если ключ хранится где-то еще, вы мало что сможете сделать.

Где-то говорили, что в этой ситуации нужно доверять, но проверять. В основном это означает, что вы можете просто иногда проверять, как пользователь обращается к серверу, и проконсультироваться с ним, почему необходимо использовать пароль для защиты закрытого ключа и т. Д.

Что касается серверной части, я храню открытые ключи всех пользователей в базе данных LDAP и использую исправленный SSH-сервер для получения открытых ключей из LDAP. Патч называется LPK, и его не нужно настраивать вместе с аутентификацией / авторизацией LDAP PAM. Это домашняя страница http://code.google.com/p/openssh-lpk/. Я просто перестраиваю пакет debian с этим патчем (иногда немного модифицируя его, чтобы он лучше подходил) и сохраняю его в локальном репозитории нашей компании, который имеет высокий приоритет. LDAP доступен для хранения ключей нескольких пользователей, и если какой-то ключ будет скомпрометирован или утерян, я просто удаляю его публичную часть с сервера LDAP.