IT и данные
Настроить UFW: что проверить до включения фаервола
UFW помогает закрыть лишние входящие порты на Ubuntu и Debian, но ошибка в одном правиле может отрезать SSH-доступ к серверу. До включения проверьте порты, доступ к консоли и порядок команд.

\u003cp\u003eВключить UFW на удалённом сервере можно одной командой, а потерять SSH-доступ — одним неверным правилом. Перед настройкой выясните, через какой порт вы подключаетесь, есть ли доступ к консоли у хостера и какие службы должны принимать соединения извне. Ниже — порядок настройки для UFW 0.36.x на Ubuntu Server 24.04 LTS; на других системах проверьте версию и доступные профили.\u003c/p\u003e
\u003ch2\u003eЧто подготовить до настройки\u003c/h2\u003e
\u003cp\u003eНужен сервер с установленным UFW и доступом с правами администратора. Если вы подключены удалённо, не закрывайте текущую SSH-сессию, пока не проверите вход во второй. Ещё лучше заранее убедиться, что в панели хостинга работает веб-консоль или другой способ восстановления доступа.\u003c/p\u003e
\u003cul\u003e
\u003cli\u003eУточните порт SSH. Часто это 22, но администратор мог изменить его.\u003c/li\u003e
\u003cli\u003eСоставьте список портов, которые должны быть доступны снаружи: например, веб-серверу нужны HTTP и HTTPS, а базе данных публичный доступ обычно не требуется.\u003c/li\u003e
\u003cli\u003eПроверьте, нет ли отдельного сетевого экрана у хостера или в облачной панели. Правило UFW не откроет порт, закрытый там.\u003c/li\u003e
\u003cli\u003eУбедитесь, что UFW установлен и узнайте версию командой \u003ccode\u003esudo ufw version\u003c/code\u003e.\u003c/li\u003e
\u003c/ul\u003e
\u003cp\u003e\u003cstrong\u003eПрофиль приложения\u003c/strong\u003e — набор правил для распространённой службы, например OpenSSH или Nginx. UFW может показывать только профили, установленные в системе: сначала проверьте их список, а не копируйте название наугад.\u003c/p\u003e
\u003cblockquote\u003e\u003cp\u003eПеред включением фаервола важнее всего разрешить именно тот SSH-порт, на котором работает ваш сервер. Правило для порта 22 не спасёт, если SSH слушает другой порт.\u003c/p\u003e\u003c/blockquote\u003e
\u003ch2\u003eНастройка по шагам\u003c/h2\u003e
\u003col\u003e
\u003cli\u003e\u003cstrong\u003eПосмотрите текущий статус и правила.\u003c/strong\u003e Выполните \u003ccode\u003esudo ufw status verbose\u003c/code\u003e. Если UFW уже активен, изучите действующие правила и не добавляйте новые вслепую. Проверка: команда показывает статус и, если правила есть, их список.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eУточните порт SSH.\u003c/strong\u003e Посмотрите настройки SSH-сервера или спросите администратора. Если вы уверены, что используется стандартный порт, в следующих командах разрешите 22/tcp. Для нестандартного порта замените число на фактическое. Проверка: номер совпадает с портом, через который вы сейчас подключены.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eРазрешите SSH до включения UFW.\u003c/strong\u003e Для стандартного порта выполните \u003ccode\u003esudo ufw allow 22/tcp\u003c/code\u003e. Для другого порта используйте, например, \u003ccode\u003esudo ufw allow 2222/tcp\u003c/code\u003e, только если SSH действительно слушает 2222. Проверка: \u003ccode\u003esudo ufw status\u003c/code\u003e показывает правило разрешения нужного порта.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eРазрешите только нужные сервисы.\u003c/strong\u003e Для веб-сервера можно добавить \u003ccode\u003esudo ufw allow 80/tcp\u003c/code\u003e и \u003ccode\u003esudo ufw allow 443/tcp\u003c/code\u003e. Если уже установлен профиль Nginx, сначала выполните \u003ccode\u003esudo ufw app list\u003c/code\u003e, затем разрешите подходящий профиль по его точному имени. Проверка: нужные правила видны в статусе UFW.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eПроверьте поведение по умолчанию.\u003c/strong\u003e Для обычного сервера, который принимает подключения к явно разрешённым службам, задайте \u003ccode\u003esudo ufw default deny incoming\u003c/code\u003e и \u003ccode\u003esudo ufw default allow outgoing\u003c/code\u003e. Это запрещает новые входящие соединения, для которых нет разрешающего правила, и оставляет исходящие подключения доступными. Проверка: обе команды сообщают об обновлении политики.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eВключите UFW.\u003c/strong\u003e Выполните \u003ccode\u003esudo ufw enable\u003c/code\u003e и подтвердите действие. Система предупредит, что подключение по SSH может прерваться: это особенно важно, если правило SSH настроено неверно. Проверка: в ответ на \u003ccode\u003esudo ufw status verbose\u003c/code\u003e указано \u003ccode\u003eStatus: active\u003c/code\u003e, а политика входящих соединений — \u003ccode\u003edeny\u003c/code\u003e.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eПроверьте доступ из новой сессии.\u003c/strong\u003e Не закрывая старое подключение, откройте новое SSH-подключение с компьютера или через доверенную консоль. Затем проверьте доступность нужных приложений. Проверка: новая сессия устанавливается, а разрешённые сервисы отвечают извне.\u003c/li\u003e
\u003c/ol\u003e
\u003cp\u003eКоманды задают базовые правила для входящего трафика, но не заменяют проверку конфигурации сервера. Если на сервере работают дополнительные службы, сначала проверьте, какие TCP- и UDP-порты им требуются.\u003c/p\u003e
\u003ch2\u003eЧто проверить после включения\u003c/h2\u003e
\u003cp\u003eПосмотрите полный статус командой \u003ccode\u003esudo ufw status verbose\u003c/code\u003e, а список доступных профилей — командой \u003ccode\u003esudo ufw app list\u003c/code\u003e. Учитывайте, что профиль приложения может разрешать сразу несколько портов. Перед применением проверьте его содержимое в системе; не включайте профиль только потому, что его название похоже на название вашего сервиса.\u003c/p\u003e
\u003cp\u003eЕсли сервер работает по IPv6, проверьте, что поддержка IPv6 включена в настройках UFW и что правила применяются к IPv6-трафику. Одного теста подключения по IPv4 для этого недостаточно. Не меняйте системный конфигурационный файл наугад: расположение и параметры уточняйте в документации вашей версии.\u003c/p\u003e
\u003ch2\u003eЧастые ошибки и восстановление доступа\u003c/h2\u003e
\u003cul\u003e
\u003cli\u003e\u003cstrong\u003eSSH перестал подключаться.\u003c/strong\u003e Возможные причины — разрешён не тот порт, его блокирует внешний сетевой экран или правило не применилось. Используйте консоль хостинга, проверьте статус UFW и добавьте разрешение для реального порта SSH.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eСайт недоступен, хотя UFW активен.\u003c/strong\u003e Проверьте, разрешены ли нужные порты и запущен ли веб-сервер. Убедитесь также, что соединения не блокирует панель облачного провайдера.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eUFW сообщает, что команда требует прав администратора.\u003c/strong\u003e Повторите её с \u003ccode\u003esudo\u003c/code\u003e либо выполните из административной учётной записи.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eПрофиль не найден.\u003c/strong\u003e Название могло отличаться или пакет службы не установил профиль. Выведите список доступных профилей и при необходимости разрешите конкретный порт.\u003c/li\u003e
\u003cli\u003e\u003cstrong\u003eПравило добавлено, но сервис всё равно не отвечает.\u003c/strong\u003e UFW не запускает службу и не проверяет, что приложение слушает нужный интерфейс. Проверьте состояние приложения, его адрес привязки и внешние правила сети.\u003c/li\u003e
\u003c/ul\u003e
\u003cp\u003eЕсли у вас нет доступа к консоли сервера, не включайте UFW удалённо, пока не проверите SSH-правило и не подготовите способ восстановления. Отключать фаервол командой через недоступное соединение не получится.\u003c/p\u003e
\u003ch2\u003eЧто сделать дальше\u003c/h2\u003e
\u003cp\u003eСохраните перечень разрешённых портов и причину каждого правила — это упростит проверку при изменении сервера. После настройки проверяйте доступность служб извне и пересматривайте правила, когда удаляете приложения или меняете SSH-порт. Для диагностики конкретного поведения сверяйтесь с man-страницей UFW для установленной системы.\u003c/p\u003e
Не хотите разбираться сами?
Редактор изображений: Убрать лишнее, заменить фон, добавить объект, расширить кадр — на вашем изображении.
Спросить за 20 ₽Источники: Ubuntu Manpage: ufw — program for managing a firewall, Ubuntu Community Help Wiki: UFW
Частые вопросы
Можно ли включать UFW через SSH?
Можно, если до включения разрешить порт, на котором действительно работает SSH, и затем проверить вход во второй сессии. Не закрывайте текущее подключение до проверки. Если резервной консоли нет, риск потерять доступ выше.
Что будет, если я забыл разрешить SSH?
Новое подключение может перестать устанавливаться после включения UFW. Для восстановления понадобится консоль или другой канал доступа от хостинг-провайдера, чтобы проверить правила и разрешить правильный порт.
Нужно ли разрешать порт 22?
Только если SSH-сервер действительно принимает соединения на порту 22. Если порт изменён, разрешите фактический порт; иначе правило не защитит доступ.
Почему сайт не открывается после настройки?
Проверьте, разрешены ли входящие порты, на которых работает сайт, и запущен ли веб-сервер. Причиной также могут быть правила облачной сети, настройки DNS или приложение, которое не слушает внешний интерфейс.
Нужно ли отдельно настраивать IPv6?
Проверьте, включена ли поддержка IPv6 в UFW и применяются ли правила к IPv6-соединениям. Проверка только по IPv4 не подтверждает, что IPv6-трафик тоже фильтруется.
Подойдут ли эти команды для любой версии UFW?
Команды относятся к базовой настройке UFW 0.36.x на Ubuntu Server 24.04 LTS. На другой системе сначала проверьте установленную версию, доступные профили и справку: пакеты и системные настройки могут отличаться.
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.