
UFW (Uncomplicated Firewall) – это простая в использовании программа на основе командной строки для управления брандмауэром Netfilter. Она выступает в качестве интерфейса для настройки iptables с помощью простых команд. UFW изначально разработан для ОС Ubuntu и доступен начиная с версии 8.04 LTS.
Каждый брандмауэр имеет правила для контроля отдельных пакетов. Правила пишутся для того, чтобы разрешить или запретить входящие и исходящие пакеты. В этом небольшом руководстве мы узнаем, как составить список правил UFW из терминала.
Перечисление правил UFW
Вывод списка UFW-правил поможет вам проверить выполнение правил в брандмауэре. Мы рассмотрим 4 способа вывода списка UFW-правил из терминала.
1. ufw status
UFW status отображает список всех правил, созданных UFW, с терминала.
Кроме того, он показывает статус брандмауэра UFW – active или inactive.
sudo ufw statusOutputStatus: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
Первая строка указывает на статус брандмауэра.
Статус active означает, что брандмауэр включен и работает.
Следующая строка показывает все правила UFW, которые вы добавили из терминала.
Помните, что команда ufw status не выводит список конкретных правил, добавленных в файлы правил ufw, но показывает все правила, добавленные с терминала.
2. ufw status verbose
Чтобы вывести список всех правил с дополнительной информацией, добавьте verbose к команде ufw status.
Вывод verbose включает информацию о протоколировании, правиле по умолчанию и краткое описание каждого правила.
sudo ufw status verboseOutputLogging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
22/tcp (OpenSSH) ALLOW IN Anywhere
80/tcp (Apache) ALLOW IN Anywhere
5666 ALLOW IN Anywhere
20:21/tcp ALLOW IN Anywhere
443 ALLOW IN Anywhere
22/tcp (OpenSSH (v6)) ALLOW IN Anywhere (v6)
80/tcp (Apache (v6)) ALLOW IN Anywhere (v6)
5666 (v6) ALLOW IN Anywhere (v6)
20:21/tcp (v6) ALLOW IN Anywhere (v6)
443 (v6) ALLOW IN Anywhere (v6)
3. ufw status numbered
Вы можете перечислить все правила с указанием индексного номера напротив каждого правила.
Нумерация начинается с 1 и располагается в том порядке, в котором вы добавляли правила ufw.
Используйте ufw status с последующей опцией numbered:
sudo ufw status numbered
OutputStatus: active
To Action From
-- ------ ----
[ 1] OpenSSH ALLOW IN Anywhere
[ 2] Apache ALLOW IN Anywhere
[ 3] 5666 ALLOW IN Anywhere
[ 4] 20:21/tcp ALLOW IN Anywhere
[ 5] 443 ALLOW IN Anywhere
[ 6] OpenSSH (v6) ALLOW IN Anywhere (v6)
[ 7] Apache (v6) ALLOW IN Anywhere (v6)
[ 8] 5666 (v6) ALLOW IN Anywhere (v6)
[ 9] 20:21/tcp (v6) ALLOW IN Anywhere (v6)
[10] 443 (v6) ALLOW IN Anywhere (v6)
Опция в дополнение к перечислению всех правил помогает удалить конкретное правило.
Выберите в списке номер индекса и выполните следующую команду для удаления этого правила.
sudo ufw delete 5OutputDeleting:
allow 40000:50000/tcp
Proceed with operation (y|n)? y
Rule deleted
4. Файлы правил
Более сложные или специфические правила добавляются в файлы правил.
Файлы правил UFW находятся в /etc/ufw/, а файлы /etc/ufw/before.rules, /etc/ufw/after.rules и /etc/ufw/user.rules.
Вы также можете использовать файлы правил ufw для списка правил ufw, когда брандмауэр неактивен.
В качестве альтернативы используйте команду ufw show added.
Все правила ufw, добавленные с терминала, хранятся в файле users.rules.
Вы можете добавить расширенные правила, используя стандартный синтаксис iptables-restore в файлы before.rules и after.rules.
Используйте ваш любимый редактор, такой как vi или nano, или команду cat для просмотра конкретных правил в файлах rules.
nano /etc/ufw/user.rules
Заключение
В этом руководстве мы научились составлять список правил UFW из терминала.
Это помогает проверить входящие и исходящие правила брандмауэра, которые вы добавили на свой сервер.
Если правила вас не устраивают, вы можете удалить их или, при необходимости, добавить новые правила для повышения безопасности вашей системы.