web-dev-qa-db-fra.com

Comment bloquer l'accès à Internet pour une application

Je chercherais un moyen de faire en sorte qu'une application l'empêche d'accéder à Internet, éventuellement sans installer un programme spécifique pour le faire. La plupart des réponses que j'ai trouvées font référence à THIS post, j'ai donc essayé cette solution. En quelques mots, j'avais créé un groupe no-internet (avec un groupe associé ni ) et je lance l'application en utilisant ce groupe. Mais cela ne fonctionne pas complètement, probablement parce que la publication date de 2009 et que quelque chose dans iptables a été modifié (j'utilise Ubuntu 14.04). Par exemple, si je lance ni "ping google.com", la sortie est ping: sendmsg: Operation not permitted, la solution fonctionne donc parfaitement. Mais avec les autres programmes, comme Firefox ou wget (par exemple, ni firefox), la connexion Internet fonctionne toujours. Comment puis-je résoudre?

8
ᴜsᴇʀ

Vous pouvez utiliser apparmor pour refuser le trafic réseau pour certaines applications. Vous devez d’abord installer apparmor et apparmor-utils ..

Sudo apt-get install apparmor*

Après cela, vous pouvez générer un profil pour votre application ...

Sudo aa-genprof /usr/bin/google-chrome

La prochaine étape consiste à remplacer la partie Networking du profil par:

Sudo nano /etc/apparmor.d/usr.bin.chromium-browser

audit deny network,
audit deny network inet stream,
deny network inet6 stream,
deny @{PROC}/[0-9]*/net/if_inet6 r,
deny @{PROC}/[0-9]*/net/ipv6_route r,
deny capability net_raw,

Ensuite, vérifiez config avec apparmor_parser et reload config

Sudo apparmor_parser -r /etc/apparmor.d/usr.bin.chromium-browser

Changer le mode de complain à enforce c'est-à-dire activer apparmor pour cette application.

Sudo aa-complain /etc/apparmor.d/usr.bin.chromium-browser

Plus manuel vous pouvez trouver ici et ici et ici

3
2707974