⟵ Все статьи
Читать на:

Первые 15 минут на новом VPS: настройка и защита сервера

Первые 15 минут на новом VPS: настройка и защита сервера

Новый сервер в интернете начинают перебирать по паролю в течение нескольких минут после появления. Это не преувеличение: боты сканируют адресные диапазоны круглосуточно, и 22-й порт с логином root — самая частая цель. Нижеследующее занимает четверть часа и закрывает почти весь массовый риск.

Команды приведены для Ubuntu и Debian. Выполнять их нужно по порядку, не закрывая текущую SSH-сессию — это важно, объясню ниже.

Если сервера ещё нет

Разворачивание занимает около минуты. В панели NodexGo нажмите «Создать сервер», выберите локацию — рядом с каждой показан ваш реальный пинг до неё, — затем тариф и образ системы, задайте имя и подтвердите заказ. На последнем шаге можно оплатить сразу за 1, 3, 6 или 12 месяцев.

IP-адрес и пароль root придут в панель и на почту. Дальше — команды ниже.

Ubuntu 24.04, NVMe и root-доступ — сервер готов через минуту после оплаты.

Создать сервер

1. Обновить систему

apt update && apt upgrade -y

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

2. Создать пользователя вместо root

Работать под root постоянно — плохая привычка: любая опечатка выполняется без вопросов и с полными правами.

adduser deploy
usermod -aG sudo deploy

Вместо deploy подставьте любое имя. Пароль задайте длинный — он понадобится для sudo.

3. Настроить вход по ключу

На своём компьютере, если ключа ещё нет:

ssh-keygen -t ed25519

Скопировать его на сервер:

ssh-copy-id deploy@ваш-ip

Теперь откройте ВТОРОЕ окно терминала и проверьте, что вход по ключу работает. Первую сессию не закрывайте — если что-то настроено неверно, она останется единственным способом попасть на сервер.

ssh deploy@ваш-ip

Даже если вы всё же заперли себя снаружи — это не смертельно: в панели NodexGo у каждого сервера есть web-консоль VNC, которая работает в обход SSH и сети. Через неё можно войти и починить конфигурацию.

4. Запретить вход по паролю и под root

Только после того, как вход по ключу проверен. Откройте /etc/ssh/sshd_config и приведите три строки к такому виду:

PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

Перезапустите службу:

systemctl restart ssh

С этого момента перебор паролей бесполезен: пароля просто нет. Это самая эффективная мера из всего списка.

5. Включить файрвол

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

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

6. Поставить fail2ban

apt install fail2ban -y

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

7. Добавить swap, если памяти немного

На сервере с 1–2 ГБ памяти swap спасает от внезапной смерти процессов при всплеске нагрузки.

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

Чтобы swap подключался после перезагрузки, добавьте строку в /etc/fstab:

/swapfile none swap sw 0 0

8. Мелочи, о которых потом жалеют

Часовой пояс — иначе все логи будут в UTC, и разбор инцидента превратится в арифметику:

timedatectl set-timezone Europe/Moscow

Автоматические обновления безопасности. Для сервера, за которым никто не следит ежедневно, это разумный компромисс:

apt install unattended-upgrades -y

Имя сервера — когда серверов станет больше одного, вы скажете себе спасибо:

hostnamectl set-hostname web-1

Чего делать не нужно

Не меняйте порт SSH с 22 на нестандартный в надежде на безопасность. Это убирает шум в логах, но не защищает: сканер находит открытый порт за секунды. Отключённый пароль защищает, смена порта — нет.

Не устанавливайте панель управления «на всякий случай». Каждая панель — это ещё один веб-интерфейс с правами root, который нужно обновлять. Ставьте, если она вам действительно нужна.

Что дальше

После этих шагов сервер готов к работе: можно ставить веб-сервер, разворачивать приложение или поднимать Docker. Отдельно стоит сразу настроить резервное копирование — на VPS за него отвечаете вы, и это единственное, что спасает после серьёзной ошибки.

Если что-то пошло не так и сервер недоступен по SSH, в его карточке в панели есть кнопки «Перезагрузить», «Сменить пароль root», «Переустановить ОС» и веб-консоль. Переустановка возвращает чистую систему за пару минут — на этапе экспериментов это нормальный рабочий инструмент.

Тарифы от 1 vCPU / 2 ГБ до 16 vCPU / 32 ГБ, три локации в Европе, оплата за 30 дней.

Посмотреть тарифы

Мы используем файлы cookie: необходимые — для входа в аккаунт и языка интерфейса, аналитические — чтобы понимать, какими страницами пользуются. Сторонних рекламных систем у нас нет. Подробнее