Estive lendo, mas não consigo encontrar uma maneira de criar regras de firewall por processo. Eu sei, iptables --uid-owner
mas isso só funciona para o tráfego de saída. Eu considerei scripting netstat
e iptables
mas isso parece terrivelmente ineficiente, pois se um processo só está activa para um pequeno espaço de tempo o script pode perdê-la. Basicamente, quero impor restrições específicas em relação à porta e ao dst em um processo, deixando outros processos inalterados. Alguma ideia?
Para referência, o selinux pode fazer exatamente isso e funciona bastante bem. A instalação é um pouco trabalhosa.
Respostas:
Sua pergunta é muito semelhante a /programming/5451206/linux-per-program-firewall-similar-to-windows-and-mac-counterparts
Havia o
--cmd-owner
módulo proprietário do iptables, mas ele foi removido porque não funcionava corretamente. Agora está disponível uma primeira versão beta do Leopard Flower , que resolve o problema por um daemon de espaço do usuário.Em geral, um firewall por processo não é muito útil, a menos que você realmente isole e restrinja os programas. Para isso, você deve procurar soluções de segurança como TOMOYO Linux, SELinux, AppArmor, grsecurity, SMACK, ...
fonte
Fácil, execute seu processo com um usuário diferente e use '--uid-owner' :)
fonte