- Home »

Настройка фаервола 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. Всё максимально просто, но с нюансами, которые часто упускают новички.
- Установка UFW (если не установлен):
sudo apt update
sudo apt install ufw
- Проверка статуса:
sudo ufw status verbose
Если видишь Status: inactive — значит, фаервол пока не работает.
- Разреши себе доступ по SSH (иначе можно отрезать себя от сервера!):
sudo ufw allow ssh
Или, если SSH на нестандартном порту (например, 2222):
sudo ufw allow 2222/tcp
- Разреши нужные сервисы (например, HTTP/HTTPS):
sudo ufw allow http
sudo ufw allow https
Или по портам:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- Включи UFW:
sudo ufw enable
Всё! Теперь твой сервер защищён базово.
- Проверь статус и правила:
sudo ufw status numbered
- Ограничь доступ по IP (например, только для своего офиса):
sudo ufw allow from 203.0.113.5 to any port 22 proto tcp
- Отключи ненужные сервисы:
sudo ufw deny 3306/tcp
(Например, чтобы MySQL был доступен только локально)
- Включи логирование (по желанию):
sudo ufw logging on
- Отключи 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 — это твой первый шаг к автоматизации и безопасности. Не ленись, настрой фаервол — и спи спокойно!
В этой статье собрана информация и материалы из различных интернет-источников. Мы признаем и ценим работу всех оригинальных авторов, издателей и веб-сайтов. Несмотря на то, что были приложены все усилия для надлежащего указания исходного материала, любая непреднамеренная оплошность или упущение не являются нарушением авторских прав. Все упомянутые товарные знаки, логотипы и изображения являются собственностью соответствующих владельцев. Если вы считаете, что какой-либо контент, использованный в этой статье, нарушает ваши авторские права, немедленно свяжитесь с нами для рассмотрения и принятия оперативных мер.
Данная статья предназначена исключительно для ознакомительных и образовательных целей и не ущемляет права правообладателей. Если какой-либо материал, защищенный авторским правом, был использован без должного упоминания или с нарушением законов об авторском праве, это непреднамеренно, и мы исправим это незамедлительно после уведомления. Обратите внимание, что переиздание, распространение или воспроизведение части или всего содержимого в любой форме запрещено без письменного разрешения автора и владельца веб-сайта. Для получения разрешений или дополнительных запросов, пожалуйста, свяжитесь с нами.