SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Squid
18 de abril de 2007
Sumário
I Sobre essa Apostila 2
II Informações Básicas 4
III Squid 9
1 O que é Squid 10
2 Plano de ensino 11
2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3 Introdução 14
3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 Compatibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 Mais informações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4 Instalação 16
4.1 Indrodução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2 Dependências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.3 Instalando com o APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4 Instalação a partir do código fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.5 Compilando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 Configuração básica 20
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2 Começando as configurações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.3 Configurando um proxy cache simples . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.4 Configurando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.5 Criando a lista de sites bloqueados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
5.6 Criando acls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.7 Bloqueando portas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.8 Configurando o cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6 Demais configurações 26
6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.2 Proxy reverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6.3 Limitação de banda e limitação de conexões por usuários . . . . . . . . . . . . . . . 27
6.4 Autenticação de usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2
Parte I
Sobre essa Apostila
3
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Conteúdo
O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-
ternet, disponíveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br.
O formato original deste material bem como sua atualização está disponível dentro da licença
GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de
mesmo nome, tendo inclusive uma versão traduzida (não oficial).
A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro
de 2006. Críticas e sugestões construtivas são bem-vindas a qualquer tempo.
Autores
A autoria deste é de responsabilidade de Frederico Oliveira de Paula (fredaodepaula@cdtc.org.br)
.
O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento, que
vem sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com
outros parceiros institucionais, atuando em conjunto com as universidades federais brasileiras
que tem produzido e utilizado Software Livre, apoiando inclusive a comunidade Free Software
junto a outras entidades no país.
Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da
home page da entidade, através da URL http://www.cdtc.org.br.
Garantias
O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-
lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam
direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.
Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) .
Permission is granted to copy, distribute and/or modify this document under the terms
of the GNU Free Documentation License, Version 1.1 or any later version published by
the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-
TILA. A copy of the license is included in the section entitled GNU Free Documentation
License.
4
Parte II
Informações Básicas
5
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Sobre o CDTC
Objetivo Geral
O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-
ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do
desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.
Objetivo Específico
Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e
de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os
servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado
nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios
de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo
treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,
criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como
incentivadores e defensores de produtos de software não proprietários e código fonte aberto, ofe-
recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de
produtos de software não proprietários e de seu código fonte livre, articulando redes de terceiros
(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-
dutos de software livre.
Guia do aluno
Neste guia, você terá reunidas uma série de informações importantes para que você comece
seu curso. São elas:
• Licenças para cópia de material disponível
• Os 10 mandamentos do aluno de Educação a Distância
• Como participar dos foruns e da wikipédia
• Primeiros passos
É muito importante que você entre em contato com TODAS estas informações, seguindo o
roteiro acima.
Licença
Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br).
6
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos
da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior
públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA
APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-
mentação Livre GNU".
Os 10 mandamentos do aluno de educação online
• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é
pré-requisito para a participação nos cursos a distância.
• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-
tica é necessário para poder executar as tarefas.
• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-
cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,
dos colegas e dos professores.
• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus
colegas de turma respeitando-os e fazendo ser respeitado pelo mesmo.
• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão
e a sua recuperação de materiais.
• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e
realizá-las em tempo real.
• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre.
• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens
e descobertas.
• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é
ponto - chave na comunicação pela Internet.
• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não
controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.
Como participar dos fóruns e Wikipédia
Você tem um problema e precisa de ajuda?
Podemos te ajudar de 2 formas:
A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:
. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações
que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a
7
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que
interesse ao grupo, favor postá-la aqui.
Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do
curso. É recomendado que você faça uso do Forum de dúvidas gerais que lhe dá recursos mais
efetivos para esta prática.
. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo
para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas
a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem
ajudar.
Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a
formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico
é recomendável ver se a sua pergunta já foi feita por outro participante.
A segunda forma se dá pelas Wikis:
. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-
ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem
ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um
ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-
dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por
pessoas de todas as partes do mundo. Acesse-a em português pelos links:
• Página principal da Wiki - http://pt.wikipedia.org/wiki/
Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!
Primeiros Passos
Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:
• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;
• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das
ferramentas básicas do mesmo;
• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;
• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.
Perfil do Tutor
Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.
O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos
valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as
idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.
8
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,
para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor
ou instrutor:
• fornece explicações claras acerca do que ele espera, e do estilo de classificação que irá
utilizar;
• gosta que lhe façam perguntas adicionais;
• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-
que motivo a classificação foi ou não foi atribuída’;
• tece comentários completos e construtivos, mas de forma agradável (em contraste com um
reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de
ameaça e de nervossismo’)
• dá uma ajuda complementar para encorajar um estudante em dificuldade;
• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;
• ajuda o estudante a alcançar os seus objetivos;
• é flexível quando necessário;
• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,
talvez numa fase menos interessante para o tutor);
• escreve todas as correções de forma legível e com um nível de pormenorização adequado;
• acima de tudo, devolve os trabalhos rapidamente;
9
Parte III
Squid
10
Capítulo 1
O que é Squid
O Squid é um Web proxy cache livre, de código aberto com suporte a HTTP, FTP, proxy para
SSL, hierarquia de cache, ICP, HTCP, CARP, cache transparente, WCCP, controle extensivo de
acesso, aceleração de servidor HTTP, SNMP, cache de DNS e muito mais.
Ao final deste curso o aluno terá conhecimento suficiente para instalar, configurar e manter um
Web proxy cache utilizando o Squid.
O curso, com base na distribuição Debian, tem duas semanas. O conteúdo do curso estará
visível somente a partir da data de início. Para começar o curso você deve ler o Guia do aluno a
seguir.
11
Capítulo 2
Plano de ensino
2.1 Objetivo
Qualificar técnicos para a configuração do proxy-cache Squid.
2.2 Público Alvo
Técnicos que desejam trabalhar com o Squid.
2.3 Pré-requisitos
Os usuários deverão ter conhecimento básico acerca da configuração e instalação de progra-
mas em sistemas GNU/Linux e redes de computadores.
2.4 Descrição
O curso de Squid será realizado na modalidade EAD e utilizará a plataforma Moodle como
ferramenta de aprendizagem. Ele é composto de um módulo de aprendizado que será dado na
primeira semana e uma avaliação que será dada ao final dessa semana. O material didático
estará disponível on-line de acordo com as datas pré-estabelecidas no calendário. A versão
utilizada para o Squid será a 2.6.STABLE5.
2.5 Metodologia
O curso está dividido da seguinte maneira:
2.6 Cronograma
• Introdução
• Instalação
12
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• Configuração básica
• Demais configurações
Como mostrado na tabela acima, a cada semana será disponibilizado um conjunto de módulos.
É recomendável que o participante siga as datas estabelecidas.
As lições, disponíveis em cada módulo, contém o contéudo principal. Elas poderão ser acessa-
das quantas vezes forem necessárias, desde que esteja dentro da semana programada. Ao final
de uma lição, você receberá uma nota de acordo com o seu desempenho. Caso sua nota numa
determinada lição for menor do que 6.0, sugerimos que você faça novamente esta lição.
Ao final do curso serão disponibilizadas as avaliações referentes aos módulos estudados ante-
riormente. Somente as notas das avaliações serão consideradas para a nota final. Todos os
módulos ficarão visíveis para que possam ser consultados durante a avaliação final.
Para conhecer as demais atividades de cada módulo leia o tópico seguinte: "Ambientação do
Moodle".
Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deve ser envi-
ada ao fórum correspondente. Diariamente os monitores darão respostas e esclarecimentos.
2.7 Programa
O curso oferecerá o seguinte conteúdo:
• Introdução ao Squid
• Instalação do Squid
• Configuração do Squid
2.8 Avaliação
Toda a avaliação será feita on-line.
Aspectos a serem considerados na avaliação:
• Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;
• Capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.
Instrumentos de avaliação:
• Participação ativa nas atividades programadas.
• Avaliação ao final do curso.
• O participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação e
obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo
com a fórmula abaixo:
• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições
• AF = Avaliações
13
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
2.9 Bibliografia
• http://www.squid-cache.org/
• http://pt.wikipedia.org/wiki/
• http://en.wikipedia.org/wiki/
• http://www.linuxman.pro.br/squid/
14
Capítulo 3
Introdução
3.1 Introdução
O Squid é um proxy cache para a web, livre e de código aberto. Mas o que é proxy cache?
Um proxy é um software capaz de aumentar consideravelmente a velocidade de conexão à inter-
net através de um cache. Quando um computador se conecta à internet a partir de um proxy, na
verdade o proxy se comunica com a rede externa e transfere os dados para essa máquina cliente.
Para melhorar a peformance da conexão com a internet o proxy armazena alguns dados em um
cache e esses dados são compartilhados entre todos os computadores clientes.
Por exemplo, considerando uma empresa muito grande onde várias pessoas se conectam à inter-
net e baixam o mesmo arquivo de um determinado site. Se toda vez que alguém fizer o download
do arquivo, ele for feito diretamente do servidor remoto onde se encontra o mesmo, será um con-
sumo de banda desnecessário. Para evitar esse desperdício, esse mesmo arquivo é armazenado
no cache do proxy e toda vez que alguém fizer o download ele será baixado do cache e não do
servidor remoto.
Além de funcionar como cache, o Squid pode ser uma maneira de restringir o acesso a deter-
minados conteúdos na internet. Seguindo no mesmo exemplo anterior, se vários funcionários
ficam navegando por sites que nada tem haver com o seu trabalho, assistindo vídeos, ouvindo
músicas on-line e tudo isso consumindo a banda da empresa que pode estar em falta em outros
serviços como em rotinas de backup. Para evitar que a banda seja gasta com o acesso a con-
teúdos que não sejam relacionados com os serviços prestados pela empresa, alguns domínios
podem ser bloqueados para que não possam ser acessados de dentro da rede englobada pelo
proxy.
3.2 Compatibilidade
Uma grande vantagem do Squid é que ele é compatível com os sistemas operacionais mais
utilizados, como:
• GNU/Linux;
• FreeBSD;
15
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• OpenBSD;
• NetBSD;
• BSDI;
• Mac OS X;
• OSF;
• IRIX;
• SunOS/Solaris;
• NeXTStep;
• SCO Unix;
• AIX;
• HP-UX;
3.3 Mais informações
Mais informações sobre o Squid podem ser encontradas no site oficial (http://www.squid-
cache.org) e também na página das perguntas mais freqüentes (http://wiki.squid-cache.org/SquidFaq),
onde são abordados tópicos a respeito da instalação, compilação, gerenciamento de cache, pro-
blema com o uso de memória e muito mais.
16
Capítulo 4
Instalação
4.1 Indrodução
Nessa lição serão abordados dois métodos diferentes para a instalação do Squid. O primeiro
método é o mais simples, a instalação via o gerenciador de pacotes apt do Debian e derivados
(Ubuntu, Kurumin, Xandros...). O outro método é a partir dos fontes do próprio programa baixados
da site oficial.
4.2 Dependências
Antes da instalação do Squid algumas dependências devem ser verificadas, a maioria delas
já devem estar instaladas no sistema. No caso da ferramenta APT, todas as dependências em
falta serão então instaladas junto com o Squid. Na instalação através do código fonte ou serão
instaladas pelo usuário separadamente através do APT (ou qualquer outro gerenciador), ou serão
instaladas manualmente uma a uma.
As instalações de todas as dependências não serão abordadas nesse curso, pois isso o tor-
naria muito extenso, mas mesmo assim o fórum de dúvidas estará disponível para qualquer tipo
de questionamento com respeito à instalação do Squid e suas dependências.
Para instalar o Squid são necessários os pacotes:
• adduser
• coreutils
• debconf (>= 1.2.9)
• libc6 (>= 2.3.2.ds1-21) [not alpha, ia64]
• libc6.1 (>= 2.3.2.ds1-21) [alpha, ia64]
• libgcc1 (>= 1:3.4.1-3) [mips, mipsel]
• libldap2 (>= 2.1.17-1)
• libpam0g (>= 0.76)
17
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
• logrotate (>= 3.5.4-1)
• netbase
• squid-common (= 2.5.9-10sarge2)
Os pacotes abaixo não são estritamente necessários mas são sugeridos também para a ins-
talação.
• logcheck-database
• resolvconf (>= 0.40)
• smbclient
• squid-cgi
• squidclient
• winbind (>= 3.0.2)
Para saber mais sobre esses pacotes clique sobre o nome do pacote ou entre no site http://packages.debia
4.3 Instalando com o APT
A instalação via APT é muito simples. Basta dar os comandos abaixo no terminal como o
super-usuário:
debian:~# apt-get update
debian:~# apt-get install squid
Aparecerá na tela algo como:
Lendo lista de pacotes... Pronto
Construindo árvore de dependências... Pronto
Os pacotes extra a seguir serão instalados:
squid-common
Pacotes sugeridos:
squidclient squid-cgi logcheck-database resolvconf smbclient
Os NOVOS pacotes a seguir serão instalados:
squid squid-common
0 pacotes atualizados, 2 pacotes novos instalados, 0 a serem removidos e 0 não atualiza-
dos.
É preciso fazer o download de 1088kB de arquivos.
Depois de desempacotar, 6590kB adicionais de espaço em disco serão usados.
Quer continuar [S/n]?
Pressione a tecla Enter para dar prosseguimento à instalação.
Depois de um pequeno intervalo de tempo, o Squid estará instalado e pronto para ser confi-
gurado.
18
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
4.4 Instalação a partir do código fonte
A instalação pelo código fonte pode ser um pouco mais complicada que a primeira instalação
abordada, mas nada impossível.
O primeiro passo para a compilação é o download do pacote do site oficial do squid: http://www.squid-
cache.org/Versions/v2/2.6/. Escolha a última versão estável, que no momento da confecção deste
curso era a 2.6.5.
Depois de feito o download, descompacte o arquivo através do comando:
usuario@debian:~$ tar xvf squid-2.6.STABLES5.tar.gz
ou
usuario@debian:~$ tar xvfj squid-2.6.STABLES5.tar.bz2
4.5 Compilando
A compilação do squid pode exigir uma série de bibliotecas e outras ferramentas para a com-
pilação. Para quem possui Debian ou uma distribuição derivada a ferramenta apt pode ser muito
útil nessa hora. Para instalar todas as dependências para a compilação do Squid, dê o comando:
debian:~# apt-get build-dep squid
Obs.: Esse comando instala as dependências para a compilação e não as dependências do
programa em si.
Agora entre na pasta onde estão os fontes e dê o comando abaixo para que a compilação possa
ser preparada.
usuario@debian:/home/usuario$ cd squid-2.6.STABLE5
usuario@debian:/home/usuario/squid-2.6.STABLE5$ ./configure –enable-delay-pools –enable-
cache-digests –enable-poll –disable-ident-lookups –enable-truncate –enable-removal-policies
–enable-arp-acl
Se no final desse processo aparecer alguma mensagem de erro significa que algum pré-requisito
para a instalação não foi atendido. Cabe ao usuário instalá-lo para prosseguir com a compilação.
Se você deseja saber o que significa cada opção desse comando e se você procura por mais
opções leia o arquivo configure.
Agora é só compilar e instalar o Squid.
usuario@debian:/home/usuario/squid-2.6.STABLE5$ make all
debian:/home/usuario/squid-2.6.STABLE5# make install
debian:/home/usuario/squid-2.6.STABLE5# cd auth_modules/NCSA
19
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
debian:/home/usuario/squid-2.6.STABLE5/auth_modules# make
debian:/home/usuario/squid-2.6.STABLE5/auth_modules# make install
20
Capítulo 5
Configuração básica
5.1 Introdução
A configuração básica do Squid não é um procedimento muito difícil, com apenas alguns ajus-
tes no arquivo de configuração já é possível fazer um proxy.
Um ponto muito importante na configuração é saber qual a necessidade, é preciso saber se a
implementação vai ser de um proxy transparente, de um proxy cache normal, de um proxy re-
verso e etc. A tomada da decisão de como vai ser a implementação e quais as necessidades é
muito importante, algumas mudanças podem pedir até uma recompilação do programa.
5.2 Começando as configurações
O arquivo de configuração do Squid encontra-se geralmente em /etc/squid/squid.conf, mas se
ele não estiver nesse diretório, então digite esses comandos abaixo para encontrá-lo:
debian:~# updatedb
debian:~# locate squid.conf
Abrindo esse arquivo em qualquer editor de texto é possível ver que ele é bem completo e comen-
tado (na versão usada para fazer este curso, Squid 2.6.STABLE5, o arquivo tinha 4347 linhas).
Trabalhar com um arquivo de extensão tão grande pode ser difícil, alguns autores recomendam
uma limpeza no arquivo, para isso, digite os comandos abaixo:
debian:~# cd /etc/squid
debian:/etc/squid# cp squid.conf squid_backup.conf
debian:/etc/squid# egrep ?v "^#|^$"squid_backup.conf > squid.conf
Assim, o squid.conf ficará um pouco mais enxuto. Todos os comentários serão apagados. Fi-
caria ao cargo de cada um decidir se fará isso ou não.
http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin ?
21
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
cache deny QUERY
acl apache rep_header Server ^Apache
broken_vary_encoding allow apache
access_log /var/log/squid/access.log squid
hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
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
http_access allow localhost
http_access deny all
http_reply_access allow all
icp_access allow all
cache_effective_group proxy
coredump_dir /var/spool/squid
5.3 Configurando um proxy cache simples
Nesta lição faremos apenas uma configuração simples de um proxy transparente, mas na
próxima faremos algumas configurações diferentes (proxy reverso, limitação de banda e autenti-
22
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
cação de usuários) que podem otimizar o funcionamento da rede.
O é um proxy transparente?
Um proxy transparente é uma implementação de proxy onde a maioria dos usuários comuns
não sabem da existência de tal ferramenta. Nessa implementação, o proxy funciona mesmo que
os usuários não o configurem em cada máquina, assim o proxy funciona independentemente da
configuração local das máquinas, o que evita que os usuários mais "espertos"o burlem.
A primeira parte para configurar o Squid é definir o domínio da rede interna. Se a rede for,
por exemplo, uma rede 176.16.0.0/24, então devemos definir a acl para a rede interna:
acl rede_interna src 176.16.0.0/24
http_access alow rede_interna
Obs.: acl (Access Control List ou lista de controle de acesso) é uma lista que define quem tem
direito de acesso ou não a alguma coisa. Por exemplo, como definidos acima a acl rede_interna,
todos que estiverem sob esse domínio terão ou não a permissão para acessar algum recurso.
5.4 Configurando
Adicione agora as seguintes linhas ao arquivo squid.conf.
#Essa linha define qual será o host. Se hover vários utilize virtual, caso contrário, host.
httpd_accel_host virtual
#Essa linha define a porta para onde as requisições serão enviadas.
httpd_accel_port 80
#Para que o Squid trabalhe como proxy transparente e cache deixe essa opção como on.
httpd_accel_with_proxy on
#Faz com que o Squid não verifique os valores do cabeçalho host
httpd_accel_uses_host_header on
Agora adicione antes ainda de rede interna acl:
acl all 0.0.0.0/0.0.0.0
Isso fará com algum acesso seja negado ou permitido à todos da rede.
5.5 Criando a lista de sites bloqueados
Agora vamos criar uma lista com os sites que queremos que sejam bloqueados. Nessa lista
ficarão os domínios que não serão permitidos. Criaremos também uma lista de domínios que
queremos que não sejam bloqueados. Nessa lista ficarão as excessões à lista dos bloqueados.
Por exemplo, se você quer bloquear tudo que seja relativo à sexo então a palavra sexo deve
estar no arquivo de bloqueados. Assim o endereço www.sexo.com será bloqueado, assim como
o www.sexoesaude.com também será, mas este último pode ser um site totalmente inofensivo.
23
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
Desta maneira a url www.sexoesaude.com deve estar no arquivo dos não bloqueados.
Crie o diretório bloqueados dentro de /etc/squid, nesse diretório ficarão as listas com as pala-
vras, ips ou domínios a serem bloqueados.
debian:~# mkdir /etc/squid/bloqueados
debian:~# touch /etc/squid/bloqueados/block.txt
debian:~# touch /etc/squid/bloqueados/unblock.txt
Agora adicione as linhas a seguir logo após as primeiras acls no squid.conf.
acl blockedsites url_regex ?i "/etc/squid/bloqueados/block.txt"
acl unblockedsites url_regex ?i "/etc/squid/bloqueados/unblock.txt"
Existem várias listas com ips e palavras chaves contendo domínios a serem bloqueados, para
achá-las procure por lista negra ou squid que elas aparecerão facilmente.
5.6 Criando acls
Uma parte muito interessante na criação de acls é que podemos criar diferentes acls, de
acordo com o horário, data, ip, MAC e domínio.
Caso seja necessário bloquear o site do Youtube em uma empresa apenas no horário de ex-
pediente e para todos os empregados, exceto o presidente da empresa e o administrador da
rede, teríamos que definir algumas acls.
Para definir uma acl para o presidente da empresa, poderíamos definí-la pelo MAC adress da
placa de rede utilizada no computador do presidente.
acl presidente arp XX:XX:XX:XX:XX:XX
onde os X devem ser substituidos pelos valores do MAC.
Agora definimos uma acl para o administrador da rede, vamos fazê-lo utilizando o endereço ip.
acl admin src x.x.x.x
onde os x devem ser substituidos pelos valores do ip.
Vamos criar uma acl para o domínio do Youtube.
acl YOUTUBE dstdomain youtube.com
Por último, vamos definir a acl expediente para o horário de expediente e também final de se-
mana.
acl expediente time MTWHF 8:0000?18:00
24
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
acl final_de_semana time SA 0:0000?24:00
Agora vamos definir os direitos de acesso.
http_access allow YOUTUBE admin presidente
http_access deny YOUTUBE all expediente
http_access allow YOUTUBE all final_de_semana
5.7 Bloqueando portas
Um outro método de bloqueio é através de portas. Usando este método podemos bloquear
seviços que não são muito recomendados para serem utilizados em empresas como o comparti-
lhadores de arquivos (aMule, limewire e etc), serviços de mensagens (Msn, Jabber, ICQ, IRC...) e
muitos outros. O método mais inteligente e prático de fazer isso, não é especificar as portas que
queremos bloquear e sim as que queremos liberar. Dessa forma, quando houver a necessidade
de liberar uma nova porta para um serviço basta adicioná-la como uma acl e continuar negando
todas as outras.
acl SSL_ports port 443 # https
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
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
Depois de definir acls com as portas que são consideradas seguras, basta bloquear todas as
outras.
http_access deny !Safe_ports
5.8 Configurando o cache
Agora que já sabemos como configurar acls, vamos configurar o cache. Para isso, adicione
ao início do arquivo a linhas a seguir.
#Nessa linha definimos quanto de memória o Squid irá consumir. Ela varia de máquina para
# máquina. No caso de uma máquina dedicada para o Squid, esse
#valor pode ser de até 80% da memória principal
cache_mem 256 MB
25
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
#Essa opção define o limite mínimo para substituição de um objeto em swap.
cache_swap_low 90
#Essa opção define o limite máximo para substituição de um objeto em swap.
cache_swap_high 95
#Define o tamanho máximo para que um arquivo seja armazenado no cache. Este
#parâmetro deve ser escolhido com cautela pois arquivos muito grandes podem tornar
#o Squid lento.
maximum_object_size 4096 KB
#Define o tamanho máximo dos arquivos do cache que devem ficar em memória.
#Lembrando que a memória princial (RAM) é muito mais rápida que a memória
#secundária (disco rígido) e por isso é melhor armazenar um arquivo na principal. Esse
#valor deve ser definido com muito cuidado!
maximum_object_size_in_memory 20 KB
#Define o diretório onde ficarão os arquivos em cache
cache_dir aufs /var/cache/squid 4096 16 256
#Define o arquivo onde ficarão os logs do squid
cache_access_log /var/log/squid/access.log
Terminada a configuração do Squid, basta iniciá-lo para que ele comece a funcionar.
debian:~# /etc/init/d/squid start
Se tudo estiver certo, o Squid já estará funcional e em uso.
26
Capítulo 6
Demais configurações
6.1 Introdução
Nessa lição, iremos abordar a configuração do Squid como proxy reverso, com limitação de
banda, limitação de conexões por usuário e autenticação de usuários. Utilizaremos como base o
arquivo de configuração da lição anterior.
6.2 Proxy reverso
Antes de configurarmos o Squid como um proxy reverso vamos tentar entender o que vem a
ser essa implementação de proxy.
Um proxy reverso é um tipo de implementação usado geralmente para diminuir a carga de ser-
vidores web que são muito acessados. Nessa configuração, o Squid acaba se tornando um
servidor web, ele armazena no cache todo tipo de conteúdo estático provido pelo servidor. No
momento em que um cliente faz uma requisição para o servidor, o Squid é capaz de responder a
essa requisição como se fosse o próprio servidor.
Para configurar o Squid como proxy reverso, basta adicionar as seguintes opções no squid.conf.
#Esse parâmetro define a porta que o Squid irá responder.
http_port 80
#Define o IP interno do servidor WEB
httpd_accel_host 172.16.0.1
#A porta que o servidor responde
httpd_accel_port 80
#Essa opção faz com que o Squid seja proxy reverso apenas para um servidor
httpd_accel_single_host on
27
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
#Essa opção já estava no nosso arquivo de configuração, mas nessa implementação # man-
tenha ela como off
httpd_accel_uses_host_header off
6.3 Limitação de banda e limitação de conexões por usuários
Vamos agora configurar o Squid para limitar a banda utilizada por cada usuário da rede interna
e também limitar o número de conexões por usuário.
Limitação de banda
Para limitar a banda, basta adicionar os seguintes parâmetros ao squid.conf. As delay pools
fazem com que a conexão fique um pouco mais lenta para os usuários, isso faz com que a banda
seja economizada.
acl controle1 url_regex ?i 172.16.0
acl controle2 url_regex ?i ftp .exe .mp3 .tar.gz .gz .zip .rar .avi .mpeg .mpg .qt .ram .rm .is
delay_pools 2
delay_class 1 2
delay_parameters 1 ?1//?1 ?1//?1
delay_access 1 allow controle1
delay_class 2 2
delay_access 2 allow rede_interna
delay_access 2 allow controle2
Limitação de conexões
A limitação de conexões por usuário pode ser muito útil para que um usuário não use toda a
banda enquanto outros têm de ficar esperando.
#Essa é a acl para que o número de conexões seja no máximo 10
acl CONEXOES maxconn 10
#Aqui limita-se as conexões aos usuários da rede interna
http_access deny CONEXOES rede_interna
Obs.: para utilizar a limitação de banda é necessário que o Squid tenha sido compilado com
a opção -enable-delay-pools.
28
CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF
6.4 Autenticação de usuários
A autenticação de usuários pode ser útil para saber através dos logs como a rede está sendo
utilizada e por quem. Para habilitar a autenticação, adicione as linhas abaixo ao arquivo de confi-
guração.
#Nessa linha é definido o programa responsável pela autenticação. Pode ser que o
#ncsa_auth esteja em algum local diferente, utilize o locate para saber onde.
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/
auth_param basic children 5
auth_param basic realm Digite seu Login
Devemos então criar um arquivo com as senhas.
debian:~# touch /etc/squid/passwd
Agora toda vez que você quiser inserir um novo usuário digite:
debian:~# htpasswd /etc/squid/passwd NOME_DO_USUARIO
Adicione também a seguinte acl.
acl rede_interna proxy_auth REQUIRED
29

Mais conteúdo relacionado

Mais procurados

Wx python
Wx pythonWx python
Wx pythonTiago
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotprojectTiago
 
Tunelamento
TunelamentoTunelamento
TunelamentoTiago
 
Squid guard
Squid guardSquid guard
Squid guardTiago
 
Screen
ScreenScreen
ScreenTiago
 
Manipulando pacotes
Manipulando pacotesManipulando pacotes
Manipulando pacotesTiago
 
Selinux
SelinuxSelinux
SelinuxTiago
 
Drivers de Dispositivos Linux
Drivers de Dispositivos LinuxDrivers de Dispositivos Linux
Drivers de Dispositivos LinuxHudson Augusto
 
Servidor de emails_seguro
Servidor de emails_seguroServidor de emails_seguro
Servidor de emails_seguroTiago
 
Javascript
JavascriptJavascript
JavascriptTiago
 
Tcl tk
Tcl tkTcl tk
Tcl tkTiago
 
Python gtk
Python gtkPython gtk
Python gtkTiago
 
Nessus
NessusNessus
NessusTiago
 

Mais procurados (20)

Wx python
Wx pythonWx python
Wx python
 
Apostila cdtc dotproject
Apostila cdtc dotprojectApostila cdtc dotproject
Apostila cdtc dotproject
 
Uml
UmlUml
Uml
 
Samba
SambaSamba
Samba
 
Tunelamento
TunelamentoTunelamento
Tunelamento
 
Squid guard
Squid guardSquid guard
Squid guard
 
Screen
ScreenScreen
Screen
 
Manipulando pacotes
Manipulando pacotesManipulando pacotes
Manipulando pacotes
 
Selinux
SelinuxSelinux
Selinux
 
Drivers de Dispositivos Linux
Drivers de Dispositivos LinuxDrivers de Dispositivos Linux
Drivers de Dispositivos Linux
 
Xdmcp
XdmcpXdmcp
Xdmcp
 
Servidor de emails_seguro
Servidor de emails_seguroServidor de emails_seguro
Servidor de emails_seguro
 
Javascript
JavascriptJavascript
Javascript
 
Tcl tk
Tcl tkTcl tk
Tcl tk
 
Jspservlets
JspservletsJspservlets
Jspservlets
 
Horde
HordeHorde
Horde
 
Jdbc
JdbcJdbc
Jdbc
 
Java Basico
Java BasicoJava Basico
Java Basico
 
Python gtk
Python gtkPython gtk
Python gtk
 
Nessus
NessusNessus
Nessus
 

Semelhante a Squid: O Cache Proxy

Dovecot
DovecotDovecot
DovecotTiago
 
Instalacao xoops
Instalacao xoopsInstalacao xoops
Instalacao xoopsTiago
 
Postfix
PostfixPostfix
PostfixTiago
 
Linguagem ruby
Linguagem rubyLinguagem ruby
Linguagem rubyTiago
 
Open vpn
Open vpnOpen vpn
Open vpnTiago
 
Drivers de dispostivos_linux
Drivers de dispostivos_linuxDrivers de dispostivos_linux
Drivers de dispostivos_linuxTiago
 
Nagios2
Nagios2Nagios2
Nagios2Tiago
 
Pascal
PascalPascal
PascalTiago
 
Ppt pd
Ppt pdPpt pd
Ppt pdTiago
 
Monitoramento
MonitoramentoMonitoramento
MonitoramentoTiago
 
Jspservlets
JspservletsJspservlets
JspservletsTiago
 
Inkscape
InkscapeInkscape
InkscapeTiago
 
Iptables
IptablesIptables
IptablesTiago
 
Open solaris
Open solarisOpen solaris
Open solarisTiago
 
Java applet
Java appletJava applet
Java appletTiago
 
Drupal
DrupalDrupal
DrupalTiago
 

Semelhante a Squid: O Cache Proxy (20)

Ltsp
LtspLtsp
Ltsp
 
Dovecot
DovecotDovecot
Dovecot
 
Instalacao xoops
Instalacao xoopsInstalacao xoops
Instalacao xoops
 
Postfix
PostfixPostfix
Postfix
 
Linguagem ruby
Linguagem rubyLinguagem ruby
Linguagem ruby
 
Open vpn
Open vpnOpen vpn
Open vpn
 
Drivers de dispostivos_linux
Drivers de dispostivos_linuxDrivers de dispostivos_linux
Drivers de dispostivos_linux
 
Nagios2
Nagios2Nagios2
Nagios2
 
Pascal
PascalPascal
Pascal
 
Ppt pd
Ppt pdPpt pd
Ppt pd
 
Plone
PlonePlone
Plone
 
Mrtg
MrtgMrtg
Mrtg
 
Monitoramento
MonitoramentoMonitoramento
Monitoramento
 
Jspservlets
JspservletsJspservlets
Jspservlets
 
Inkscape
InkscapeInkscape
Inkscape
 
Iptables
IptablesIptables
Iptables
 
Open solaris
Open solarisOpen solaris
Open solaris
 
J2me
J2meJ2me
J2me
 
Java applet
Java appletJava applet
Java applet
 
Drupal
DrupalDrupal
Drupal
 

Mais de Tiago

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodleTiago
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascalTiago
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascalTiago
 
Python bge
Python bgePython bge
Python bgeTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Curso python
Curso pythonCurso python
Curso pythonTiago
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 pythonTiago
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharpTiago
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpTiago
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpTiago
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpTiago
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharpTiago
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantesTiago
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharpTiago
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivosTiago
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafaelTiago
 
Curso de shell
Curso de shellCurso de shell
Curso de shellTiago
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharpTiago
 
Classes csharp
Classes csharpClasses csharp
Classes csharpTiago
 
C# o basico
C#   o basicoC#   o basico
C# o basicoTiago
 

Mais de Tiago (20)

Programacao php moodle
Programacao php moodleProgramacao php moodle
Programacao php moodle
 
6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal6572501 ldp-apostila-de-turbo-pascal
6572501 ldp-apostila-de-turbo-pascal
 
Guia rapido de_pascal
Guia rapido de_pascalGuia rapido de_pascal
Guia rapido de_pascal
 
Python bge
Python bgePython bge
Python bge
 
Curso python
Curso pythonCurso python
Curso python
 
Curso python
Curso pythonCurso python
Curso python
 
Aula 01 python
Aula 01 pythonAula 01 python
Aula 01 python
 
Threading in c_sharp
Threading in c_sharpThreading in c_sharp
Threading in c_sharp
 
Retirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharpRetirar acentos de_determinado_texto_em_c_sharp
Retirar acentos de_determinado_texto_em_c_sharp
 
Remover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharpRemover caracteres especiais_texto_em_c_sharp
Remover caracteres especiais_texto_em_c_sharp
 
Obter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharpObter ip da_internet_em_c_sharp
Obter ip da_internet_em_c_sharp
 
Metodo using no_c_sharp
Metodo using no_c_sharpMetodo using no_c_sharp
Metodo using no_c_sharp
 
Introdução ao c# para iniciantes
Introdução ao c# para iniciantesIntrodução ao c# para iniciantes
Introdução ao c# para iniciantes
 
Interfaces windows em c sharp
Interfaces windows em c sharpInterfaces windows em c sharp
Interfaces windows em c sharp
 
Filestream sistema arquivos
Filestream  sistema arquivosFilestream  sistema arquivos
Filestream sistema arquivos
 
Curso linux professor rafael
Curso linux professor rafaelCurso linux professor rafael
Curso linux professor rafael
 
Curso de shell
Curso de shellCurso de shell
Curso de shell
 
Controle lpt em_c_sharp
Controle lpt em_c_sharpControle lpt em_c_sharp
Controle lpt em_c_sharp
 
Classes csharp
Classes csharpClasses csharp
Classes csharp
 
C# o basico
C#   o basicoC#   o basico
C# o basico
 

Último

activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasraveccavp
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxLaurindo6
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 

Último (20)

activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Nova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisasNova BNCC Atualizada para novas pesquisas
Nova BNCC Atualizada para novas pesquisas
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptxAULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
AULA SOBRE AMERICA LATINA E ANGLO SAXONICA.pptx
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 

Squid: O Cache Proxy

  • 2. Sumário I Sobre essa Apostila 2 II Informações Básicas 4 III Squid 9 1 O que é Squid 10 2 Plano de ensino 11 2.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 Introdução 14 3.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.2 Compatibilidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 Mais informações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 4 Instalação 16 4.1 Indrodução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2 Dependências . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.3 Instalando com o APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 4.4 Instalação a partir do código fonte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4.5 Compilando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5 Configuração básica 20 5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.2 Começando as configurações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.3 Configurando um proxy cache simples . . . . . . . . . . . . . . . . . . . . . . . . . . 21 5.4 Configurando . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.5 Criando a lista de sites bloqueados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1
  • 3. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 5.6 Criando acls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 5.7 Bloqueando portas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 5.8 Configurando o cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 6 Demais configurações 26 6.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.2 Proxy reverso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.3 Limitação de banda e limitação de conexões por usuários . . . . . . . . . . . . . . . 27 6.4 Autenticação de usuários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2
  • 4. Parte I Sobre essa Apostila 3
  • 5. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Conteúdo O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in- ternet, disponíveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br. O formato original deste material bem como sua atualização está disponível dentro da licença GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção de mesmo nome, tendo inclusive uma versão traduzida (não oficial). A revisão e alteração vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro de 2006. Críticas e sugestões construtivas são bem-vindas a qualquer tempo. Autores A autoria deste é de responsabilidade de Frederico Oliveira de Paula (fredaodepaula@cdtc.org.br) . O texto original faz parte do projeto Centro de Difusão de Tecnologia e Conhecimento, que vem sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informação) em conjunto com outros parceiros institucionais, atuando em conjunto com as universidades federais brasileiras que tem produzido e utilizado Software Livre, apoiando inclusive a comunidade Free Software junto a outras entidades no país. Informações adicionais podem ser obtidas através do email ouvidoria@cdtc.org.br, ou da home page da entidade, através da URL http://www.cdtc.org.br. Garantias O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi- lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizam direta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido. Licença Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br) . Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS- TILA. A copy of the license is included in the section entitled GNU Free Documentation License. 4
  • 7. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Sobre o CDTC Objetivo Geral O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina- ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito do desenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira. Objetivo Específico Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário e de código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre os servidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercado nacional a adotar novos modelos de negócio da tecnologia da informação e de novos negócios de comunicação com base em software não-proprietário e de código fonte aberto, oferecendo treinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários, criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar como incentivadores e defensores de produtos de software não proprietários e código fonte aberto, ofe- recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento de produtos de software não proprietários e de seu código fonte livre, articulando redes de terceiros (dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro- dutos de software livre. Guia do aluno Neste guia, você terá reunidas uma série de informações importantes para que você comece seu curso. São elas: • Licenças para cópia de material disponível • Os 10 mandamentos do aluno de Educação a Distância • Como participar dos foruns e da wikipédia • Primeiros passos É muito importante que você entre em contato com TODAS estas informações, seguindo o roteiro acima. Licença Copyright ©2006, Instituto Nacional de Tecnologia da Informação (cdtc@iti.gov.br). 6
  • 8. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF É dada permissão para copiar, distribuir e/ou modificar este documento sob os termos da Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA APOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu- mentação Livre GNU". Os 10 mandamentos do aluno de educação online • 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado é pré-requisito para a participação nos cursos a distância. • 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá- tica é necessário para poder executar as tarefas. • 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân- cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal, dos colegas e dos professores. • 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seus colegas de turma respeitando-os e fazendo ser respeitado pelo mesmo. • 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisão e a sua recuperação de materiais. • 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações e realizá-las em tempo real. • 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre. • 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagens e descobertas. • 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente é ponto - chave na comunicação pela Internet. • 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual não controla a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração. Como participar dos fóruns e Wikipédia Você tem um problema e precisa de ajuda? Podemos te ajudar de 2 formas: A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso: . O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informações que sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas a 7
  • 9. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF todos participantes. Assim, se o monitor ou algum outro participante tiver uma informação que interesse ao grupo, favor postá-la aqui. Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico do curso. É recomendado que você faça uso do Forum de dúvidas gerais que lhe dá recursos mais efetivos para esta prática. . O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativo para solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadas a todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podem ajudar. Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com a formalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópico é recomendável ver se a sua pergunta já foi feita por outro participante. A segunda forma se dá pelas Wikis: . Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par- ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podem ser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece um ótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé- dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, por pessoas de todas as partes do mundo. Acesse-a em português pelos links: • Página principal da Wiki - http://pt.wikipedia.org/wiki/ Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo! Primeiros Passos Para uma melhor aprendizagem é recomendável que você siga os seguintes passos: • Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar; • Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar das ferramentas básicas do mesmo; • Entrar nas lições seguindo a seqüência descrita no Plano de Ensino; • Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais. Perfil do Tutor Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores. O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivos valores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita as idéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar. 8
  • 10. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e, para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutor ou instrutor: • fornece explicações claras acerca do que ele espera, e do estilo de classificação que irá utilizar; • gosta que lhe façam perguntas adicionais; • identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por- que motivo a classificação foi ou não foi atribuída’; • tece comentários completos e construtivos, mas de forma agradável (em contraste com um reparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, de ameaça e de nervossismo’) • dá uma ajuda complementar para encorajar um estudante em dificuldade; • esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente; • ajuda o estudante a alcançar os seus objetivos; • é flexível quando necessário; • mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso, talvez numa fase menos interessante para o tutor); • escreve todas as correções de forma legível e com um nível de pormenorização adequado; • acima de tudo, devolve os trabalhos rapidamente; 9
  • 12. Capítulo 1 O que é Squid O Squid é um Web proxy cache livre, de código aberto com suporte a HTTP, FTP, proxy para SSL, hierarquia de cache, ICP, HTCP, CARP, cache transparente, WCCP, controle extensivo de acesso, aceleração de servidor HTTP, SNMP, cache de DNS e muito mais. Ao final deste curso o aluno terá conhecimento suficiente para instalar, configurar e manter um Web proxy cache utilizando o Squid. O curso, com base na distribuição Debian, tem duas semanas. O conteúdo do curso estará visível somente a partir da data de início. Para começar o curso você deve ler o Guia do aluno a seguir. 11
  • 13. Capítulo 2 Plano de ensino 2.1 Objetivo Qualificar técnicos para a configuração do proxy-cache Squid. 2.2 Público Alvo Técnicos que desejam trabalhar com o Squid. 2.3 Pré-requisitos Os usuários deverão ter conhecimento básico acerca da configuração e instalação de progra- mas em sistemas GNU/Linux e redes de computadores. 2.4 Descrição O curso de Squid será realizado na modalidade EAD e utilizará a plataforma Moodle como ferramenta de aprendizagem. Ele é composto de um módulo de aprendizado que será dado na primeira semana e uma avaliação que será dada ao final dessa semana. O material didático estará disponível on-line de acordo com as datas pré-estabelecidas no calendário. A versão utilizada para o Squid será a 2.6.STABLE5. 2.5 Metodologia O curso está dividido da seguinte maneira: 2.6 Cronograma • Introdução • Instalação 12
  • 14. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • Configuração básica • Demais configurações Como mostrado na tabela acima, a cada semana será disponibilizado um conjunto de módulos. É recomendável que o participante siga as datas estabelecidas. As lições, disponíveis em cada módulo, contém o contéudo principal. Elas poderão ser acessa- das quantas vezes forem necessárias, desde que esteja dentro da semana programada. Ao final de uma lição, você receberá uma nota de acordo com o seu desempenho. Caso sua nota numa determinada lição for menor do que 6.0, sugerimos que você faça novamente esta lição. Ao final do curso serão disponibilizadas as avaliações referentes aos módulos estudados ante- riormente. Somente as notas das avaliações serão consideradas para a nota final. Todos os módulos ficarão visíveis para que possam ser consultados durante a avaliação final. Para conhecer as demais atividades de cada módulo leia o tópico seguinte: "Ambientação do Moodle". Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deve ser envi- ada ao fórum correspondente. Diariamente os monitores darão respostas e esclarecimentos. 2.7 Programa O curso oferecerá o seguinte conteúdo: • Introdução ao Squid • Instalação do Squid • Configuração do Squid 2.8 Avaliação Toda a avaliação será feita on-line. Aspectos a serem considerados na avaliação: • Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento; • Capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados. Instrumentos de avaliação: • Participação ativa nas atividades programadas. • Avaliação ao final do curso. • O participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação e obtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordo com a fórmula abaixo: • Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições • AF = Avaliações 13
  • 15. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 2.9 Bibliografia • http://www.squid-cache.org/ • http://pt.wikipedia.org/wiki/ • http://en.wikipedia.org/wiki/ • http://www.linuxman.pro.br/squid/ 14
  • 16. Capítulo 3 Introdução 3.1 Introdução O Squid é um proxy cache para a web, livre e de código aberto. Mas o que é proxy cache? Um proxy é um software capaz de aumentar consideravelmente a velocidade de conexão à inter- net através de um cache. Quando um computador se conecta à internet a partir de um proxy, na verdade o proxy se comunica com a rede externa e transfere os dados para essa máquina cliente. Para melhorar a peformance da conexão com a internet o proxy armazena alguns dados em um cache e esses dados são compartilhados entre todos os computadores clientes. Por exemplo, considerando uma empresa muito grande onde várias pessoas se conectam à inter- net e baixam o mesmo arquivo de um determinado site. Se toda vez que alguém fizer o download do arquivo, ele for feito diretamente do servidor remoto onde se encontra o mesmo, será um con- sumo de banda desnecessário. Para evitar esse desperdício, esse mesmo arquivo é armazenado no cache do proxy e toda vez que alguém fizer o download ele será baixado do cache e não do servidor remoto. Além de funcionar como cache, o Squid pode ser uma maneira de restringir o acesso a deter- minados conteúdos na internet. Seguindo no mesmo exemplo anterior, se vários funcionários ficam navegando por sites que nada tem haver com o seu trabalho, assistindo vídeos, ouvindo músicas on-line e tudo isso consumindo a banda da empresa que pode estar em falta em outros serviços como em rotinas de backup. Para evitar que a banda seja gasta com o acesso a con- teúdos que não sejam relacionados com os serviços prestados pela empresa, alguns domínios podem ser bloqueados para que não possam ser acessados de dentro da rede englobada pelo proxy. 3.2 Compatibilidade Uma grande vantagem do Squid é que ele é compatível com os sistemas operacionais mais utilizados, como: • GNU/Linux; • FreeBSD; 15
  • 17. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • OpenBSD; • NetBSD; • BSDI; • Mac OS X; • OSF; • IRIX; • SunOS/Solaris; • NeXTStep; • SCO Unix; • AIX; • HP-UX; 3.3 Mais informações Mais informações sobre o Squid podem ser encontradas no site oficial (http://www.squid- cache.org) e também na página das perguntas mais freqüentes (http://wiki.squid-cache.org/SquidFaq), onde são abordados tópicos a respeito da instalação, compilação, gerenciamento de cache, pro- blema com o uso de memória e muito mais. 16
  • 18. Capítulo 4 Instalação 4.1 Indrodução Nessa lição serão abordados dois métodos diferentes para a instalação do Squid. O primeiro método é o mais simples, a instalação via o gerenciador de pacotes apt do Debian e derivados (Ubuntu, Kurumin, Xandros...). O outro método é a partir dos fontes do próprio programa baixados da site oficial. 4.2 Dependências Antes da instalação do Squid algumas dependências devem ser verificadas, a maioria delas já devem estar instaladas no sistema. No caso da ferramenta APT, todas as dependências em falta serão então instaladas junto com o Squid. Na instalação através do código fonte ou serão instaladas pelo usuário separadamente através do APT (ou qualquer outro gerenciador), ou serão instaladas manualmente uma a uma. As instalações de todas as dependências não serão abordadas nesse curso, pois isso o tor- naria muito extenso, mas mesmo assim o fórum de dúvidas estará disponível para qualquer tipo de questionamento com respeito à instalação do Squid e suas dependências. Para instalar o Squid são necessários os pacotes: • adduser • coreutils • debconf (>= 1.2.9) • libc6 (>= 2.3.2.ds1-21) [not alpha, ia64] • libc6.1 (>= 2.3.2.ds1-21) [alpha, ia64] • libgcc1 (>= 1:3.4.1-3) [mips, mipsel] • libldap2 (>= 2.1.17-1) • libpam0g (>= 0.76) 17
  • 19. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF • logrotate (>= 3.5.4-1) • netbase • squid-common (= 2.5.9-10sarge2) Os pacotes abaixo não são estritamente necessários mas são sugeridos também para a ins- talação. • logcheck-database • resolvconf (>= 0.40) • smbclient • squid-cgi • squidclient • winbind (>= 3.0.2) Para saber mais sobre esses pacotes clique sobre o nome do pacote ou entre no site http://packages.debia 4.3 Instalando com o APT A instalação via APT é muito simples. Basta dar os comandos abaixo no terminal como o super-usuário: debian:~# apt-get update debian:~# apt-get install squid Aparecerá na tela algo como: Lendo lista de pacotes... Pronto Construindo árvore de dependências... Pronto Os pacotes extra a seguir serão instalados: squid-common Pacotes sugeridos: squidclient squid-cgi logcheck-database resolvconf smbclient Os NOVOS pacotes a seguir serão instalados: squid squid-common 0 pacotes atualizados, 2 pacotes novos instalados, 0 a serem removidos e 0 não atualiza- dos. É preciso fazer o download de 1088kB de arquivos. Depois de desempacotar, 6590kB adicionais de espaço em disco serão usados. Quer continuar [S/n]? Pressione a tecla Enter para dar prosseguimento à instalação. Depois de um pequeno intervalo de tempo, o Squid estará instalado e pronto para ser confi- gurado. 18
  • 20. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 4.4 Instalação a partir do código fonte A instalação pelo código fonte pode ser um pouco mais complicada que a primeira instalação abordada, mas nada impossível. O primeiro passo para a compilação é o download do pacote do site oficial do squid: http://www.squid- cache.org/Versions/v2/2.6/. Escolha a última versão estável, que no momento da confecção deste curso era a 2.6.5. Depois de feito o download, descompacte o arquivo através do comando: usuario@debian:~$ tar xvf squid-2.6.STABLES5.tar.gz ou usuario@debian:~$ tar xvfj squid-2.6.STABLES5.tar.bz2 4.5 Compilando A compilação do squid pode exigir uma série de bibliotecas e outras ferramentas para a com- pilação. Para quem possui Debian ou uma distribuição derivada a ferramenta apt pode ser muito útil nessa hora. Para instalar todas as dependências para a compilação do Squid, dê o comando: debian:~# apt-get build-dep squid Obs.: Esse comando instala as dependências para a compilação e não as dependências do programa em si. Agora entre na pasta onde estão os fontes e dê o comando abaixo para que a compilação possa ser preparada. usuario@debian:/home/usuario$ cd squid-2.6.STABLE5 usuario@debian:/home/usuario/squid-2.6.STABLE5$ ./configure –enable-delay-pools –enable- cache-digests –enable-poll –disable-ident-lookups –enable-truncate –enable-removal-policies –enable-arp-acl Se no final desse processo aparecer alguma mensagem de erro significa que algum pré-requisito para a instalação não foi atendido. Cabe ao usuário instalá-lo para prosseguir com a compilação. Se você deseja saber o que significa cada opção desse comando e se você procura por mais opções leia o arquivo configure. Agora é só compilar e instalar o Squid. usuario@debian:/home/usuario/squid-2.6.STABLE5$ make all debian:/home/usuario/squid-2.6.STABLE5# make install debian:/home/usuario/squid-2.6.STABLE5# cd auth_modules/NCSA 19
  • 21. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF debian:/home/usuario/squid-2.6.STABLE5/auth_modules# make debian:/home/usuario/squid-2.6.STABLE5/auth_modules# make install 20
  • 22. Capítulo 5 Configuração básica 5.1 Introdução A configuração básica do Squid não é um procedimento muito difícil, com apenas alguns ajus- tes no arquivo de configuração já é possível fazer um proxy. Um ponto muito importante na configuração é saber qual a necessidade, é preciso saber se a implementação vai ser de um proxy transparente, de um proxy cache normal, de um proxy re- verso e etc. A tomada da decisão de como vai ser a implementação e quais as necessidades é muito importante, algumas mudanças podem pedir até uma recompilação do programa. 5.2 Começando as configurações O arquivo de configuração do Squid encontra-se geralmente em /etc/squid/squid.conf, mas se ele não estiver nesse diretório, então digite esses comandos abaixo para encontrá-lo: debian:~# updatedb debian:~# locate squid.conf Abrindo esse arquivo em qualquer editor de texto é possível ver que ele é bem completo e comen- tado (na versão usada para fazer este curso, Squid 2.6.STABLE5, o arquivo tinha 4347 linhas). Trabalhar com um arquivo de extensão tão grande pode ser difícil, alguns autores recomendam uma limpeza no arquivo, para isso, digite os comandos abaixo: debian:~# cd /etc/squid debian:/etc/squid# cp squid.conf squid_backup.conf debian:/etc/squid# egrep ?v "^#|^$"squid_backup.conf > squid.conf Assim, o squid.conf ficará um pouco mais enxuto. Todos os comentários serão apagados. Fi- caria ao cargo de cada um decidir se fará isso ou não. http_port 3128 hierarchy_stoplist cgi-bin ? acl QUERY urlpath_regex cgi-bin ? 21
  • 23. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF cache deny QUERY acl apache rep_header Server ^Apache broken_vary_encoding allow apache access_log /var/log/squid/access.log squid hosts_file /etc/hosts refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320 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 http_access allow localhost http_access deny all http_reply_access allow all icp_access allow all cache_effective_group proxy coredump_dir /var/spool/squid 5.3 Configurando um proxy cache simples Nesta lição faremos apenas uma configuração simples de um proxy transparente, mas na próxima faremos algumas configurações diferentes (proxy reverso, limitação de banda e autenti- 22
  • 24. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF cação de usuários) que podem otimizar o funcionamento da rede. O é um proxy transparente? Um proxy transparente é uma implementação de proxy onde a maioria dos usuários comuns não sabem da existência de tal ferramenta. Nessa implementação, o proxy funciona mesmo que os usuários não o configurem em cada máquina, assim o proxy funciona independentemente da configuração local das máquinas, o que evita que os usuários mais "espertos"o burlem. A primeira parte para configurar o Squid é definir o domínio da rede interna. Se a rede for, por exemplo, uma rede 176.16.0.0/24, então devemos definir a acl para a rede interna: acl rede_interna src 176.16.0.0/24 http_access alow rede_interna Obs.: acl (Access Control List ou lista de controle de acesso) é uma lista que define quem tem direito de acesso ou não a alguma coisa. Por exemplo, como definidos acima a acl rede_interna, todos que estiverem sob esse domínio terão ou não a permissão para acessar algum recurso. 5.4 Configurando Adicione agora as seguintes linhas ao arquivo squid.conf. #Essa linha define qual será o host. Se hover vários utilize virtual, caso contrário, host. httpd_accel_host virtual #Essa linha define a porta para onde as requisições serão enviadas. httpd_accel_port 80 #Para que o Squid trabalhe como proxy transparente e cache deixe essa opção como on. httpd_accel_with_proxy on #Faz com que o Squid não verifique os valores do cabeçalho host httpd_accel_uses_host_header on Agora adicione antes ainda de rede interna acl: acl all 0.0.0.0/0.0.0.0 Isso fará com algum acesso seja negado ou permitido à todos da rede. 5.5 Criando a lista de sites bloqueados Agora vamos criar uma lista com os sites que queremos que sejam bloqueados. Nessa lista ficarão os domínios que não serão permitidos. Criaremos também uma lista de domínios que queremos que não sejam bloqueados. Nessa lista ficarão as excessões à lista dos bloqueados. Por exemplo, se você quer bloquear tudo que seja relativo à sexo então a palavra sexo deve estar no arquivo de bloqueados. Assim o endereço www.sexo.com será bloqueado, assim como o www.sexoesaude.com também será, mas este último pode ser um site totalmente inofensivo. 23
  • 25. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF Desta maneira a url www.sexoesaude.com deve estar no arquivo dos não bloqueados. Crie o diretório bloqueados dentro de /etc/squid, nesse diretório ficarão as listas com as pala- vras, ips ou domínios a serem bloqueados. debian:~# mkdir /etc/squid/bloqueados debian:~# touch /etc/squid/bloqueados/block.txt debian:~# touch /etc/squid/bloqueados/unblock.txt Agora adicione as linhas a seguir logo após as primeiras acls no squid.conf. acl blockedsites url_regex ?i "/etc/squid/bloqueados/block.txt" acl unblockedsites url_regex ?i "/etc/squid/bloqueados/unblock.txt" Existem várias listas com ips e palavras chaves contendo domínios a serem bloqueados, para achá-las procure por lista negra ou squid que elas aparecerão facilmente. 5.6 Criando acls Uma parte muito interessante na criação de acls é que podemos criar diferentes acls, de acordo com o horário, data, ip, MAC e domínio. Caso seja necessário bloquear o site do Youtube em uma empresa apenas no horário de ex- pediente e para todos os empregados, exceto o presidente da empresa e o administrador da rede, teríamos que definir algumas acls. Para definir uma acl para o presidente da empresa, poderíamos definí-la pelo MAC adress da placa de rede utilizada no computador do presidente. acl presidente arp XX:XX:XX:XX:XX:XX onde os X devem ser substituidos pelos valores do MAC. Agora definimos uma acl para o administrador da rede, vamos fazê-lo utilizando o endereço ip. acl admin src x.x.x.x onde os x devem ser substituidos pelos valores do ip. Vamos criar uma acl para o domínio do Youtube. acl YOUTUBE dstdomain youtube.com Por último, vamos definir a acl expediente para o horário de expediente e também final de se- mana. acl expediente time MTWHF 8:0000?18:00 24
  • 26. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF acl final_de_semana time SA 0:0000?24:00 Agora vamos definir os direitos de acesso. http_access allow YOUTUBE admin presidente http_access deny YOUTUBE all expediente http_access allow YOUTUBE all final_de_semana 5.7 Bloqueando portas Um outro método de bloqueio é através de portas. Usando este método podemos bloquear seviços que não são muito recomendados para serem utilizados em empresas como o comparti- lhadores de arquivos (aMule, limewire e etc), serviços de mensagens (Msn, Jabber, ICQ, IRC...) e muitos outros. O método mais inteligente e prático de fazer isso, não é especificar as portas que queremos bloquear e sim as que queremos liberar. Dessa forma, quando houver a necessidade de liberar uma nova porta para um serviço basta adicioná-la como uma acl e continuar negando todas as outras. acl SSL_ports port 443 # https acl SSL_ports port 873 # rsync acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp 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 Depois de definir acls com as portas que são consideradas seguras, basta bloquear todas as outras. http_access deny !Safe_ports 5.8 Configurando o cache Agora que já sabemos como configurar acls, vamos configurar o cache. Para isso, adicione ao início do arquivo a linhas a seguir. #Nessa linha definimos quanto de memória o Squid irá consumir. Ela varia de máquina para # máquina. No caso de uma máquina dedicada para o Squid, esse #valor pode ser de até 80% da memória principal cache_mem 256 MB 25
  • 27. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF #Essa opção define o limite mínimo para substituição de um objeto em swap. cache_swap_low 90 #Essa opção define o limite máximo para substituição de um objeto em swap. cache_swap_high 95 #Define o tamanho máximo para que um arquivo seja armazenado no cache. Este #parâmetro deve ser escolhido com cautela pois arquivos muito grandes podem tornar #o Squid lento. maximum_object_size 4096 KB #Define o tamanho máximo dos arquivos do cache que devem ficar em memória. #Lembrando que a memória princial (RAM) é muito mais rápida que a memória #secundária (disco rígido) e por isso é melhor armazenar um arquivo na principal. Esse #valor deve ser definido com muito cuidado! maximum_object_size_in_memory 20 KB #Define o diretório onde ficarão os arquivos em cache cache_dir aufs /var/cache/squid 4096 16 256 #Define o arquivo onde ficarão os logs do squid cache_access_log /var/log/squid/access.log Terminada a configuração do Squid, basta iniciá-lo para que ele comece a funcionar. debian:~# /etc/init/d/squid start Se tudo estiver certo, o Squid já estará funcional e em uso. 26
  • 28. Capítulo 6 Demais configurações 6.1 Introdução Nessa lição, iremos abordar a configuração do Squid como proxy reverso, com limitação de banda, limitação de conexões por usuário e autenticação de usuários. Utilizaremos como base o arquivo de configuração da lição anterior. 6.2 Proxy reverso Antes de configurarmos o Squid como um proxy reverso vamos tentar entender o que vem a ser essa implementação de proxy. Um proxy reverso é um tipo de implementação usado geralmente para diminuir a carga de ser- vidores web que são muito acessados. Nessa configuração, o Squid acaba se tornando um servidor web, ele armazena no cache todo tipo de conteúdo estático provido pelo servidor. No momento em que um cliente faz uma requisição para o servidor, o Squid é capaz de responder a essa requisição como se fosse o próprio servidor. Para configurar o Squid como proxy reverso, basta adicionar as seguintes opções no squid.conf. #Esse parâmetro define a porta que o Squid irá responder. http_port 80 #Define o IP interno do servidor WEB httpd_accel_host 172.16.0.1 #A porta que o servidor responde httpd_accel_port 80 #Essa opção faz com que o Squid seja proxy reverso apenas para um servidor httpd_accel_single_host on 27
  • 29. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF #Essa opção já estava no nosso arquivo de configuração, mas nessa implementação # man- tenha ela como off httpd_accel_uses_host_header off 6.3 Limitação de banda e limitação de conexões por usuários Vamos agora configurar o Squid para limitar a banda utilizada por cada usuário da rede interna e também limitar o número de conexões por usuário. Limitação de banda Para limitar a banda, basta adicionar os seguintes parâmetros ao squid.conf. As delay pools fazem com que a conexão fique um pouco mais lenta para os usuários, isso faz com que a banda seja economizada. acl controle1 url_regex ?i 172.16.0 acl controle2 url_regex ?i ftp .exe .mp3 .tar.gz .gz .zip .rar .avi .mpeg .mpg .qt .ram .rm .is delay_pools 2 delay_class 1 2 delay_parameters 1 ?1//?1 ?1//?1 delay_access 1 allow controle1 delay_class 2 2 delay_access 2 allow rede_interna delay_access 2 allow controle2 Limitação de conexões A limitação de conexões por usuário pode ser muito útil para que um usuário não use toda a banda enquanto outros têm de ficar esperando. #Essa é a acl para que o número de conexões seja no máximo 10 acl CONEXOES maxconn 10 #Aqui limita-se as conexões aos usuários da rede interna http_access deny CONEXOES rede_interna Obs.: para utilizar a limitação de banda é necessário que o Squid tenha sido compilado com a opção -enable-delay-pools. 28
  • 30. CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF 6.4 Autenticação de usuários A autenticação de usuários pode ser útil para saber através dos logs como a rede está sendo utilizada e por quem. Para habilitar a autenticação, adicione as linhas abaixo ao arquivo de confi- guração. #Nessa linha é definido o programa responsável pela autenticação. Pode ser que o #ncsa_auth esteja em algum local diferente, utilize o locate para saber onde. auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/ auth_param basic children 5 auth_param basic realm Digite seu Login Devemos então criar um arquivo com as senhas. debian:~# touch /etc/squid/passwd Agora toda vez que você quiser inserir um novo usuário digite: debian:~# htpasswd /etc/squid/passwd NOME_DO_USUARIO Adicione também a seguinte acl. acl rede_interna proxy_auth REQUIRED 29