Home » Настройка фаервола UFW на Ubuntu — Полное руководство
Настройка фаервола UFW на Ubuntu — Полное руководство

Настройка фаервола UFW на Ubuntu — Полное руководство

Если ты когда-нибудь поднимал свой сервер на Ubuntu, то наверняка сталкивался с вопросом безопасности. И вот тут на сцену выходит UFW — Uncomplicated Firewall. Эта статья — твой подробный гайд по настройке UFW: что это такое, зачем он нужен, как его быстро и правильно сконфигурировать, и какие подводные камни могут встретиться на пути. Всё по делу, с примерами, кейсами и практическими советами. После прочтения ты сможешь не только защитить свой сервер, но и автоматизировать рутину, а значит — сэкономить кучу времени и нервов.

Что такое UFW и зачем он нужен?

UFW — это аббревиатура от Uncomplicated Firewall. Как видно из названия, его задача — сделать управление iptables (а это стандартный фаервол в Linux) максимально простым и понятным. Если iptables — это как писать код на ассемблере, то UFW — это Python для фаервола: лаконично, понятно, быстро.

Зачем вообще нужен фаервол? Всё просто: чтобы никто не ломился к тебе на сервер, не сканировал порты, не устраивал DDoS и не пытался подобрать пароли к SSH. UFW позволяет быстро закрыть все дыры, оставить только нужные сервисы и быть уверенным, что твой сервер не станет очередной жертвой ботнета.

Как это работает?

UFW — это надстройка над iptables, которая позволяет управлять правилами фаервола через удобные команды. Ты задаёшь правила (разрешить/запретить трафик на определённые порты, IP-адреса, протоколы), а UFW сам переводит их в сложные iptables-правила. Всё, что тебе нужно — это несколько простых команд.

  • Входящий трафик (incoming): по умолчанию блокируется, если не разрешён явно.
  • Исходящий трафик (outgoing): по умолчанию разрешён, но можно ограничить.
  • Логирование: можно включить, чтобы видеть, что и кто пытается пробиться сквозь твой фаервол.

Вся магия — в простоте. Ты не пишешь километровые цепочки iptables, а просто говоришь: “разреши SSH”, “запрети всё остальное”, и UFW всё делает за тебя.

Как быстро и просто всё настроить?

Вот тебе пошаговая инструкция, как настроить UFW на Ubuntu. Всё максимально просто, но с нюансами, которые часто упускают новички.

  1. Установка UFW (если не установлен):


sudo apt update
sudo apt install ufw

  1. Проверка статуса:


sudo ufw status verbose

Если видишь Status: inactive — значит, фаервол пока не работает.

  1. Разреши себе доступ по SSH (иначе можно отрезать себя от сервера!):


sudo ufw allow ssh

Или, если SSH на нестандартном порту (например, 2222):
sudo ufw allow 2222/tcp

  1. Разреши нужные сервисы (например, HTTP/HTTPS):


sudo ufw allow http
sudo ufw allow https

Или по портам:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

  1. Включи UFW:


sudo ufw enable

Всё! Теперь твой сервер защищён базово.

  1. Проверь статус и правила:


sudo ufw status numbered

  1. Ограничь доступ по IP (например, только для своего офиса):


sudo ufw allow from 203.0.113.5 to any port 22 proto tcp

  1. Отключи ненужные сервисы:


sudo ufw deny 3306/tcp

(Например, чтобы MySQL был доступен только локально)

  1. Включи логирование (по желанию):


sudo ufw logging on

  1. Отключи UFW (если что-то пошло не так):


sudo ufw disable

Примеры, схемы, практические советы

Вот несколько реальных кейсов, с которыми сталкивался лично или видел на форумах. Сразу с объяснением, что делать, а что — нет.

Кейс Что сделали Что получилось Рекомендация
Оставили только SSH и HTTP sudo ufw allow ssh
sudo ufw allow http
sudo ufw enable
Сайт работает, SSH доступен. Всё остальное закрыто. Отлично! Минимально необходимые сервисы. Не забудь про HTTPS.
Открыли все порты для теста sudo ufw allow 1:65535/tcp Сервер открыт для всего мира. Уязвим для атак. Так делать нельзя! Открывай только нужные порты.
Забыли разрешить SSH, включили UFW sudo ufw enable Потеряли доступ к серверу по SSH. Всегда разрешай SSH перед включением UFW!
Ограничили доступ к админке по IP sudo ufw allow from 203.0.113.5 to any port 8080 Админка доступна только из офиса. Хорошая практика для безопасности.
Включили логирование sudo ufw logging on Видно, кто и когда ломится на сервер. Полезно для анализа атак и аудита.

