Суть в том, что у хостера можно быстро развернуть настроенную систему из его шаблона. В целом, это обычная практика. Система сразу получает сетевые настройки, интеграцию с панелью управления, например, для подключения, отключения купленных дополнительно дисков, внешних IP адресов и т.д.
Я использовал шаблон для быстрой установки Proxmox VE. Как оказалось, в этом шаблоне был жёстко зашит кластерный SSH-ключ. А он должен генерироваться уникальный во время установки. Этот ключ использует сам Proxmox для межкластерного взаимодействия. И этот ключ по умолчанию прописан в
~/authorized_keys (😱) даже если вы не настраиваете кластер. И этот ключ одинаковый у всех, кто успел сделать установку из этой версии шаблона 🤦 Это фиаско, братан.Для тех, кто не понимает, что это значит, сразу поясню. Используя этот ключ, можно подключаться к серверу по SSH под правами root.
Хорошо, что я всегда по умолчанию закрываю на файрволе доступ по SSH белыми списками IP адресов. И вам того же советую. Такую подставу я вижу первый раз. Тут, я так понимаю, злую шутку сыграла особенность именно Proxmox. Мало где ещё по умолчанию создаются ключи и добавляются в authorized_keys. Обычно это надо самому делать. Но не в Proxmox.
Подобные вещи некоторые хостеры делают специально, чтобы их сотрудники технической поддержки могли подключаться к серверам клиентов. И это тоже очень плохая практика. По умолчанию так делать нельзя.
Какие из этого можно сделать выводы?
1️⃣ Доступ по SSH надо закрывать, даже если используете аутентификацию по ключам.
2️⃣ Если есть возможность, систему лучше установить из своего образа.
3️⃣ Если установили из образа хостера, то хотя бы бегло проверьте, что там установлено и запущено. И обязательно проверьте ключи в ~/authorized_keys.
4️⃣ Я лично ещё и аутентификацию по паролю включаю. Пароль, разумеется, сложный.
#хостинг
