GUSTAVO ANDRIOLLI DE SIQUEIRA CAVALCANTI UM MECANISMO DE RECONFIGURAÇÃO DINÂMICA DE FIREWALL



Documentos relacionados
Entendendo como funciona o NAT

Características de Firewalls

Firewalls. Firewalls

TCP/IP TCP UDP IP HTTP HTTPS FTP TFTP TELNET POP3 IMAP SMTP SNMP DHCP

Segurança de redes com Linux. Everson Scherrer Borges Willen Borges de Deus

Firewall. Alunos: Hélio Cândido Andersson Sales

Componentes de um sistema de firewall - I

Auditoria e Segurança da Informação GSI536. Prof. Rodrigo Sanches Miani FACOM/UFU

FIREWALL. Prof. Fabio de Jesus Souza. Professor Fabio Souza

Rede d s d e d Com o pu p t u ado d r o es Conceitos Básicos M d o e d los o de d Re R de d s:

UNIVERSIDADE FEDERAL DE PELOTAS

Capítulo 8 - Aplicações em Redes

CAMADA DE TRANSPORTE

Segurança de Redes. Firewall. Filipe Raulino

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Firewall. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes. Campus Cachoeiro Curso Técnico em Informática

REDES DE COMPUTADORES

MÓDULO 7 Modelo OSI. 7.1 Serviços Versus Protocolos

Guia de Conectividade Worldspan Go Res! A V A N Ç A D O

ALTERNATIVA PARA CONEXÃO VIA INTERNET DE IP MASCARADO A IP REAL

Componentes de um sistema de firewall - II. Segurança de redes

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

IP significa Internet Protocol. A Internet é uma rede, e assim como ocorre em qualquer tipo de rede, os seus nós (computadores, impressoras, etc.

INTERNET = ARQUITETURA TCP/IP

Arquitetura de Rede de Computadores

3 SERVIÇOS IP. 3.1 Serviços IP e alguns aspectos de segurança

Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

SISTEMAS DISTRIBUIDOS

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Rede de Computadores

Arquitetura e Protocolos de Rede TCP/IP. Modelo Arquitetural

Redes de Computadores. Protocolos de comunicação: TCP, UDP

Capítulo 9 - Conjunto de Protocolos TCP/IP e Endereçamento. Associação dos Instrutores NetAcademy - Julho de Página

Um pouco sobre Pacotes e sobre os protocolos de Transporte

MÓDULO 8 Modelo de Referência TCP/IP

FTP Protocolo de Transferência de Arquivos

Segurança da Informação

Configurando o DDNS Management System

Redes de Computadores

Segurança na Rede Local Redes de Computadores

Segurança em Sistemas de Informação Tecnologias associadas a Firewall

Redes de Computadores II. Professor Airton Ribeiro de Sousa

SISTEMAS OPERACIONAIS LIVRES GERENCIAMENTO DE SERVIÇOS NO WINDOWS. Professor Carlos Muniz

Disciplina Fundamentos de Redes. Introdução ao Endereço IP. Professor Airton Ribeiro de Sousa Outubro de 2014

CCNA 2 Conceitos Básicos de Roteadores e Roteamento

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

APLICAÇÃO REDE APLICAÇÃO APRESENTAÇÃO SESSÃO TRANSPORTE REDE LINK DE DADOS FÍSICA 1/5 PROTOCOLOS DE REDE

4. Qual seria o impacto da escolha de uma chave que possua letras repetidas em uma cifra de transposição?

Segurança em Sistemas de Informação. Agenda. Conceitos Iniciais

Redes de Computadores. Prof. André Y. Kusumoto

Há dois tipos de configurações bidirecionais usados na comunicação em uma rede Ethernet:

PARANÁ GOVERNO DO ESTADO

Sistemas Distribuídos Capítulos 3 e 4 - Aula 4

Hackers. Seus dados podem ser inúteis, mas seu computador em si pode ainda ser um recurso valioso.

3) Na configuração de rede, além do endereço IP, é necessário fornecer também uma máscara de subrede válida, conforme o exemplo:

Arquiteturas de Rede. Prof. Leonardo Barreto Campos

Redes de Computadores. 1 Questões de múltipla escolha. TE090 - Prof. Pedroso. 17 de junho de 2015

Professor(es): Fernando Pirkel. Descrição da(s) atividade(s):

Segurança em Sistemas de Informação

Objetivos deste capítulo

para que quando a resposta que provenha da Internet pudesse ser permitida, ou seja, pudesse acessar o computador do usuário. Em outras palavras, o

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Cap 03 - Camada de Aplicação Internet (Kurose)

Políticas de Segurança de Sistemas

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

ADDRESS RESOLUTION PROTOCOL. Thiago de Almeida Correia

Protocolo. O que é um protocolo? Humano: que horas são? eu tenho uma pergunta

Capítulo 9. Gerenciamento de rede

