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: