Estou lutando com o iptables. Quero bloquear TODO o tráfego de saída, exceto por um único software executado sob uma conta de usuário específica.
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT all -- anywhere anywhere owner UID match test
2 DROP all -- anywhere anywhere
Isso não funciona. O usuário de teste pode fazer ping no prompt de comando, mas, por exemplo, a navegação com o Firefox não funciona.
Se eu adicionar uma regra extra para o usuário em que meu software está sendo executado (acho que esse usuário é uma conta de serviço? Ele foi criado pelo software na instalação) Não sou especialista em Linux) Tenho o mesmo problema . Observando os logs do aplicativo, parece que o software não consegue acessar a Internet.
Quando adiciono uma regra de aceitar tudo em qualquer lugar, tudo está funcionando (tanto para meu usuário de teste normal quanto para a conta de usuário do software). Eu também tentei criar um novo usuário de desktop normal e que tem o mesmo problema. Ping OK, mas sem acesso à Internet através de um navegador. Tenho a sensação de que o usuário que está executando o software não é realmente aquele que inicia a conexão.
O que estou fazendo de errado? Minhas habilidades em Linux são bastante básicas e eu tenho quebrado a cabeça sobre isso nos últimos dias.