Как заблокировать доступ в интернет для винных приложений?

Как можно запретить доступ к Интернету конкретным или любым винным приложениям?

При использовании определенных приложений под Windows они время от времени пытались получить доступ к Интернету без какой-либо очевидной причины. Тогда я смог предотвратить такое поведение с помощью персонального брандмауэра. К сожалению, я не нашел брандмауэр уровня приложений в Ubuntu до сих пор. Это особенно раздражает, когда я за границей использую роуминг данных с моим 3G модемом.

38
задан 3 February 2015 в 02:49

4 ответа

Создайте группу и станьте ее членом

addgroup wino

adduser $USER wino

Теперь введите правило iptables, чтобы запретить этой группе использовать Интернет, вы можете набрать это на терминале и нажать Enter

[ 111]

Чтобы запустить это правило после каждой перезагрузки с помощью systemd, используйте iptables-persistent save из пакета iptables-persistent.

Если используется rc-local : вы можете поместить правило в /etc/rc.local. Убедитесь, что в последней строке этого текстового файла написано exit 0.

Пример использования:

sg wino "wine executablename.exe"

Вам нужно ввести " ", а также ввести wine перед названием программы.

0
ответ дан 3 February 2015 в 02:49
[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"

, чтобы добавить в свой реестр Wine (или виртуальных дисков Playonlinux):

гораздо более простое решение, чем использование групп (& amp; не мешает соединению pol, только приложения)

[ 115] кредитов http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

РЕДАКТИРОВАТЬ: в ожидании гика в комментарии, чтобы добавить параметры реестра для блокировки TCP, в то же время: http://support.microsoft.com/en-us/kb/154596 (звучит как настройка портов обнуление или создание какой-либо ошибки конфигурации действительно заблокирует соединения tcp / udp, но я еще не сталкивался с этой проблемой, поэтому мне не нужно обходиться без него)

0
ответ дан 3 February 2015 в 02:49

На форумах Ubuntu есть хороший учебник по блокировке доступа любой программы к Интернету.

Шаги

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

Правило iptables для предотвращения доступа этой группы к сети

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

Процесс, который вы не хотите иметь доступ к Интернету с помощью [ 113] или sudo -g (выполнить команду как другой идентификатор группы):

sg no-internet -c "processFullPath args"

В основном это включает создание новой группы, отказ в доступе к Интернету, а затем запуск любой программы, которую вы хотите. ограничить как этот идентификатор группы. Так что в вашем случае вы просто всегда запускаете wine, используя метод, описанный в руководстве.

0
ответ дан 3 February 2015 в 02:49

Просто запустите приложение как:

systemd-run --scope -p IPAddressDeny=any wine myapp.exe

IPAddressDeny =… позволяет запретить доступ к набору адресов IPv4 и IPv6. Специальное значение any отключает доступ ко всем из них для всех IP-протоколов, таких как TCP, UDP, ICMP, SCTP и т. Д.

Пример использования (примечание: для этой демонстрации у меня был чтобы исправить винный пинг , так как у меня был тайм-аут) :

$ export WINEDEBUG=-all   # remove debug prints for the demo
$ wine ping localhost     # check that ping works
Pinging localhost [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time=1ms TTL=64

Ping statistics for 127.0.0.1
        Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
        Minimum = 0ms, Maximum = 1ms, Average = 0ms
$ systemd-run --scope -p IPAddressDeny=any wine ping localhost   # well, not anymore
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to manage system services or other units.
Multiple identities can be used for authentication:
 1.  constantine
 2.  archie
Choose identity to authenticate as (1-2): 1
Password:
==== AUTHENTICATION COMPLETE ====
Running scope as unit: run-u28936.scope
Pinging localhost [127.0.0.1] with 32 bytes of data:
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.
PING: transmit failed. General failure.

Ping statistics for 127.0.0.1
        Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)

Для остальной части ответа я скопирую текст из моего другого аналогичного ответа на unix.se :


Примечание: у вас будет запрашиваться пароль, но приложение запускается от имени вашего пользователя. Не позволяйте этому вводить вас в заблуждение, заставляя думать, что команде требуется sudo , потому что это приведет к тому, что команда будет выполняться под root, что вряд ли было вашим намерением.

Если вы не хотите вводить пароль (в конце концов, вы уже владеете своими ресурсами, зачем вам нужен пароль для их ограничения) , вы можете использовать - пользователь вариант, однако для того, чтобы это работало, вам понадобится включенная поддержка cgroupsv2, которая прямо сейчас требует загрузки с systemd.unified_cgroup_hierarchy параметром ядра .

4
ответ дан 7 January 2020 в 00:59

Другие вопросы по тегам:

Похожие вопросы: