firejail: somente permite que um programa acesse o localhost

3

Eu tenho esse serviço de rede local e esse programa cliente precisa acessá-lo. Estou executando os dois como um usuário sem privilégios.

Estou procurando uma maneira de proteger o cliente usando o firejail, de maneira que ele não possa acessar a rede, exceto o host local (ou melhor ainda, exceto pelo serviço). A primeira coisa que tentei foi claro

firejail --net=lo program

Mas não funcionou.

Error: cannot attach to lo device

Acho que posso contornar isso criando uma interface de rede virtual, por exemplo veth0 e veth1, movendo veth1 para um novo namespace de rede no qual eu executaria o serviço e usando o firejail para restringir o cliente a veth0

Existe uma maneira de realmente automatizar essa configuração em um perfil firejail, para que todas essas interfaces sejam criadas e veth1 seja movido quando eu digito

firejail server

(sem ter que executar nada como root)?

Ou existe uma maneira mais simples de resolver esse problema? (Não consigo executar o cliente e o serviço no mesmo namespace, porque o serviço precisa acessar a rede)

    
por Nephanth 27.10.2018 / 17:56

1 resposta

2

Gostaria de usar e opções como:

firejail --interface=eth0.vlan100 --ip=someipaddress someprogram

Support for ipvlan driver was introduced in Linux kernel 3.19.

Encontrado aqui: man firejail | Firejail

    
por 29.11.2018 / 17:38