Instalação e configuração proxy Squid no Ubuntu Server

Olá Homelabers!

squidproxy

Nesse post vou mostrar como instalar e configurar o proxy Squid no Ubuntu Server. O Squid é uma ferramenta bastante difundida em várias empresas. Provavelmente você usa o Squid (ou outra solução de proxy) no seu dia-a-dia e nem percebe.

O que é um servidor Proxy?

Um servidor proxy é uma ferramenta importante em uma rede interna que tenha contato com outra pública como a internet, pois implementa uma série de facilidades e controles, de modo a possibilitar que máquinas de uma rede privada possam acessar uma rede pública sem que para isso tenham uma ligação direta.

O Squid é um Servidor proxy cache de alto desempenho que suporta os protocolos HTTP, HTTPS,FTP, TLS, SSL entre outros. Ele é responsável por (entre outras coisas) reduzir o uso da banda e melhorar os tempos de resposta de páginas solicitadas que estão em cache. O Squid tem um grande controle de ACLS (Acces Control Lists ou Lista de Controle de Acesso) sendo muito flexível. Ele aumenta a velocidade de entrega da página solicitada ao cliente. Funciona em Linux, Unix e Windows, é licenciado sob o GNU GPL.

Há uma série de boas razões para uma empresa implementar um servidor proxy em sua rede para o acesso do usuário à Internet. Entre estes estão:
– Monitoramento de sites e os volumes de tráfego
– Restringir o acesso web – por utilizadores, web sites, hora do dia, etc.
– Usando o cache para reduzir os volumes de tráfego
– Gerenciando a largura de banda

Antigamente, quando a internet (ou os links e banda) não eram tão abundantes e baratos como hoje, o uso de um servidor proxy para cache de páginas eram fundamental. Hoje, o seu maior uso é para o controle de acesso.

Para o nosso cenário de HomeLab, a maior vantagem da implementação de um servidor proxy, é eliminar a necessidade de colocar cada VM em uma rede com acesso a internet. Aqui no meu lab, tenho um Squid configurado e todas as VMs apontam para ele.

 

diagrama-squid-simples-homelab
Topologia do Squid no meu Lab e ao final desse post você terá algo parecido.

Vamos lá?

Primeiramente você já deve ter uma VM (ou um servidor/desktop) com o Ubuntu Server instalado – você pode conferir os passos para instalação nesse post.

Minha recomendação para esse cenário é criar uma VM com 1vCPU, 1Gb de RAM e 30Gb de disco.
Para fazer a instalação, você deve estar com o usuário root

sudo su

O primeiro passo é realizar a instalação do pacote do Squid3:

apt-get install squid3

homelaber-instalacao-squid-proxy-ubuntu-server-homelab-004

homelaber-instalacao-squid-proxy-ubuntu-server-homelab-003

O próximo passo é fazer um backup do arquivo squid.conf que é o arquivo de configuração do Squid e está na pasta /etc/squid3

mv /etc/squid3/squid.conf /etc/squid3/squid.conf.original

Feito o backup, vamos criar um novo arquivo squid.conf em branco. Eu gosto de usar o NANO como editor de texto no Linux, mas você pode usar o Vi ou qualquer outro de sua preferencia.

nano /etc/squid3/squid.conf

Você pode copiar e colar o arquivo squid.conf aqui embaixo ou fazer um wget no arquivo que está no meu repositório no GitHub

wget -O squid.conf http://bit.ly/squid-basic-configuration

cp squid.conf /etc/squid3/squid.conf

arquivo squid.conf – copie e cole o texto abaixo no arquivo squid.conf

http_port 3128 #porta em que o squid vai responder as requisições
visible_hostname proxy.homelab.srv.br  #altere para o nome que você desejar

#error_directory /usr/share/squid/errors/Portuguese # não vamos utilizar isso agora na configuração básica

hierarchy_stoplist CGI-bin ? 

cache_mgr [email protected]_dominio.com.br #coloque o e-mail do administrador do squid

acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY 

cache_mem 512 MB
maximum_object_size_in_memory 64 KB
maximum_object_size 512 MB
minimum_object_size 0 KB
cache_swap_low 90
cache_swap_high 95
cache_dir ufs /var/spool/squid3 2048 16 256
cache_access_log /var/log/squid3/access.log 

refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280 

acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl purge method PURGE
acl CONNECT method CONNECT 

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports 

acl rede_local src 192.168.100.0/24
acl palavras_bloqueadas url_regex -i "/etc/squid3/palavras_bloqueadas.txt "
acl sites_bloqueados url_regex -i "/etc/squid3/sites_bloqueados.txt "
acl redes_sociais url_regex -i "/etc/squid3/redes_sociais.txt"
acl liberados src "/etc/squid3/ips_liberados.txt "
acl [*****] url_regex -i "/etc/squid3/sites_porno.txt "
acl formato_arquivo url_regex -i "/etc/squid3/formato_arquivo.txt"
acl horario_almoco time 12:00-13:00 

http_access allow liberados
http_access allow redes_sociais  horario_almoco
http_access deny redes_sociais
http_access deny sites_bloqueados
http_access deny palavras_bloqueadas
http_access deny [*****]
http_access deny formato_arquivo
http_access allow rede_local
http_access allow localhost 

http_access deny all

Salve o arquivo com as alterações e reinicie o serviço do squid:

service squid3 restart

homelaber-instalacao-squid-proxy-ubuntu-server-homelab-002

O próximo passo é configurar o seu sistema operacional para utilizar o proxy. No Windows basta seguir os passos a seguir:

Abrir o Painel de Controle –> Opções de Internet –> Conexões –> Configurações de Rede

homelaber-instalacao-squid-proxy-ubuntu-server-homelab-007

Para validar que o acesso a internet está sendo feito via proxy, utilize o comando abaixo. Os logs do squid são por default armazenado no diretório /var/log/squid3 e o arquivo que guarda os logs de acessos é o access.log

tail -f /var/log/squid3/access.log

homelaber-instalacao-squid-proxy-ubuntu-server-homelab-001

Viu como é fácil? Essa é a configuração mais básica do Squid. Se você quiser se aprofundar mais, procure pelos tópicos abaixo:

  • Tunning do Squid – aqui
  • Proxy Transparente

Referências:

Wikipedia (PT-BR & Inglês)

Site Oficial Squid | Wiki  | FAQ (todos em Inglês)

Até o próximo post e não se esqueça de deixar o seu comentário no post, seguir o HomeLaber no Twitter (@Homelaber) e curtir a nossa página no Facebook (fb.com/homelaber) para ficar sempre atualizado das novidades do blog.

Só mais um cara quase 40rentão com mais de 15 anos trabalhando com “computação”. Mestre em Nada, NINJA 9º DAN em Coisa Nenhuma.

Conhece um pouquinho de Infraestrutura, Redes, Servidores, SO, Virtualização, Desenvolvimento, Suporte e Helpdesk.

Editor do blog Homelaber Brasil (http://homelaber.com.br)

Nerd, Acumulador, Corintiano-Maloqueiro-Sofredor, Old School Gamer (Arcades), Marido, Pai da Mariana, do João e da Gabi, fotógrafo aposentado e bebedor de cerveja e whiskey.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *