Neste meterial será mostrado a instalação e configuração básica do squid, bloqueio de conteúdo utilizando acl's, proxy transparente, autenticação, auditoria como sarg e controle de banda. A versão utilizada será a 2.6.STABLE18, todos os testes foram feitos no Ubuntu 8.04 kernel 2.6.24-22
O Squid é um servidor proxy que suporta HTTP, HTTPS, FTP e outros. Ele reduz a utilização da conexão e melhora os tempos de resposta fazendo cache de requisições freqüentes de páginas web numa rede de computadores.
Verificando se o pacote está instalado.
# dpkg -l | squid
O programa 'squid' não está instalado atualmente. Você pode instalá-lo digitando: apt-get install squid
Instalando o Squid
# apt-get install squid
# squid -v
Squid Cache: Version 2.6.STABLE18
Após confirmar a instalação do squid, verifique o conteúdo dos diretórios mencionados.
# ls /var/spool/squid
# ls /var/log/squid
# ls /etc/squid
O arquivo de configuração se encontra no diretório /etc/squid
# cd /etc/squid
Antes de fazer qualquer alteração faça uma copia do arquivo original
# cp squid.conf squid.conf.original
A configuração padrão do squid não permite nenhum tipo de navegação, por medidas de segurança. A primeira coisa que devemos fazer é especificar qual rede o squid deve ouvir, e também devemos especificar uma ACL do tipo origem que case com o nosso endereço IP. Vamos fazer isso.
Para que o squid ouça apenas uma rede, troque o valor do parâmetro "http_port 3128" para:
http_port 192.168.0.3:3128
Outra configuração importante é o parâmetro visible_hostname. Este parâmetro diz qual será o hostname que o squid irá utilizar para resolver seu endereço local e também é o endereço que será apresentado nas páginas de informação
visible_hostname proxy.seunome.com.br
Seu arquivo é muito extenso, após a instalação removi todos os comentários, deixando apenas a configuração padrão, facilitando assim a adaptação a nossa realidade.
# vi squid.conf
# WELCOME TO SQUID 2.6.STABLE18
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
http_access allow rede
http_access deny all
icp_access allow all
hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
#Suggested default:
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
extension_methods REPORT MERGE MKACTIVITY CHECKOUT
hosts_file /etc/hosts
Localize a sessão ( # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS ) e insira as linhas abaixo.
acl rede src 192.168.0.0/24
http_access allow rede
http_access deny all
icp_access allow all
http_port 192.168.0.3:3128
visible_hostname ubuntu
hierarchy_stoplist cgi-bin ?
# Ajuste do cache em disco: Iremos especificar 512MB de cache, com 128
# diretórios e 256 subdiretórios:
cache_dir ufs /var/spool/squid 512 128 256
# Definindo o cache que será armazenado em memória:
cache_mem 16 MB
# Define o tamanho máximo de um arquivo que será armazenado no cache na memória # RAM, se passar disso aí (128 KB) vai parar no disco rígido.
maximum_object_size_in_memory 128 KB
# Define o tamanho máximo de um arquivo armazenado.
maximum_object_size 256 MB
# Define o tamanho mínimo do arquivo em cache.
minimum_object_size 0 KB
# Essas diretivas definem em porcentagem que se o limite de 85% do cache for
# utilizado os arquivos antigos começam descartados até chegar a 80%.
cache_swap_low 80
Agora, iremos parar o squid, verificar a sintaxe do arquivo de configuração,gerar o cache e então reiniciaremos o squid.
# invoke-rc.d squid stop
# squid -k parse
# squid -z
# invoke-rc.d squid start
Toda vez que você mudar as ACL's você deve executar os comandos:
# squid -k parse
# squid -k reconfigure
Até seu squid já estará funcionando, porém sem nenhum tipo de filtro.
0 comentários:
Postar um comentário