ufw – инструмент для настройки сетевой защиты Ubuntu. Он разработан для легкой настройки iptables и предоставляет дружественный способ создания сетевой защиты для IPv4 и IPv6.

Примеры использования ufw

  1. Для начала требуется разрешить ufw. Наберите в терминале:

sudo ufw enable
Если его не оказалось на сервере (версия старая или по другим причинам), то для установки нужно выполнить команду:
sudo apt-get install ufw

  1. Открыть порт (в данном примере SSH):

sudo ufw allow 22

  1. Правила могут быть добавлены с использованием нумерованного формата:

sudo ufw insert 1 allow 80

  1. Подобным образом можно закрыть открытый порт:

sudo ufw deny 22

  1. Для удаления правила используйте delete:

sudo ufw delete deny 22

  1. Также можно разрешить доступ к порту с определенных компьютеров или сетей. Следующий пример разрешает на этом компьютере доступ по SSH с адреса 192.168.0.2 на любой IP-адрес:

sudo ufw allow proto tcp from 192.168.0.2 to any port 22
Замените 192.168.0.2 на 192.168.0.0/24 чтобы разрешить доступ по SSH для всей подсети.

  1. Добавление опции —dry-run команде ufw выведет список правил, но не применит их. Например, далее показано, что было бы применено, если открыть HTTP-порт:

sudo ufw --dry-run allow http

*filter

:ufw-user-input — [0:0]

:ufw-user-output — [0:0]

:ufw-user-forward — [0:0]

:ufw-user-limit — [0:0]

:ufw-user-limit-accept — [0:0]

### RULES ###

### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0

-A ufw-user-input -p tcp —dport 80 -j ACCEPT

### END RULES ###

-A ufw-user-input -j RETURN

-A ufw-user-output -j RETURN

-A ufw-user-forward -j RETURN

-A ufw-user-limit -m limit —limit 3/minute -j LOG —log-prefix «[UFW LIMIT]: »

-A ufw-user-limit -j REJECT

-A ufw-user-limit-accept -j ACCEPT

COMMIT

Rules updated

  1. ufw можно выключить командой:

sudo ufw disable
Отключение firewall в Ubuntu можно выполнить этой командой (UFW — это Uncomplicated Firewall).

  1. Чтобы посмотреть статус сетевой защиты:

sudo ufw status

  1. Для более полного отображения информации введите:

sudo ufw status verbose

  1. Для отображения в виде формата numbered:

sudo ufw status numbered

12. Для сброса правил воспользуйтесь командой sudo ufw reset, 2 пункт также можно использовать диапазон партов 2000:3000, пункт 13 Логирование, Для включения логов введите команду: sudo ufw logging on Ufw поддерживает несколько уровней логирования:

off –отключен.
low – регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам.
medium – все то же, что при значении low, плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости.
high – работает так же, как и medium, плюс все пакеты с ограничением скорости.
full – также как и high, но без ограничения скорости.

Чтобы задать уровень, укажите его как параметр:
sudo ufw logging high

По умолчанию используется уровень low.

Для просмотра файлов, относящихся к логам ufw, используйте команду:
ls /var/log/ufw*

Интеграция приложений в ufw

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

  1. Чтобы посмотреть, для каких приложений установлен профиль, введите следующую команду в терминале:

sudo ufw app list

  1. Аналогично: разрешить трафик по порту, используя профиль приложения, можно следующей командой:

sudo ufw allow Samba

  1. Также доступен расширенный синтаксис:

ufw allow from 192.168.0.0/24 to any app Samba
Замените Samba и 192.168.0.0/24 на используемый вами профиль приложения и IP-диапазон вашей сети.

Нет необходимости в определении протокола, поскольку эта информация детализирована в профиле. Также обратите внимание, что имя app заменило номер port.

  1. Для просмотра деталей, какие порты, протоколы и пр. определены для приложения, введите:

sudo ufw app info Samba
Не для всех приложений, которые требуют открытие сетевого порта, поставляется профиль ufw, но, если у вас есть профиль для приложения и вы хотите, чтобы этот файл был включен в пакет приложения, зарегистрируйте ошибку о пакете на сайте Launchpad.
ubuntu-bug nameofpackage