A IMPORTÂNCIA DE FIREWALL S PARA AMBIENTES CORPORATIVOS

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

Firewalls. O que é um firewall?

Servidor, Proxy e Firewall. Professor Victor Sotero

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

NETWORK ADDRESS TRANSLATION

FTIN Formação Técnica em Informática Módulo de Administração de Servidores de Rede AULA 02. Prof. Gabriel Silva

UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTÁTISTICA GRADUAÇÃO EM CIÊNCIAS DA COMPUTAÇÃO DISCIPLINA: COMUNICAÇÃO DE DADOS

TECNOLOGIA WEB INTERNET PROTOCOLOS

Redes. Pablo Rodriguez de Almeida Gross

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Administração de Sistemas Operacionais

Engenharia de Software III

Capítulo 11: NAT para IPv4

ICORLI. INSTALAÇÃO, CONFIGURAÇÃO e OPERAÇÃO EM REDES LOCAIS e INTERNET

DarkStat para BrazilFW

Segurança da Informação

IPTABLES. Helder Nunes

3. Explique o motivo pelo qual os protocolos UDP e TCP acrescentam a informação das portas (TSAP) de origem e de destino em seu cabeçalho.

Firewall. Qual a utilidade em instalar um firewall pessoal?

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Histórico da Revisão. Versão Descrição Autor. 1.0 Versão Inicial

5 Mecanismo de seleção de componentes

Administração do Windows Server 2003

Indústria de Cartão de Pagamento (PCI)

Transcrição:

GUSTAVO ANDRIOLLI DE SIQUEIRA CAVALCANTI UM MECANISMO DE RECONFIGURAÇÃO DINÂMICA DE FIREWALL Joinville SC 2011

UNIVERSIDADE DO ESTADO DE SANTA CATARINA CENTRO DE CIÊNCIAS TECNOLÓGICAS - CCT DEPARTAMENTO DE CIÊNCIAS DA COMPUTAÇÃO GUSTAVO ANDRIOLLI DE SIQUEIRA CAVALCANTI UM MECANISMO DE RECONFIGURAÇÃO DINÂMICA DE FIREWALL Trabalho de Conclusão de Curso submetido à Universidade do Estado de Santa Catarina como parte dos requisitos para obtenção do grau de Bacharel em Ciência da Computação. Orientador: Rafael Rodrigues Obelheiro, Dr. Joinville SC 2011

GUSTAVO ANDRIOLLI DE SIQUEIRA CAVALCANTI MECANISMO DE RECONFIGURAÇÃO DINÂMICA DE FIREWALL Trabalho realizado como requisito parcial para a obtenção do grau de bacharel, no curso de graduação em Ciência da Computação da Universidade do Estado de Santa Catarina UDESC. Banca Examinadora: Orientador: Rafael Rodrigues Obelheiro, Dr. Universidade do Estado de Santa Catarina UDESC Membro : Janine Kniess, Dr. Universidade do Estado de Santa Catarina UDESC Membro : Carlos Noberto Vetorazzi Junior, Me. Universidade do Estado de Santa Catarina UDESC Joinville SC, 04/11/2011

Aos que vislumbraram um mundo melhor e têm incondicionalmente lutado, dia após dia, pelo bem comum. Aos meus professores, aos que amo, aos que me amam e, primordialmente, aos meus pais.

AGRADECIMENTOS Muit@s vieram, muit@s ficaram e muit@s se foram (talvez para voltar mais uma vez!). Contudo, desses muitos muit@s, algumas coisas deixadas foram essenciais e contribuíram para eu poder chegar até aqui, como a bondade, o carinho, as alegrias, as dificuldades (princípio da dualidade!), o conhecimento e os ensinamentos. Espero proporcionar, nesse mesmo sentido, tamanha devoção para com esses seres tão queridos. Aos escritoræs, poetas, filósof@s, artistas, músicos, cineastas, podcasters, blogueir@s e toda a gama de gente, cujo os trabalhos chegaram até mim em forma de textos, livros, filmes, músicas, desenhos e todas as outras formas de arte, que proporcionaram momentos de descontração, diversão e reflexão (muitas vezes ao lado de pessoas muito estimadas!). Aos meus professoræs, apesar da tarefa árdua de ensinar, mostraram como me superar, aprendendo nos acertos e nos erros. Aos meus amig@s: Daniella Sgrott, Ana Hemb e Géssica Garvizú, pois entraram para sempre em meu coração; Felipe Cavalcanti, Daniel Rosa, Walter Ziebarth e Christian Michels, pelas risadas e diversões; Fabio Morandim, Rafael Linhares, Felipe Cavalcanti, Diego Gomes, Eduardo Bertazzo, Nathan Nunes, Santiago Sipoli, Leo Mertens, Daniella Sgrott, Ana Hemb e Géssica Garvizú, pelos momentos épicos de RPG; Lucas Punchirolli,

