Firewall: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
A página não está em formato de enciclopédia. Considerem uma revisão.
Etiquetas: Remoção considerável de conteúdo Editor Visual
m Desfeita(s) uma ou mais edições de !Silent, com Reversão e avisos.
Linha 1:
{{minidesambig|pelo filme homônimo|Firewall (filme)}}
[[Imagem:Firewall.png|thumb|350px|Firewall separando redes [[Rede de área local|LAN]] e [[WAN]]]]
Um '''''firewall''''' ({{lang-pt|parede de fogo}}) é um dispositivo de uma [[rede de computadores]] que tem por objetivo aplicar uma política de segurança a um determinado ponto da rede. O firewall pode ser do tipo [[filtro de pacotes|filtros de pacotes]], ''[[proxy]]'' de aplicações, etc. Os firewalls são geralmente associados a redes [[TCP/IP]].<ref>{{Citar web|url=http://www.checkpoint.com/resources/firewall/|título=Firewall | Check Point|publicado=www.checkpoint.com|acessodata=19 de abril de 2012}}</ref>..
 
Este dispositivo de segurança existe na forma de ''[[software]]'' e de ''[[hardware]]'', a combinação de ambos é chamado tecnicamente de "[[appliance]]"<ref>http://www.linuxdescomplicado.com.br/2013/03/3-appliances-open-source-indicadas-para.html</ref>. A complexidade de instalação depende do tamanho da rede, da política de segurança, da quantidade de regras que controlam o fluxo de entrada e saída de informações e do grau de segurança desejado.
 
== História ==
Os sistemas ''firewall'' nasceram no final dos anos 80, fruto da necessidade de criar restrição de acesso entre as redes existentes, com políticas de segurança no conjunto de protocolos [[TCP/IP]]. Nesta época a expansão das redes acadêmicas e militares, que culminou com a formação da ARPANET e, posteriormente, a Internet e a popularização dos primeiros computadores tornando-se alvos fáceis para a incipiente comunidade ''[[hacker]]''.
 
Casos de invasões de redes e fraudes em sistemas de telefonia começaram a surgir, e foram retratados no filme ''Jogos de Guerra'' ("[[War Games]]"), de 1983. Em 1988, administradores de rede identificaram o que se tornou a primeira grande infestação de [[vírus de computador]] e que ficou conhecido como [[worm|Internet Worm]]. Em menos de 24 horas, o ''[[morris worm|worm]]'' escrito por [[morris worm|Robert T. Morris Jr]] disseminou-se por todos os sistemas da então existente Internet (formado exclusivamente por redes governamentais e de ensino), provocando um verdadeiro "apagão" na rede.
== O que é firewall? ==
Firewall é uma solução de segurança baseada em hardware ou software que, a partir de um conjunto de regras ou instruções, analisa o tráfego de rede para determinar quais operações de transmissão ou recepção de dados podem ser executadas. "Parede de fogo", a tradução literal do nome, já deixa claro que o firewall se enquadra em uma espécie de barreira de defesa. O objetivo de um Firewall é bloquear tráfego de dados indesejado e liberar acessos bem-vindos.<gallery>
[[File:Firewall br 01.jpg|thumb|Firewall br 01]]
</gallery>
[[File:Firewall br 01.jpg|thumb|<small>Representação básica de um firewall</small>]]
 
O termo em inglês firewall faz alusão comparativa da função que este desempenha para evitar o alastramento de acessos nocivos dentro de uma rede de computadores a uma parede anti-chamas, que evita o alastramento de incêndios pelos cômodos de uma edificação.
Um firewall pode impedir uma série de ações maliciosas: um malware que utiliza determinada porta para se instalar em um computador sem consentimento do usuário, um programa que envia dados sigilosos para a internet, ou uma tentativa de acesso à rede a partir de computadores externos não autorizados, por exemplo.
 
=== Primeira Geração - Filtros de Pacotes ===
* A tecnologia foi disseminada em 1988 através de pesquisa sustentada pela [[Digital Equipment Corporation|DEC]];
* Bill Cheswick e [[Steve Bellovin]] da [[AT&T]] desenvolvem o primeiro modelo para [[PoC|''Prova de Conceito'']];
** O modelo tratava-se de um [[filtro de pacotes]] responsável pela avaliação de pacotes do conjunto de protocolos [[TCP/IP]];
** Apesar do principal protocolo de transporte [[TCP]] orientar-se a um estado de conexões, o filtro de pacotes não tinha este objetivo inicialmente (uma possível vulnerabilidade);
Até hoje, este tipo de tecnologia é adotada em equipamentos de rede para permitir configurações de acesso simples (as chamadas "listas de acesso"). O ''ipchains'' é um exemplo recente de um ''firewall'' que utiliza a tecnologia desta geração. Hoje o "ipchains" foi substituído pelo [[iptables]] que é nativo do Linux e com maiores recursos.
 
==== Regras Típicas na 1ª Geração ====
* Restringir tráfego baseado no endereço IP de origem ou destino;
* Restringir tráfego através da porta ([[TCP]] ou [[Protocolo UDP|UDP]]) do serviço.
 
=== Segunda Geração - Filtros de Estado de Sessão ===
== Como um firewall funciona? ==
* A tecnologia foi disseminada a partir de estudo desenvolvido no começo dos anos 90 pelo [[Bell Labs]];
Você já sabe que um firewall atua como uma espécie de barreira que verifica quais dados podem passar ou não. Esta tarefa só pode ser feita mediante o estabelecimento de políticas, isto é, de regras, como você também já sabe.
* Pelo fato de o principal protocolo de transporte [[TCP]] orientar-se por uma tabela de estado nas conexões, os filtros de pacotes não eram suficientemente efetivos se não observassem estas características;
* Foram chamados também de ''firewall'' de circuito.
 
==== Regras Típicas na 2ª Geração ====
Em um modo mais restritivo, um firewall pode ser configurado para bloquear todo e qualquer tráfego no computador ou na rede. O problema é que esta condição isola este computador ou esta rede, então pode-se criar uma regra para que, por exemplo, todo aplicativo aguarde autorização do usuário ou administrador para ter seu acesso liberado. Esta autorização poderá inclusive ser permanente: uma vez dada, os acessos seguintes serão automaticamente permitidos.
* Todas as regras da 1ª Geração;
* Restringir o tráfego para início de conexões (NEW);
* Restringir o tráfego de pacotes que tenham sido iniciados a partir da rede protegida (ESTABLISHED);
* Restringir o tráfego de pacotes que tenham número de sequência corretos.
 
Firewall Statefull: Armazena o estado das conexões e filtra com base nesse estado. Existe três estados para uma conexão:
Em um modo mais versátil, um firewall pode ser configurado para permitir automaticamente o tráfego de determinados tipos de dados, como requisições HTTP (sigla para ''Hypertext Transfer Protocol'' - protocolo usado para acesso a páginas Web), e bloquear outras, como conexões a serviços de e-mail.
* NEW: Novas conexões;
* ESTABLISHED: Conexões já estabelecidas, e;
* RELATED: Conexões relacionadas a outras existentes.
 
=== Terceira Geração - Gateway de Aplicação ===
Perceba, como estes exemplos, que as políticas de um firewall são baseadas, inicialmente, em dois princípios: todo tráfego é bloqueado, exceto o que está explicitamente autorizado; todo tráfego é permitido, exceto o que está explicitamente bloqueado.
* Baseado nos trabalhos de [[Gene Spafford]] (co-autor do livro ''Practical Unix and Internet Security''), [[Marcos Ranum]] (fundador da empresa TIS), e [[Bill Cheswick]];
* Também são conhecidos como "''Firewall'' de Aplicação" ou "Firewall Proxy";
* Foi nesta geração que se lançou o primeiro produto comercial em 13 de Junho de 1991—o [[SEAL]] da [[Digital Equipment Corporation|DEC]];
* Diversos produtos comerciais surgiram e se popularizaram na década de 90, como os ''firewalls'' Raptor, Gauntlet (que tinha sua versão gratuita batizada de TIS) e Sidewinder, entre outros;
* Não confundir com o conceito atual de [[''Firewall'' de Aplicação]]: ''firewalls'' de camada de Aplicação eram conhecidos desta forma por implementarem o conceito de ''Proxy'' e de controle de acesso em um único dispositivo (o ''Proxy Firewall''), ou seja, um sistema capaz de receber uma conexão, decodificar protocolos na camada de aplicação e interceptar a comunicação entre cliente/servidor para aplicar regras de acesso;
 
==== Regras Típicas na 3ª Geração ====
Firewalls mais avançados podem ir além, direcionando determinado tipo de tráfego para sistemas de segurança internos mais específicos ou oferecendo um reforço extra em procedimentos de autenticação de usuários, por exemplo.
* Todas as regras das gerações anteriores;
* Restringir acesso FTP a usuários anônimos;
* Restringir acesso HTTP para portais de entretenimento;
* Restringir acesso a protocolos desconhecidos na porta 443 (HTTPS).
 
=== Quarta Geração e subsequentes ===
Você terá mais detalhes sobre o funcionamento dos firewalls no tópico a seguir.
* O ''firewall'' consolida-se como uma solução comercial para redes de comunicação [[TCP/IP]];
** ''Stateful Inspection'' para inspecionar pacotes e tráfego de dados baseado nas características de cada aplicação, nas informações associadas a todas as camadas do [[modelo OSI]] (e não apenas na camada de rede ou de aplicação) e no estado das conexões e sessões ativas;
** Prevenção de Intrusão para fins de identificar o abuso do protocolo [[TCP/IP]] mesmo em conexões aparentemente legítimas;
** ''Deep Packet Inspection'' associando as funcionalidades do ''Stateful Inspection'' com as técnicas dos dispositivos IPS;
* A partir do início dos anos 2000, a tecnologia de ''Firewall'' foi aperfeiçoada para ser aplicada também em estações de trabalho e computadores domésticos (o chamado "''Firewall'' Pessoal"), além do surgimento de soluções de ''firewall'' dedicado a servidores e aplicações específicas (como servidores Web e banco de dados), ou mesmo usuários.
 
== Classificação ==
Os sistemas ''firewall'' podem ser classificados da seguinte forma:
 
=== Filtros de Pacotes ===
{{Artigo principal|Filtro de pacotes}}
Estes sistemas analisam individualmente os pacotes à medida que estes são transmitidos, verificando apenas o cabeçalho das camadas de rede (camada 3 do modelo ISO/[[Modelo OSI|OSI]]) e de transporte (camada 4 do modelo ISO/[[Modelo OSI|OSI]]).
 
As regras podem ser formadas indicando os endereços de rede (de origem e/ou destino) e as portas [[TCP/IP]] envolvidas na conexão. A principal desvantagem desse tipo de tecnologia para a segurança reside na falta de controle de estado do pacote, o que permite que agentes maliciosos possam produzir pacotes simulados (com endereço IP falsificado, técnica conhecida como [[IP Spoofing]]), fora de contexto ou ainda para serem injetados em uma sessão válida. Esta tecnologia foi amplamente utilizada nos equipamentos de 1a.Geração (incluindo roteadores), não realizando nenhum tipo de decodificação do protocolo ou análise na camada de aplicação.
== Tipos de firewall ==
O trabalho de um firewall pode ser realizado de várias formas. O que define uma metodologia ou outra são fatores como critérios do desenvolvedor, necessidades específicas do que será protegido, características do sistema operacional que o mantém, estrutura da rede e assim por diante. É por isso que podemos encontrar mais de um tipo de firewall. A seguir, os mais conhecidos.
 
=== FiltragemProxy deFirewall pacotesou (packetGateways de filtering)Aplicação ===
Os conceitos de ''gateways'' de aplicação (''application-level gateways'') e "bastion hosts" foram introduzidos por [[Marcus Ranum]] em [[1995]]. Trabalhando como uma espécie de [[eclusa]], o ''firewall'' de ''proxy'' trabalha recebendo o fluxo de conexão, tratando as requisições como se fossem uma aplicação e originando um novo pedido sob a responsabilidade do mesmo ''firewall'' (''non-transparent proxy'') para o servidor de destino. A resposta para o pedido é recebida pelo ''firewall'' e analisada antes de ser entregue para o solicitante original.
As primeiras soluções de firewall surgiram na década de 1980 baseando-se em '''filtragem de pacotes''' de dados (''packet filtering''), uma metodologia mais simples e, por isso, mais limitada, embora ofereça um nível de segurança significativo.
 
Os ''gateways'' de aplicações conectam as redes corporativas à Internet através de estações seguras (chamadas de ''bastion hosts'') rodando aplicativos especializados para tratar e filtrar os dados (os ''proxy firewalls''). Estes ''gateways'', ao receberem as requisições de acesso dos usuários e realizarem uma segunda conexão externa para receber estes dados, acabam por esconder a identidade dos usuários nestas requisições externas, oferecendo uma proteção adicional contra a ação dos ''crackers''.
Para compreender, é importante saber que cada pacote possui um cabeçalho com diversas informações a seu respeito, como endereço IP de origem, endereço IP do destino, tipo de serviço, tamanho, entre outros. O Firewall então analisa estas informações de acordo com as regras estabelecidas para liberar ou não o pacote (seja para sair ou para entrar na máquina/rede), podendo também executar alguma tarefa relacionada, como registrar o acesso (ou tentativa de) em um arquivo de log.
[[File:Firewall br 02.jpg|thumb|Filtragem de pacotes]]
 
==== Desvantagens ====
A transmissão dos dados é feita com base no padrão TCP/IP (''Transmission Control Protocol/Internet Protocol''), que é organizado em camadas, como explica este texto sobre endereços IP. A filtragem normalmente se limita às camadas de rede e de transporte: a primeira é onde ocorre o endereçamento dos equipamentos que fazem parte da rede e processos de roteamento, por exemplo; a segunda é onde estão os protocolos que permitem o tráfego de dados, como o TCP e o UDP (''User Datagram Protocol'').
* Para cada novo serviço que aparece na Internet, o fabricante deve desenvolver o seu correspondente agente de ''Proxy.'' Isto pode demorar meses, tornando o cliente vulnerável enquanto o fabricante não libera o agente específico. A instalação, manutenção e atualização dos agentes do ''Proxy'' requerem serviços especializados e podem ser bastante complexos e caros;
* Os ''proxy's'' introduzem perda de desempenho na rede, já que as mensagens devem ser processadas pelo agente do ''Proxy''. Por exemplo, o serviço FTP manda um pedido ao agente do ''Proxy'' para FTP, que por sua vez interpreta a solicitação e fala com o servidor FTP externo para completar o pedido;
* A tecnologia atual permite que o custo de implementação seja bastante reduzido ao utilizar CPUs de alto desempenho e baixo custo, bem como sistemas operacionais abertos (Linux), porém, exige-se manutenção específica para assegurar que seja mantido nível de segurança adequado (ex.: aplicação de correções e configuração adequada dos servidores).
 
=== Stateful Firewall (ou Firewall de Estado de Sessão) ===
Com base nisso, um firewall de filtragem pode ter, por exemplo, uma regra que permita todo o tráfego da rede local que utilize a porta UDP 123, assim como ter uma política que bloqueia qualquer acesso da rede local por meio da porta TCP 25.
Os ''firewalls'' de estado foram introduzidos originalmente em 1991 pela empresa [[Digital Equipment Corporation|DEC]] com o produto [[SEAL]], porém foi só em 1994, com os israelenses da [http://www.checkpoint.com Checkpoint], que a tecnologia ganharia maturidade suficiente. O produto [[Firewall-1]] utilizava a tecnologia patenteada chamada de ''Stateful Inspection'', que tinha capacidade para identificar o protocolo dos pacotes transitados e "prever" as respostas legítimas. Na verdade, o ''firewall'' guardava o estado de todas as últimas transações efetuadas e inspecionava o tráfego para evitar pacotes ilegítimos.
 
Posteriormente surgiram vários aperfeiçoamentos, que introduziram o ''Deep Packet Inspection'', também conhecido como tecnologia SMLI (''Stateful Multi-Layer Inspection''), ou seja ''Inspeção de Total'' de todas as camadas do modelo ISO/[[OSI]] (7 camadas). Esta tecnologia permite que o ''firewall'' decodifique o pacote, interpretando o tráfego sob a perspectiva do cliente/servidor, ou seja, do protocolo propriamente dito e inclui técnicas específicas de identificação de ataques.
==== Filtragens estática e dinâmica ====
É possível encontrar dois tipos de firewall de filtragem de pacotes. O primeiro utiliza o que é conhecido como ''filtros estáticos'', enquanto que o segundo é um pouco mais evoluído, utilizando ''filtros dinâmicos''.
 
Com a tecnologia SMLI/''Deep Packet Inspection'', o ''firewall'' utiliza mecanismos otimizados de verificação de tráfego para analisá-los sob a perspectiva da tabela de estado de conexões legítimas. Simultaneamente, os pacotes também vão sendo comparados a padrões legítimos de tráfego para identificar possíveis ataques ou anomalias. A combinação permite que novos padrões de tráfegos sejam entendidos como serviços e possam ser adicionados às regras válidas em poucos minutos.
Na filtragem estática, os dados são bloqueados ou liberados meramente com base nas regras, não importando a ligação que cada pacote tem com outro. A princípio, esta abordagem não é um problema, mas determinados serviços ou aplicativos podem depender de respostas ou requisições específicas para iniciar e manter a transmissão. É possível então que os filtros contenham regras que permitem o tráfego destes serviços, mas ao mesmo tempo bloqueiem as respostas/requisições necessárias, impedindo a execução da tarefa.
 
Supostamente a manutenção e instalação são mais eficientes (em termos de custo e tempo de execução), pois a solução se concentra no modelo conceitual do [[TCP/IP]]. Porém, com o avançar da tecnologia e dos padrões de tráfego da Internet, projetos complexos de ''firewall'' para grandes redes de serviço podem ser tão custosos e demorados quanto uma implementação tradicional.
Esta situação é capaz de ocasionar um sério enfraquecimento da segurança, uma vez que um administrador poderia se ver obrigado a criar regras menos rígidas para evitar que os serviços sejam impedidos de trabalhar, aumentando os riscos de o firewall não filtrar pacotes que deveriam ser, de fato, bloqueados.
 
=== Firewall de Aplicação ===
A filtragem dinâmica surgiu para superar as limitações dos filtros estáticos. Nesta categoria, os filtros consideram o contexto em que os pacotes estão inseridos para "criar" regras que se adaptam ao cenário, permitindo que determinados pacotes trafeguem, mas somente quando necessário e durante o período correspondente. Desta forma, as chances de respostas de serviços serem barradas, por exemplo, cai consideravelmente.
Com a explosão do comércio eletrônico, percebeu-se que mesmo a última tecnologia em filtragem de pacotes para [[TCP/IP]] poderia não ser tão efetiva quanto se esperava. Com todos os investimentos dispendidos em tecnologia de ''stateful firewalls'', os ataques continuavam a prosperar de forma avassaladora. Somente a filtragem dos pacotes de rede não era mais suficiente. Os ataques passaram a se concentrar nas características (e vulnerabilidades) específicas de cada aplicação. Percebeu-se que havia a necessidade de desenvolver um novo método que pudesse analisar as particularidades de cada protocolo e tomar decisões que pudessem evitar ataques maliciosos contra uma rede.
 
Apesar de o projeto original do [[TIS Firewall]] concebido por [[Marcos Ranum]] já se orientar a verificação dos métodos de protocolos de comunicação, o conceito atual de ''Firewall'' de Aplicação nasceu principalmente pelo fato de se exigir a concentração de esforços de análise em protocolos específicos, tais como servidores Web e suas conexões de hipertexto [[HTTP]]. A primeira implementação comercial nasceu em 2000 com a empresa [[israel]]ense [http://watchfire.com Sanctum], porém, o conceito ainda não havia sido amplamente difundido para justificar uma adoção prática.
=== Firewall de aplicação ou proxy de serviços (proxy services) ===
O '''firewall de aplicação''', também conhecido como '''proxy de serviços''' (''proxy services'') ou apenas ''proxy'' é uma solução de segurança que atua como intermediário entre um computador ou uma rede interna e outra rede, externa - normalmente, a internet. Geralmente instalados em servidores potentes por precisarem lidar com um grande número de solicitações, firewalls deste tipo são opções interessantes de segurança porque não permitem a comunicação direta entre origem e destino.
 
Se comparado com o modelo tradicional de ''Firewall'' -- orientado a redes de dados, o ''Firewall'' de Aplicação é frequentemente instalado junto à plataforma da aplicação, atuando como uma espécie de procurador para o acesso ao servidor ([[Proxy]]).
A imagem a seguir ajuda na compreensão do conceito. Perceba que em vez de a rede interna se comunicar diretamente com a internet, há um equipamento entre ambos que cria duas conexões: entre a rede e o proxy; e entre o proxy e a internet. Observe:
[[File:Firewall br 03.jpg|thumb|Proxy]]
 
Alguns projetos de [[código-aberto]], como por exemplo o ModSecurity<ref>{{citar web||url=http://www.modsecurity.org|titulo=ModSecurity}}</ref> para servidores Apache, IIS e Nginx, têm por objetivo facilitar a disseminação do conceito para as [[aplicações Web]].
Perceba que todo o fluxo de dados necessita passar pelo proxy. Desta forma, é possível, por exemplo, estabelecer regras que impeçam o acesso de determinados endereços externos, assim como que proíbam a comunicação entre computadores internos e determinados serviços remotos.
 
==== Vantagens ====
Este controle amplo também possibilita o uso do proxy para tarefas complementares: o equipamento pode registrar o tráfego de dados em um arquivo de log; conteúdo muito utilizado pode ser guardado em uma espécie de cache (uma página Web muito acessada fica guardada temporariamente no proxy, fazendo com que não seja necessário requisitá-la no endereço original a todo instante, por exemplo); determinados recursos podem ser liberados apenas mediante autenticação do usuário; entre outros.
* Pode suprir a deficiência dos modelos tradicionais e mapear todas as transações específicas que acontecem na camada da aplicação Web proprietária;
* Por ser um [[terminador]] do tráfego [[SSL]], pode avaliar hipertextos criptografadas ([[HTTPS]]) que originalmente passariam despercebidos ou não analisados por ''firewalls'' tradicionais de rede;
 
==== Desvantagens ====
A implementação de um proxy não é tarefa fácil, haja visto a enorme quantidade de serviços e protocolos existentes na internet, fazendo com que, dependendo das circunstâncias, este tipo de firewall não consiga ou exija muito trabalho de configuração para bloquear ou autorizar determinados acessos.
* Pelo fato de embutir uma grande capacidade de avaliação técnica dos métodos disponibilizados por uma aplicação (Web), este tipo de ''firewall'' exige um grande poder computacional—geralmente traduzido para um grande custo de investimento;
* Ao interceptar aplicações Web e suas interações com o cliente (o [[navegador]] de Web), pode acabar por provocar alguma incompatibilidade no padrão de transações (fato que exigirá, sem sombra de dúvidas, um profundo trabalho de avaliação por parte dos implementadores);
* Alguns especialistas ou engenheiros de tecnologia refutam o ''firewall'' de aplicação baseando-se nas seguintes argumentações:
** A tecnologia introduz mais um ponto de falha sem adicionar significativos avanços na tecnologia de proteção;
** O ''firewall'' e o [[Sistema de detecção de intrusos|IDS]]/[[Sistema de prevenção de intrusos|IPS]] já seriam suficientes para cobrir grande parte dos riscos associados à aplicação Web;
** A tecnologia ainda precisa amadurecer o suficiente para ser considerada um componente indispensável de uma arquitetura de segurança;
 
Certamente esses argumentos serão bastante discutidos ao longo dos próximos anos como um imperativo para determinar a existência desta tecnologia no futuro.
==== Proxy transparente ====
No que diz respeito a limitações, é conveniente mencionar uma solução chamada de '''proxy transparente'''. O proxy "tradicional", não raramente, exige que determinadas configurações sejam feitas nas ferramentas que utilizam a rede (por exemplo, um navegador de internet) para que a comunicação aconteça sem erros. O problema é, dependendo da aplicação, este trabalho de ajuste pode ser inviável ou custoso.
 
{{Referências}}
O proxy transparente surge como uma alternativa para estes casos porque as máquinas que fazem parte da rede não precisam saber de sua existência, dispensando qualquer configuração específica. Todo acesso é feito normalmente do cliente para a rede externa e vice-versa, mas o proxy transparente consegue interceptá-lo e responder adequadamente, como se a comunicação, de fato, fosse direta.
 
{{portal|Portal=[[Portal:Tecnologias de informação|Portal das tecnologias de informação]]}}
É válido ressaltar que o proxy transparente também tem lá suas desvantagens, por exemplo: um proxy "normal" é capaz de barrar uma atividade maliciosa, como um malware enviando dados de uma máquina para a internet; o proxy transparente, por sua vez, pode não bloquear este tráfego. Não é difícil entender: para conseguir se comunicar externamente, o malware teria que ser configurado para usar o proxy "normal" e isso geralmente não acontece; no proxy transparente não há esta limitação, portanto, o acesso aconteceria normalmente.
 
=== Inspeção de estados (stateful inspection) ===
Tido por alguns especialistas no assunto como uma evolução dos filtros dinâmicos, os firewalls de '''inspeção de estado''' (''stateful inspection'') trabalham fazendo uma espécie de comparação entre o que está acontecendo e o que é esperado para acontecer.
 
Para tanto, firewalls de inspeção analisam todo o tráfego de dados para encontrar estados, isto é, padrões aceitáveis por suas regras e que, a princípio, serão usados para manter a comunicação. Estas informações são então mantidas pelo firewall e usadas como parâmetro para o tráfego subsequente.
 
Para entender melhor, suponha que um aplicativo iniciou um acesso para transferência de arquivos entre um cliente e um servidor. Os pacotes de dados iniciais informam quais portas TCP serão usadas para esta tarefas. Se de repente o tráfego começar a fluir por uma porta não mencionada, o firewall pode então detectar esta ocorrência como uma anormalidade e efetuar o bloqueio.
 
 
 
== Arquitetura dos firewalls ==
Você certamente percebeu que, a julgar pela variedade de tipos, os firewalls podem ser implementados de várias formas para atender às mais diversas necessidades. Este aspecto leva a outra característica importante do assunto: a arquitetura de um firewall.
 
Quando falamos de arquitetura, nos referimos à forma como o firewall é projetado e implementado. Há, basicamente, três tipos de arquitetura. Veremos elas a seguir.
 
=== Arquitetura Dual-Homed Host ===
Nesta modalidade, há um computador chamado '''dual-homed host''' que fica entre uma rede interna e a rede externa - normalmente, a internet. O nome se deve ao fato de este host possuir ao menos duas interfaces de rede, uma para cada "lado".
 
Perceba que não há outro caminho de comunicação, portanto, todo o tráfego passa por este firewall, não havendo acesso da rede interna para a rede externa (e vice-versa) diretamente. A principal vantagem desta abordagem é que há grande controle do tráfego. A desvantagem mais expressiva, por sua vez, é que qualquer problema com o dual-homed - uma invasão, por exemplo - pode pôr em risco a segurança da rede ou mesmo paralisar o tráfego. Por esta razão, o seu uso pode não ser adequado em redes cujo acesso à internet é essencial.
 
Este tipo de arquitetura é bastante utilizado para firewalls do tipo proxy.
 
=== Screened Host ===
Na arquitetura '''Screened Host''', em vez de haver uma única máquina servindo de intermediadora entre a rede interna e a rede externa, há duas: uma que faz o papel de roteador (''screening router'') e outra chamada de ''bastion host''.
 
O bastion host atua entre o roteador e a rede interna, não permitindo comunicação direta entre ambos os lados. Perceba então que se trata de uma camada extra de segurança: a comunicação ocorre no sentido ''rede interna - bastion host - screening router - rede externa'' e vice-versa.
[[File:Firewall br 04.jpg|thumb|Arquitetura Screened Host]]
 
<small>Arquitetura Screened Host</small>
 
O roteador normalmente trabalha efetuando filtragem de pacotes, sendo os filtros configurados para redirecionar o tráfego ao bastion host. Este, por sua vez, pode decidir se determinadas conexões devem ser permitidas ou não, mesmo que tenham passado pelos filtros do roteador.
 
Sendo o ponto crítico da estrutura, o bastion host precisa ser bem protegido, do contrário, colocará em risco a segurança da rede interna ou ainda poderá torná-la inacessível.
 
=== Screened Subnet ===
A arquitetura '''Screened Subnet''' também conta com a figura do bastion host, mas este fica dentro de uma área isolada de nome interessante: a ''DMZ'', sigla para ''Demilitarized Zone'' - Zona Desmilitarizada.
 
A DMZ, por sua vez, fica entre a rede interna e a rede externa. Acontece que, entre a rede interna e a DMZ há um roteador que normalmente trabalha com filtros de pacotes. Além disso, entre a DMZ e a rede externa há outro roteador do tipo.
[[File:Firewall br 05.jpg|thumb|Arquitetura Screened Subnet]]
 
<small>Arquitetura Screened Subnet</small>
 
Note que esta arquitetura se mostra bastante segura, uma vez que, caso o invasor passe pela primeiro roteador, terá ainda que lidar com a zona desmilitarizada. Esta inclusive pode ser configurada de diversas formas, com a implementação de proxies ou com a adição de mais bastion hosts para lidar com requisições específicas, por exemplo.
 
O nível segurança e a flexibilidade de configuração fazem da Screened Subnet uma arquitetura normalmente mais complexa e, consequentemente, mais cara.
 
 
 
== Firewalls pessoais ==
O tópico sobre arquiteturas mostra as opções de configuração de firewalls em redes. Mas, como você provavelmente sabe, há firewalls mais simples destinados a proteger o seu computador, seja ele um desktop, um laptop, um tablet, enfim. São os '''firewalls pessoais''' (ou domésticos), que DEVEM ser utilizados por qualquer pessoa.
 
Felizmente, sistemas operacionais atuais para uso doméstico ou em escritório costumam conter firewall interno por padrão, como é o caso de distribuições Linux, do Windows 8 ou do Mac OS X. Além disso, é comum desenvolvedores de antivírus oferecerem outras opções de proteção junto ao software, entre elas, um firewall.
 
Mas, para quem procura uma solução mais eficiente e que permita vários tipos de ajustes, é possível encontrar inúmeras opções, muitas delas gratuitas. Usuários de Windows, por exemplo, podem contar com o ZoneAlarm, com o Comodo, entre outros.
 
Independente de qual seja o seu sistema operacional, vale a pena pesquisar por uma opção que possa atender às suas necessidades.
 
 
 
== Firewall de hardware ==
Já foi mencionado neste texto o fato de um firewall poder ser uma solução de software ou hardware. Esta informação não está incorreta, mas é necessário um complemento: o hardware nada mais é do que um equipamento com um software de firewall instalado.
 
É possível encontrar, por exemplo, roteadores ou equipamentos semelhantes a estes que exercem a função em questão função. Neste caso, o objetivo normalmente é o de proteger uma rede com tráfego considerável ou com dados muito importantes.
 
 
<small>Um firewall Netgear modelo FVS318</small>
 
A vantagem de um firewall de hardware é que o equipamento, por ser desenvolvido especificamente para este fim, é preparado para lidar com grandes volumes de dados e não está sujeito a vulnerabilidades que eventualmente podem ser encontrados em um servidor convencional (por conta de uma falha em outro software, por exemplo).
 
 
 
== Limitações dos firewalls ==
Lendo este texto, você já deve ter observado que os firewalls têm lá suas limitações, sendo que estas variam conforme o tipo de solução e a arquitetura utilizada. De fato, firewalls são recursos de segurança bastante importantes, mas não são perfeitos em todos os sentidos.
 
Resumindo este aspecto, podemos mencionar as seguintes limitações:
* Um firewall pode oferecer a segurança desejada, mas comprometer o desempenho da rede (ou mesmo de um computador). Esta situação pode gerar mais gastos para uma ampliação de infraestrutura capaz de superar o problema;
* A verificação de políticas tem que ser revista periodicamente para não prejudicar o funcionamento de novos serviços;
* Novos serviços ou protocolos podem não ser devidamente tratados por proxies já implementados;
* Um firewall pode não ser capaz de impedir uma atividade maliciosa que se origina e se destina à rede interna;
* Um firewall pode não ser capaz de identificar uma atividade maliciosa que acontece por descuido do usuário - quando este acessa um site falso de um banco ao clicar em um link de uma mensagem de e-mail, por exemplo;
* Firewalls precisam ser "vigiados". Malwares ou atacantes experientes podem tentar descobrir ou explorar brechas de segurança em soluções do tipo;
* Um firewall não pode interceptar uma conexão que não passa por ele. Se, por exemplo, um usuário acessar a internet em seu computador a partir de uma conexão 3G (justamente para burlar as restrições da rede, talvez), o firewall não conseguirá interferir.
 
 
== Finalizando ==
Como você pôde observar, firewalls são soluções importantes de segurança - não é por menos que surgiram na década de 1980 e são amplamente utilizados até os dias de hoje. Mas, tal como evidencia o tópico sobre limitações, um firewall não é capaz de proteger totalmente uma rede ou um computador, razão pela deve ser utilizado em conjunto com outros recursos, como antivírus, sistemas de detecção de intrusos, VPN (''Virtual Private Network'') e assim por diante.
 
O pensamento que se deve ter é o de que o firewall é parte da segurança, não a segurança em si, da mesma forma que acontece em um prédio, por exemplo: muros, portões, câmeras de vigilância e alarmes fazem a segurança de maneira conjunta, havendo menos eficiência se apenas um ou outro item for utilizado.
 
Este texto fez uma abordagem de apresentação do assunto. Caso deseje saber mais, você pode consultar os materiais que serviram de referência para a sua elaboração:
 
{{Referências}}http://www.infowester.com/firewall.php
* www.ietf.org/rfc/rfc2979.txt;
* www.cisco.com/univercd/cc/td/doc/product/iaabu/centri4/user/scf4ch3.htm;
* www.abchost.cz/download/204-4/.../-inspection-firewall.pdf;
* www.vtcif.telstra.com.au/pub/docs/security/800-10/node1.html.{{portal|Portal=[[Portal:Tecnologias de informação|Portal das tecnologias de informação]]}}
 
== Ligações Externas ==
Linha 173 ⟶ 121:
[[Categoria:Segurança da informação]]
[[Categoria:Firewall| ]]
 
{{Bom interwiki|de}}