23
LINUX SERVIDOR SERVIDOR PROXY SQUID SQUID

Linux Servidor Proxy(squid)

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Linux Servidor Proxy(squid)

LINUX

SERVIDORSERVIDOR PROXY

SQUIDSQUID

Page 2: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY

• É um servidor que se encontra entre o nosso "browser" e o servidor final a que pretendemos aceder.

• este intercepta o nosso pedido ao servidor final para verificar se ele proprio pode fornecer essa informação.

• caso o não consiga então efectua esse pedido ao servidor final.

Page 3: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY• Quando temos uma rede de computadores e

desejamos fazer com que todos eles fiquem ligados á internet, a melhor opção é usar um servidor proxy

• Em primeiro lugar, o proxy evita ter de atribuir enderenços IP externos a todos os computadores da rede. Em vez disso, podemos configurar a rede interna na gama de endereços 192.168.10.0/24, que fica protegida do exterior.

• Em segundo lugar, o servidor proxy faz cache de dados local, o que permite racionalizar o uso da linha de comunicações e melhorar a velocidade de acesso ao exterior.

Page 4: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY

• Por exmplo, quando alguém pede uma página Web que outro utilizador já viu há pouco tempo, o servidor proxy já não necessita de ir buscar ao exterior, dado que já possui uma cópia guardada no disco local.

• Assim, quando o primeiro utilizador pode ter demorado vários minutos até ver a página, o segundo utilizador obtém a mesma página numa questão de alguns segundos. O mesmo se passa para todos os acessos subsequentes, até o tempo de validade da cópia em cache expire.

Page 5: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY

• O servidor proxy deve ser configurado num computador com acesso directo ao exterior.Por exemplo, quando temos uma rede local em que apenas um dos computadores possui um modem ou placa RDIS, devemos instalar o serviço proxy nesse computador

• Em LINUX existem vários programas que permitem criar servidores proxy.

• Os mais usados são os Squid e o próprio Apache.

Page 6: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY• Quando os utilizadores da rede interna só pretendem

navegar pela Web ( protocolos HTTP e FTP ) e enviar ou receber e-mail, então um servidor de proxy e um servidor de e-mail resolvem integralmente o problema de “conectividade” com o exterior.

• Pelo contrário, quando os utilizadores pretendem usar outros tipos de software, como por exemplo os programas de IRC e ICQ, então temos de usar outras soluções, como o IP-masquerading, que dão acesso aos outros serviços.

• No entanto, mesmo quando se utiliza o IP-masquerading, continua a ser muito vantajoso usar o servidor proxy, por causa da cache local.

Page 7: Linux Servidor Proxy(squid)

SERVIDOR PROXYSERVIDOR PROXY Os seus propósitos são:

• Aumentar a velocidade de acesso a um grupo de utilizadores, isto porque ele armazena a informação por estes requisitada.

• Filtrar os pedidos de informação a determinados sites, por exemplo uma empresa pode evitar o acesso dos seus empregados a determinados sites (XXX).

Page 8: Linux Servidor Proxy(squid)

O SERVIDOR PROXY SQUIDSQUID

• O Squid é um dos servidores de proxy mais poderosos que existem e, por esse motivo, é o proxy escolhido por grande parte dos ISP.

• Para além de uma cache local de alta performance, possui uma arquitectura hierárquica,que lhe permite reutilizar a cache de outros proxys.

• Por exemplo numa rede local, o próprio proxy local pode passar todos os pedidos externos ao proxy do ISP onde estamos ligados.

Page 9: Linux Servidor Proxy(squid)

O SERVIDOR PROXY SQUIDSQUID• Por sua vez, o ISP a que estamos ligados, também vai

estar ligado a outros ISP em países diferentes. Por exemplo, pode estar ligado a um super-ISP nos EUA, a outro em Inglaterra e a outro na Alemanha.

• Para maximizar a performance, o proxy do ISP nacional pode redireccionar os pedidos destinados ao estrangeiro, para os servidores de proxy dos super-ISP que estão mais próximos do destino.

• Com esta técnica, consegue-se reduzir imenso o tráfico total na internet, com todos os benefícios inerentes: uma grande melhoria na velocidade global da rede e custos de exploração mais baixos.

Page 10: Linux Servidor Proxy(squid)

O SERVIDOR PROXY SQUIDSQUID

• No exemplo da rede local, a probabilidade de alguém já ter ido ler a mesma página Web que nós desejamos ler é muito baixa. Agora, quando estamos a usar um proxy de um ISP com milhares de utilizadores, a probabilidade já é muito grande.

Page 11: Linux Servidor Proxy(squid)

