Wie blockiere ich den Internetzugang für Weinanwendungen?

38

Wie kann man verhindern, dass bestimmte oder andere Weinanwendungen auf das Internet zugreifen?

Bei der Verwendung bestimmter Anwendungen unter Windows wurde von Zeit zu Zeit versucht, ohne ersichtlichen Grund auf das Internet zuzugreifen. Dieses Verhalten konnte ich damals mit einer Personal Firewall verhindern. Leider habe ich in Ubuntu bisher keine Firewall auf Anwendungsebene gefunden. Dies ist besonders ärgerlich, wenn ich im Ausland Daten-Roaming mit meinem 3G-Modem verwende.

YSN
quelle
Du kannst mein Noinet-Preload ausprobieren. askubuntu.com/questions/249826/…
escor

Antworten:

29

Es gibt ein nettes Tutorial, wie man verhindert, dass ein bestimmtes Programm in den Ubuntu-Foren auf das Internet zugreift .

Schritte

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

iptables-Regel, um zu verhindern, dass diese Gruppe auf das Netzwerk zugreift

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

Vorgang, für den Sie keinen Internetzugang benötigen, mit sg odersudo -g (Befehl als andere Gruppen-ID ausführen):

sg no-internet -c "processFullPath args"

Grundsätzlich müssen Sie eine neue Gruppe erstellen, den Internetzugriff verweigern und dann ein Programm ausführen, das Sie als diese Gruppen-ID einschränken möchten. In Ihrem Fall führen Sie Wein immer mit der im Lernprogramm beschriebenen Methode aus.

goric
quelle
2
Danke, das wars! Aber ich verstehe nicht, warum dich jemand abgewählt hat. Ihre Antwort ist genau das, was ich mir erhofft hatte.
YSN
Es ist eine großartige Antwort, wenn Sie dem Link folgen, aber ich vermute, der DV war, weil es sich meistens um eine Link-Antwort handelt. Wenn Sie das Wie wollen, müssen Sie in die Foren gehen. Das heißt, es wurde von mir positiv bewertet.
RobotHumans
1
Um dies näher auszuführen: ein Befehl unter der neuen Gruppe Verwendung auszuführen: sg no-internet -c "command args". Beachten Sie auch, dass diese iptable-Regel anscheinend keine Pings löscht. Wenn Sie also testen möchten, ob sie funktionieren, verwenden Sie stattdessen netcat. BEARBEITEN : Ich habe auch festgestellt, dass IPv6-Verbindungen nicht unterbrochen werden, sodass Sie nur UDP und TCP von IPv4 blockiert haben.
Hi-Angel
1
@ Hi-angel sollte wohl das gleiche sein aber mit args ip6tables.
Pablo A
16

Bilden Sie eine Gruppe und werden Sie Mitglied

addgroup wino

adduser $USER wino

Geben Sie nun eine iptablesRegel ein, um zu verhindern, dass diese Gruppe das Internet verwendet. Geben Sie dies im Terminal ein und drücken Sie die Eingabetaste

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

Damit diese Regel nach jedem Neustart mit systemd ausgeführt wird, verwenden Sie iptables-persistent savefrom iptables-persistentpackage.

Bei Verwendung von rc-local : Sie können die Regel eingeben/etc/rc.local . Stellen Sie sicher, dass in der letzten Zeile dieser Textdatei steht exit 0.

Anwendungsbeispiel:

sg wino "wine executablename.exe"

Sie müssen das " "und auch Wein vor dem Programmnamen eingeben.

Kennzeichen
quelle
2
Ich habe Ihren usermodBefehl zum Hinzufügen bearbeitet -a. Ohne -a, werden Sie den Benutzer von allen anderen Zusatz Gruppen am Ende zu entfernen (wie admin, cdrometc.)! Es ist auch bequemer, addgroup/ zu verwenden adduser.
Gertvdijk
war gerade dabei das -a selbst zu reparieren. ja starte nicht wein als wurzel! Benötige nur root, um die iptables-Regel zu erstellen. Das Verwendungsbeispiel war für normale Benutzer, nachdem diese Schritte ausgeführt wurden.
Markierung
Oh, Entschuldigung, mein Fehler. Kommentar entfernt.
Gertvdijk
@gertvdijk Ich habe die Befehle nochmal editiert, adduser <username> <groupname>das ist hier sinnvoll.
guntbert
1
Gibt es eine Möglichkeit, das Internet standardmäßig für dieses Programm zu sperren (dh den sgAnruf überflüssig zu machen, z. B. indem chownSie das Programm starten)?
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"

So fügen Sie Ihrer Weinregistrierung (oder virtuellen Playonlinux-Laufwerken) Folgendes hinzu:

viel einfachere Lösung als die Verwendung von Gruppen (& verhindert nicht, dass pol eine Verbindung herstellt, nur die Apps)

Dank an http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

EDIT: Warten auf den Aussenseiter in den Kommentarregistrierungseinstellungen hinzufügen TCP zu blockieren, in der Zwischenzeit: http://support.microsoft.com/en-us/kb/154596 (klingt wie Ports auf Null oder eine Config - Erstellung Fehler blockieren zwar TCP / UDP-Verbindungen, aber ich habe dieses Problem noch nicht ganz konfrontiert, so habe ich nicht die Notwendigkeit für eine Umgehung)

Mikakun
quelle
3
Dies blockiert nur den Zugriff für Software, die die Proxy-Einstellungen berücksichtigt. Dies ist also keine gültige Lösung!
K1773R
1
wie welche? (Alle Software, die ich mit pol verwendet habe, wurden tatsächlich blockiert). daher bin ich von deiner aussage nicht überzeugt: es ist in vielen fällen gültig, in manchen vielleicht nicht, aber in welchen?
Mikakun
2
Nein, ist es nicht. z.B; Jede Software, die nur eine Verbindung zu einem Host: Port über TCP herstellt, funktioniert weiterhin. Eine HTTP-Proxy-Einstellung muss ein Programm erkennen und berücksichtigen. Wenn Sie mir nicht glauben, besorgen / kompilieren Sie eine Software, die sich über TCP mit einem anderen Host verbindet, und überzeugen Sie sich selbst.
K1773R