Como evitar que um aplicativo se conecte a uma rede com o iptables? [duplicado]

0

Eu li a página de manual do iptables no terminal, mas ela tem uma sintaxe complicada e não entendo como usar opções como: usuário, ID do usuário, UUID e assim por diante.

Suponha que meu nome de usuário seja foobar e quero impedir que um aplicativo se conecte a qualquer tipo de rede. Como faço isso?

    
por uaxa 27.03.2015 / 05:33

1 resposta

1

Você pode bloquear todo o tráfego de um usuário BLOCKUSER usando o módulo owner iptables.

iptables -I INPUT -m owner --uid-owner BLOCKUSER -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER -j REJECT

Você também pode usar o DROP target em vez de REJECT , mas isso só aumentaria causar atrasos devido a tempos limite (consulte aqui para obter mais discussões).

Também pode ser conveniente / necessário permitir o acesso ao dispositivo loopback :

iptables -I INPUT  -m owner --uid-owner BLOCKUSER ! -i lo -j REJECT
iptables -I OUTPUT -m owner --uid-owner BLOCKUSER ! -o lo -j REJECT

Sobre suas dúvidas:

  • user é o nome de usuário que você usa para efetuar login e saída do comando whoami .
  • UID é o ID do usuário numérico (na maioria das vezes você pode simplesmente usar o nome de usuário em vez do UID, você pode exibi-lo com o comando id ).
  • O UUID é um Identificador universalmente exclusivo e não é usado diretamente no iptables. ( --uuid-owner é um erro de digitação)
por 27.03.2015 / 11:38

Tags