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