Выбор дистрибутива Linux: Ubuntu, Debian, AlmaLinux
Выберите правильный дистрибутив Linux для VPS: сравнение Ubuntu LTS, Debian, AlmaLinux и Rocky Linux, плюсы и минусы, сценарии использования и рекомендации.
Пошаговая первоначальная настройка VPS: первый SSH-вход, обновление системы, создание пользователя без root, усиление SSH, установка firewall и fail2ban для безопасного сервера.
Вы только что купили VPS и подключаетесь впервые. Что делать дальше? Стандартная конфигурация не оптимизирована для безопасности: SSH открыт с паролем root, нет firewall, система не обновлена. Это руководство предоставляет пошаговый чеклист для настройки безопасного сервера с нуля.
Следуйте всем шагам по порядку. Не закрывайте существующее SSH-соединение при изменении конфигурации SSH — тестируйте каждое изменение в новой вкладке терминала.
Получите IP-адрес и пароль root вашего сервера из панели REXE. Затем подключитесь из терминала:
ssh root@IP_СЕРВЕРА
После подключения проверьте информацию о системе:
# Информация об ОС
cat /etc/os-release
# Системные ресурсы
free -h
df -h
nproc
# Время работы
uptime
Первое, что нужно сделать — обновить систему. Устаревшие пакеты могут содержать уязвимости безопасности.
# Для Ubuntu/Debian
apt update && apt upgrade -y
# Очистка ненужных пакетов
apt autoremove -y
apt autoclean
# Для AlmaLinux/Rocky Linux
dnf update -y
dnf autoremove -y
Если во время обновления появится обновление ядра, возможно, потребуется перезагрузить сервер: reboot
Работа напрямую от root опасна. Создайте обычного пользователя с правами sudo:
# Создать нового пользователя
adduser admin
# Добавить в группу sudo (Ubuntu/Debian)
usermod -aG sudo admin
# Добавить в группу wheel (AlmaLinux/Rocky)
usermod -aG wheel admin
# Переключиться на пользователя и проверить
su - admin
sudo whoami # Должно вывести "root"
exit
Использование SSH-ключей вместо паролей намного безопаснее:
# На локальной машине сгенерируйте пару ключей
ssh-keygen -t ed25519 -C "vps-admin"
# Скопируйте публичный ключ на сервер
ssh-copy-id admin@IP_СЕРВЕРА
# Или вручную:
cat ~/.ssh/id_ed25519.pub
# Вставьте вывод на сервере:
mkdir -p /home/admin/.ssh
nano /home/admin/.ssh/authorized_keys
chmod 700 /home/admin/.ssh
chmod 600 /home/admin/.ssh/authorized_keys
chown -R admin:admin /home/admin/.ssh
Отредактируйте файл конфигурации SSH:
nano /etc/ssh/sshd_config
Применить следующие настройки:
# Отключить вход root
PermitRootLogin no
# Отключить аутентификацию по паролю (после настройки SSH-ключа)
PasswordAuthentication no
# Запретить пустые пароли
PermitEmptyPasswords no
# Максимальное количество попыток входа
MaxAuthTries 3
# Тайм-аут входа
LoginGraceTime 30
# Изменить порт SSH (необязательно, но рекомендуется)
Port 2222
# Разрешить только определённым пользователям
AllowUsers admin
# Проверить конфигурацию
sshd -t
# Перезапустить службу SSH
systemctl restart sshd
# Проверить подключение из НОВОГО ТЕРМИНАЛА!
ssh -p 2222 admin@IP_СЕРВЕРА
Если вы изменили порт SSH, убедитесь, что можете подключиться через новый порт, прежде чем обновлять правила firewall!
# Установить UFW
apt install ufw -y
# Политики по умолчанию
ufw default deny incoming
ufw default allow outgoing
# Разрешить SSH-порт (используйте 2222, если изменили)
ufw allow 2222/tcp
# или для стандартного порта:
# ufw allow ssh
# Веб-сервисы (при необходимости)
ufw allow 80/tcp
ufw allow 443/tcp
# Включить UFW
ufw enable
# Проверить статус
ufw status verbose
# Запустить firewalld
systemctl start firewalld
systemctl enable firewalld
# Разрешить SSH-порт
firewall-cmd --permanent --add-port=2222/tcp
firewall-cmd --permanent --remove-service=ssh
firewall-cmd --reload
# Проверить статус
firewall-cmd --list-all
Fail2Ban обеспечивает автоматическую защиту от атак методом перебора:
# Установить Fail2Ban
apt install fail2ban -y # Ubuntu/Debian
# или
dnf install fail2ban -y # AlmaLinux/Rocky
# Создать локальную конфигурацию
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
nano /etc/fail2ban/jail.local
[DEFAULT]
bantime = 3600
findtime = 600
maxretry = 5
[sshd]
enabled = true
port = 2222
logpath = /var/log/auth.log
maxretry = 3
bantime = 86400
# Запустить Fail2Ban
systemctl start fail2ban
systemctl enable fail2ban
# Проверить статус
fail2ban-client status
fail2ban-client status sshd
Правильный часовой пояс важен для понятных лог-файлов:
# Проверить текущий часовой пояс
timedatectl
# Установить часовой пояс (пример: Москва)
timedatectl set-timezone Europe/Moscow
# Включить синхронизацию NTP
timedatectl set-ntp true
# Проверить
timedatectl status
date
# Полезные инструменты
apt install -y \
curl wget git vim htop \
net-tools dnsutils \
unzip tar \
logwatch
# Работает ли служба SSH?
systemctl status sshd
# Активен ли firewall?
ufw status # или: firewall-cmd --state
# Работает ли Fail2Ban?
fail2ban-client status
# Обновлена ли система?
apt list --upgradable 2>/dev/null | head -20
# Открытые порты
ss -tlnp
# Последние попытки входа
grep "Failed password" /var/log/auth.log | tail -10
apt update && apt upgrade)PermitRootLogin no)PasswordAuthentication no)После выполнения этих шагов ваш сервер соответствует базовым стандартам безопасности. В качестве следующего шага рекомендуем ознакомиться с нашим руководством по усилению безопасности сервера. Не забывайте регулярно обновлять систему и следить за логами.
Пароль root отображается на странице сведений о вашем сервере в панели клиента REXE. Он также отправляется по электронной почте после завершения настройки сервера. Рекомендуется изменить пароль после первого входа.
Да, но это не рекомендуется. Вход по паролю уязвим для атак методом перебора. После настройки SSH-ключа отключите вход по паролю, установив PasswordAuthentication no. Обязательно сделайте резервную копию ключа, чтобы не потерять доступ.
Не обязательно, но рекомендуется. Стандартный порт 22 является целью автоматизированных инструментов сканирования. Изменение порта значительно снижает такие атаки. В сочетании с Fail2Ban обеспечивает гораздо более эффективную защиту.
Вы можете подключиться к серверу через VNC/KVM-консоль в панели REXE. Исправьте правила firewall через консоль: выполните ufw allow ВАШ_SSH_ПОРТ/tcp. Всегда убеждайтесь, что разрешили ваш SSH-порт перед изменением правил firewall.
Подключитесь через VNC-консоль в панели REXE и выполните: fail2ban-client set sshd unbanip ВАШ_IP_АДРЕС. Чтобы предотвратить это в будущем, добавьте свой IP в список ignoreip в /etc/fail2ban/jail.local: добавьте строку ignoreip = 127.0.0.1/8 ВАШ_IP.
Выберите правильный дистрибутив Linux для VPS: сравнение Ubuntu LTS, Debian, AlmaLinux и Rocky Linux, плюсы и минусы, сценарии использования и рекомендации.
Технические различия между VPS, VDS и выделенными серверами: типы виртуализации, сравнение производительности, сценарии использования, ценообразование и когда обновляться.