firewalls nat proxy

75
Firewalls NAT Proxy Gerencia de Redes Redes de Computadores II *Créditos: baseado no material do Prof. Dr. João Bosco M. Sobral – UFSC e também do Prof João Paulo de

Upload: edie

Post on 24-Feb-2016

102 views

Category:

Documents


0 download

DESCRIPTION

Firewalls NAT Proxy. Gerencia de Redes Redes de Computadores II. *Créditos: baseado no material do Prof. Dr. João Bosco M. Sobral – UFSC e também do Prof João Paulo de Brito Gonçalves – IF/ES. Por que Firewall ?. O mundo respira Internet. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Firewalls NAT Proxy

FirewallsNAT

Proxy

Gerencia de RedesRedes de Computadores II

*Créditos: baseado no material do Prof. Dr. João Bosco M. Sobral – UFSC e também do Prof João Paulo de Brito Gonçalves – IF/ES

Page 2: Firewalls NAT Proxy

Por que Firewall ?• O mundo respira Internet.• A Internet que o mundo respira não é segura.

– 60% : Internet é o principal ponto de invasão.– 78% : ameaças, riscos e ataques tendem a aumentar nos

próximos anos.– 32% : crackers são os principais invasores.– 26% : não conseguem identificar os responsáveis.

Page 3: Firewalls NAT Proxy

Por que Firewall ?

• Internet

Uma imensa rede descentralizada e não gerenciada, rodando sob uma suíte de protocolos denominada IPv4, que não foi projetada para assegurar a integridade das informações e realizar controles de acesso.

Page 4: Firewalls NAT Proxy

Por que Firewall ?

• Existem diversas formas de se violar uma rede, mas essas formas nada mais fazem do que se aproveitar de falhas em serviços de rede e protocolos.

Page 5: Firewalls NAT Proxy

Por que Firewall ?

• Um Firewall não possui a função de vasculhar pacotes a procura de assinaturas de vírus.

• Um Firewall poderá evitar que a rede interna seja monitorada por Trojans e que os mesmos troquem informações com outros hosts na Internet.

• Poderá evitar que a rede interna seja vasculhada por um scanner de portas.

Page 6: Firewalls NAT Proxy

Por que Firewall ?

• Um Firewall poderá especificar que tipos de protocolos e serviços de rede serão disponibilizados, tanto externa quanto internamente.

Page 7: Firewalls NAT Proxy

Por que Firewall ?• Um Firewall pode controlar os pacotes de serviços não

confiáveis: – rlogin, – telnet, – FTP, – NFS, – DNS, – LDAP, – SMTP, – Etc...

Page 8: Firewalls NAT Proxy

Kernel e Firewall

• Tudo o que chega ou sai de um computador é processado pelo kernel do sistema operacional desse computador.

• Nos *nix, as funções de Firewall são agregadas à própria arquitetura do kernel.

Page 9: Firewalls NAT Proxy

Firewall no *inux

• Nos sistemas *nix, não é preciso comprar um Firewall corporativo caríssimo.

• Firewall é open source, gratuito.

Page 10: Firewalls NAT Proxy

• Ipfilter– Firewall originalmente utilizado no OpenBSD,

FreeBSD e Solaris.– Utilizado por muitos administradores por ser

seguro e confiável.

Firewall no BSD, Solaris

Page 11: Firewalls NAT Proxy

• Os firewalls existem no Linux desde o kernel 1.1, com o ipfw, originário do BSD.

• Esse filtro era userspace, ou seja, rodava como um programa comum no sistema, similarmente ao BIND (servidor de nomes).

• Com o kernel 2.0 veio o ipfwadm, que ainda era uma ferramenta userspace e controlava as regras de filtragem do kernel.

•Na versão 2.2 do kernel, veio o ipchains (ainda presente em algumas distribuições) e em 1999, veio o iptables 2, presente a partir do kernel 2.3.15.

Firewall no Linux

Page 12: Firewalls NAT Proxy

Firewall para Linux

• Netfilter e IPTables– kernel 2.4.x – filtragem de pacotes e NAT– IPTables ferramenta de Front-End que permite

configurar o Netfilter.

Page 13: Firewalls NAT Proxy

O iptables é um firewall nativo do Linux e que faz parte do seu kernel e por isto tem um desempenho melhor que firewalls instalados como aplicações. Com isso, ele é bastante seguro e rápido.

Firewall no Linux

Page 14: Firewalls NAT Proxy

• No iptables, existem tabelas de filtragem (chains), e três delas são básicas e não podem ser apagadas: INPUT, OUTPUT e FORWARD.

• A chain INPUT trata dos pacotes de entrada, aqueles que chegam da rede.

• A chain OUTPUT trata dos pacotes de saída, aqueles que vão para a rede.

• E finalmente a chain FORWARD trata do encaminhamento de pacotes, ou seja, roteamento.

Cadeias e política padrão

Page 15: Firewalls NAT Proxy
Page 16: Firewalls NAT Proxy

Funções Netfilter / IPTables

• Filtro de pacotes.• Mascaramento.• QoS sob tráfego.• Suporte a SNAT e DNAT para

redirecionamento de endereços e portas.

Page 17: Firewalls NAT Proxy

Mascaramento• Técnica para colocar toda uma rede interna atrás de um

Firewall, usando-se IP’s inválidos (classe A, 10.0.0.0), no sentido de proteger servidores de invasões.

• Quando têm-se pouquíssimos IP’s e tem-se que disponibilizar o acesso para muitos servidores.

• Habilita uma máquina Firewall a traduzir de um IP válido para n IP’s inválidos internos.

Page 18: Firewalls NAT Proxy

IPTables e Netfilter

• Detecção de fragmentos.• Monitoramento de tráfego.• Regular a prioridade com TOS (Type of Service).• Bloqueio a ataques Spoofing, Syn-Flood, DoS,

scanners ocultos, pings da morte, ...• Opção de utilizar módulos externos para composição

de regras.

Page 19: Firewalls NAT Proxy

19

Síntese IPTables

FlagTabela

ComandoAçãoAlvo

Page 20: Firewalls NAT Proxy

Síntese do IPTables• ...>iptables [flag] [tabela] [comando] [parâmetro] [alvo]

– [flag] : -t

– [tabela] : Uma tabela é uma área na memória para armazenar as regras juntamente com os chains (parâmetros das tabelas).• filter (tabela padrão, default se –t omitido)• nat (-t nat)• mangle (- mangle)

Page 21: Firewalls NAT Proxy

Comandos no IPTables– [comando] : manipula a tabela através das regras e

chains correspondentes.• -A anexa a regra ao fim da lista já existente.• -D apaga a regra especificada.• -L lista as regras existentes na lista.• -P altera a política padrão de uma cadeia de forma que todo pacote desta cadeia ficará sujeito a esta política, caso não exista nenhuma regra anterior que se aplique a mesma..

• -F remove todas as regras, ou remove todas as regras referentes a um determinado chain.

• -I insere uma nova regra, mas no início da lista de regras.

• -R substitui uma regra já adicionada por outra.• -N permite inserir uma nova chain na tabela especificada.

• -E Renomeia uma nova chain criada.• -X apaga uma chain criada pelo administrador do Firewall.

Page 22: Firewalls NAT Proxy

Ações no IPTables– [parâmetro] :

• especifica o protocolo, • as interfaces de rede, • endereço de origem do pacote (IP) e máscara de sub-rede,

• endereço de destino do pacote (IP), • exceção a uma determinada regra, • para onde um pacote pode ser direcionado (alvo),

• aplicar filtros com base na porta de origem,• aplicar filtros com base na porta de destino.

Page 23: Firewalls NAT Proxy

Alvos IPTables

– [alvo] : quando um pacote se adequa a uma regra, ele deve ser direcionado a um alvo e quem especifica é a própria regra. Os alvos aplicáveis são:• ACCEPT• DROP simplesmente descarta, sem aviso• REJECT avisa emissor pacote de resposta• LOG• RETURN• QUEUE• SNAT• DNAT• REDIRECT• TOS

Page 24: Firewalls NAT Proxy

24

Exemplos

Page 25: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -p – especifica o protocolo aplicado à regra. Se enquadra aos protocolos da camada de transporte, como tcp, udp e icmp

• Ex: iptables - A INPUT –p tcp –j ACCEPT

Page 26: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -s – especifica a origem (source) do pacote ao qual a regra deve ser aplicada. A origem pode ser um host ou uma rede. Nesta opção geralmente utilizamos o IP seguido de sua sub-rede:

• Ex: – iptables –A INPUT –s 172.16.53.1 –j DROP– iptables –A INPUT –s 172.16.53.1 –j ACCEPT

• Este comando descarta todo pacote de entrada vindo da origem 172.16.53.1

• O segundo comando aceita todo pacote de entrada vindo da origem 172.16.53.1

Page 27: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -d – especifica o destino do pacote (destination) ao qual a regra deve ser aplicada. Sua utilização se dá da mesma maneira que a ação –s.

• Ex: – iptables –A OUTPUT –d 172.16.53.1 –j DROP– iptables –A OUTPUT –d 172.16.53.1 –j ACCEPT

• Este comando descarta todo pacote de saída com destino à máquina 172.16.53.1

• O segundo comando aceita todo pacote de saída com destino à máquina 172.16.53.1

Page 28: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -i – especifica a interface de entrada a ser utilizada e como um Firewall possui mais de uma interface esta regra acaba sendo muito importante para distinguir a qual interface de rede o filtro deve ser aplicado.

• Ex: – iptables –A INPUT –i eth0 –j DROP

• O comando permite que todo pacote que entra pela interface eth0 seja selecionado para ser descartado pelas regras do firewall.

Page 29: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -o – especifica a interface de saída a ser utilizada e se aplica da mesma forma que a regra –i, mas este parâmetro é menos usado, pois normalmente nos preocupamos em impedir que o firewall aceite conexões em determinadas portas, ao invés de tentar interceptar as respostas.

• Ex: – iptables –A FORWARD –o eth0 –j DROP

• O comando permite que todo pacote que sai pela interface eth0 seja selecionado para ser descartado pelas regras do firewall.

Page 30: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• --sport – porta de origem (source port). Com esta regra é possível aplicar filtros com base na porta de origem do pacote.

• Ex: – iptables –A INPUT –p tcp –-sport 22 –j DROP

• O comando permite que todo pacote de entrada usando o protocolo TCP e com origem na porta 22 seja descartado.

Page 31: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• --dport – porta de destino (destination port) especifica a porta de destino do pacote e funciona de forma similar à regra sport.

• Ex: – iptables –A OUTPUT –p tcp –-dport 22 –j DROP

• O comando permite que todo pacote de saída usando o protocolo TCP e com destino na porta 22 seja descartado.

Page 32: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• -m mac --mac-source – é a regra que permite especificar endereços MAC dentro de regras do iptables. Ele é uma forma de dificultar o uso de endereços IP falseados para ganhar acesso ao servidor, pois permite relacionar o IP ao endereço MAC da placa instalada. Não é 100% eficaz pois o endereço MAC pode ser trocado via ifconfig e ele não é válido para a camada de rede, ou seja, quando sai da rede local, ele é descartado.

• iptables -A INPUT –p tcp --dport 22 –m mac --mac-source 00:1B:24:46:29:88 –j DROP

Page 33: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• Comando faz com que qualquer pacote de entrada com destino na porta 22 advindo da máquina que possua MAC 00:1B:24:46:29:88 seja descartado.

• Ex:– iptables -A INPUT –p tcp --dport 22 –m mac --mac-source

00:1B:24:46:29:88 –j REJECT

• Comando faz com que qualquer pacote de entrada com destino na porta 22 advindo da máquina que possua MAC 00:1B:24:46:29:88 seja rejeitado.

Page 34: Firewalls NAT Proxy

Parâmetros para a filtragem de pacotes

• multiport - com o modulo multiport é possível que especifiquemos múltiplas portas a serem afetadas pela regra, sob o limite máximo de 15.

• EX: – iptables –A INPUT –p tcp –i eth0 –m multiport –-dport 80,25,53,110 –j

DROP• Este comando indica em uma só regra por via de multiport que o

firewall descartará (-J DROP) qualquer pacote que entre pela interface eth0 (-i eth0) destinado às portas 80,25, 53, 110.

Page 35: Firewalls NAT Proxy

Bloqueando domínios• É possível ainda permitir ou bloquear com base no domínio, tanto para entrada

como para saída. Isto permite bloquear sites e programas diretamente a partir do firewall, sem precisar instalar um servidor Squid e configurá-lo.

• Ex:– Iptables –A OUTPUT –d www.site.com –j DROP

• O comando impede que pacotes de saída destinados ao domínio sejam enviados, ou seja, impede que o domínio seja acessado a partir da própria máquina local.

• Originalmente o iptables sabia trabalhar apenas com endereços IP. A possibilidade de criar regras baseadas em domínios são um recurso um pouco mais recente, onde o firewall faz um lookup no domínio, para saber qual o IP atual.

