Зачем поддержке ключ авторизации по SSH на вашем VDS

На каждый клиентский сервер мы добавляем ключ авторизации SSH для техподдержки.

Выглядит он так:

Размещается в файле /root/authorized_keys с подписью support access key.

Настораживает ключ авторизации? Вам не о чем беспокоиться, потому что:

  1. Поддержка использует ключ с целью решить проблему на сервере.
  2. Возможности поддержки ограничены:
  • нет доступа к закрытой части ключа, он не может быть утерян или скомпрометирован;
  • любой доступ логируется через закрытый сервер авторизации, недоступный из внешних сетей.

 

Цели поддержки

Чтобы что-то сделать при поломке на VDS-сервере, нужен доступ. Если пароль забыт/утерян/есть только у программиста, а он недоступен - спасает ключ авторизации SSH.

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

 

Когда у поддержки нет SSH-доступа к серверу, происходит примерно такой диалог:

Клиент: Ребят, у меня сайты не работают, что случилось??

Поддержка: Предоставьте, пожалуйста, root-доступ к серверу.

Клиент: Но я его не знаю. Программист настраивал, не могу с ним связаться. Попробуйте вот эти – пароль1, пароль2, пароль3.

Поддержка: К сожалению, указанные доступы не подошли.

Клиент: Что делать? Прошу, восстановите работу сервера...

Поддержка: Сбросили пароль на указанный в инструкции, диагностика показала, что на сервере закончилось место из-за логов сайтов. Почистили их, настроили ротацию. Сайты доступны.

Подобный диалог занимает около 30 минут – в 3 раза больше. Все это время сайты недоступны пользователям, и вы теряете главное: клиентов и деньги.

 

Возможности поддержки

Разберёмся в механизме подключения по SSH. Чтобы получить доступ к удалённой машине нужны:

  • публичный (известный всем) ключ на вашем VDS – тот самый, что мы добавляем по умолчанию;
  • приватный (секретный) ключ на нашем сервере.

В процессе авторизации сначала проверяется публичный ключ – сравнивается с отпечатком на удалённой машине. Затем сообщение с вашего сервера расшифровывается приватным ключом. Подлинность ключей подтверждена, и специалист поддержки подключается к VDS.

Получается, доступ к приватному ключу даёт поддержке безграничные возможности. Обиженный/уволенный сотрудник может сотворить с клиентскими VDS такое, страшно представить. Но! У нашей техподдержки нет доступа к приватному ключу.

 

Подключение к серверу происходит по такой схеме:

Ключ сотрудника поддержки

У каждого из 16 специалистов свой ключ от сервера авторизации. Все они подписывают документ о неразглашении ключа. При расчёте сотрудника ключ удаляется, при приёме на работу создаётся новый.

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

Доступ к серверу авторизации ограничен офисом. Сотрудник не может подключиться к нему (а затем и VDS клиента) из дома и безнаказанно творить, что захочет.

Сервер авторизации

Это отдельный сервер для проверки подлинности пользователей. Здесь хранится приватный мастер-ключ – единый для всех клиентских VDS.

У сотрудников поддержки нет прямого доступа к серверу авторизации. Они используют ограниченную учётную запись: могут только удалить строку из файла known_hosts и подключиться к VDS клиента через SSH.

Сервер клиента

Сотрудник логинится на VDS клиента, используя специальную команду.

Ведётся учёт, кто-куда подключался и как долго пробыл на VDS. У каждого сотрудника свой ключ от сервера авторизации – несложно вычислить виновника проблемы.

 

В чём польза SSH-ключа?

ускоряет решение срочных проблем с сервером

сохраняет вашу репутацию, клиентов и доход, которые теряются, когда сайт недоступен.