Henrique Herbst, Bruno Souza, Carolina Mesquita, Laíza Zaboli, Richard Borges, Diogo Medeiros, Diego Buchinger, Alessandro Brückheimer, Marina Fouto e Susana Huller, por dividirem as alegrias e frustrações da graduação; Renata Petry, Rafael Nunes, Eloisa Andresen, Dinho Barcelar, Bruno Anzini, Ludimila Castro, Ana Araújo e Deise Prudencio, pela melhor segunda família ever; Susana Huller, Gabriela Huller e Rogério Júnior, pelas conversas cerebrais e as acéfalas. À minha família: Felipe e Guilherme, irmãos megabogas; José e Janete, pais dotados de extrema bondade, carinho, compaixão, sabedoria e amor, e passaram os valores, ou a capacidade de desenvolver valores, morais e éticos. À casa dos Huller: Susana, pela dedicação e amor incondicionais. Gabriela, por rivalizar em ideias e ideologias. João e Maria, pelo carinho e apoio. Ao meu orientador, Rafael Obelheiro, pelo apoio, dedicação, bom humor e bom senso. À Susana, mais uma vez, pelo carinho e apoio inestimáveis.

Não sei. Provavelmente alguns, como Mercurion, ficarão aqui para sempre, vagando pelo etéreo, para ver as plantas morrerem, os rios secarem e a relva queimar. Mas a maioria deles já regressou à Arcádia, que é a sua dimensão de origem. Lá é sempre verão, e o calor nunca fenece. -Da necromante para o renegado. EDUARDO SPHOR A Batalha do Apocalipse.

RESUMO Firewalls são ferramentas de seguranças vitais para as redes de computadores que se conectam à Internet. Apesar dessa importância, firewalls apresentam limitações em certos contextos, quando são configurados de forma estática. Para tratar essas limitações, alguns protocolos e mecanismos de configuração dinâmica de firewalls têm sido propostos. Do ponto de vista operacional, uma preocupação que envolve tais mecanismos diz respeito a segurança; alguns apresentam baixa ou nenhuma segurança envolvida, enquanto outros especificam requisitos de segurança, como autenticação e autorização, mas não informam como implementar tais requisitos. O presente trabalho apresenta a proposta de um mecanismo de reconfiguração dinâmica de firewall, assim como a arquitetura, os requisitos de segurança e as operações básicas implementados em um protótipo do mecanismo proposto. Palavras-chave: Firewall dinâmico. Firewall. Reconfiguração dinâmica.

ABSTRACT Firewalls are vital security tools for computer networks that connect to the Internet. Despite this importance, firewalls present limitations in certain contexts, when they are configured statically. To handle these limitations, some firewalls dynamic configuration protocols and mechanisms been proposed. From an operational perspective, a concern about these mechanisms involves security; some have low or no security involved, while others specify security requirements, such as authentication and authorization, but do not tell how to implement these requirements. This work proposes a mechanism for dynamic reconfiguration of firewall, as well as the architecture, the security requirements and the basic operations implemented in the proposed mechanism. Keyworlds: Stateful firewall. Firewall. Dynamic reconfiguration.

LISTA DE ILUSTRAÇÕES Figura 1: Um ambiente simples de firewall...15 Figura 2: Ambiente de firewall com NAT...15 Figura 3: Ambiente de firewall com DMZ...16 Figura 4: Um ambiente mais complexo...16 Figura 5: Firewall como man-in-the-middle em SSL...22 Figura 6: Tradução de endereços de rede...24 Figura 7: Demonstração do Port Knocking...27 Figura 8: Demonstração do framework MIDCOM...30 Figura 9: Sinalização NSIS...33 Figura 10: Tráfego de sinalização NSLP...34 Figura 11: Entidades no processo de autorização...35 Figura 12: Arquitetura de contabilização...37 Figura 13: Sujeito capturando requisição em tráfego local...42 Figura 14: Sujeito reintroduzindo requisição capturada...43 Figura 15: Cenário provável para o uso do mecanismo...44 Figura 16: Modelo físico e lógico do Mecanismo de Reconfiguração Dinâmica de Firewall.....46 Figura 17: Simplificação para requisições entre redes locais, em diferentes interfaces no firewall...49 Figura 18: Diagrama de sequencia de uma requisição...57

LISTA DE TABELAS Tabela 1: Conjunto de regras de um filtro de pacotes...19 Tabela 2: Estado de conexões de um filtro de pacotes com estado...20 Tabela 3: Subconjunto da gramática do PF, usada no protótipo...51 Tabela 4: Campos de uma requisição...54 Tabela 5: Conjuntos de permissões de requisições...58

