Universidade Federal Fluminense

Documentos relacionados
Firewalls Reginaldo Campos 1

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

Prof. Marcelo Cunha Parte 6

Data and Computer Network Endereçamento IP

Firewall. Prof. Marciano dos Santos Dionizio

Protocolos da camada de redes. Professor Leonardo Larback

CEA463 SEGURANÇA E AUDITORIA DE SISTEMAS

Firewalls. Carlos Gustavo A. da Rocha. ASSR

Alunos em técnico em Informática da EAFS: Leandro Cavalari, Maria Matos e Renata Rasche.

Prof. Samuel Henrique Bucke Brito

Comunicação de Dados II

Tecnico em TI Instituto Federal de Alagoas. Prof. Esp. César Felipe G. Silva

REDES DE COMPUTADORES

Redes de Computadores Aula 23

Níkolas Timóteo Paulino da Silva Redes de Computadores I ADS 2ºTermo

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade 5 Camada de Transporte e Aplicação. Luiz Leão

REDES DE COMPUTADORES

Camada de Rede. Endereçamento de Rede Protocolo IP

Netfilter e Iptables

Preparação AV3 Fundamentos de Redes de Computadores

Redes de Computadores

Prof. Mizael Cortez Modelo em camadas Arquitetura TCP/IP Modelo ISO/OSI

Os três principais tipos de firewall são o filtro de pacotes, o filtro de pacotes com estado e o proxy.

Introdução a Redes e a Internet. Introdução ao Computador 2010/01 Renan Manola

Protocolos e Arquiteturas de Redes. Thiago Leite

Modelo de Camadas. Redes de Computadores

REDES DE COMPUTADORES

Redes de Computadores I

Rede Local - Administração Endereçamento IPv4

Lista de exercícios - 1º bimestre 2016 REDES

Firewall. Andrei Jean Fabio Garzarella William Passig

Camada de Transporte Protocolos TCP e UDP

FUNDAMENTOS DE REDES DE COMPUTADORES - CCT0647

Roteamento e Roteadores. Conceitos Diversos

FUNDAMENTOS DE REDES DE COMPUTADORES TP1

FUNDAMENTOS DE REDES DE COMPUTADORES TP2

Endereços de Classes IP

INFO3M ARQ REDES. Prova 1 Bimestre. Obs: Questões RASURADAS são consideradas como ERRADAS GABARITO

Modelos de referência de arquiteturas de redes: OSI e TCP/IP Profsº Luciano / Roberto

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

ROUTER. Alberto Felipe Friderichs Barros

Programação para Web

Fundamentos de Redes. Introdução ao Endereço IP TCP/IP. Professor Airton Ribeiro de Sousa 2016

Execícios de Revisão Redes de Computadores Edgard Jamhour. Proxy, NAT Filtros de Pacotes

Arquitetura da Internet TCP/IP

Firewall - Inspeção com estado. (Stateful Inspection)

Campus Capivari Análise e Desenvolvimento de Sistemas (ADS) Prof. André Luís Belini /

Material de Apoio. Equipamentos de Rede HUB

Estrutura do Iptables

Resumo P2. Internet e Arquitetura TCP/IP

Redes de Computadores

Redes de Computadores e Internet

Redes de Computadores. Prof. Msc André Y. Kusumoto

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Classes de endereços IP - Os bits de endereços IP são reservados um para a classe de rede e os outros para computador (host).

Execícios de Revisão Redes de Computadores Edgard Jamhour. Proxy, NAT Filtros de Pacotes

Introdução às camadas de transporte e de rede

Rede de computadores Protocolos UDP. Professor Carlos Muniz

Este documento requer uma compreensão do ARP e de ambientes Ethernet.

Modelo OSI. Marcelo Assunção 10º13. Curso Profissional Técnico de Gestão e Programação de Sistemas Informáticos. Disciplina: Redes de Comunicação

Redes de Computadores.

Configurando Interface de Rede. IPTABLES Firewall em Linux Kernel 2.4 em diante. Regras do Iptables. Iptables. Regras do Iptables. Comandos Principais

CURSO TÉCNICO EM INFORMÁTICA

CURSO TÉCNICO EM INFORMÁTICA

FUNDAMENTOS DE REDES DE COMPUTADORES Unidade IV Camada de Rede. Luiz Leão

Funções da. Os principais serviços oferecidos pela camada de transporte são: Controle de conexão, Fragmentação, Endereçamento e Confiabilidade.

REDES DE COMPUTADORES E TELECOMUNICAÇÕES MÓDULO 9

CURSO TÉCNICO EM INFORMÁTICA

Laboratório Usando Wireshark para Examinar Quadros Ethernet

UNIVERSIDADE FEDERAL DO PIAUÍ COLÉGIO TÉCNICO DE TERESINA-TÉCNICO EM INFORMÁTICA DISCIPLINA: REDES DE COMPUTADORES I PROFESSOR: Valdemir Junior

SISTEMAS OPERACIONAIS DE REDE

Redes de Computadores

Sub-Redes. Alberto Felipe Friderichs Barros

Endereçamento IP. Redes de Computadores. Charles Tim Batista Garrocho. Instituto Federal de São Paulo IFSP Campus Campos do Jordão

Segurança em Sistemas Informáticos. Denial of Service

Tecnologia de Redes de Computadores - aula 2

Rede de computadores Cliente- servidor. Professor Carlos Muniz

Redes de Computadores. Prof. André Y. Kusumoto

DHCP: Dynamic Host Configuration Protocol

NAT. NAT e Tabelas do Iptables NAT NAT. NAT Tipos de Tradução NAT 18/03/2015

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

IMEI MONTAGEM E MANIPULAÇÃO DE REDES DE DADOS - REDES DE COMPUTADORES. Curso Profissional de Técnico de Gestão de Equipamentos Informáticos

Camada de rede. Introdução às Redes de Computadores

Redes de Computadores. Laboratório de Interconexão de Redes e Serviços - 4º Período

Redes de Computadores

Redes de Computadores. Protocolos TCP/IP

CCNA 2 Conceitos Básicos de Roteadores e Roteamento. Capítulo 8 - Mensagens de Erro e de Controle do Conjunto de Protocolos TCP/IP

Ferramentas para Coexistência e Transição IPv4 e IPv6. Módulo 7

Arquiteturas de Redes de Computadores Os Modelos RM-OSI e TCP/IP. Prof. M.e Helber Wagner da Silva

Redes de Computadores

Firewall e tradução de endereço de rede

Funcionalidade e Protocolos da Camada de Aplicação

Segurança de Redes de Computadores

Execícios de Revisão Redes de Computadores Edgard Jamhour. Proxy, NAT Filtros de Pacotes

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

Transcrição:

Universidade Federal Fluminense Especialização em Criptografia e Segurança em Redes JORGELEY INÁCIO DE OLIVEIRA JÚNIOR FIREWALL SEGURANÇA DE REDE LOCAL Rio de Janeiro 2006

