Você pode filtrar pacotes de saída com base no fluxo do processo de origem. Por exemplo:
iptables -A OUTPUT -m owner --uid-owner some_user -j DROP
O iptables não consegue distinguir entre processos interativos e não interativos. Mas você pode querer olhar para o Linux CGROUP para isso. Especificamente, o subsistema net_cls . Você pode marcar pacotes com o subsistema net_cls e depois filtrá-los com iptables. Portanto, o processo seria primeiro colocar o shell do usuário interativo em um cgroup net_cls, que marca os pacotes de saída, e filtrar esses pacotes com o iptables.