Liberar redirecionamento VNC

1. Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 28/07/2008 - 10:21h

Bom dia pessoal,

estou usando como critério no meu script de firewall , política DROP
depois libero FORWARD necessario e bloqueio o resto

ou seja, somente conectam na rede interna os programas que eu libero , tipo email (25 e 110) , DNS (53) , SSH (22) , proxy (3128), etc ... e tá tudo funcionando legal

exceto o UltraVNC server que não funfa ...
funciona assim: libero o forward para as portas do VNC e depois faço um pre-rotemanto na porta 5100 apontando para a porta 5900 do computador que possui o ultravnc server que é o 192.168.1.100 ... vejam a regra como é:

$IPTABLES -A FORWARD -p tcp --dport 5900 -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 5100 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5100 -j DNAT --to-dest 192.168.1.100:5900


então , embora eu tenha liberado o forward das portas e depois pre-roteado a porta 5100 para a porta 5900 do vnc server do micro 192.168.1.100 ... não dá certo

aliás não é so o vnc que não funfa , nenhum programa da minha rede interna , tipo o servidor de imagens internas via web , ou qualquer outro servidor que envie dados pra fora através do redirecionamento de portas , não funciona.
O que estou fazendo errado ... ou deixando de fazer ?

obrigado!


  


2. Re: Liberar redirecionamento VNC

Fábio Ferreira
fabio.freak

(usa OpenSuSE)

Enviado em 29/07/2008 - 20:35h

Boa noite.
eu uso o redirecionamento da rede externa para interna mudando a porta, não sei bem se é seu caso, mas segue a minha regra

$IPTABLES -t nat -A PREROUTING -p tcp -m tcp -d 192.168.2.100 --dport 3390 -j DNAT --to-destination 10.1.1.50:3389

onde, 192.168.2.100 é meu IP da eth0 (externa) e 10.1.1.50 é o micro da rede interna

Alem disso tenho:
$IPTABLES -A FORWARD -i eth0 -p tcp -m tcp -d 10.1.1.50 --dport 3389 -m state --state NEW -j ACCEPT

abraços


3. UDP

Marcos carvalho
mppdc

(usa Debian)

Enviado em 02/08/2008 - 11:09h

Márcio,

Tente liberar o protocolo UDP tb, a mesma linha que você faz a liberação e o redirecionamento, copie e mude para -p udp que deverá funcionar.
Caso não consiga, pode ser a porta de entrada que não esteja certa, pode estar sendo usada pelo servidor mesmo, sendo utilizada por algum programa p2p interno na rede, enfim, mude ela de 5100 para 6100 por exemplo, que deve funcionar, a princípio está certo seu script sim.
Abs
Marcão


4. para ficar mais claro

Marcos carvalho
mppdc

(usa Debian)

Enviado em 02/08/2008 - 11:12h

Para ricar mais claro :
iptables -A PREROUTING -t nat -p udp --dport 6069 -j DNAT --to 192.168.1.69:5900
iptables -A PREROUTING -t nat -p tcp --dport 6069 -j DNAT --to 192.168.1.69:5900
Abs Marcão


5. Re: Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 06/08/2008 - 17:38h

Caros colegas Fabio e Marcão,
tentei as dicas de vocês , mas não deu certo
Talvez eu as esteja inserindo no lugar errado dentro do meu script
Ai vai uma copia do meu script de firewall, talvez os ajude a me ajudar! rs rs rs
Tudo no script funciona, menos a seção do VNC:
#Direcionar pedidos de conexao para um micro da rede interna

um abraço!


#!/bin/bash
#
# Copyright (C) 2002 Conectiva S.A.
# License: GPL
#
# Author: Andreas Hasenack <andreas@conectiva.com.br>
# Modificado por: Marcio Viana
# Baseado em "firewall-masq" de Roaring Penguin Softare Inc.

#Interface de conexao com a Internet
EXTIF=ppp+

#Criando alias para Iptables
IPTABLES=/sbin/iptables

#Carregando modulos necessarios
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_irc
/sbin/modprobe ipt_REDIRECT

#Limpando regras anteriores
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X

#Configurando politica iniclal de acesso para negar TUDO
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

#Bloqueia (DROP) ou abre (ACCEPT) uma porta num micro da rede interna
#Verificar se o aplicativo possui outras formas de conexao, via proxy por exemplo
#Bloqueando MSN via tcp, a conexao se dara pelo controle do proxy
#
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 1863 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 6891:6900 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 6901 -j ACCEPT
#
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 1863 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 6891:6900 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 6901 -j ACCEPT
# Resto da rede
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j DROP
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 6891:6900 -j DROP
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 6901 -j DROP

# Bloqueando U89 - software burlador de proxy
$IPTABLES -A FORWARD -p tcp --dport 9666 -j DROP
$IPTABLES -A FORWARD -p tcp --dport 443 -j DROP

# Liberando Forward para todos os Pcs, mas apenas determinadas portas
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p udp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p udp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p udp --dport 5235 -j ACCEPT # vnc
$IPTABLES -A FORWARD -p tcp --dport 5235 -j ACCEPT # vnc
# Negando o FORWARD das portas restantes
$IPTABLES -A FORWARD -s 192.168.1.0/24 -j DROP

#Bloqueando acesso direto a porta do navegador
#As conexoes se darao pelo proxy
$IPTABLES -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

#Aceitando conexoes de entrada e saida estabelecidas pela rede interna
$IPTABLES -A INPUT -i ! $EXTIF -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#Compartilhar conexao Internet via NAT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

#Aceitando conexoes de redirecionamento NAT para a rede interna
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

# Habilitando roteamento
/sbin/sysctl -w net.ipv4.ip_forward=1 > /dev/null


#Direcionar pedidos de conexao para um micro da rede interna
#VNC
$IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5235 -j DNAT --to-dest 192.168.1.235:5900


#Bloqueia (DROP) ou abre (ACCEPT) uma porta neste micro
#SSH
$IPTABLES -A INPUT -p tcp --dport 2822 -j ACCEPT
#FTP
$IPTABLES -A INPUT -p tcp -s 192.168.1.0/24 --dport 21 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 21 -j DROP


#Regra que redireciona porta 110 para 8110 nesta maquina - antivirus escutando na 8110
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i eth1 --dport 110 -j REDIRECT --to-port 8110





6. Re: Liberar redirecionamento VNC

Thiago Fernandes de Melo
m4tri_x

(usa Ubuntu)

Enviado em 07/08/2008 - 09:39h

Tenta ai, v se funfa.

#!/bin/bash
#
# Copyright (C) 2002 Conectiva S.A.
# License: GPL
#
# Author: Andreas Hasenack <andreas@conectiva.com.br>
# Modificado por: Marcio Viana
# Baseado em "firewall-masq" de Roaring Penguin Softare Inc.

#Interface de conexao com a Internet
EXTIF=ppp+

#Criando alias para Iptables
IPTABLES=/sbin/iptables

#Carregando modulos necessarios
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_irc
/sbin/modprobe ipt_REDIRECT

#Limpando regras anteriores
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -t nat -X

#Configurando politica iniclal de acesso para negar TUDO
$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT DROP

$IPTABLES -A FORWARD -p TCP -s 0/0 -d 0/0 --dport 5935 -j ACCEPT



#Bloqueia (DROP) ou abre (ACCEPT) uma porta num micro da rede interna
#Verificar se o aplicativo possui outras formas de conexao, via proxy por exemplo
#Bloqueando MSN via tcp, a conexao se dara pelo controle do proxy
#
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 1863 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 6891:6900 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.247 -p tcp --dport 6901 -j ACCEPT
#
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 1863 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 6891:6900 -j ACCEPT
$IPTABLES -A FORWARD -s 192.168.1.251 -p tcp --dport 6901 -j ACCEPT
# Resto da rede
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 1863 -j DROP
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 6891:6900 -j DROP
$IPTABLES -A FORWARD -s 192.168.1.0/24 -p tcp --dport 6901 -j DROP

# Bloqueando U89 - software burlador de proxy
$IPTABLES -A FORWARD -p tcp --dport 9666 -j DROP
$IPTABLES -A FORWARD -p tcp --dport 443 -j DROP

# Liberando Forward para todos os Pcs, mas apenas determinadas portas
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p udp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p udp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p udp --dport 5235 -j ACCEPT # vnc
$IPTABLES -A FORWARD -p tcp --dport 5235 -j ACCEPT # vnc
# Negando o FORWARD das portas restantes
$IPTABLES -A FORWARD -s 192.168.1.0/24 -j DROP

#Bloqueando acesso direto a porta do navegador
#As conexoes se darao pelo proxy
$IPTABLES -A FORWARD -p tcp -s 192.168.1.0/24 --dport 80 -j DROP

#Aceitando conexoes de entrada e saida estabelecidas pela rede interna
$IPTABLES -A INPUT -i ! $EXTIF -j ACCEPT
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A OUTPUT -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

#Compartilhar conexao Internet via NAT
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE

#Aceitando conexoes de redirecionamento NAT para a rede interna
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT

# Habilitando roteamento
/sbin/sysctl -w net.ipv4.ip_forward=1 > /dev/null


#Direcionar pedidos de conexao para um micro da rede interna
#VNC
$IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5935 -j DNAT --to-dest 192.168.1.235:5900


