sexta-feira, 22 de fevereiro de 2013

Servidor Proxy

Conceitos de Servidores Proxy

O objetivo principal de um servidor proxy é possibilitar que máquinas de uma rede privada possam acessar uma rede pública, como a Internet, sem que para isto tenham uma ligação direta com esta. O servidor proxy costuma ser instalado em uma máquina que tenha acesso direto à Internet, sendo que as demais efetuam as solicitações através desta. Justamente por isto este tipo de servidor é chamado de proxy, pois é um procurador, ou seja, sistema que faz solicitações em nome dos outros.

Um servidor proxy para o protocolo http, por exemplo, pode ter outras funcionalidades implementadas. Visto que todas as solicitações de páginas efetuadas pelas máquinas da rede privada serão feitas através dele, é muito útil armazenar localmente as páginas que foram solicitadas, permitindo que os próximos acessos, efetuados por quaisquer máquinas da rede, possam ser otimizados. Este conceito é chamado de caching, e vários servidores proxy na verdade são servidores proxy cache. Pelo mesmo motivo, também é possível implementar uma funcionalidade que permita controlar o que os clientes podem acessar e em que momento. Um servidor proxy também pode implementar o NAT (Network Address Translation – Tradução de Endereços de Rede). O NAT é tecnicamente a função de um portal de nível de rede, mas alguns fornecedores também incluem este recurso em seus produtos e servidores proxy.

Proxy Caching

Os servidores de proxy cache são implementados na camada de aplicativo e processam protocolos Internet específicos, tais como http e FTP. São definidas regras no servidor proxy para determinar como um pedido de estação de trabalho deve ser processado.

Uma das principais tarefas de um servidor proxy é armazenar temporariamente páginas da Web e arquivos de FTP para clientes proxy. Esses tipos de servidores proxy são chamados de servidores de cache proxy. O cache aumenta o desempenho da rede ao reduzir a quantidade de dados que são transferidos de fora da rede local.

Para implementar o proxy caching, cada estação de trabalho da rede é configurada como um cliente proxy para um determinado serviço. Por exemplo, um cliente proxy Web iria configurar seu navegador (browser) para reconhecer o servidor proxy. Quando um cliente fizer um pedido no navegador  para baixar uma certa página, o navegador fará o pedido ao servidor proxy. O servidor proxy contém armazenadas as páginas visitadas recentemente. Este cache contém as páginas Web que as estações de trabalho em toda a rede baixaram recentemente.

O servidor proxy verifica  o seu cache para ver se a página da está disponível. Se a página estiver disponível no cache será enviada ao cliente a página armazenada. Se a página não estiver no cache, o servidor proxy baixará do site em questão, armazenará essa página no seu cache e a enviará à estação de trabalho.
Para garantir que as páginas no cache não estejam desatualizadas, os dados do cache proxy expiram após um tempo pré-determinado. No squid, esta configuração é chamada de tempo de renovação de objeto (som, vídeo, arquivos texto, etc... ).

Este processo aumenta o desempenho da rede porque a página é baixada imediatamente para o cliente a partir do servidor proxy, evitando ter de baixá-la da Internet.



Tradução de Endereços de Rede.

Muitos servidores proxy são distribuídos com a função de NAT. A NAT permite que o endereço de rede interno de uma empresa seja ocultado da Internet. A empresa é representada na Internet como um endereço de IP não relacionado com os endereços de IP internos.

Utilizando um servidor proxy, todo o tráfego de dentro da empresa destinado à Internet é enviado para o servidor proxy. O proxy dá cada pacote um outro endereço de IP antes transmiti-lo pela Internet. Quando o pacote de resposta chega, o servidor proxy o envia ao servidor apropriado da empresa que havia feito o pedido. Este procedimento protege os endereços verdadeiros da rede interna da Internet, dificultando o ataque de um hacker ao sistema, já que o endereço do sistema protegido não é conhecido e não fica diretamente acessível a partir da Internet.


Diferença Entre um Filtro de Pacotes e um Servidor Proxy

Esse é modelo de 7 camadas ISO/OSI. mas ISO corresponde á International Organization for Standardization, ou Organização Internacional para Padronização, e OSI corresponde á Open System Interconection, ou Sistema de Interconexão aberto. Podemos fazer uma analogia com os Processos, ou POP (ProcedimentoOperacional Padrão) como conheço, que a ISO exige das empresas no processo de obtenção do ISO 9001 por exemplo. A idéia é a mesma, “padronizar” para organizar e agilizar os processos.


Os 2 serviços são colocados no perímetro da rede. Ambos funcionam como um intermediário entre uma LAN e a Internet. Ambos possuem a capacidade de filtrar o tráfego transmitido para dentro e para fora da rede. Ambos utilizam regras para determinar se certos tipos de tráfego terão autorização para passar pelo servidor ou se serão descartados.

O que acontece é que o filtro de pacotes não penetra tão fundo no pacote como o servidor proxy. O filtro de pacotes analisa o tráfego nas camadas de rede (camada 3) e de transporte (camada 4) do modelo OSI. Por exemplo, um filtro de pacotes determinará se autoriza a passgem de um endereço ou de uma certa faixa de endereços IP. Se a sua rede é atacada a partir de uma faixa constante de endereços de IP, você pode criar uma regra para descartar todos os pacotes que se originarem dessa faixa. Você pode filtrar o tráfego por serviço ou número de porta (por exemplo), criando uma regra que descarte todo o tráfego direcionado a certas portas de escuta, tais como FTP, rlogin e tráfego Telnet, ou dentro de uma faixa de números de portas. Você pode filtrar pacotes ICMP por tipo ou código, o que permite descartar somente certos tipos de tráfego ICMP. Isto ajuda na sua proteção contra ataques comuns de denial-of-service distribuídos (DDOS). Como os filtros de pacotes trabalham nessas camadas, são muitas vezes implementados em roteadores no perímetro da rede.

O servidor proxy é capaz de analisar pacotes na camada de aplicativo (camada 7). Isto oferece uma flexibilidade muito maior, porque permite que o tráfego dentro de um serviço, como o tráfego da porta 80 (http) possa ser filtrado. Como mencionado anteriormente, isto permite que os servidores proxy analisem o tráfego http ou FTP, e determinem se deve ou não passar. Se houver uma regra que impeça a passagem de qualquer endereço WEB que contiver a palavra “sexo”, então qualquer pedido de URL http que contiver “sexo” será descartado.



Nenhum comentário:

Postar um comentário