Página 2 de 3 PrimeiroPrimeiro 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. #6
    gmlinux
    Citação Postado originalmente por Anonymous
    [webmail:/usr/local/squid] root# sbin/squid -v
    Squid Cache: Version 2.5.STABLE6
    configure options: --enable-ssl

    o script que faz o redirecionamento da pagina eh algo como:

    #!/usr/bin/perl -p
    BEGIN { $| = 1; }
    s%^http://servidor.externo.1%http://ip.servidor.interno.1% && next;
    s%^http://servidor.externo.2%http://ip.servidor.interno.2% && next;
    s%^http://servidor.externo.3%http://ip.servidor.interno.3% && next;

    e assim por diante.

    Funciona da seguinte forma:

    O cliente da internet digita http://servidor.externo.1, o squid intercepta o pedido e repassa para o servidor interno.

    A aplicacao tem varios links.

    vc precisa continuar passando para o cliente links com https://
    Eh justamente isso que eu queria que o squid fizesse, mas quando o servidor interno me responde em http (o que eh desejavel) o squid responde ao cliente na internet em http tambem e nao em https que eh o que deve ser.

    Valeu!
    Quando o cliente clica em um link do seu servidor, se ele indicar http, o browser do cliente faz uma requisição http no squid, por iso vc deve indicar https.
    Eu acho mais fácil configurar o server para https...

  2. #7
    Vou tentar ser mais especifico:

    Eu tenho um classe C de IP´s validos, ou seja 254 enderecos.

    Eu tambem tenho 60 servidores de uma determinada aplicacao (sem contar os outros servidores criticos que tambem exitem).

    Eh um para cada regional de nossa empresa.

    Como nos temos mais servidores do que IP´s disponiveis resolvemos fazer o seguinte:

    Colocar uma maquina pra responder por cada um desses 60 servidores, ou seja, a gente deu um unico ip valido pra essa maquina (a maquina do sqiud com http accelerator) e colocamos no dns varios nomes que apontam pro mesmo ip/maquina.

    por exemplo quando um cara em Sp, da internet, digita:

    http://servidor.aplicacao.sp

    O mesmo procedimento com o cara do Rio, de Salvador, de POA etc.

    Cada regional tem seu respectivo servidor.

    Essa maquina (a com o squid) intercepta o pedido e invoca o servidor adequado, estes 60 servidores esta na minha rede interna.

    O squid esta atras de um firewall, mas nao ha nenhuma restricao quanto aos servicos http e https.

    Eh importante salientar que a interceptacao da comunicacao entre as maquinas se dah nos dois sentidos, ou seja, o cliente faz um pedido da internet, o squid intercepta e manda pro servidor adequado. O servidor responde pro squid, que responde pro cliente que fez a solicitacao.

    Ou seja pro cliente o squid nao existe, mas o servidor que esta por tras soh fala com o squid.

    O problema com o https eh que essa aplicacao (a dos 60 servidores que estao por tras) usa um outro formato de certificado digital (PKCS - binario) enquanto o squid usa o formato PEM (texto plano), de forma que pra que o servidor falasse com squid em https eles teriam que ter necessariamente o mesmo certificado no mesmo formato (na verdade poderiam ateh ter certificados diferentes, pois eh o squid quem responde pra fora, mas essas PKCS custam $$$$).

    Nao sei voces, mas eu nao aceito o fato de ter que comprar 60 certificados pros servidores que estao por tras. Isso eh inadimissivel.

    Por isso adotamos (ou estamos tentando) adotar essa solucao.

    Bom acho que isso eh tudo.

    De repente ateh exista uma outra solucao sem necessidade do squid. Como jah mencionei anteriormente, conheco a solucao com o apache+mod_proxy, mas alem de ser uma dor de cabeca pra fazer isso no darwin (compilar e instalar o squid com ssl - pra que vcs tenham ideia o sistema nem mesmo vem com compilador na instalacao default, mesmo apesar de se auto entitular Mac OS X 'Server'), temo que recaia no mesmo problema que acontece com o squid.

    Ou seja o problema principal eh que o squid esta respondendo na mesma porta que ele recebe a resposta do servidor interno (80) mesmo que a conexao inicial do cliente seja em https.

    De fato, se o cliente digitar https://servidor, ele ira conectar-se ao nosso servidor via https, porem as transacoes posteriores nao serao em https, mas em http.


    Obrigado a todos pela ajuda e desculpem o incomodo e a burrice !



  3. #8
    ytzhak
    Oi eu sou o Visitante aih.

    Achei melhor me cadastrar pq esse nao eh um nome muito comum.

  4. #9
    gmlinux
    Citação Postado originalmente por Anonymous
    ...
    Colocar uma maquina pra responder por cada um desses 60 servidores, ou seja, a gente deu um unico ip valido pra essa maquina (a maquina do sqiud com http accelerator) e colocamos no dns varios nomes que apontam pro mesmo ip/maquina.
    ...
    Eh importante salientar que a interceptacao da comunicacao entre as maquinas se dah nos dois sentidos, ou seja, o cliente faz um pedido da internet, o squid intercepta e manda pro servidor adequado. O servidor responde pro squid, que responde pro cliente que fez a solicitacao.
    ...
    Ou seja o problema principal eh que o squid esta respondendo na mesma porta que ele recebe a resposta do servidor interno (80) mesmo que a conexao inicial do cliente seja em https.
    Saquei..., seguinte, eu usei esta configuração aqui

    https_port 443 cert=/etc/squid/key.crt key=/etc/squid/key.key
    httpd_accel_host 10.x.x.x
    httpd_accel_port 80
    httpd_accel_single_host off
    httpd_accel_with_proxy on
    httpd_accel_uses_host_header off

    criei as chaves assim
    openssl req -x509 -newkey rsa:2048 -keyout key.key -out key.crt -days 365 -nodes

    abri o "server" squid com https e este abrindo um server http 10.x.x.x, meu browser recebeu o certificado normal e abriu a página, aparentemente, funcionou, no browser ficou a identificação de criptografado (cadeado), do lado do server, infelizmente não tinha um sniffer para verificar, logo não posso afirmar com certeza que funciona.



  5. #10
    ytzhak
    Na verdade eu jah fiz isso. Os certificados jah estao criados e funcionando, pelo menos na primeira conexao.

    Como disse, quando o clinte acessa a pagina inicial da aplicacao, a pagina eh acessada via https. Mas pra links internos a comunicacao eh redirecionada via http.

    Ex: O endereco do servidor de SP eh http://servidor.sp. Nessa primeira pagina ha um pedido de login e senha.

    Se o cara digitar https://servidor.sp, ele consegue acessar a pagina via https, mas quando ele entra com os dados no campo login e senha e entao clica em logar, ele eh redirecionado pra uma conexao http.


    Agora, eu nao encontrei ainda a razao pela qual a primeira pagina eh respondida em https e as posteriores nao.

    Depois que o cara passa pra pagina seguinte, suponhamos, http://pagina.depois.do.login.e.senha e tentar digitar manualmente no browser https://pagina.depois.do.login.e.senha aih entao todas os outros pedidos sao efetuados via https. Por isso estava tentando fazer com ipfw e nat, pra tentar forcar todas as conexoes pedidas pra porta 80 serem redireciondas pra porta 443.


    A proposito, tambem faco matematica.

    8)






Tópicos Similares

  1. IPFW NAT sainda com 3 ips diferente..
    Por leonardosimas no fórum Sistemas Operacionais
    Respostas: 2
    Último Post: 05-06-2008, 08:26
  2. Squid, por favor, ajuda
    Por fisiconuclear18 no fórum Servidores de Rede
    Respostas: 1
    Último Post: 03-05-2006, 15:12
  3. Squid sem nat
    Por z226 no fórum Servidores de Rede
    Respostas: 1
    Último Post: 01-09-2005, 07:05
  4. Duvida Sobre Iptables com Squid e NAT
    Por elton no fórum Servidores de Rede
    Respostas: 9
    Último Post: 03-01-2005, 20:45
  5. QUERO MONTAR PROXY/NAT COM SQUID
    Por NoiseMaster no fórum Servidores de Rede
    Respostas: 2
    Último Post: 06-09-2002, 18:15

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L