Page 36: Firewalls NAT Proxy

Salvando as regras criadas no Firewall

• Toda regra criada no Iptables fica gravada em memória RAM, sendo posteriormente apagada quando o sistema é ligado ou reiniciado.

• Para que o administrador de redes não seja obrigado a ter que refazer todas as regras de firewall sempre que o sistema é ligado, existe um comando do iptables que possibilita que salvemos as regras criadas em um arquivo, que depois pode ser usado para restaurar as regras no firewall.

• Para então salvar as regras criadas em um arquivo, devemos usar o comando:

iptables-save > nome_do_arquivo

Page 37: Firewalls NAT Proxy

Salvando as regras criadas no Firewall

• Após isto, o arquivo criado terá todas as regras do firewall criadas.

• Em uma próxima ocasião quando o sistema for reiniciado, as regras podem ser restauradas através do comando:

iptables-restore < nome_do_arquivo

• Este comando acessará o arquivo e colocará em memória todas as regras que estavam gravadas no arquivo.

Page 38: Firewalls NAT Proxy

Detalhes de Mangle

Conceituando TOS

Page 39: Firewalls NAT Proxy

Tabela Mangle

• Utilizada para alterações especiais como, modificar o tipo de serviço (ToS) de um pacote IPv4.

Page 40: Firewalls NAT Proxy

Estrutura de um pacote IPv4Versão (4 bits)

Tamanho do Cabeçalho (4bits)Tipo de Serviço (1 byte)

Tamanho Total (4 bytes)Identificação (4 bytes)

Flags (3 bits)Deslocamento do Fragmento (13 bits)

Tempo de Vida (1 byte)Protocolo TCP / UDP / ICMP (1 byte)Checksum do Cabeçalho (4 bytes)Endereço IP de Origem (4 bytes)

Opções + Padding (4 bytes – opcional)Endereço IP de Destino (4 bytes)

Dados TCP / UDP / ICMP (até 65.511 ou 65.515 bytes) Segmentos: TCP ou UDP ou ICMP

Page 41: Firewalls NAT Proxy

Conceito de TOS

• Controle de tráfego destinado a uma máquina ou rede, através do Tipo de Serviço.

• Permite então dizer a um Firewall que qualquer pacote cujo “tipo de serviço” seja, por exemplo, SSH, deve possuir uma prioridade de tráfego “x”, e que outros pacotes cujo “tipo de serviço” seja, por exemplo, “HTTP”, deve possuir prioridade “y”.

Page 42: Firewalls NAT Proxy

Conceito de TOS

• É uma forma de dar controle sobre o tráfego de entrada e saída da rede interna.

• Ao invés de criar regras de bloqueio de tráfego via filtragem de pacotes ou controle de palavras chaves via Proxy, o TOS propicia o controle do tráfego, simplesmente, definindo prioridades para os serviços.

Page 43: Firewalls NAT Proxy

Níveis de Prioridade TOS

Page 44: Firewalls NAT Proxy

Exemplo de regra de TOS

• >iptables –t mangle –A OUTPUT –o eth0 –p tcp –dport 22 –j TOS –set-tos 16

-t mangle : indica uso da tabela “mangle”. -A : inserir esta nova regra ao final da lista

Page 45: Firewalls NAT Proxy

Módulos Externos

• Uma forma de ampliar a funcionalidade da ferramenta IPTables.

• Foge do convencional, aplicando regras que trabalhem sob análise do corpo de um pacote.

• Um módulo é chamado, quando é anunciado pela opção –m <módulo>.

Page 46: Firewalls NAT Proxy

Módulos IPTables

Page 47: Firewalls NAT Proxy

Detalhes de NAT

SNATDNAT

Proxy Transparente

Page 48: Firewalls NAT Proxy

NAT

• É uma forma de mascaramento.• Muito utilizado em roteadores.• Só que desempenha função de encaminhamento de

pacotes (forwarding).• Técnica útil quando se deseja colocar um servidor

Web ou servidor de email, atrás de um Firewall, usando-se IP’s falsos, com intuito de escondê-los contra invasões.

Page 49: Firewalls NAT Proxy

IPTables - Tabela NAT

• Funções de um Firewall NAT– SNAT (Source Nat)

(tradução de endereço IP de origem)

– DNAT (Destination NAT)(tradução de endereço IP de destino)

– Transparent Proxy

Page 50: Firewalls NAT Proxy

Lógica NetFilter (iptables)

