Поиск по сайту:

Установка UFW: Как настроить базовый брандмауэр в Linux


UFW (Uncomplicated Firewall) упрощает управление брандмауэром Linux, предоставляя удобный интерфейс для iptables. В этом руководстве рассматривается установка и настройка UFW на дистрибутивах на базе Debian, от базовой установки до практических конфигураций брандмауэра для рабочих столов и веб-серверов.

В этом руководстве вы узнаете:

  • Как установить UFW на дистрибутивах, основанных на Debian
  • Как настроить стандартные политики брандмауэра
  • Как разрешать и блокировать трафик по сервису, порту и IP
  • Как использовать профили приложений UFW
  • Как настроить правила брандмауэра для настольных компьютеров и серверов

Краткое содержание статьи: Установите UFW с помощью sudo apt install ufw, затем настройте политики по умолчанию и включите брандмауэр.

ШагКоманда/Действие
1. Установите UFW
sudo apt install ufw
2. Установить политики по умолчаниюsudo ufw default deny incoming
sudo ufw default allow outgoing
3. Разрешить доступ по SSH
sudo ufw allow ssh
4. Включите брандмауэр
sudo ufw enable

Установите UFW

UFW доступен в стандартных репозиториях дистрибутивов на базе Debian. Установите его с помощью менеджера пакетов apt:

$ sudo apt install ufw

После установки UFW по умолчанию не активен. Это позволяет вам настроить правила перед включением брандмауэра, предотвращая случайное блокирование доступа с удалённых систем.

Установить значения по умолчанию

Как и с iptables, лучше всего начать с установки поведения по умолчанию. На настольных компьютерах обычно хотят блокировать входящий трафик, разрешая исходящие подключения.

$ sudo ufw default deny incoming

Синтаксис для разрешения трафика аналогичен:

$ sudo ufw default allow outgoing

Эти настройки по умолчанию обеспечивают блокировку нежелательных входящих соединений, при этом ваша система всё еще может выходить в интернет и взаимодействовать с внешними сервисами.

Основное использование

Теперь вы готовы начать настройку правил и управление вашим брандмауэром. Команды UFW созданы так, чтобы быть понятными и интуитивно понятными.

Запуск и остановка

Хотя вы можете использовать systemd для управления UFW, у него есть собственные средства управления, которые проще. Начните с включения UFW:

$ sudo ufw enable

ПРЕДУПРЕЖДЕНИЕ
Если вы подключены через SSH, убедитесь, что вы разрешили трафик SSH перед включением UFW, иначе вы можете потерять доступ к своей системе.

Чтобы остановить и отключить UFW при запуске:

$ sudo ufw disable

Проверьте, запущен ли UFW, и просмотрите активные правила:

$ sudo ufw status

Для более подробного вывода с указанием номеров правил:

$ sudo ufw status numbered

Команды

Разрешить входящий HTTP-трафик с использованием имени сервиса:

$ sudo ufw allow http

Разрешить SSH-подключения:

$ sudo ufw allow ssh

Вы можете достичь того же результата, используя номера портов. Эта команда позволяет входящий HTTPS-трафик на порту 443:

$ sudo ufw allow 443

Разрешить трафик с конкретного IP-адреса или диапазона сети. В этом примере разрешается весь трафик с локальной сети:

$ sudo ufw allow from 192.168.1.0/24

Для диапазона портов укажите протокол (TCP или UDP):

$ sudo ufw allow 56881:56889/tcp

Используйте deny вместо allow, чтобы заблокировать трафик:

$ sudo ufw deny from 192.168.1.110

Чтобы специально нацелиться на исходящие соединения, включите out:

$ sudo ufw allow out ssh

Чтобы удалить правило, используйте номер правила из ufw status numbered:

$ sudo ufw delete 3

Профили приложений UFW

