iptables regra “--id-owner” sendo ignorada?

0

Estou tentando criar um filtro iptables para impedir que todos, exceto o UID 1000, acessem a Internet. Isso é o que eu tenho até agora:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m owner --uid-owner 1000 -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-net-unreachable
-A OUTPUT -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT

Quando tento executar o seguinte como root (UID 0):

curl http://ipecho.net/plain
curl: (7) Failed to connect to ipecho.net port 80: Network is unreachable

iptables bloqueia, conforme desejado. Mas quando eu tento isso como root:

curl --proxy socks5h://localhost:7777 http://ipecho.net/plain
_ip_address_

passa bem. O que preciso alterar para bloquear todo o acesso à internet de outros usuários, mesmo quando eles usam um proxy?

    
por Michael Mrozek 03.02.2017 / 15:15

1 resposta

1

Se você usar um proxy local, o tráfego de rede de saída será de propriedade do proxy e não do usuário final. Eu suponho que o proxy está sendo executado como o uid 1000. O que você está usando como proxy?

Você precisa usar um proxy que possa ser configurado para permitir que somente usuários locais especificados o usem.

    
por 03.02.2017 / 15:29