DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Infra Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


FreeBSD com proxy Squid - Revista Infra Magazine 4

Este artigo visa demonstrar os procedimentos de instalação e configuração do proxy Squid no sistema operacional FreeBSD. Após tais procedimentos, o Squid será responsável por controlar e gerenciar todos os acessos à internet, oferecendo inúmeras






Foi publicado na primeira edição da Infra Magazine um artigo sobre como instalar o sistema operacional FreeBSD para atuar como um gateway. O gateway é o host que atua como um concentrador de tráfego, situado na fronteira entre a rede interna e a externa, sendo por meio dele que as máquinas da rede interna acessam a internet.

Para complementar o artigo da primeira edição, será mostrado como adicionar um servidor proxy ao gateway com o intuito de controlar o acesso e manter a correta utilização da internet, em função do uso a que esta se destina.

Outra utilidade propiciada por seu uso é o controle de acesso, que se baseia em diferentes métodos de autenticação, como: fornecimento de usuário e senha, pelo domínio da rede, pela estação de trabalho, em função do horário do acesso, por agrupamento de regras, entre outros.

Além dos benefícios citados, o Squid aumenta a economia da largura de banda, o que melhora a velocidade de entrega do conteúdo solicitado pelo cliente, permite a criação de regras de controle de acesso à internet e autenticação do usuário, e armazena o conteúdo solicitado para que futuras solicitações não necessitem buscar as mesmas informações na internet, fazendo a leitura diretamente de seu cache. Neste caso, quando é requisitado um conteúdo que sofreu atualização após seu armazenamento em cache, o Squid atualiza tais dados e entrega-os ao cliente, garantindo economia de banda.

Todas as funcionalidades do Squid geram logs que possibilitam ao proxy a disponibilização de relatórios completos, tornando mais fácil a identificação de possíveis problemas, bem como o acompanhamento do desempenho da rede.

O proxy Squid

O Squid é um servidor proxy, open source (código aberto), empregado em atividades relacionadas ao tráfego de pacotes na rede. Dentre as funcionalidades disponíveis, destacam-se: o filtro de conteúdo, que registra em arquivo todo o conteúdo acessado pelas estações da rede; o bloqueador de conteúdo, cuja funcionalidade é restringir o acesso a informações consideradas indesejadas pelo administrador; o autenticador de acesso, que concede acesso à internet somente a usuários conhecidos; e, uma de suas principais características, o cache de conteúdo, que armazena conteúdos recentemente visitados, proporcionando menor tempo de resposta às solicitações do usuário e diminuindo o tráfego entre a rede local e a internet. Cada uma das features destacadas pode ser utilizada individualmente ou em conjunto. Dessa forma, é mantido o controle e registro das atividades dos usuários que fazem uso da internet, permitindo investigações futuras e o próprio monitoramento de acesso em tempo real.

Tantos serviços oferecidos e a disponibilidade de suas versões para os sistemas operacionais das famílias Unix e Windows, além do suporte aos navegadores mais utilizados no mundo, como: Firefox, Internet Explorer e Google Chrome, e a facilidade que o usuário tem em configurar seu browser para o uso deste proxy, fazem do Squid uma excelente escolha para gerenciar a internet como recurso de rede.

O cenário

Como ferramenta para a elaboração deste artigo, foi utilizada uma rede de microcomputadores contendo um host com a funcionalidade de gateway e os demais hosts para atuarem como clientes deste gateway.

O servidor proxy foi instalado no gateway com o objetivo de disponibilizar o acesso à internet mantendo certo nível de controle quanto aos conteúdos acessados.

As solicitações de acesso à internet feitas pelos clientes acontecem de forma controlada, e possíveis tentativas de acesso indevido aos recursos da rede são negadas e registradas em arquivos de log, objetivando a identificação do usuário.

Neste contexto, cabe aos administradores a definição das regras que serão aplicadas ao Squid, sejam eles profissionais ou educacionais, a fim de restringir determinados acessos, a exemplo de conteúdo pornográfico.

Para tanto, será utilizado um microcomputador com o sistema operacional FreeBSD, conforme a Figura 1, compilado com parâmetros do kernel, para atuar como gateway (na primeira edição da Infra Magazine foi mostrado como realizar esta compilação). Após este procedimento, o proxy Squid será instalado e configurado com algumas de suas funcionalidades básicas.

Para atuar como gateway e possivelmente como um proxy, um microcomputador bem modesto atenderá aos requisitos de hardware. Porém, é indicado o uso de um que o disco rígido esteja em bom estado, já que ele será altamente exigido pelo cache do proxy.

 O microcomputador usado no cenário foi um Intel(R) Atom(TM) CPU 330 @ 1.60GHz, 1GB de RAM, HD Maxtor 80GB, com duas placas de rede, sendo uma onboard e outra offboard: sis 900 e RT8139(A/B/C/810x/813x/C+) Fast Ethernet Adapter. A conexão com a internet é via cable modem, onde o provedor fornece o endereço IP automaticamente via DHCP (Dynamic Host Configuration Protocol).