Universidade Federal Fluminense Especialização em Criptografia e Segurança em Redes JORGELEY INÁCIO DE OLIVEIRA JÚNIOR FIREWALL SEGURANÇA DE REDE LOCAL Projeto apresentado em cumprimento às exigências da matéria Trabalho Final de Curso, do curso de Pós-Graduação em Criptografia e Segurança em Redes da Universidade Federal Fluminense / Centro de Estudos de Pessoal Exército Brasileiro. Orientador: Prof. Dr. Luiz Manoel Figueiredo Co-Orientador: Prof. Ricardo Carrano Rio de Janeiro 2006

Júnior, Jorgeley Inácio de Oliveira. Firewall Segurança em Rede Local / Jorgeley Inácio de Oliveira Júnior Rio de Janeiro: [s.n.], 2006. xi, 27f. ; 31 cm. Orientador: Prof. Dr. Luiz Manoel Figueiredo. Co-Orientador: Prof. Ricardo Carrano. Projeto (Especialização em Criptografia e Segurança em Redes) Universidade Federal Fluminense, 2006. 1.Protocolos. 2.Redes. 3.Gateways. 4.Roteadores. 5.Firewall. 6.Tabelas. 7.Chains. 8.Nat. 9.Firewall-Projeto. I.Título

JORGELEY INÁCIO DE OLIVEIRA JÚNIOR FIREWALL SEGURANÇA DE REDE LOCAL Projeto apresentado em cumprimento às exigências da matéria Trabalho Final de Curso, do curso de Pós-Graduação em Criptografia e Segurança em Redes da Universidade Federal Fluminense / Centro de Estudos de Pessoal Exército Brasileiro. Aprovado em dezembro de 2006. BANCA EXAMINADORA Prof. Dr. CELSO COSTA UFF Prof. Dr. MARIO OLIVERO UFF Prof. Me. MARCOS TADEU VON LUTZOW VIDAL UFF Rio de Janeiro 2006

A Deus, que me concedeu a dádiva da vida, inteligência e perseverança. A toda minha família e amigos que direta ou indiretamente contribuíram para meu crescimento profissional e humano.

AGRADECIMENTOS Ao professor Ricardo Carrano, que com paciência e maestria, orientou-me durante todo o meu projeto de conclusão do curso de Especialização em Criptografia e Segurança em Redes. Obrigado professor Carrano, sem sua sábia orientação este projeto não seria possível, Deus lhe abençoe.

SUMÁRIO 1. Introdução...10 2. Protocolos, Redes e Sub-redes...11 2.1. Família de Protocolos TCP/IP...11 2.1.1. Protocolo IP...14 3. Gateways e Roteadores...17 4. Tipos de Firewall...19 4.1. Firewall em Nível de Rede...20 4.2. Firewall em Nível de Aplicação...21 4.3. Stateful Firewall...21 5. Topologias/Arquiteturas de Firewall...23 5.1. Roteador Filtrante...23 5.2. Máquina com Dupla Base...24 5.3. Sub-Rede Filtrada...24 5.4. Máquina com Três Interfaces de Rede...25 6. Filtros de Pacotes...26 7. Tabelas...29 8. Chains...30 9. Nat...30 10. Extensões...33 10.1. Ping...33 10.2. Syn-Flood...35 11. Conclusão Recomendações Sobre Firewall...34 Bibliografia...39

LISTA DE TABELAS Tabela 1 Protocolos, serviços, descrição e portas...13 Tabela 2 Classes de IP s...15

RESUMO DA LÍNGUA VERNÁCULA O firewall é apresentado como ótimo meio de segurança para redes locais, o conhecimento sobre protocolos e suas particularidades é de grande valia para qualquer profissional de Tecnologia da Informação e Informática em geral. Sobretudo, o conhecimento sobre a família de protocolos TCP/IP e sua grande gama de protocolos específicos, são altamente imprescindíveis para a construção de um firewall como mecanismo de segurança, entretanto, o conceito de CIDR para técnicas de implementação de sub-redes também faz-se necessário. Os gateways e roteadores, constantes em qualquer rede corporativa, desempenham papel importante em redes internas e na própria internet, portanto seu estudo é válido aos profissionais de TI em geral, principalmente administradores de redes. O firewall, com suas topologias, tipos, tabelas e chains, além de na prática ser bastante utilizado, também deve ser considerado seu aparato teórico, portanto seu estudo e aprofundamento há de ser de suma importância. As extensões contra os ataques corriqueiros, são acima de tudo, ótimas recomendações para regras de firewall. Nat. Palavras-Chave: Protocolos. Redes. Gateways. Roteadores. Firewall. Tabelas. Chains.

1. INTRODUÇÃO É muito comum atualmente podermos obter acesso à internet pelas escolas, universidades, empresas e lan-houses. Estas organizações comumente implementam em sua estrutura interna suas redes locais para acesso à rede mundial, essa implementação normalmente se dá através de um servidor de internet, que nada mais é do que um computador que tem a função de servir acesso aos outros computadores da rede local. A preocupação maior dessas empresas que precisam deste acesso é apenas uma: proteger suas redes internas contra ataques provenientes de outras redes. Devido sua alta popularização nos encontramos hoje diante de um grande descompasso: quanto mais popular a internet mais insegura também ela se torna. É imprescindível para uma organização que deseja obter um certo nível de segurança de seus dados, ou seja, que deseja proteger suas informações, a utilização de ferramentas e softwares que possibilitam tal segurança, dessas ferramentas ou softwares estão dentre eles o firewall, que tem como função principal filtrar o tráfego entre duas redes. Uma das maiores preocupações dos administradores de redes e profissionais de segurança da informação em geral consiste na proteção de uma rede contra ataques vindos de outras redes, e a mais perigosa sempre é a internet. Podemos observar a importância de se considerar a proteção de redes de acordo com Rodrigo Rubira Branco (2002, p. 7): Estudo da Riptech, especializada em segurança, realizado em mais de 400 organizações, aponta um incremento de 64% nos ataques via internet, nos últimos 6 meses em relação ao mesmo período do ano passado. Foram mais de 180 mil ataques realizados com êxito entre janeiro e junho deste a- no. Estima-se que acontecerão mais de 160 mil ataques até o final de 2002.

11 A proteção não é apenas um caso de proteger informações, mas também de proteger serviços, proteger os servidores de rede, ou seja, os servidores de internet, servidores web, servidores de e-mail, servidores de arquivos entre outros. Normalmente os crackers se preocupam mais em atacar estes computadores, pois assim conseguem maior estrago, é só imaginarmos o efeito que teria um servidor de internet atacado por um cracker e após o ataque causar sua parada total, logicamente todo acesso à internet da empresa estagnaria e todas as funções dependentes deste serviço, como por exemplo, vendas on-line estariam paradas e com certeza os prejuízos seriam relevantes. Os fatores aqui levantados até o momento nos dão uma idéia de quão importante e a- brangente é o termo proteger rede local, daqui em diante serão abordados exclusivamente conceitos sobre firewalls, que é o propósito principal deste trabalho, porém antes disso temos que entender e compreender alguns conceitos obrigatórios, dentre eles a família de protocolos TCP/IP. 2. PROTOCOLOS, REDES E SUB-REDES A internet é um conjunto de redes de computadores interligadas, ou seja, uma rede mundial, simplesmente várias redes espalhadas por todo o mundo que se comunicam. O interessante é como se dá essa comunicação, partindo do ponto de vista da linguagem humana, pessoas não conversam com outras pessoas de outros países, pois não falam a mesma língua, para isso ser possível elas teriam que combinar primeiro a linguagem a ser usada em comum, por exemplo, utilizando o inglês, assim falando a mesma língua a comunicação se torna possível. Este mesmo exemplo pode ser aplicado à internet, pois ela só é possível porque as redes espalhadas pelo o mundo todo falam a mesma língua, essa linguagem em comum é denominada família de protocolos TCP/IP. 2.1. FAMÍLIA DE PROTOCOLOS TCP/IP A família de protocolos TCP/IP é o padrão de comunicação da internet, um conjunto de regras e padrões que as redes do mundo todo utilizam para se comunicarem, TCP é um

12 protocolo e IP é outro protocolo, cada um com funções distintas, porém a comunicação não se dá apenas por esses dois protocolos, na verdade utiliza-se um conjunto de protocolos, por isso o nome é família de protocolos TCP/IP, TCP e IP são os principais, portanto foram escolhidos como nome. Independentemente sendo uma rede local ou a própria internet ou qualquer outra rede a comunicação entre dois computadores, como por exemplo, uma troca de e-mails, acesso de página, transferência de arquivos entre outros, é estabelecida segundo os padrões e regras da família TCP/IP. Os dados trocados (fluxo de dados) entre os hosts envolvidos na comunicação são formatados pelos protocolos da família TCP/IP de tal maneira que podem ser tratados corretamente tanto pelo receptor ou pelo emissor (destino e origem), pois os dois utilizam o mesmo esquema de comunicação: a família TCP/IP. Basicamente cada tipo de serviço que a internet provê (acesso de página, download, conexão remota, etc) tem um protocolo reservado, porém todos eles fazem parte da família TCP/IP, ou seja, o protocolo utilizado para acessar página web não é o mesmo utilizado para fazer download. Sendo assim, a comunicação fica bem organizada, cada fluxo de dado, cada dado trocado entre a origem e o destino da comunicação pode ser identificado, pois o protocolo utilizado no fluxo de dado o identifica, ou seja, se o protocolo usado em uma comunicação é, por exemplo, o http então logicamente a comunicação é do tipo acesso de página. Esta organização do tipo de serviço, do tipo de fluxo de dados, do tipo de dados trocados é estabelecida segundo números de portas, estas portas são números que identificam o tipo de serviço, o tipo de protocolo. Vamos a alguns exemplos: Serviço Descrição Porta http Acesso de página 80 Dns Resolução de domínio 53 Ssh Conexão remota 22 ftp Transferência de arquivo 21 Tabela 1 Protocolos, serviços, descrição e portas Essa organização dos serviços através de portas é utilizada por padrão pela internet, todo acesso de página se dá na porta 80, toda transferência de arquivos responde na porta 21 e assim por diante. Dessa maneira o fluxo de dados pode ser tratado corretamente tanto pelo emissor quanto pelo receptor, o tratamento que se dá para um fluxo de dado do tipo acesso de página não é o mesmo tratamento que se dá a um do tipo conexão remota. O que tem que ficar bem claro é que as portas de comunicação organizam os serviços providos.

13 Outro termo que devemos relevar é o termo pacote, que são os dados transmitidos entre a origem da comunicação e o destino da comunicação, eles contêm informações como tipo de protocolo, porta, endereço de origem, endereço de destino e é claro o conteúdo, o dado propriamente dito, entre outros. Quando uma comunicação é iniciada, vários pacotes são trocados entre o emissor e o receptor, mesmo que seja apenas um simples acesso de página ou um simples envio de e-mail, isto acontece porque os dados a serem enviados são grandes demais para serem enviados de uma única vez, então acontece que este único dado é quebrado em várias partes e estas são encapsuladas cada uma em um pacote, cada um contendo informações sobre endereço de origem, endereço de destino, porta, entre outros, todos eles são transmitidos ao destino, inclusive podendo tomar caminhos diferentes, ao chegarem no receptor todos são remontados para formarem o dado inicial enviado pela origem. O transporte dos pacotes é realizado por dois protocolos que são o TCP e o UDP. O TCP é orientado a conexão que significa que ele garante a entrega correta dos pacotes, ou seja, é mais confiável, já o UDP não é orientado à conexão que significa que não garante a entrega correta dos pacotes, portanto não confiável. O UDP, por não ter funções adicionais que garantem a entrega do pacote, é mais rápido do que o TCP, portanto utilizado por serviços que necessitam de maior rapidez e que a correção de pacotes perdidos é desnecessária ou possa ser feita de outra maneira. Fazendo uma analogia entre os dois protocolos, o TCP funcionaria como uma carta registrada que enviamos pelos correios, já o UDP seria como uma carta simples, ou seja, com a carta registrada temos a garantia que a entrega será feita, já com a carta simples não temos essa garantia. O UDP, ao enviar os pacotes, simplesmente envia não atentando a detalhes como, por exemplo, se o host destino está ativo, se está pronto a receber pacotes, entre outros detalhes, resumindo o UDP simplesmente envia os pacotes, se chegarem ou não ele apenas não faz nada. Já o TCP antes de enviar os pacotes estabelece uma conexão fim a fim, só começa a enviar pacotes quando o host realmente estiver pronto a receber, ele espera uma resposta do host destino para saber se pode começar a enviar os dados e, além disso, para os pacotes que por algum motivo não chegarem ao destino ele retransmite, ou seja, ele espera uma confirmação do destino para saber se o pacote chegou íntegro, e se caso o host destino não recebê-lo a origem retransmite o mesmo pacote, por esses motivos diz-se que o TCP é confiável. Até agora falamos sobre como funciona a organização dos serviços que a internet disponibiliza, sobre as portas, como funcionam a transmissão dos pacotes e o tipo de transporte, ainda não falamos sobre como é estabelecida a identificação entre a origem e o destinatário, então vamos entender o protocolo IP, que é responsável por essa função.

