Eu gostaria de usar um software para controlar qual programa pode se conectar à Internet. Sei que esse comportamento está associado à palavra "firewall", mas alguns usuários do Linux ficam muito chateados se alguém exige um firewall pessoal. Não quero incomodá-lo com a demanda de um programa desse tipo.
Não quero "portas seguras" ou outras coisas que o Personal Firewall promete no Windows. Examinei, iptables
mas ele não se encaixa nos meus requisitos.
Vi uma excelente resposta aqui ( "Como bloquear o acesso à Internet para aplicativos de vinho" ), mas é muito desconfortável configurá-lo.
Existe um software que solicite a cada programa se ele pode acessar a Internet?
Respostas:
Há um script Perl no fórum alemão do Ubuntu ( traduzido pelo Google para o inglês ) que parece fazer isso. Eu nunca tentei e não olhei mais de perto o script, mas talvez funcione para você. A descrição está apenas em alemão; portanto, você pode precisar de um serviço de tradução (como o Google Tradutor; veja acima).
fonte
Caso você ainda esteja procurando esse tipo de aplicativo, atualmente estou desenvolvendo exatamente esse aplicativo: http://douaneapp.com/ https://gitlab.com/douaneapp/Douane
Meu aplicativo bloqueia todos os aplicativos desconhecidos (novas versões de um aplicativo autorizado são bloqueadas) e pergunta se você permite ou nega o tráfego.
Dê uma olhada no site ;-)
fonte
Eu encontrei uma solução conveniente que resolve o problema. Você cria um grupo que nunca tem permissão para usar a Internet e inicia o programa como um membro deste grupo.
Crie um grupo
no-internet
. Você não aderir a este grupoAdicione uma regra ao iptables que impeça que todos os processos pertencentes ao grupo
no-internet
usem a rede (useip6tables
também para impedir o tráfego IPv6)sudo -g no-internet YOURCOMMAND
vez deYOURCOMMAND
.Você pode escrever facilmente um script de wrapper que use o sudo para você. Você pode se livrar do prompt de senha adicionando
ou algo semelhante com
sudo visudo
Use as regras de firewall para persistir
iptables-save
eiptables-restore
.fonte
sudo -g no-internet firefox
conecta mais rápido que o padrão. Isso não funciona.Já existe um firewall no Ubuntu
ufw
, mas está desativado por padrão. Você pode habilitá-lo e usá-lo pela linha de comando ou seu front-end, gufw , que é instalável diretamente no Ubuntu Software Center.Se você precisar bloquear o acesso da Internet a um aplicativo específico, tente o LeopardFlower , que ainda está na versão beta e não está disponível no Ubuntu Software Center:
fonte
A execução de um programa com outro usuário usará os arquivos de configuração desse usuário e não o seu.
Aqui está uma solução que não requer modificação das regras do firewall e é executada no mesmo usuário (via
sudo
) com um ambiente modificado, onde o usuário estámy_user
e o aplicativo que você deseja executar émy_app
:Para mais detalhes, veja
man unshare
e esta resposta .Firewall da GUI do Linux
Se você está procurando um firewall GUI, obtive bons resultados com o OpenSnitch - ele ainda não está nos repositórios do ubuntu e não o chamaria de nível de produção, mas seguir as etapas de compilação da página do github funcionou para mim.
fonte
@psusi: Eu realmente gostaria que as pessoas não vendessem informações ruins e não úteis. O IPTables permite fazer isso, então eu dificilmente consideraria "imprudente". Apenas dizer "NÃO" sem entender um caso de uso é um pouco limitado. http://www.debian-administration.org/article/120/Application_level_firewalling
EDIT bodhi.zazen
NOTA: ESTA OPÇÃO FOI REMOVIDA DE IPTABLES EM 2005, 8 ANOS ANTES DE ESTA RESPOSTA FOI POSTADA
VER - http://www.spinics.net/lists/netfilter/msg49716.html
fonte
iptables
para implementar restrições por aplicativo. Eu recomendo incluir as informações importantes em sua resposta (e ainda fornecer o link, para referência).Outra opção é firejail . Ele executa o aplicativo dentro da sandbox, onde você controla se o aplicativo pode ver a rede:
Este comando iniciará o navegador Firefox sem acesso à Internet. Observe que a distribuição firejail no repositório Ubuntu está desatualizada - faça o download melhor da versão mais recente do LTS na página inicial do firejail.
fonte
Eu encontrei a solução postada aqui para ser uma boa. Isso envolve a criação de um grupo de usuários para o qual o acesso à Internet é permitido e a configuração de regras de firewall para permitir o acesso apenas a esse grupo. A única maneira de um aplicativo acessar a Internet é se ele for executado por um membro deste grupo. Você pode executar programas nesse grupo abrindo um shell com
sudo -g internet -s
.Para recapitular o conteúdo do post que eu vinculei acima:
Crie o grupo "internet" digitando o seguinte em um shell:
sudo groupadd internet
Certifique-se de que o usuário que irá executar o script abaixo é adicionado ao
sudo
grupo em/etc/group
. Se você acabar modificando esse arquivo, precisará fazer logoff e logon novamente antes que o script abaixo funcione.Crie um script contendo o seguinte e execute-o:
Ao executar o script acima, você terá um shell no qual poderá executar aplicativos com acesso à Internet.
Observe que esse script não faz nada para salvar e restaurar suas regras de firewall. Você pode modificar o script para usar os comandos
iptables-save
eiptables-restore
shell.fonte
Para melhor ou pior, o Linux usa uma abordagem diferente. Não existe uma interface gráfica simples para oferecer essa funcionalidade. Existem muitas discussões sobre esse tópico na internet e você pode encontrar discussões interessantes se pesquisar no Google. Embora o debate seja interessante, até o momento não houve um grupo dedicado de programadores que desejassem escrever e manter essa funcionalidade.
As ferramentas que oferecem essa funcionalidade no Linux são Apparmor, Selinux e Tomoyo.
Nenhuma dessas ferramentas é muito fácil de aprender e todas têm vantagens e desvantagens. Pessoalmente, prefiro o SELinux, embora o SELinux tenha uma curva de aprendizado mais acentuada.
Vejo:
http://www.linuxbsdos.com/2011/12/06/3-application-level-firewalls-for-linux-distributions/
Havia (é) um aplicativo que já foi referenciado, leopardflower. Não tenho certeza do status / manutenção.
fonte
Ele estava no iptables até a versão 2.6.24 do kernel. Se você está executando uma máquina 2.x - 2.6.24 e seu kernel está em conformidade, você pode fazê-lo. por alguma razão eles tiraram, então não, não é microsoft. http://cateee.net/lkddb/web-lkddb/IP_NF_MATCH_OWNER.html
fonte
Tente flor de leopardo . Possui uma GUI e restrições por aplicativo.
fonte
Não, não é possível. Também não faz parte da definição tradicional de firewall. É algo que a Microsoft apresentou recentemente, na tentativa de ocultar seus problemas de segurança do sistema operacional fundamentalmente quebrados. É considerado imprudente e impraticável na comunidade Linux, porque um programa que não é permitido pode simplesmente executar outro programa que é e obter acesso dessa maneira.
Se você não gostar do que um programa está fazendo na rede ao executá-lo, não execute esse programa.
fonte