A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "2008, Edgard Jamhour Endereçamento Privado Proxy e NAT."— Transcrição da apresentação:

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

2 2008, Edgard Jamhour Motivação para o Endereçamento IP Privado Crescimento do IPv4  07/2007490 milhões de hosts  01/2008542 milhões de hosts  IPv4 permite endereçar 32 bilhões de hosts. PREVISÃO DE ESGOTAMENTO = 1994

3 Autoridades de Registro de Endereço IANA ARINRIPE NCCAfriNICLACNICAPNIC América do Norte Europa, Oriente e Asia Central AfricaAmérica Latina e Caribe Ásia e Pacífico

4 Endereços Privados: RFC 1918 PrefixoFaixa de EndereçosDescrição 10.0.0.0/810.0.0.0 a 10.255.255.255 Uma rede de endereços classe A. 172.16.0.0/12172.16.0.0 a 172.31.255.255 16 redes contíguas de endereços classe B. 192.168.0.0/16192.168.0.0 a 192.168.255.255 256 redes contíguas de endereços classe C.

5 Tipos de Hosts (RFC 1918) categoria I categoria III categoria II NAT tradutor de IP IPv4

6 Roteador Interno e Gateway Default 1 2 ip publico ip privado ip publico gateway default (não roteia IP privado) (roteador interno) roteia IP privado ip publico ip privado IPv4

7 Endereços e Roteamento 1 2 200.0.0.2200.0.0.3 192.168.0.2192.168.0.3 200.0.0.4 192.168.0.0/24 via direta 200.0.0.0/24 via direta 200.0.0.1 192.168.0.1 0.0.0.0/0 via provedor 200.0.0.0/24 via direta IPv4

8 Hosts Categoria 2 1 2 200.0.0.2200.0.0.3 192.168.0.2192.168.0.3 200.0.0.4 192.168.0.0/24 via direta 200.0.0.0/24 via direta 200.0.0.1 192.168.0.1 0.0.0.0/0 via provedor 200.0.0.0/24 via direta roteador com NAT se ip_origem = 192.168.0.0/24 traduzir para 200.1.0.1 200.1.0.1 IPv4

9 2008, Edgard Jamhour Tradutores de Endereço Implementados ao nível das funções de Roteamento:  NAT (Network Address Translation)  NAPT (Network Address and Port Translation). Implementados com servidores:  Proxy de Aplicação  Proxy Socks.

10 2008, Edgard Jamhour NAT e NAPT IP privado1 IP privado2 IP privado3 IP público2 IP público 1 IP público3 IP privado1 IP privado2 IP privado3 NAT NAPTIP público1 :Porta 1 IP público1 :Porta 2 IP público1 :Porta 3

11 2008, Edgard Jamhour Tipos de Mapeamento NAT NAT (Network Address Translation)  Converte apenas endereços IP  Efetua mapeamentos de um-para-um  Cada endereço IP privado é mapeado em um endereço IP público distinto. NAPT (Network Address and Port Translation)  Utiliza informações das porta de transporte (TCP ou UDP)  Efetua mapeamentos de um-para-muitos.  Múltiplos endereços privados podem ser mapeados em um único endereço IP público.

12 2008, Edgard Jamhour Mapeamento Estático e Dinâmico Estático:  Os mapeamentos são definidos previamente, de maneira que um dado endereço IP privado está sempre mapeado em um mesmo IP público Dinâmico.  Os mapeamentos são configuradas dinamicamente, quando um novo fluxo é detectado.  Os mapeamentos dinâmicos são temporários, sendo automaticamente desfeitos quando o IP privado deixa de ser utilizado por muito tempo.

13 2008, Edgard Jamhour SNAT e DNAT Pré-Roteamento [DNAT] Pós-Roteamento [SNAT] roteamento Interface de Entrada Interface de Saída decisão sobre o encaminhamento do pacote

14 2008, Edgard Jamhour Source NAT e Destination NAT Source NAT: SNAT  Altera o endereço de origem do pacote  É implementado após a ação de roteamento (pós- roteamento). Masquerading Destination NAT: DNAT  Altera o endereço de destino do pacote  É implementado antes do roteamento (pré- roteamento). Redirecionamento de Portas Balanceamento de Carga Proxies transparentes

15 2008, Edgard Jamhour SNAT: Network Address Translation IPv4 Privado 192.168.0.2 210.0.0.1 to 210.0.0.10 192.168.0.260.1.2.3checksum1 IPv4 Network 60.1.2.3 192.168.0.2 = 210.0.0.1 192.168.0.3 = 210.0.0.2 1 210.0.0.160.1.2.3checksum22 60.1.2.3210.0.0.1checksum33 60.1.2.3192.168.0.2checksum44 192.168.0.3 tabela de mapeamento 192.168.0.1

16 2008, Edgard Jamhour NAT (IPTABLES) SNAT para endereço fixo:  iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 210.0.0.1 SNAT com pool de endereços:  iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 210.0.0.1-210.0.0.10 Masquerading efetua o mapeamento ao IP atribuído a interface definida por -o  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

17 2008, Edgard Jamhour SNAPT (Network Address and Port Translation) Endereço IP Público 210.0.0.1 clientes servidor 192.168.0.2 IP Privado:Porta Origem 192.168.0.2 :1024 192.168.0.2 :1026 192.168.0.3 :1024 192.168.0.4 :1025 192.168.0.3 192.168.0.4 request reply 1025 1026 1027 IP Público:Porta Origem 210.0.0.1 :1024 210.0.0.1 :1026 210.0.0.1 :1025 210.0.0.1 :1027 1024 1025 IPv4 1026 1024

18 2008, Edgard Jamhour SNAPT No Linux, o mapeamento por SNAPT é configurado através do IP tables, conforme o exemplo a seguir. Altera o endereço de origem para 210.0.0.1, usando as portas 1024-65535  iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1024-65535

19 2008, Edgard Jamhour Mapeamentos Reversos: DNAT Endereço IP Público 210.0.0.1 espec.ppgia.pucpr.br servidores cliente 192.168.0.2 IP Privado:Porta Destino 192.168.0.2 :80 192.168.0.2 :25 192.168.0.3 :80 192.168.0.4 :22 192.168.0.3 192.168.0.4 reply request 80 25 8080 IP Público:Porta Destino 210.0.0.1 :80 210.0.0.1 :25 210.0.0.1 :8080 210.0.0.1 :8081 80 22 IPv4 25 8081 192.168.0.1

20 2008, Edgard Jamhour DNAT DNAT da porta 8080 para IP 192.168.0.3:80.  iptables -t nat -A PREROUTING -p tcp --dport 8080 -i eth0 -j DNAT --to 192.168.0.2:80 Redirect da porta 80 para 3128  iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 DNAT balanceado para 192.168.0.2 até 192.168.0.5.  iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 192.168.0.2-192.168.0.5

21 2008, Edgard Jamhour Problemas com o NAT IPv4 Privado 192.168.0.2 210.0.0.1 192.168.0.260.1.2.3 PORT 192.168.0.2: 1025 IPv4 Network 60.1.2.3 192.168.0.2 = 210.0.0.1 1 210.0.0.160.1.2.3 PORT 192.168.0.2: 1025 2 60.1.2.3192.168.0.2payload3 tabela de mapeamento 192.168.0.1

22 2008, Edgard Jamhour Tipos de FTP O FTP usa uma conexão de comando, e outra para transferência de dados. Duas formas de operação:  PORT (Ativo) O cliente conecta-se a porta 21 do servidor FTP pela porta N (>1023) O cliente envia o comando PORT indicado que aguarda uma conexão na porta porta N+1 O servidor se conecta ao cliente pela porta 20.  PASV (Passivo). O cliente conecta-se a porta 21 do servidor FTP O cliente envia um comando PASV indicado que deseja se conectar em modo passivo. O servidor abre uma porta aleatória para receber a conexão de dados, e informa essa porta para o cliente através da conexão de comando.

23 Servidor Proxy IPv4 Privado 192.168.0.2 210.0.0.1 IPv4 Network 60.1.2.3 192.168.0.1 IPv4 Privado 192.168.0.2 210.0.0.1 IPv4 Network 60.1.2.3 192.168.0.1 NAT Proxy 102480 31281024102580

