Professor: João Paulo de Brito Gonçalves Campus Cachoeiro Curso Técnico em Informática



Documentos relacionados
Servidor proxy - Squid PROFESSOR : RENATO WILLIAM

5/7/2010. Apresentação. Web Proxy. Proxies: Visão Geral. Curso Tecnologia em Telemática. Disciplina Administração de Sistemas Linux

Segurança de Redes. Aula extra - Squid. Filipe Raulino filipe.raulino@ifrn.edu.br

Sarg Proxy transparente

Administração de Sistemas Operacionais

Curso de extensão em Administração de redes com GNU/Linux

Prof. Samuel Henrique Bucke Brito

SQUID Linux. Rodrigo Gentini

Pré-requisitos e passos iniciais. Topologia visual

Entendendo como funciona o NAT

Projeto e Instalação de Servidores Servidores Linux Aula 6 Firewall e Proxy

Depois que instalamos o Squid vamos renomear o arquivo de configuração para criarmos um do zero.

Prof. Roberto Franciscatto 4º Semestre - TSI - CAFW. Free Powerpoint Templates Page 1

Tutorial Servidor Proxy com Squid baseado em Linux Acadêmicos : Felipe Zottis e Cleber Pivetta. Servidor Proxy

Instalação e Configuração Iptables ( Firewall)

IPTABLES. Helder Nunes

Firewall. Tutorial Firewall em Linux Acadêmicos: Felipe Zottis e Cleber Pivetta

Segurança de Redes. Firewall. Filipe Raulino

Segurança em Sistemas de Informação

SERVIDOR PROXY COM SQUID3 em GNU/Linux Debian7 Por: Prof. Roitier Campos Gonçalves

Prática NAT/Proxy. Edgard Jamhour. Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.

4. Abra o prompt de comando acesse o diretório c:\squid\sbin e digite os comandos abaixo:


Procedimento para instalação do OMNE-Smartweb em Raio-X

Linux Network Servers

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

III WTR do POP-BA III Workshop de Tecnologias de Redes Ponto de Presença da RNP na Bahia Instrutor: Ibirisol Fontes Monitor: Jundaí Abdon.

Elaboração de Script de Firewall de Fácil administração

Prof. Samuel Henrique Bucke Brito

Obs: Endereços de Rede. Firewall em Linux Kernel 2.4 em diante. Obs: Padrões em Intranet. Instalando Interface de Rede.

Arquitetura de Rede de Computadores

Configurando um servidor DHCP

Nesse artigo abordaremos os principais aspectos de instalação e uso do NTOP no Fedora Core 4.

Iptables. Adailton Saraiva Sérgio Nery Simões

Edital 012/PROAD/SGP/2012

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

Disciplina: Fundamentos de serviços IP Alunos: Estevão Elias Barbosa Lopes e Leonardo de Azevedo Barbosa

Na Figura a seguir apresento um exemplo de uma "mini-tabela" de roteamento:

Curitiba, Novembro Resumo

MANUAL DO ADMINISTRADOR

GUIA PRÁTICO DE INSTALAÇÃO

Manual Captura S_Line

Curso de extensão em Administração de sistemas GNU/Linux: redes e serviços

Relatório SQUID e SAMBA. Instalação e Configuração de Servidores de Rede

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Administração do Windows Server 2003

MANUAL DE CONFIGURAÇÃO

Administração de Sistemas Operacionais. Prof. Marlon Marcon

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

Uso do iptables como ferramenta de firewall.

Curso Firewall. Sobre o Curso de Firewall. Conteúdo do Curso

Endereçamento Privado Proxy e NAT. 2008, Edgard Jamhour

Sistema de Chamados Protega

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

Manual Administrador - Mídia System

01 - Entendendo um Firewall. Prof. Armando Martins de Souza armandomartins.souza@gmail.com

Procedimentos para Reinstalação do Sisloc

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Omega Tecnologia Manual Omega Hosting

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

GLADIADOR INTERNET CONTROLADA v

Lista de Erros Discador Dial-Up

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

GUIA RÁPIDO. DARUMA Viva de um novo jeito

Comandos Linux Comando tcpdump, guia de referência e introdução. Sobre este documento