14 2.1.1. PROTOCOLO IP O protocolo IP é responsável pela identificação dos hosts envolvidos na comunicação, é ele quem identifica os computadores na rede, esta identificação se dá através de um número de quatro bytes (ou 32 bits) chamado número IP. Os bits somente são entendidos pelos hosts, somente os computadores entendem bits, pois como os computadores são digitais isto implica que somente entendem sinais elétricos que podem ser positivos ou negativos (corrente passando ou corrente não passando), cada sinal elétrico é compreendido como sendo 1: positivo ou 0: negativo, cada sinal é um bit. Cada host é identificado por um número IP de quatro bytes, em uma rede local ou na própria internet todo host tem um número IP distinto. Para a linguagem humana o número IP consiste em uma seqüência de quatro números decimais (0 até 9) separados por ponto, cada um desses quatro números varia de 0 até 255, exemplo: 10.0.0.229. O número IP é classificado em classes cada uma tendo suas particularidades, as classes mais conhecidas são classes A, B e C, sendo que nas redes locais costumeiramente utiliza-se classe C. Vale lembrar que esse mesmo número IP representado em decimal também pode ser representado em bits, ou seja, o endereço 10.0.0.229 que é entendido por nós humanos não é entendido pelos computadores, portanto o número em questão tem seu equivalente em bits que então é a linguagem entendida pelos computadores, dessa maneira, para os computadores o endereço IP é uma seqüência de bits, pois esta é a maneira que os computadores entendem, portanto, todo número decimal pode ser transformado em número binário (representação em bits) e todo número binário pode ser transformado em número decimal. Não aprofundaremos nessa parte de conversão de decimal para binário e vice-versa, pois perderíamos o enfoque do trabalho. O número IP é divido em partes: uma parte identifica a rede e outra parte identifica o host, ou seja, uma determinada seqüência dos 32 bits, dos quatro números decimais, identifica a rede e outra identifica o host, a parte que identifica o host e a rede é determinada segundo a classe do IP. Vejamos uma tabela para melhor entendimento: classe faixa de valor IP exemplo parte da rede parte do host A 1.0.0.1 até 126.255.255.254 10.20.0.200 10 20.0.200 B 128.0.0.1 até 191.255.255.254 128.10.0.132 128.10 0.132 C 192.0.0.1 até 223.255.255.254 192.168.10.1 192.168.10 1 Tabela 2 Classes de IP s

15 Alguns números IP s são reservados, ou seja, não podem ser utilizados para endereçamento, pois têm funções diferentes do que apenas identificação, são eles: O IP 0.X.X.X (0 terminando em qualquer seqüência) é utilizado pela família TCP/IP para dizer que o endereço de origem é desconhecido. O IP 127.0.0.1, é utilizado como endereço de loopback, que nada mais é do que um endereço que identifica o próprio host, um IP que todo host tem mesmo não tendo placa de rede. Os IP s terminados em zero sempre indicam a própria rede, seguindo o exemplo da tabela acima, os IP s 10.0.0.0, 128.10.0.0 e 192.168.10.0 são, portanto, os endereços de rede dos IP s exemplificados. Outro detalhe são os endereços de broadcast, que são endereços também reservados com função de enviar mensagens a todos os hosts da rede sem precisar mandar uma mensagem a cada um, o que seria muito trabalhoso, seguindo o exemplo dos IP s acima, os endereços de broadcast seriam: 10.255.255.255, 128.10.255.255 e 192.168.10.255. Observando bem a faixa de valores da tabela e atentando ao fato da quantidade de bytes reservados para rede e host de cada uma das classes podemos concluir que: Na classe A, como apenas o primeiro byte é utilizado para identificar a rede e este byte vai apenas de 1 até 126, isto implica que podemos ter apenas 126 redes com um IP de classe A, porém como temos 3 bytes para podermos identificar os hosts, isto implica em conseqüência que podemos ter cerca de 16 milhões de equipamentos em cada uma dessas 126 redes, portanto temos poucas redes, mas com muitos hosts; Na classe B, como temos dois bytes para identificar a rede, podemos ter até mais ou menos 16 mil redes com aproximadamente 64 mil hosts em cada uma dessas redes, portanto a classe B equilibra bem a relação quantidade de redes e quantidade de hosts; Na classe C, como temos 3 bytes para identificarmos a rede, então podemos ter até aproximadamente 2 milhões de redes e como apenas temos o último byte do IP para identificar o host, então podemos ter apenas 254 hosts em cada uma dessas redes, portanto temos muitas redes, porém cada uma das redes terão poucos hosts.

16 As três classes de IP principais possuem máscaras de rede, que são uma representação da quantidade de bits utilizados para endereçamento de rede, como na classe A são utilizados 8 bits para endereçar a rede, então sua máscara é /8, já na classe B utilizamos 16 bits, sendo assim, sua máscara é /16 e no caso da classe C temos 24 bits, logo então sua máscara de rede é /24. Além das classes citadas, um conhecimento importante sobre o protocolo IP é o conceito de CIDR. O CIDR permite que um único IP de rede possa ser divido em duas ou mais redes, gerando assim sub-redes, dessa maneira uma organização que tenha apenas um único IP para utilizar, mas que precise separar suas diversas redes locais pode, com este único IP, criar várias sub-redes separadas e utiliza-los nessas redes. Como sabemos, o IP é divido em parte de rede e parte de host e esta divisão é determinada segundo as três classes principais A, B e C, sendo assim, se uma organização se dispõe apenas de um único endereço de classe C e esta organização precise endereçar, por exemplo, 350 hosts, então estará diante de um problema grave, pois o IP de classe C apenas endereça no máximo 254 hosts. Com o CIDR este problema se resolve, pois com o único IP podemos gerar mais de uma rede, criando na verdade sub-redes. A técnica se resume em estender a máscara de rede padrão das classes de IP s principais /24, /16 ou /8 (quantidade de bits do IP que identificam a rede) para uma máscara de rede maior /26 ou /27 ou uma máscara de rede menor /21 ou /22, sendo assim, as sub-redes não pertencerão às classes especificadas no padrão. Para exemplificar a técnica do CIDR vamos ao seguinte: em um endereço IP de classe C temos 24 bits (3 bytes) para endereço de rede e 8 bits (1 byte) para endereço de host, como já mencionado anteriormente podemos ter até mais ou menos 2 milhões de redes, porém apenas 254 hosts em cada rede. Se uma empresa se dispõe apenas de um único IP de classe C e tem mais que 254 hosts para endereçar, então o IP não é suficiente, para resolver isto, pode-se aplicar a técnica do CIDR para criarmos sub-redes para endereçar os vários hosts. A receita é utilizar uma máscara de rede variável, ou seja, ao invés de usarmos os 24 bits para endereçar a rede podemos utilizar 22 bits apenas, logo, se a quantidade de bits para rede diminui a quantidade de redes também, porém a quantidade de hosts aumenta, onde antes tínhamos 8 bits para endereçar os hosts agora temos 10, então, em conseqüência conseguiremos endereçar até 1024 hosts, solucionando assim o problema. É fácil entender: na classe C utiliza-se 8 bits para endereçar hosts, como os bits só possuem valor 1 ou 0, então 2 8 =256, porém o primeiro IP e o último são reservados, caindo a quantidade então para 254, se caso aumentarmos a quantidade de bits, por exemplo, para 10, então teríamos 2 10 =1024, porém novamente o primeiro e o último IP são reservados, diminuindo a quantidade para 1022. Fica claro então que de 254 IP s

