Ir para o conteúdo
ou

Software livre Brasil

 Voltar a Projeto Soft...
Tela cheia Sugerir um artigo

Lucas M.A.C.: Squid – Instalação e Configuração

28 de Maio de 2011, 0:00 , por Software Livre Brasil - 0sem comentários ainda | Ninguém está seguindo este artigo ainda.
Visualizado 109 vezes


Algum tempo atrás, assim que 'mergulhei de cabeça' no Linux, me deparei com um desafio que, na época, chegava a ser Colossal.

Meu gerente de TI, solicitou que eu implementasse um Servidor Proxy... De preferência, utilizando o Squid.

- Ok chefe! OH WAIT!!!
- Meu Deus, o que eu faço?? Squid?? #Fuuuuuu... oO



Pode até parecer covardia da parte dele, mas, admito que foi uma das mais gratificantes experiências que já tive. Vocês não imaginam a satisfação em ver o usuário perguntando: 
 - Bloquearam a Internet?? Oww, queria tanto acessar meu Orkut!!! =P
Sim, sim... Sou muito mal mesmo... Certo! Vamos parar de bla-bla-bla e ir direto ao ponto. =]

O Squid (é, se você for pesquisar no Google, possivelmente irá deparar-se com imagens de 'Lulas' saltitantes, porém aqui é um blog de Tecnologia, e não o Discovery Channel, ok?) é um servidor proxy que suporta HTTP, HTTPS, FTP e outros. Sua principal função e utillização, é proporcionar um maior controle de Tráfego, Acessos à internet e Cache em uma rede de computadores.

Hoje vou mostrar a configuração que eu, na época, implementei, visto a mínima experiência e prática com linha de comando (Acreditem quando eu falar que cheguei a ficar 72 horas acordado... =P).

O Squid permite vários tipos de configurações: Bloqueio po IP, por Usuário (Integrado ao AD ou não), por horário e por aí vai... Hoje, vou mostrar-lhe uma solução The Flash que você pode implementar no caso de uma solicitação surpresa (como a que aconteceu comigo! =D).

Como se trata de um 'Diário de Bordo Pessoal', seguirei exatamente os mesmos passos que percorri até chegar ao funcionamento do Proxy. 

Nesse 'tuto', utilizarei o Ubuntu 10.04 LST Server devidamente instalado e Atualizado. 

Começando pelo começo! =P

Antes de tudo, instale o Squid: 


   lucasmac@hal9000:~$ sudo su
   root@hal9000:/# apt-get install squid


Com o Squid instalado, vamos configurá-lo!

Ao término da instalação, é criado o arquivo squid.conf em /etc/squid. Esse arquivo é responsável por toda a configuração do programa, onde especifica-se desde a Porta de Utilização até o Administrador do Proxy, e possui somente 4937 linhas!!! Mas calma, não vamos utilizar todas as linhas, visto que a maioria trata-se de explicações e comentários dos desenvolvedores.

Bem, o próximo passo, será renomear o arquivo .conf original, e elaborar outro 'do zero': 


   root@hal9000:/# mv /etc/squid/squid.conf /etc/squid/squid.conf_old


OBS¹.: Isso é feito para preservar o arquivo original, no caso de uma (Deus me Livre!!) possível pane, e para eventuais consultas que possam ser feitas ao mesmo.

Por ser mais simples de configurar, hoje demonstrarei o Controle de Acesso por IP, onde o Bloqueio será Geral, e tendo apenas uma White List, ou seja, uma lista de domínios liberados.

A princípio, utilizando o VIM, crie um arquivo com os IP's que terão Acesso Total à internet: 

   root@hal9000:/# vim /etc/squid/acesso_total


Com o conteúdo, seguindo o padrão abaixo:

  192.168.1.4  #---> José 
  192.168.1.5  #---> João 
  192.168.1.9  #---> Maria


Salve o arquivo e saia do editor.


Em seguida, crie um arquivo com os Domínios Liberados (White List):

   root@hal9000:/# vim /etc/squid/white_list


Com o conteúdo, seguindo o padrão abaixo:

   .dominio1.com.br  #---> Domínio 1
   .dominio2.com.br  #---> Domínio 2 
   .dominio3.com.br  #---> Domínio3


OBS².: O 'ponto' antes do Nome do Domínio, determina que, todo o domínio e sub-domínios estão liberados.

Salve o arquivo e saia do editor.


Arquivo de Configuração - squid.conf

Para elaborar um novo arquivo de configuração, execute o comando:

   root@hal9000:/# vim /etc/squid/squid.conf


Abaixo, segue um squid.conf bem simples (e comentado), para facilitar a compreensão. Você pode utiliza-lo, lógico que terá de adequar a sua realidade.
   http_port 3128 transparent   #---> Porta utilizada pelo Squid 
   cache_mem 1024 MB   #---> Memória RAM destinada ao Proxy 
   cache_swap_low 90   #---> Cache Rotate 
   cache_swap_high 95   #---> Cache Rotate 
   maximum_object_size 512 KB   #---> Tamanho max. do arquivo no cache 
   error_directory /usr/share/squid/errors/pt-br   #---> Localização da Msg. de Erro 
   cache_dir ufs /var/spool/squid 33500 16 512   #---> Diretório do Cache 
   cache_access_log /var/log/squid/access.log   #---> Diretório de Logs 
   acl all src 0.0.0.0/0.0.0.0   #---> Rede que acessará o Proxy 
   acl manager proto cache_object   #---> Para uso do Squid 
   acl localhost src 127.0.0.1/255.255.255.255   #---> Para uso do Squid 
   acl SSL_ports port 443   #---> Portas SSL Liberadas 
   acl Safe_ports port 80 85 21 443 563 70 210   #---> Portas Liberadas 
   acl Safe_ports port 25   #---> Portas Liberadas 
   acl Safe_ports port 110   #---> Portas Liberadas 
   acl CONNECT method CONNECT   #---> Método de Conexão 
   http_access allow manager localhost   #---> Para uso do Squid 
   http_access deny manager   #---> Para uso do Squid 
   http_access deny !Safe_ports   #---> Safe Ports Liberadas 
   http_access deny !SSL_ports   #---> SSL Ports Liberadas 
   cache_mgr lucas@lucasmac.com   #---> Administrador do Proxy 
   visible_hostname hal9000   #---> Nome da Máquina 
   acl acesso_total src "/etc/squid/acesso_total"  #---> IP's com Acesso Total
   acl white_list url_regex -i "/etc/squid/white_list"   #---> White List
   http_access allow acesso_total   #---> Permissão de Acesso 'acesso_total' 
   http_access allow white_list   #---> Permissão de Acesso 'white_list' 
   http_access deny all   #---> Bloqueia Tudo fora da rede


Salve o arquivo e saia do editor.


#----------------------------------------> [ ERRATA ] <---------------------------------------#

Pessoal, uma pequena alteração:

Antes de reiniciar o processo, deve-se criar a Árvore de Diretórios de Swap (Cache), executanto o seguinte comando: 


   root@hal9000:/# squid -z


Valeu Jader Lima! ;D

#--------------------------------------> [ / ERRATA ] <--------------------------------------#


Reinicie o processo do Squid: 


   root@hal9000:/# /etc/init.d/squid restart


Pronto! Agora o Squid tá 'funfando legal'! =)



Mas calma! Ainda falta a configuração no Navegador. Sem essa configuração, na realidade da rede no momento da minha configuração, as máquinas não enxergariam o Proxy. Então tive que configurar TODAS as Máquinas (73 Máquinas e 99,9% delas rodando Windows).

Porém, graças a Meu Bom Deus, e um amigo (Fera em Shell, Alexandro Dantas), elaboramos um Script que adicionava automaticamente a configuração de Proxy ao navegador, no momento que o usuário realizava o logon.

Mas isso fica pra depois, vamos pelo modo mais difícil!! (Eu falei que eu era MAL!! =P)

Configurando o Proxy no Navegador

Vamos lá!

Abra o navegador e vá até o Menu Ferramentas > Opções da Internet e clique na aba Conexões e em seguida em Configurações da LAN. Aparecerá a tela abaixo:

Figura 1

Desmarque a primeira check box - Detectar automaticamente as configurações e preencha o Endereço de IP do Proxy (192.168.1.250) e a Porta de Utilização do Proxy (3128), como mostra a Figura 1.

Ahhhh, agora sim!!! Vamos aos testes!

Digite na barra de endereços do navegador, algum site que NÃO se encontra na White List. Se tudo correu bem, aparecerá uma tela parecida com essa (Isso se, a máquina usada para a realização do teste for uma estação de usuário sem privilégios, ou seja, cujo o IP não se encontre na ACL acesso_total):

Figura 2

Da mesma forma, ao digitar um domínio que se encontra na White List, o acesso deverá ser normal. Teste agora em uma máquina com privilégios.




Ahh, ok, ok... o Script né? Beleza, não esqueci não.

Porém, para consegui-lo, envie um e-mail para web@lucasmac.com
(Não se preocupe, o Script é de graça, viu?)
 

Acho que é isso. Até a Próxima! =D



Fonte: http://feedproxy.google.com/~r/LucasMac/~3/2wz9cpjMHko/squid-instalacao-e-configuracao.html

0sem comentários ainda

Enviar um comentário

Os campos são obrigatórios.

Se você é um usuário registrado, pode se identificar e ser reconhecido automaticamente.