Jak zablokować dostęp do Internetu dla aplikacji do wina?

38

Jak można uniemożliwić dostęp do Internetu określonym aplikacjom lub jakimkolwiek aplikacjom winiarskim?

Korzystając z niektórych aplikacji w systemie Windows, od czasu do czasu próbowali uzyskać dostęp do Internetu bez wyraźnego powodu. Byłem wtedy w stanie zapobiec temu zachowaniu dzięki osobistej zaporze ogniowej. Niestety do tej pory nie znalazłem zapory na poziomie aplikacji w Ubuntu. Jest to szczególnie denerwujące, gdy jestem za granicą, korzystając z roamingu danych z moim modemem 3G.

YSN
źródło
Możesz wypróbować moje wstępne ładowanie noinet. askubuntu.com/questions/249826/…
escor

Odpowiedzi:

29

Na forum Ubuntu znajduje się fajny samouczek na temat blokowania dostępu dowolnego programu do Internetu .

Kroki

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

Reguła iptables, aby uniemożliwić tej grupie dostęp do sieci

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

Proces, w którym nie chcesz mieć dostępu do Internetu za pomocą sg lubsudo -g (wykonaj polecenie jako inny identyfikator grupy):

sg no-internet -c "processFullPath args"

Zasadniczo polega na utworzeniu nowej grupy, odmowie jej dostępu do Internetu, a następnie uruchomieniu dowolnego programu, który chcesz ograniczyć jako tego identyfikatora grupy. W twoim przypadku po prostu zawsze uruchamiałbyś wino przy użyciu metody opisanej w samouczku.

goric
źródło
2
Dziękuję, to wszystko! Ale nie rozumiem, dlaczego ktoś cię przegłosował. Twoja odpowiedź jest dokładnie tym, na co liczyłem.
YSN
To świetna odpowiedź, jeśli podążysz za linkiem, ale podejrzewam, że DV było, ponieważ jest to głównie odpowiedź linku. Jeśli chcesz, musisz iść na fora. To powiedziawszy, otrzymał ode mnie opinię.
RobotHumans,
1
Opracowanie: aby uruchomić polecenie w ramach nowego zastosowania grupy: sg no-internet -c "command args". Uwaga: najwyraźniej ta iptable reguła nie odrzuca pingów, więc jeśli chcesz przetestować, czy działa, zamiast tego użyj netcat. EDYCJA : Zauważyłem również: nie odrzuca połączeń IPv6, więc zablokowałeś tylko UDP i TCP IPv4.
Cześć Anioł
1
@ Hi-Angel Prawdopodobnie powinny to być te same argumenty, ale z ip6tables.
Pablo A
16

Utwórz grupę i zostań jej członkiem

addgroup wino

adduser $USER wino

Teraz wprowadź iptablesregułę, aby zablokować tej grupie korzystanie z Internetu, możesz wpisać ją na terminalu i nacisnąć Enter

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

Aby uruchomić tę regułę po każdym ponownym uruchomieniu komputera z Systemd użytku iptables-persistent savez iptables-persistentpakietu.

Jeśli używasz rc-local : możesz wstawić regułę /etc/rc.local. Upewnij się, że w ostatnim wierszu tego pliku tekstowego jest napisane exit 0.

Przykład użycia:

sg wino "wine executablename.exe"

Potrzebujesz, " "a także wpisz wine przed nazwą programu.

znak
źródło
2
Zmodyfikowałem twoje usermodpolecenie, aby dodać -a. Bez -a, skończy się usunięciem użytkownika z wszystkich innych grup uzupełniających (takich jak admin, cdromitp)! Jest także wygodniejszy w użyciu addgroup/ adduser.
gertvdijk
właśnie miałem naprawić sam -a. tak, nie zaczynaj wina jako korzenia! wystarczy root, aby ustawić regułę iptables. przykład użycia był dla zwykłego użytkownika po wykonaniu tych kroków.
zaznacz
Ach, przepraszam, mój błąd. usunięty komentarz.
gertvdijk
@gertvdijk Zredagowałem polecenia jeszcze raz, adduser <username> <groupname>to rozsądna sprawa.
guntbert
1
czy jest jakakolwiek możliwość ustawienia domyślnego blokowania dostępu do Internetu dla tego programu (tj. spowodowania, że sgwywołanie staje się nieaktualne, np. poprzez chownuruchomienie programu)?
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"

aby dodać do rejestru wine (lub wirtualnych dysków Playonlinux):

rzeczywiście o wiele prostsze rozwiązanie niż używanie grup (i nie przeszkadza pol, aby się połączyć, tylko aplikacje)

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

EDYCJA: czekam, aż maniak w komentarzu doda ustawienia rejestru, aby zablokować TCP, tymczasem: http://support.microsoft.com/en-us/kb/154596 (brzmi jak ustawienie portów na zero lub utworzenie konfiguracji błąd rzeczywiście blokuje połączenia tcp / udp, ale jeszcze nie spotkałem się z tym problemem, więc nie muszę się obejść)

mikakun
źródło
3
blokuje to tylko dostęp do oprogramowania, które honoruje ustawienia proxy, w większości oczywiście nie ... więc nie jest to prawidłowe rozwiązanie!
K1773R
1
jak który? (całe oprogramowanie, którego używałem z polem, było rzeczywiście zablokowane). dlatego nie przekonuje mnie twoje oświadczenie: jest ważne w wielu przypadkach, może nie być w niektórych, ale które?
mikakun
2
nie, nie jest. na przykład; każde oprogramowanie, które właśnie łączy się z hostem: port przez TCP będzie nadal działać. Ustawienie proxy HTTP to coś, co program musi rozpoznać i honorować. Jeśli mi nie wierzysz, pobierz / skompiluj oprogramowanie, które łączy się z innym hostem przez TCP i przekonaj się sam.
K1773R