Servidor Proxy
Servidor Proxy
Um servidor Proxy é uma espécie de memória cache comunitária na qual cada página Web que um usuário acessar ficará armazenada na cache do servidor. Quando um usuário acessa um conteúdo o navegador primeiro faz a requisição ao servidor Proxy. Se a página requisitada estiver na cache o servidor Proxy entrega imediatamente. Se a página não estiver na cache o servidor Proxy faz a consulta na Internet, requisita o conteúdo, e armazena em sua cache [1].
Ao utilizar um Proxy, além da configuração do servidor é necessário configurar cada um dos navegadores e outros programas que vão acessar a Internet via servidor Proxy.
Squid
- Instalação
- No Linux um servidor Proxy é implementado pelo pacote Squid, instalado com o comando:
sudo apt-get install squid
- Configuração
- A configuração do squid feita no arquivo
/etc/squid3/squid.conf
- Antes de editar o arquivo de configuração, faça uma cópia backup do arquivo original para recuperar as configurações originais, caso necesário:
sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.bak
O servidor Squid já vem com uma configuração padrão e pronto para ser utilizado. Alguns dos principais parâmetros são:
- http_port 3128
- Especifica a porta padrão de escuta do squid.
- visible_hostname ubuntuServidor
- Especifica o nome do servidor que será visível pela rede. Deve conter o nome correto do servidor informado pelo comando hostname.
- cache_dir ufs /var/spool/squid3 100 16 256
- Define o diretório cache do Squid (/var/spool/squid3) e seus parâmetros. Por padrão está configurado com tamanho máximo de 100 MB, com 16 diretórios, cada um com 256 diretórios.
Listas de controle de acesso
Com o Squid é possível o bloqueio ou liberação de acesso a determinados sítios, redes, em determinados dias e horários.
O controle de acesso é realizado através das chamadas listas ACL (Access Control List).
O formato geral de uma ACL é:
acl nome tipo ("string|nome_do_arquivo")
- Onde o nome é o nome escolhido para a regra, tipo define a origem, destino, tempo, etc, a string define números IP ou máscara de rede, e nome_do_arquivo deve conter o caminho e nome do arquivo que definirá uma coleção de máquinas ou números de IP [1].
Algumas regras default pré definidas:
# ACLs all, manager, localhost, localhost
Exemplo de controles de acesso:
- Permitir acesso a todos:
acl all src 0.0.0.0/0.0.0.0 http_access allow all
- Permitir acesso somente da rede local:
acl localnet src 192.168.0.0/16 http_access allow localnet
- Bloquear acesso a computadores da rede local:
acl host src 192.168.1.10/32 192.168.1.11/32 http_access deny host
- Bloquear acesso a sites indesejáveis:
acl sites dstdomain "/etc/squid3/acl/sites-deny" http_access deny sites
- Neste caso deve-se criar o arquivo /etc/squid3/acl/sites-deny e inserir os sites indesejados, um por linha.
Referências
--Evandro.cantu (discussão) 11h10min de 22 de fevereiro de 2016 (BRT)