17 aumentamos para 1022, portanto o CIDR é válido e muito útil para solucionar problemas de IP s escassos. Podemos concluir então que cada uma das classes tem suas vantagens e desvantagens, numa rede local, cabe ao administrador da rede analisar e decidir qual a melhor classe a ser implementada. 3. GATEWAYS E ROTEADORES A definição mais conhecida de gateway é a seguinte: um equipamento que liga duas redes distintas. Segundo a Cyclades Brasil (2000, p. 45): Os gateways atuam em todas as camadas do modelo ISO/OSI, e têm o objetivo de permitir a comunicação entre duas redes com arquiteturas distintas. Realmente eles ligam duas redes distintas, mas, além disso, têm outras funções como tratamento do tamanho máximo do pacote, o controle de acesso, a forma de endereçamento, entre outros, pois quando as duas redes interligadas são diferentes acontecem problemas de incompatibilidade entre as duas, então tem que haver algo para resolver estes pequenos problemas, por exemplo, pode ser que uma rede seja de classe A e a outra de classe C, ou ainda, pode haver diferenças de protocolos entre as duas redes, então o gateway faria o tratamento do tipo: transformar um determinado comando do protocolo da rede 1 em um outro comando correspondente do protocolo da rede 2, este tipo de gateway é denominado corriqueiramente de gateway tradutor de protocolo. Um bom exemplo seria um computador que tem a função de servidor de internet: este servidor estaria ligado por uma interface de rede com a internet e pela outra interface de rede com a rede interna, ou seja, estaria ligando a internet com a rede local, portanto ligando duas redes, sendo assim um gateway. Os roteadores são equipamentos inteligentes que decidem qual caminho um pacote deve tomar para chegar ao seu destino. Segundo a Cyclades Brasil (2000, p. 43): Os roteadores (routers) decidem o caminho que o tráfego de informações (controle e dados) deve seguir. Como o próprio nome diz, o roteador faz o roteamento do pacote, decide qual a rota que o pacote deve seguir, ou seja, consegue descobrir qual o próximo passo para o pacote chegar ao seu destino. Ele possui internamente uma tabela de roteamento do tipo destinocaminho e, além disso, possui um algoritmo que consegue estabelecer a melhor rota, pois pode haver casos que um pacote para chegar ao seu destino tenha várias rotas diferentes, então o

18 algoritmo de roteamento consegue descobrir a melhor dentre as rotas. Os roteadores se baseiam no endereço de destino do pacote para descobrirem a rota e por fazerem isso causam um processamento relevante o que causa um determinado overhead à rede, tornando-a um pouco mais lenta, mas nada muito significativo. Os roteadores também são chamados de gateways conversores de meio, pois também ligam redes, porém mais inteligentes do que um gateway tradutor de protocolo. Os roteadores atualmente fazem o roteamento baseando-se no CIDR, eles extraem a máscara de sub-rede para poderem determinar qual é a sub-rede de destino do pacote e, assim conseguem estabelecer a rota correta. Com o roteamento CIDR os roteadores conseguem descobrir o próximo passo para um pacote, eles extraem a parte que identifica a sub-rede do IP destino contido no pacote e assim consultando sua tabela de roteamento repassam o pacote para o próximo roteador corretamente ou para o host correto se caso o roteador estiver ligado diretamente com a sub-rede de destino do pacote. 4. TIPOS DE FIREWALL Firewall traduzindo para português seria algo como parede de fogo, mas o melhor entendimento para informática é um software ou dispositivo que tem a função de filtrar o tráfego entre duas redes, segundo Rodrigo Rubira Branco (2002, p. 80): Firewall é um sistema lógico que interliga duas redes, inspecionando o tráfego entre as duas e decidindo se permite ou não sua passagem. O firewall é um dos melhores meios de segurança costumeiramente utilizado entre as organizações que precisam proteger suas redes internas contra os ataques corriqueiros vindos da internet ou de outra rede insegura, além de ser considerado bom é um meio de segurança relativamente barato, pois pode ser implantado por softwares que seguem a filosofia do software livre, o que garante nenhum custo com licença entre outros detalhes. Deve-se deixar claro que o firewall pode proteger uma rede local de outra rede insegura como a internet, porém não somente a internet deve ser considerada uma rede insegura, mas sim qualquer rede que o administrador não conhece sua estrutura, então no caso o firewall pode estar entre duas redes internas. Neste trabalho estarei considerando a internet como rede insegura pelo fato do firewall estar na grande maioria das vezes protegendo uma rede local da internet.

19 Os tipos de firewalls mais comuns são: firewall em nível de rede, firewall em nível de aplicação e stateful firewalls. Em relação aos dois primeiros estes nomes são atribuídos assim, pois atuam respectivamente nas camadas de rede e aplicação das 4 camadas da família de protocolos TCP/IP (camada de aplicação, transporte, rede e interface de rede). Vamos a um melhor entendimento sobre esses tipos de firewall. 4.1. FIREWALL EM NÍVEL DE REDE Este tipo de firewall, como já dito anteriormente, atua na camada de rede e é configurado costumeiramente em roteadores com filtro de pacotes e esta filtragem é apenas para um único equipamento, o firewall em nível de rede não consegue fazer filtragem para mais de um host. A filtragem é baseada nos endereços de origem e destino, portas origem e destino e status das conexões (bits SYN e ACK) dos pacotes que trafegam entre a internet e o equipamento ligado ao roteador ou entre uma outra rede insegura. O primeiro tipo de configuração seria a mais simples: o roteador ligado à internet e ligado a um equipamento (um servidor de internet, por exemplo), então desta maneira o roteador controlaria o tráfego entre a internet e o servidor em questão.há outro tipo de instalação diferente onde o roteador estaria ligado a um host e este ligado à um segundo roteador e o mesmo por sua vez ligado à rede interna, explicando melhor: o computador servidor estaria protegido pelo roteador ligado à internet e a rede interna estaria protegida pelo segundo roteador ligado ao servidor. Este tipo de arquitetura se dá o nome de DMZ (De-Militarized-Zone) que significa zona desmilitarizada, ou seja, seria uma segunda rede entre a internet e a rede interna, esta segunda rede, por não estar ligada diretamente à internet, teria uma segurança a mais, portanto mais segura do que o primeiro tipo de arquitetura onde seria apenas o roteador ligado ao equipamento. O host ligado ao roteador é chamado costumeiramente de bastion host pelo fato de ter um bom nível de segurança nos seus recursos, mas não totalmente protegido pelo roteador. Deve-se tomar cuidado ao criar-se regras de filtragem no roteador, pois pode ser que o hardware não comporte todo o processamento das regras criadas, então o melhor a se fazer é enxugar as regras, quanto menos regras melhor será o desempenho, conforme a quantidade excessiva de regras pode acontecer do roteador até perder pacotes ou na melhor das hipóteses