LISTA DE ABREVIATURAS AAA - Authentication, Authorization and Accounting (Autenticação, Autorização e Contabilização) ALG - Application Layer Gateway API - Application Programming Interface (Interface de Programação de Aplicações) AVP - Attribute-Value Pair CIDR - Classless Inter-Domain Routing DMZ - Demilitarized Zone (Zona Desmilitarizada) DNS - Domain Name System DOS - Denial of Service (Negação de Serviço) FTP - File Transfer Protocol GIST - General Internet Signaling Protocol HTTP - Hypertext Transfer Protocol IDS - Intrusion Detection System (Sistema de Detecção de Intrusão) IGD - Internet Gateway Device IETF - Internet Engineering Task Force IP - Internet Protocol IPSec - Internet Protocol Security LAN - Local Area Network MIDCOM - Middlebox Communication MITM Man-In-The-Middle MRDF Mecanismo de Reconfiguração Dinâmica de Firewall NAT - Network Address Translation NE - NSIS Entity NSIS - Nest Steps in Signaling NSLP - NSIS Signaling Layer Protocol OSI - Open Systems Interconnection P2P - Peer-to-Peer PDP - Policy Decision Point QoS - Quality of Service (Qualidade de Serviço) TCP - Transmition Control Protocol TLS - Transport Layer Security

RCP Real-Time Transport Protocol RTCP RTP Control Protocol RFC - Request for Comments RSVP - Resource Reservation Protocol SSL - Secure Socket Layer SIP - Session Initiation Protocol SNMP - Simple Network Management Protocol UDP - User Datagram Protocol UHO - User Home Organization UPnP - Universal Plug and Play

SUMÁRIO 1 INTRODUÇÃO...9 1.1 OBJETIVOS...10 1.1.1 Objetivos Específicos...10 1.2 ESTRUTURA DO TRABALHO...11 2 FUNDAMENTAÇÃO TEÓRICA...12 2.1 FIREWALL...12 2.1.1 Ambiente...14 2.1.2 Política...17 2.1.3 Tipos de firewalls...17 2.1.3.1 Filtros de pacotes...17 2.1.3.2 Filtros de pacotes com estado...19 2.1.3.3 Filtragem no nível de aplicação...20 2.1.3.4 Gateway no nível de circuito...22 2.1.3.5 Network Address Translator (NAT)...23 2.2 MECANISMOS DE CONFIGURAÇÃO DINÂMICA FIREWALLS...26 2.2.1 Port Knocking...26 2.2.2 UPnP...28 2.2.3 MIDCOM...29 2.2.4 Firewall/NAT NSLP...32 2.3 AUTENTICAÇÃO, AUTORIZAÇÃO E CONTABILIZAÇÃO (AAA)...33 2.3.1 Autenticação...34 2.3.2 Autorização...34 2.3.3 Contabilização...35 2.4 CONSIDERAÇÕES DO CAPÍTULO...37 3 PROPOSTA E PROTÓTIPO IMPLEMENTADO...40 3.1 PROPOSTA...40 3.1.1 Requisitos...40 3.1.2 Arquitetura...45 3.2 PROTÓTIPO IMPLEMENTADO...49 3.2.1 PF...50 3.2.1.1 Regras do PF...50 3.2.1.2 Exemplo de regras do PF...53 3.2.2 O mecanismo de reconfiguração dinâmica de firewall...53 3.2.2.1 Requisição...54 3.2.2.2 A adição de regras no firewall...56 3.2.2.3 Ciclo de vida de uma requisição...57 3.2.3 Estudo de caso...58 3.3 CONSIDERAÇÕES DO CAPÍTULO...60 4 CONCLUSÃO...61 REFERÊNCIAS...63

1 INTRODUÇÃO 9 Uma vez que tem se tornado vital para empresas, organizações e até usuários domésticos buscarem as informações disponíveis na Internet, uma porção significativa destas redes usam firewalls baseados em filtros de pacotes como ferramentas de segurança (STALLINGS, 2008). Essas ferramentas podem ser entendidas como mecanismos de controle de acesso, que através de um conjunto de regras predefinidas limitam o tráfego permitido na rede àquilo que está em conformidade com a política de segurança da organização, seja de dentro da LAN (Local Area Network) para fora ou vice-versa. Em geral, as regras de acesso de um firewall são configuradas estaticamente por um administrador de segurança. Para a maioria das aplicações, isso não apresenta nenhum problema, uma vez que suas características de tráfego (endereços IP, portas TCP e UDP) são igualmente estáticas, permanecendo inalteradas ou mudando apenas esporadicamente. Entretanto, em diversos contextos a configuração estática se torna demasiado restritiva. Alguns exemplos são protocolos como SIP (Session Initiation Protocol), FTP (File Transfer Protocol), sistemas multimídias e muitas aplicações P2P (Peer-to-Peer) e para compartilhamento de arquivos, que se caracterizam por usar números dinâmicos de portas TCP e UDP (STIEMERLING; QUITTEK, 2002). Como os números de portas são imprevisíveis, torna-se difícil escrever regras de filtragem adequadas para esses tipos de tráfego; a tendência é que se escrevam regras demasiadamente restritivas, que preservam a segurança mas prejudicam a conveniência do usuário, ou muito permissivas, que priorizam a conveniência em detrimento da segurança. Outro exemplo é um serviço de rede que é usado apenas em determinados períodos de tempo: para evitar a intervenção manual a cada vez que o serviço é ativado, muito provavelmente haverá uma regra permitindo o tráfego para esse servidor mesmo quando ele não é desejável. Uma outra dificuldade encontrada surge quando é usado NAT (Network Address Translator). O NAT permite que todos os host em uma rede interna usem endereços IP válidos apenas nessa rede, mas que possam se comunicar com hosts fora dessa rede usando o endereço IP de um NAT box (geralmente um firewall), que

