FIREWALLS Edgard Jamhour 2002, Edgard Jamhour Segurança de Redes • Firewalls – Firewalls com estado e sem estado. Arquiteturas de Firewall. • Criptografia – Simétrica, Assimétrica, Certificados Digitais e SSL. • VPN – Arquiteturas de VPN, PPTP e L2TP. • IPsec – Políticas IPsec, Modos de Utilização, Topologias de uso 2002, Edgard Jamhour Bibliografia • BIBLIOGRAFIA – TCP/IP Tutorial e Técnico: Martin W. Murhammer et al., 2000, Makron Books. – FIREWALLS - GUIA COMPLETO, GONCALVES,MARCUS, EDITORA CIENCIA MODERNA LTDA. 2002, Edgard Jamhour Firewalls • Definição: – Termo genérico utilizado para designar um tipo de proteção de rede que restringe o acesso a certos serviços de um computador ou rede de computadores pela filtragem dos pacotes da rede. • Os firewalls podem ser de dois tipos: – Sem estado (stateless) • A decisão sobre a passagem ou não de um pacote considera apenas as informações carregadas no próprio pacote. – Com estado (stateful) – Stateful Inspection • A decisão sobre a passagem ou não de um pacote leva em outros pacotes que atravessaram anteriormente o firewall. 2002, Edgard Jamhour Firewall = Bloqueio de Pacotes Aplicativo Serviço Aplicação Aplicação TCP UDP Aplicação Sistema operacional IP Enlace Placa de rede Física DISPOSITIVO DE REDE Programa externo 2002, Edgard Jamhour Firewalls Sem Estado • O tipo mais comum de firewall é o sem estado: – 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. 2002, Edgard Jamhour Filtragem de Pacotes sem Estado A filtragem de pacotes é feita com base nas informações contidas no cabeçalho dos protocolos. Aplicações Protolco de Aplicação FTP, SMTP, HTTP, Telnet, SNM, etc. Seqüência de empacotamento aplicação TCP, UDP transporte rede IP Tecnologia heterogênea Data Link Ethernet, Token Ring, FDDI, etc Física enlace física 2002, Edgard Jamhour Filtragem de Pacotes Aplicativo Aplicativo Aplicação Aplicação TCP UDP Aplicação Sistema operacional IP FIREWALL PESSOAL Enlace Física Placa de rede FIREWALL DE REDE Programa externo 2002, Edgard Jamhour Implementação Física • • No software do Roteador: screening routers No software de uma estação dedicada (um PC com duas placas de rede). ROTEADOR REDE INTERNA REDE EXTERNA FIREWALL PERSONAL FIREWALL ROTEADOR REDE EXTERNA REDE INTERNA FIREWALL 2002, Edgard Jamhour Exemplo • Roteadores Cisco – PIX Firewall – Firewall – Roteador – Proxy – Detetor de ataques (SMTP, etc) – Defesa contra fragmentação de IP – Implementa VPN com IPsec – Mais de 256K sessões simultâneas. 2002, Edgard Jamhour Exemplo • Implementação por Software – Check Point Firewall • Interface Gráfica • Módulo de Firewall • Módulo de Gerenciamento – Mútiplas Plataformas • Windows, Solaris, Linux, HP-UX, IBM AIX – Controle de Segurança e Qualidade de Serviço. 2002, Edgard Jamhour Algorítmo dos Firewalls sem Estado Recebe pacote Seleciona Primeira Regra S Encaminhar Pacote OK para Passar? N Seleciona Proxima Regra S OK para Bloquear Bloquear Pacote N N Última Regra? Regra Default (Bloquear Tudo) S 2002, Edgard Jamhour Filtragem por Aplicação • Os firewalls sem estado não analisam o protocolo de aplicação para determinar o tipo de serviço transportado pelo pacote. • 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 • http://www.iana.org/assignments/port-numbers • Todas as numerações são padronizada pela IANA (The Internet Assigned Numbers Authority) 2002, Edgard Jamhour Distribuição das Portas 0 …. 1023 PORTAS TCP ou UDP • Portas Bem conhecidas (well known ports): – Geralmente usada pelos servidores de serviços padronizados. 1024 …. 49151 49152 …. 65535 • Portas Registradas – Geralmente usada por servidores proprietários. • Portas Dinâmicas ou Privadas: – Usadas pelos clientes e pelos serviços não padronizados. 2002, Edgard Jamhour Distribuição das Portas • Portas Bem Conhecidas: – Definidas pela IANA – Acessíveis apenas por processos de sistema (que tenham privilégios do tipo root). – Desina servícos padronizados para Internet: • FTP (21), HTTP (80), DNS (53), etc. – Range: 0 a 1023 – Geralmente, a porta é mapeada a um serviço em ambos os protocolos (TCP e UDP), mesmo que usualmente só seja utilizado um deles. 2002, Edgard Jamhour Distribuição de Portas • Portas Registradas: – – – – Listada pela IANA Serviço oferecido para conveniência da comunidade Acessiveis por processos de usuário Usadas geralmente para designar serviços proprietários: • Corba Management Agente (1050), Microsoft SQL Server (1433), Oracle Server (1525), etc. – Range: 1024 a 49151. 2002, Edgard Jamhour Exemplos de portas bem conhecidas Dados armazenados portas bem conhecidas Porta 49152 FTP Porta 21 TELNET Porta 23 SMTP programa servidor de transferência de arquivos programa servidor de terminal remoto Porta 25 programa servidor de correio eletrônico HTTP Porta 80 programa servidor de hipertexto e outros serviços WWW NNTP Porta 119 IRC Porta 194 … Porta 65535 Cliente portas livres programa servidor de notícias programa servidor de serviços chat 2002, Edgard Jamhour Exemplo de Regras de Filtragem regra ação interface/ sentido protocolo IP origem IP destino Porta origem Porta destino Flag ACK 1 aceitar rede interna/ para fora TCP interno externo > 1024 80 *[1] 2 aceitar rede externa/ para dentro TCP externo interno 80 > 1023 1 3 rejeitar * * * * * * * [1] O símbolo "*" indica que qualquer valor é aceitável para regra. 2002, Edgard Jamhour Problema: Spoofing de Porta • Como diferenciar um ataque externo de uma resposta solicitada por um usuário interno? 1024 80 80 É necessário liberar pacotes com porta de origem 80 para que a resposta possa passar . 1024 Como evitar que a porta 80 seja usada para atacar usuários internos? 80 1024... 65535 ... 2002, Edgard Jamhour Característica da Comunicação TCP • Comunicação bidirecional, confiável e orientada a conexão. • O destino recebe os dados na mesma ordem em que foram transmitidos. • O destino recebe todos os dados transmitidos. • O destino não recebe nenhum dado duplicado. • O protocolo TCP rompe a conexão se algumas das propriedades acima não puder ser garantida. 2002, Edgard Jamhour Flags TCP • • • • • RES: Reservado (2 bits) • URG: Urgent Point • ACK: Acknowlegment 0 4 8 PSH: Push Request RST: Reset Connection SYN: Synchronize Seqüence Number FIN: Mais dados do transmissor 12 Byte 1 16 Byte 2 20 Byte 3 Porta de origem 24 28 31 Byte 4 Porta de destino Número de Seqüência Número de Confirmação HLEN Reservado Janela de Recepção BITS DE CÓDIGO Ponteiro de Urgência Checksum Opções Dados ….. 2002, Edgard Jamhour Flag ACK • Uma conexão TCP sempre se inicia com o cliente enviando um pacote com o flag ACK= 0. ACK=0 ACK=1 ACK=1 ACK=1 ... tempo tempo 2002, Edgard Jamhour Filtragem com Protocolo UDP • Comunicação bidirecional, sem nenhum tipo de garantia. – Os pacotes UDP podem chegar fora de ordem. – Pode haver duplicação de pacotes. – Os pacotes podem ser perdidos. • Cada pacote UDP é independente é não contém informações equivalentes ao flag ACK dos pacotes. 2002, Edgard Jamhour Mensagem UDP • As mensagens UDP não possuem flags de controle pois o protocolo UDP não oferece a mesma qualidade de serviço que o protocolo TCP. 16 0 31 Porta de Origem Porta de Destino Comprimento da Mensagem checksum Dados ….. 2002, Edgard Jamhour Dynamic Packet Filtering com UDP • Para poder criar regras sobre quem inicia uma comunicação no protocolo UDP, os roteadores precisam se lembrar das portas utilizadas. 200.0.0.1:1025 >>> 210.0.0.2:53 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 ... tempo tempo 2002, Edgard Jamhour Regras para Filtragem de Pacotes • Implementação: – Analisar o cabeçalho de cada pacote que chega da rede externa, e aplicar uma série de regras para determinar se o pacote será bloqueado ou encaminhado. • ESTRATÉGIAS – A) TUDO QUE NÃO É PROIBIDO É PERMITIDO. – B) TUDO QUE NÃO É PERMITIDO É PROIBIDO. 2002, Edgard Jamhour Exemplo: TUDO QUE NÃO É PERMITIDO É PROIBIDO Ação Direção Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir Sair tcp interno * > 1023 23 * permitir Entrar tcp * interno 23 > 1023 1 * * * * * * * negar • Interpretação: – Hosts Internos podem acessar servidores de telnet internos ou externos. – Hosts externos podem apenas responder a requisições, não podem iniciar um diálogo (estabelecer uma conexão). 2002, Edgard Jamhour Exemplo >1023 >1023 1 23 2 INTERNET 200.17.98.? ?.?.?.? INTERFACE 1 Ação Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir tcp 200.17.98.0:24 * > 1023 23 * negar * * * * * * INTERFACE 2 Ação Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir tcp * 200.17.98.0:24 23 > 1023 1 negar * * * * * * 2002, Edgard Jamhour Exemplo Ação Direção Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir Out tcp interno * > 1023 23 * permitir In tcp * interno 23 > 1023 1 permitir In tcp * interno > 1023 80 * permitir Out tcp interno * 80 > 1023 1 negar * * * * * * * • Interpretação: – Hosts Internos podem acessar servidores de telnet internos ou externos. – Hosts externos podem acessar servidores de web internos. 2002, 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. O deslocamento de uma regra genérica para cima anula as demais. Ação Direção Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir Out tcp interno * > 1023 23 * permitir In tcp * interno 23 > 1023 1 permitir In tcp * interno > 1023 23 * permitir Out tcp interno * 23 > 1023 1 negar * * * * * * * 2002, Edgard Jamhour 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 Pacotes/s (20 bytes) Tempo disponível Ciclos CPU 100 MHz 56 Kbit/s 2 Mbit/s 10 Mbit/s 100 Mbit/s 1Gbit/s 350 12500 62500 625000 6250000 2.86 ms 80 s 16 s 1.6 s 0.16 s 286000 8000 1600 160 16 2002, 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. 2002, Edgard Jamhour Exemplo de DMZ Host Interno Rede Interna Roteador Interno Bastion Host DMZ - Rede de Perímetro Roteador Externo Internet 2002, Edgard Jamhour Roteador Interno (Choke Router) • Protege a rede interna da rede externa e da rede de perímetro. • É responsável pela maioria das ações de filtragem de pacotes do firewall. Ação Direção Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir Out tcp interno * > 1023 * * permitir In tcp * interno * > 1023 1 negar * * * * * * * EXEMPLO DE REGRAS PARA O CHOKE ROUTER 2002, Edgard Jamhour Roteador Externo (Access Router) • Protege a rede interna e a rede de perímetro da rede externa. • Muitas vezes, a função o roteador externo está localizado no provedor de acesso. • Em geral, utiliza regras de filtragem pouco severas. Ação Direção Protocolo IP Origem IP Destino Porta Origem Porta Destino ACK permitir Out tcp interno * > 1023 * * permitir In tcp * interno * > 1023 1 permitir In tcp * dmz > 1023 * * permitir Out tcp dmz * * > 1023 * negar * * * * * * * EXEMPLO DE REGRAS PARA O ACCESS ROUTER 2002, Edgard Jamhour Rede de Perímetro com Proxy Hosts Internos Com IP’s Privados Rede Interna Servidor Proxy Bastion Host DMZ - Rede de Perímetro Roteador Externo Internet 2002, Edgard Jamhour EXERCÍCIO 200.0.0.1 200.0.0.2 200.0.0.3 Hosts Interno Rede Interna I1 200.0.0.4 Roteador Interno Bastion Host I2 200.1.0.1 E1 200.1.0.3 E2 200.2.0.1 200.1.0.2 DMZ - Rede de Perímetro Roteador Externo Internet 2002, Edgard Jamhour DEFINIÇÃO DAS ROTAS • Indique as Rotas que Devem Existir: • • • • A) Computadores da Rede Interna B) Roteador Interno C) Bastion Host D) Roteador Externo 2002, Edgard Jamhour EXERCÍCIO • Defina as regras para filtragem de pacotes dos roteadores da arquitetura DMZ para: – A) Permitir aos computadores externos acessarem o serviço HTTP no bastion HOST. – B) Permitir aos computadores externos acessar o serviço SMTP no bastion HOST. – C) Permitir aos usuários internos acessarem o serviço POP, SMTP e HTTP no bastion HOST. – D) Permitir aos usuários internos acessarem qualquer servidor HTTP externo. – E) Proibir todos os demais acessos. 2002, Edgard Jamhour Roteador Interno AÇÃO INTERFACE PROTOCOLO IP ORIGEM IP DESTINO PORTA ORIGEM PORTA DESTINO FLAG ACK 2002, Edgard Jamhour Roteador Externo AÇÃO INTERFACE PROTOCOLO IP ORIGEM IP DESTINO PORTA ORIGEM PORTA DESTINO FLAG ACK 2002, Edgard Jamhour Stateful Inspection • As primeiras gerações de firewall eram ditos "stateless". – Cada pacote é analisado individualmente, sem levar em conta pacotes anteriores trocados na mesma conexão. – Os firewalls baseados em filtros de pacotes não olham o conteúdo dos protocolos de aplicação. 2002, Edgard Jamhour Filtro de Pacotes • Usualmente implementado em roteadores. • São idependentes da aplicação (analisam apenas informações de IP e Porta). • Tem alto desempenho. 2002, Edgard Jamhour Filtro de Pacotes: 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. 2002, Edgard Jamhour Gateways de Aplicação • Uma alternativa para os filtros de pacotes são os gateways de aplicação. – Gateways de aplicação (Proxy) são "statefull": Isto é, eles guardam o estado das conexões inciadas 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. 2002, 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. 2002, Edgard Jamhour Gateways de Aplicação • • Dependentes de Aplicação – Examinam o conteúdo dos pacotes, incluido os protoclos de aplicação. – Exemplo: Proxy HTTP Independentes da Aplicação – Não precisa examinar o conteúdo. – Exemplo: Socks 1* 1 1024 1024 8080 2 1025 1026 1024 3 80 2* 80 3* 1025 2002, Edgard Jamhour Proxy Socks X Proxy de Aplicação O proxy de aplicação localiza o Servidor de Destino analisando as informações do protocolo de aplicação. Get http:www.pucpr.br Aplicação ProxyEnabled 1024 1080 Proxy de Aplicação 1024 80 Server O cliente SOCKS inclui automaticamente informações adicionais (durante a conexão TCP ou nos pacotes UDP), que são utilizadas pelo Proxy SOCKs para localizar o Servidor de Destino. CONNECT: IP_Destino, Porta_Destino, UserID Cliente Socks 1024 1080 Socks Proxy 1024 80 Server 2002, Edgard Jamhour Limitações dos Gateways de Aplicação • Proxys de Aplicação – Limitam o tipo de aplicativo que pode ser utilizado na rede. – Funcionam apenas para os aplicativos que foram reescritos para utilizar o Proxy. • Proxy Socks – A versão corrente do protocolo SOCKs é 5.0 • RFC1928: suporta TCP , UDP e autenticação – A versão 4 suporta apenas TCP. – Algumas soluções proprietárias suportam também ICMP. 2002, Edgard Jamhour Application Layer Gateway Problemas de Desempenho • Quebram o esquema clienteservidor (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. 2002, Edgard Jamhour Stateful Inspection • Tecnologia Desenvolvida pela CheckPoint. • Implementa o conceito de estado sem criar novas conexões no roteador. – Um módulo de software analisa permanentemente o conteúdo dos pacotes que atravessam o firewall. – As informações relevantes dos pacotes são armazenadas em tabelas dinâmicas para porterior uso. – 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. 2002, Edgard Jamhour Stateful Inspection • Para poder criar regras sobre quem inicia uma comunicação, o firewall armazena informações sobre as portas utilizadas pelo cliente. 200.0.0.1:1024 >>> 210.0.0.2:53 210.0.0.2:53 >>> 200.0.0.1:1024 200.0.0.1: 1024 >>> 210.0.0.2: 53 210.0.0.2:53 >>> 200.0.0.1:1026 210.0.0.2:53 >>> 200.0.0.2:1025 ... tempo tempo 2002, 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. 2002, Edgard Jamhour Stateful Inspection • 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. 2002, Edgard Jamhour Segurança de Conteúdo • 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. • Dowload 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. 2002, Edgard Jamhour Integração com Métodos de Autenticação • Firewalls com Tecnlogia Stateful permitem criar regras de filtragem baseados no login do usuário ao invés do endereço IP. • Estas técnicas simplificam o processo de criar regras de filtragem pois o usuário pode acesar o serviço independentemente da máquina que estiver usando. • Esta tecnologia só é possível para firewalls "Stateful". • Três métodos são usualmente disponíveis: – User Authentication (transparente) – Session Autentication – Mapeamento Transparente do Usuário em Endereço 2002, 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). 2002, Edgard Jamhour Integração com Métodos de Autenticação • Mapeamento Transparente entre Usuário e Endereço – O Firewall captura mensagens DHCP para as máquinas. – 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 NT. • O usuário não se loga no Firewall, o sucesso do login é identificado pelo Firewall também capturando as mensagens do servidor. 2002, Edgard Jamhour