Чек-лист: Купил VPS — что дальше?
Опубликовано 22.09.2025
Чек-лист: Купил VPS — что дальше?
Получение нового VPS — это только начало. По умолчанию сервер небезопасен и не готов к использованию в продакшне. Этот чек-лист поможет вам шаг за шагом подготовить VPS: закрыть дыры в безопасности, включить обновления и настроить базовую инфраструктуру.
1. Первое подключение и смена root-пароля
Подключаемся к серверу по SSH:
ssh root@ВАШ_IP_АДРЕС
Меняем временный пароль на свой уникальный и сложный:
passwd
2. Создаём нового пользователя с sudo
Работать под root
постоянно опасно. Создадим обычного пользователя:
adduser имя_пользователя
usermod -aG sudo имя_пользователя
3. Настройка SSH-ключей
Пароли можно подобрать, ключи — почти невозможно. Генерируем ключи на локальной машине:
ssh-keygen -t ed25519
Копируем публичный ключ на сервер:
ssh-copy-id имя_пользователя@ВАШ_IP_АДРЕС
Проверяем вход. Затем выставляем правильные права:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
4. «Закалка» SSH: отключаем лишнее
Открываем конфиг:
sudo nano /etc/ssh/sshd_config
Меняем или добавляем строки:
PermitRootLogin no
PasswordAuthentication no
Port 2222
⚠️ Не забудьте разрешить новый порт в файрволе, иначе потеряете доступ. Перезапускаем SSH:
sudo systemctl restart ssh
5. Обновляем систему
Для Debian/Ubuntu:
sudo apt update && sudo apt upgrade -y
sudo apt autoremove -y
Для CentOS/RHEL:
sudo dnf update -y
Рекомендуется включить автообновления безопасности:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure unattended-upgrades
6. Базовый файрвол
UFW позволяет закрыть всё лишнее:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 2222/tcp
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
7. Fail2Ban против брутфорса
Устанавливаем и включаем:
sudo apt install fail2ban -y
sudo systemctl enable --now fail2ban
Делаем копию конфига:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
В jail.local
можно настроить bantime
и maxretry
.
8. Таймзона и NTP
Правильное время = корректные логи и cron.
timedatectl list-timezones
sudo timedatectl set-timezone Europe/Moscow
timedatectl status
9. Чистим систему от лишнего
Проверяем, какие порты слушает сервер:
ss -tuln
Смотрим включённые службы:
sudo systemctl list-unit-files --state=enabled
Удаляем всё, что не используется.
10. Резервное копирование
Бэкапы важнее любых настроек. Минимальный вариант:
rsync -a /важные/данные user@backup:/backups/имя-сервера/
Более надёжные инструменты: BorgBackup, Restic, Duplicity. Лучшее решение — хранить бэкапы на другом сервере или в облаке. Периодически проверяйте, что восстановление реально работает.
Итог
Теперь ваш VPS защищён от банальных атак, работает с актуальными пакетами и готов к установке приложений. Дальше — настройка мониторинга, контейнеризации (Docker, Podman) и CI/CD, но базовый фундамент уже есть.