10 é um endereço IP válido globalmente. Esse mecanismo, que será descrito em detalhes na seção 2.1.3.5, impede que hosts na rede externa possam estabelecer conexões com hosts na rede interna (isso é permitido apenas no sentido inverso). Limitação que pode ser contornada através de regras que façam o redirecionamento de tráfego endereçado a uma ou mais portas específicas do NAT box para o host interno correspondente. Essas regras, porém, também são definidas estaticamente (a exemplo das regras de firewall), não existindo uma forma padrão para configurálas dinamicamente (PAULSAMY; CHATTERJEE, 2003). Visando preencher a lacuna identificada nas experiências correlatas, foi desenvolvido um protótipo do mecanismo de reconfiguração dinâmica de firewalls. Levando em conta a proposta e os requisitos considerados, observou-se no desenvolvimento do mecanismo a sua flexibilidade, para poder ser aplicado em diferentes cenários, segurança, minimizando os riscos inerentes à tarefa, e baixa complexidade, facilitando sua adoção. Do ponto de vista de segurança, o maior problema identificado foi a falta de documentação e de trabalhos que implementem a autenticação e autorização nesse tipo de mecanismo. Assim, a implementação foi baseada no sistema operacional Unix, pois além de ser de distribuição livre, possui todas ferramentas administrativas necessárias para o desenvolvimento do mecanismo. 1.1 OBJETIVOS Implementar um mecanismo que permita que regras de firewall sejam reconfiguradas dinamicamente, de forma segura. 1.1.1 Objetivos Específicos Estudar e definir o escopo do problema de passagem pelo firewall. Levantar os requisitos de uma aplicação que pode alterar a configuração de um firewall que regula o acesso ao host onde ela está executando, e com isso ter o seu devido funcionamento.

11 Implementar um mecanismo de autenticação e autorização para reconfiguração de firewall, levando em conta o cuidado de evitar que o mesmo possa ser usado para violar a política de segurança da instituição. 1.2 ESTRUTURA DO TRABALHO Este texto está estruturado da seguinte forma: no Capítulo 2, é feita uma conceituação abrangente, tratando dos aspectos de firewalls e seus tipos mais comuns, seguido de um estudo sobre os mecanismos e protocolos que podem realizar manipulações em regras de firewalls e é encerrado por uma discussão acerca dos procedimentos de autenticação, autorização e contabilização. O escopo do problema e o mecanismo proposto para a resolução desses problemas, identificados nos mecanismos estudados no Capítulo 2, são apresentados no Capítulo 3, assim como a arquitetura, os requisitos de segurança, as operações básicas envolvidas e a implementação do mecanismo proposto. Finalmente, é apresentada a conclusão do trabalho e as expectativas para trabalhos posteriores.

2 FUNDAMENTAÇÃO TEÓRICA 12 Este capítulo introduz conceitos de firewall, seus usos mais comuns e funcionamento. É abordada a necessidade de se ter esses dispositivos de segurança funcionando dinamicamente e os mecanismos que tentam satisfazer esta necessidade: Port Knocking, UPnP, MIDCOM e Firewall/NAT NSLP. Logo em seguida é descrito conceitos de AAA (Authentication, Authorization and Accounting), que considera o fato de se ter autenticação, autorização e contabilização entre dispositivos de redes e/ou em um ponto específico da rede. 2.1 FIREWALL Firewall é um dispositivo ou um conjunto de dispositivos construídos para permitir ou negar transmissões de rede baseadas em um conjunto de regras, sendo usado para proteger redes de acessos não autorizados sem prejuízo de comunicações legítimas (GOUDA; LIU, 2004). Muitos sistemas operacionais de computadores pessoais incluem firewalls na forma de software para se protegerem contra ameaças encontradas na Internet pública. Roteadores, que interligam redes distintas, contêm firewalls na forma de software ou hardware, e muitos firewalls podem realizar funções básicas de roteamento. Segundo BELLOVIN et al. (1994) listam os seguintes objetivos de projeto para um firewall: Todo o tráfego de dentro para fora, e vice-versa, precisa passar pelo firewall. Isso é obtido bloqueando-se fisicamente todo o acesso à rede local, exceto por meio do firewall. Somente o tráfego autorizado, definido pela política de segurança local, terá permissão para passar. O próprio firewall é imune a invasões. Diversas configurações de firewalls são possíveis e diversos tipos de firewalls são usados, implementando diversos tipos de políticas de segurança. Eles serão apresentados mais adiante, neste capítulo.

