ufw
— питоновский скрипт в Ubuntu для управление брандмауэром netfilter/iptables. Конфигурационные файлы находятся в каталоге /etc/ufw/
.
Перед включением брандмауэра удалённо по сети необходимо убедиться, что правила разрешают удалённый доступ по SSH. Для этого надо посмотреть правила в файле /etc/ufw/user.rules или выполнить добавление фиктивного правила с опцией --dry-run:
ufw --dry-run allow 1
У UFW есть пара недостатков:
Проверка состояния UFW:
ufw status verbose
Включение UFW
ufw enable
Отключение UFW
ufw disable
Установка правил по умолчанию
ufw default deny incoming
ufw default allow outgoing
Добавление разрешающих правил
ufw allow ssh
ufw allow 8080
ufw allow 80/tcp
Добавление запрещающих правил
ufw deny http
ufw deny from 123.45.67.89
Добавление правил в начало
ufw prepend allow http
Добавление правил в список по номеру
ufw status numbered
...
ufw insert 4 allow http
Добавление диапазонов портов
sudo ufw allow 7100:7150
Добавление разрешений по IP
ufw allow from 123.45.67.89
ufw allow from 123.45.67.0/24
ufw allow from 123.45.67.0/24 to any port 22
Удаление правил
ufw delete allow http
Удаление правил по номеру
ufw status numbered
...
ufw delete 2
Удаление всех правил
ufw reset
Если хочется изменить правила в цепочке FORWARD, то в начало правила надо добавить слово route
ufw route allow from 123.45.67.0/24
ufw route delete allow from 123.45.67.0/24
Включение/выключение сохранения логов в syslog (файлы /var/log/ufw*)
ufw logging <op>
Где <op>
Пакеты приложений могут добавлять списки необходимых им портов в файлы в каталоге /etc/ufw/applications.d. В последующем при задании правил вместо номера порта можно указывать app <NAME>
Список приложений:
ufw app list
Информация о конфигурации приложения
ufw app info <NAME>
Разрешить доступ к приложению. Имя приложения указывается вместо имени порта.
ufw allow <NAME>
ufw allow from 192.168.0.0/16 to any app <NAME>