HTTPS Redirect não funciona!

1. HTTPS Redirect não funciona!

Anderson Leao Gimenes
andleao

(usa Debian)

Enviado em 21/09/2010 - 21:47h

Olá pessoal, olha eu aqui mais uma vez, bom na minha ultima pergunta eu consegui descobrir como redirecionar via iptables um acesso externo pela porta https(443) para um IP interno na minha rede,mas não funcionou. Como o iptables não fui eu quem configurou, encontrei um script basico chamado regras_firewall.sh onde o mesmo possui algumas regras, mas não creio que ela esteja impedindo esta outra configuração feita, mas em todo caso, ai vai o que usei para fazer o Redirect, e também o script que falei.

shell:

iptables -t nat -F SQUID

iptables -t nat -A SQUID -s 127.0.0.1 -j ACCEPT

SERVERS= ´seq 1 20´
for SERVER in $SERVERS; do
iptables -t nat -A SQUID -s XXX.XXX.X.$SERVER -j ACCEPT
done

LIBERADOS="23 33 34 35 37 214 215 229 230 235 231 250"
for MAQUINA in $LIBERADOS; do
iptables -t nat -A SQUID -s XXX.XXX.X.$MAQUINA -j ACCEPT
done

LIBERADOS="xxx.xxx.xxx.xx xxx.xxx.xxx.xx xxx.xxx.x.xxx"

for IP in $LIBERADOS; do
iptables -t nat -A SQUID -p tcp --dport 80 -d $IP -j ACCEPT

done

------fim do script----

A Regra que usei para rediret da porta 443 para IP internto:

iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 443 -j DNAT --to-destination xxx.xxx.x.x:8080

depois:

iptables -A FORWARD -p tcp -i eth2 --dport 443 -d xxx.xxx.x.x:8080 -j ACCEPT

O que esta esta errado? O erro que aparece para quem vai acessar é TIMEOUT!
O Script de firewall, bloqueia o acesso?
Tenho que configurar alguma coisa no SQUID para isso funfar?

Sou grato antecipadamente, pois todas as vezes que necessitei vcs me ajudaram e muito.

grato

Anderson Leão Gimenes( toda a inocência no Linus ;) !


  


2. Re: HTTPS Redirect não funciona!

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/09/2010 - 13:14h

"Tenho que configurar alguma coisa no SQUID para isso funfar?"
Não, não tem e não pode. Você não conseguirá manusear o tráfego https redirecionando portas de modo transparente. Não conseguirá de forma alguma, na verdade. Os pacotes https são criptografados, e só quem "sabe" como lidar com eles é quem está nas duas extremidades da conexão (o cliente e o server). Qualquer outra forma de manipulação seria MITM.


3. Certo, nada de Squid!

Anderson Leao Gimenes
andleao

(usa Debian)

Enviado em 22/09/2010 - 13:27h

Mas como fazer então? Como posso fazer este redirecionamento( sem é desta forma que tem que ser feito)pois o que necessito é acessar uma das minhas maquinas da rede onde roda um aplicativo em JAVA, e ele esta.... digamos ip interno e porta(xxx.xxx.x.x:8080)necessito acessar externo este Aplicativo, onde imaginei usar um redirect da 443(https) para o ip interno na porta 8080.
Não sei se me expliquei certo, como disse sou bem novato com linux.
Mais uma vez:
Tenho que acessar uma maquina interna da minha rede de fora, ou via https(443), ou http(80), mas acho que meu script não ajuda nisso.

Me ajudem por favor!!


4. Que orelhada a minha!

Anderson Leao Gimenes
andleao

(usa Debian)

Enviado em 22/09/2010 - 15:26h

Poxa Diede, é mesmo eu uso proxy transparente mesmo, mas como resolver então?

Tenho que acessar meu aplicativo externamente, ele roda em um navegador mesmo, como faço isso, redirect na Porta 80 para o IP interno? de que maneira agir?

Me ajudem, por favor abs!

Anderson


5. Re: HTTPS Redirect não funciona!

Jefferson Diego
Diede

(usa Debian)

Enviado em 22/09/2010 - 18:12h

