Когда сервер вырастает из игрового хостинга, многие переходят на VDS: это дешевле на большом онлайне и даёт полный контроль. Но вместе с контролем приходит ответственность. На хостинге за безопасность машины отвечал провайдер, а на VDS вы получаете чистый Linux с открытым доступом из интернета, и всё, что вы не настроите, останется открытым. Разберём минимальную настройку, которую стоит сделать в первый же час.
Вход по SSH-ключу вместо пароля
На только что созданный сервер обычно заходят по паролю под пользователем root. Через несколько минут после запуска на такой сервер уже начинают стучаться автоматические сканеры, перебирающие пароли. Поэтому первое, что стоит сделать, - перейти на вход по SSH-ключу.
SSH-ключ - это пара файлов: приватный ключ остаётся у вас на компьютере, публичный кладётся на сервер. Войти может только тот, у кого есть приватный ключ, а подобрать его перебором невозможно. После настройки ключа вход по паролю стоит отключить в настройках SSH. Обязательно проверьте, что вход по ключу работает, в отдельном окне, прежде чем закрывать текущее подключение, иначе можно запереть себя снаружи.
Отдельный пользователь для сервера
Запускать Minecraft от root - плохая идея. Если через плагин или ошибку в ядре кто-то получит возможность выполнять команды, он получит полный контроль над всей машиной. Создайте отдельного пользователя, например «minecraft», без лишних прав, и запускайте сервер от него. Тогда даже в худшем случае злоумышленник ограничен папкой сервера.
Для администрирования создайте своего пользователя с правом временно повышать привилегии через sudo, а прямой вход под root отключите.
Firewall: открыто только нужное
По умолчанию на сервере могут быть открыты порты служб, о которых вы даже не знаете. Firewall закрывает всё, кроме того, что вы явно разрешили. На Ubuntu для этого удобно использовать ufw: разрешаете SSH, порт Minecraft или прокси и, если нужно, порты сайта. Всё остальное закрыто.
Особенно важно не открывать наружу базу данных, RCON и порты внутренних серверов сети. База должна быть доступна только с этой же машины или из внутренней сети. Игровые серверы за прокси Velocity тоже не должны быть доступны напрямую - иначе на них можно зайти в обход авторизации.
Автозапуск через systemd
Многие запускают сервер в screen или tmux и забывают о нём. Это работает, но если машина перезагрузится, сервер сам не поднимется. Надёжнее сделать сервис systemd: это описание того, как запускать сервер, от какого пользователя и что делать при падении.
С сервисом systemd сервер автоматически стартует после перезагрузки машины, перезапускается при падении и управляется простыми командами запуска, остановки и просмотра статуса. Для доступа к консоли сервера можно оставить screen внутри сервиса или использовать RCON-клиент.
Обновления системы
Linux тоже нужно обновлять: в системных пакетах регулярно находят уязвимости. Возьмите за правило раз в неделю-две обновлять систему, а лучше включить автоматическую установку обновлений безопасности. Перезагружайте машину в спокойное время и предупреждайте игроков заранее.
Защита от перебора и подозрительной активности
Даже с ключами полезно поставить fail2ban - программу, которая блокирует адреса, слишком часто пытающиеся войти. Она защищает SSH и при необходимости другие службы. А чтобы замечать странное, время от времени смотрите, кто и когда заходил на сервер: в Linux это видно в журналах входов.
Бэкапы вне машины
На VDS никто не делает бэкапы за вас. Настройте автоматическое копирование миров и баз данных и обязательно отправляйте копии за пределы машины - на другой сервер или в облачное хранилище. Бэкап, который лежит на том же диске, пропадёт вместе с сервером, если диск откажет или машину взломают.
Пример
Владелец перенёс сервер с хостинга на VDS и оставил вход по паролю под root. Через три дня в логах было несколько тысяч попыток входа с разных адресов, а одна из них оказалась успешной - пароль был простым. На машине поселился майнер, и сервер начал лагать. После переустановки владелец настроил вход только по ключу, отдельного пользователя, ufw и fail2ban. Попытки входа продолжаются, но теперь они бессмысленны.
Привычки, которые стоит завести
Записывайте всё, что вы меняли на сервере: какие пакеты ставили, какие порты открывали, какие сервисы создавали. Простой текстовый файл или заметка в репозитории спасает, когда через полгода нужно повторить настройку на новой машине или понять, почему что-то работает именно так.
Не ставьте на игровую машину всё подряд. Сайт, панели, базы для других проектов и эксперименты лучше держать отдельно: каждая лишняя служба - это лишняя дверь для атакующего и лишняя нагрузка на процессор, который и так нужен Minecraft.
И регулярно проверяйте свободное место на диске и состояние бэкапов. Большинство аварий на VDS начинаются не со взлома, а с переполненного диска или бэкапа, который тихо перестал создаваться месяц назад.
Наш взгляд
VDS даёт свободу, но требует базовой гигиены с первого часа: вход по ключу, отдельный пользователь, закрытые порты, автозапуск через systemd, обновления и бэкапы вне машины. Это несколько часов работы один раз, которые избавляют от самых частых и самых неприятных проблем. Если вы не уверены в своих силах, лучше один раз заплатить опытному администратору за первичную настройку и попросить его записать, что он сделал, - это дешевле, чем восстанавливать взломанную машину.
На чём работает ваш сервер - игровой хостинг или свой VDS?



