Subindo um Squid Proxy com Docker


O Squid Proxy é um servidor proxy que tem como principal função atuar como intermediário entre um cliente (como um navegador web) e o servidor de destino. Ele é utilizado para otimizar o uso de banda, melhorar o desempenho e a segurança da rede, além de oferecer controle sobre o acesso a determinados conteúdos. Aqui estão algumas das principais funcionalidades e usos do Squid Proxy:

  1. Cache de Conteúdo: Armazena em cache conteúdos frequentemente acessados, como páginas web, imagens e arquivos. Isso reduz a quantidade de tráfego na rede, melhora o tempo de resposta para os usuários e diminui a carga nos servidores de origem.
  2. Controle de Acesso: Permite a criação de políticas de controle de acesso, restringindo o acesso a certos websites ou conteúdos com base em critérios como endereço IP, horários de uso, entre outros. Isso é útil em ambientes corporativos e escolares para garantir um uso adequado da internet.
  3. Aumento de Segurança: Atua como uma camada adicional de segurança, ocultando o IP real dos clientes e filtrando conteúdos maliciosos. Pode ser configurado para bloquear sites maliciosos ou indesejados, protegendo a rede interna contra ameaças.
  4. Economia de Banda: Reduz a quantidade de dados que precisa ser baixada da internet, pois conteúdos populares são servidos diretamente do cache do proxy. Isso é especialmente útil em redes com largura de banda limitada.
  5. Anonimização: Pode ser usado para anonimizar o tráfego da rede, ocultando a identidade dos usuários e dificultando o rastreamento por terceiros.
  6. Balanceamento de Carga: Distribui o tráfego de rede de forma equilibrada entre vários servidores, aumentando a eficiência e evitando sobrecargas.

Traefik

Para subir o Squid Proxy, também vou subir um Traefik, que é um Proxy Reverso. Neste projeto ele é utilizado para rotear o tráfego HTTP e HTTPS para os containers e gerenciar certificados SSL automaticamente.

Primeiros passos

Clone o meu repositório no seu servidor

git clone https://github.com/antonioanerao/squid-proxy.git

Acesse a pasta clonada

cd squid-proxy
Configurações do Traefik

Altere as permissões do arquivo ./data/acme.json para 600. Este arquivo é usado para armazenar informações de certificados SSL/TLS obtidos automaticamente pelo Let’s Encrypt. Ele contém os dados necessários para renovar e gerenciar esses certificados, garantindo conexões seguras para os serviços que o Traefik está roteando.

sudo chmod 600 ./data/acme.json

Abra o arquivo docker-compose.yml e, na linha 32, altere o dominio.com.br para o domínio que você vai usar

labels: 
  - "traefik.enable=true"
  - "traefik.http.routers.squid.entrypoints=websecure"
  - "traefik.http.routers.squid.rule=Host(`dominio.com.br`)"
```

 



Configurações para o Squid Proxy

Limpe todo o conteúdo do arquivo passwords

echo "" > ./passwords

Dê permissão de execução para o arquivo _novo-usuario.sh_ e execute-o para criar um novo usuário para autenticar no seu proxy. Você pode criar mais de um usuário. Você pode precisar instalar o apache2-utils.

chmod u+x ./novo-usuario.sh
./novo-usuario.sh meuNovoUsuario

Suba sua stack Traefik + Squid Proxy

docker compose up -d

Testando o retorno do seu proxy

curl -x seuUsuario:suaSenha@seudomini.com.br:9000 http://ip-api.com


Categorias: Docker, Geral, Proxy
Tags: , ,


Deixe um comentário

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