24 2008, Edgard Jamhour Proxy de Aplicação e Proxy Socks Proxy de Aplicação  utiliza informações dos protocolos da camada de aplicação  precisa “conhecer” as aplicações usadas pelos clientes a fim de operar Proxy SOCKS.  atua apenas no nível de transporte  pode suportar virtualmente qualquer tipo de aplicação, de forma semelhante ao NAT.

25 Funcionamento do Proxy IPv4 Privado 192.168.0.2 210.0.0.1 IPv4 Network 60.1.2.3 192.168.0.1 Proxy 31281024102580 GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\n Host: espec.ppgia.pucpr.br\r\n 192.168.0.2192.168.0.110243128 GET /~jamhour/natproxy.tar.gz HTTP/1.1\r\n Host: espec.ppgia.pucpr.br\r\n 210.0.0.160.1.2.3102580

26 2008, Edgard Jamhour Como o proxy determina o endereço do destinatário? No proxy de aplicação:  O endereço e a porta do destinatário são descobertos analisando as informações contidas no cabeçalho HTTP.  O próprio servidor proxy consulta o servidor DNS para traduzir o nome do servidor HTTP de destino em um endereço IP. No proxy SOCKS:  Informações adicionais são incluídas pelo cliente para facilitar a localização do servidor de destino.  O proxy não precisa interpretar o protocolo de aplicação.

27 Proxy depende da Aplicação Protocolo de Aplicação HTTP, FTP, SMTP, etc TCP, UDP Ethernet IP aplicação segmento TCP datagrama UDP pacote Seqüência de empacotamento quadro http ftp ssl O proxy de aplicação precisa interpretar as informações do protocolo de aplicação (dispositivo de camada 7)

28 2008, Edgard Jamhour Proxy de Aplicação Cada protocolo de aplicação formata seu cabeçalho de maneira diferente.  O HTTP identifica o destino através de um campo do tipo string, denominado “Host”.  O SMPT utiliza a mensagem “RCPT TO” Um proxy de aplicação é capaz de operar apenas com um conjunto limitado de protocolos que ele conhece.  “HTTP”, “FTP”, “SSL” e “Gopher”. Inconvenientes:  O aplicativo do cliente precisa estar preparado.  É necessário configurar cada um dos aplicativos informando o endereço e a porta do proxy.

29 2008, Edgard Jamhour Exemplo de script de configuração function FindProxyForURL(url,host) { if(isInNet(host, "127.0.0.0", "255.0.0.0") || isInNet(host, "192.168.0.0", "255.255.0.0") || url.substring(0, 4) == "ftp:") { return "DIRECT"; } else { return "PROXY 200.192.112.146:3128"; } }

30 Mapeamento de Conexões pelo Proxy 192.168.0.1 210.0.0.3 clientes servidor 192.168.0.2 IP Privado:Porta Origem 192.168.0.2 :1024 192.168.0.2 :1026 192.168.0.3 :1024 192.168.0.4 :1025 192.168.0.3 192.168.0.4 request reply IP Público:Porta Origem 210.0.0.3 :1024 210.0.0.3 :1026 210.0.0.3 :1025 210.0.0.3 :1027 1024 1025 IPv4 1026 210.0.0.1 3128 1024 1026 1025 1027

31 2008, Edgard Jamhour Mapeamento de Conexões pelo Proxy Semelhante ao NAPT.  Para cada conexão de cliente recebida, o proxy abre uma nova conexão com o servidor de destino utilizando uma porta ainda não utilizada.  Um proxy pode atender a aproximadamente 63K clientes com um único endereço IP. A conexões criadas pelo proxy são dinâmicas.  O servidor proxy encerra a conexão com o servidor de destino no momento que o cliente encerrar a conexão correspondente com o proxy.  Conexões sem uso por um tempo excessivo podem ser encerradas de por iniciativa do proxy.  O HTTP encerra a conexão com o servidor assim que as informações de uma página Web são recebidas por completo.

32 Outras Funções do Proxy de Aplicação Proxy de Aplicação Cache Controle de acesso por login Filtragem de endereços e conteúdo. Cache de objetos Web Filtragem de Virus e Malware GET HTTP/1.1 200 OK\r\n GET HTTP/1.1 304 Not Modified\r\n GET HTTP/1.1 200 OK\r\n

