O que é um Proxy?
Em linguagem simples, um Proxy não é mais que um intermediário que actua como
cliente/servidor e que permite acesso a redes exteriores á nossa rede, com o intuito de criar uma
porta de segurança entre a nossa Intranet e a Internet. Podemos ver na figura 1 o principio de
funcionamento de um Proxy.
img1
Tipicamente, um Proxy está implementado de forma permitir o acesso, de dentro de uma Intranet
protegida por um Firewall as redes exteriores à mesma ou seja, á Internet. Na maioria das
situações este Proxy executa serviços de Gateway.
"Normalmente", dois computadores establecem uma logação TCP/IP do tipo cliente servidor,
isto é, a maquina cujo endereço IP é c1.c2.c3.c4. é um cliente que deseja estabelecer uma
ligação, para efectuar uma secção de trabalho, com o servidor s1.s2.s3.s4., como se pode ver na
figura 2.
img2
Com o crescimento exponencial da utilização da Internet, o trafego WWW nacional e
internacional tambem cresceu exponencialmente, levando ao aparecimento de milhões de
maquinas com endereços IP.
A criação de Routers com tabelas estáticas e/ou dinâmicas de encaminhamento veio ajudar a que
o trafego na Internet se torna-se mais fluido. Mas não bastava, era necessário criar maquinas que
suportassem serviços e protocolos que os clientes e servidores não pudessem ou não tivessem
implementados (o caso do serviço de DNS), de forma a que o primeiro encaminhamento de uma
ligação se torna-se o mais rápido possível.
Deram o nome de servidor Proxy a essa maquina, sendo um dos seus serviços o encaminhamento
de uma ligação para o Router mais próximo do destinatário. Na figura três podemos ver uma
ligação TCP/IP a ser estabelecida por um servidor Proxy. Através do serviço de DNS, o servidor
Proxy sabe qual é o Router que pode, mais rápida e eficazmente, estabelecer a ligação entre o
cliente c1.c2.c3.c4 e o servidor s1.s2.s3.s4.
Figura 3
Neste caso, o servidor Proxy comporta-se como um cliente/servidor, isto é, do lado do cliente
c1.c2.c3.c4 ele é o servidor ps1.ps2.ps3.ps4 da web, enquanto que do lado do servidor s1.s2.s3.s4
ele aparece como o cliente pc1.pc2.pc3.pc4. Após o estabelecimento da ligação entre o servidor
Proxy e o servidor de destino, o servidor Proxy liga o cliente ao servidor passando a ser
transparente, tanto para o cliente de origem como para o servidor de destino, a sua presença na
secção.
É usual os ISP (Internet Service Provider - Fornecedores de acesso á Internet) estabelecerem um
servidor Proxy para os seus clientes (assinantes) por forma, não só a facilitar o encaminhamento
das ligações como também para poderem estabelecer protocolos de segurança de acesso a
conteúdos de alguma forma lesivos para eles (ISP) próprios.
Assim. podemos sintetizar que, na pratica, um servidor Proxy implementa os protocolos
cliente/servidor necessários para cumprir as seguintes funções:
-- aceitar secções de clientes e aparecer-lhes como om servidor;
-- receber do cliente o URL ou o endereço IP do servidor de destino da ligação;
-- iniciar a ligação ao servidor de destino aparecendo-lhe como um cliente;
-- criar a sessão entre o cliente de origem e o servidor de destino, fazendo a transferencia dos
pedidos, respostas e dados entre eles;
-- praticar o controlo de acesso conforme o desempenho de servidor Proxy que estiver
estabelecido.
Podemos então dizer que , o objectivo funcional de um servidor Proxy é estabelecer sessões para
troca de dados entre clientes e servidores que não têm ou não podem estabelecer uma ligação IP
directamente entre eles.
Ao nível de segurança um servidor Proxy implementa o controlo de acesso que tipicamente o
software de cliente ou servidor não suportam ou não têm implementado.
O que é um Firewall?
Um Firewall é um sistema informático constituído por hardware e software especifico cuja
função é reforçar a segurança entre duas redes, habitualmente a nossa rede interna ou Intranet e
as redes externas que constituem a Internet. Toda a informação passa neste sistema, quer para
sair ou para entrar na nossa Intranet, o que transforma este no ponto ideal para implementar
serviços de filtragem, monitorização e verificação de ligações e sessões, entre estações de
trabalho localizadas dentro e fora da nossa rede.
Figura 4
Um Firewall pode proteger a elementos da nossa rede de ataques informáticos provenientes da
rede exterior tal como, também pode proteger um elemento ou elementos da rede exterior do
mesmo tipo de ataques provenientes de utilizadores das nossas estações de trabalho.
O objectivo principal de um Firewall é o de evitar que utilizadores de fora acedam às máquinas
do sistema que não estão configuradas para acesso público. Para evitarem acessos indevidos
utilizam um conjunto de ferramentas diversas, entre as quais, filtragem de pacotes, listas de
acessos de clientes, listas de acesso de servidores, autenticação de utilizadores, e disfarce de
endereços.
Filtragem de pacotes : neste caso o Firewall rejeita os pacotes de dados antes de estes atingirem
uma determinada máquina. Pode ser necessário negar o acesso a determinadas máquinas
exteriores à rede. Com a filtragem dos pacotes de dados diz-se ao Firewall quais os pacotes que
deve rejeitar.
Listas de acessos de clientes : neste caso o Firewall possui uma lista de quais os clientes
exteriores à rede e que podem acede-la.
Listas de acesso de servidores : aqui o Firewall possui uma lista dos servidores que podem ser
acedidos do exterior da rede.
Autenticação de utilizadores : neste caso os utilizadores exteriores à rede terão de possuir um
nome de utilizador (username) assim como uma palavra de passe (password), mediante a qual o
Firewall aceitará ou rejeitará o acesso à rede.
Disfarce de endereços : neste caso o Firewall usa uma mascara os endereços IP das máquinas
interiores à rede fazendo com que pareçam ter endereços IP diferentes. Desta forma é mais difícil
os piratas informáticos (hackers) acederem às máquinas uma vez que não sabem os seus IPs.
Tipos de Firewalls
Os Firewalls podem vir sob diferentes formatos, variam desde aplicações do tipo stand-alone até
conjuntos de software que podem ser instalados em estações de trabalho (workstations) baseadas
em Windows NT ou Unix. Alguns Firewalls vem integrados em dispositivos de acesso à Internet
tal como Routers.
As aplicações do tipo stand-alone são uma boa escolha caso se esteja já ligado à Internet e não se
queira substituir o Router ou caso seja necessário um Firewall de grande capacidade.
Tipicamente estes dispositivos têm duas ligações Ethernet, uma para a LAN interna, outra para a
ligação à WAN/Internet.
Existem aplicações de software que tornam um PC vulgar num Firewall, e o seu beneficio advém
do facto de se poder converter uma máquina que já está integrada na rede num Firewall. Neste
caso basta instalar um segundo adaptador Etnernet na máquina, mas é necessário cuidado com a
configuração uma vez que se não for a correcta pode comprometer a segurança do resto da rede.
Deve-se apenas seguir esta via quando se conhece bem os serviços de rede do sistema operativo
que se instalará.
Nos dias que correm a maior parte dos fabricantes de Routers já incluem capacidades de Firewall
nos seus dispositivos, o que permite integrar no mesmo produto conectividade à Internet e
segurança. Estes dispositivos são muito seguros quando configurados correctamente uma vez que
não correm em cima de um sistema operativo. Esta é normalmente a opção mais fácil e barata a
seguir.
Quem necessita de um Firewall
Pequenas empresas normalmente não necessitam de Firewalls, uma vez que usam uma ligação à
Internet baseada numa chamada telefónica que estará em baixo a maior parte do tempo. Quando
não se está a aceder à Internet não existe a possibilidade de um intruso entrar na LAN da
empresa pelo que o Firewall não é necessário. Neste caso sempre que alguém dentro da empresa
tente aceder à Internet será feita uma chamada telefónica que implementará a ligação à Internet,
quando essa pessoa acabar a ligação a rede passará a estar isolada do mundo exterior. Isto
minimiza o custo de ligação à Internet assim como torna muito difícil a um intruso fazer uma
ligação para os computadores da rede uma vez que terá que descobrir os endereços IP
(normalmente variam de sessão para sessão), assim como nome de utilizador e a palavra passe.
Quando se tem uma ligação permanente à Internet então é necessário usar um Firewall, uma vez
que podem existir piratas informáticos (hackers) que tentem sistematicamente penetrar na rede,
podendo no entanto existir falhas na segurança sem que os intrusos provoquem estragos.
Web Proxying Server e Web Caching Server
Já referimos anteriormente o crescimento que está a sofrer o trafego de informação na Internet e
o aumento de computadores ligados a mesma. Mesmo assim, qualquer utilizador quando navega
na Internet deseja um serviço de qualidade com baixos tempos de resposta aos seus pedidos.
Pode-se melhorar o tempo de resposta a um pedido de duas formas:
-- criar um servidor de caching ou web caching server (WCS);
-- criar um servidor Proxy de caching ou web proxying server (WPS).
Na maior parte dos casos um Cliente requer, na mesma ligação, varias vezes o mesmo
documento existente nesse servidor. Um WCS tem como função primária guardar em memória
os documentos que os Clientes requerem aos servidores com que estabelecem uma sessão. Assim
evita o ter de estar a puxar o mesmo documento sempre que o Cliente o deseja durante a mesma
sessão, reduzindo o tempo de "download" e criando menor carga no servidor remoto, em virtude
de este só enviar o documento uma vez.
Este serviço de caching pode ser implementado de duas formas, primeiro no computador do
próprio Cliente, pois os Browsers implementam este serviço criando uma cache local constituída
não só pelos documentos que se estão a visionar como também por aqueles que se viram no
passado. Desta forma um Browser cria temporariamente uma historial de toda a navegação do
Cliente.
A segunda forma de estabelecer um serviço de Caching é criação de um servidor que vai servir
múltiplos Clientes e Servidores. Este servidor WCS deve ser colocado o mais próximo possível
do ponto de maior trafego web. Assim, pode-se considerar como ponto ideal aquele em que uma
LAN/Intranet tem acesso as redes exteriores WAN/Internet. Esse ponto será aquele onde se situa
um servidor Proxy/Firewall.
Os servidores de proxying (WPS) também fazem serviço de caching mas a outro nível. Estes não
guardam os documentos mas sim os endereços (URL's) visitados pelos clientes isto é, um
servidor de proxying guarda todos os endereços dos Servidores que os seus múltiplos Clientes
consultam. Desta forma quando um utilizador da WWW deseja estabelecer uma sessão
cliente/servidor com um dado
Servidor que já consultou anteriormente, o tempo de ligação é menos demorado pois o servidor
de proxying sabe para aquele dado endereço qual o encaminhamento mais rápido a dar ao
pedido.
Tanto o Firewall quanto o servidor Proxy residem entre a rede e o computador local, que fornece
a segurança contra as ameaças da rede. O firewall e o servidor proxy funcionam em conjunto. O
firewall funciona em um nível inferior e pode filtrar todos os tipos de pacotes IP, enquanto o
servidor proxy lida com o tráfego em nível de aplicativo e filtra as solicitações provenientes do
cliente desconhecido.
Um servidor proxy pode ser considerado parte do firewall. Um firewall basicamente impede o
acesso de conexão não autorizada. Por outro lado, um servidor proxy age principalmente como
um mediador que estabelece a conexão entre o usuário externo e a rede pública.
Gráfico de comparação
Base para
Firewall Servidor proxy
comparação
Monitora e filtra o tráfego de Estabelece a comunicação entre o
Basic
entrada e saída em uma rede local. cliente externo e o servidor.
Solicitações do lado do cliente
Filtros Pacotes IP
para a conexão.
Sobrecarga
Mais Menos
gerada
Dados da camada de rede e
Envolve Dados da camada de aplicativo.
transporte.
Definição de Firewall
O firewall cria uma barreira da qual o tráfego indo em direção diferente deve atravessar. Ele
funciona como um filtro no nível do pacote IP e oferece um método eficaz para proteger,
monitorar e auditar a rede local contra ameaças de segurança de rede externas, ataques de
spoofing de IP e roteamento. É uma solução integrada para segurança de rede que não só fornece
hardware, mas também segurança baseada em software. Firewall é uma coleção de filtros de
pacotes e servidores proxy (gateway de aplicativos).
O filtro de pacotes é usado para encaminhar e bloquear os pacotes de entrada e saída de acordo
com as informações fornecidas na rede e no cabeçalho da camada de transporte, como endereço
de origem e destino, número da porta, protocolo, etc. Por outro lado, o servidor proxy filtra os
dados do nível do aplicativo verificando o conteúdo da mensagem em si, o servidor proxy é
discutido abaixo com mais detalhes.
As principais estratégias implementadas pelo firewall para gerenciar o acesso e aplicar a política
de segurança são - controle de serviço, controle de direção, controle de usuário e controle de
comportamento.
Controle de serviço - Especifica qual serviço de Internet precisa ser acessado, de entrada
ou saída.
Controle de direção - Determina qual rota deve ser seguida para percorrer os dados na
rede.
Controle de usuário - Gerencia o acesso a um serviço, de acordo com o qual um usuário
tenta acessar o serviço.
Controle de comportamento - Determina a utilização dos serviços.
Definição do servidor proxy
O servidor proxy também é conhecido como gateway de aplicativo, pois controla o tráfego em
nível de aplicativo. Apesar de examinar os pacotes brutos, ele filtra os dados com base nos
campos de cabeçalho, tamanho da mensagem e conteúdo também. Como mencionado acima, o
servidor proxy é uma parte do firewall, o firewall de pacotes sozinho não seria viável porque não
pode diferenciar entre os números de porta. O servidor proxy se comporta como um proxy e
toma as decisões para gerenciar o fluxo do tráfego específico do aplicativo (usando URLs).
Agora, como funciona o servidor proxy? O servidor proxy presente no meio do cliente e no
servidor original. Ele executa um processo do servidor para receber uma solicitação do cliente
para acessar o servidor.
Quando o servidor proxy abre a solicitação, verifica todo o conteúdo. Se a solicitação e seu
conteúdo parecerem legítimos, o servidor proxy enviará a solicitação ao servidor real como se
fosse um cliente. Além disso, se a solicitação não for uma solicitação lícita, o servidor proxy a
descartará imediatamente e enviará a mensagem de erro ao usuário externo.
Outra vantagem do servidor proxy é o armazenamento em cache quando o servidor recebe uma
solicitação para uma página, ele verifica primeiro se a resposta da página já está armazenada no
cache ou não, se nenhuma resposta for armazenada, o servidor proxy enviará a solicitação
correspondente ao servidor. Dessa forma, o servidor proxy diminui o tráfego, carrega no servidor
real e aprimora a latência.
Principais diferenças entre o firewall e o servidor proxy
O Firewall é usado para bloquear o tráfego que pode causar alguns danos ao sistema, ele
age como uma barreira para o tráfego de entrada e saída na rede pública. Por outro lado, o
servidor proxy é um componente de um firewall que permite a comunicação entre o
cliente e o servidor se o cliente for um usuário legítimo e atua como cliente e servidor ao
mesmo tempo.
O firewall filtra os pacotes IP. Em contraste, o servidor proxy filtra as solicitações
recebidas com base em seu conteúdo em nível de aplicativo.
A sobrecarga gerada no firewall é mais comparada a um servidor proxy, porque o
servidor proxy usa o cache e lida com menos aspectos.
O firewall usa os dados da camada de rede e de transporte, enquanto no servidor proxy os
dados da camada de aplicativo também são usados.
Conclusão
O firewall e o servidor proxy funcionam na integração. No entanto, um servidor proxy é um
componente do firewall que, quando usado em conjunto com o firewall, fornece viabilidade e
mais eficiência.
[Link]
[Link]