Как настроить GuFw?

Неверно — ufw не умеет отличать пакет, посланный одним приложением, от пакета, посланного другим, если у них одинаковый destination IP и порт. А то что в gufw называется приложением, всего лишь его профиль (скажем DNS — исходящий UDP dstport=53, SSH — входящий TCP dstport=22, итд). Вероятно надо копать в сторону cgroups, чего я ещё не делал.
Максим Гришин, ТС точно нужно копать в сторону дурки, это тут уже давно выяснили.
ufw это обёртка над netfilter, который вообще понятия не имеет какой процесс этот пакет создал, его задача обработать его по правилам и отправить в нужный сетевой интерфейс. поэтому задача лепить правила для процесса в принципе не имеет решения

Wexter, ТС отдельно, вопрос отдельно. я нашел в нете решение через iptables -m owner и запуск процесса с измененным gid, изврат но кажется работает, так что почему бы и не быть решению для хотя бы автоматического назначения cgroup по списку процессов (о фильтре для iptables упоминается в мануале по cgroups v2, то есть тот же принцип построения фильтра даст остаток решения), вплоть до точного пути во избежание запуска скажем /home/user/evilstuff/chrome с попаданием в разрешенные для выхода в интернет. А это надо поискать.

Да, можно делать следующее — запускать приложения от другого пользователя, в самом iptables использовать модуль owner, через него можно и блокировать трафик, и натить его, можно даже через разные таблицы маршрутизиторовать.
Gufw