13 SMITH (1997) lista quatro técnicas gerais que os firewalls utilizam para controlar acesso e impor a política de segurança: Controle de serviço: determina os tipos de serviços de Internet que podem ser acessados, de entrada ou saída. O firewall pode filtrar o tráfego com base no endereço IP e número de porta UDP/TCP; pode oferecer software de proxy que recebe e interpreta cada solicitação de serviço antes de passá-la adiante, ou pode hospedar o próprio software servidor, como um serviço Web ou de correio. Controle de direção: determina a direção em que determinadas solicitações de serviço podem ser iniciadas e permitidas para fluir através do firewall. Controle de usuário: controla o acesso a um serviço de acordo com qual usuário está tentando acessá-lo. Esse controle normalmente é aplicado aos usuários dentro do perímetro do firewall (usuários locais), ou pode ser aplicado ao tráfego que chega de usuários externos; esse último exige algumas formas de tecnologia de autenticação segura, como a que é fornecida no IPSec (KENT; SEO, 2005). Controle de comportamento: controla como determinados serviços são usados. Por exemplo, o firewall pode filtrar e-mail para eliminar spam ou pode permitir o acesso externo a apenas uma parte da informação em um servidor Web local. Firewalls têm algumas capacidades desejadas e algumas limitações. As capacidades que podem ser citadas são: Define um único ponto de estrangulamento que mantém usuários não autorizados fora da rede protegida. Proíbe que serviços potencialmente vulneráveis entrem ou saiam da rede e oferece proteção contra diversos tipos de ataques de falsificação e roteamento IP. O uso de um único ponto de estrangulamento simplifica o gerenciamento da segurança, pois as capacidades de segurança são consolidadas em um único sistema conjunto de sistemas. Oferece um local para monitorar eventos relacionados a segurança. Auditorias e alarmes podem ser implementados no sistema de firewall. É uma plataforma útil para várias funções da Internet que não estão ou

14 relacionadas à segurança. Estas podem incluir NAT, um tradutor de endereços de rede que mapeia endereços locais para endereços da Internet, e função de gerenciamento de rede, que audita ou registra usos da Internet. E as limitações observáveis em um firewall são: Não pode proteger contra ataques que o contornem. Não protege contra ameaças internas. Não pode proteger completamente contra transferência de programas ou arquivos infectados com vírus. Devido à variedade de sistemas operacionais e aplicações aceitas dentro do perímetro, seria impraticável e muito difícil que o firewall varresse todos os arquivos, e-mails e mensagens que chegam em busca de vírus. 2.1.1 Ambiente Um ambiente, em firewalls, descreve o conjunto de sistemas e componentes que estão envolvidos em fornecer ou suportar todas as funcionalidades de um firewall. Ambientes podem ir desde os mais simples ao mais complexos. Simples: Um ambiente simples pode consistir em um firewall de filtro de pacote protegendo um host, como visto na Figura 1. Aqui, o firewall implementa restrições de acesso tanto à rede interna de endereço IP 200.9.1.158, quanto à rede externa de endereço IP 200.9.1.153. Essas restrições podem ser regras anti-spoofing e bloqueio conexões iniciadas a partir da rede externa. Firewall com NAT: Além de realizar operações de filtragem de pacotes, um firewall pode traduzir endereços de rede, como mostrado na Figura 2. Observasse que a rede interna 192.168.2.0, denominada Hosts, não possui endereços válidos para serem roteados na Internet, pois pertence à uma das faixas de endereços reservados definidas na RFC 1918. Os pacotes vindos dessa rede e que saem pela interface externa EX terão o seu endereço de origem traduzido para 200.9.1.153.

15 Figura 1 Um ambiente simples de firewall. Figura 2 Ambiente de firewall com NAT. DMZ: A demilitarized zone, zona desmilitarizada, é uma rede interna criada fora da rede de usuários, que contém um número de servidores de aplicações ou proxies para filtrar e-mails, Web e outros serviços. Esses serviços são colocados na DMZ, pois são acessados externamente e, para não compromenter o restante da rede interna, caso o host de um desses serviços seja invadido. Na Figura 3 são apresentados diversos servidores de aplicações conectados à interface interna IN1 do firewall, uma rede de usuários interna Desen conectada à interface interna IN2.

16 Figura 3 Ambiente de firewall com DMZ. Complexo: Um cenário típico de firewall é apresentado na Figura 4, onde podemos ter algumas distinções entre os elementos apresentados, como um filtro de pacotes, que também realiza funções de NAT, conecta as redes internas à Internet, como: uma DMZ, com servidores e proxies, um servidor interno Subversion na rede Soft e duas redes privadas, ADM e Desen. As separações das redes, como visto na figura, podem ter o intuito de manter as redes de diferentes departamentos menores, no sentido de isolar tráfego entre redes. Figura 4 Um ambiente mais complexo.

2.1.2 Política 17 Uma política de firewall consiste na sequência de regras em uma lista ordenada, onde cada regra é apresentada na forma (LIU; GOUDA, 2005): {predicado} {decisão} O {predicado} da regra é uma expressão booleana sobre alguns campos do pacote, como o endereço IP de origem, endereço IP de destino, número de porta de origem, número de porta de destino e o tipo do protocolo. A {decisão} de uma regra pode ser aceitar, descartar ou uma combinação destas decisões com outras opções, como uma opção de logging. As regras em uma política de firewall podem estar em conflito umas com as outras, pois um dado pacote pode casar com múltiplos predicados. Para resolver tal conflito, é necessário estabelecer um critério de avaliação das regras, como aplicar a primeira ou a última regra cujo predicado case com o pacote. Esse critério é uma escolha de implementação, e diferentes ferramentas adotam diferentes critérios. 2.1.3 Tipos de firewalls Os firewalls podem filtrar vários níveis diferentes em uma pilha de protocolos de rede. Segundo CHESWICK et al. (2003) há três categorias principais, filtragem de pacotes, gateway de aplicação e gateway de circuito, e uma quarta categoria, filtro de pacotes com estado, que é uma combinação de um filtro de pacotes e de um gateway em nível de circuito e que frequentemente também tem semântica de camada de aplicação. 2.1.3.1 Filtros de pacotes Filtros de pacotes operam na camada de rede e de transporte para obter informações sobre as portas da pilha do protocolo TCP/IP, comparando características dos pacotes ao conjunto de regras estabelecidas e executando as

18 ações definidas nestas regras. Algumas ações podem ter sido configuradas como uma ação padrão caso as características do pacote se enquadrem em nenhuma regra: Descartar: aquilo que não é expressamente permitido é proibido. Encaminhar: aquilo que não é expressamente proibido é permitido. As regras de filtragem são baseadas nas seguintes informações: Endereço IP de origem: o endereço IP do sistema que originou o pacote IP (por exemplo, 192.168.2.1) Porta de origem: porta UDP/TCP usada pela aplicação pertencente ao sistema que originou o pacote (por exemplo, TCP:1320). Endereço IP de destino: o endereço IP do sistema que o pacote IP está tentando alcançar (por exemplo, 192.168.2.2) Porta de destino: porta UDP/TCP usada pela aplicação pertencente ao sistema que o pacote deseja alcançar (por exemplo, TCP:80). Campo de protocolo IP: define o protocolo de transporte. Interface: define de qual interface do firewall o pacote veio ou para qual interface do firewall o pacote é destinado. A tabela 1 mostra um exemplo de um conjunto de regras de um filtro de pacotes para uma rede de endereço IP 192.168.1.0/24, que contém os endereços de host de 192.168.1.1 a 192.168.1.254. Nesse firewall, os pacotes têm o endereço e porta de origem e destino examinados e comparados com a primeira regra, mais ao topo, até a última. O * indica um endereço IP qualquer, quando nas colunas de endereço de origem e destino, e um número qualquer de porta TCP ou UDP, quando nas colunas de porta de origem e destino. Protocolos de transporte TCP e UDP estão determinados entre parênteses. Conforme uma regra permite ou nega a passagem de um pacote encontrado, uma das ações a seguir podem ser executadas: Permitir: o pacote passa através do firewal e um log é gerado. Negar: o firewall rejeita o pacote, que não passa pelo firewall. Uma vez que o pacote é rejeitado, é retornada uma mensagem de erro para o sistema de origem. Essa ação pode ou não gerar log, dependendo de como foi configurado.

Tabela 1 Conjunto de regras de um filtro de pacotes. 19 Endereço de Origem Porta de Origem Endereço de Destino Porta de Destino Ação 1 * * 192.168.1.0/24 > 1023 Permitir 2 192.168.1.1 * * * Negar 3 * * 192.168.1.1 * Negar 4 192.168.1.0/24 * * * Permitir 5 * * 192.168.1.2 (TCP)SMTP Permitir 6 * * 192.168.1.3 (TCP)HTTP Permitir 7 * * * * Negar Descartar: o firewall rejeita o pacote, mas nenhuma mensagem de erro é retornada para o sistema de origem. Essa ação pode ser usada para não revelar a presença do firewall, e um log pode ou não ser gerado. 2.1.3.2 Filtros de Pacotes com Estado Filtros de pacotes com estado possibilitam analisar o estado da conexão e bloquear pacotes que desviam do estado esperado (GOUDA & LIU, 2007). Assim como em filtros de pacotes normais, os filtros de pacotes com estado interceptam os pacotes da camada de rede e os inspecionam a fim de determinar se os pacotes são permitidos por um regra existente no firewall. Mas, diferentemente dos filtros de pacotes, os com estado mantêm informação de cada conexão em uma tabela de estados. Os detalhes das entradas da tabela de estados podem incluir endereço IP e número de porta de origem e destino e informação do estado da conexão. A tabela 2 ilustra um exemplo de tabela de estado. Se um dispositivo, com endereço IP 192.168.1.100, na rede interna tenta se conectar com um dispositivo, com IP 192.0.2.71, em uma rede externa, a tentativa de conexão é verificada pelo conjunto de regras do firewall. Se permitida, uma entrada é adicionada na tabela de estados indicando que uma nova sessão está sendo iniciada. Se 192.0.2.71 e 192.168.1.100 completarem o three-way handshake do TCP, o estado da conexão irá mudar para estabelecida e todo o tráfego subsequente que se enquadrar às entradas terá a sua passagem permitida através do firewall.

