Como configurar um servidor proxy somente de criptografia? *

1

Eu preciso criar um servidor proxy somente de criptografia. Com isto quero dizer, de qualquer parte do mundo eu gostaria que todo o tráfego de Internet dos portáteis da empresa fosse encriptado e encaminhado através deste servidor único. O cache seria bom, mas não obrigatório; A criptografia entre o laptop e o servidor é o único requisito.

Quais são algumas maneiras de realizar essa configuração? Eu tenho lido no Squid, mas não encontrei muita informação sobre criptografia. Eu suponho que haveria algum SSL ou SSH envolvido, mas sou muito novo nessa área. Os navegadores seriam o usuário principal da conexão, embora o suporte aos clientes de mensagens instantâneas e de email também fosse interessante. Os clientes seriam o Windows e o nix, enquanto o servidor poderia ser qualquer código-fonte aberto.

Editar: Ficou claro que uma VPN seria uma solução melhor do que um proxy. Antes de aceitar uma resposta, alguém poderia comentar sobre isso:

What happens when the laptops are plugged into another corporate network? For example, the consultants sit down at ABC Company's office. They need to bring up an intrAnet site like myabc.internal.com for whatever reason. I believe intranet DNS servers would normally resolve this correctly. If I'm connected to this VPN would this work? I understand a browser connecting to proxy would have the same problem, but you could have two browsers: one via proxy, one not. Or would this not be an issue with VPN?

    
por rcampbell 10.07.2009 / 14:51

3 respostas

5

Eu concordo w / pjz-- parece que você está procurando por uma VPN.

O OpenVPN é um ótimo método, sem custo, de começar com VPNs. Ele está estável e pronto para uso em produção, mas mesmo que você não o use, é uma boa ferramenta para se familiarizar com as VPNs. É muito fácil de configurar com chaves estáticas (para brincar) e apenas marginalmente mais difícil de configurar com certificados (para uso em produção).

  • link - Mini-HOWTO de chave estática. Não recomendado para segurança, mas uma ótima maneira de entender como o OpenVPN funciona antes de mergulhar em uma PKI simples.
  • link

Você diz "tráfego da Internet" em sua pergunta, mas não está claro se isso significa apenas navegar em sites da Web ou, literalmente, todo o tráfego IP para a Internet. Você pode passar uma rota de "gateway padrão" para o cliente com OpenVPN, de forma que o tráfego da Internet redirecionará o "canal" do OpenVPN para o servidor, que poderia então colocá-lo na Internet.

Se você quiser que o HTTP / HTTPS seja roteado para baixo no OpenVPN (ou seja, se eles PING, executar o Skype, etc, que o tráfego pode ir direto para a Internet), você pode considerar a implantação de algo como o Squid Cache também configurar navegadores clientes para usar esse servidor proxy de forma que o tráfego para o proxy fosse roteado para o "canal" do OpenVPN apenas (isto é, colocar o proxy em um endereço IP acessível por VPN, mas deixar o gateway padrão do cliente sozinho). (Você poderia até mesmo fazer um 'push' dhcp-opção 252 ... 'para empurrar para fora uma URL de autoconfiguração proxy para clientes via OpenVPN, eu acredito.)

Você tem algumas opções, dependendo do que deseja fazer.

re: seu comentário para pjz sobre o acesso ao site da Intranet

Você vai ter que "pagar o preço" disso de alguma forma.

Se você estiver apenas encaminhando todo o tráfego da Internet para a VPN por meio de um gateway padrão, qualquer tráfego para servidores da Web dentro da sub-rede ainda será "direto". No entanto, se o servidor da Web da Intranet estivesse em uma sub-rede diferente, o tráfego para essa sub-rede passaria pelo canal do OpenVPN em vez de pelo roteador no local. Isso seria ruim.

Se você fez minha sugestão acima de empurrar para baixo um script de configuração automática de proxy para clientes via OpenVPN (ou algum outro meio) você poderia colocar "exceções" naquele arquivo para fazer com que os clientes "fossem diretos". Eu normalmente faço isso em arquivos de autoconfiguração de proxy com:

if ( isPlainHostName(host) ) { return "DIRECT"; }

Isso faz com que os nomes de host sem pontos sejam acessados diretamente.

Se você conhece um determinado host (ou padrão de correspondência de curinga) que precisa ser acessado diretamente:

if ( shExpMatch(url,"http://*.customer.com")) { return "DIRECT"; }
if ( shExpMatch(url,"http://known-intranet-server.customer.com")) { return "DIRECT"; }

Se você sabe onde seus usuários iriam trabalhar, você pode colocar exceções no arquivo proxy-autoconfiguração antes do fato. Se não, porém, você terá que reagir de maneira reativa a esses problemas. Se você não sabe de antemão, você está pedindo uma solução que possa "fazer a coisa certa" automaticamente. Infelizmente, os computadores fazem um trabalho horrível com isso. > sorriso <

Aproveito o tempo extra com o que você implanta para usar arquivos de configuração automática de proxy. Ele fornece um método centralizado (que pode ser atualizado "on the fly" sem tocar em computadores clientes) para controlar o desvio do tráfego HTTP para um servidor proxy ou deixá-lo ir diretamente para a Internet. Eles são incrivelmente úteis para este tipo de aplicação.

    
por 10.07.2009 / 15:02
2

Parece que você quer uma VPN mais do que um servidor proxy - ou, pelo menos, o que você quer é mais facilmente realizado com um servidor VPN ao qual todos os laptops se conectam. Um servidor proxy não (exceto para alguns servidores de aplicativos específicos) criptografa o tráfego entre seus clientes e ele próprio, enquanto essa é a razão de ser de um servidor VPN.

No que diz respeito aos próprios servidores VPN, tive a sorte de executar o openvpn com os clientes linux, windows e mac.

    
por 10.07.2009 / 14:55
0

"Gostaria que todo o tráfego de Internet dos portáteis da empresa fosse encriptado e encaminhado através deste servidor único".

"Os navegadores seriam o usuário principal da conexão, embora o suporte a clientes de mensagens instantâneas e e-mail também seja bom."

O serviço e a funcionalidade que você descreveu são uma VPN, embora algumas pessoas pensem em sua VPN como hardware de rede, fornecendo um serviço em nível de rede, e não se referem a ela como um "servidor".

A VPN é o caminho a seguir, porque você está falando sobre proteger todo o tráfego no nível da rede e redirecioná-lo para um único host provedor de serviços.

A VPN funcionará em redes corporativas privadas quando você visitar o site, desde que a rede permita o acesso à rede pública (e não bloqueie o acesso aos endereços IP do host da VPN).

A única limitação é que a maioria dos softwares cliente VPN é "tudo ou nada", eles envolvem todo o tráfego do seu sistema (essencialmente, eles se recusam a confiar nos serviços de rede local de outra pessoa). Se você precisa trabalhar na rede local e na sua rede, a melhor solução é executar sua conexão VPN em um pequeno sistema virtualizado (como o VMWare) e fazer com que seu sistema operacional principal / host acesse o acesso local normalmente.

Quanto a proxies (web):

Há muito tempo, havia vários tipos de proxies de aplicativos, mas a Internet tornou o uso comum de "proxy" como "proxy da web". Esses proxies geralmente não usam criptografia, embora possam. Mas eles são "web / internet" focados, eles geralmente proxy HTTP, HTTPS, FTP e Gopher. Eles não podem enviar e-mail ou mensagens instantâneas.

    
por 17.07.2009 / 17:29

Tags