Page 51: Firewalls NAT Proxy

Input/Output chain

Page 52: Firewalls NAT Proxy

Forward chain

Page 53: Firewalls NAT Proxy

SNAT

• O Firewall altera o endereço IP ou porta de origem, antes dos pacotes serem enviados.

• O Firewall pode enviar um pacote do host “A” ao host “B” e informar ao host “B” que tal pacote foi enviado pelo host “C”.

Page 54: Firewalls NAT Proxy

SNAT

• Qualquer regra aplicada a SNAT utiliza-se somente da chain POSTROUTING.

• Antes de iniciarmos a manipulação de qualquer regra da Tabela NAT, tem-se que habilitar a função de re-direcionamento (forward) no kernel Linux:

Page 55: Firewalls NAT Proxy

Forward no kernel Linux

• O roteamento em um sistema Linux é nativo do kernel, ou seja, ao iniciar o serviço de rede, o kernel já ativou o roteamento de pacotes. O serviço roda inicialmente de uma forma local, roteando apenas os pacotes da própria máquina. Para que o kernel possa rotear pacotes de outras máquinas é preciso dizer que ele deve fazer isso, que é feito inserindo o valor 1 no arquivo /proc/sys/net/ipv4/ip_forward.

Page 56: Firewalls NAT Proxy

• Verificando o valor de ip_forward# cat /proc/sys/net/ipv4/ip_forward

• Mudando o valor de ip_forward# echo 1 > /proc/sys/net/ipv4/ip_forward

• Verificando o novo valor de ip_forward# cat /proc/sys/net/ipv4/ip_forward

• Também é possível fazer isso, e de uma forma mais adequada, editando-se o arquivo /etc/sysctl.conf.

Forward no kernel Linux

Page 57: Firewalls NAT Proxy

Exemplo 1: SNAT

• >iptables –t nat –A POSTROUTING –s 10.0.3.1 –o eth1 –j SNAT –to 192.111.22.33

• Com IPTables informamos ao Netfilter que atribua à tabela NAT (-t nat) sob o chain (POSTROUTING) (os pacotes devem ser modificados após o tratamento de roteamento).

• Uma nova regra (-A) ao fim da lista.• Qualquer pacote que tenha como origem o host 10.0.3.1 (-s 10.0.3.1) e que deve sair pela interface eth1 (-o eth1) deve ter seu endereço de origem alterado (-j SNAT) para 192.111.22.33 (–to 192.111.22.33).

Page 58: Firewalls NAT Proxy

Exemplo 2: SNAT• >iptables –t nat –A POSTROUTING –s 10.0.3.0/8 –o

eth0 –j SNAT –to 192.111.22.33

• Com IPTables informamos ao Netfilter que atribua à tabela NAT (-t nat) sob o chain (POSTROUTING) (os pacotes devem ser modificados após o tratamento de roteamento).

• Uma nova regra (-A) ao fim da lista.

• Qualquer pacote que tenha como origem o host 10.0.3.0/8 (-s 10.0.3.1/8) e que deve sair pela interface eth0 (-o eth0) deve ter seu endereço de origem alterado (-j SNAT) para 192.111.22.33 (–to 192.111.22.33).

Page 59: Firewalls NAT Proxy

Exemplo 3: SNAT• >iptables –t nat –A POSTROUTING –s 10.0.3.1 –o eth0 –j

SNAT –to 192.111.22.33-192.111.22.66

• Com IPTables informamos ao Netfilter que atribua à tabela NAT (-t nat) sob o chain (POSTROUTING) (os pacotes devem ser modificados após o tratamento de roteamento).

• Uma nova regra (-A) ao fim da lista.• Qualquer pacote que tenha como origem o host 10.0.3.1 (-s

10.0.3.1) e que deve sair pela interface eth0 (-o eth0) deve ter seu endereço de origem alterado (-j SNAT) para qualquer IP na faixa 192.111.22.33 à 192.111.22.66 (–to 192.111.22.33-192.111.22.66).

Page 60: Firewalls NAT Proxy

DNAT

• Altera o endereço IP ou porta de destino, dos pacotes que atravessam o Firewall, antes do pacote ser enviado ao seu destino final.

• Receber um pacote destinado à porta 80 do host “A” e encaminhá-lo à porta 3128 do host “B”.

• Possibilita o desenvolvimento de:– Proxies transparentes, – Balanceamento de carga.

Page 61: Firewalls NAT Proxy