Gufw — очень простой и функциональный файрвол. Позволяет пропускать или блокировать сетевые пакеты в соответствии с заданными правилами. Можно настроить работу с сетью для определенного приложения или протокола, или ввести произвольные параметры обработки пакетов.
Интерфейс программы выполнен просто и понятно.
В главном окне отображается список правил обработки сетевых пакетов.
Настройка новых правил в Gufw выполняется в графическом режиме. Вы просто последовательно выбираете из готовых списков действия, которые необходимо выполнить, вводите необходимые параметры (ip-адреса, порты), нажимаете кнопку Добавить , и новое правило тут же начинает работать.
Также есть предустановленные правила для некоторых программ, работающих с сетью. Можно, например, запретить выход в интернет для определенного приложения или, например, запретить FTP протокол.
Gufw является графическим интерфейсом (GUI) для межсетевого экрана (утилиты) ufw (Uncomplicated Firewall).
Установка
Установка в Ubuntu (LinuxMint)
sudo apt install gufw
Установка в openSuse
sudo zypper install gufw
Настройка фаервола в Ubuntu с помощью утилиты UFW
Рассмотрим основные команды и правила работы с утилитой UFW.
Введение
UFW (Uncomplicated Firewall) — удобный интерфейс для управления политиками безопасности межсетевого экрана. Наши серверы постоянно подвергаются различным атакам или сканируются в поиске уязвимостей. Как только эти уязвимости находятся, мы рискуем стать частью ботнета, раскрыть конфиденциальные данные или потерять деньги из-за сбоев в работе веб-приложений. Одной из первых мер по снижению рисков безопасности является грамотная настройка правил межсетевого экрана. В нашем руководстве мы рассмотрим основные команды и правила работы с утилитой UFW.
Предварительные требования
- Для начала работы с UFW вам потребуется суперпользователь( возможность исполнения команд под sudo).
- Утилита UFW предустановлена в системе. Если по какой-то причине она была отсутствует, вы можете установить ее с помощью команды:
sudo apt-get install ufw
Проверка правил и текущего состояния UFW
В любое время вы можете проверить состояние UFW с помощью команды:
sudo ufw status verbose
По умолчанию UFW отключен, так что вы должны увидеть что-то вроде этого:
Status: inactive
Если UFW включен, то в консоли будут перечисляться заданные правила. Например, если firewall настроен таким образом — SSH (порт 22) соединение из любой точки мира, консоль может выглядеть следующим образом:
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip To Action From -- ------ ---- 22 ALLOW IN Anywhere 22 (v6) ALLOW IN Anywhere (v6)
Так вы всегда можете узнать как настроен фаервол.
Внимание! Проведите начальную настройку перед включением UFW. В частности, должен быть доступен SSH(22 порт). В ином случае вы рискуете потерять доступ к серверу.
Начальная настройка
По умолчанию UFW настройки запрещают все входящие соединения и разрешают все исходящие. Это значит, что если кто-то попытается достичь ваш сервер, он не сможет подключиться, в то время как любое приложение на сервере имеет доступ к внешним соединениям.
Cоответствующие правила фаервола прописываются так:
sudo ufw default deny incoming sudo ufw default allow outgoing
Добавление правила для SSH-соединений
Чтобы разрешить входящие SSH-соединения, выполните команду:
sudo ufw allow ssh
SSH демон прослушивает 22 порт. UFW знает об именах распространенных служб (ssh, sftp, http, https), поэтому вы можете использовать их вместо номера порта.
Если ваш SSH-демон использует другой порт, вам необходимо указать его в явном виде, например:
sudo ufw allow 2222
Теперь, когда ваш межсетевой экран настроен, можете включать его.
Запуск UFW
Чтобы включить UFW, используйте следующую команду:
sudo ufw enable
Вы получите похожее предупреждение:
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Это означает, что запуск этого сервиса может разорвать текущее ssh соединение.
Но, так как мы его уже добавили ssh в правила, этого не произойдет. Поэтому просто нажмите (y).
Добавление правил для других подключений
Чтобы ваши приложения работали корректно, вам необходимо добавить другие правила. Ниже будут показаны настроить для наиболее распространённых служб.
HTTP (80 порт)
Для работы не зашифрованных веб-серверов используйте следующую команду:
sudo ufw allow http
sudo ufw allow 80
HTTPS (443 порт)
То же самое, что и в предыдущем примере, но для зашифрованных соединений:
sudo ufw allow https
sudo ufw allow 443
FTP (21 порт)
Данный порт используется для незашифрованной передачи файлов:
sudo ufw allow ftp
sudo ufw allow 21/tcp
Добавление диапазонов портов
sudo ufw allow 3000:3100
Также вы можете указывать конкретный протокол:
sudo ufw allow 3000:3100/tcp sudo ufw allow 3000:3100/udp
Добавление IP-адресов
Вs можете указать IP-адрес, которому будет разрешен доступ.
sudo ufw allow from 123.45.67.89
В приведенном примере указанному адресу разрешается доступ ко всем портам сервера.
Если же вы хотите указать доступ к конкретному порту, воспользуйтесь командой вида:
sudo ufw allow from 123.45.67.89 to any port 22
Аналогичным образом вы можете работать с диапазонами IP-адресов:
sudo ufw allow from 123.45.67.89/24 sudo ufw allow from 123.45.67.89/24 to any port 22
Ограничение подключений
Чтобы запретить HTTP-соединения, вы можете использовать следующую команду:
sudo ufw deny http
Если вы хотите запретить все соединения с 123.45.67.89, воспользуйтесь следующей командой:
sudo ufw deny from 123.45.67.89
Удаление правил
Существует два способа удаления правил. Первый — по номеру правила. Выполните команду:
sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 80 ALLOW IN Anywhere [ 3] 22 (v6) ALLOW IN Anywhere (v6) [ 4] 80 (v6) ALLOW IN Anywhere (v6)
После этого выполните команду ufw delete и укажите номер правила, которое следует удалить:
sudo ufw delete 2
Второй способ заключается в том, что после команды ufw delete используется фактическое правило, например:
sudo ufw delete allow http
sudo ufw delete allow 80
Отключение UFW
Отключить UFW можно при помощи команды:
sudo ufw disable
В результате ее выполнения все созданные ранее правила утратят силу.
Сброс правил
Если вам требуется сбросить текущие настройки, воспользуйтесь командой:
sudo ufw reset
В результате ее выполнения все правила будут отключены и удалены.
Логи
В Ufw есть опция сохранения логов — журнал событий. Для запуска, используйте команду:
sudo ufw logging on
Ufw поддерживает нескоько уровней логгирования:
- off — отключен.
- low — регистрирует все заблокированные пакеты, не соответствующие заданной политике (с ограничением скорости), а также пакеты, соответствующие зарегистрированным правилам.
- medium — все то, что при значении low. Плюс все разрешенные пакеты, не соответствующие заданной политике, все недопустимые пакеты, и все новые соединения. Все записи ведутся с ограничением скорости.
- high — работает также как и medium. Плюс все пакеты с ограничением скорости.
- full — также как и high, но без ограниения скорости.
Чтобы задать уровень, укажите его как параметр:
sudo ufw logging high
По умолчанию используется уровень low.
Для просмотра файлов относящихся с логам ufw используйте команду:
ls /var/log/ufw*
Заключение
Теперь ваш фаервол имеет минимально необходимые настройки для дальнейшей работы. Далее удостоверьтесь, что все подключения используемые вашим веб-приложением также разрешены и заблокируйте те, в которых нет необходимости. Это снизит риски проникновения на ваш сервер и совершения хакерами вредоносных действий.
Зарегистрируйтесь в панели управления
И уже через пару минут сможете арендовать сервер, развернуть базы данных или обеспечить быструю доставку контента.
Введение
Gufw является графической оболочкой к программе UFW (с англ. «Uncomplicated Firewall»-незамысловатый межсетевой экран).
Установка
Для того чтобы установить Gufw, вы должны подключить стандартный репозиторий. Для установки Gufw можно использовать менеджер пакетов Synaptic или выполнить в терминале команду:
sudo apt-get install gufw
Использование
Чтобы получить доступ к GUFW, перейдите в Система->Администрирование->Конфигурация межсетевого экрана.
По умолчанию брандмауэр отключен.

Включение
Чтобы включить брандмауэр, просто поставьте галочку напротив параметра «Включить» после этого по умолчанию любой доступ к компьютеру будет Запрещен.

Добавление правил
Чтобы настроить брандмауэр, мы добавляем свои правила. Просто нажмите кнопку Добавить и появится новое окно. Подробнее об этой реализации, см. страницу UFW. Правила могут быть сконфигурированы для TCP и UDP портов, кроме того, UFW имеет несколько предварительно настроенных шаблонов для программ или услуг, чтобы пользователю было легче создать правила для этих программ или услуг.
- Разрешить: система разрешит входящий трафик через порт.
- Запретить: система запретит входящий трафик на порт.
- Отклонить: система запретит входящий трафик на порт и сообщит запрашивающему об отклонении запроса.
- Ограничение: система будет отрицать соединения, если IP-адрес попытается инициировать 6 или более соединений за последние 30 секунд.
Использование шаблонов создания правил
Шаблоны создания правил дают возможность управления трафиком для распространенных программ и услуг.

Ярким примером является, представленное на странице UFW, руководство, которое показывает, как разрешить или запретить доступ к компьютеру по протоколу SSH, который использует порт 22. Если вы выберите в выпадающем списке пункты «Разрешить», «Сервис», «SSH», то брандмауэр будет настроен на принятие трафика по протоколу SSH.
Простое
Не все программы доступны для конфигурирования с помощью готовых шаблонов в Gufw, но мы все же можем добавить правила для них, используя вкладку Простые.

Опять же, мы будем использовать в качестве примера SSH — просто представим что для него нет предварительно созданного шаблона. Чтобы включить его во вкладке Простые, выберите «Разрешить», «TCP», «22» и нажмите кнопку Добавить.
Расширенный
Иногда мы хотим настроить доступ на основе определенных IP-адресов или диапазонов IP, поэтому мы используем вкладку Расширенные вкладке.

Вернемся к SSH. Например, скажем, мы хотим обеспечить доступ пользователей к локальной сети, используя диапазон IP-адресов 192.168.1.100 — 192.168.1.150. Вам нужно будет выбрать варианты «Разрешить», «TCP», С: «192.168.1.100»/»22″, ПО: «192.168.1.150»/»22″.
Настройки
Есть только две возможные настройки в графическом модуле Gufw, для этого зайдите в Edit-> Preferences

Здесь вы можете контролировать ведение журнала для UFW и Gufw. По умолчанию, включить ведение журнала для UFW, и отключить ведение журнала для Gufw.
Другие ресурсы
Gufw/RU (последним исправлял пользователь 84 2013-01-10 18:22:14)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details