Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Настройка файрвола UFW в Ubuntu: как открыть порт 22 SSH и включить защиту

Обновлено: 26.08.2026 · Официальная документация ↗

Зачем серверу Linux нужен межсетевой экран (Firewall)

Каждый сервер, подключенный к интернету с публичным белым IP-адресом, ежесекундно атакуется автоматическими ботнетами. Хакеры сканируют открытые порты баз данных (3306 MySQL, 5432 Postgres, 6379 Redis) и подбирают пароли. Встроенный в Ubuntu файрвол UFW (Uncomplicated Firewall) — это удобная надстройка над сложной системой iptables/nftables, позволяющая закрыть все лишние порты парой простых команд.

Золотое правило безопасности любого сервера

Закрыть абсолютно все входящие соединения по умолчанию и открыть только минимально необходимые порты (например, SSH для админа и HTTP/HTTPS для посетителей сайта).

Пошаговый регламент безопасной настройки UFW

ВНИМАНИЕ! Строго соблюдайте последовательность шагов. Если включить файрвол до добавления правила SSH, вы мгновенно заблокируете сами себя и потеряете доступ к серверу!

Шаг 1: Проверка текущего статуса файрвола

sudo ufw status verbose

По умолчанию статус обычно Status: inactive (защита выключена).

Шаг 2: Установка базовых правил безопасности

Укажем файрволу блокировать все входящие подключения и разрешать все исходящие запросы от сервера в интернет:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Шаг 3: ОБЯЗАТЕЛЬНОЕ открытие порта SSH (22)

Разрешим входящие подключения по протоколу SSH:

sudo ufw allow 22/tcp comment 'SSH Port'
 или по имени службы:
sudo ufw allow OpenSSH

(Если ваш SSH работает на нестандартном порту, например 2222, откройте именно его: sudo ufw allow 2222/tcp).

Шаг 4: Открытие веб-портов (если на сервере есть сайт)

sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'

Шаг 5: Включение файрвола (ufw enable)

Активируйте защиту:

sudo ufw enable

Система спросит: «Command may disrupt existing ssh connections. Proceed with operation (y|n)?». Введите y и нажмите Enter.

Шаг 6: Проверка списка активных правил

sudo ufw status numbered

Типовые ошибки администраторов

  • Включение UFW без разрешения SSH: Самая частая катастрофа новичков — ввод команды ufw enable на чистом сервере. Сессия мгновенно замерзает, доступ блокируется. Спасти сервер в таком случае можно только через панель KVM/VNC у хостинг-провайдера командой ufw disable.
  • Открытие базы данных наружу для всех (ufw allow 3306): Никогда не открывайте порты СУБД для всего мира (0.0.0.0/0). Если нужен доступ к базе с рабочего ПК, разрешайте только конкретный статический IP: sudo ufw allow from 195.20.10.5 to any port 3306 proto tcp.
Нужна комплексная защита инфраструктуры от DDoS-атак и сетевых взломов?
Специалисты ITSTM настроят аппаратные и программные межсетевые экраны, гео-блокировку нежелательных стран (GeoIP) и систему предотвращения вторжений CrowdSec / Fail2ban.
💡 Практика специалистов: При использовании Docker обязательно добавьте директиву '{"iptables": false}' в /etc/docker/daemon.json или используйте специализированную утилиту-хелпер 'ufw-docker', чтобы контейнеры не открывали наружу порты баз данных мимо системного файрвола.

Частые вопросы (FAQ)

Как удалить ошибочно созданное правило в UFW?

Посмотрите номера всех правил командой 'sudo ufw status numbered', затем удалите нужное правило по его номеру: 'sudo ufw delete 3'.

Как временно отключить файрвол UFW, если возникли проблемы со связью?

Выполните команду: sudo ufw disable. Все правила сохранятся, но фильтрация трафика будет отключена.

Как заблокировать конкретный вредоносный IP-адрес через UFW?

Используйте команду: sudo ufw insert 1 deny from 198.51.100.25 to any (правило вставится на первое место в списке).

Перезаписывает ли Docker правила UFW?

Да! По умолчанию Docker напрямую модифицирует цепочки iptables в обход UFW, поэтому опубликованные порты (-p 80:80) могут оказаться открытыми миру вопреки запретам UFW. Для защиты используют ufw-docker или привязку портов к 127.0.0.1.

Полезные материалы
Рекомендуем