Como bloquear o acesso à internet para certos programas no Linux

18

Recentemente, encontrei um problema de limitar o acesso à Internet a programas específicos. Alguém poderia recomendar uma boa maneira de fazer isso, sem usar nenhum software em particular?

    
por Ilia Rostovtsev 02.11.2013 / 08:30

1 resposta

29

A solução para mim era direta.

  1. Crie, valide novo grupo ; adicionar usuários necessários a este grupo:
    • Criar: groupadd no-internet
    • Validar: grep no-internet /etc/group
    • Adicionar usuário: useradd -g no-internet username

      Observação: Se você estiver modificando um usuário já existente, deverá executar: usermod -a -G no-internet userName verifique com: sudo groups userName

  2. Crie um script em seu caminho e torne-o executável:
    • Criar: nano /home/username/.local/bin/no-internet
    • Executável: chmod 755 /home/username/.local/bin/no-internet
    • Conteúdo: #!/bin/bash
      %código%

  3. Adicione regra iptables para eliminar a atividade de rede do grupo no-internet :


4. Verifique, por exemplo, no Firefox executando:

  • iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP

Caso você queira fazer uma exceção e permitir que um programa acesse rede local :

  • no-internet "firefox"
  • iptables -A OUTPUT -m owner --gid-owner no-internet -d 192.168.1.0/24 -j ACCEPT
  • iptables -A OUTPUT -m owner --gid-owner no-internet -d 127.0.0.0/8 -j ACCEPT

NOTA: Em caso de desova, as regras serão mantidas. Por exemplo, se você executar um programa com a regra não-internet e esse programa abrir a janela do navegador, ainda assim as regras serão aplicadas.

    
por 02.11.2013 / 09:05