• Nenhum resultado encontrado

Caro aluno(a), O que é um proxy e para que ele serve? UnidadeC

N/A
N/A
Protected

Academic year: 2021

Share "Caro aluno(a), O que é um proxy e para que ele serve? UnidadeC"

Copied!
7
0
0

Texto

(1)

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

Caro aluno(a),

Nesta unidade, iremos estudar o serviço proxy/cache. Inicialmente vamos entender o que é um proxy e para que ele serve. Na sequência, veremos suas aplicações e como ele pode nos auxiliar para o gerenciamento, a segurança e a otimização das redes de computadores. Considerações em relação ao seu funcionamento serão apresentadas para que você entenda melhor os detalhes que envolvem a operação deste serviço. Por fim, um passo a passo para a instalação e configuração do Squid, uma poderosa ferramenta proxy, será apresentado. Siga em frente e tenha uma ótima leitura! Por fim, não deixe de instalar e configurar o Squid na sua máquina Linux. Vamos em frente!

O que é um proxy e para que ele serve?

O Proxy é um serviço (ou servidor), que atende as requisições dos usuários, repassando os dados à frente. Um usuário se conecta a um servidor proxy, requisitando algum serviço, como, por exemplo, um arquivo, conexão,

website, ou outro recurso disponível em outro servidor. Portanto, o proxy é um serviço intermediário entre

o usuário e o servidor remoto onde o dado será buscado. Um servidor proxy pode, opcionalmente, alterar a requisição do cliente ou a resposta do servidor e, algumas vezes, pode disponibilizar este recurso sem nem mesmo se conectar ao servidor especificado. Ele pode, também, atuar como um servidor que armazena dados em forma de cache em redes de computadores. De uma maneira geral, os proxy são instalados em máquinas com uma largura de banda elevada e uma capacidade de armazenamento considerável. Isto é fácil de entender, certo? Quanto maior a capacidade do servidor proxy em trafegar os dados e armazená-los, melhor! Veremos na sequência que os servidores proxy possuem uma série de aplicações, como, por exemplo, filtragem de conteúdo, fornecimento de anonimato.

O servidor proxy nasceu da necessidade de conectar uma rede local à Internet através de um computador da rede que compartilhava sua conexão com as demais máquinas. Em outras palavras, se considerarmos que a rede local é uma rede interna e a Internet é uma rede externa, podemos dizer que o proxy é o serviço o qual possibilita que outras máquinas tenham acesso externo.

Geralmente, máquinas da rede interna não possuem endereços válidos na Internet e, portanto, não têm uma conexão direta com mesma. Assim, toda solicitação de conexão de uma máquina da rede local para um servidor da Internet é direcionada ao proxy. Este, por sua vez, pode realizar o contato com o servidor desejado, repassando a resposta à solicitação para a máquina da rede local. Por este motivo é que chamamos este serviço de proxy, sua tradução significa “intermediário”. A Figura 1 ilustra o conceito e a utilização do serviço de proxy.

ServiçO PrOxy/CaChe

(2)

24

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

aplicações do serviço proxy

Uma aplicação proxy bastante popular é o “caching web proxy”. Essa aplicação consiste em um proxy web usado com cache. Ela provê um cache de páginas da Internet e arquivos disponíveis em servidores remotos da Internet, permitindo aos clientes de uma rede local acessá-los mais rapidamente.

O funcionamento do proxy web é bastante simples. Quando este recebe uma solicitação de acesso a um recurso da Internet (especificado por uma URL, uma vez que estamos falando de serviço web), um proxy que usa cache procura por resultados desta URL no seu cache local. Se o recurso for encontrado, ele é retornado imediatamente, sem a necessidade de a informação ser buscada na rede externa. Caso contrário, ele carrega o recurso do servidor remoto, retornando-o ao cliente, e armazena uma cópia deste conteúdo no seu cache. O

cache usa normalmente um algoritmo de expiração para a remoção de documentos de acordo com a sua idade,

tamanho e histórico de acesso. Dois algoritmos simples são o Least Recently Used (LRU) e o Least Frequently

Used (LFU). LRU remove os documentos que passaram mais tempo sem serem usados, enquanto o LFU remove

documentos menos freqüentemente usados.

O proxy também pode ser usado para navegar anonimamente. Diversos servidores de proxy públicos, também conhecidos como proxy abertos, estão disponíveis na Internet a fim de burlar as proteções oferecidas pelos gerentes de redes. Entretanto, a privacidade de servidores de proxy abertos foi questionada recentemente. Este fato foi noticiado pelos jornais americanos, após um adolescente norte-americano descobrir, através da análise do código fonte de um site, que um famoso site para navegação anônima (proxy público), gerava logs com dados reais de seus usuários e os enviava para a polícia norte-americana. A navegação que deveria ser anônima não acontecia, e o usuário ainda tinha suas informações diretamente entregues à polícia. Note que usar o proxy para iludir sistemas de proteção não é um procedimento correto de se fazer. Contudo, muitos usuários de Internet fazem uso desta técnica para burlar sistemas de segurança, acessar sites proibidos, redes de relacionamento e etc. Acessar o Orkut ou o Facebook não é algo tão grave como, por exemplo, invadir um site do governo ou de um banco. Contudo, é politicamente incorreto, pois, fazendo isto estaremos desobedecendo às regras de acesso e de utilização da rede de computadores da qual somos usuários.

Veja que o proxy funciona graças à aplicação de filtros. Administradores de redes podem criar regras para filtrar requisições baseados no endereço IP do cliente, domínios, redes, localização (URL) do objeto requisitado, bloqueando assim requisições inapropriadas. Este artifício é utilizado principalmente em escolas e em organizações para que possam permitir o acesso a páginas que realmente sejam de seu interesse.

(3)

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

Um outro conceito relacionado com o serviço de proxy é o “proxy transparente”. Um proxy transparente é um método que foi concebido para obrigar os usuários de uma rede a utilizarem o proxy. Além das características de caching dos proxies convencionais, estes podem impor políticas de utilização ou recolher dados estatísticos. A transparência é conseguida através da interceptação do tráfego web. Neste caso, ocorre um reencaminhamento para o proxy mediante a técnica de “port forwarding”. Assim, independentemente das configurações explícitas do usuário, a sua conexão estará sempre condicionada às políticas de utilização da rede. O RFC 3040 define este método como “proxy interceptador”.

Dito tudo isto, talvez você esteja pensando: “Puxa! Usar proxy significa bloquear o acesso dos usuários a diversos sites da Internet. Isto é uma coisa ruim!” Se pensarmos como administradores de redes veremos que às vezes torna-se necessária a imposição de algumas regras para que o bom uso dos recursos seja garantido. Embora o uso de proxy possa parecer inibidor à liberdade de ir e vir dos usuários do sistema, algumas vantagens ficam evidentes quando da sua utilização:

• Redução do tráfego externo - Menos requisições e respostas precisam trafegar na rede. O objeto é recuperado do servidor somente uma vez, reduzindo a quantidade de banda usada pelos clientes.

• Redução de carga dos servidores – Isto significa menos requisições para o servidor web atender. Exemplificando, alguns sites ficam extremamente congestionados quando do lançamento de novos produtos ou da divulgação de listas de alunos aprovados no vestibular. Um servidor proxy pode resolver o problema.

• Redução da latência - As respostas de requisições aos objetos “cacheados” são feitas a partir do cache local, não pelo servidor web original (servidor remoto), ou seja, o acesso tende a ser bastante rápido.

• Possibilidade de acesso - Considerando que o servidor web do endereço especificado no URL está inacessível (queda do link, servidor desligado, etc) ou está recebendo mais solicitações do que ele pode agüentar, se a página estiver armazenada no proxy será possível acessá-la (mas não vai ser possível atualizá-la).

• Inibição de acesso indevido - O proxy pode ser configurado para guardar em log todos os acessos e, com isso, coibir o mau uso da rede por parte dos usuários, uma vez que existe a possibilidade de análise de registros.

Além das aplicações já mencionadas, um serviço de proxy pode ser utilizado e configurado como um “proxy reverso”. Um proxy reverso nada mais é do que um servidor “burro” que apenas recebe requisições e delega as mesmas, ou então faz algo simples, como devolver uma página pré-processada. Dizemos que ele é “burro” porque ele não sabe executar uma requisição por completo, ele é um “proxy de passagem” e não o servidor de verdade. A Figura 2 ilustra essa aplicação do serviço de proxy.

(4)

26

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

Outras considerações sobre proxy/cache

Atualmente, um grande número de soluções para proxy e cache estão disponíveis. Vejamos algumas:

• BrowserGate,

• CacheBack, • CacheFlow, • CacheQube, • CacheRaq,

• Cisco Cache Engine, • CSM Proxy,

