De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.


Iptables - controle de conexoes por usuário

Colaboração: André Luiz Rodrigues Ferreira

Data de Publicação: 13 de Julho de 2005

O projeto Netfilter possui uma série de patchs "não oficiais" que adicionam vários recursos na ferramenta de firewall dos sistemas Linux. Estes patchs são conhecidos como Patch-o-Matic. Esta dica apresenta o módulo Owner-socketlookup, que permite a criação de regras do Iptables para cada usuário do sistema local. Podemos limitar as conexões de um usuário a certo serviço por exemplo.

No caso abaixo, se temos OUTPUT com DROP como política padrão e quisermos que o usuário joaosilva consiga acessar o serviço de ssh e só passar a seguinte regra:

# iptables -A OUTPUT -p tcp --dport 22 -m owner --uid-owner joaosilva -j ACCEPT

Assim qualquer processo c/ o uid do joaosilva conseguirá se conectar a SSH. Se quisermos restringir um pouco mais, é só retirar o bit suid de todos os programas de rede. Isto é muito útil para usuários domésticos ou servidores c/ shell remoto.

Existem muitos outros patchs interessantes como controle p/ grupos, marcação de pacotes, detecção de pacotes P2P e o mais interessante de tudo que é podemos mesclar cada um deles.

Alguns links interessantes:

  1. Netfilter
  2. Patch-o-matic:
  3. Netfilter Extensions HOWTO:


Veja a relação completa dos artigos de André Luiz Rodrigues Ferreira