20 o roteamento ficar mais lento causando lentidão na rede local, de qualquer maneira, qualquer um dos acontecimentos seria indesejável para uma organização. 4.2. FIREWALL EM NÍVEL DE APLICAÇÃO Este tipo de firewall, como já dito anteriormente, atua na camada de aplicação da família de protocolos TCP/IP, é usado normalmente em servidores de internet proxy e através das ACL s (Access Control List s), que são as listas de controles de acesso, podem filtrar o tráfego tanto da internet para a rede interna quanto da rede interna para a internet. A filtragem é baseada em endereços IP s de origem e destino, domínios de origem e destino, portas, palavras contidas na URL e até mesmo por usuário. Normalmente esses firewalls ficam no servidor proxy, na verdade o software servidor proxy é um firewall em nível de aplicação. Este servidor se liga por uma interface de rede com a internet e outra interface com a rede interna, dessa maneira ele filtra tanto o tráfego da internet para a rede interna quanto o contrário. Neste tipo de arquitetura o servidor é chamado de dual-homed-gateway e outro detalhe importante é que na máquina onde ele se encontra deve estar desabilitado o processo de IP forwarding para que cada aplicação (SMTP,HTTP,FTP, entre outros) possa controlar o uso de seus serviços no caso do TCP/IP. A vantagem desses tipos de firewalls é a fácil administração, pois através dos proxys podemos obter relatórios detalhados dos acessos feitos pela rede interna além de fácil configuração, já quanto a performance os firewalls de nível de rede são melhores. Atualmente os dois tipos de firewalls são combinados para obter maior nível de segurança, é comum encontrarmos redes corporativas de empresas onde esta rede está ligado a um proxy e este ligado à um roteador com filtro de pacotes. 4.3. STATEFUL FIREWALL Trata-se de um firewall que consegue analisar mais camadas da pilha TCP/IP, analisa as camadas de aplicação, transporte e rede, com isso consegue tanto tratar pacotes pelo IP, pela porta, pela aplicação (POP, FTP, etc), pelo transporte (TCP ou UDP) e também pelo estado da conexão (bits SYN e ACK), lembrando que os bits SIN e ACK são referentes ao esta-

21 do de uma conexão TCP, são informações contidas no cabeçalho do pacote referente ao controle da conexão: estabelecimento, fluxo dos pacotes ou término de conexão. O stateful firewall é considerado um dos melhores tipos de firewall a ser utilizado como ferramenta de segurança em rede e possui bons softwares que o tornam possível e, além do mais, a maioria desses softwares seguem a filosofia de software livre que, como já dito, garante nenhuma despesa com licença, os gastos ficam restritos apenas com mão de obra e manutenção. Este tipo de firewall, além de abranger quase todas as camadas da pilha TCP/IP, tem uma funcionalidade adicional de guardar uma tabela contendo as conexões abertas entre a origem e o destino da comunicação, esta tabela possui a função de manter o status de cada conexão aberta garantindo assim maior rapidez do fluxo de dados como também maior segurança na transmissão entre os hosts envolvidos na comunicação. O stateful firewall faz todo esse controle tanto para conexões do tipo TCP quanto para conexões do tipo UDP, no caso de conexões TCP ele consegue tratar e analisar os bits SYN e ACK dos pacotes, o stateful firewall consegue, por exemplo, armazenar o número de sequência de uma conexão TCP para saber se o tráfego está voltando de uma conexão já estabelecida, ele permite um maior controle das conexões TCP. É bom lembrar que o conhecimento do administrador de redes sobre os protocolos e seu funcionamento faz muita diferença. Como bom exemplo de firewall stateful temos o netfilter/iptables, ótimo firewall utilizado na maioria das redes. Vale ressaltar que um bom stateful firewall combinado com um firewall em nível de aplicação mais um firewall em nível de rede equivale a um ótimo nível de segurança em uma rede local, sendo assim, podemos ter um roteador com filtro de pacotes ligado a um servidor proxy com várias ACL s de filtragem e neste mesmo servidor proxy um netfilter/iptables com regras contra ataques entre outras regras para dar mais segurança. Este tipo de arquitetura de rede utilizando vários meios de segurança é denominada de defense in depht, traduzindo para defesa em camada por ser exatamente assim: várias camadas de proteção para a rede local, se caso um atacante conseguisse passar pelo roteador ainda teria que passar pelo proxy e pelo iptables até conseguir atingir uma DMZ ou os hosts localizados na rede interna.

5. TOPOLOGIAS/ARQUITETURAS DE FIREWALL Trataremos agora sobre as topologias de firewalls, como o firewall pode ser posicionado entre a rede interna e a internet ou entre a rede interna e outra rede não confiável, na grande maioria das vezes ele fica entre a rede local e a internet, mas há casos que é colocado entre duas redes internas ou extranets. Antes de mais nada, deve-se esclarecer que é altamente recomendável que se tenha a- penas um ponto de ligação entre a internet e a rede local e o firewall deve estar exatamente nesse ponto, caso se tenha mais de um ponto de ligação então teríamos que ter mais de um firewall o que causaria muito mais trabalho ao administrador da rede, além de não ser uma disposição correta e lógica para uma rede. Com apenas um ponto de acesso fica muito mais fácil a administração, pois assim o administrador da rede terá certeza que tudo que entrar ou sair da rede interna entrará por aquele ponto, ou seja, a filtragem fica muito mais confiável. 5.1. ROTEADOR FILTRANTE Voltando ao tipo de firewall em nível de rede, onde o firewall é criado com regras de filragem em um roteador, seria uma das topologias mais simples: o roteador estaria ligado a internet e à uma máquina da rede interna e apenas à esta, este host então seria o único ponto de ligação da internet com a rede interna, o roteador teria regras de filtragem baseadas em endereços de origem e destino.

23 Nesta topologia que fique bem claro que a única máquina protegida por firewall seria apenas uma: a máquina ligada diretamente ao roteador filtrante, portanto as outras máquinas da rede interna estariam dependentes da máquina ligada ao roteador para fazerem acesso à internet. Vale ressaltar que a filtragem é em sentido duplo, pode-se colocar regras no roteador para filtra tanto o tráfego que sai da rede local e também para o tráfego que entra na rede local. Uma desvantagem dessa topologia é que a rede local estaria totalmente dependente do servidor ligado ao roteador filtrante, caso houvesse parada do servidor ou do roteador por qualquer motivo então a rede local estaria isolada e, além do mais, como esta máquina está na rede interna, então a segurança da rede se resume na segurança deste host, basta ao atacante conseguir invadi-lo para obter acesso à toda a rede. 5.2. MÁQUINA COM DUPLA BASE Uma das topologias mais utilizadas: um computador com uma placa de rede ligada à internet e outra ligada à rede interna. Este computador possui firewall do tipo stateful, portanto seria um bom firewall, e além do firewall stateful pode ter ainda um application gateway (firewall de nível de aplicação) para fazer o trabalho de servir internet, ou seja, um servidor proxy, o que daria uma segurança a mais. Logicamente esta máquina por ser a máquina que centraliza o acesso da rede interna para a internet e por executar softwares que causam um relativo processamento, é altamente recomendável que as duas placas de redes sejam de alto desempenho assim como o computador como um todo. A desvantagem dessa topologia é a mesma da topologia roteador filtrante: a segurança da rede está estritamente ligada ao servidor, caso ele sofra algum dano, seja invadido, pegue um vírus ou tenha algum defeito de hardware, automaticamente toda a rede está desprotegida. 5.3. SUB-REDE FILTRADA Considerada como sendo entre as arquiteturas existentes uma das mais seguras, nesta arquitetura utiliza-se um roteador com filtro de pacotes ligado à internet e ligado a um servi-

