Os três principais tipos de firewall são o filtro de pacotes, o filtro de pacotes com estado e o proxy. - PDF
Download "Os três principais tipos de firewall são o filtro de pacotes, o filtro de pacotes com estado e o proxy."
Pedro Lucas Galindo de Almeida
1 Tipos de Firewall Os três principais tipos de firewall são o filtro de pacotes, o filtro de pacotes com estado e o proxy. Entretanto os firewalls também exercem as funções adicionais como NAT (Network Address Translation), VPN (Virtual Private Netowork) e autenticação/ certificação de usuários. Acompanhe na sequência, detalhadamente, cada um desses tipos de firewalls. Filtro de Pacotes Este tipo de firewall consiste na ação de controle seletivo do fluxo de dados que chega e sai de um segmento de rede, habilitando, ou não, o bloqueio de pacotes com base em regras especificadas via endereços IP, protocolos (portas) e tratamento do início da conexão (tcp syn). Filtrar = peneirar, separar; Funciona na camada de rede e de transporte; Faz controle do tráfego que entra e sai na rede; É transparente aos usuários; As regras são estáticas static packet filter; As regras dos filtros contêm: Endereço IP de origem Endereço IP de destino Protocolos TCP, UDP, ICMP Portas TCP ou UDP de origem Portas TCP ou UDP de destino Tipo de mensagem ICMP
2 Filtro de pacotes no contexto da pilha TCP/IP Os filtros de pacotes simples também são chamados de stateless firewall, conforme se pode observar na figura 1. Cada pacote é tratado de forma isolada: não guarda o estado da conexão e não sabe se o pacote faz parte de uma conexão feita anteriormente. Segundo Scarfone e Hoffman (2008), os filtros de pacotes sem estado têm como características: alta vazão examinam os dados sobre a camada de rede; baixo overhead e flexíveis podem ser implantados em qualquer infraestrutura de redes, onde a sua velocidade e flexibilidade tornam ideal o uso como perímetro de uma rede não confiável, bloqueando o tráfego de entrada, um procedimento conhecido como filtro de entrada; abrem brechas permanentes no perímetro da rede são vulneráveis a ataques e exploits que tiram vantagens das vulnerabilidades existentes dentro da pilha TCP/IP; não oferecem autenticação.
3 Filtro de Pacotes com Estado Estes filtros realizam as mesmas funcionalidades do filtro de pacotes, mas também podem manter o estado das conexões por meio de máquinas de estado. Este tipo de firewall também possibilita o bloqueio de varreduras, controle efetivo de fluxo de dados e tratamento do cabeçalho TCP, além de verificar os campos do datagrama, com o objetivo de identificar possíveis ataques. A função de inspeção dos pacotes melhora em comparação com as funções do filtro de pacotes, pois ele acompanha o estado das conexões e bloqueia os pacotes que não estão de acordo com o estado esperado. Isto ocorre através da incorporação de uma maior sensibilização da camada de transporte, conforme pode ser constatado na figura 2. Tal como acontece com a filtragem de pacotes, a inspeção de estado intercepta pacotes na camada de rede e fiscaliza-os para ver se essas conexões são permitidas por uma regra de firewall existentes. Mas, ao contrário de filtragem de pacotes de inspeção, o stateful firewall acompanha cada conexão em uma tabela de estado, apesar de os detalhes das entradas da tabela de estado variarem de produto de firewall para firewall. As entradas da tabela de estado normalmente incluem o endereço IP de origem, o endereço IP de destino, números de porta e informações sobre o estado de conexão. O funcionamento do statefull firewall é o seguinte: o firewall verifica somente o primeiro pacote de cada conexão, de acordo com as regras de filtragem; a tabela de conexões ganha uma nova entrada, quando o pacote inicial é aceito; os demais pacotes são filtrados, utilizando-se as informações da tabela de estados.
4 Filtro de pacotes de estados (Statefull) A seguir é apresentado um exemplo de uma tabela de estado. Tabela 1: Exemplo de Tabela de Estados Tabela de Estados Repare a primeira linha onde um ativo da rede interna ( ) tenta acessar a outro ativo ( ) além do firewall. A tentativa de conexão é verificada, inicialmente, com o objetivo de verificar se ela é permitida pelas regras de firewall. Caso seja permitida, uma entrada é adicionada à tabela de estado e indica que
5 uma nova sessão está sendo iniciada, como apresentado na primeira entrada em estado de ligação. Caso os ativos e completem a conexão TCP, o estado da conexão irá mudar para estabelecida, e todo o tráfego posterior correspondente a essa entrada será permitido (SCARFONE e HOFFMAN, 2008). Arquiteturas de Firewall O firewall pode ser aplicado de formas diferentes em uma rede, atendendo as necessidades da empresa. Essas arquiteturas são apresentadas na sequência. Dual-homed host 1. Formada por um equipamento que tem duas interfaces de rede. 2. Funciona como separador entre duas redes. 3. O Firewall torna-se um ponto único de falhas. Dual-homed Host Screened host 1. Sem sub-rede de proteção.
6 2. Elementos = 1 filtro de pacotes e 1 bastion host. 3. Rede protegida que não possui acesso direto à rede externa. 4. Bastion host realiza o papel de procurador só ele passa pelo roteador. 5. O filtro deve ter regras que permitam o tráfego para a rede interna somente por meio do Bastion Host. 6. O Bastion Host reside na rede interna. 7. Se ele for comprometido, o atacante tem acesso à rede interna (Ex.: sniffer). 8. O Bastion Host concentra várias funções nesta arquitetura: se ele cair, várias funcionalidades da rede se perdem. Screened Host Screened Subnet 1. Apresenta múltiplos níveis de redundância. 2. É a mais segura. 3. Componentes: Roteador externo;
7 Sub-rede intermediária (DMZ); Bastion Hosts; Roteador Interno. 4. O que é a DMZ (De Militarized Zone): Trata-se de sub-rede. Sub-rede entre a rede externa e a protegida com os serviços oferecidos aos usuários da rede externa. Proporciona segurança. 5. Somente a sub-rede DMZ é conhecida pela Internet. 6. Um ataque à rede DMZ não deve comprometer a rede Interna. 7. Permite que serviços sejam providos para os usuários externos (por meio de bastion hosts) ao mesmo tempo em que protege a rede interna de acessos externos. 8. A DMZ cria uma zona de confinamento.
8 Screened Subnet Proxy Um gateway de aplicativo de proxy é um recurso do firewall que combina o controle de acesso com a funcionalidade da camada superior. Os firewalls contêm um agente proxy que atua como um intermediário entre dois hosts que desejam se comunicar uns com os outros, e nunca permite uma conexão direta entre eles. Cada tentativa de conexão bem-sucedida resulta, na verdade, na criação de duas conexões separadas, uma entre o cliente e o servidor proxy e outra entre o servidor proxy e o seu verdadeiro destino, conforme apresentado na figura 6. Proxy na rede O proxy, além de tornar a rede mais segura, também pode deixála com um maior desempenho. Essa eficiência vem com base na utilização dele como cache de informações solicitadas. Esta vantagem possibilita que, caso múltiplas máquinas solicitem o mesmo dado, este poderá estar disponível no proxy,
9 ocasionando um melhor desempenho, reduzindo o tráfego na rede, em virtude da redução do número de conexões solicitadas. O proxy é transparente para os dois usuários, de forma que, da sua perspectiva, parece haver uma conexão direta, como pode ser visto na figura 7. Como os hosts externos se comunicam com o agente de proxy, conforme apresentado na figura 6, os endereços IP internos não conhecem o mundo exterior. Cada agente proxy pode exigir a autenticação de cada usuário da rede individualmente (proxy de autenticação). Essa autenticação do usuário pode assumir muitas formas, incluindo a identificação de usuário e senha, token de hardware ou software, endereço de origem e dados biométricos (SCARFONE e HOFFMAN, 2008). Conexão direta entre cliente e servidor HTTP Desta forma, Morimoto (2010) resume as vantagens de se usar um proxy nos seguintes itens: 1. impõe restrições com base em horários, login, endereço IP e outras informações, além de bloquear páginas com conteúdos indesejados;
10 2. funciona como um cache de páginas e arquivos, armazenando informações já acessadas. Ao acessar uma página que já foi apresentada, o proxy envia os dados que armazenou no cache; 3. possibilita registrar todos os acessos (log) realizados através dele. Apresentadas as características iniciais do proxy, serão descritas algumas de suas funcionalidades e como ele trabalha. O gateway proxy opera na camada de aplicação e verifica o conteúdo real do tráfego. Ao contrário de análise do filtro de pacotes, que verifica, principalmente, se o tráfego é consistente com as regras de análise de IPs, serviços e protocolos, os gateways de aplicação proxy analisam mais profundamente o conteúdo do pacote, fazendo a distinção entre o tráfego normal de um determinado protocolo e o tráfego que podem conter URLs (Uniform Resource Locator Localizador Padrão de Recursos) indesejadas, isto é, páginas com conteúdos indesejados. Para que a comunicação possa ser realizada, os gateways executam a conexão TCP (3-way handshake) com o sistema de origem e são capazes de proteger a informação contra explorações em cada etapa de uma comunicação. Além disso, os gateways podem tomar decisões para permitir ou negar o tráfego com base nas informações contidas nos cabeçalhos de aplicação do protocolo ou de dados. Por exemplo: um gateway pode determinar se uma mensagem de contém um anexo de um determinado tipo que a organização não permite (como um arquivo executável), ou então as mensagens instantâneas utilizando a porta 80 (normalmente usado para HTTP). Outra característica do proxy é que ele pode restringir as ações a serem executadas (por exemplo, os usuários podem ser impedidos de usar o FTP). Também pode ser usado para permitir ou negar as páginas da Web que contêm determinados tipos ativos como Java ou ActiveX.
11 Como os serviços de proxy trabalham Os serviços proxy necessitam de dois componentes: o servidor proxy e o cliente. Ele recebe as requisições do cliente e realiza uma avaliação das mesmas. Desta forma, com base nas ACLs (Access Control Lists Listas de Controle de Acesso), o poxy decide quais requisições serão aprovadas, ou negadas. Caso a requisição seja aceita, o proxy realiza a conexão com o servidor de internet e encaminha a solicitação do cliente para o servidor, conforme descrito anteriormente e visualizado na figura 9. Assim, o servidor proxy, por sua vez, controla quais usuários podem acessar o quê, quando e como. Métodos de utilização do proxy: 1. Método da Conexão Direta (usuário se conecta ao proxy) no browser do cliente é configurado o endereço do servido proxy, a porta em que estará na escuta (Ex.: portas 3128 ou 8080) e quais serviços estarão sob sua análise; 2. Método de proxy de Autenticação essa forma de utilização do Proxy força a todo usuário ser identificado e autenticado, ao acessar inicialmente algum serviço monitorado pelo Proxy. Essa forma possibilita ao gerente da rede uma visão precisa quanto aos usos dos serviços, URLs, entre outros pontos, por usuário. Isto porque todo e qualquer acesso ficará registrado e relacionado ao usuário; 3. Método do Proxy Transparente muito utilizado pelas empresas, onde nessa situação os usuários não possuem conhecimento da existência do Proxy, isto é, todo o tráfego do cliente é analisado sem que o cliente tenha conhecimento. Com a finalidade de comparar uma requisição que passa pelo Proxy e uma requisição que não passa, são apresentadas a seguir essas situações.
12 Requisição HTTP sem Proxy Conforme apresentado na figura 8, as seguintes tarefas são executadas: 1. O cliente realiza a requisição http; 2. O servidor HTTP faz uso somente do caminho e da URL requisitada; 3. O tipo do protocolo http e o nome do servidor são claros para o servidor HTTP remoto; 4. O caminho requisitado especifica um documento no sistema de arquivos local do servidor; ou, ainda, algum outro recurso disponível daquele servidor. Requisição do usuário: O browser converte para: GET /depto/setor/pag.html> Requisição normal Requisição HTTP com Proxy Conforme apresentado na figura 9, as seguintes tarefas são executadas quando se encontra o Proxy no sistema de segurança:
13 1. o cliente realiza a requisição HTTP com proxy; 2. o cliente especifica toda a URL para o proxy; com isto, o proxy possui todas as informações necessárias para realizar a requisição ao servidor remoto especificado na URL. Requisição do usuário: O browser converte para: GET O browser se conecta ao servidor. O proxy realiza a conexão com o servidor de internet, convertendo a requisição para: GET /depto/setor/pag.html Uso do servidor proxy entre cliente e servidor HTTP Apesar de o Proxy apresentar vantagens, citadas anteriormente, ele também possui algumas desvantagens como: 1. pode-se necessitar servidores diferentes para cada serviço; 2. os serviços oferecidos por proxy ocasionam certo atraso na realização dos serviços. Referências SCARFONE, Karen e HOFFMAN, Paul. Guidelines on firewalls and firewall policy. National Institute of Standards and
14 Technology NIST, 800-3, MORIMOTO, Carlos E. Servidores Linux, guia prático. Porto Alegre: Ed. Sul Editores, Autor: Ms. Luiz Otávio Botelho Lento
Como funciona um Firewall Toda a facilidade trazida pelo aumento do acesso à Internet também serviu para tornar os computadores menos seguros, transformando o uso de um firewall em uma regra básica de
OSRC Segurança em Redes de Computadores Módulo 10: Firewalls e Proxies
OSRC Segurança em Redes de Computadores Módulo 10: Firewalls e Proxies Prof. Charles Christian Miers e-mail: charles.miers@udesc.br Pilha de Protocolo DARPA Programas de Aplicação CMOT FTP ASN1 SMTP Telnet