Vale ressaltar que o tráfego das estações será direcionado ao gateway que, por sua vez, redirecionará, por meio do firewall IPFW (Firewall padrão do FreeBSD), todo o tráfego destinado à web pela porta padrão do Squid (3128), que aplicará suas regras – chamadas de ACL (Lista de Controle de Acesso).

A instalação

A versão do sistema operacional utilizada foi a FreeBSD 7.2-RELEASE i386 (veja a seção Links), e a versão do Squid foi a 2.6.STABLE23 (veja seção Links).

Neste exemplo, a instalação do proxy será a partir do código fonte do Squid, para que seja possível realizar os passos aqui descritos também em outras distribuições Linux, tais como Red Hat, Slackware, dentre outras, já que o processo de instalação e configuração é idêntico. Há administradores que optam por realizar a instalação através dos ports (/usr/ports), no entanto, ambas as formas levam a resultados idênticos.

Instalando o Squid

Após fazer o download do Squid em www.squid-cache.org/Versions/v2/2.6/, deve-se acessar o diretório onde foi salvo o arquivo referente a seu código fonte, por exemplo /home/dmedia/squid-2.6.STABLE23.tar.gz e descompactá-lo com o utilitário tar (tar -jxvf squid-2.6.STABLE23.tar.gz). Feito isso, será criado um diretório chamado squid-2.6.STABLE23.

Deve-se logar com o super usuário do sistema (su - ) e, em seguida, executa-se o script de configuração do Squid. Em função da grande quantidade de parâmetros e funcionalidades, este artigo mostrará os mais utilizados para um servidor proxy simples, porém funcional.

O script de pré-configuração do Squid chama-se configure. Através dele serão realizadas as configurações básicas de pré-instalação, como a localização do diretório raiz para instalação, tipo de sistema de arquivos que será reconhecido pelo Squid, dentre outras. Porém, algumas funções não estão disponíveis através do arquivo de configuração (squid.conf), a exemplo dos tipos de sistema de arquivos reconhecidos, que deverá ser informado neste ponto, através do script de configuração, da seguinte maneira:

 

./configure --prefix=/usr --exec-prefix=/usr --sbindir=/usr/sbin --sysconfdir=/etc --mandir=/usr/share/man --bindir=/usr/sbin --libexecdir=/usr/lib/squid --enable-snmp –enable-storeio=aufs,ufs,null --enable-auth=basic --enable-basic-auth-helpers=NCSA --enable-ident-lookups --with-large-files --enable-arp-acl

 

Quando executado, uma longa lista de arquivos e procedimentos de pré-compilação será exibida, estando inclusos nela a verificação de todos os requisitos necessários para o Squid funcionar com os parâmetros indicados. Então, para que sejam evitados problemas com dependência de arquivos, a instalação do FreeBSD foi feita no modo standard.

Conforme mostrado no comando “./configure...”, foi passada como parâmetro uma lista de informações de configuração, cuja sintaxe a ser seguida é a seguinte: variável=parâmetro, onde variável é uma palavra reservada do script de configuração do Squid, e parâmetro pode ser um caminho completo para um diretório ou o nome de um protocolo, assim como mostrado na Tabela 1, onde se tem uma breve explicação sobre cada parâmetro utilizado.

 Com estas configurações, será possível que o Squid faça o cache, filtre os pacotes por endereço MAC, reconheça arquivos grandes, permita autenticação básica com nome de usuário e senha, realize a identificação pelo nome do usuário logado no sistema operacional, habilite o uso do protocolo de gerenciamento SNMP, e habilite o reconhecimento dos sistemas de arquivos mais comuns e utilizados.

Após executar o script configure, será necessário compilar o Squid com o comando make e posteriormente fazer sua instalação com o comando make install.

Para agilizar este processo, os comandos serão utilizados de forma sequencial, make && make install. O símbolo && diz que só se deve executar o comando mais a direita se o da esquerda for bem sucedido, ou seja, se seu retorno for 0. Se tudo ocorrer bem com o comando acima, haverá um retorno em tela semelhante à Figura 2.

 A configuração do Squid

Toda configuração do Squid é feita através de arquivos em formato texto, e o principal arquivo é o squid.conf . Nesta instalação, ele deve estar situado no local informado como parâmetro na variável sysconfdir, logo, estará em /etc/squid/squid.conf.

Configurando o Squid

Como boa prática, deve-se fazer uma cópia do arquivo original antes de iniciar as modificações, pois caso aconteça qualquer tipo de problema com o arquivo manipulado o arquivo original continua à disposição para restauração. Para proceder com as configurações, é imprescindível criar um usuário e grupo para que o processo do Squid o utilize, pois não é seguro deixá-lo com usuários "



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Infra Magazine ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Rogério Tomassoni

Bacharel em análise de sistemas (FAI – Faculdade de Administração e Informática), Certificado LPIC101 000160469, Certificado ITIL Foundation, atualmente exercendo a função de administrador de redes, amante do Unix e Linux e membro do site viva o Linux.


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03