24 dor proxy, que por sua vez estaria ligado a um segundo roteador com filtro de pacotes e este ligado a rede interna, ou seja, teríamos um roteador filtrando o tráfego da internet para o servidor proxy, o servidor proxy filtrando o tráfego vindo do roteador para ele e vice-versa, o proxy filtrando o tráfego entre o segundo roteador e ele e vice-versa e por último o segundo roteador filtrando o tráfego entre a rede interna e ele. Parece complexo, mas concluindo: o servidor proxy estaria protegido, isolado em uma segunda rede entre os dois roteadores, portanto, muito mais seguro, os ataques vindos da internet não enxergariam o servidor proxy, pois o único ligado diretamente à internet é o primeiro roteador. Esta rede isolada onde estaria o proxy é chamada, como já dito anteriormente, de DMZ que significa zona desmilitarizada. Neste tipo de arquitetura estaríamos utilizando dois firewalls do tipo nível de rede que seriam os dois roteadores e um firewall em nível de aplicação que seria o proxy. Um outro detalhe importante é o fato que os dois firewalls do tipo nível de rede poderiam ser substituídos por dois firewalls stateful, e como sabemos, os stateful firewalls são mais abrangentes, poderíamos substituir os dois roteadores por duas máquinas com firewall stateful. Um outro fato relevante é que na rede DMZ pode-se colocar mais servidores que necessitem de segurança extra, por exemplo, poderíamos colocar um servidor de e-mail dentro da DMZ ou ainda um servidor web, afinal de contas, a DMZ é justamente pra isto: uma rede isolada para abrigar hosts que necessitem de segurança. Uma desvantagem dessa topologia seria, talvez, o fato que as regras tanto nos dois roteadores como no servidor devem ser construídas com bastante cuidado, assim a manutenção das regras fica um pouco difícil de ser feita, uma vez que para cada fluxo de dados exige-se regras nos dois roteadores e no servidor, em contrapartida não haverá meio para os pacotes originados na rede interna partirem diretamente para a internet sem passarem pelos roteadores e o servidor, portanto a segurança será alta, pois cada pacote será analisado pelas regras dos três firewalls, o mesmo vale também para os pacotes que atravessarem da internet para a rede local. 5.4. MÁQUINA COM TRÊS INTERFACES DE REDE Uma outra arquitetura para firewalls que é muito utilizada e também não deixa de ser uma das mais seguras é a arquitetura onde se tem um único firewall ligado à internet, ligado à DMZ e ligado à rede interna.

25 Nesta arquitetura o firewall seria uma máquina de grande porte com três placas de rede contendo um firewall statefull, embora parecido com a arquitetura anterior, este tipo de arquitetura tem uma diferença significativa: a rede interna fica totalmente dependente do firewall, pois ele liga tanto a rede interna com a DMZ quanto a DMZ com a internet, ou seja, se o firewall sofrer alguma avaria que comprometa suas conexões ou suas regras de filtragem a rede interna ficará sem conectividade com a DMZ ou, no melhor dos casos, ficaria desprotegida. Já no caso da arquitetura sub-rede filtrada este problema não acontece, pois se caso o primeiro roteador sofrer algum dano apenas a DMZ ficaria desligada da internet, mas a conectividade entre a rede interna e a DMZ ficaria normal, pois a rede interna se liga com a DMZ pelo segundo roteador. 6. FILTROS DE PACOTES O firewall, como já dito, tem a função de controlar o tráfego entre duas redes, este controle é feito baseando-se no pacote TCP ou UDP, como mencionado anteriormente, os dados que trafegam entre dois hosts são tratados como pacotes, ou seja, uma única transmissão de dados, como, por exemplo, um simples acesso de página, pode gerar vários pacotes. O firewall consegue tratar e analisar o pacote até níveis bem inferiores, verifica, por exemplo, o endereço de origem e destino, interface de origem e destino, porta TCP ou UDP de origem e destino, status da conexão, tamanho do pacote, entre outros. Essas informações que o firewall consegue analisar são contidas no cabeçalho do pacote, sendo assim, o conteúdo do pacote é separado das outras informações, com essas informações é possível tomar decisões do tipo descartá-lo ou deixar que continue seu tráfego normalmente ou ainda é possível até mesmo roteá-lo para outro destino diferente. Deixe-se bem claro que o firewall não deve possuir protocolo de roteamento dinâmico como os roteadores possuem, pois o roteamento dinâmico traz uma insegurança: um atacante ao invadir um firewall com protocolo de roteamento dinâmico poderia criar rotas maléficas do tipo quando um pacote chegar da rede local voltar para rede local, o que causaria um transbordo na capacidade de processamento do host atingido pelos pacotes devolvidos pelo roteador, causando parada da rede local. Ao se criar regras de filtragem normalmente os administradores da rede, ou profissionais de segurança a fim, criam suas regras baseando-se no IP de origem ou destino para decidirem se um pacote entra ou sai da rede interna. Este tipo de regra que considera apenas o IP

26 de origem e destino não é considerado muito seguro, pois há casos que crackers geram falsos pacotes endereçados como sendo de origem da rede interna, ou seja, pacotes que na verdade não vieram da rede interna, mas sim da internet, porém com endereço origem adulterado, como o firewall trata o pacote apenas pelo IP então aceitaria este tráfego errôneo. Para evitar este tipo de falha de segurança o melhor é fazer filtragem considerando a interface de origem ou destino, desta maneira, se um pacote entrar pela interface conectada à rede interna então realmente ele veio da rede interna. Para exemplificar este tipo de insegurança é só nos atentarmos para os conhecidos DDoS (Distributed Denial of Service) que significa Negação de Serviço Distribuída onde um atacante invade várias máquinas de uma rede interna e ao invadir começa a gerar falsas solicitações de requisição de conexão para um servidor web localizado na DMZ da rede, se o firewall tratar os pacotes apenas pelo IP de origem então deixaria passar essas requisições para o servidor web, ou seja, as máquinas da rede interna começariam a enviar requisições através da rede local quando o servidor deveria aceitar requisições apenas originadas da internet. Este é apenas um dos detalhes relevantes à filtragem de pacotes. A filtragem pode ser além de endereços IP s, há casos onde não interessa de onde veio ou para onde vai o pacote, mas sim que tipo de pacote é, por exemplo, o administrador da rede talvez deseje que todos os pacotes que forem endereçados a um determinado servidor FTP possam seguir seu tráfego normalmente, então neste caso o que se deve considerar é a porta de destino, que seria a porta 21 e 20, o mesmo vale para porta de origem. Vale a pena ressaltar que muitas das vezes é desejável combinar o filtro por endereço IP e o filtro por porta TCP ou UDP, ou seja, podemos construir regras de filtragem onde se considere tanto o endereço de origem/destino e a porta de origem/destino bem como as interfaces de origem/destino. Um fato a se considerar é a ordem das regras, ao criar-se regras de firewall deve-se observar bem a ordem das mesmas, pois pode acontecer de que a décima regra que se criou para tratar por exemplo um pacote http nunca seja executada porque a terceira regra é executada ao invés dela. Isto acontece porque ao receber um pacote o firewall começa a verificar qual regra o pacote se encaixa da primeira até a última regra e, se caso a terceira regra já satisfazer o pacote então as outras não serão verificadas, por isso, ao se criar as regras a ordem das mesmas é extremamente importante. Um último detalhe a ser observado sobre as regras de firewall é sobre a postura do firewall em relação às políticas de descartar pacotes ou aceitar pacotes, explicando melhor, ao se construir um firewall deve-se optar por: deixar tudo passar e bloquear apenas o indesejável (essa postura é entitulada de liberal ou permissiva) ou bloquear tudo e deixar apenas o desejável passar (essa postura é entitulada de conservadora ou restritiva).

