Desativar a rede para usuários específicos

13

Estou trabalhando na distribuição do Ubuntu / Mint para rodar o Live. Existem várias contas que se enquadram em três grupos gerais: Admin, Internet e Segurança.

  • O Administrador tem obviamente autoridade para fazer o que quer que seja.
  • A conta Internet é para usar a Internet.

As outras contas são Segurança . Em nenhuma circunstância é permitida qualquer rede de Internet, impressora, Bluetooth, dispositivos WiFi, etc.

O que eu gostaria de fazer é remover os drivers de rede do kernel, mas isso desativaria as contas que precisam da Internet.

Quais são as formas de nível mais baixo para desativar a Internet para essas contas de segurança? Estou procurando por impossível conectar-se soluções.

    
por bambuntu 06.02.2012 / 22:31

2 respostas

10

Você pode fazer isso com iptables .

Em um terminal, adicione a regra a iptables

sudo iptables -A OUTPUT -p all -m owner --uid-owner username -j DROP

onde username é o usuário que você deseja desabilitar a conexão com a Internet. Salve o arquivo e saia.

Isso adicionará uma regra a iptables dizendo que todos os pacotes de saída criados pelo usuário especificado serão descartados automaticamente por iptables .

Se você quiser fazer o mesmo para um grupo completo, sugiro que em vez de --uid username você use --gid-owner groupname , isso terá o mesmo efeito para um grupo de usuários completo.

Para evitar que o Security grupo acesse a Internet, o comando será parecido com este

sudo iptables -A OUTPUT -p all -m owner --gid-owner security -j DROP

Para tornar a regra permanente, você pode criar um script em /etc/network/if-up.d/ , adicionar as linhas necessárias a ele e torná-lo executável.

Como opção, use iptables-save para salvar suas regras atuais e restaurá-las na inicialização.

Salvar as regras atuais de iptables

sudo iptables-save > /etc/iptables_rules

Abra /etc/rc.local com seu editor de texto favorito e, no final do arquivo, adicione

/sbin/iptables-restore < /etc/iptables_rules

Isso restaurará as regras salvas em cada inicialização.

Para obter mais informações, visite a página [ iptables manpage ] para obter mais informações sobre várias opções iptables .

    
por Bruno Pereira 06.02.2012 / 22:45
2

A solução de Bruno é boa: acho que provavelmente a melhor solução independente.

Outra opção que você pode pensar é configurar um firewall / proxy em uma máquina separada, como o gateway para a Internet, que permite apenas conexões que fornecem autenticação por usuário. Você poderia usar ambos juntos para proteção extra.

    
por poolie 06.02.2012 / 23:39

Tags