ServerAID
Найти гайд, команду, тег… ⌘ K
Безопасность

Безопасность Ubuntu Server: с чего начать закалку

Ubuntu Server из коробки не защищён: парольный SSH разрешён, фаервол выключен, апдейты не ставятся автоматом. Этот гайд — план минимума на первый час после установки, чтобы перестать бояться публичного IP. Каждый шаг ведёт на полный разбор с командами.

Какие слои защиты ставим первыми

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

  • Доступ: парольный SSH → вход только по ключам, root залочен.
  • Сеть: UFW закрывает всё входящее, кроме того, что вы явно открыли.
  • Автобан: fail2ban банит IP, который сжёг лимит попыток.
  • Транспорт: HTTPS на всех публичных сервисах, обновления автоматом.

Каждому слою посвящён отдельный гайд в этом разделе — здесь карта и порядок шагов.

SSH: убираем пароли, оставляем ключи

Парольный вход — главный вектор брутфорса. Сначала сгенерируйте ключ, добавьте публичную часть в ~/.ssh/authorized_keys на сервере, проверьте, что вход без пароля работает. Только после этого выключайте парольный вход в /etc/ssh/sshd_config: PasswordAuthentication no, PermitRootLogin no. Подробный план с защитой от блокировки самих себя — в SSH-ключи на Ubuntu.

UFW: фаервол в пять команд

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw limit OpenSSH
sudo ufw enable

Это базовая настройка: всё входящее закрыто, исходящее открыто, SSH разрешён, на SSH стоит лимит против ботов. Разбор каждой команды, типичные ловушки и проверка статуса — в UFW на Ubuntu.

fail2ban: автобан переборщиков

Даже с лимитом UFW часть ботов пробивает окно. fail2ban читает /var/log/auth.log, считает неудачные попытки и кладёт правило в nftables на N минут. Установка и базовый jail под SSH — в fail2ban на Ubuntu.

HTTPS через certbot и Let's Encrypt

Если на сервере есть веб — публичный HTTP это ошибка. Let's Encrypt выдаёт бесплатный сертификат с автообновлением. nginx-плагин certbot пишет конфиг сам, остаётся только подтвердить владение доменом. Развёрнутый пример настройки — в Let's Encrypt и certbot на Ubuntu.

Права файлов: chmod и chown

Большинство утечек начинается с chmod 777 на чужие папки и неаккуратного chown root:www-data. Команды простые, но логика прав — нет. См. chmod в Linux: права доступа и chown: владелец и группа.

Обновления безопасности

Финальный слой — регулярные apt update и apt upgrade, а лучше unattended-upgrades, чтобы security-патчи ставились автоматически. См. apt update и upgrade без сюрпризов.

Частые вопросы

Достаточно ли UFW и fail2ban для прод-сервера?

Для типового VPS под сайт или приложение — да, если плюсом стоят SSH-ключи и unattended-upgrades. Для серверов с конфиденциальными данными добавляйте AppArmor-профили и аудит через auditd.

С чего начать, если сервер уже опубликован без защиты?

Сначала ключи SSH и PasswordAuthentication no — это закрывает 99% попыток. Затем UFW. fail2ban и certbot — следом. Параллельно ставьте unattended-upgrades.

Нужно ли менять стандартный порт SSH?

Это снижает шум в логах, но не защищает от целевых атак. Если переносите — обязательно sudo ufw allow <новый-порт>/tcp ДО рестарта sshd, иначе закроете себе доступ.

Какой порядок шагов оптимален для свежего VPS?

apt update → SSH-ключи → UFW → fail2ban → certbot (если есть веб) → unattended-upgrades. Между шагами оставляйте вторую SSH-сессию открытой, чтобы откатить ошибочную конфигурацию.

Что запомнить

  • SSH по ключам, парольный вход выключен, root залочен.
  • UFW: default deny incoming + явный allow OpenSSH с лимитом.
  • fail2ban читает auth.log и автобанит ботов.
  • HTTPS через certbot — обязателен для публичных веб-сервисов.
  • chmod/chown без 777 на публичных директориях.
  • unattended-upgrades для security-патчей без ручного вмешательства.

Похожие материалы

Безопасность

chown в Linux: смена владельца и группы файлов в Ubuntu

chown (change owner) — команда смены владельца и группы файла или директории в Linux. Часто используется вместе с chmod при настройке прав веб-сервера, передаче файлов между пользователями и работе с Docker-волюмами. Разбираем синтаксис, рекурсивные операции, как не сломать симлинки и сохранять владельцев при бэкапах через rsync.

Редакция
Безопасность

chmod в Linux: права доступа на файлы и директории в Ubuntu

chmod (change mode) — основная команда управления правами доступа в Linux. Каждый файл имеет три набора прав (для владельца, группы и остальных) и три действия (чтение, запись, исполнение). Разбираем числовой и символический формат записи, recursive-операции, специальные биты SUID/SGID/sticky и типичные сценарии — права на SSH-ключи, файлы веб-сервера, скрипты.

Редакция
Безопасность

Let's Encrypt и certbot на Ubuntu: бесплатный SSL для nginx

Let's Encrypt — бесплатные SSL/TLS-сертификаты для любого домена. На Ubuntu выпускаются через утилиту certbot одной командой; автообновление работает само через systemd-таймер. Разбираем установку, выпуск для nginx, DNS-challenge для wildcard-сертификатов и грабли с rate-limit.

Редакция
Безопасность

SSH-ключи на Ubuntu: вход без пароля, отключение паролей и смена порта

Заходить на сервер по SSH без пароля и при этом безопаснее, чем с паролем — главная польза от ключей. Разбираем `ssh-keygen ed25519`, `ssh-copy-id`, отключение парольного входа в `sshd_config`, смену SSH-порта, настройку `~/.ssh/config` на клиенте и генерацию ключей из Windows. Всё на Ubuntu 24.04 LTS.

Редакция