27 A postura do firewall é importantíssima e muitas das vezes a postura adotada resulta em conseqüências desastrosas para o administrador da rede e para a organização como um todo, o seguinte pensamento deve ser adotado: é mais fácil deixar todos os pacotes passarem e bloquear os possíveis ataques ou bloquear todos os pacotes e deixar apenas o tráfego bom passar? Considerando a grande quantidade de protocolos existentes na família TCP/IP, em uma rede onde apenas há um servidor web fica muito complicado deixar tudo passar e bloquear o que não é acesso ao servidor web, pois a quantidade de descartes de pacotes a serem feitos é muito maior do que a quantidade de pacotes a serem aceitos, neste caso o melhor é bloquear todos os acessos que não sejam ao servidor web e deixar apenas o protocolo http ser aceito, pois com pouquíssimas regras de firewall é possível bloquear tudo. Já diante de uma rede enorme onde disponibilize vários serviços como servidor de e-mail, servidor DNS, servidor proxy, servidor de arquivos entre outros, talvez seja mais fácil deixar tudo passar e bloquear apenas os pacotes que não sejam referentes à conexões com esses servidores, porém na prática o que mais se vê é o primeiro exemplo: bloquear tudo e liberar acesso aos poucos. Na primeira postura, a postura liberal, a última regra do firewall sempre é uma regra que deixa tudo passar, nesse caso, o firewall tem no seu início até a penúltima regra, regras que descartam pacotes indesejáveis e na última regra uma regra que deixa tudo passar, resumindo, se um pacote não for bloqueado pelas regras anteriores é considerado um pacote bom, o problema é apenas um: o administrador da rede pode esquecer de algumas regras para bloquear pacotes indesejáveis, e se acaso esquecer estes pacotes podem ser considerados bons pelo firewall já que não se encaixaram em nenhuma das regras anteriores, portanto este tipo de postura requer muitíssima atenção e conhecimento do administrador. Na postura conservadora acontece ao contrário: a última regra nega tudo e as regras anteriores são regras para deixarem pacotes bons passarem, ou seja, tudo que não cair nas regras que consideram pacotes bons é considerado pacote ruim, dessa maneira o administrador da rede deve-se preocupar em colocar regras para deixarem seus pacotes bons passarem ao invés de se preocupar com negar pacotes ruins, a exemplo da primeira postura. Nessa postura pode acontecer um problema: como tudo que não se encaixe nas primeiras regras do firewal é considerado tráfego ruim, talvez o administrador da rede esqueça-se de uma regra permissiva para um determinado serviço essencial, então nesse caso, como não teria a regra para o referido serviço, o firewall bloquearia um tráfego que não deveria ser considerado ruim. Sintetizando, na primeira postura a preocupação é em bloquear tráfego ruim e se caso o administrador esquecer de alguma regra para bloquear um tráfego que não deveria passar ele prosseguiria normalmente, já na segunda postura a preocupação é em liberar tráfego bom e

28 se caso o administrador esquecer de alguma regra para permitir um tráfego bom então ele será bloqueado. Nos dois casos apenas um consenso: muita atenção e muita lógica na hora de se construir as regras do firewall. 7. TABELAS As tabelas do firewall são respectivas às necessidades de análise e ação a ser tomada com cada pacote. Com determinada tabela pode-se tratar pacotes simples que apenas entram e saem do firewall, já com outra tabela pode-se tratar pacotes que necessitem de trocar seu IP ou sua porta, alterando o cabeçalho do pacote TCP ou UDP. Cada tabela tem suas próprias chains e ações. A tabela padrão utilizada para as operações simples de firewall é sempre a tabela de filtragem, onde se tratam pacotes que entram, saem ou atravessam o firewall. Com esses pacotes pode-se tomar decisões do tipo: descartá-los ou permiti-los ou ainda até mesmo registrálos em log. Um pacote registrado em log não tem nenhuma ação executada, ou seja, não é descartado e nem permitido, apenas registrado em log. A tabela NAT, que será detalhada posteriormente, é utilizada quando se deseja mascarar endereços, trocar endereços de pacotes vindos da rede interna destinados a internet. Além de trocar endereços de pacotes a tabela NAT pode ainda trocar as portas dos pacotes e até mesmo mudar suas rotas. Concluindo as tabelas de firewall são utilizadas conforme necessidade de cada caso, há pacotes que têm que ser tratados por tabelas especiais como o NAT, já os pacotes corriqueiros podem ser tratados pelas tabelas simples como a tabela de filtragem. A seguir falaremos exclusivamente sobre as chains, a qual é proveniente das tabelas de firewall.

8. CHAINS Chains são traduzidas como cadeias de regras, estas cadeias são relacionadas ao sentido da passagem do pacote em relação ao firewall: entrando, saindo ou atravessando. Há casos em que o pacote é destinado ao firewall, então ele estaria entrando no firewall, em outros casos o pacote parte do firewall então ele estaria saindo e também pode ser que o pacote não esteja destinado ao firewall e nem parta dele, mas sim esteja destinado a outro host e o firewall estaria no caminho deste destino, então no caso o pacote atravessaria o firewall. Essas três cadeias, a exemplo do netfilter (um bom exemplo de software de firewall) são conhecidas como INPUT, OUTPUT e FORWARD, porém há outras cadeias como a cadeia de pré-roteamento que é utilizada para mudar a rota do pacote. Concluindo é possível tratar os pacotes pelo seu sentido, pode-se descartar pacotes que entram em uma determinada interface ou aceitar a passagem de pacotes que saem ou ainda pré-rotear esses pacotes, ou seja, mudar sua rota. O importante é o administrador conseguir estabelecer um raciocínio lógico para que construa sua regra usufruindo deste recurso de chains. 9. NAT Antes de entendermos sobre o NAT precisamos entender sobre o endereçamento das redes internas. Todas as redes locais em todo o mundo utilizam IP s privados que são estabelecidos segundo a RFC-1918, são eles: 10.0.0.0/8 até 10.255.255.255, 172.16.0.0/24 até 172.31.255.255 e 192.168.0.0/16 até 192.168.255.255, dessa maneira, o administrador da rede