DNAT

• Usar somente o chain PREROUTING.

• Antes de iniciarmos a manipulação de qualquer regra da Tabela NAT, tem-se que habilitar a função de re-direcionamento (forward) no kernel Linux:

>echo “1” > /proc/sys/net/ipv4/ip_forward

Page 62: Firewalls NAT Proxy

Exemplo 1: DNAT• >iptables –t nat –A PREROUTING –s 10.0.3.1

–i eth1 –j DNAT –to 192.111.22.33• Com IPTables informamos ao Netfilter que atribua à tabela

NAT (-t nat) sob o chain (PREROUTING) (os pacotes devem ser redirecionados logo que chegam).

• Uma nova regra (-A) ao fim da lista.• Qualquer pacote que tenha como origem o host 10.0.3.1 (-s 10.0.3.1) e que entre pela interface eth1 (-i eth1) deve ter seu endereço de destino alterado (-j DNAT) para 192.111.22.33 (–to 192.111.22.33)

Page 63: Firewalls NAT Proxy

Exemplo 2: DNAT• >iptables –t nat –A PREROUTING –i eth0 –j

DNAT –to 192.11.22.10-192.11.22.13• Com IPTables informamos ao Netfilter que atribua à tabela

NAT (-t nat) sob o chain PREROUTING (os pacotes devem ser redirecionados logo que chegam).

• Uma nova regra (-A) ao fim da lista.• E que qualquer pacote que entre na interface eth0 (-i eth0),

independente de quem o enviou deve ser automaticamente redirecionado aos hosts 192.11.22.10, 192.11.22.11, 192.11.22.12, 192.11.22.13 (–to 192.11.22.10-192.11.22.13).

Page 64: Firewalls NAT Proxy

Exemplo 3: DNAT• >iptables –t nat –A PREROUTING –i eth2 –j DNAT –to 192.11.22.58:22

• Com IPTables informamos ao Netfilter que atribua à tabela NAT (-t nat) sob o chain PREROUTING (os pacotes devem ser redirecionados logo que chegam).

• Uma nova regra (-A) ao fim da lista.• E qualquer pacote que entre na interface eth2 (–i eth2),

independente de quem o enviou, deve ser automaticamente redirecionado ao host 192.11.22.58 (–to 192.11.22.58:22), e, independente da porta solicitada, deverá ser enviado à porta 22 (serviço SSH).

Page 65: Firewalls NAT Proxy

Proxy

Page 66: Firewalls NAT Proxy

• 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)

Page 67: Firewalls NAT Proxy

• 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.

Proxy (definições)

Page 68: Firewalls NAT Proxy

• 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 mensagens instantaneas e até programas P2P. As vantagens em se utilizar um proxy são basicamente três:

Proxy e o browser

Page 69: Firewalls NAT Proxy

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.

Proxy - Funções

Page 70: Firewalls NAT Proxy
Page 71: Firewalls NAT Proxy

- 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.

- 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.

Modalidades de Proxy

Page 72: Firewalls NAT Proxy

Proxy Transparente

• Transparente: “parece não existir, mas existe”.

• Redireciona portas em um mesmo host de destino.

• Não confundir com DNAT, que altera o endereço de destino de pacotes de uma máquina A para uma máquina B, através do Firewall. Redireciona IP’s.

Page 73: Firewalls NAT Proxy

Exemplo: Proxy-Cache Squid

• Squid tem por padrão disponibilizar consultas Web através da porta 3128, enquanto que a maioria dos clientes Web costumam realizar solicitações à porta 80 (padrão HTTP).

• Com Firewall IPTables + Squid numa mesma máquina Linux, o Proxy Transparente pode ser configurado.

Page 74: Firewalls NAT Proxy

Firewall + Proxy

Iptables

Page 75: Firewalls NAT Proxy

Firewall como Proxy Transparente• >iptables –t nat –A PREROUTING –i eth0

–p tcp –dport 80 –j REDIRECT –to-port 3128

• Com IPTables informamos ao Netfilter que atribua à tabela NAT (-t nat) sob o chain PREROUTING (os pacotes devem ser redirecionados logo que chegam).

• Uma nova regra (-A) ao fim da lista.• E qualquer pacote que entre na interface eth0 (–i eth0) e

encaminhado à porta 80 (–dport 80) deve ser imediatamente redirecionado (–j REDIRECT) à porta 3128 deste mesmo host (–to-port 3128).