Первоначальная настройка VPS после покупки: полное руководство по безопасности, пользователям, SSH, портам и базовой защите сервера
Первоначальная настройка VPS после покупки: полная инструкция по безопасности, SSH, пользователям и портам

Покупка VPS — это только начало. После получения доступа к серверу многие сразу ставят сайт, Docker, базу данных, Telegram-бота или панель управления, но пропускают самый важный этап — первоначальную настройку VPS. Именно в этот момент закладывается фундамент безопасности, стабильности и удобства дальнейшего администрирования.
Если оставить сервер в стандартном состоянии, можно быстро столкнуться с попытками перебора SSH, открытыми лишними портами, небезопасным входом под root и риском взлома. Поэтому правильная настройка VPS после покупки должна выполняться сразу, еще до установки рабочих сервисов.
Для размещения сайта, веб-приложения, CRM, VPN, панели управления, бота или другого проекта можно выбрать сервер здесь:
Купить VPS/VDS хостинг
В этом руководстве подробно разберем:
- что делать сразу после покупки VPS;
- как создать отдельного пользователя;
- как защитить SSH-доступ;
- как отключить вход под root;
- какие порты открыть на VPS;
- как настроить firewall;
- как включить Fail2Ban;
- как выполнить базовую защиту Linux-сервера;
- какие ошибки чаще всего допускают при настройке VPS.
Эта статья подойдет тем, кто хочет понять, как настроить VPS сервер с нуля, сделать его безопаснее и подготовить к размещению проектов в интернете.
Почему первоначальная настройка VPS обязательна
Когда вы покупаете VPS, провайдер обычно выдает готовый сервер с установленной операционной системой, IP-адресом и данными для подключения. Чаще всего это:
- root-доступ;
- пароль или SSH-ключ;
- чистая Ubuntu, Debian или другая Linux-система;
- открытый SSH-порт.
Формально этого уже достаточно для входа, но недостаточно для безопасной работы. Новый сервер почти сразу начинает сканироваться ботами, которые ищут открытые порты, стандартные SSH-настройки и слабые места.
Если не выполнить базовую настройку, возможны проблемы:
- попытки брутфорса по SSH;
- компрометация root-доступа;
- публикация сервисов, которые должны быть внутренними;
- отсутствие базовой защиты на уровне firewall;
- утечки из-за открытых портов базы данных;
- неактуальные пакеты и известные уязвимости.
Именно поэтому первичная настройка VPS — это не дополнительная опция, а обязательный шаг.
Что нужно сделать сразу после покупки VPS
Правильная последовательность выглядит так:
- Подключиться к серверу.
- Обновить систему.
- Создать отдельного пользователя.
- Выдать ему права sudo.
- Настроить SSH-ключи.
- Запретить вход под root.
- Отключить вход по паролю.
- Настроить firewall.
- Открыть только нужные порты.
- Установить Fail2Ban.
- Проверить сетевые сервисы.
- Настроить время, автообновления и базовую системную гигиену.
Если вы все это сделаете, ваш VPS будет в разы безопаснее типового только что купленного сервера.
Подключение к VPS по SSH
Первый вход обычно выполняется под root:
ssh root@YOUR_SERVER_IP
Если используется другой порт:
ssh -p 22 root@YOUR_SERVER_IP
Если провайдер выдал доступ по ключу:
ssh -i ~/.ssh/id_ed25519 root@YOUR_SERVER_IP
После входа полезно сразу посмотреть основную информацию о системе:
whoami
hostname
ip a
uname -a
cat /etc/os-release
Это поможет убедиться, что вы работаете на нужном сервере и понимаете, какая ОС установлена.
Обновление системы на VPS после покупки
Первая обязательная задача — обновить все пакеты. Это закрывает уязвимости и приводит систему в актуальное состояние.
Для Ubuntu и Debian:
apt update && apt upgrade -y
Дополнительно стоит установить базовые утилиты, которые пригодятся в администрировании:
apt install -y sudo curl wget vim git htop net-tools unzip ca-certificates gnupg lsb-release
Если ядро или важные системные компоненты обновились, лучше перезагрузить сервер:
reboot
После перезагрузки подключитесь снова.
Настройка hostname на VPS
Имя сервера лучше задать сразу, особенно если у вас будет несколько VPS. Это упрощает администрирование, мониторинг и навигацию.
Пример:
hostnamectl set-hostname vps-web-01
Проверить:
hostnamectl
При необходимости можно поправить /etc/hosts:
127.0.0.1 localhost
127.0.1.1 vps-web-01
Создание нового пользователя на VPS
Постоянная работа под root — плохая практика. Намного безопаснее создать отдельного пользователя и выполнять административные действия через sudo.
Создание пользователя:
adduser adminuser
Добавление в группу sudo:
usermod -aG sudo adminuser
Проверка:
id adminuser
Переход под нового пользователя:
su - adminuser
Проверка sudo:
sudo whoami
Если все сделано правильно, команда вернет:
root
Почему нельзя работать на VPS только под root
Вопрос кажется простым, но он критически важен для безопасности.
Когда вы работаете исключительно под root:
- любая ошибка влияет на всю систему;
- сложно вести аудит действий;
- у злоумышленников есть очевидная цель для атаки;
- совместная работа нескольких администраторов становится неудобной и небезопасной.
Гораздо правильнее использовать такую схему:
- обычная работа — под отдельным пользователем;
- административные действия — через
sudo; - вход по SSH — только по ключу;
- root-доступ по сети — отключен.
Настройка SSH-ключей на VPS
Один из главных шагов при настройке безопасности VPS — переход на вход по SSH-ключам.
Генерация SSH-ключа на локальном компьютере
На Linux или macOS:
ssh-keygen -t ed25519 -C "my-vps-key"
Можно использовать и RSA, если требуется:
ssh-keygen -t rsa -b 4096 -C "my-vps-key"
Обычно файлы сохраняются сюда:
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
Копирование ключа на сервер
Самый удобный способ:
ssh-copy-id adminuser@YOUR_SERVER_IP
Если такой команды нет, можно вручную:
mkdir -p ~/.ssh
chmod 700 ~/.ssh
nano ~/.ssh/authorized_keys
Вставьте в authorized_keys содержимое публичного ключа, затем задайте права:
chmod 600 ~/.ssh/authorized_keys
Проверка входа по ключу
Теперь попробуйте зайти заново:
ssh adminuser@YOUR_SERVER_IP
Если сервер пускает по ключу, можно переходить к следующим шагам защиты.
Настройка SSH на VPS: безопасная конфигурация
Главный файл конфигурации SSH:
/etc/ssh/sshd_config
Перед изменениями сделайте резервную копию:
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Откройте конфигурацию:
nano /etc/ssh/sshd_config
Рекомендуемый вариант:
Port 22
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 3
LoginGraceTime 30
AllowUsers adminuser
Что делает каждая настройка
PermitRootLogin no
Запрещает вход под root по SSH.
PasswordAuthentication no
Отключает вход по паролю.
PubkeyAuthentication yes
Разрешает вход по SSH-ключу.
ChallengeResponseAuthentication no
Отключает дополнительные механизмы аутентификации, если они не нужны.
X11Forwarding no
Отключает X11 forwarding, уменьшая поверхность атаки.
MaxAuthTries 3
Снижает число попыток входа за одну сессию.
AllowUsers adminuser
Разрешает вход только определенному пользователю.
Проверка конфигурации:
sshd -t
Перезапуск SSH:
systemctl restart ssh
или:
systemctl restart sshd
Очень важно: не закрывайте текущую сессию, пока не проверите новый вход в отдельной вкладке.
Нужно ли менять SSH-порт на VPS
Многие меняют SSH-порт со стандартного 22 на другой, например 2222. Это не полноценная защита, но такая мера может уменьшить поток автоматических сканирований.
Пример:
Port 2222
Подключение после изменения:
ssh -p 2222 adminuser@YOUR_SERVER_IP
Важно понимать: смена SSH-порта — это не замена безопасности, а лишь дополнительная мера. Главные защитные шаги — это:
- SSH-ключи;
- отключение паролей;
- отключение root-входа;
- firewall;
- Fail2Ban.
Настройка firewall на VPS
Один из самых важных этапов — настройка firewall. Для Ubuntu и Debian удобно использовать ufw.
Установка:
apt install -y ufw
Базовые правила:
ufw default deny incoming
ufw default allow outgoing
Разрешаем SSH:
ufw allow 22/tcp
Если SSH переведен на 2222:
ufw allow 2222/tcp
Если на сервере будет сайт:
ufw allow 80/tcp
ufw allow 443/tcp
Включаем firewall:
ufw enable
Проверяем статус:
ufw status verbose
Пример типовой безопасной конфигурации для веб-сервера:
- SSH;
- HTTP;
- HTTPS.
Все остальное должно быть закрыто, если в этом нет реальной необходимости.
Какие порты открыть на VPS
Очень частый вопрос после покупки сервера — какие порты нужно открыть на VPS.
Ответ простой: только те, которые действительно используются вашим проектом.
Наиболее распространенные порты
22/tcp— SSH80/tcp— HTTP443/tcp— HTTPS25/tcp— SMTP53/tcpи53/udp— DNS3306/tcp— MySQL5432/tcp— PostgreSQL6379/tcp— Redis27017/tcp— MongoDB8080/tcp— веб-приложения и панели8443/tcp— альтернативный HTTPS
Какие порты нельзя открывать без необходимости
Особенно осторожно нужно относиться к таким сервисам:
- MySQL;
- PostgreSQL;
- Redis;
- MongoDB;
- Memcached;
- Docker API;
- внутренние панели мониторинга.
Если они нужны только для локальной работы сервера, они должны слушать 127.0.0.1, а не весь интернет.
Пример плохого варианта:
0.0.0.0:3306
Пример правильного варианта:
127.0.0.1:3306
Как посмотреть открытые порты на VPS
Для быстрой проверки используйте:
ss -tulpn
Или:
netstat -tulpn
Эти команды покажут, какие сервисы слушают сеть и на каких адресах.
Для проверки снаружи можно использовать:
nmap YOUR_SERVER_IP
Это полезно после настройки firewall, чтобы убедиться, что наружу торчат только нужные сервисы.
Установка Fail2Ban на VPS
Fail2Ban — одна из самых полезных утилит для защиты от перебора паролей и агрессивных попыток входа.
Установка:
apt install -y fail2ban
Создание локального конфига:
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Откройте файл:
nano /etc/fail2ban/jail.local
Пример настройки для SSH:
[sshd]
enabled = true
port = 22
logpath = %(sshd_log)s
backend = systemd
maxretry = 5
findtime = 10m
bantime = 1h
Если SSH работает на 2222, замените порт.
Запуск и автозагрузка:
systemctl enable fail2ban
systemctl restart fail2ban
Проверка:
fail2ban-client status
fail2ban-client status sshd
Отключение root-входа по SSH
Одна из самых важных мер при защите VPS — отключить прямой вход под root.
В sshd_config:
PermitRootLogin no
После этого вход будет выполняться через обычного пользователя, а административные действия — через sudo.
Это существенно повышает безопасность, потому что root — первая цель автоматических атак.
Отключение входа по паролю на VPS
Если SSH-ключ уже настроен и работает, следующий логичный шаг — отключить аутентификацию по паролю.
В sshd_config:
PasswordAuthentication no
Это защищает сервер от массового перебора паролей и делает SSH значительно безопаснее.
Главное правило: сначала убедитесь, что вход по ключу действительно работает.
Ограничение SSH по IP-адресу
Если вы подключаетесь к серверу только из офиса, дома или через один VPN, можно дополнительно ограничить SSH-доступ по IP.
Пример для UFW:
ufw allow from YOUR_HOME_IP to any port 2222 proto tcp
После этого доступ к SSH будет только с указанного адреса.
Это отличный вариант для повышения безопасности, если у вас стабильный внешний IP.
Автоматические обновления безопасности
Еще одна важная часть настройки VPS — автоматическая установка security updates.
Для Ubuntu и Debian:
apt install -y unattended-upgrades
dpkg-reconfigure --priority=low unattended-upgrades
Проверка состояния:
systemctl status unattended-upgrades
Это не отменяет ручного контроля системы, но позволяет быстрее закрывать критические уязвимости.
Настройка времени и часового пояса
Неправильное время на сервере вызывает проблемы с логами, cron, сертификатами, приложениями и мониторингом.
Проверка:
timedatectl
Установка нужного часового пояса:
timedatectl set-timezone Asia/Almaty
Повторная проверка:
timedatectl
Настройка swap на VPS
Если сервер с небольшим объемом памяти, swap поможет избежать аварийного завершения процессов при нехватке RAM.
Проверка:
swapon --show
free -h
Создание swap-файла на 2 ГБ:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Добавление в автозагрузку через /etc/fstab:
/swapfile none swap sw 0 0
Проверка:
swapon --show
free -h
Базовая защита sysctl на Linux VPS
Дополнительное усиление сетевой безопасности можно сделать через sysctl.
Создайте файл:
nano /etc/sysctl.d/99-security.conf
Добавьте:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
Применить настройки:
sysctl --system
Настройка нескольких пользователей на VPS
Если сервером пользуются несколько администраторов, не нужно выдавать всем один логин и один общий ключ.
Правильная модель:
- отдельный пользователь на каждого администратора;
- отдельный SSH-ключ;
- персональные sudo-права;
- возможность быстро отключить доступ конкретному человеку.
Пример:
adduser devops1
usermod -aG sudo devops1adduser devops2
usermod -aG sudo devops2
Какие сервисы не стоит сразу открывать наружу
Очень часто после покупки VPS пользователи сразу публикуют наружу:
- PostgreSQL;
- MySQL;
- Redis;
- Grafana;
- Prometheus;
- Portainer;
- внутренние админки;
- Docker API.
Это плохая практика. Намного безопаснее:
- держать внутренние сервисы на
127.0.0.1; - использовать reverse proxy;
- подключаться по VPN или SSH-туннелю;
- фильтровать доступ через firewall.
Пример безопасной стартовой схемы VPS
Если у вас обычный веб-сервер, то хорошая базовая конфигурация выглядит так:
- SSH на
2222/tcp; - HTTP на
80/tcp; - HTTPS на
443/tcp; - вход под root отключен;
- вход по паролю отключен;
- есть отдельный sudo-пользователь;
- установлен Fail2Ban;
- включен firewall;
- база данных слушает только localhost;
- обновления безопасности включены.
Такой VPS уже можно считать адекватно подготовленным к размещению проекта.
Готовый чек-лист первоначальной настройки VPS
Вот краткий список того, что нужно проверить после покупки сервера:
- система обновлена;
- hostname задан;
- отдельный пользователь создан;
- sudo-права настроены;
- SSH-ключи работают;
- root-login отключен;
- парольный вход отключен;
- firewall включен;
- открыты только нужные порты;
- Fail2Ban установлен;
- часовой пояс настроен;
- swap создан при необходимости;
- внутренние сервисы не опубликованы наружу;
- автоматические обновления включены;
- порты проверены через
ss -tulpn.
Частые ошибки при настройке VPS
Работа только под root
Это опасно и неудобно.
Открытые базы данных
MySQL, PostgreSQL, Redis и MongoDB часто случайно оставляют доступными из интернета.
Отключение пароля до проверки SSH-ключа
Так можно самому потерять доступ к серверу.
Включение firewall без разрешения SSH
После этого сервер может стать недоступным.
Оставленный стандартный root-доступ
Это одна из самых частых ошибок новичков.
Отсутствие обновлений
Даже новый VPS может содержать пакеты с известными уязвимостями.
Полный набор стартовых команд для настройки VPS
Ниже — быстрый шаблон для Ubuntu или Debian.
Обновление системы
apt update && apt upgrade -y
apt install -y sudo ufw fail2ban vim curl wget git htop unattended-upgrades
Создание пользователя
adduser adminuser
usermod -aG sudo adminuser
Настройка SSH-ключа
mkdir -p /home/adminuser/.ssh
nano /home/adminuser/.ssh/authorized_keys
chmod 700 /home/adminuser/.ssh
chmod 600 /home/adminuser/.ssh/authorized_keys
chown -R adminuser:adminuser /home/adminuser/.ssh
Безопасная настройка SSH
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
nano /etc/ssh/sshd_config
Пример:
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
X11Forwarding no
PermitEmptyPasswords no
MaxAuthTries 3
AllowUsers adminuser
Проверка и рестарт:
sshd -t && systemctl restart ssh
Настройка firewall
ufw default deny incoming
ufw default allow outgoing
ufw allow 2222/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
ufw status verbose
Настройка Fail2Ban
systemctl enable fail2ban
systemctl restart fail2ban
fail2ban-client status
Часовой пояс
timedatectl set-timezone Asia/Almaty
timedatectl
Проверка портов
ss -tulpn
Где купить VPS для сайта, бота, Docker или рабочих сервисов
Если вы подбираете сервер для сайта, backend-проекта, VPN, контейнеров, панели управления или других задач, посмотреть варианты можно здесь:
Заказать VPS/VDS хостинг
FAQ: частые вопросы о первоначальной настройке VPS
Что делать сразу после покупки VPS?
Сразу после покупки VPS нужно обновить систему, создать отдельного пользователя, настроить SSH-ключи, отключить root-вход, настроить firewall, открыть только нужные порты и установить базовую защиту вроде Fail2Ban.
Нужно ли отключать root на VPS?
Да, прямой вход под root по SSH лучше отключить. Это одна из главных мер безопасности, которая уменьшает риск компрометации сервера.
Нужно ли менять SSH-порт?
Смена SSH-порта не заменяет полноценную защиту, но помогает уменьшить количество автоматических сканирований и шум от ботов.
Какие порты открыть на VPS для сайта?
Обычно достаточно открыть SSH, HTTP и HTTPS. Если SSH переведен на нестандартный порт, нужно открыть именно его. Все остальные порты лучше держать закрытыми, если они не нужны.
Нужен ли Fail2Ban на VPS?
Да, Fail2Ban полезен почти на любом публичном сервере. Он помогает блокировать IP-адреса, с которых идут подозрительные попытки входа.
Можно ли оставить вход по паролю?
Технически можно, но это слабее с точки зрения безопасности. Намного лучше использовать вход по SSH-ключу и отключить парольную аутентификацию.
Нужно ли открывать MySQL или PostgreSQL наружу?
В большинстве случаев нет. Базы данных лучше оставлять доступными только локально или внутри защищенного контура.
Какая ОС лучше для VPS?
Для большинства задач хорошим выбором являются Ubuntu Server или Debian. Они популярны, хорошо документированы и подходят для сайтов, Docker, веб-приложений и DevOps-задач.
Заключение
Правильная первоначальная настройка VPS после покупки — это основа стабильной и безопасной работы сервера. Даже если вы размещаете один сайт, небольшой бот или тестовый проект, нельзя оставлять VPS в дефолтном состоянии.
Минимальный обязательный набор действий выглядит так:
- обновить сервер;
- создать отдельного пользователя;
- включить вход по SSH-ключу;
- отключить root и парольный вход;
- настроить firewall;
- оставить только нужные порты;
- установить Fail2Ban;
- проверить, какие сервисы доступны извне.
После этого VPS уже можно использовать для установки Nginx, Docker, базы данных, панели, VPN или других сервисов.
Если вам нужен сервер для практики, продакшена или размещения собственного проекта, посмотреть варианты можно здесь:
Выбрать VPS/VDS хостинг