프로그램의 인터넷 사용 방지

프로그램의 인터넷 사용 방지

데비안에서 특정 프로그램이 인터넷에 연결하지 못하도록 차단하는 방법(나가는 연결을 차단하는 방화벽)이 있습니까? 예를 들어 와인에서 실행되는 Windows 프로그램이 홈에 전화할 수 없도록 차단하는 방법이 있나요?

답변1

당신은 사용할 수 있습니다Linux 컨테이너네트워크 인터페이스가 없는 환경을 만드는 것입니다. 예를 들어, 다음과 같은 구성 파일을 생성한다면:

# lxc.network.type = empty

그런 다음 다음과 같이 쉘을 시작하십시오.

# lxc-execute --name bash -f /tmp/lxc.conf /bin/bash

이 셸에는 다음 외에 사용할 수 있는 네트워크 장치가 없다는 것을 알 수 있습니다 lo.

# ifconfig -a
lo        Link encap:Local Loopback  
          LOOPBACK  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

를 실행하려면 루트여야 하므로 데스크톱 환경에서 lxc-execute이 작업을 수행하는 것이 까다로울 수 있습니다.wine

sandboxSELinux의 일부로 사용 가능한 명령도 있는 것 같습니다 . 여기샌드박스를 사용하여 Firefox를 실행하는 예. 이를 위해서는 selinux가 활성화되어 있어야 합니다.

답변2

더 쉬운 방법 중 하나는 WINE 프로그램을 다른 사용자로 실행하고 netfilter를 설정하여 해당 사용자로부터 패킷을 삭제하는 것입니다.

예를 들어, "wineusername"은 Wine 사용자이고 em1은 네트워크 인터페이스입니다.

iptables -A OUTPUT -o em1 -m owner --uid-owner wineusername -j DROP
iptables -A FORWARD -o em1 -m owner --uid-owner wineusername -j DROP
iptables -A INPUT -o em1 -m owner --uid-owner wineusername -j DROP

관련 정보