Как настроить UFW (Uncomplicated Firewall) на Ubuntu: пошаговое руководство
Простое руководство для защиты сервера или домашнего компьютера с помощью UFW
Введение
UFW (Uncomplicated Firewall) — это удобная надстройка над iptables, созданная для упрощения управления межсетевым экраном в Ubuntu и других Linux-дистрибутивах. С её помощью можно быстро настроить базовую защиту сервера или домашнего компьютера, не углубляясь в сложный синтаксис iptables. В этом руководстве мы рассмотрим установку, базовую конфигурацию, управление правилами и типичные ошибки при работе с UFW.
Требования
Компьютер или сервер под управлением Ubuntu (18.04, 20.04, 22.04, 24.04 и новее).
Доступ к терминалу с правами sudo.
Базовые навыки работы с командной строкой.
Понимание сетевых портов и протоколов (TCP/UDP).
Шаг 1: Проверка наличия UFW
В большинстве современных версий Ubuntu UFW уже установлен. Проверить это можно командой:
sudo ufw statusЕсли утилита не найдена, установите её:
sudo apt update
sudo apt install ufwШаг 2: Установка политик по умолчанию
Перед включением файрвола важно задать правила по умолчанию. Рекомендуется запретить все входящие соединения и разрешить все исходящие:
sudo ufw default deny incoming
sudo ufw default allow outgoingЭто обеспечит базовый уровень безопасности: без явного разрешения никакие внешние подключения не пройдут.
Шаг 3: Разрешение необходимых портов
Чтобы не потерять доступ к серверу, сначала разрешите SSH (порт 22):
sudo ufw allow sshИли явно укажите порт:
sudo ufw allow 22/tcpЕсли вы используете нестандартный порт SSH, укажите его.
Шаг 4: Включение UFW
После добавления правил активируйте файрвол:
sudo ufw enableСистема предупредит о возможном разрыве SSH-соединения. Подтвердите действие (y). Теперь UFW активен и будет запускаться автоматически при загрузке.
Шаг 5: Проверка статуса и правил
Посмотреть текущие правила можно командой:
sudo ufw status verboseВы увидите список разрешённых и запрещённых портов, а также политики по умолчанию.
Шаг 6: Разрешение и запрет портов
Для разрешения HTTP и HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpИли используя имена сервисов:
sudo ufw allow http
sudo ufw allow httpsЧтобы запретить порт:
sudo ufw deny 3306Шаг 7: Удаление правил
Удалить правило можно двумя способами:
1. По номеру правила (сначала посмотрите список с номерами: sudo ufw status numbered):
sudo ufw delete 32. По спецификации правила:
sudo ufw delete allow 80/tcpШаг 8: Ограничение доступа по IP-адресу
Чтобы разрешить подключения только с определённого IP:
sudo ufw allow from 192.168.1.100 to any port 22Или запретить конкретному IP:
sudo ufw deny from 203.0.113.5Шаг 9: Работа с профилями приложений
UFW поддерживает профили приложений, которые упрощают настройку. Посмотреть доступные профили:
sudo ufw app listНапример, для Nginx:
sudo ufw allow 'Nginx Full'Шаг 10: Настройка логирования
Включить логирование можно командой:
sudo ufw logging onУровни логирования: low, medium, high, full. Изменить уровень:
sudo ufw logging mediumЛоги пишутся в /var/log/ufw.log или /var/log/syslog.
Шаг 11: Ограничение частоты подключений (rate limiting)
Для защиты от брутфорс-атак можно включить ограничение:
sudo ufw limit sshЭто ограничит количество попыток подключения с одного IP за определённый интервал.
Шаг 12: Сброс всех правил
Если нужно начать заново, сбросьте конфигурацию:
sudo ufw resetУчтите, что это отключит файрвол и удалит все правила. После сброса потребуется заново настроить и включить UFW.
Шаг 13: Отключение и включение UFW
Временно отключить:
sudo ufw disableВключить обратно:
sudo ufw enableШаг 14: Просмотр правил с номерами
Для удобного управления используйте нумерацию:
sudo ufw status numberedЭто поможет быстро удалять ненужные правила по номеру.
Типичные ошибки
Блокировка SSH до включения UFW. Всегда сначала разрешайте SSH, иначе потеряете удалённый доступ.
Использование `ufw enable` без предварительной настройки. Это может привести к блокировке всех входящих соединений.
Забыли про IPv6. Если в сети используется IPv6, убедитесь, что UFW настроен на работу с ним (по умолчанию включён).
Неверный синтаксис правил. Например,
allow 80без указания протокола может трактоваться иначе. Лучше указывать80/tcp.Отсутствие логирования. Без логов сложно диагностировать проблемы с подключением.
FAQ
Вопрос: Как проверить, работает ли UFW? Ответ: Выполните sudo ufw status verbose. Если статус active, файрвол работает.
Вопрос: Можно ли использовать UFW вместе с Docker? Ответ: Да, но Docker управляет iptables самостоятельно и может обходить правила UFW. Для корректной работы требуется дополнительная настройка.
Вопрос: Как разрешить все порты для определённой подсети? Ответ: sudo ufw allow from 192.168.1.0/24
Вопрос: Что делать, если я заблокировал себе доступ? Ответ: Если у вас есть физический доступ к машине, войдите локально и исправьте правила. На удалённом сервере может потребоваться восстановление через консоль хостинга.
Вопрос: Как удалить все правила? Ответ: sudo ufw reset удалит все правила и отключит файрвол.
Итог
UFW — мощный и простой инструмент для управления файрволом в Ubuntu. Следуя шагам из этого руководства, вы сможете быстро настроить базовую защиту, разрешить нужные порты и обеспечить безопасность сервера. Не забывайте регулярно проверять правила и логи, чтобы поддерживать актуальный уровень защиты.
Читайте также
Intel распродала все процессоры Wildcat Lake: что известно о дефиците бюджетных чипов
DeepSeek и Moonshot приписывают обучение новых моделей на ответах GPT-6 Astra
Honor представила смартфон X9e s с батареей 8560 мА·ч — в СНГ у него есть близнец Turbo 5G
Anthropic предупредила инвесторов об экзистенциальных рисках своего ИИ в документах к IPO
Комментарии
Комментарии доступны только зарегистрированным пользователям. Войти
- Пока нет комментариев. Будьте первым.