• DeleGate, • DynaCache, • FastLane,

• Inktomi Traffic Server, • JProxyma,

• Microsoft Proxy, • SpoonProxy,

• Squid (provavelmente o mais utilizado no mundo atualmente),

• WebSpeed,

• WinGate, • WinProxy.

Além das ferramentas de proxy propriamente ditas, existem soluções que auxiliam sua utilização como, por exemplo, ferramentas para análise dos logs:

• Cache Stats,

• Calamaris, • Prostat, • Pwebstats, • Sqmgrlog,

• Sarg (excelente ferramenta para analisar os logs do Squid), • Squeezer,

• Squidclients, • Squij,

• Web Log.

Um detalhe importante que você precisa saber é que o modelo de operação do serviço proxy trabalha bem para documentos estáticos. Entretanto, existem muitas partes da web que consistem de documentos dinâmicos ou que são alterados freqüentemente. Alguns destes objetos nunca são cacheados, como os códigos e programas CGI, PHP, PERL (os quais são usados para consultar bases de dados e processamento para formulários), páginas que registram datas atuais e contadores de acesso, objetos protegidos por senha, resultados de scripts executados em servidores remotos, etc. A presença deste tipo de situação exige um desenvolvimento de uma política mais sofisticada, que permita que browsers e servidores proxy possam determinar como e por quanto tempo as cópias serão guardadas. Neste sentido, é importante que você esteja sempre atento as últimas atualizações do seu serviço de proxy/cache para garantir o fornecimento do melhor serviço possível em sua rede.

Outro ponto importante é que o Squid é um consumidor voraz de memória RAM, uma vez que ela é utilizada para armazenar o cache das páginas. Um servidor proxy de uma grande rede deve ter o máximo de memória RAM possível e, dependendo do número de estações, discos rígidos em RAID (por causa da memória swap) também podem ser úteis. Além disto, não esqueça que você precisará de uma quantidade considerável de espaço livre

(5)

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

em disco. Como o Squid armazena os conteúdos dos sites visitados pelos usuários, é altamente recomendável que o servidor conte com uma capacidade de disco rígido adequada para atender o tráfego das informações da rede.

Prática

Instalando e configurando o servidor de proxy/cache Squid

O Squid é um servidor proxy e cache que permite tanto compartilhar o acesso à Web com outros computadores da rede, quanto melhorar a velocidade de acesso através do cache. Contudo, lembre que o Squid suporta apenas os protocolos “HTTP” e “FTP”, ou seja, não oferece acesso completo, apenas navegação (o protocolo “gopher” também é suportado, o difícil é encontrar alguém que ainda use isto hoje em dia). Outros protocolos podem ser suportados caso você manualmente abra as portas utilizadas por eles e estabeleça regras de acesso (veja a documentação oficial do Squid se desejar fazer isto).

O Squid possui muitos recursos, incluindo autenticação de usuários (você precisará de uma base de usuários para isto), restrições de acesso, auditoria, etc. Ele é uma solução bastante poderosa para você gerenciar o acesso à Internet de uma empresa, escola . Apesar disso, em ambientes onde não seja necessário controlar e monitorar o que os usuários estão fazendo, você pode simplesmente utilizá-lo como um aliado para melhorar o tráfego de sua rede.

Vamos à instalação!

O primeiro passo que você precisa realizar para instalar o Squid no seu Linux Ubuntu, é executar o seguinte comando no terminal de acesso:

sudo apt-get install squid

Esse comando fará com que o Squid seja baixado e instalado em sua máquina ou servidor.

As configurações do Squid estão concentradas no arquivo “/etc/squid/squid.conf”. Para editar este arquivo execute os comandos:

cd /etc/squid/

sudo pico squid.conf

A configuração mínima, necessária para o servidor funcionar é a:

# http_port 3128

Ela está logo no início do arquivo. É preciso descomentar a linha, apagando o #. Se desejar, você também pode alterar a porta TCP usada pelo proxy. Faça o seguinte... No editor de textos Pico, que está aberto no seu terminal, digite simultaneamente “Crtl + w” e digite “http_access deny all”. Agora substitua todas as ocorrências encontradas por:

(6)

28

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

Isto fará com que todo e qualquer acesso seja permitido. Não esqueça, caso a configuração possua um # na frente da linha, descomente apagando-o.

Agora salve o arquivo que você acabou de modificar.

Precisaremos dar as permissões para que o arquivo possa ser lido. Para isto você pode usar o seguinte comando:

sudo chmod 777 squid.conf

Note que a opção “777” libera acesso total (leitura, escrita e execução) para qualquer usuário no sistema. Você pode (aqui se leia deve) usar as permissões adequadas de acordo com as políticas de acesso e segurança da sua rede. Como estamos apenas querendo rodar o servidor Squid, a opção “777” pode ser usada sem maiores preocupações.

Pronto! O Squid está com as configurações básicas para rodar. Agora execute o seguinte comando para que o servidor seja inicializado:

sudo squid /squid/squid.conf

Você pode confirmar se o mesmo foi lançado utilizando o comando:

ps -ax |grep squid

Caso queira reiniciar o servidor de proxy, sem finalizar sua execução, utilize o seguinte comando:

sudo squid -k reconfigure

Caso deseje matar o processo, faça o seguinte:

ps -ax |grep squid sudo kill -9 PID

(onde PID será o número identificador do processo, o qual você visualizou com o comando anterior)

Veja que se você quiser dar acesso para apenas algumas máquinas da rede, substitua o “all” pelos endereços das máquinas, separados por espaços como, por exemplo:

http_access allow 192.168.0.3 192.168.0.4 192.168.0.5

Note que você precisará saber o endereço IP de cada uma das máquinas que você deseja liberar ou bloquear o acesso. Feito isto, salve o arquivo novamente e reinicie o squid com o comando:

sudo squid -k reconfigure

Uma vez eu o servidor esteja configurado e rodando corretamente, você deverá configurar os browsers das máquinas para acessarem a Web através do servidor proxy.

(7)

Sistema Universidade

Aberta do Brasil - UAB | IF Sul-rio-grandense

No Internet Explorer, por exemplo, a configuração está em “Ferramentas”, “Opções da Internet”, na aba “Conexões”, botão “Configurações da Lan”, “Usar um servidor Proxy”. Agora basta preencher os campos com o endereço IP do servidor proxy e a porta TCP escolhida. Esta é a parte mais trabalhosa, pois a configuração precisa ser feita máquina por máquina na rede, programa por programa, abrindo a porta necessária no servidor Squid e depois configurando o programa para acessar através do proxy.

Referências:

Antônio Marcelo. Squid, configurando o proxy para Linux. 5ª edição. Editora Brasport, 2006. Marco Agisander Lunardi. Squid prático e didático. Editora Ciência Moderna, 2005. <http://www.squid-cache.org>, Acesso em: fevereiro de 2011. <http://www.squid-cache.org.br/>, Acesso em: fevereiro de 2011. <http://www.rnp.br/newsgen/ascii/n2.txt>, Acesso em: fevereiro de 2011. <http://www.rnp.br/newsgen/0003/cache.html>, Acesso em: fevereiro de 2011. <http://pt.wikipedia.org/wiki/Proxy>, Acesso em: fevereiro de 2011. <http://br-linux.org/artigos/rede_squid.htm>, Acesso em: fevereiro de 2011.

Referências

Documentos relacionados

O Climate Policy Initiative/ Núcleo de Avaliação de Políticas Climáticas da PUC-Rio trabalha para aprimorar políticas públicas de energia e uso da terra gerando evidências para

The Climate Policy Initiative/ Núcleo de Avaliação de Políticas Climáticas da PUC-Rio works to improve public energy and land use policies by generating evidence for decision makers

O enfermeiro, como integrante da equipe multidisciplinar em saúde, possui respaldo ético legal e técnico cientifico para atuar junto ao paciente portador de feridas, da avaliação

Equipamentos de emergência imediatamente acessíveis, com instruções de utilização. Assegurar-se que os lava- olhos e os chuveiros de segurança estejam próximos ao local de

Deste modo, o adequado zoneamento e sua observância são fundamentais para a conciliação da preservação ou conservação de espécies, hábitats e paisagens dentre outras e

 De acordo com a Súmula 416 do STJ, caso haja a perda da qualidade de segurado à época do óbito, mesmo assim, será devida a pensão por morte ao dependentes, desde que o

Dirigi-me a casa, rapidamente, para pegar a máscara. Antes de palavra no plural, sem artigo: Não irei a festas durante a pandemia.. USO FACULTATIVO DA CRASE EXEMPLOS

Varr edura TCP Window ( cont inuação) ACK- win manipulado Não Responde ACK- win manipulado ICMP Tipo 3 Firewall Negando Firewall Rejeitando Scanner de Porta... Var r edur a FI N/