Firewall

//**Firewall**// (em português: muro anti-chamas) é um dispositivo de uma rede de computadores que tem por objetivo aplicar uma política de segurança a um determinado ponto da rede. e filtros de pacotes e de //proxy// de aplicações, comumente associados a redes TCP/IP. Imagem optida de [] Este dispositivo de segurança existe na forma de //software// e de //hardware//, a combinação de ambos normalmente é chamado de "appliance". 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 Internet Worm. Em menos de 24 horas, o worm escrito por 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.

__//** Filtros de Pacotes **//__
Estes sistemas analisam individualmente os pacotes à medida que estes são transmitidos, verificando as informações das camada de enlace (camada 2 do modelo ISO/OSI) e de rede (camada 3 do modelo ISO/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.

Primeira Geração - Filtros de Pacotes
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. = =
 * A tecnologia foi disseminada em 1988 através de pesquisa sustentada pela DEC;
 * Bill Cheswick e Steve Bellovin da AT&T desenvolvem o primeiro modelo para //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);

Proxy Firewall ou Gateways de 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. 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//. = = = Desvantagens = = = = Firewall de Aplicação = 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 israelense Sanctum, porém, o conceito ainda não havia sido amplamente difundido para justificar uma adoção prática. = = = Vantagens = 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.
 * 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 //proxies// 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).
 * 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
 * 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 IDS/IPS já seriam suficientes para cobrir grande parte dos riscos associados a aplicação Web;
 * A tecnologia ainda precisa amadurecer o suficiente para ser considerada um componente indispensável de uma arquitetura de segurança;

[]