Baixe o app para aproveitar ainda mais
Prévia do material em texto
2017, Edgard Jamhour Firewalls Filtragem de Pacotes Edgard Jamhour 2017, Edgard Jamhour Firewalls Definição: – Processo de permitir ou bloquear pacotes em uma camada arbitrária do modelo OSI, mas usualmente na camada de rede. – Packet Filtering: quando o firewall opera na camada de rede Evolução: – Primeira Geração: firewalls sem estado • Analisa pacotes individualmente – Segunda Geração: filtros com estado • Retém os pacotes para coletar informações sobre uma conexão ou sessão – Terceira Geração: filtros de aplicação • Analisa e compreende informações da camada de aplicação 2017, Edgard Jamhour Filtragem de Pacotes FTP, SMTP, HTTP, Telnet, SNM, etc. TCP ou UDP Ethernet MAC IP Ethernet PHY A filtragem de pacotes utiliza informações contidas nos cabeçalhos dos protocolos HTML NIC aplicação transporte rede enlace física Seqüência de empacotamento S.O. Aplicação. 2017, Edgard Jamhour Navegado Web Camada de operação Aplicação Enlace (Ethernet) Física (Ethernet) 49152 1. Enlace, recebemos um quadro com começo, meio e fim. Pode dar uma olhada? 2. Verificado. O MAC aponta para nós e o checksum confere. Desculpe interromper IP, mas agora é com você. Rede (IP) 3. Sem problemas. O IP destino diz que é para nós. E esse pacote não é um fragmento. TCP, esse é para você. Transporte (UDP) Transporte (TCP) 4. Mais um para essa porta? Como a conexão já está estabelecida e o número de sequência confere, vou deixar no buffer da aplicação e quando ela resolver trabalhar, os dados estarão lá. 5. Vamos com calma, eu tenho mais coisas que fazer do que só ficar olhando a rede. Já verifiquei que o cabeçalho HTTP confere, mas preciso que o resto do conteúdo HTML chegue para que eu possa renderizar a informação. NIC: Network Interface Card Sistema Operacional Aplicação 2017, Edgard Jamhour Navegado Web Camada de operação Aplicação (HTTP) Enlace (Ethernet) Física (Ethernet) 49152 Filtrar na NIC? Não é uma boa ideia. Já ouviu falar em independência de camadas? Rede (IP) Transporte (UDP) Transporte (TCP) Filtrar no transporte até dá. Mas se tive que olhar detalhes do HTTP, é melhor deixar a aplicação fazer. X Aqui é o lugar mais comum para filtrar pacotes. Eu verifico as regras, e se não tiver nada contra o pacote ele sobe. Senão, é descartado. C Todo mundo sabe que eu não analiso pacotes, mas sim fluxo de dados. Tem que entender o contexto para tomar uma decisão. 2017, Edgard Jamhour Firewalls Sem Estado • Primeira geração de firewalls: – A decisão sobre a passagem ou não de um pacote considera apenas as informações carregadas no próprio pacote. • Utiliza usualmente apenas informações das camadas de rede e transporte. – Essa simplificação permite: • Tornar o firewall mais rápido. • Tornar o firewall independente do protocolo transportado. • Tornar o firewall independente de criptografia e tunelamento. • Firewall sem estado com assinatura de dados: – Procura uma sequência de bytes pré-determinada no campo de dados (assinatura). – Pacotes ainda são analisados individualmente. 2017, Edgard Jamhour Firewalls sem Estado • Primeira geração de firewalls (20 anos atrás). • Desenvolvidos considerando as limitações da época. • Não protegem UDP. • São independentes da aplicação (analisam apenas informações de IP e Porta). • Tem alto desempenho. 2017, Edgard Jamhour Host-based vs Network-based • No software do Roteador: screening routers • No sistema operacional do Host – Windows Filtering Platform (WFP) – Linux Netfilter Roteador com Firewall Internet = Rede Insegura Firewall no sistema operacional do Host inbound outbound 2017, Edgard Jamhour Firewall no S.O. (Linux Netfilter) • Inclui ganchos (hooks) no kernel do Linux • Permite registrar funções “callback” que são chamadas automaticamente quando um pacote atravessa um gancho específico da camada de rede 2017, Edgard Jamhour Firewall no S.O. (Windows Filtering Platform). • Cria uma estrutura de filtragem de pacotes genérica para que vendedores criem módulos especializados para windows • Define uma API padrão para filtrar pacotes em qualquer camada do S.O. 2017, Edgard Jamhour Regras de Filtragem se condição satisfeita então aplicar ação Regra 1 Regra 2 Regra 3 Política de Segurança = Lista de Regras Regra Default ação: -permitir -bloquear -fazer log condição: - campos de cabeçalho - direção do tráfego - estado 2017, Edgard Jamhour Algoritmo dos Firewalls sem Estado Recebe pacote Seleciona Primeira Regra OK para Passar? OK para Bloquear Última Regra? Bloquear Pacote Encaminhar Pacote S S N N N S Regra Default Seleciona Proxima Regra 2017, Edgard Jamhour Seqüência de Criação de Regras • A seqüência na qual as regras são aplicadas pode alterar completamente o resultado da política de segurança. Por exemplo, as regras de aceite ou negação incondicional devem ser sempre as últimas regras da lista. Ação permitir permitir permitir permitir negar Protocolo tcp tcp tcp tcp * IP Origem interno * * interno * Porta Origem > 1023 23 > 1023 23 * IP Destino * interno interno * * Porta Destino 23 > 1023 23 > 1023 * ACK * 1 * 1 * Direção Out In In Out * O deslocamento de uma regra genérica para cima anula as demais. 2017, Edgard Jamhour Estratégias • Tudo que não é permitido é proibido – Regra default é proibir – Regras específicas são do tipo permitir – Comum em network-based firewalls – Abordagem padrão em host-based firewalls para conexões do tipo inbound • (quando a máquina local recebe uma conexão) • Tudo que não é proibido é permitido – Regra default é permitir – Regras específicas são do tipo proibir – Abordagem padrão em host-based firewalls para conexões do tipo outbound • (quando a máquina local faz uma conexão) 2017, Edgard Jamhour Bloqueio de aplicações • Firewalls que não são de camada 7 analisam apenas os campos do IP, TCP, UDP e ICMP • A dedução do tipo de serviço é feito indiretamente: – Pelo campo “protocol type” do IP • RFC 1700: Assigned Numbers – TCP = 6, UDP = 17, ICMP = 1, etc. – Pelas portas quando o tipo de protocolo for 6 ou 17 • IANA: Internet Assigned Number Authority – http://www.iana.org/assignments/port-numbers 2017, Edgard Jamhour Distribuição das Portas • Portas Bem conhecidas (well known ports): – Geralmente usada pelos servidores de serviços padronizados. – Requer privilégio de administrador • Portas Registradas – Geralmente usada por serviços proprietários. • Portas Dinâmicas ou Privadas: – Usadas pelos clientes e pelos serviços não padronizados. 0 …. 1023 1024 …. 49151 PORTAS TCP ou UDP 49152 …. 65535 2017, Edgard Jamhour Portas Bem Conhecidas • Aplicações necessitam de privilégios de administrador para usar essas portas 2017, Edgard Jamhour Exemplos de portas bem conhecidas 49152 65535 ... tcp 80 tcp 443 tcp 22 tcp 23tcp 25 udp 53 http https ssh telnet smtp dns 2017, Edgard Jamhour Portas Registradas • Não exigem privilégio de administrador. Tem efeito apenas de recomendação. 2017, Edgard Jamhour Exemplo de Regras de Filtragem [1] O símbolo "*" indica que qualquer valor é aceitável para regra. inbound outbound Regra Ação Sentido IP Origem IP Destino Porta Origem Porta Destino ACK Estado 1 permitir outbound rede interna * >1023 80, 443 ? 2 permitir inbound * rede interna 80,443 >1023 ? 3 bloquear * * * * * ? 2017, Edgard Jamhour Firewalls sem Estado: Problemas de Segurança • São stateless: – Precisam liberar todas as portas de cliente (> 1023 ) para permitir uma comunicação FTP. • Apenas duas opções: – Ou libera-se todas as portas ou bloqueia-se o serviço todo. 2017, Edgard Jamhour Problema: Spoofing de Porta • Como diferenciar um ataque externo de uma resposta solicitada por um usuário interno? ... 80 65535 1025 1024 80 regra outbound: se for porta 80 de destino pode passar regra inbound: se for porta 80 de origem pode passar 2017, Edgard Jamhour TCP • TCP é um protocolo orientado a conexão • A máquina de estados rompe a conexão se os o protocolo TCP não for seguido corretamente. 2017, Edgard Jamhour Flags TCP • SYN: sincroniza números de sequência • ACK: o campo acknowledgement é válido • FIN: fim de conexão 2017, Edgard Jamhour Flag ACK • Uma conexão TCP sempre se inicia com o cliente enviando um pacote com o flag ACK= 0. 2017, Edgard Jamhour Regra de Firewall Corrigida [1] O símbolo "*" indica que qualquer valor é aceitável para regra. inbound outbound Regra Ação Sentido IP Origem IP Destino Porta Origem Porta Destino ACK Estado 1 permitir outbound rede interna * >1023 80, 443 0, 1 2 permitir inbound * rede interna 80,443 >1023 1 3 bloquear * * * * * * 2017, Edgard Jamhour Filtragem com Protocolo UDP • Cada pacote UDP é independente é não contém informações equivalentes ao flag ACK dos pacotes. 2017, Edgard Jamhour Firewalls com Estado • Quando o cliente requisita um serviço FTP, o Firewall armazena a porta utilizada numa tabela dinâmica, não liberando nenhuma outra porta do cliente. 2017, Edgard Jamhour Firewall com Estado • Para controlar quem inicia uma comunicação no protocolo UDP, os roteadores criar regras dinâmicas com base nas portas utilizadas – Dynamic Packet Filtering 200.0.0.1:1025 >>> 210.0.0.2:53 tempo tempo ... 210.0.0.2:53 >>> 200.0.0.1:1025 210.0.0.2:53 >>> 200.0.0.1:1026 210.0.0.2:53 >>> 200.0.0.2:1025 UDP 53 UDP 1025 UDP 1025 200.0.0.1 200.0.0.2 2017, Edgard Jamhour Firewall com Estado: Iptables • NEW: refere-se a pacotes que criam uma nova conexão • ESTABLISHED: refere-se aos pacotes trocados uma conexão já estabelecida • RELATED: refere-se a pacotes relacionados a uma comunicação, mas que não fazem parte diretamente do fluxo de dados da comunicação. Por exemplo, mensagens de erro ICMP ou pacotes de criação de conexão FTP. • INVALID: refere-se a pacotes que não se encaixam a nenhum dos casos anteriores, como pacotes ICMP com opções inválidas. 2017, Edgard Jamhour Regras vs Interfaces (NICs) • As regras de firewall geralmente são aplicadas de forma independente a cada interface. • Em alguns sistemas a tabela de regras é única, mas as interfaces são campos da regra. Ação accept accept drop Saída 2 1 * IP Origem 200.0.0.0/24 * * Porta Origem > 1023 23 * IP Destino * 200.0.0.0/2 * Porta Destino 23 > 1023 * ESTADO N,R,E R,E * Entrada 1 2 * INTERNET 1 2 200.0.0.0./24 ?.?.?.? 23 >1023 >1023 Proto tcp tcp * New (N), Related (R), Established (E) 2017, Edgard Jamhour Regras vs Interfaces Ação accept drop IP Origem * * Porta Origem 23 * IP Destino 200.0.0.0/2 * Porta Destino > 1023 * ESTADO R,E * INTERNET 1 2 200.0.0.0./24 ?.?.?.? 23 >1023 >1023 Proto tcp * Ação accept drop IP Origem 200.0.0.0/24 * Porta Origem > 1023 * IP Destino * * Porta Destino 23 * ESTADO N,R,E * Proto tcp * Sentido inbound inbound Sentido inbound inbound Interface 1 Interface 2 • Alguns sistemas definem tabelas independentes para cada interface. • Para evitar duplicação desnecessária de regras, geralmente controla-se apenas o sentido inbound. 2017, Edgard Jamhour Ciclos CPU 100 MHz 286000 8000 1600 160 16 Desempenho do Filtro de Pacotes • O processo de filtragem de pacotes exige que um certo processamento adicional seja executado pelo roteador para cada pacote que chega ou precisa ser transmitido. • Dependendo da velocidade da linha de transmissão, esse processamento pode ou não causar uma degradação do desempenho da rede. Conexão 56 Kbit/s 2 Mbit/s 10 Mbit/s 100 Mbit/s 1Gbit/s Pacotes/s (20 bytes) 350 12500 62500 625000 6250000 Tempo disponível 2.86 ms 80 s 16 s 1.6 s 0.16 s 2017, Edgard Jamhour Exemplos de Hardware: Cisco • ASA 5505 – 256 MB RAM, CPU Geode 500 MHz • ASA 5506-X, 5506W-X, 5506H-X – 4096 MB RAM, CPU Atom C2000 series 1250 MHz, – 1 CPU (4 cores) • ASA 5508-X – 8192 MB RAM, CPU Atom C2000 series 2000 MHz – 1 CPU (8 cores) • ASA 5510 – 256 MB RAM, CPU Pentium 4 Celeron 1600 MHz • ASA 5585-X SSP-60 – 24576 MB RAM, CPU Xeon 5600 series 2400 MHz, – 2 CPU (24 cores) 2017, Edgard Jamhour Quiz: os firewalls que vimos até agora ... A. Podem bloquear um ataque de SYN flood? B. Podem evitar um ataque “smurf” (broadcast usando o IP da vítima como origem)? C. Podem evitar um ataque do tipo “SQL injection” ao site PHP da empresa? D. Podem evitar um ataque do tipo “password dictionary” na porta telnet de uma máquina interna? E. Pode bloquear uma tentativa de acesso na porta VNC de um servidor na rede interna? F. Pode bloquear um vírus em um anexo de um e-mail? G. Pode impedir que usuários da rede interna tenha acesso a certos endereços IP na Internet? 2017, Edgard Jamhour DMZ: Demilitarized Zone • Também chamada rede de perímetro • Parte da rede que expõe serviços simultaneamente para a rede Interna e Externa (usualmente a internet). 2017, Edgard Jamhour Arquitetura DMZ • Perimeter Network – Uma rede adicionada entre a rede protegida e uma rede externa, com o objetivo de proporcionar uma camada a mais de segurança. – Também chamada de DMZ (De-Militarized Zone). • Bastion Host – Um computador que precisa ser altamente protegido, pois é suscetível a sofrer ataques. O bastion host é um computador exposto simultaneamente a Internet e a rede interna. 2017, Edgard Jamhour Exemplo de DMZ Host Interno Internet Roteador Interno Bastion Host DMZ - Rede de Perímetro Rede Interna Roteador Externo 2017, Edgard Jamhour Roteador Interno (Choke Router) • Protege a rede interna. • Altamenterestritivo. • Não permite que computadores externos iniciem conversa com computadores internos. Ação permitir permitir negar Protocolo .... .... * IP Origem interno * * Porta Origem > 1023 * * IP Destino * interno * Porta Destino .... > 1023 * Estado N, R, E R, E * Direção Out In * N = New, R = Related, E = Established EXEMPLO DE REGRAS PARA O CHOKE ROUTER 2017, Edgard Jamhour Roteador Externo (Access Router) • Não permite que computadores externos iniciem conversa com computadores internos. • Permite que computadores externos iniciem conversa com computadores na DMZ. Ação permitir permitir permitir permitir negar Protocolo .... ... ... ... * IP Origem interno * * dmz * Porta Origem > 1023 * > 1023 * * IP Destino * interno dmz * * Porta Destino * > 1023 * > 1023 * Estado N,R,E R,E N,R,E N,R,E * Direção Out In In Out * EXEMPLO DE REGRAS PARA O ACCESS ROUTER 2017, Edgard Jamhour Exemplo: DMZ in Single Box 2017, Edgard Jamhour DMZ com NAT Hosts Internos Com IP’s Privados Internet Servidor HTTP/HTTPs DMZ - Rede de Perímetro Rede Interna Roteador Externo Servidor Email NAT 2017, Edgard Jamhour INTERNET Exercício: DMZ com Proxy • Configure as regras dos filtros de pacotes "I" e "E" para rede abaixo.Permita que: – a) hosts internos tenham acesso ao Proxy e ao serviços SMTP e POP3 na DMZ – b) o proxy tenha acesso a servidores DNS, HTTP e HTTPs na Internet – c) o servidor de email consulte servidores DNS e troque emails com outros servidores na Internet via SMTP – d) os demais acessos são proibidos 192.168.0.0/24 rede interna DMZ SMTP (25) POP3 (110) 200.0.0.2 I E 200.0.0.4 PROXY (3128) 2017, Edgard Jamhour Auxilio para Configuração do Firewall I 2017, Edgard Jamhour Auxílio para Configuração do Firewall E 2017, Edgard Jamhour Next-Generation Firewall (NGFW) • Terceira geração da tecnologia de firewalls • Combina as tecnologias convencionais de firewall com “firewalls de aplicação” utilizando “deep packet inspection” (DPI) • Fatos: – 80% dos novos tipos de ataques procuram explorar fraquezas nas aplicações – Firewalls de primeira e segunda geração não conseguem bloquear pacotes de uma mesma aplicação de forma seletiva. – Por exemplo: o jogo de simulação FarmVille opera na porta TCP 80. Como diferenciá-lo de um serviço HTTP? 2017, Edgard Jamhour NGFW vs Proxy (Gateways de Aplicação) • Uma alternativa para NGFW são os gateways de aplicação. – Gateways de aplicação (Proxy) são "statefull": Isto é, eles guardam o estado das conexões iniciadas pelos clientes. – Alguns tipos de gateways de aplicação (Proxy) são capazes de analisar o conteúdo dos pacotes. – Todavia, são dependentes da aplicação (não funcionam para aplicações desconhecidas) e tem baixo desempenho. – Proxies quebram o modelo cliente-servidor 2017, Edgard Jamhour Application Layer Gateways • Usualmente Implementados como serviços. • O Gateway de Aplicação é visto pelos clientes como um Servidor. • Abrem apenas a porta do cliente utilizada para fazer a conexão com o servidor. 2017, Edgard Jamhour Application Layer Gateway Problemas de Desempenho • Quebram o esquema cliente- servidor (o proxy cria uma nova conexão para cada cliente). – O número de sessões no Gateway é duplicado. – Cada conexão mantém um processo no Proxy. 2017, Edgard Jamhour NGFW: CheckPoint • Stateful Inspection: tecnologia desenvolvida pela CheckPoint. • Implementa o conceito de estado sem criar novas conexões no roteador. 1. Um módulo de software analisa permanentemente o conteúdo dos pacotes que atravessam o firewall. 2. As informações relevantes dos pacotes são armazenadas em tabelas dinâmicas para posterior uso. 3. A decisão quanto a passagem ou não de um pacote leva em conta o conteúdo de pacotes anteriormente trocados na mesma conexão. 2017, Edgard Jamhour Stateful Inspection • Analisa o conteúdo dos pacotes sem quebrar o modelo cliente servidor. • A informação de estado é capturada quando o pacote através o firewall e armazenadas em tabelas dinâmicas. 2017, Edgard Jamhour NGFW: O que podem fazer? • Além das informações de portas, as informações de conteúdo também são utilizadas pelo Firewall. • Normalmente, apenas os protocolos mais comuns são analisados. – HTTP: Permite Filtrar: • Métodos de acesso (GET, POST), URLs ("*.sk"), etc • TAGS em HTML com referências a Applets em Java ou Objetos Active X. • Download de certos tipos MIME. – FTP: Permite Filtrar • Comandos específicos (PUT, GET), Nomes de Arquivo • Pode disparar antivirus para verificação de arquivos. – SMTP: Permite criar regras de Filtragem baseadas • Nos campos FROM e TO • Tipo MIME • Etc. 2017, Edgard Jamhour NGFW: O que podem fazer? • Criar regras de filtragem baseados na identidade do usuário ao invés do endereço IP. • O usuário pode acessar ao serviço independentemente do computada dor ou da rende em que estiver. • Esta tecnologia só é possível para firewalls "Stateful“ pois é criar regras dinâmicamente. • Três métodos são usualmente disponíveis: – User Authentication (transparente) – Session Autentication – Mapeamento Transparente do Usuário em Endereço 2017, Edgard Jamhour Integração com Métodos de Autenticação • User Authentication (transparente) – Permite a usuário remoto acessar um serviço da rede independente do seu IP. – O firewall reconhece o login do usuário analisando o conteúdo dos protocolos FTP, HTTP, TELNET e RLOGIN. • Session Authentication – Quando o usuário tenta acessar um serviço da rede o Firewall envia para o cliente um pedido de login (challange message). – O cliente deve ter um software especial para confirmar a senha. – Só então o acesso é permitido (ou negado). 2017, Edgard Jamhour Integração com Métodos de Autenticação • Mapeamento Transparente entre Usuário e Endereço – O Firewall captura mensagens DHCP enviadas para os hosts. – O Firewall captura as mensagens de login trocadas entre o usuário e o servidores de domínio da rede. • CHECK POINT, por exemplo, suporta as mensagens do Windows. • O usuário não se loga no Firewall, o sucesso do login é identificado pelo Firewall também capturando as mensagens do servidor.
Compartilhar