sadrix logoSadriX
Гайды

Как настроить UFW (Uncomplicated Firewall) на Ubuntu: пошаговое руководство

Простое руководство для защиты сервера или домашнего компьютера с помощью UFW

09 944 просмотров3 мин
0
Поделиться:TelegramVK

Введение

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 3

2. По спецификации правила:

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. Следуя шагам из этого руководства, вы сможете быстро настроить базовую защиту, разрешить нужные порты и обеспечить безопасность сервера. Не забывайте регулярно проверять правила и логи, чтобы поддерживать актуальный уровень защиты.

Читайте также

Комментарии

Комментарии доступны только зарегистрированным пользователям. Войти

  • Пока нет комментариев. Будьте первым.