Comment bloquer l'accès à Internet pour les applications vin?

39

Comment empêcher certaines applications viticoles ou certaines applications vinicoles d'accéder à Internet?

Lorsqu'elles utilisaient certaines applications sous Windows, elles essayaient d'accéder à Internet de temps en temps sans raison évidente. J'ai pu empêcher ce comportement avec un pare-feu personnel à l'époque. Malheureusement, je n'ai pas trouvé de pare-feu de niveau application dans Ubuntu jusqu'à présent. Cela est particulièrement gênant lorsque je suis à l'étranger en utilisant l'itinérance de données avec mon modem 3G.

YSN
la source
Vous pouvez essayer mon préchargement de la noine. askubuntu.com/questions/249826/…
escor
Peut-on étendre les réponses / fournir une réponse supplémentaire qui fonctionne avec nftables?
dirdi

Réponses:

29

Il existe un bon tutoriel sur le blocage d'un programme donné pour accéder à Internet sur les forums Ubuntu .

Pas

sudo addgroup no-internet  # Create group "no-internet"
sudo adduser $USER no-internet  # Add current user to no-internet

règle iptables pour empêcher ce groupe d'accéder au réseau

sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic

Processus que vous ne voulez pas avoir un accès Internet en utilisant sg ousudo -g ((exécuter la commande en tant qu'ID de groupe différent):

sg no-internet -c "processFullPath args"

Il s'agit essentiellement de créer un nouveau groupe, de lui refuser l'accès à Internet, puis d'exécuter tout programme que vous souhaitez limiter en tant qu'ID de groupe. Ainsi, dans votre cas, vous exécuterez toujours wine en utilisant la méthode décrite dans le tutoriel.

goric
la source
2
Merci, c'est tout! Mais je ne comprends pas pourquoi quelqu'un vous a rejeté. Votre réponse est exactement ce que j'avais espéré.
YSN
C'est une excellente réponse si vous suivez le lien, mais je soupçonne que le DV l'a été parce que c'est principalement une réponse par lien. Si vous voulez le comment, vous devez aller sur les forums. Cela dit, il a eu un vote positif de ma part.
RobotHumans
1
Pour élaborer: pour exécuter une commande sous la nouvelle utilisation du groupe: sg no-internet -c "command args". Notez aussi: apparemment, cette règle iptable ne laisse pas tomber les pings, donc si vous voulez tester son fonctionnement, utilisez netcat à la place. EDIT : J'ai également noté: les connexions IPv6 ne sont pas abandonnées, vous n'avez donc bloqué que les protocoles UDP et TCP d'IPv4.
Bonjour Angel le
1
@ Hi-Angel devrait probablement être les mêmes arguments, mais avec ip6tables.
Pablo Un
16

Faire un groupe et en devenir membre

addgroup wino

adduser $USER wino

Maintenant, entrez une iptablesrègle pour empêcher ce groupe d’utiliser Internet. Vous pouvez taper ceci sur le terminal et appuyer sur Entrée.

iptables -A OUTPUT -m owner --gid-owner wino -j REJECT

Pour cette règle courir après chaque redémarrage avec l' utilisation systemd iptables-persistent savedu iptables-persistentpackage.

Si vous utilisez rc-local : Vous pouvez insérer la règle /etc/rc.local. Assurez-vous que la dernière ligne de ce fichier texte dit exit 0.

Exemple d'utilisation:

sg wino "wine executablename.exe"

Vous avez besoin de " "et tapez aussi wine avant le nom du programme.

marque
la source
2
J'ai édité votre usermodcommande pour ajouter -a. Sans -a, vous finirez par enlever l'utilisateur de tous les autres groupes supplémentaires (comme admin, cdrom, etc.)! Il est également plus pratique d’utiliser addgroup/ adduser.
gertvdijk
était sur le point de réparer le -a moi-même. oui ne commencez pas le vin en tant que racine! besoin uniquement de root pour créer la règle iptables. l'exemple d'utilisation était pour l'utilisateur normal après avoir effectué ces étapes.
marquer
ah désolé, mon erreur. commentaire supprimé.
gertvdijk
@gertvdijk J'ai édité les commandes une fois de plus, adduser <username> <groupname>c'est la chose sensée ici.
Guntbert
1
y a-t-il une possibilité de faire en sorte qu'Internet soit bloqué par défaut pour ce programme (c'est-à-dire, rendre l' sgappel obsolète, par exemple en chowncréant le programme)?
bonanza
8
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp.1.1"=dword:00000000
"ProxyOverride"="<local>"
"ProxyServer"="http://NonExistantProxyAddress:80"
"User Agent"="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"

ajouter à votre registre wine (ou playonlinux virtual drives):

solution bien plus simple que d'utiliser des groupes (& n'empêche pas pol de se connecter, juste les applications)

crédits à http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

EDIT: attendre que le commentaire dans le commentaire ajoute des paramètres de registre pour bloquer TCP, entre-temps: http://support.microsoft.com/en-us/kb/154596 (cela ressemble à la définition de ports à zéro ou la création d'une configuration erreur bloquera en effet les connexions TCP / UDP, mais je n’ai pas encore fait face à ce problème, je n’ai donc pas besoin de contourner le problème)

Mikakun
la source
3
cela ne bloque que l'accès aux logiciels qui respectent les paramètres de proxy, la plupart ne sont évidemment pas ... ce n'est donc pas une solution valable!
K1773R
1
comme lequel? (Tous les logiciels que j'ai utilisés avec pol ont été bloqués). par conséquent, je ne suis pas convaincu par votre affirmation: elle est valable dans de nombreux cas, peut-être pas dans certains cas, mais lequel?
mikakun
2
non ce n'est pas. par exemple; tout logiciel qui se connecte simplement à un hôte: le port via TCP continuera à fonctionner. Un paramètre de proxy HTTP est quelque chose qu'un programme doit reconnaître et honorer. Si vous ne me croyez pas, obtenez / compilez un logiciel qui se connecte à un autre hôte via TCP et voyez-le par vous-même.
K1773R