Фаервол UFW на Ubuntu 24.04: пошаговая установка
Свежий сервер по умолчанию открыт всем ветрам: любой сервис, который вы поднимете, тут же виден из интернета. Фаервол UFW на Ubuntu 24.04 закрывает эту брешь простыми командами — вы явно решаете, какие порты пускать внутрь, а всё остальное отсекается. Разберём установку и настройку по шагам, чтобы закрыть периметр и при этом не отрезать себе SSH.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Что такое UFW и зачем он нужен
UFW расшифровывается как Uncomplicated Firewall — «несложный фаервол». Это удобная надстройка над мощным, но громоздким nftables, который работает в ядре Linux. Вместо длинных правил с цепочками и таблицами вы пишете короткие понятные команды вроде «разрешить порт 443». UFW переводит их в низкоуровневые правила сам.
Смысл фаервола в модели «запрещено всё, что не разрешено явно». По умолчанию грамотная настройка блокирует все входящие подключения и открывает только те порты, которые действительно нужны: SSH для управления, 80 и 443 для сайта, что-то ещё под конкретную задачу. Всё лишнее — базы данных, служебные панели, тестовые сервисы — остаётся недоступным снаружи, даже если вы случайно запустили их на всех интерфейсах.
Это важно, потому что многие сервисы по умолчанию слушают все адреса. База данных, которую вы подняли «только для себя», без фаервола видна всему интернету и становится мишенью для сканеров в первые же часы. UFW закрывает эту типовую ошибку одним махом.
Отдельно стоит развеять частое заблуждение, будто фаервол нужен только большим проектам. На деле именно небольшие серверы страдают чаще: на них редко следят за тем, какие порты открыты, и забытый тестовый сервис годами торчит наружу. Автоматические сканеры обходят весь диапазон адресов интернета круглосуточно и находят такие дыры за минуты, безо всякого интереса лично к вам. Фаервол превращает сервер из «открытой двери, которую надо не забыть закрыть» в «закрытую дверь, которую вы осознанно приоткрываете под конкретную задачу». Эта смена логики и есть главная ценность UFW: вам больше не нужно помнить обо всех запущенных сервисах, достаточно помнить список из нескольких разрешённых портов.
Шаг 1. Проверка и установка
На Ubuntu 24.04 пакет UFW обычно уже присутствует, но не активен. Проверьте наличие и при необходимости установите:
apt update
apt install -y ufw
ufw status
Если статус показывает inactive — фаервол установлен, но выключен, и это нормально для старта. Не спешите включать его прямо сейчас: сперва зададим правила, иначе рискуем оборвать собственное SSH-подключение в момент активации. Именно поспешное ufw enable без разрешённого SSH — самая частая причина потери доступа к свежему серверу.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSШаг 2. Базовые политики
Сначала задайте политику по умолчанию: запрещать всё входящее и разрешать всё исходящее. Это фундамент модели «запрещено по умолчанию», на который дальше накладываются точечные разрешения:
ufw default deny incoming
ufw default allow outgoing
Исходящие соединения разрешаем, чтобы сервер мог сам ходить в интернет — за обновлениями, к внешним API, за письмами. Входящие закрываем полностью, а нужное будем открывать вручную. Такой подход означает, что любой новый сервис по умолчанию недоступен снаружи, пока вы осознанно не откроете ему порт. Это гораздо безопаснее обратной логики.
Шаг 3. Разрешаем SSH — самое важное
Прежде чем включать фаервол, обязательно разрешите порт, по которому вы управляете сервером. Если SSH работает на стандартном 22, откройте его:
ufw allow 22/tcp
Если вы переносили SSH на нестандартный порт, укажите именно его, а не 22, иначе после включения фаервола вход оборвётся. Это критический момент: проверьте номер порта в /etc/ssh/sshd_config, прежде чем продолжать. Когда у вас статический адрес дома или в офисе, разумно ограничить SSH только им — тогда порт управления вообще не виден остальному интернету:
ufw allow from 203.0.113.10 to any port 22 proto tcp
У MAATRIX сервер выдаётся с root-доступом и чистым выделенным IP, так что фаервол вы настраиваете под себя с первой минуты, а аварийный доступ через панель остаётся на случай, если правило окажется слишком строгим.
Шаг 4. Открываем нужные сервисы
Теперь откройте порты под реальные задачи сервера. Для сайта это HTTP и HTTPS — их можно задать одной строкой:
ufw allow 80,443/tcp
UFW понимает и имена приложений: ufw app list покажет доступные профили (например, для Nginx или OpenSSH), а ufw allow 'Nginx Full' откроет и 80, и 443 разом. Для почтового сервера добавляют порты SMTP, IMAP и их защищённые версии, для игрового — конкретные UDP-порты. Главный принцип: открывайте только то, что действительно слушает и должно быть доступно извне. Базы данных, кэши и админ-панели наружу не выставляют — к ним ходят через локальную сеть или SSH-туннель.
Шаг 5. Включаем и проверяем
Когда правила для SSH и нужных сервисов заданы, можно включать фаервол. Команда предупредит, что операция может разорвать существующие соединения — если SSH разрешён, всё в порядке:
ufw enable
ufw status verbose
Вывод status verbose покажет политику по умолчанию и полный список активных правил. Внимательно сверьте, что порт SSH в списке разрешённых, а лишних открытых портов нет. Для отладки удобна нумерация правил, чтобы точечно удалять ошибочные:
ufw status numbered
ufw delete 3
Так вы уберёте конкретное правило по номеру, не трогая остальные. После любых изменений снова смотрите статус — привычка перепроверять экономит нервы.
Шаг 6. Тонкая настройка и жизнь дальше
UFW умеет больше, чем просто открывать порты. Он поддерживает ограничение частоты подключений: команда с ключом limit притормаживает тех, кто слишком часто стучится на порт, что осложняет брутфорс SSH. Логирование включается одной строкой и помогает видеть, что и куда пытается пробиться:
ufw limit 22/tcp
ufw logging on
Логи фаервола пишутся в системный журнал, и по ним удобно понимать характер фонового трафика. Раз в некоторое время просматривайте активные правила и убирайте те, что относятся к уже удалённым сервисам, — открытый порт без сервиса за ним не нужен и лишь расширяет поверхность атаки. Проверьте также, что UFW включается автоматически после перезагрузки; на Ubuntu 24.04 при ufw enable он ставится в автозапуск по умолчанию, но лишняя проверка не помешает. Такой минимальный уход держит периметр сервера закрытым годами.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPSОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
UFW заменяет nftables или работает поверх?
UFW — это удобная надстройка над nftables. Вы пишете простые команды, а UFW сам транслирует их в низкоуровневые правила ядра.
Как не потерять SSH при включении фаервола?
Сначала разрешите порт SSH командой ufw allow 22/tcp (или ваш нестандартный порт) и только потом выполняйте ufw enable.
Нужно ли открывать порт базы данных?
Нет. Базы, кэши и админ-панели наружу не выставляют. Доступ к ним организуют через локальную сеть или SSH-туннель.
Как удалить ошибочное правило?
Посмотрите список с ufw status numbered и удалите по номеру командой ufw delete N, не затрагивая остальные правила.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.