33 2008, Edgard Jamhour Serviços Adicionais do Proxy 1.Cache de objetos HTTP: armazena objetos mais acessados em cache permite reduzir a banda utilizada do link com a Internet. 2. Autenticação: controla o acesso a Internet através de um pedido de autenticação para usuário. 3. Filtragem de endereços URL:  proíbe o acesso a certos endereços na Internet. 4. Filtragem de conteúdo: proíbe a transferência de objetos com certos tipos MIME (video, áudio, executáveis, etc.) 5.Bloqueio e remoção de virus e malware: proibe a entrega de objetos com virus ou algum tipo de malware.

34 2008, Edgard Jamhour Proxy Socks 192.168.0.1 210.0.0.3 cliente servidor 192.168.0.3 1024 IPv4 1080 proxy socks user jamhour want connect to 60.1.2.3:80 60.1.2.3 request granted user jamhour want bind to 60.1.2.3:80 bind on 210.0.0.3:4000 4000

35 2008, Edgard Jamhour Versões do SOCKS Originalmente desenvolvido por David Koblas, e subseqüentemente modificado e entendido pelo IETF.  permite que o cliente se identifique e que informe os dados do servidor que deseja acessar.  funciona para qualquer tipo de serviço: http, ftp, ssh, etc. Atualmente, existem duas versões do protocolo SOCKS: versão 4 (v4):  suporta apenas TCP.  funciona como um redirecionador de conexões TCP  permite acesso a qualquer serviço através de firewalls. versão 5 (v5):  suporta ambos os protocolos de transporte: TCP e UDP.

36 2008, Edgard Jamhour SOCKv4 Oferece dois serviços para os clientes: connect e bind. connect  é usado quando o cliente deseja fazer uma conexão com um servidor externo.  o cliente fornece seu login, o IP e a porta do servidor que deseja acessar. bind  é usado para que o cliente possa receber uma conexão de um host externo.  o cliente solicita ao Proxy que ele crie uma porta para receber conexões de um determinado host externo.  o proxy SOCKS cria a porta, e responde para o cliente informando em qual porta e endereço IP (caso ele tenha múltiplas interfaces de rede) o host externo poderá fazer a conexão.

37 2008, Edgard Jamhour Proxy Socks cliente servidor IPv4 protocolo SOCKS biblioteca sockets modificada aplicação TCPUDP IP configuração global para todos os aplicativos TCP ou UDP não modificado S.O. proxy SOCKS

38 2008, Edgard Jamhour SOCKSv5 A versão corrente do protocolo SOCKs é 5.0 definido nas RFCs 1928 e 1929.  Melhorias: o suporte a aplicações UDP e a vários métodos de autenticação. Além do connect e bind, foi incluido o serviço UDP Associate.  O cliente envia o UDP Associate via TCP, informando o IP e a porta do servidor de destino.  O cliente transmite dados via datagrams UDP modificados, que incluem um pequeno cabeçalho com o endereço IP e porta do servidor de destino.  O proxy SOCKs só aceita encaminhar datagramas UDP para UDP Associates previamente criados.

39 2008, Edgard Jamhour Formas de Configuração Por aplicativo:  Similar ao proxy de aplicação  Cada aplicativo precisa ser modificado para gerar as mensagens connect, bind e UDP Associate necessárias. No sistema operacional  Cliente proxy SOCKS. Esse cliente modifica a biblioteca de  Chamadas TCP e UDP são modificadas para incluir as mensagens SOCKS  Funciona com aplicativos legados  Permite uma única configuração global para todo o sistema.

40 2008, Edgard Jamhour Conclusão IP privado  resposta a tendência de esgotamento de endereços IPv4, que se acelerou no início dos anos 90.  poucas limitações para hots clientes  bastante limitante para hosts servidores  forma mais segura de se navegar pela Internet NATs  uso transparente para os clientes  pouco limitantes em relação as aplicações suportadas  incapazes de prestar serviços dependentes da camada de aplicação, como cache HTTP Proxy  não transparente para os clientes  quebram o modelo cliente-servidor  menos escaláveis que os NATs  proxies de aplicação podem prestar inúmeros serviços adicionais que melhoram a segurança e o desempenho da rede.


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

Apresentações semelhantes


Anúncios Google