O SERVIDOR PROXY SQUIDSQUID

• O Squid oferece alto desempenho de cache para servidores web, mas também oferece grandes vantagens em comparação com outros servidores proxy:

- Realiza, além da cache de objectos como arquivos de

FTP e páginas da web, uma cache de procuras de DNS. Isso quer dizer que ele guarda informações sobre o mapeamento entre endereços IP e nomes de máquinas da Internet, acelerando a procura de máquinas;

• Mantém os objectos mais utilizados na memória RAM (cujo uso pode ser limitado pela configuração);

Page 12: Linux Servidor Proxy(squid)

O SERVIDOR PROXY SQUIDSQUID

• O Squid suporta SSL (acesso a páginas criptografadas) para segurança em transações;

• Pode ser organizado em hierarquias de servidores de cache para uma melhoria significativa de desempenho;

• Responde às requisições num único processo de acesso a disco.

Page 13: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• O servidor proxy Squid consiste num programa principal (squid) e do seu próprio programa de resolução de nomes (dnsserver). Quando o Squid é inicializado, cria o processo do dnsserver, diminuindo o tempo de espera pela resposta do DNS.

• Para instalar o Squid temos de começar por editar o seu ficheiro de configuração:

«/etc/squid/squid.conf».

Page 14: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID• Este ficheiro é relativamente complexo e tem dezenas

de opções, mas ao longo de todo ficheiro existem comentários que explicam o seu significado.

• As opções mais importantes permitem definir os portos usados pelo serviço, os domínios internos, os domínios externos e, ainda, criar uma lista de ACL par definir quem pode usa o serviço e quem não pode.

• Por omissão, o Squid fica configurado no porto 3128, mas a maior parte dos administradores costuma preferir usar o porto 8080 ( http_port 8080 ).

Page 15: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Para lançar o Squid, é necessário começar por criar sa directorias de swap usadas para guardar a cache local:

# /usr/sbin/squid –z

Depois disso, podemos mandar iniciar o serviço:# /etc/rc.d/init.d/squid start

Page 16: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• O Squid além de estar disponivel na distribuição de RH, está disponivel na internet nomeadamente em www.squid-cache.org onde pode ser feito o download do pacote já compilado para RH ou do source code.

Page 17: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

A necessidade de utilização de funcionalidades avançadas como a gestão de banda obriga á compilação do source code, para instalações simples recomenda-se a instalação do binário próprio:

#rpm –ivh squid.[ver].rpm

Page 18: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Para verificar se o serviço ficou efectivamente a funcionar, podemos usar o comando «ps ax». Se tudo tiver correcto, vamos encontrar vários processos com os nomes «squid», «dnsserver» e «unlinkd». Pelo contrário, se houve algum problema, estes processos morrem passado algum tempo.

• Para detectar a causa desses problemas, temos de consultar as mensagens de erro no ficheiro log «/var/log/squid/cache.log». Depois, há que voltar a editar o ficheiro de configuração e tentar lançar novamente o serviço, até tudo estar correcto.

Page 19: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Criar um proxy transparenteAdicionar ao ficheiro de firewall:

#Iptables –t NAT –A PREROUTING –i [NIC] –p tcp –dport 80 –j REDIRECT --to-port 3128

Page 20: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Devemos ter muito cuidado com a segurança.

• Para isso, é necessário criar uma ACL que limita o acesso ao proxy apenas aos enderenços da rede local:

# No ficheiro /etc/squid/squid.confacl all src 0.0.0.0 / 0.0.0.0acl localnet src 192.168.0.0 / 255.255.255.0acl localhost src 127.0.0.1 / 255.255.255.255

http_acess allow localhosthttp_acess allow localnethttp_acess deny all

Page 21: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Uma forma ainda mais segura de impedir o acesso ao proxy consiste em usar as regras da firewall («ipchains»/«iptables» ) para fechar totalmente o acesso as portos do proxy a partir da rede externa.

• Por fim, quando a configuração final tiver bem afinada, não nos podemos esquecer de usar um editor de runlevels, par activar o serviço Squid no arranque do sistema. Por exemplo, podemos usar o «/usr/sbin/ntsysv» ou o painel controlo «redhat-config-services».

Page 22: Linux Servidor Proxy(squid)

INSTALAÇÃO DO SQUIDSQUID

• Uma defenição importante da configuração do squid é o espaço que usará para cache; estas defenições são como todas as outras introduzidas no squid.conf

• Cache_mem bytes• Cache_dir Type DirectoryName mbytes level1

level2

Page 23: Linux Servidor Proxy(squid)

BIBLIOGRAFIA

• LINUX – Curso completo / FCA

• Internet - http://www.conectiva.com