와인 애플리케이션의 인터넷 액세스를 차단하는 방법은 무엇입니까?


37

특정 또는 모든 와인 응용 프로그램이 인터넷에 액세스하는 것을 어떻게 막을 수 있습니까?

Windows에서 특정 응용 프로그램을 사용하는 경우 분명한 이유없이 인터넷에 액세스하려고했습니다. 당시 개인 방화벽으로 그러한 행동을 막을 수있었습니다. 불행히도 지금까지 우분투에서 응용 프로그램 수준의 방화벽을 찾지 못했습니다. 3G 모뎀으로 데이터 로밍을 사용하는 해외에서 특히 성가신 일입니다.


내 noinet 사전로드를 시도 할 수 있습니다. askubuntu.com/questions/249826/…
escor

답변:


28

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 (다른 그룹 ID로 명령 실행)을 사용하여 인터넷에 액세스하지 않으려는 프로세스 :

sg no-internet -c "processFullPath args"

기본적으로 새 그룹을 만들고 인터넷 액세스를 거부 한 다음 해당 그룹 ID로 제한하려는 모든 프로그램을 실행합니다. 따라서 귀하의 경우 항상 자습서에 설명 된 방법을 사용하여 와인을 실행합니다.


2
고마워요! 하지만 왜 누군가가 당신에게 투표를했는지 이해할 수 없습니다. 당신의 대답은 내가 바랐던 것입니다.
YSN

링크를 따라 가면 훌륭한 답변이지만 DV가 대부분 링크 답변이기 때문에 DV라고 생각합니다. 방법을 원한다면 포럼으로 가야합니다. 즉, 그것은 나에게서 공감대를 얻었다.
RobotHumans

1
정교화하려면 : 새 그룹에서 명령을 실행하려면 다음을 사용하십시오 sg no-internet -c "command args". 또한이 iptable 규칙은 핑을 삭제하지 않으므로 작동하는지 테스트하려면 netcat을 대신 사용하십시오. 편집 : 나는 또한 지적했다 : 그것은 IPv6 연결을 끊지 않으므로 IPv4의 UDP와 TCP 만 차단했습니다.
Hi-Angel

1
@ Hi-Angel 아마도 같은 인수이지만와 함께 있어야합니다 ip6tables.
Pablo A

16

그룹을 만들어 회원이 되십시오

addgroup wino

adduser $USER wino

이제 iptables해당 그룹이 인터넷을 사용하지 못하도록 차단 하는 규칙을 입력하십시오 . 터미널에 이것을 입력하고 Enter를 누르십시오.

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

패키지 iptables-persistent save에서 systemd를 사용 하여 재부팅 할 때마다이 규칙을 실행 iptables-persistent합니다.

rc-local을 사용하는 경우 :에 규칙을 넣을 수 있습니다 /etc/rc.local. 해당 텍스트 파일의 마지막 줄에이라고 표시되어 있는지 확인하십시오 exit 0.

사용 예 :

sg wino "wine executablename.exe"

" "프로그램 이름 앞에와 와인을 입력 해야합니다 .


2
usermod추가 명령을 편집했습니다 -a. 가 없으면 -a다른 모든 보조 그룹 (예 admin: cdrom, 등) 에서 사용자를 제거하게됩니다 . addgroup/ 를 사용하는 것이 더 편리합니다 adduser.
gertvdijk

-a를 직접 고치려고했습니다. 예, 루트로 와인을 시작하지 마십시오!. iptables 규칙을 만들려면 루트 만 필요합니다. 사용 예는 해당 단계를 수행 한 후 일반 사용자를위한 것입니다.
mark

아 죄송합니다, 제 실수입니다. 댓글을 삭제했습니다.
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 가상 드라이브) 레지스트리에 추가하려면 :

실제로 그룹을 사용하는 것보다 훨씬 간단한 솔루션

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 (포트를 0으로 설정하거나 일부 구성을 만드는 것처럼 들립니다. 오류는 실제로 TCP / UDP 연결을 차단하지만, 아직 그 문제에 직면하지 않았으므로 해결 방법이 필요하지 않습니다)


3
프록시 설정을 준수하는 소프트웨어에 대한 액세스 만 차단합니다.
K1773R

1
어느 것? (pol와 함께 사용했던 모든 소프트웨어가 실제로 차단되었습니다). 따라서 나는 당신의 진술에 확신하지 않습니다 : 그것은 많은 경우에 유효하며 어떤 경우에는 유효하지 않지만 어느 것입니까?
mikakun

2
아닙니다. 예를 들어; TCP를 통해 host : port에 연결하는 소프트웨어는 계속 작동합니다. HTTP 프록시 설정은 프로그램이 인식하고 존중해야하는 것입니다. 당신이 나를 믿지 않는다면, TCP를 통해 다른 호스트에 연결하는 소프트웨어를 얻고 컴파일하십시오.
K1773R
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.