Sistema Operacional Linux > Servidor Proxy/Cache (Squid) www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito
Introdução Um servidor proxy/cache é bastante atrativo para as empresas porque implica em economia de banda no link WAN (um recurso importante e caro); Além disso, melhora o desempenho no acesso à Internet (latência) porque os conteúdos populares ficam armazenados em cache no próprio servidor. 2
Configuração do Servidor Proxy/Cache Topologia do Laboratório 3
Configuração do Servidor Proxy/Cache 1. Instalação do Serviço SQUID root@proxy:/# apt-get install squid3 A primeira etapa consiste na instalação do pacote squid3 para que o Linux possa ser posteriormente configurado como servidor proxy/cache (web). Essa tarefa é simples e rápida através do APT (Debian). 4
Configuração do Servidor Proxy/Cache 2. Configuração Básica (Parte 1) ###--- /etc/squid3/squid.conf #------------------------------------- # ACL SIMPLES (PERMITE TODA REDE LOCAL #------------------------------------- acl localnet src 192.168.221.0/24 http_access allow localhost http_access allow localnet http_access deny all As configurações do Squid são realizadas no arquivo de configuração que fica localizado em /etc/squid3/squid.conf. O arquivo é extenso, mas bastante organizado e todo comentado para facilitar sua edição. 5
Configuração do Servidor Proxy/Cache 3. Configuração Básica (Parte 2) ###--- /etc/squid3/squid.conf (...) http_port 3128 maximum_object_size_in_memory 512 KB cache_mem 64 MB maximum_object_size 96 MB cache_dir ufs /var/spool/squid3 1024 16 256 access_log /var/log/squid3/access.log squid cache_log /var/log/squid3/cache.log connect_timeout 2 seconds cache_mgr shbbrito@labcisco.com.br visible_hostname proxy.labcisco.com.br As configurações do Squid são realizadas no arquivo de configuração que fica localizado em /etc/squid3/squid.conf. O arquivo é extenso, mas bastante organizado e todo comentado para facilitar sua edição. 6
Servidor Proxy/Cache (Squid) > Controle de Acesso www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito
Configuração de ACL no Squid Além de proxy cache, o Squid também é um poderoso firewall de nível de aplicação capaz de analisar o conteúdo do payload dos pacotes; Esse tipo de firewall é superior aos tradicionais que analisam apenas os cabeçalhos dos pacotes, no entanto é considerado intrusivo (deep inspection). 8
Configuração de ACL no Squid 4. Configuração de ACL p/ Restrição de Acesso (Parte 1) ###--- /etc/squid3/squid.conf acl localnet src 192.168.221.0/24 acl whitelist url_regex -i /etc/squid3/filter/whitelist.squid acl blacklist url_regex i /etc/squid3/filter/blacklist.squid acl vip src 192.168.221.11 192.168.221.12 acl hora_almoco time MTWHF 12:00-13:00 acl recepcao src 192.168.221.101 192.168.221.102 Na sintaxe do Squid as linhas iniciadas em acl criam correspondências (matches) que na sequência são utilizadas pelas linhas iniciadas em http_access para permitir (allow) ou negar (deny) o acesso à Internet. 9
Configuração de ACL no Squid 5. Configuração de ACL p/ Restrição de Acesso (Parte 2) ###--- /etc/squid3/squid.conf http_access allow localhost http_access allow vip http_access allow whitelist http_access deny blacklist http_access allow recepcao hora_almoco http_access deny recepcao http_access allow localnet http_access deny all Na sintaxe do Squid as linhas iniciadas em acl criam correspondências (matches) que na sequência são utilizadas pelas linhas iniciadas em http_access para permitir (allow) ou negar (deny) o acesso à Internet. 10
Servidor Proxy/Cache (Squid) > Proxy Transparente www.labcisco.com.br ::: shbbrito@labcisco.com.br Prof. Samuel Henrique Bucke Brito
Proxy Transparente Por padrão o Squid disponibiliza consultas HTTP através da porta 3128, enquanto que a maioria dos clientes web realizam solicitações na porta 80; Em conjunto com o firewall iptables do Linux, o Squid pode ser configurado como proxy transparente para que nenhuma configuração adicional tenha que ser realizada nos navegadores dos clientes. 12
Proxy Transparente 6. Configuração do Proxy Transparente root@proxy:/# iptables t nat A POSTROUTING o $ifwan s 192.168.221.0/24 j MASQUERADE root@proxy:/# iptables t nat A PREROUTING i $iflan p tcp -dport 80 j REDIRECT -to 3128 ###--- em /etc/squid3/squid.conf (...) http_port 3128 intercept (...) Para implementar o proxy transparente basta compartilhar a Internet e escrever uma regra de redirecionamento no iptables, redirecionando todo tráfego destinado à porta 80 para a porta 3128 (Squid). 13
www.labcisco.com.br ::: shbbrito@labcisco.com.br