Opaaa... espera aí, pela sua explicação as coisas mudam. O que você quer na verdade não é redirecionar a 443 mas sim a 8080.
Deixa eu ver se entendi: Seu aplicativo roda na porta 8080. Certo. Mas, porque você quer direcionar para especificamente a

443 ou 80? Por que não faz um Portforward para acessar seu aplicativo na 8080 mesmo?
(Mascarar algo na porta 443 pode ser uma tentativa de passar por baixo dos olhos da admin da rede que você quer acessar,

afinal nem todo mundo fica de olho nessa porta... hehehe...)

Para redirecionar a 8080 interna para 8080 externa, você faria o seguinte:
(Digamos que o IP da NIC da máquina que roda o sisteminha em Java é 192.168.1.20 e que a interface que recebe internet é ppp0):

iptables -t nat -A PREROUTING -i ppp0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.20:8080
iptables -t nat -A POSTROUTING -d 192.168.1.20/32 -p tcp -m tcp --dport 8080 -j MASQUERADE
iptables -A FORWARD -d 192.168.1.20 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT


6. E por ai mesmo!

Anderson Leao Gimenes
andleao

(usa Debian)

Enviado em 23/09/2010 - 13:41h

O Aplicativo roda em um de meus servidores, que usa a port 8080(tipo 192.168.2.20:8080) quero acessar este aplicativo externamente. è pensei na 443(https) por ninguem ficar pulando nela mesmo rsrsrs...o acesso que imaginei era assim:
eu acesso https://meuipexterno e o Redirect por ver o https dport 443 > --to destination 192.168.2.20:8080 capitou.
Então acessaria pela 443 mas rediret para a 8080 do servidor interno. Que salada, o fato que é sou bem leigo em Linux, estou em uma experiência muito gratificante meus conceitos mudaram muito quanto ai Linux, e referente ao Debian(muito muito estável mesmo)apaixonante. Esta sua dica de fazer pela 80 redirect para a 8080 do servidor que quero acessar, ao usar esta regra caso eu já possua um outro redirect da port80 para a digamos... port3128, não daria conflito? Desculpe a minha ignorancia quanto ao Fato!

Aguardo resposta, e já agradeço antecipadamente sua ajuda meu velho!!!

Anderson



7. Re: HTTPS Redirect não funciona!

Jefferson Diego
Diede

(usa Debian)

Enviado em 23/09/2010 - 15:05h

Ah... então tá tranquilo.

As suas regras ficariam assim:

iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -t nat -i INTERNFACE_LIGADA_A_WEB -I PREROUTING -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.2.20:8080
iptables -t nat -I POSTROUTING -d 192.168.2.20 -p tcp --dport 8080 -j MASQUERADE
iptables -I FORWARD -d 192.168.2.20 -j ACCEPT

Você também pode redirecionar a 80 do seu servidor para a 8080 da sua aplicação, só tem que dependendo de como você fez a regra de redirect da 80 para 3128 pode realmente dar conflito.
Edite a sua regra de redirect e especifique que o redirecionamento só será feito para o tráfego vindo da interface da rede interna, como em "iptables -t nat -A PREROUTING -s 192.168.2.0/24 -i INTERFACE_INTRANET -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128", e não haverá problemas. Daí você pode substituir nas regras que passei acima o 443 por 80.


8. Valeu meu velho!

Anderson Leao Gimenes
Andleao

(usa Debian)

Enviado em 24/09/2010 - 12:46h

Vou testar as configurações e depois volto com a resposta se deu certo ou não. sendo assim já te agradeço meu velho por tudo.
Vc esta já add nos meus favoritos!!

Até daqui a pouco!


9. Voltei mas.....

Anderson Leao Gimenes
Andleao

(usa Debian)

Enviado em 24/09/2010 - 15:01h

è pessoal,será que fiz algo errado... não funcionou, usei as regras conforme me fora passado mas não funcionou, esta dando a pagina não pode ser exibida, eu tento o acesso https://ip_externo, da erro de pagina não pode ser exibida. O que pode estar errado agora com as configurações?
Minha saida externa sai pela eth2, e a interna pela eth3, subistitui por elas nas regras que o Deide passou e não Funcionou.

Socorro!!! rsrsrs

Anderson!








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts