Неверно - 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, через него можно и блокировать трафик, и натить его, можно даже через разные таблицы маршрутизиторовать.