iptables para permitir o teamviewer

4

Estou tendo problemas para permitir que o TeamViewer tenha uma configuração restritiva do iptables. Estou executando o Fedora 20.

Depois de algumas pesquisas, descobri que o TeamViewer usa as portas 80, 443 e criei esse script para configurar regras para permitir que essas portas sejam abertas, mas ainda assim não funciona:

#!/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

Com essas regras, posso acessar outras máquinas com o TeamViewer, mas não consigo que outras pessoas acessem minha máquina. Além disso, quando os iptables padrão (boot) estão no lugar, posso receber e iniciar a conexão do TeamViewer.

O que estou perdendo?

EDIT 1

Acabei de executar um rastreio de pacotes e vejo um grande volume de tráfego na porta 5938, mas a conexão do PC diz apenas Connecting ... e não é solicitada a senha.

EDIT 2

Eu ativei o conjunto padrão de regras que funciona e executei outro rastreamento de pacote e agora vejo que após uma conexão e algum tráfego na porta 5938, vejo uma conexão HTTP (porta 80) sendo estabelecida em um servidor TeamViewer e antes disso, vejo algumas solicitações de DNS (porta 53) para os nomes de host do TeamViewer. Todas estas portas estão abertas na minha configuração restritiva ainda não vejo as solicitações de DNS e a conexão HTTP ...: - / Conexão para outros hosts e sites funciona muito bem. Na verdade, estou postando este EDIT usando o conjunto restritivo de regras.

EDIT 3 Apenas para minha tranquilidade, removi as três últimas regras DROP e, assim, funciona.

    
por Fabricio 01.09.2014 / 22:59

1 resposta

1

Eu listo a minha configuração do iptables com o TeamViewer:

    #!/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
    
por 25.02.2016 / 11:20

Tags