Autor: Armando Martins de Souza <armandomartins.souza at gmail.com> Data: 12/04/2010

Senha Admin. Nessa tela, você poderá trocar a senha do administrador para obter acesso ao NSControl. Inicialização

OneDrive: saiba como usar a nuvem da Microsoft

GUIA DE CONFIGURAÇÃO FILTRO DE URL

DarkStat para BrazilFW

Índice. Manual Backup Online. 03 Capítulo 1: Visão Geral

ADMINISTRAÇÃO DE REDES I LINUX. Firewall. Frederico Madeira LPIC 1, CCNA fred@madeira.eng.br

AS VERSÕES DESCRIÇÃO DAS FUNÇÕES

Segurança Informática e nas Organizações. Guiões das Aulas Práticas

Sistema Operacional Unidade 12 Comandos de Rede e Acesso Remoto

Roteador Load-Balance / Mikrotik RB750

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Segurança em Sistemas de Informação. Agenda. Conceitos Iniciais

Firewalls, um pouco sobre...

SPARK - Comunicador Instantâneo MANUAL DO USUÁRIO

Professor Claudio Silva

Configurando o IIS no Server 2003

Aula-19 NAT, IP Móvel e MPLS. Prof. Dr. S. Motoyama

SISTEMA DE PRODUTOS E SERVIÇOS CERTIFICADOS MÓDULO DO CERTIFICADOR

Configurando o DDNS Management System

Servidor, Proxy e Firewall. Professor Victor Sotero

Squid autenticando em Windows 2003 com msnt_auth

Segurança com Iptables

Manual do Usuário Cyber Square

MANUAL DE UTILIZAÇÃO

Proxy. Krishna Tateneni Tradução: Lisiane Sztoltz Tradução: Marcus Gama

Atualizado em 9 de outubro de 2007

Configuração de um servidor FTP. Campus Cachoeiro Curso Técnico em Informática

Servidor Proxy. Firewall e proxy

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

SISTEMAS OPERACIONAIS LIVRES. Professor Carlos Muniz

Transcrição:

Proxy SQUID Professor: João Paulo de Brito Gonçalves Campus Cachoeiro Curso Técnico em Informática

Proxy (definições) O objetivo principal de um servidor proxy é possibilitar que máquinas de uma rede privada possam acessar uma rede pública, como a Internet, sem que para isto tenha uma ligação direta com esta. O servidor proxy costuma ser instalado em uma máquina que tenha acesso direto à Internet, sendo que as demais efetuam as solicitações através desta.

Proxy (definições) Justamente por isto que este tipo de servidor é chamado de proxy, pois é um procurador, ou seja, sistema que faz solicitações em nome de outros. O proxy SQUID é como um burocrata que não se limita a simplesmente repassar as requisições: ele analisa todo o tráfego de dados, separando o que pode ou não pode passar e guardando as informações para uso posterior, de forma semelhante à um firewall.

Configuração de um proxy no navegador A configuração de um proxy muda de navegador para navegador, mas é necessária para que o navegador consiga se conectar através do proxy nos servidores WEB. Além do navegador, outros programas podem ser configurados para trabalharem através do proxy: clientes de SKYPE e até programas P2P. As vantagens em se utilizar um proxy são basicamente três:

Proxy - Funções 1) É possível impor restrições de acesso com base no horário, login, endereço IP da máquina e outras informações e bloquear páginas com conteúdo indesejado. 2) O proxy funciona como um cache de páginas e arquivos, armazenando informações já acessadas. Quando alguém acessa uma página que já foi carregada, o proxy envia os dados que guardou no cache, sem precisar acessar a mesma página repetidamente. 3) É possível logar todos os acessos feitos através do proxy, sendo possível visualizar os acessos posteriormente utilizando o Sarg.

Modalidades de Proxy - Proxy Transparente é um proxy onde não é necessário configurar o navegador para apontar para o seu endereço, pois através de uma regra do iptables, todo o tráfego direcionado para a porta 80 é redirecionado para a porta 3128. - Proxy não-transparente é o proxy padrão, onde é necessário configurar o navegador, para que ele possa acessar o proxy e se conectar através dele. Sem esta configuração, é impossível acessar a Web se o computador onde está o proxy é o único ponto de conexão com a Internet na rede.

Instalando o SQUID O SQUID é composto de um único pacote, por isso a instalação é simples. Toda a configuração do SQUID é feita em um único arquivo, o /etc/squid3/squid.conf. O arquivo original, instalado junto com o pacote, é realmente enorme, Roteador contém comentários e exemplos para quase todas as opções disponíveis.

Arquivo de configuração básico http_port 3128 visible_hostname nome_da_maquina acl localhost src 127.0.0.1 acl all src all http_access allow localhost http_access deny all Estas linhas são suficientes para o que Squid funcione. As linhas dizem o seguinte: Roteador

Arquivo de configuração básico http_port 3128 a porta onde o servidor Squid vai ficar disponível. A porta 3128 é o padrão. visible_hostname nome_da_maquina o nome do servidor, o mesmo que foi definido na configuração da rede. acl localhost src 127.0.0.1 e http_access allow localhost: estas duas linhas criam uma ACL(uma política de acesso) chamada localhost, que se refere ao endereço da interface de loopback da máquina. Ele permite que a máquina local use o proxy sem restrições.

Arquivo de configuração básico acl all src all e http_access deny all: estas duas linhas criam uma ACL(uma política de acesso) chamada all, incluindo todos os endereços IP possíveis. Esta regra faz com que qualquer máquina que não tenha sido permitida anteriormente seja bloqueada. Ou seja, esta regra faz com que qualquer máquina que não seja o localhost tenha o seu acesso bloqueado pelo proxy.

Arquivo de configuração básico Configure o seu navegador usando o endereço IP 127.0.0.1 para usá-lo como proxy, com a porta 3128, e teste a conexão. Se tudo estiver ok, você conseguirá acessar o proxy através do servidor proxy instalado na sua máquina local.

ACLs O controle de acesso do squid tem recursos suficientes para definir com precisão quais tipos de serviços podem ser acessados por quais máquinas e em quais horários. As regras da lista de controle de acesso (ACLs) têm uma sintaxe bastante simples, e são incluídas no arquivo squid.conf.

Tipos de Elementos de ACL http_access: permite clientes HTTP (browsers) acessarem a porta HTTP. Esta é a ACL primária e serve de base para permitir ou negar o acesso de todas as outras. - allow permite o acesso à ACL - deny nega o acesso à ACL

Tipos de Elementos de ACL src endereço IP de origem (cliente). dest endereço IP do destino (servidor). Exemplo: acl redelocal src 172.16.48.0/255.255.240.0 http_access deny redelocal Bloqueia qualquer acesso de qualquer máquina. acl usuario_ofensor src 10.0.0.95 http_access deny usuario_ofensor Bloqueia o acesso da máquina 10.0.0.95.

Tipos de Elementos de ACL srcdomain um domínio de origem(cliente) dstdomain um domínio de destino(servidor). Exemplo: acl bloqueados dstdomain www.orkut.com http_access deny bloqueados Foi criada uma acl bloqueados que contém o endereço www.orkut.com e em seguida foi incluída a regra para bloquear o acesso ao domínio.

Tipos de Elementos de ACL url_regex: comparação de um URL baseada em expressão regular. Exemplo: acl proibir_cracker url_regex cracker http_access deny proibir_cracker Impede que qualquer usuário acesse páginas que contenham a palavra cracker na URL.

Tipos de Elementos de ACL Um tipo de bloqueio útil em muitas situações é com relação a formatos de arquivos. Você pode querer bloquear o download de arquivos.exe ou.sh para dificultar a instalação de programas nas estações, ou bloquear arquivos.avi ou.wmv para economizar banda da rede, por exemplo. Neste caso, você pode usar a regra a seguir, especificando as extensões de arquivo desejadas. Ela utiliza o parâmetro "url_regex" dessa vez procurando pelas extensões de arquivos especificadas: acl extban url_regex -i \.avi \.exe \.mp3 \.torrent http_access deny extban

Tipos de Elementos de ACL -Time permite especificar hora do dia e dia da semana que se deseja proibir ou permitir o acesso à Internet. Exemplo: acl madrugada time 00:00-06:00 http_access deny madrugada Acl almoco time 12:00 14:00 http_access deny almoco Proxy irá bloquear acessos feitos de madrugada ou no horário de almoço.

Tipos de Elementos de ACL -Para bloquear dias da semana específicos temos a tabela: acl expediente time MTWHF 09:00-18:00 http_access allow expediente acl final_de_semana time SA 8:00-13:00 http_access deny final_de_semana

Tipos de Elementos de ACL Proto Protocolo de transferência Exemplo: acl manager proto cache_object http_access allow manager Roteador Permite que o cache de objetos seja acessado.

Tipos de Elementos de ACL Port número de porta de destino (servidor) Exemplo: acl safe_port port 21 http_access allow safe_port Permite o acesso à Roteador porta 21 de destino no servidor passando pelo proxy.

Tipos de Elementos de ACL Arp permite filtrar o acesso por MAC Adress. Exemplo: Acl mac arp 00:11:22:33:44:55 http_access deny mac Roteador Bloqueia qualquer pacote vindo da máquina com endereço MAC 00:11:22:33:44:55

Parâmetros de Configuração cache_mem configura o tamanho de memória RAM que será usado como cache. É interessante configurar uma cache em memória principal, pois a leitura em disco é um processo muito mais demorado. Exemplo: cache_mem 128 MB cache_dir - permite definir em quais diretórios serão armazenados os objetos, ou seja, especifica o cache em disco a ser utilizado. É necessário especificar o tipo de sistema de arquivos a ser utilizado no armazenamento. Atualmente o tipo que pode ser utilizado com segurança é o ufs. Exemplo: cache_dir ufs /var/spool/squid3 2048 16 256

Parâmetros de Configuração maximum_object_size_in_memory determina o tamanho máximo dos arquivos que serão guardados no cache feito na memória RAM (o resto vai para o cache feito no HD). O cache na memória é muito mais rápido, mas é interessante deixá-lo para arquivos menores, pois seu tamanho é reduzido. maximum_object_size_in_memory 64 MB maximum_object_size minimum_object_size configuração da cache em disco, que armazenará os arquivos maiores. Por padrão o máximo são downloads de 256 MB e o mínimo é zero, o que faz com que mesmo imagens e arquivos pequenos sejam armazenados no cache.

Parâmetros de Configuração cache_access_log define o arquivo onde serão guardados os logs de acesso do SQUID. Por padrão, o SQUID guarda o log de acesso no arquivo /var/log/squid3/access.log. Caso a lista de domínios permitidos ou bloqueados se torne grande demais, pode-se optar por criar um arquivo de sites negados ou sites permitidos e referenciá-lo no arquivo de configuração. Exemplo: acl permitidos url_regex i /etc/squid3/permitidos http_access allow permitidos acl bloqueados url_regex i /etc/squid3/bloqueados http_access deny bloqueados

Parâmetros de Configuração Mais uma configuração que você pode querer alterar é o padrão de atualização do cache. Estas três linhas precisam sempre ser usadas em conjunto, ou seja, você pode alterá-las, mas sempre as três precisam estar presentes no arquivo. Eliminando uma, o Squid ignora as outras duas e usa o default. Os números indicam o intervalo (em minutos) que o Squid irá aguardar antes de verificar se um item do cache (uma página, por exemplo) foi atualizado, para cada um dos três protocolos.

Parâmetros de Configuração O primeiro número (o 15) indica que o Squid verificará (a cada acesso) se as páginas e arquivos com mais de 15 minutos foram atualizados. Ele faz uma verificação rápida, checando o tamanho do arquivo e, se o arquivo não mudou, ele continua fornecendo aos clientes o arquivo que está no cache, economizando banda da conexão O terceiro número (o 2280, equivalente a dois dias) indica o tempo máximo, depois do qual o objeto é sempre verificado. Além do http e ftp, o Squid suporta o protocolo gopher, que era muito usado nos primórdios da internet para localizar documentos de texto, mas perdeu a relevância hoje em dia.

Parâmetros de Configuração - Desta forma, os parâmetros ficariam da seguinte forma na configuração: refresh_pattern ^ftp: 15 20% 2280 refresh_pattern ^gopher: 15 0% 2280 refresh_pattern. 15 20% 2280

Parâmetros de Configuração - Caso você queira reiniciar o cache do SQUID, pode usar o comando: squid3 z - Em alguns casos, principalmente quando existem usuários acessando a Internet, reiniciar o proxy pode gerar transtornos desconectando estes usuários temporariamente da Internet. Para solucionar o problema, pode-se após realizar alguma alteração na configuração utilizar o comando service squid reload - Este comando atualiza a configuração do SQUID sem precisar reiniciá-lo.

Proxy Autenticado 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. Quase todos os navegadores oferecem a opção de salvar a senha, de modo que o usuário precisa digitá-la apenas uma vez a cada sessão. A forma mais simples de implementar autenticação no Squid é usando o módulo basic_ncsa_auth", que faz parte do pacote principal. Ele utiliza um sistema simples, baseado em um arquivo de senhas, onde você pode cadastrar e bloquear os usuários rapidamente.

Proxy Autenticado Para criar o arquivo de senhas, precisamos do script "htpasswd". Nas distribuições derivadas do Debian ele faz parte do pacote apache2-utils, que você pode instalar via apt-get: # apt-get install apache2-utils Em seguida, crie o arquivo que será usado para armazenar as senhas, usando o comando "touch" (que simplesmente cria um arquivo de texto vazio): # touch /etc/squid3/squid_passwd O próximo passo é cadastrar os logins usando o htpasswd, especificando o arquivo que acabou de criar e o login que será cadastrado, como em: # htpasswd /etc/squid3/squid_passwd gdh

Proxy Autenticado Depois de terminar de cadastrar os usuários, adicione as linhas que ativam a autenticação no squid.conf: auth_param basic realm Squid auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/squid_passwd acl autenticados proxy_auth REQUIRED http_access allow autenticados O "auth_param basic realm Squid" indica o nome do servidor, da forma como ele aparecerá na janela de autenticação dos clientes; esta é na verdade uma opção meramente estética. O "/usr/lib/squid3/ncsa_auth" é a localização da biblioteca responsável pela autenticação.

Proxy Autenticado Estas quatro linhas criam uma acl chamada "autenticados" (poderia ser outro nome), que contém os usuários que se autenticarem usando um login válido. Estas linhas devem ser colocadas antes de qualquer outra regra que libere o acesso, já que, se o acesso é aceito por uma regra anterior, ele não passa pela regra que exige autenticação.

Proxy Transparente Um dos principais problemas de usar um proxy é que você precisa configurar manualmente cada micro da rede para utilizá-lo, o que é um trabalho cansativo e tedioso, sobretudo em grandes redes. O Squid responde a este desafio com a possibilidade de criar um proxy transparente, onde o proxy se integra a uma rede já existente, acelerando a conexão, mas sem precisar de qualquer configuração nos clientes.

Proxy Transparente Basta substituir a linha http_port 3128 por http_port 3128 transparent Ou seja, na verdade você precisa apenas adicionar o "transparent", para que o Squid passe a entender as requisições redirecionadas pela regra do firewall.

Network Adress Translation(NAT) NAT (Network Address Translation), ou tradução de endereço de rede, é uma técnica que altera os endereços de um pacote, e altera os pacotes de forma inversa. O NAT tem três utilidades básicas: o SNAT, O DNAT e proxy transparente. O SNAT ou Source-NAT, consiste em alterar o endereço de origem dos pacotes. A principal utilização do SNAT é o Masquerading, ou mascaramento de IPs, permitindo o compartilhamento de um único endereço IP válido com acesso à internet com uma rede de IPs não-válidos.

NAT: Network Address Translation resto da Internet 138.76.29.7 10.0.0.4 rede local (e.x., rede caseira) 10.0.0/24 10.0.0.1 10.0.0.2 10.0.0.3 Todos os datagramas deixando a rede local têm o mesmo único endereço IP NAT origem: 138.76.29.7, e diferentes números de porta origem Datagramas com origem ou destino nesta rede usam endereços 10.0.0/24 para origem e destino (como usual)

NAT: Network Address Translation Motivação: a rede local usa apenas um endereço IP, no que concerne ao mundo exterior: não há necessidade de alocar faixas de endereços do ISP: apenas um endereço IP é usado para todos os dispositivos pode modificar endereços de dispositivos na rede local sem notificar o mundo exterior pode trocar de ISP sem mudar os endereços dos dispositivos na rede local dispositivos dentro da rede local não são explicitamente endereçáveis, i.e., visíveis do mundo exterior (um incremento de segurança)

