iptables는 팀뷰어를 허용합니다

iptables는 팀뷰어를 허용합니다

TeamViewer가 제한적인 iptables 구성을 사용하도록 허용하는 데 문제가 있습니다. 저는 Fedora 20을 사용하고 있습니다.

몇 가지 조사 끝에 TeamViewer가 포트 80, 443을 사용한다는 사실을 알게 되었고, 이러한 포트를 열 수 있도록 규칙을 설정하기 위해 이 스크립트를 만들었지만 여전히 작동하지 않습니다.

#!/bin/bash
#clear iptables
iptables -F
iptables -X

#accept everything no matter port on localhost
iptables -A INPUT -i lo -j ACCEPT

#allow established connections
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#allow traffic going to specific outbound ports
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT

iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT

iptables -A OUTPUT -p tcp --dport 5938 -j ACCEPT
iptables -A INPUT -p tcp --sport 5938 -j ACCEPT

iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -j ACCEPT

#drop anything that doesn't match the rules above
iptables -A INPUT -j DROP
iptables -A OUTPUT -j DROP
iptables -A FORWARD -j DROP

이러한 규칙을 사용하면 TeamViewer를 사용하여 다른 컴퓨터에 액세스할 수 있지만 다른 사람이 내 컴퓨터에 액세스하도록 허용할 수는 없습니다. 또한 기본(시작) iptables가 설정되면 TeamViewer 연결을 수신하고 시작할 수 있습니다.

내가 무엇을 놓치고 있나요?

편집 1

방금 패킷 추적을 실행하여 포트 5938에서 진행되는 트래픽 로드를 볼 수 있지만 연결된 PC에는 "연결 중..."만 표시되고 암호를 묻는 메시지는 표시되지 않습니다.

편집 2

작동하는 기본 규칙 세트를 활성화하고 다른 패킷 추적을 실행했는데 이제 포트 5938에 연결이 표시되고 일부 트래픽 후에 TeamViewer 서버(포트 80)에 HTTP 연결이 이루어진 것을 확인한 후 여러 DNS( 포트 53) TeamViewer 호스트 이름을 요청합니다. 이 모든 포트는 제한적인 설정에서 열려 있지만 DNS 요청 및 HTTP 연결은 표시되지 않습니다... :-/ 다른 호스트 및 사이트에 대한 연결은 제대로 작동합니다. 실제로 저는 제한적인 규칙 세트를 사용하여 이 편집 내용을 게시했습니다.

편집 3 마음의 평화를 위해 마지막 세 개의 DROP 규칙을 제거했으며 그대로 작동합니다.

답변1

TeamViewer를 사용하여 내 iptables 구성을 나열했습니다.

    #!/bin/bash

#--------------------------------------
#Clear iptables
iptables -F -t nat
iptables -X -t nat
iptables -F -t filter
iptables -X -t filter

#allow forward
echo '1' > /proc/sys/net/ipv4/ip_forward

#default policy
iptables -P INPUT DROP
iptables -P FORWARD DROP 
iptables -P OUTPUT DROP


#accept related and established connection
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# DNS
iptables -A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

# interfejs LO
iptables -A INPUT -i lo -s 127.0.0.1 -j ACCEPT
iptables -A OUTPUT -o lo -d 127.0.0.1 -j ACCEPT

#WWW
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT

#TEAMVIEWER
iptables -A OUTPUT -o eth0 -p tcp --dport 5938 -m state --state NEW -j ACCEPT

관련 정보