Tabela 2 Estado de conexões de um filtro de pacotes com estado. 20 Endereço de Origem Porta de Origem Endereço de Destino Porta de Destino Estado da Conexão 192.168.1.100 1030 192.0.2.71 80 Iniciada 192.168.1.102 1031 10.12.18.74 80 Estabelecida 192.168.1.101 1033 10.66.32.122 25 Estabelecida 192.168.1.106 1035 10.231.32.12 79 Estabelecida Como alguns protocolos, dentre eles o UDP, são sem conexão e não possuem uma maneira padronizada de iniciar, estabelecer e terminar uma comunicação, seus estados não podem ser estabelecidos na camada de transporte como é feito para o TCP. Para estes protocolos, o firewall com estados possivelmente só poderá manter informações de endereço IP e número de porta de origem e destino. Pacotes UDP ainda devem se enquadrar em entradas na tabela de estados com base nas informações de endereço IP e número de porta de origem e destino para serem permitidos a passar. Uma resposta DNS de um host terá a sua passagem permitida somente se o firewall tiver observado uma consulta DNS correspondente de um host interno. Uma vez que o firewall não tem como determinar quando uma sessão terá sido terminada, a entrada é removida da tabela de estados após um timeout (LIU, 2005). 2.1.3.3 Filtragem no nível de aplicação O gateways na camada de aplicação (ALG - Application Layer Gateway) são firewalls que funcionam na camada de aplicação da pilha de protocolos TCP/IP e têm por objetivo filtrar o tráfego de aplicações como navegadores Web, Telnet e FTP. Eles inspecionam todos os pacotes em busca do tipo da aplicação e do seu conteúdo, o que pode ocasionar em uma maior latência para a entrega do pacote ao seu destino. Este tipo de firewall age como um proxy para um ou mais serviços. Um exemplo pode ser o Great Firewall da China, que tenta bloquear conteúdos de e- mail e Web que façam referências a assuntos proibidos. O firewall pode bloquear sites conhecidos indesejáveis por filtro de IP e procurando palavras proibidas em

21 uma análise profunda nos pacotes, exigindo mais poder de processamento do firewall. Investigações mostraram que, neste caso, não havia um real bloqueio de conteúdo (CLAYTON et al., 2006), mas que as máquinas que compõem o firewall, ao detectar conteúdo indesejável em uma comunicação, simplesmente encerravam a conexão TCP correspondente enviando um segmento TCP RST para os hosts envolvidos. No campo do nível de aplicação, algumas inovações têm deixado mais árduo o trabalho deste tipo de firewall. Um exemplo seria o processador de texto da Google, Google Documents, que é usado por muitas pessoas para editar documentos direto na Internet (GROSSE et al., 2010). Consequentemente, esses usuários podem instantaneamente compartilhar documentos confidenciais uns com os outros, criando um novo canal de comunicação no qual filtros clássicos tem mais dificuldades em inspecionar o conteúdo indevido do que em documentos anexados em e-mails, por exemplo. Proxies de aplicação também podem interagir com outros mecanismos de proteção, como os que são configurados para quebrar criptografia fazendo ataques MITM (Man-in-the-Middle) sobre TLS (Transport Layer Security) (KARAARSLAN, 2004). A Figura 5 ilustra um exemplo onde um cliente tenta realizar, usando SSL (Secure Socket Layer), uma operação bancária via site. Números de cartões de crédito criptografados são utilizados em compras on-line, e sua sessão criptografada pode ter que passar por um proxy, sem ser transparente para o usuário o que está ocorrendo. 1. A chave C pertencente ao cliente é comparada contra o certificado do banco. 2. Havendo um proxy, esse ou pode retransmitir o tráfego sem analisar o conteúdo, possibilitando a conexão com o site de compra, utilizando a mesma chave C do cliente. 3. Ou pode tentar realizar outra sessão criptografada com o site, impedindo que a operação seja efetuada, uma vez que o proxy apresentará a chave FW, que não é equivalente a chave C do cliente e será rejeitada quando comparada contra o certificado do banco.