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

Коробка перехода SSH с закрытыми ключами на коробке перехода

Я в основном хочу делать то, что описано в этот вопрос serverfault, поэтому я хочу, чтобы группа людей («администраторы») могла входить на многие скрытые серверы с ssh используя jumpbox, в котором хранятся закрытые ключи для скрытых серверов.

По мере обновления authorized_keys на скрытых серверах довольно дорого, я хочу только контролировать доступ к ним, изменяя переход, то есть добавлять или удалять «администраторов», изменяя authorized_keys файл на Jumpbox.

Чего я особенно не хочу, так это утечки секретных ключей, хранящихся в jumpbox, администраторам, поэтому подход ssh-agent + ProxyCommand, упомянутый в ответах на связанный вопрос, не будет работать, потому что агент отправит закрытые ключи из jumpbox в "админы", если я правильно понимаю.

Напротив, просто выполняя

ssh -tt jumpbox ssh hidden_server_1

имеет тот недостаток, что "админы" не могут использовать scp и перенаправление портов легко.

NB: Доступ оболочки к Jumpbox должен быть отключен для «администраторов» с помощью специального сценария в качестве оболочки входа в систему, которая позволяет только необходимые команды.

Есть ли безопасный и удобный способ сохранить комфорт scp и переадресация портов без ослабления ограничений безопасности?

Спасибо большое за помощь!

Невозможно «использовать» закрытый ключ, не имея возможности прочитать - и, следовательно, скопировать - этот закрытый ключ. Таким образом, идея о том, что ваши администраторы могут войти в Jumpbox, а затем использовать закрытый ключ, к которому они не могут получить прямой доступ, не сработает.

Но вы можете сделать так, чтобы закрытые ключи могли только использоваться из джампбокса (см. man sshd, from= в ФОРМАТЕ ФАЙЛА AUTHORIZED_KEYS). Затем, запрещая данному администратору доступ к Jumpbox, у него или у нее остаются ключи, которые больше не используются.

Удовлетворяет ли это вашим ограничениям безопасности?

Обратите внимание, что вы пишете так, как если бы все удаленные администраторы имели доступ к общей учетной записи на Jumpbox. Если бы это была моя система, я бы этого не сделал; Я бы хотел, чтобы у каждого удаленного администратора была отдельная учетная запись на Jumpbox, и все такие учетные записи имели доступ к соответствующей связанной паре новых ключей или ее копии. Это значительно упрощает и повышает надежность отмены доступа отдельного администратора к Jumpbox.