Upload
phungque
View
219
Download
6
Embed Size (px)
Citation preview
Um proxy, em português procurador, é um servidor, um sistema ou umaaplicação que age como um intermediário para requisições de clientessolicitando recursos de outros servidores.
Proxy
Um cliente conecta-se ao servidor proxy, solicitando algum serviço, como umarquivo, conexão, página web e o proxy avalia a solicitação como um meio desimplificar e controlar sua complexidade.
Proxy
O servidor proxy surgiu da necessidade de conectar a rede local à Internetatravés de um computador da rede que compartilha sua conexão com as demaismáquinas. Geralmente, as máquinas da rede interna não possuem endereçosválidos na Internet e, portanto, não têm uma conexão direta com a mesma.
Proxy
• Podemos dizer que o Proxy é parte fundamental da segurança da empresa.
• Deve-se também ter um Firewall.
• O Proxy não controla IMAP, POP e SMTP, pois ele é um Proxy Web.
Proxy
Um firewall, em português parede de fogo, é um dispositivo de uma rede decomputadores que tem por objetivo aplicar uma política de segurança a umdeterminado ponto da rede, bloqueando ou liberando acesso a recursos.
Firewall
Os firewalls do tipo filtro de pacotes, analisam individualmente cada pacote queatravessa a rede, verificando o cabeçalho das camadas de rede e de transporte.
Firewall
Com base no cabeçalho TCP/IP o firewall toma decisões com base: na porta,protocolo e IP de origem e destino.
Firewall
No entanto, o proxy vai além e complementa o firewall atuando na camada deaplicação, podendo implementar restrições de: URL, extensões, conteúdos,horários, usuários, etc.
Proxy
• Controle de sites com conteúdo indesejado;
• Restrições de acesso: com base no horário, login, etc;
• Diminuição do uso de largura de banda;
• Cache: arquivos de atualização.
• Controle de banda
• Logs
• Privacidade.
Vantagens
• É mais lento que os filtros de pacotes;
• Não aceita todos os serviços;
• Cada serviço requer o seu servidor proxy;
• Consome bastante recurso;
• Configuração complexa.
Desvantagens
Funcionamento
Quando o cliente faz a requisição de uma página na Web, o Proxy verifica se ela está
no cache. Senão, o Proxy procura na Web e guarda no cache. Quando outro cliente
acessar a mesma página, o Proxy verifica se ela foi alterada. Senão, o cliente recebe a
página que está no cache, mais rapidamente, melhorando a velocidade de acesso.
Funcionamento
O Squid é o serviço de Proxy/Cache mais utilizado no mundo. Ele possibilita um
controle sofisticado de acessos dos clientes, bem como diversas opções para melhorar
o acesso a internet. O Squid é open source, muito utilizado em escolas e empresas.
Funcionamento
O Servidor Proxy/Cache Squid escuta na porta 3128 do protocolo TCP, recebendo e
respondendo as solicitações de navegação dos clientes. O Squid pode atuar em modo
transparente, isto é, de forma automática sem necessidade de configuração dos
navegadores. No entanto este modo de operação não suporta autenticação de usuários.
Proxy transparente
Para ativar o proxy transparente, basta direcionar as requisições recebidas da porta 80
para a porta 3128 onde está rodando o squid, neste caso o servidor atuará como
gateway da rede, realizando o encaminhamento de pacotes de uma interface a outra.
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
Proxy
O Proxy não transparente, não atuará como gateway da rede, apenas irá tratar a
requisição de páginas. Este modo de operação, exige a configuração dos navegadores
dos clientes para passar pelo proxy.
Instalação no Debian
# apt-get install squid3
Observação: Será criado o diretório: /etc/squid3 onde ficarão os arquivos de
configuração
Configurações
• Habilitar a configuração básica;
• Habilitar para todos da rede interna saiam;
• Bloquear URL específica;
• Habilitar autenticação;
# Porta padrão e hostname
http_port 3128
visible_hostname IFSC
# Memória utilizada para objetos em trânsito
cache_mem 900 MB # memoria RAM utilizada para cache, geralmente 1/3 da RAM.
maximum_object_size_in_memory 1 MB # Tamanho máximo dos objetos armazenados na RAM.
maximum_object_size 10 MB # Tamanho máximo dos objetos armazenados no disco, downloads.
minimum_object_size 0 KB # Tamanho mínimo dos objetos armazenados no cache.
cache_swap_high 95 # A partir do momento em que o cache atingir 95%, serão descartados arquivos mais antigos.
cache_swap_low 90 # Os arquivos antigos serão descartados até que a porcentagem fique abaixo de 90%.
Squid.conf
# Página de Erros
error_directory /usr/share/squid3/errors/Portuguese
# Define o tamanho do cache em disco
cache_dir ufs /etc/squid3/cache 30000 16 256 # Tamanho máximo em MB, quantidade de pastas e subpastas.
# Logs de acesso
cache_access_log /var/log/squid3/access.log
Squid.conf
Com o squid é possível o bloqueio ou liberação de acesso a determinados sites, redes,
etc. Para operacionalizar esta função, primeiramente deve-se criar as chamadas ACLs
(Access Control List). As ACLs são criadas no seguinte modelo: acl nome_da_acl opções
acl redelocal src 192.168.1.0/24
ACL
acl all src 0.0.0.0/0.0.0.0
acl redelocal src 192.168.1.0/24
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 21 80 443 563 70 210 280 488 59 777 901 1025-65535
acl sites_proibidos url_regex -i “/etc/squid3/sites_proibidos”
acl redes_sociais dstdomain .facebook.com .youtube.com
acl downloads_proibidos url_regex -i \.exe \.torrent \.avi \.mp3
acl horario_almoco time MTWHF 12:00-13:00
acl manager proto cache_object
acl purge method PURGE
acl CONNECT method CONNEC
Squid.conf - ACL
O Squid lê as regras de cima para baixo, então se quer bloquear algo, primeiro bloqueie o
o que deseja, depois libere o restante. Com a instrução deny, proibimos o acesso e com a
expressão allow liberamos o acesso.
http_access allow redelocal
Bloqueio e permissão
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 deny sites_proibidos
http_access allow redes_sociais horário_almoço
http_access deny redes_sociais
http_access deny downloads_proibidos
http_access allow localhost
http_access allow redelocal
http_access deny all
Squid.conf – http_access
Você pode adicionar uma camada extra de segurança exigindo autenticação no proxy.
Este recurso pode ser usado para controlar quem tem acesso à internet e auditar os
acessos em caso de necessidade.
Autenticação
• Para ativar a autenticação Instale o pacote apache2-utils
• Crie o arquivo para armazenar as senhas: touch /etc/squid3/squid_passwd
• Cadastre os logins com o comando: htpasswd /etc/squid3/squid_passwd usuário
Autenticação
auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd
auth_param basic children 5
auth_param basic realm Digite sua senha
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
acl autenticados proxy_auth REQUIRED
http_access allow autenticados
Squid.conf – Autenticação
Deve-se configurar o proxy nos navegadores de
cada usuário. No Firefox, vá em Opções,
selecione Avançado > Rede e na guia Conexão,
clique em Configurações. Na janela que aparece,
marque a caixa Configuração manual do proxy.
No campo Proxy HTTP, digite o IP do servidor
Proxy ao qual você deseja se conectar e a porta.
Navegador
Relatórios de acesso
Uma das grandes vantagens do Squid é que ele cria o arquivo de log e registra todos os
acessos web. Pode-se analisar e verificar se alguém acessou sites impróprios, horários
de acesso, entre outros.
Sarg
O SARG (Squid Analysis Report Generator) é uma ferramenta que permite ver o que os
usuários da rede estão acessando na Internet através da análise do arquivo de log do
Squid. Ele é responsável por transcrever as informações de acesso existentes e
organizá-las de forma intuitiva para o administrador da rede.
Charset UTF-8 # acentuação
access_log /var/log/squid3/access.log # o caminho do arquivo de log do squid
output_dir /var/www/html/sarg # caminho que irá gerar os relatórios
Sarg.conf
Sarg
Para gerar o relatório basta digitar o comando: sarg
Para acessar o relatório basta abrir a URL: http://ipdoservidor/sarg
Controle de banda
Com o recurso de limite de banda no Squid você pode priorizar a banda para certo grupo
de usuários. Dessa forma não corremos o risco de um diretor da empresa estar
necessitando baixar um e-mail importantíssimo pelo link, enquanto um estagiário puxa o
último episódio de sua minissérie favorita.
Controle de banda
Este controle ocorre somente na navegação e download. Caso os usuários utilizem
algum outro software, via P2P, o Squid não controla.
acl chefes proxy_auth –i “/etc/squid3/chefes”# Cria outra acl com os usuários chefes.
delay_pools 2 # Significa que teremos dois controles de banda
delay_class 1 2 # Primeiro controle
delay_class 2 2 # Segundo controle
# -1/-1 significa que não teremos limites para a delay pool 1
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow chefes
# Limita a sua banda para +- 1024Kbits
delay_parameters 2 131072/131072 131072/131072
delay_access 2 allow autenticados
Squid.conf
O Squid trabalha com bytes;
Um link de 1 megabit (1024 kbits);
(valor em kbits / 8 ) * 1024 = valor em bytes
(1024/8) * 1024 = 131072 bytes
Cálculo
1. Crie um servidor proxy autenticado com controle de banda para downloadsde 128Kb/s para todos os usuários e bloqueie downloads de extensões dotipo executável.
2. Gere o relatório de acessos do usuário e realize um teste de conexão.
Exercícios