Полный список полезных команд UFW


# Проверить статус
sudo ufw status verbose

# Разрешить порт/сервис
sudo ufw allow 22/tcp
sudo ufw allow http

# Запретить порт/сервис
sudo ufw deny 3306/tcp

# Разрешить диапазон портов
sudo ufw allow 10000:20000/tcp

# Разрешить только определённому IP
sudo ufw allow from 203.0.113.5

# Разрешить IP к определённому порту
sudo ufw allow from 203.0.113.5 to any port 22

# Удалить правило (по номеру из status numbered)
sudo ufw delete 2

# Включить/выключить
sudo ufw enable
sudo ufw disable

# Включить логирование
sudo ufw logging on
sudo ufw logging off

# Сбросить все правила
sudo ufw reset

Похожие решения и альтернативы

  • iptables — мощный, гибкий, но сложный. UFW — надстройка над ним.
  • firewalld — альтернатива, популярна в CentOS/RHEL, поддерживает зоны и динамические правила. Подробнее: firewalld.org
  • CSF (ConfigServer Security & Firewall) — продвинутый фаервол для хостингов, с интеграцией в панели управления.
  • Shorewall — ещё одна надстройка над iptables, но менее популярна среди новичков.

Для Ubuntu и Debian UFW — оптимальный выбор: прост, стабилен, поддерживается официально (официальная документация).

Статистика и сравнение с другими решениями

Фаервол Сложность Гибкость Автоматизация Поддержка в Ubuntu
UFW Минимальная Средняя Высокая (скрипты, Ansible) Отличная
iptables Высокая Максимальная Средняя Отличная
firewalld Средняя Высокая Высокая Ограниченная
CSF Средняя Высокая Высокая Ограниченная

Интересные факты и нестандартные способы использования UFW

  • UFW можно использовать не только на серверах, но и на рабочих станциях для ограничения доступа к локальным сервисам.
  • Можно создавать профили для разных сценариев (например, “рабочий день” и “ночь”) и переключаться между ними скриптами.
  • UFW отлично интегрируется с Ansible, SaltStack и другими системами автоматизации — можно деплоить правила на сотни серверов за секунды.
  • С помощью UFW можно быстро блокировать IP-адреса злоумышленников прямо из логов (например, через fail2ban).
  • UFW поддерживает IPv6 “из коробки” — не нужно отдельно настраивать.

Новые возможности: автоматизация и скрипты

UFW — это не только ручное управление. Его команды легко интегрируются в bash-скрипты, CI/CD пайплайны и инструменты автоматизации. Например:

  • Автоматическое открытие портов при деплое новых сервисов.
  • Быстрое добавление/удаление IP-адресов в белый/чёрный список.
  • Сброс и восстановление правил по расписанию (например, ночью закрывать все порты, кроме SSH).
  • Интеграция с fail2ban для автоматической блокировки атакующих IP.

Пример скрипта для автоматического бана IP из лога:


grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10 | awk '{print $2}' | while read ip; do
sudo ufw deny from $ip
done

Выводы и рекомендации

UFW — это must-have для любого, кто хочет быстро и надёжно защитить свой сервер на Ubuntu. Он прост в освоении, не требует глубоких знаний iptables, но при этом достаточно гибок для большинства задач. Используй UFW, если тебе нужен быстрый старт, понятные команды и возможность автоматизации. Не забывай про базовые правила: всегда разрешай SSH перед включением, открывай только нужные порты, логируй события и регулярно проверяй статус.

Если тебе нужен VPS для экспериментов или боевых задач — закажи VPS здесь. Для более серьёзных проектов — выделенный сервер с полной свободой действий.

UFW — это твой первый шаг к автоматизации и безопасности. Не ленись, настрой фаервол — и спи спокойно!


В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.

Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.

Leave a reply

Your email address will not be published. Required fields are marked