UFW включает профили приложений, которые определяют правила брандмауэра для распространённых сервисов. Эти профили упрощают настройку, объединяя параметры портов и протоколов под узнаваемыми именами приложений.

Список доступных профилей приложений:

$ sudo ufw app list

Просмотреть сведения о конкретном профиле приложения:

$ sudo ufw app info OpenSSH

Это отображает порты и протоколы, которые использует приложение. Чтобы разрешить приложению доступ через брандмауэр:

$ sudo ufw allow OpenSSH

Распространённые профили приложений включают OpenSSH, Apache, Apache Full, Nginx Full и другие, в зависимости от установленного программного обеспечения. Профили приложений хранятся в /etc/ufw/applications.d/, и вы можете создавать собственные профили для ваших приложений.

Настройка настольного компьютера

Этот пример предоставляет отправную точку для базовой настройки настольного файервола. Настройте правила в соответствии с вашими конкретными потребностями.

Начните с установки значений по умолчанию:

$ sudo ufw default deny incoming
$ sudo ufw default allow outgoing

Разрешить трафик HTTP и HTTPS для веб-серфинга:

$ sudo ufw allow http
$ sudo ufw allow https

Включить доступ по SSH:

$ sudo ufw allow ssh

Разрешить NTP для синхронизации системного времени:

$ sudo ufw allow ntp

Если вы не используете статический IP, разрешите DHCP на портах 67 и 68:

$ sudo ufw allow 67:68/udp

Разрешить DNS-трафик для разрешения доменных имен:

$ sudo ufw allow 53

Для торрент-клиентов, таких как Deluge:

$ sudo ufw allow 56881:56889/tcp

Steam требует несколько портов:

$ sudo ufw allow 27000:27036/udp
$ sudo ufw allow 27036:27037/tcp
$ sudo ufw allow 4380/udp

Настройка веб-сервера

Веб-серверам требуется более строгая конфигурация, чтобы минимизировать поверхность атаки, при этом обеспечивая беспрепятственный поток легитимного трафика.

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

$ sudo ufw default deny incoming
$ sudo ufw default deny outgoing
$ sudo ufw default deny forward

Разрешить входящий и исходящий веб-трафик:

$ sudo ufw allow http
$ sudo ufw allow out http
$ sudo ufw allow https
$ sudo ufw allow out https

Разрешить SSH для удаленного управления:

$ sudo ufw allow ssh
$ sudo ufw allow out ssh

Включите NTP для синхронизации времени:

$ sudo ufw allow ntp
$ sudo ufw allow out ntp

Разрешить DNS для обновлений пакетов и разрешения доменов:

$ sudo ufw allow 53
$ sudo ufw allow out 53

Заключение

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

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

  1. Как проверить, блокирует ли UFW определённое соединение? Используйте sudo ufw status verbose, чтобы увидеть все активные правила и их политики. Также можно проверить логи UFW в /var/log/ufw.log на предмет заблокированных попыток соединения. Включите ведение логов с помощью sudo ufw logging on, если оно ещё не активно.
  2. Могу ли я сбросить UFW до его состояния по умолчанию? Да, выполните sudo ufw reset, чтобы удалить все правила и отключить брандмауэр. Это возвращает UFW к его первоначальному состоянию после установки, что полезно, если вы сделали ошибки в конфигурации и хотите начать с чистого листа.
  3. В чем разница между ufw allow и ufw limit? Команда allow разрешает весь совпадающий трафик, в то время как limit добавляет ограничение скорости для предотвращения атак методом перебора. Например, sudo ufw limit ssh разрешает SSH-подключения, но блокирует IP-адрес, который делает более 6 подключений за 30 секунд.
  4. Сохраняется ли UFW после перезагрузки? Да, после включения с помощью sudo ufw enable, UFW автоматически запускается при загрузке и загружает ваши сохранённые правила. Правила хранятся в /etc/ufw/ и сохраняются после перезагрузки без дополнительной настройки.