Como desabilitar o acesso à rede para um usuário?

3

Tentando desativar o acesso à rede para o usuário:

[root@notebook ~]# iptables -I OUTPUT -m owner --uid-owner tempuser -j DROP
[root@notebook ~]# ip6tables -I OUTPUT -m owner --uid-owner tempuser -j DROP
Could not open socket to kernel: Address family not supported by protocol
[root@notebook ~]# 
[root@notebook ~]# iptables -I INPUT -m owner --uid-owner tempuser -j DROP
iptables: Invalid argument. Run 'dmesg' for more information.
[root@notebook ~]# ip6tables -I INPUT -m owner --uid-owner tempuser -j DROP
Could not open socket to kernel: Address family not supported by protocol
[root@notebook ~]# 

Teste:

[root@notebook ~]# su - tempuser
[tempuser@notebook ~]$ ping google.com
ping: unknown host google.com
[tempuser@notebook ~]$ 
[tempuser@notebook ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=56 time=4.80 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=56 time=4.07 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1057ms
rtt min/avg/max/mdev = 4.071/4.439/4.807/0.368 ms
[tempuser@notebook ~]$ 
[tempuser@notebook ~]$ exit
logout
[root@notebook ~]# ping google.com
PING google.com (216.58.209.174) 56(84) bytes of data.
64 bytes from bud02s21-in-f14.1e100.net (216.58.209.174): icmp_seq=1 ttl=55 time=5.05 ms
^C
--- google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 572ms
rtt min/avg/max/mdev = 5.059/5.059/5.059/0.000 ms
[root@notebook ~]# 

Pergunta: como posso desativar o acesso à rede para um determinado usuário no Linux? (INPUT / OUTPUT / IPv4 / IPv6?) - por que eu ainda posso pingar endereços IPv4 com o usuário?

    
por freaking-good-question 11.03.2015 / 12:11

2 respostas

1

Tente isso,

iptables -A OUTPUT -o ethX -m owner --uid-owner {USERNAME} -j DROP

Onde,

- uid-owner {USERNAME}: Corresponde se o pacote foi criado por um processo com o efetivo USERNAME efetivo. -A: Anexar regra a uma determinada tabela / cadeia -I: Inserir regra no cabeçalho da tabela / cadeia

Por exemplo, meu ID de usuário do oracle é 1000, então adicionarei a seguinte regra:

/sbin/iptables -A OUTPUT -o eth0 -m owner --uid-owner 1000 -j DROP

service iptables save
    
por 11.03.2015 / 12:17
-1

Você pode usar TCP wrappers para fazer isso, /etc/host.allow ou /ect/host.deny, você pode mencionar seu pool de rede neste arquivo com os usuários.

    
por 13.03.2015 / 12:55