#Bloqueia (DROP) ou abre (ACCEPT) uma porta neste micro
#SSH
$IPTABLES -A INPUT -p tcp --dport 2822 -j ACCEPT
#FTP
$IPTABLES -A INPUT -p tcp -s 192.168.1.0/24 --dport 21 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 21 -j DROP


#Regra que redireciona porta 110 para 8110 nesta maquina - antivirus escutando na 8110
$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -p tcp -i eth1 --dport 110 -j REDIRECT --to-port 8110




7. Re: Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 07/08/2008 - 17:53h

obrigado colega m4tri_x

mas eu já tenho uma linha semelhante à que vc sugeriu na seção:

# Liberando Forward para todos os Pcs, mas apenas determinadas portas
$IPTABLES -A FORWARD -p udp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p tcp --dport 53 -j ACCEPT # dns
$IPTABLES -A FORWARD -p udp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p tcp --dport 25 -j ACCEPT # email enviar
$IPTABLES -A FORWARD -p udp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p tcp --dport 110 -j ACCEPT # email receber
$IPTABLES -A FORWARD -p udp --dport 5235 -j ACCEPT # vnc
$IPTABLES -A FORWARD -p tcp --dport 5235 -j ACCEPT # vnc
# Negando o FORWARD das portas restantes
$IPTABLES -A FORWARD -s 192.168.1.0/24 -j DROP

contudo eu digitei a porta do vnc errada (5235), a correta e que está valendo no meu firewall é 5935, portanto como vc pode ver eu já liberei o forward dela juntamente com outras necessarias como 25, 110 etc.
Veja que a última linha desta seção , nega o forward de todas as portas TCP que não foram permitidas anteriormente. Todas funcionam, menos a do VNC.



8. Re: Liberar redirecionamento VNC

Luciano Gomes
lucianopqd

(usa Ubuntu)

Enviado em 10/08/2008 - 10:44h

Amigo, dá um aolhada na minha dica: http://www.vivaolinux.com.br/dica/Redirecionamento-de-portas


9. Re: Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 11/08/2008 - 15:13h

Obrigado Luciano, mas também não funcionou ... fiz calmamente pra não ter erro ... rodei o arquivo redir.sh antes do meu firewall e não deu .... rodei depois do firewall e também não deu.

OBS.: qualquer uma das dicas anteriores, inclusive esta sua, funciona se eu não negar o FORWARD no meu firewall , mas se eu negar , nenhum redirecionamento funciona.
Acontece que não posso liberar todos os FORWARD.




10. Re: Liberar redirecionamento VNC

Fábio Ferreira
fabio.freak

(usa OpenSuSE)

Enviado em 11/08/2008 - 22:22h

Fala ai marcio. desculpa a demora, estive muito ocupado esses dias.

Eu não se eu vi certo, ou melhor, não vi. Eu procurei o FORWARD que libera a porta 5900 pra sua maquina.
-----------------
$IPTABLES -A FORWARD -p udp --dport 5235 -j ACCEPT # vnc
$IPTABLES -A FORWARD -p tcp --dport 5235 -j ACCEPT # vnc
-----------------

Veja se estou certo, você fez o prerouting mudando a porta de 5235 para 5900:

$IPTABLES -t nat -A PREROUTING -i $EXTIF -p tcp --dport 5235 -j DNAT --to-dest 192.168.1.235:5900

coloque esta linha abaixo do seu prerouting
$IPTABLES -A FORWARD -i $EXTIF -p tcp -m tcp -192.168.1.235 --dport 5900 -m state --state NEW -j ACCEPT

Veja o q vai dar.

abraços

Fábio fReaK


11. Re: Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 13/08/2008 - 15:28h

Obrigado pela atenção Fábio,

mas ainda não deu. Vou fazer o seguinte: pegar todas as dicas, de todos os colegas, um livro sobre Iptables, meu script e estudar ... estudar ... até encontrar o "ponto falho" . Depois dou notícias!


12. Re: Liberar redirecionamento VNC

marcio viana
marcioviana

(usa Mandriva)

Enviado em 19/08/2008 - 18:02h

olá colegas,

obrigado a todos pelas dicas, contudo o problema todo era nesta regra abaixo que faz parte do meu script firewall. Ela estava no local errado, na verdade ele tem de vir antes da regra que nega TODOS os forwards. E outra coisa, a opção NEW tem de ser removida, pois ao que entendi a opção NEW (accept) conflita com o Forward (DROP)

Feito isso, resolvido ... agora está do jeito que eu queria!

#Aceitando conexoes de redirecionamento NAT para a rede interna
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED,NEW -j ACCEPT






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts