Servidor Proxy: mudanças entre as edições
Linha 48: | Linha 48: | ||
# acl aclname acltype "file" ... | # acl aclname acltype "file" ... | ||
:O '''aclname''' é o nome escolhido para a regra, '''acltype''' define a origem, destino, tempo, etc, o '''argument''' define números IP, máscara de rede etc, e '''file''' deve conter o caminho e nome do arquivo que definirá uma coleção de máquinas ou sites Web, etc. | :O '''aclname''' é o nome escolhido para a regra, '''acltype''' define a origem, destino, tempo, etc, o '''argument''' define números IP, máscara de rede etc, e '''file''' deve conter o caminho e nome do arquivo que definirá uma coleção de máquinas ou sites Web, etc. | ||
:Verifique os '''tipos de regras acl''' ('''acltype''') disponíveis procurando no arquivo '''squid.conf''': | |||
Verifique os '''tipos de regras acl''' ('''acltype''') disponíveis procurando no arquivo '''squid.conf''': | |||
# ***** ACL TYPES AVAILABLE ***** | # ***** ACL TYPES AVAILABLE ***** | ||
<!-- | |||
Algumas regras default são pré definidas: | Algumas regras default são pré definidas: | ||
# ACLs all, manager, localhost, and to_localhost | # ACLs all, manager, localhost, and to_localhost--> | ||
'''Recomendação mínima''' de configuração para permitir acesso dos computadores a partir da '''rede local''': | '''Recomendação mínima''' de configuração para permitir acesso dos computadores a partir da '''rede local''': | ||
Linha 59: | Linha 58: | ||
:Localizar e descomentar esta ACL de acordo com o '''endereçamento IP''' da '''rede local'''. | :Localizar e descomentar esta ACL de acordo com o '''endereçamento IP''' da '''rede local'''. | ||
====Inserção de regras ACL de controle de acesso==== | |||
Procure no arquivo '''squid.conf''' o local adequado para inserir regras ACL de controle de acesso para usuários do Proxy: | |||
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS | |||
;Exemplos de regras ACL: <ref name=VALLE/> | |||
*Permitir acesso a todos: | *Permitir acesso a todos: | ||
acl all src 0.0.0.0/0.0.0.0 | acl all src 0.0.0.0/0.0.0.0 |
Edição das 11h55min de 23 de fevereiro de 2016
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
- Arquivo de 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 arquivo squid.conf é bastante extenso e complexo, entretanto, com uma configuração mínima já é possível de ser utilizado.
Procure no arquivo /etc/squid3/squid.conf as TAGS abaixo, e retire os comentários caso seja necessário para habilitar os seguintes parâmetros básicos:
# TAG: http_port http_port 3128 # Especifica a porta padrão de escuta do squid.
# TAG: cache_dir cache_dir ufs /var/spool/squid3 100 16 256 # Deve ser descomentado. # Define o diretório cache do Squid (/var/spool/squid3) # Por padrão tem tamanho máximo de 100 MB, com 16 diretórios, cada um com 256 sub-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).
# TAG: acl
O formato geral de uma ACL é:
# acl aclname acltype argument ... # acl aclname acltype "file" ...
- O aclname é o nome escolhido para a regra, acltype define a origem, destino, tempo, etc, o argument define números IP, máscara de rede etc, e file deve conter o caminho e nome do arquivo que definirá uma coleção de máquinas ou sites Web, etc.
- Verifique os tipos de regras acl (acltype) disponíveis procurando no arquivo squid.conf:
# ***** ACL TYPES AVAILABLE *****
Recomendação mínima de configuração para permitir acesso dos computadores a partir da rede local:
acl localnet src 192.168.0.0/16
- Localizar e descomentar esta ACL de acordo com o endereçamento IP da rede local.
Inserção de regras ACL de controle de acesso
Procure no arquivo squid.conf o local adequado para inserir regras ACL de controle de acesso para usuários do Proxy:
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
- Exemplos de regras ACL
- [1]
- 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.
- Restringir horário de acesso:
acl horario time MTWHF 08:00-18:00 http_access allow localnet horario http_access deny localnet
- Onde: S=domingo, M=segunda, T=terça, W=quarta, H=quinta, F=sexta e A=sábado.
- Acesso permitido apenas a portas específicas
- Verifique no arquivo /etc/squid3/squid.conf a configuração padrão para as listas ACL permitindo somente acesso as portas específicas:
acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 1025-65535 # unregistered ports acl CONNECT method CONNECT #Bloqueia se não for porta segura http_access deny !Safe_ports #Bloqueia se não for conexão SSL http_access deny CONNECT !SSL_ports
Cada navegador que for utilizar o servidor Proxy deve ser configurado.
No Firefox a configuração do Proxy é acessada por Editar -> Preferências -> Avançado -> Rede:
- Modifique a configuração do Proxy e acrescente em HTTP: <IP_do_Servidor_Proxy> e Porta: 3128 e clique em Usar este proxy para todos os protocolos.
- Testar o acesso a um site Web.
Os arquivos e páginas acessadas são armazenados no diretório /var/spool/squid3/.
Referências
--Evandro.cantu (discussão) 11h10min de 22 de fevereiro de 2016 (BRT)