O documento descreve o servidor proxy Squid, incluindo sua instalação, configuração e uso de ACLs. O Squid atua como intermediário entre PCs e a Internet, fornecendo segurança, controle e cache. Sua configuração é feita no arquivo squid.conf, definindo parâmetros como porta, cache, logs e listas de controle de acesso.
2. Proxy
✔ O proxy é usado como um intermediário entre os PCs de uma rede e a
Internet – Ponto estratégico;
✔ O servidor precisa que as requisições passem por ele.
✔ Pode ser transparente para os usuários. Assim, toda a rede estará
utilizando o Proxy obrigatoriamente – NÃO PODE SER AUTENTICADO;
✔ Proporciona maior segurança e controle das conexões Web;
✔ Evita desperdício de recursos da rede e de tempo com implementação
de cache
✔ Possibilita a geração de relatórios sobre acesso dos usuários
3. Proxy
✔
Quebram o esquema
cliente-servidor (o proxy
cria uma nova conexão
para cada cliente).
✔
O número de sessões no
Gateway é duplicado.
✔
Cada conexão mantém um
processo no Proxy.
4. Squid – Instalando
✔ Instalando o Squid :
yum install squid
✔ Inicializando o Cache
[root@server3 squid]# squid -z
2010/05/30 13:34:10| Creating Swap Directories
[root@server3 squid]# ls /var/spool/squid/
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
✔ Iniciando o serviço:
[root@localhost conf.d]# service squid start
ou
[root@localhost conf.d]# /etc/init.d/squid start
✔ Testando o serviço
Configure seu browser para utilizar proxy, direcione o IP do seu servidor
squid e configure a porta para 3128
5. Squid – Configuração
Arquivos/Diretórios:
✔ /etc/squid/ -Arquivos de configuração do apache (ServerRoot)
✔ error/ - contém as páginas de erro que serão exibidas para os
usuários
✔ squid.conf – arquivo de configuração do Squid. É nele onde
são feitas todas as configurações do serviço
✔ /var/spool/squid – Diretório de cache utilizado pelo Squid
✔ /var/log/squid – Diretório de arquivos de log do squid
✔ access.log – Arquivo que contem os logs de acesso dos usuários
6. Squid – /etc/squid/squid.conf
### Tags mais utilizadas ###
# TAG: http_port
# Define a porta em que o serviço Squid irá escutar por requisições
# Usage: port [options]
# hostname:port [options]
# 1.2.3.4:port [options]
http_port 3128 transparent
# TAG: visible_hostname
# Nome do host a ser exibido nas mensagens de erro. Sem ela o squid não
# inicializa
visible_hostname proxy.madeira.eng.br
7. Squid – /etc/squid/squid.conf
### Tags mais utilizadas - Cache ###
# TAG: cache_mem
# Especifica a quantidade de memória a ser usada por dados em trânsito.
cache_mem 8 MB
# TAG: cache_dir
# Especifica qual será o diretório de cache e suas propriedades.
# ufs – Formato de armazenamento do cache
# /var/spool/squid – Diretório do cache, pode ser especificado várias linhas como
# esta, em partições diferentes.
# 100 – Espaço em disco em MB a ser utilizado pela cache
# 16 – Quantidade de diretórios que serão criados pelo squid para o cache
# 256 - Quantidade de sub-diretórios, dentro de cada um dos 16 anteriores
cache_dir ufs /var/spool/squid 100 16 256
8. Squid – /etc/squid/squid.conf
### Tags mais utilizadas - Log ###
# TAG: access_log
# Especifica onde serão armazenados os logs de acesso de seus clientes
access_log /var/log/squid/access.log squid
# TAG: cache_log
# Registra informações sobre o comportamento do cache
cache_log /var/log/squid/cache.log
9. Squid – /etc/squid/squid.conf
### Tags mais utilizadas - ACL ###
✔ ACL – Access Control Lista, ou Lista de controle de Acessos.
✔ Caracterizam objetos como: hosts (origem/destino), horário, expressões, urls,
etc...
✔ Formato: acl nome_acl tipo [ “arquivo” | string ]
✔ O controle de acesso é aplicado através da TAG http_access
Ex:
acl rede_empresa src 192.168.15.0/255.255.255.0
http_access allow rede_empresa
acl horario_comercial time 08:00-18:00
http_access deny horario_comercial
✔ A ordem em que o http_access é especificado faz a diferença
10. Squid – /etc/squid/squid.conf
### Tags mais utilizadas - ACL ###
✔ Principais Tipos de ACL's:
➔ src : Endereço IP de origem (Source). Utilizada para especificar um
determinado host ou uma determinada rede de origem.
Ex: acl rede_TI src 192.168.15.0/255.255.255.0
➔ dst : Endereço IP de destino (Destination). Utilizada para especificar
um determinado host ou uma determinada rede de destino.
Ex: acl servidores dst 192.168.30.0/255.255.255.0
➔ dstdomain: Domínio de destino. Utilizado para restringir acesso à
um determinado ou para identificar um domínio de destino.
Ex: acl hotmail dstdomain .hotmail.com
11. Squid – /etc/squid/squid.conf
### Tags mais utilizadas - ACL ###
✔ Principais Tipos de ACL's (cont):
➔ url_regex : Procura por expressão em toda a URL.
Ex: acl palavras_proibidas url_regex -i "/etc/squid/palavras_proibidas"
➔ dstdomain_regex : Procura por expressão no domínio.
Ex: acl sites_proibidos dstdomain_regex -i "/etc/squid/sites_proibidos"
➔ time : Hora e dia da semana. Especifica um determinado horário.
Ex: acl horario_comercial time 08:00-18:00