Як заблокувати доступ до Інтернету для програм для вина?


39

Як можна запобігти доступу до Інтернету конкретних або будь-яких програм для вина?

Під час використання певних додатків під Windows вони намагалися час від часу отримувати доступ до Інтернету без явних причин. Мені тоді вдалося запобігти такій поведінці особистим брандмауером. На жаль, я досі не знайшов брандмауер рівня програми в Ubuntu. Це особливо дратує, коли я перебуваю за кордоном, використовуючи роумінг даних із моїм 3G-модемом.


Ви можете спробувати мій попередній завантаження. askubuntu.com/questions/249826/…
ескор

Може smb. розширити відповіді / надати додаткову відповідь, яка працює з nftables?
dirdi

Відповіді:


29

На форумах 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

Обробляйте, до якого ви не хочете мати доступ до Інтернету, використовуючи sg абоsudo -g (виконайте команду як інший ідентифікатор групи):

sg no-internet -c "processFullPath args"

Це в основному передбачає створення нової групи, заборону їй доступу до Інтернету та запуск будь-якої програми, яку ви хочете обмежити як ідентифікатор групи. Тож у вашому випадку ви завжди завжди будете запускати вино, використовуючи метод, описаний у підручнику.


2
Дякую, це все! Але я не розумію, чому хтось проголосував за вас. Ваша відповідь - саме те, на що я сподівався.
YSN

Це чудова відповідь, якщо ви переходите за посиланням, але я підозрюю, що це було DV, оскільки це в основному відповідь на посилання. Якщо ви хочете як, вам потрібно зайти на форуми. Це сказало, що це отримало відгук від мене.
RobotHumans

1
Виробити: виконати команду під новим використанням групи: sg no-internet -c "command args". Також зверніть увагу: мабуть, це правило iptable не відміняє пінг, тому якщо ви перевірите, чи працює він, використовуйте замість netcat. EDIT : Я також зазначив: він не скидає IPv6-з'єднань, тому ви лише заблокували UDP та TCP IPv4.
Привіт-Ангел

1
@ Привіт-Ангел Напевно, повинні бути ті ж аргументи, але з ip6tables.
Пабло А

16

Створіть групу і станьте її членом

addgroup wino

adduser $USER wino

Тепер введіть iptablesправило, щоб заблокувати цю групу в Інтернеті. Ви можете ввести це на терміналі та натиснути клавішу Enter

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

Щоб змусити це правило запускатись після кожної перезавантаження із системним використанням iptables-persistent saveз iptables-persistentпакету.

Якщо ви використовуєте rc-local : Ви можете встановити правило /etc/rc.local. Переконайтеся, що останній рядок у цьому текстовому файлі містить exit 0.

Приклад використання:

sg wino "wine executablename.exe"

" "Перед назвою програми вам потрібно також набрати вино.


2
Я відредагував вашу usermodкоманду, яку потрібно додати -a. Без -a, ви будете в кінцевому підсумку видалення користувача з усіх інших додаткових груп (наприклад admin, cdromі т.д.)! Це також зручніше використовувати addgroup/ adduser.
gertvdijk

збирався виправити -а сам. так, не запускайте вино як корінь !. потрібен лише корінь, щоб зробити правило iptables. приклад використання був для звичайного користувача після виконання цих кроків.
позначка

ах вибачте, моя помилка. видалений коментар.
gertvdijk

@gertvdijk Я ще раз відредагував команди, adduser <username> <groupname>це сенс.
guntbert

1
чи є можливість зробити за замовчуванням заблокований Інтернет для цієї програми (тобто зробити sgвиклик застарілим, наприклад, chownза допомогою програми)?
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"

додати до вашого реєстру вина (або віртуальних дисків playonlinux):

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

кредити на 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, але я ще не стикався з цією проблемою, тому у мене немає потреби в роботі)


3
це лише блокує доступ до програмного забезпечення, яке шанує налаштування проксі, більшість очевидно не робить ... тож це невірне рішення!
K1773R

1
як який? (все програмне забезпечення, яке я використовував з pol, було дійсно заблоковано). отже, я не переконаний у вашій заяві: він дійсний у багатьох випадках, в деяких може бути, але в якому?
mikakun

2
ні це не так. наприклад; будь-яке програмне забезпечення, яке просто підключається до хоста: порту через TCP, буде продовжувати функціонувати. Налаштування проксі-сервера HTTP - це те, що програма повинна визнавати та шанувати. Якщо ви мені не вірите, дістаньте / компілюйте програмне забезпечення, яке підключається до іншого хоста через TCP, і переконайтесь у цьому самі.
K1773R
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.