Existe uma razão pela qual tal coisa não é comumente feita no mundo Unix. É porque o Unix usa muitos programas cooperativos e o Windows realmente não funciona.
No mundo do Windows, um programa pode carregar um monte de DLLs para delegar trabalho a bibliotecas, mas o aplicativo fazendo as coisas continua o mesmo.
O Unix também tem bibliotecas compartilhadas, mas muitas reutilizações acontecem com o lançamento de outros programas para fazer as coisas. Por exemplo, muitos programas que baixam atualizações e acabam delegando o trabalho para wget
ou curl
.
Assim, você precisará ativar o HTTP (S) de saída para wget
ou curl
apenas para obter atualizações de software para o sistema operacional funcionar. Infelizmente, isso praticamente abre o HTTP (S) de saída para tudo.
Portanto, você deve restringir com base em um atributo que não pode ser alterado prontamente, como IDs de usuário e de grupo. iptables
tem a correspondência owner
para isso, mas provavelmente não é suportado por muitos firewalls de GUI, portanto, você pode precisar escrever suas próprias regras iptables
.