NAT: Network Address Translation Implementação: um roteador NAT deve: datagramas saindo: trocar (IP origem, # porta) de cada datagrama saindo para (IP NAT, novo # porta)... clientes/servidores remotos vão responder usando (IP NAT, novo # porta) como endereço destino. lembrar (na tabela de tradução NAT) cada par de tradução (IP origem, # porta ) para (IP NAT, novo # porta) datagramas entrando: trocar (IP NAT, novo # porta) nos campos de destino de cada datagrama entrando para o (IP origem, # porta) correspondente armazenado na tabela NAT

NAT: Network Address Translation 2: roteador NAT muda end. origem do datagrama de 10.0.0.1, 3345 p/ 138.76.29.7, 5001, e atualiza tabela Tabela de tradução NAT end. lado WAN end. lado LAN 138.76.29.7, 5001 10.0.0.1, 3345 O: 10.0.0.1, 3345 D: 128.119.40.186, 80 1: host 10.0.0.1 envia datagrama p/ 128.119.40.186, 80 10.0.0.1 2 O: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 1 10.0.0.2 138.76.29.7 O: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: Resposta chega p/ end. destino: 138.76.29.7, 5001 O: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 10.0.0.3 4: roteador NAT muda end. destino do datagrama de 138.76.29.7, 5001 p/ 10.0.0.1, 3345

NAT: Network Address Translation campo do número de porta com 16-bits: 60.000 conexões simultâneas com um único endereço no lado WAN! NAT é controverso: roteadores deveriam processar somente até a camada 3 viola o argumento fim-a-fim possibilidade do uso de NAT deve ser levado em conta pelos projetistas de aplicações (p.e., P2P) escassez de endereços, por outro lado, deveria ser resolvida com o IPv6

Source-NAT O SNAT é feito na chain POSTROUTING, da tabela nat. Ou seja, a alteração no endereço de origem do pacote é a última coisa a ser feita antes de ele ser enviado para a Internet. POSTROUTING refere-se a pacotes que serão modificados na saída do firewall, ou seja, é uma chain que pode conter regras que alteram o endereço de origem do pacote que entra em uma condição definida pelo administrador e, após atravessar e sair do firewall o pacote passa a ter um novo cabeçalho "mascarando" a origem do mesmo.

Source-NAT Este tipo de cadeia pertence à tabela NAT e portanto não trata pacotes com destino a serviços instalados e em execução no próprio firewall, agindo em pacotes com destino à rede externa. O target do pacote deve ser SNAT, e o endereço de saída é especificado pelo parâmetro --to-source <endereço-de-saída>.também pode ser especificada uma faixa de IPs ou endereços discretos. Exemplo: iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth0 -j SNAT --to-source 20.13.25.3

Source-NAT Existe uma modalidade de SNAT chamada Masquerading, especialmente útil para fazer SNAT em conexões com IP dinâmico (DHCP, linha discada), que é feita usando como target MAQUERADE e especificando a interface de saída. # iptables -t nat -A POSTROUTING -s 192.168.4.0/24 \ -o ppp0 -j MASQUERADE

Destination-NAT O Destination-NAT ou DNAT é feito na chain PREROUTING, também da tabela nat. Nesta cadeia, as alterações no pacote serão feitas antes de qualquer roteamento. Para fazer DNAT, é necessário especificar o target DNAT, o novo endereço de destino, com o parâmetro --to-destination <endereço-de-destino>. Podem ser especificados também a interface de entrada. Também é possível fazer redirecionamento de porta usando DNAT, o que permite que um computador da rede externa acesse um serviço executando em uma máquina da rede local, sendo redirecionado pelo firewall.

Destination-NAT O PREROUTING trata o pacote antes deste entrar no roteamento do servidor e portando pode ter o destino do pacote modificado. Sintaxe: iptables -A PREROUTING -t nat -p tcp -- dport portaexterna -i interface -j DNAT todestination maquinainterna:portainterna Exemplo: iptables A PREROUTING t nat p tcp --dport 21 i eth0 j DNAT --to-destination 192.168.1.2:21

Destination-NAT

Proxy Transparente Ao usar um proxy transparente, você tem basicamente uma conexão compartilhada via NAT, com a mesma configuração básica nos clientes. O proxy entra na história como um adicional. Uma regra de firewall envia as requisições recebidas na porta 80 do servidor para o proxy, que se encarrega de responder aos clientes. Proxy transparente é a forma que a tabela NAT possui de realizar um redirecionamento de portas em um mesmo computador de destino.

Proxy Transparente e Iptables Logo, podemos concluir que o proxy-cache SQUID faz um redirecionamento das portas solicitadas por seus clientes, uma vez que os mesmos solicitam conexão via porta 80 e são redirecionados à porta 3128. Utilizamos então para esta finalidade as cadeias PREROUTING da tabela NAT, tal como o alvo REDIRECT no iptables.

Proxy Transparente e iptables Então o comando do iptables que deve ser usado é: iptables -t nat -A PREROUTING -i eth0 -p tcp -- dport 80 -j REDIRECT --to-port 3128 Onde: iptables -> chama o firewall iptables. -t nat carrega a tabela nat para a o uso na regra -A PREROUTING usa a cadeia PREROUTING da tabela nat para criar uma regra -i eth0 -> seleciona a interface da rede eth0, por onde os pacotes com destino à Internet entram

Proxy Transparente e iptables -p tcp -> indica que o protocolo da camada de transporte usado será o tcp --dport 80 -> indica que a porta de destino dos pacotes será a porta 80(tráfego web) -j REDIRECT -> indica a ação a ser aplicada à regra, no caso um redirecionamento. --to-port 3128 -> indica a porta para a qual será redirecionado o tráfego com destino na porta 80.

SARG O Sarg é um interpretador de logs para o Squid. Sempre que executado, ele cria um conjunto de páginas, divididas por dia, com uma lista de todas as páginas que foram acessadas e a partir de que máquina da rede veio cada acesso. Caso você tenha configurado o Squid para exigir autenticação, ele organiza os acessos com base nos logins dos usuários. Caso contrário, ele mostra os endereços IP das máquinas.

SARG Os acessos são organizados por usuário (caso esteja sendo usada autenticação) ou por IP, mostrando as páginas acessadas por cada um, quantidade de dados transmitidos, tempo gasto em cada acesso, tentativas de acesso bloqueadas pelos filtros de conteúdo e outras informações. Além disso, ele faz um demonstrativo dos sites mais acessados pelos usuários do proxy.

SARG O Sarg é incluído na maioria das distribuições atuais, em alguns casos instalado por padrão junto com o Squid. No Debian e derivados ele pode ser instalado com um: # apt-get install sarg

SARG Depois de instalado, chame o comando "sarg" (como root) para que os relatórios sejam gerados automaticamente a partir do log do Squid O Sarg não é um daemon que fica residente, você precisa apenas chamá-lo quando quiser atualizar o relatório. Após chamado, os relatórios gerados pelo SARG ficam por padrão em /var/lib/sarg

SARG Para criar os relatórios do SARG é necessário acessar o arquivo de configuração em /etc/sarg/sarg.conf. Dois parâmetros devem ser configurados: access log /var/log/squid3/access.log Para configurar o arquivo de log do SQUID que será usado para gerar os relatórios output_dir /var/www/squid-reports Para que os relatórios do SARG geram gerados dentro de /var/www e podem ser visualizados através do APACHE

Configurações Adicionais - Você pode definir ainda a percentagem de uso do cache que fará o SQUID começar a descartar os arquivos mais antigos. Por padrão, sempre que o cache atingir 95% de uso, serão descartados arquivos antigos até que a percentagem volte para um número abaixo de 90%. cache_swap_low 90 cache_swap_high 95

Configurações Adicionais - Você pode modificar a mensagem de erro no seu proxy para Português usando dentro do arquivo de configuração a linha: error_directory /usr/share/squid3/errors/pt-br Você pode ainda personalizar as páginas de erro editando os arquivos dentro da pasta /usr/share/squid3/erros/pt_br ou /usr/share/squid3/erros/english (de acordo com a língua definida na configuração). A pasta contém vários arquivos html, um para cada tipo de erro indicado.