Безопасность5 мин чтения

Защитите доступ SSH к вашему VPS и сохраните путь восстановления

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

Практический вывод

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

Начните с инвентаризации доступа и маршрута восстановления

Перед редактированием SSH перечислите все легитимные способы входа на сервер: учётные записи администраторов, задачи развёртывания, клиенты резервного копирования, агенты мониторинга и любых сторонних сопровождающих. Зафиксируйте, какая учётная запись используется в каждом случае и требуется ли ей оболочка, передача файлов или ограниченное автоматизированное действие. Забытый ключ развёртывания может оставаться полезным для кого-то ещё долго после того, как человек покинул проект.

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

Держите текущую рабочую сессию SSH открытой, пока вносите запланированное изменение. Используйте другой терминал для проверки новых подключений. То, что существующая сессия продолжает работать, мало что доказывает о способности нового подключения пройти аутентификацию, поэтому закрытие первого терминала — это завершающий шаг, а не сама проверка.

Проверьте хост, затем создайте индивидуальные учётные записи

Ключ хоста сервера идентифицирует машину; ваш пользовательский ключ аутентифицирует вас на ней. Сравните отпечаток ключа хоста со значением, полученным по независимо доверенному каналу, прежде чем принять первое подключение. Если ранее известный отпечаток изменился, выясните, объясняется ли это пересозданием сервера или плановой ротацией ключей. Удаление сохранённого отпечатка только ради снятия предупреждения пропускает эту проверку подлинности.

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

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

Меняйте аутентификацию в проверяемой последовательности

УправлениеРешение, которое нужно принятьПодтверждение до ужесточения
Аутентификация по открытому ключуКакие именованные учётные записи и ключи принимаются?Новый вход по ключу для каждого необходимого администратора
Аутентификация по паролюТребуется ли она ещё каким-либо утверждённым рабочим процессом?Замещающий доступ и восстановление проверены оба
Аутентификация keyboard-interactiveЗависит ли от неё политика MFA или PAM?Полная предполагаемая последовательность аутентификации проходит успешно
Прямой доступ rootМожет ли повседневное администрирование использовать именованные учётные записи?Необходимый путь повышения прав работает из новой сессии

Рассматривайте PasswordAuthentication и KbdInteractiveAuthentication как отдельные решения. Отключение только аутентификации по паролю не описывает все интерактивные пути аутентификации, а безразличное отключение доступа keyboard-interactive может нарушить предполагаемую настройку MFA. Изучите действующую политику для установленной у вас версии OpenSSH и проверьте весь процесс входа, включая любой второй фактор.

Конфигурация OpenSSH может включать дополнительные файлы и условные секции Match. Строка, добавленная в конец, не обязательно переопределяет ранее применённое значение. Проверяйте синтаксис перед применением изменения; в документированном рабочем процессе Ubuntu эту проверку выполняет sudo sshd -t. Изучите действующую конфигурацию для соответствующего контекста подключения и следуйте инструкциям операционной системы по управлению службами. Проверка синтаксиса не доказывает сетевую доступность или успешную аутентификацию.

Ограничивайте поверхность атаки, не путая сокрытие с защитой

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

Смена порта SSH может снизить фоновый шум сканирования, но не заменяет надёжную аутентификацию и своевременные обновления. Избегайте ненужного проброса портов и агента в повседневных сессиях. Задание развёртывания, которое только передаёт файлы, не должно автоматически наследовать те же права, что и администратор-человек. Ограничьте каждую учётную запись автоматизации задачей, которую её владелец может объяснить.

Поддерживайте OpenSSH и операционную систему в актуальном состоянии через их поддерживаемый процесс обновления. Анализируйте неудачные попытки аутентификации вместе с успешными входами, исходными сетями и плановым обслуживанием. Большое число неудачных публичных попыток — повод оценить поверхность атаки; это не доказательство того, что к конкретной учётной записи был успешный доступ.

Завершите повторяемым аудитом доступа

  • Новая сессия проверяет ожидаемый отпечаток хоста и аутентифицируется с предполагаемой учётной записью.
  • Каждый администратор может выполнять одобренную работу с помощью требуемого метода повышения прав.
  • Задания развёртывания и резервного копирования по-прежнему выполняются со своими ограниченными учётными записями.
  • Прежний метод доступа удаляется только после успешной замены и проверок восстановления.
  • У уходящего сотрудника оперативно проверяются доступ к учётной записи и индивидуальные ключи.

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

Источники и дополнительное чтение