Como posso configurar um firewall específico de serviço no Linux?

Como posso configurar um firewall específico de serviço no Linux?

Como eu poderia configurar algum tipo de firewall que permita apenas que programas específicos usem as portas abertas do sistema (de preferência RHEL)?

Por exemplo, se eu quiser yumme conectar e atualizar normalmente, mas quiser bloquear solicitações de saída da Web, como navegação, ainda precisarei que as portas 80, 443, 53 e UDP-53 estejam abertas.

No entanto, eu precisaria que o firewall pudesse distinguir entre yumum navegador da web.

Responder1

iptablestem a capacidade de verificar o usuário do programa.

Usando sinalizadores --uid-ownerou --gid-ownervocê tem a capacidade de limitar a rede apenas a usuários especificados (root?), E www-dataos pacotes do seu servidor web (podem ser executados como ) seriam descartados.

É claro que isso limita por usuário/grupo e não por programa, mas a maioria dos serviços hoje é executada com seus próprios usuários e grupos.

Exemplo:

iptables -I OUTPUT -m owner --uid-owner www-data -jDROP

Exemplo que restringiria a rede de saída a qualquer pessoa, exceto root:

iptables -P OUTPUT DROP
iptables -I OUTPUT -m owner --uid-owner root -jALLOW

Outra abordagem seria configurar regras SELinux(geralmente incluídas nos produtos RedHat). Pessoalmente, acho que seria mais difícil de administrar.

informação relacionada