Linux

Настройка брандмауэра Linux в Ubuntu 22.04: пошаговое руководство

В этом руководстве вы узнаете, как включить и настроить брандмауэр Ubuntu, разрешить необходимые порты и проверить работу системы безопасности.

Обновлено 15 июля 2026 г.
10-15 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04 LTSUbuntu 23.10Debian 12

Введение / Зачем это нужно

Брандмауэр — это первый рубеж защиты любого сервера Linux. Он контролирует входящие и исходящие сетевые подключения, блокируя нежелательный трафик и защищая ваши данные. В Ubuntu стандартным инструментом для этого является UFW (Uncomplicated Firewall). После завершения этого руководства у вас будет настроенный брандмауэр, разрешающий необходимые сервисы (SSH, HTTP, HTTPS) и запрещающий всё остальное, что снижает риск атак и улучшает безопасность вашего сервера.

Требования / Подготовка

  • Операционные системы: Ubuntu 22.04 LTS, Ubuntu 23.10, Debian 12 (другие дистрибутивы могут использовать аналогичные инструменты, например, iptables или firewalld).
  • Права пользователя: Доступ root через sudo.
  • Сетевая инфраструктура: Сервер с установленным сетевым интерфейсом и доступом в интернет.
  • Предустановленные пакеты: UFW уже включён в базовый репозиторий Ubuntu; вам понадобится только sudo и базовые утилиты.

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

sudo apt update
sudo apt install ufw -y

Пошаговая инструкция

Шаг 1: Включить брандмауэр

Активируйте UFW и подтвердите действие:

sudo ufw enable

Вы увидите запрос Продолжить? [y/N]. Введите y, чтобы применить правила.

Шаг 2: Разрешить удаленный SSH-доступ

Для управления сервером по SSH разрешите входящие подключения на порт 22:

sudo ufw allow ssh

Вы также можете разрешить доступ только с конкретного IP-адреса (замените <IP> на нужный адрес):

sudo ufw allow from <IP> to any port 22

Шаг 3: Разрешить веб-трафик (HTTP/HTTPS)

Если вы размещаете веб-сервер, разрешите порты 80 (HTTP) и 443 (HTTPS):

sudo ufw allow 80
sudo ufw allow 443

Шаг 4: Проверить статус брандмауэра

Проверьте, что правила применяются корректно:

sudo ufw status verbose

Вывод покажет:

  • Status: active – брандмауэр включён.
  • Список разрешённых и заблокированных правил.

Шаг 5: Сохранить конфигурацию (опционально)

Правила сохраняются автоматически, но если вы хотите перезагрузить брандмауэр после изменений, выполните:

sudo ufw reload

Проверка результата

После выполнения шагов откройте терминал на удалённом хосте (или используйте ssh локально) и проверьте подключение:

ping -c 3 8.8.8.8
curl -I https://example.com

Если ping и HTTP-запросы проходят, брандмауэр работает корректно. Для тестирования заблокированного порта (например, 22) вы можете временно заблокировать его:

sudo ufw deny 22

и проверить, что SSH недоступен. После теста восстановите правило:

sudo ufw allow 22

Возможные проблемы

СимптомПричинаРешение
Connection timed out при SSHБрандмауэр блокирует порт 22Выполните sudo ufw allow ssh или sudo ufw allow 22
拒绝访问 (отказано в доступе) при веб-сервереПорт 80/443 заблокированРазрешите их: sudo ufw allow 80 и sudo ufw allow 443
ufw: command not foundUFW не установленВыполните sudo apt install ufw -y
Ошибка аутентификации при загрузке UFWИспользование неправильных правВыполните команду от имени root (sudo)
Правило уже существуетДублирующее правилоПроверьте sudo ufw status и удалите лишнее

Если вы столкнулись с ошибкой, которая не указана выше, проверьте журналы (sudo ufw logs) и убедитесь, что в конфигурации нет противоречивых правил. Также убедитесь, что сетевой интерфейс, который вы хотите защитить, не является lo (локальный). Для локального интерфейса выполните sudo ufw allow in on lo.

Часто задаваемые вопросы

Как включить брандмауэр в Ubuntu?
Какие правила создаются по умолчанию?
Как разрешить удаленный доступ по SSH?
Как экспортировать правила брандмауэра?

Полезное

Установить и активировать UFW
Разрешить удаленный SSH-доступ
Разрешить веб-трафик (HTTP/HTTPS)
Проверить статус брандмауэра
Сохранить конфигурацию (опционально)

Эта статья помогла вам решить проблему?