3 сентября 20264 мин чтения
Безопасность VPS на Linux: базовая настройка
Как настроить базовую защиту VPS на Linux: SSH-доступ, отдельный пользователь, firewall и обновления. Чек-лист перед запуском проекта на сервере.
Евгений Васёв
Автор гайда
Этот гайд — про настройку безопасности на твоём сервере (VPS или облачная машина с Linux). Чтобы что-то менять на сервере, к нему нужно сначала подключиться. Для этого используется SSH (Secure Shell) — способ безопасно подключиться к серверу по сети и управлять им с твоего компьютера через терминал: вводишь команды, они выполняются уже на сервере.
Сначала подключись к серверу — выбери свою систему: macOS или Windows. Дальше все шаги выполняются уже на сервере.
Подключение к серверу
macOS
1. Открой Терминал
Способ 1 — через поиск (самый быстрый):
Нажми Cmd + Пробел
Напиши Terminal
Нажми Enter
Способ 2 — через Finder:
Открой Finder
Меню Переход → Утилиты
Открой Terminal
2. Подключись к серверу по SSH
В терминале выполни (подставь IP своего сервера):
ssh root@IP_СЕРВЕРА
Введи пароль, когда система попросит. После входа ты окажешься на сервере — дальше выполняй шаги из раздела Шаги на сервере.
Windows
1. Открой терминал
Способ 1 — PowerShell:
Нажми Win + R
Введи powershell и нажми Enter
Способ 2 — через поиск:
Нажми Win
Напиши PowerShell или Терминал
Выбери Windows PowerShell или Терминал и нажми Enter
Если используешь WSL — открой Ubuntu (или другой дистрибутив) из меню Пуск.
2. Подключись к серверу по SSH
В терминале выполни (подставь IP своего сервера):
ssh root@IP_СЕРВЕРА
Введи пароль, когда система попросит. После входа ты на сервере — дальше выполняй шаги из раздела Шаги на сервере.
Шаги на сервере
Все команды ниже выполняются на сервере после подключения по SSH. Сначала ты под root — после шага 1 переключишься на пользователя user.
0. Обновить систему
Зачем: закрыть известные уязвимости до запуска приложения.
sudo apt update && sudo apt upgrade -y
Дождись окончания обновления.
1. Создать пользователя user для приложения
Зачем: приложение не должно работать под root.
adduser user
Введи пароль и при необходимости данные пользователя (остальное можно оставить по умолчанию — Enter).
Добавь пользователя в группу sudo и переключись на него:
usermod -aG sudo user su - user
С этого момента все действия — под пользователем user.
2. Запретить вход под root по SSH
Зачем: root — главная цель автоматических атак.
Открой конфиг SSH:
sudo nano /etc/ssh/sshd_config
Найди строку PermitRootLogin и измени на:
PermitRootLogin no
Если такой строки нет — добавь её. Сохрани файл: Ctrl + O, Enter, затем Ctrl + X.
Перезапусти SSH:
sudo systemctl restart ssh
Важно: перед этим убедись, что ты можешь войти под user (например, открой новое окно терминала и выполни ssh user@IP_СЕРВЕРА). Иначе можно потерять доступ к серверу.
3. Включить файрвол (SSH + приложение)
Зачем: сервер принимает только нужные подключения.
Минимум: SSH и HTTP/HTTPS (если есть сайт или API).
sudo ufw allow OpenSSH sudo ufw allow 80 sudo ufw allow 443 sudo ufw enable
На вопрос о прерывании текущих сессий ответь y и нажми Enter.
Проверка:
sudo ufw status
Должны быть разрешены OpenSSH, 80 и 443.
4. Запуск приложения под пользователем user
Зачем: ограничить доступ приложения к системе.
Пример структуры — папка приложения в домашнем каталоге:
mkdir ~/app cd ~/app
Запуск — от имени user, например:
node index.js
или
python bot.py
На этом этапе достаточно запускать вручную; автоматизация (systemd, cron) не обязательна.
5. Хранить секреты отдельно от кода
Зачем: токены и ключи не должны попадать в репозиторий.
Создай файл с переменными окружения:
nano ~/app/.env
Пример содержимого:
BOT_TOKEN=xxx API_KEY=yyy
Сохрани: Ctrl + O, Enter, Ctrl + X.
Ограничь доступ к файлу (только владелец может читать и писать):
chmod 600 ~/app/.env
6. Включить автоматические обновления безопасности
Зачем: система сама закрывает известные уязвимости.
sudo apt install unattended-upgrades sudo dpkg-reconfigure unattended-upgrades
В окне настройки выбери Yes и подтверди Enter.
Проверка, что служба работает:
systemctl status unattended-upgrades
Должен быть статус active (running).
Итог: базовая безопасная конфигурация
нет работы под root
пользователь user для приложения
закрыты лишние порты (файрвол)
секреты вне кода (.env, права 600)
автообновления безопасности включены
Готово!
Сервер настроен с базовым уровнем безопасности. Дальше можно разворачивать приложение в ~/app и подключаться по SSH уже под пользователем user.
Интенсив Boost
Освой нейросети и собери первую автоматизацию на реальной рабочей задаче
На Boost за неделю ты научишься автоматизировать рабочие процессы и вайбкодить нужные тебе инструменты, чтобы быть востребованным специалистом
Ближайший поток стартует 6 ноября.

- Формат
- 6 живых воркшопов
- Ведёт
- Ваня Замесин
- Уровень
- Можно с нуля
- Результат
- Автоматизация
Вани Замесина
Анонсы вебинаров и новых курсов в телеграм-боте
Смежное по задаче
Как установить Cursor на Mac: инструкция для macOS
Как скачать Cursor AI на Mac, установить редактор и открыть первый проект. Короткая инструкция для тех, кто начинает писать код с ИИ.
ЧитатьКак установить Cursor AI на Windows
Как скачать и установить Cursor AI на Windows, запустить редактор и открыть папку проекта. Пошаговая инструкция для первого запуска.
ЧитатьКак установить Claude Code на Windows
Установка Claude Code на Windows: PowerShell, Git, настройка PATH и первый запуск. Разберём, что делать, если команда claude не находится.
Читать