UID 1000을 제외한 모든 사람이 인터넷에 액세스하지 못하도록 차단하는 iptables 필터를 구축하려고 합니다. 이것이 내가 지금까지 가지고 있는 것입니다:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m owner --uid-owner 1000 -j ACCEPT
-A OUTPUT -j REJECT --reject-with icmp-net-unreachable
-A OUTPUT -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -j DROP
-A FORWARD -j DROP
COMMIT
루트(UID 0)로 다음 명령을 실행하려고 하면:
curl http://ipecho.net/plain
curl: (7) Failed to connect to ipecho.net port 80: Network is unreachable
iptables는 필요에 따라 이를 차단합니다. 그러나 이것을 루트로 시도하면 다음과 같습니다.
curl --proxy socks5h://localhost:7777 http://ipecho.net/plain
_ip_address_
모두 제일 좋다. 다른 사용자가 프록시를 사용하더라도 모든 인터넷 액세스를 차단하려면 무엇을 변경해야 합니까?
답변1
로컬 프록시를 사용하는 경우 나가는 네트워크 트래픽에는 최종 사용자가 아닌 프록시가 소유한 uid가 있습니다. 에이전트가 uid 1000으로 실행되고 있다고 가정합니다. 프록시로 무엇을 사용합니까?
지정된 로컬 사용자만 사용할 수 있도록 구성할 수 있는 프록시를 사용해야 합니다.