Você poderia filtrar o tráfego para seus usuários usando o módulo proprietário iptables permitindo apenas a interface de loopback:
# accept incoming packets to loopback device
iptables -A OUTPUT -m owner --uid $USER -o lo -j ACCEPT
# drop everything else
iptables -A OUTPUT -m owner --uid $USER -j DROP
Com as regras acima, o usuário ainda pode criar um processo de escuta em portas não restritas, mesmo que não possa responder a nenhuma mensagem recebida. Você também pode escrever as regras como uma lista branca para todo o sistema: primeiro aceite todo o tráfego bom e solte todo o resto.
Para filtrar o tráfego de entrada, o módulo proprietário não pode ser usado (veja a página man ). Você pode configurar a cadeia de entrada para permitir o tráfego estabelecido e descartar outro tráfego de entrada não permitido explicitamente.
# change default action to drop
iptables -P INPUT DROP
# allow established connections (replies)
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
Se você estiver executando serviços que escutam porta (s) de rede, precisará adicionar regras respectivas para permitir que eles recebam tráfego.