SERVIDOR DE BORDA DE CÓDIGO LIVRE PARA CONEXÃO REMOTA E SEGURANÇA DE REDE - PDF
Download "SERVIDOR DE BORDA DE CÓDIGO LIVRE PARA CONEXÃO REMOTA E SEGURANÇA DE REDE"
Vagner Wagner Rosa
1 Giovanni Schmitt Salvador SERVIDOR DE BORDA DE CÓDIGO LIVRE PARA CONEXÃO REMOTA E SEGURANÇA DE REDE Trabalho submetido ao Programa de Graduação da Universidade Federal de Santa Catarina para a obtenção do Grau de Bacharelado em Ciências da Computação. Orientador: Prof. Dr. Carlos Becker Westphall Florianópolis SC 2013
2 Ficha de identificação da obra elaborada pelo autor, através do Programa de Geração Automática da Biblioteca Universitária da UFSC. Salvador, Giovanni Schmitt Servidor de Borda de Código Livre para Conexão Remota e Segurança de Rede / Giovanni Schmitt Salvador ; orientador, Carlos Becker Westphall - Florianópolis, SC, p. Trabalho de Conclusão de Curso (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico. Graduação em Ciências da Computação. Inclui referências 1. Ciências da Computação. 2. Servidor Roteador Linux. 3. Servidor DHCP. 4. Servidor VPN. 5. Servidor Firewall. I. Westphall, Carlos Becker. II. Universidade Federal de Santa Catarina. Graduação em Ciências da Computação. III. Título.
3 Giovanni Schmitt Salvador SERVIDOR DE BORDA DE CÓDIGO LIVRE PARA CONEXÃO REMOTA E SEGURANÇA DE REDE Este Trabalho foi julgado adequado para obtenção do Título de Bacharel em Ciências da Computação, e aprovado em sua forma final pelo Programa de Graduação da Universidade Federal de Santa Catarina. Florianópolis, 11 de Dezembro de 2013 Banca Examinadora: Prof. Vitório Bruno Mazzola Coordenador do Curso Prof. Dr. Carlos Becker Westphall Prof.ª Dr.ª Carla Merkle Westphall Me. Rafael de Souza Mendes
4 Este trabalho é dedicado a todos os colegas, professores e profissionais do Departamento de Informática e Estatística, que no decorrer do período de graduação, me instruíram, orientaram e auxiliaram no meu crescimento pessoal e acadêmico. Dedico este trabalho principalmente aos meus pais, sem o apoio deles, a elaboração deste trabalho não seria possível.
5 AGRADECIMENTOS Agradeço primeiramente a Deus, por iluminar meu caminho e permitir que eu obtenha o grau de bacharel neste prestigiado curso, fornecido por esta instituição acadêmica de excelência. Agradeço também ao meu orientador, que ao longo do curso, foi o principal responsável por me manter motivado na área em que este trabalho foi realizado, onde pretendo seguir carreira me aperfeiçoando constantemente. Agradeço a minha companheira pela enorme paciência. Agradeço principalmente a meus pais, que estiveram ao meu lado e me apoiaram em todas as decisões, acadêmicas ou não, que tomei até o presente momento.
7 RESUMO Neste trabalho foi pesquisado e apresentado a parte teórica dos firewalls e redes virtuais remotas (VPNs). Foi feita uma análise de desempenho de rede das tecnologias VPNs estudadas. E por fim, foi implantado em um computador o Sistema Operacional Ubuntu, o serviço de DHCP com encaminhamento de pacotes (para o servidor funcionar como um roteador), o serviço de VPN OpenVPN e o serviço de firewall Shorewall. Palavras-chave: Servidor roteador. Servidor DHCP. Servidor VPN. Servidor Firewall. Tecnologia VPN. Tecnologia Firewall. Sistema Operacional Linux. Sistema Operacional Ubuntu. Openvpn. Webmin. Shorewall. XFCE v4. Servidor periférico de rede. Servidor de segurança de rede. Rede de computadores.
9 ABSTRACT This work was researched and is presented, the theoretical context of network firewalls and virtual private networks (VPNs). An analysis of network performance over VPNs technologies is presented. And finally, a computer network server was implemented using Ubuntu Operating System, DHCP service with packet forwarding (for the server to work as a router), the VPN service OpenVPN and Shorewall firewall service. Keywords: Server router. DHCP server. VPN server. Firewall Server. VPN technology. Firewall technology. Linux Operating System. Ubuntu Operating System. Openvpn. Webmin. Shorewall. XFCE v4. Edge network server. Security network Server. Computer network.
11 LISTA DE FIGURAS FIGURA 1 - EXEMPLO DE REDE DISTRIBUÍDA IDEAL FIGURA 2 - ARQUITETURA BÁSICA DA TECNOLOGIA DE FIREWALL FIGURA 3 - AGRUPAMENTO DE VPN POR PROTOCOLO DE SEGURANÇA FIGURA 4 - ARQUITETURA DA REDE LOCAL FIGURA 5 - CONEXÃO DA ÁREA DE TRABALHO REMOTA WINDOWS FIGURA 6 - LOGIN DO XRDP FIGURA 7 - LOG DE CONEXÃO XRDP FIGURA 8 - ACESSO REMOTO COM INTERFACE GRÁFICA AO SERVIDOR FIGURA 9 - ACESSO AO WEBADMIN FIGURA 10 - PRIMEIROS PASSOS WEBADMIN FIGURA 11 - APLICANDO CONFIGURAÇÕES WEBADMIN FIGURA 12 - MELHRAR EXPERIÊNCIA DE USUÁRIO NO WEBADMIN FIGURA 13 - INTERFACE MELHORADA EM PORTUGUÊS DO WEBADMIN FIGURA 14 - ARQUITETURA 1 DE TOPOLOGIA DE REDE VIRTUAL PRIVADA FIGURA 15 - ARQUITETURA 2 DE TOPOLOGIA DE REDE VIRTUAL PRIVADA - ROADWARRIOR. 73 FIGURA 16 - RESUMO DO SERVIDOR IMPLEMENTADO... 86
13 LISTA DE TABELAS TABELA 1 - DADOS DE TECNOLOGIAS FIREWALL TABELA 2 RESUMO DOS PROTOCOLOS DE TUNELAMENTO DE VPN TABELA 3 - TECNOLOGIAS VPN TABELA 4 - DESEMPENHO DE SOBRECARGA NORMALIZADA [23] TABELA 5 - DESEMPENHO DE UTILIZAÇÃO DE LARGURA DE BANDA [23] TABELA 6 - DESEMPENHO, INSTABILIDADE NORMALIZADA [23] TABELA 7 - DESEMPENHO, LATÊNCIA NORMALIZADA [23] TABELA 8 - COMPLEXIDADE DE INSERIR ALGORITMOS PROPRIETÁRIOS DE CRIPTOGRAFIA TABELA 9 - SUPORTE DE ROTEAMENTO EMBUTIDO TABELA 10 - SEGURANÇA DAS VPNS
15 SUMÁRIO 1 INTRODUÇÃO: MOTIVAÇÃO FIREWALL INTRODUÇÃO: FUNDAMENTOS DA TECNOLOGIA DE FIREWALL FILTRAGEM DE PACOTES Vantagens e Desvantagens Onde estão os firewalls de filtro de pacotes FIREWALL DE INSPEÇÃO DE PACOTES DINÂMICO Pacotes TCP Pacotes UDP Vantagens e Desvantagens Onde estão os firewalls de inspeção dinâmica? APLICAÇÕES PROXY FIREWALLS Vantagens e Desvantagens Onde estão as aplicações proxy firewall SOFTWARES FIREWALL DE CÓDIGO ABERTO: Coyote Linux Firestarter IPCop IPFilter IPFire Netfilter m0n0wall pfsense Shorewall Smoothwall Untangle Vyatta UFW CONCLUSÃO VPN INTRODUÇÃO: TÚNEIS... 28
16 3.2.1 Protocolos de Túneis MPLS Ipsec L2TP IP-in-IP GRE PPTP SSTP Resumo dos Protocolos de Tunelamento ESTUDO DE DESEMPENHO A ARQUITETURA DE SOFTWARE DE UM ROTEADOR SVBLCA CARACTERÍSTICAS VPN Desempenho da Rede Overhead Utilização de banda Latência / Instabilidade Características suportadas e funcionalidades Código de modularidade Roteamento Preocupações operacionais Segurança Escalabilidade O BANCO DE ENSAIO EXPERIMENTAL RESULTADOS DA AVALIAÇÃO DE DESEMPENHO O desempenho da rede Características/funcionalidades suportadas A modularidade do código Roteamento Preocupações Operacionais Segurança Escalabilidade FUNCIONAMENTO VPNS USANDO PROTOCOLO UDP SSL/TLS sobre UDP no OpenVPN Canal de Controle Canal de Dados CONCLUSÕES SOBRE VPNS E TRABALHOS FUTUROS DESENVOLVIMENTO: SISTEMA OPERACIONAL CONFIGURANDO AS INTERFACES DE REDE E SERVIÇO DHCP CONFIGURANDO O SERVIDOR COMO ROTEADOR DHCP/GATEWAY DE DUAS INTERFACES 57
17 4.4 INSTALANDO INTERFACE GRÁFICA NO SERVIDOR INSTALANDO O WEBADMIN Pré-configurando o serviço de Firewall INSTALANDO SERVIÇO DE VPN OPENVPN INSTALANDO E CONFIGURANDO O SERVIÇO DE FIREWALL SHOREWALL DNS DINÂMICO Introdução Registrar IP com um provedor de DNS dinâmico Utilitário de software para realizar atualizações de DNS dinâmico 82 No-IP CONCLUSÃO: TRABALHOS FUTUROS REFERÊNCIAS BIBLIOGRÁFICAS:... 89
19 1 Introdução: Firewall (em português, muro anti-chamas ) é um dispositivo de rede de computadores, que tem por objetivo aplicar uma política de segurança a um determinado ponto da rede. 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. O firewall pode ser usado para bloquear acessos remotos a portas abertas dentro da rede local, serve também para delimitar regras de uso e acesso à rede, podendo ser entre elas, regras de acesso a sites, s, spams, entre outros. VPN (Virtual Private Network) significa Rede Privada Virtual. É uma rede de comunicações privada normalmente utilizada por uma empresa ou um conjunto de empresas/instituições, construída em cima de uma rede de comunicações pública (como por exemplo, a Internet). O tráfego de dados é levado pela rede pública, utilizando protocolos padrão, não necessariamente seguros. VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a confidencialidade, autenticação e integridade necessárias para garantir a privacidade das comunicações requeridas. Quando adequadamente implementados, estes protocolos podem assegurar comunicações seguras através de redes inseguras. Deve ser notado que a escolha, implementação e uso destes protocolos não são triviais, e várias soluções de VPN inseguras são atualmente distribuídas no mercado. Com o acesso remoto à rede administrativa principal (onde geralmente encontram-se os servidores de dados e aplicativos) aumentamse os pacotes recebidos e enviados pela rede. 1.1 Motivação Existem empresas e laboratórios que compartilham entre diversas redes de computadores distribuídas geograficamente, recursos necessários para a elaboração de suas funções, pesquisas e serviços. Percebe-se também, que as empresas e laboratórios necessitam utilizar diversos recursos de software para acessar programas remotos, distribuídos entre as redes de computadores da organização - programas como de gerenciamento da empresa (financeiro, recursos humanos, compra e venda de materiais e serviços, emissão de nota fiscal, etc.), banco de dados, acesso a área de trabalho remota, cópias de segurança de arquivos, entre outros.
20 Para utilizar estes serviços/recursos espalhados geograficamente, muitas vezes utilizam-se diversos softwares diferentes, que necessitam de roteamento de portas entre os nodos da rede, a abertura de variadas portas na rede de computadores, permissões especiais nos firewalls dos sistemas operacionais dos usuários (se não houver um firewall de rede de borda), entre outras coisas que podem ocasionar o comprometimento da segurança da rede de computadores, implicando no comprometimento dos dados e serviços oferecidos. Para resolver este problema, pode ser feito o acesso remoto a rede, via VPN, para acessar os serviços disponíveis nas diversas redes distribuídas geograficamente, como se todas estivessem conectadas diretamente, ou melhor, como se todas estivessem no mesmo escritório. Assim não seria necessário abrir diversas portas para a rede pública/externa. E com a segurança criptográfica dos túneis VPN, ainda obter-se-á toda a segurança necessária para os dados trafegarem de uma rede para outra com confidencialidade, autenticidade e integridade. Para reforçar a segurança da rede, seria ideal ter um firewall de rede nas bordas das redes de computadores, aumentando a segurança geral dos sistemas de TI das empresas e laboratórios, impedindo determinados tipos de ataque, e deixando os administradores de rede com menos sobrecarga de trabalho. Portanto não existe um documento sucinto com os tipos de softwares disponíveis no mercado quanto a programas de VPN e Firewall. Analisar suas características, qualidades e defeitos para implementar a melhor solução de servidor VPN para acesso remoto, com serviço de firewall pode ser uma tarefa árdua e demorada. O objetivo do desenvolvimento deste trabalho é a implementação de um servidor VPN-Firewall para proteger uma rede local qualquer e conectá-la a outra rede local, separadas geograficamente por uma rede pública, seja esta rede de instituições de ensino, empresas privadas ou até mesmo, domésticas. Ainda, este trabalho foi desenvolvido para ter o custo mais baixo possível, sendo as duas tecnologias implementadas no mesmo servidor, e contando que todas as tecnologias são de códigos abertos e por isso, gratuitas. Portanto, o único gasto que as empresas e laboratórios teriam, é o da aquisição do servidor em si, que não necessitar ter hardware de desempenho alto, inclusive, nota-se que pode ser utilizado qualquer computador mesmo que considerado desatualizado tecnologicamente.
21 Figura 1 - Exemplo de rede distribuída ideal. 2 Firewall 2.1 Introdução: Firewall é uma ferramenta importante para o perímetro de segurança da rede de computadores, porque é usada para prevenir que qualquer usuário ou objeto, de dentro ou fora da rede, façam qualquer tipo de rotina maliciosa dentro dela. Também pode se referir a qualquer método ou tecnologia cujo propósito seja o controle do tráfego de entrada e saída de pacotes na rede para propósitos de segurança [1]. Muitos tipos diferentes de controle de tráfego de pacotes têm sido utilizados. Podendo ser utilizado tanto hardware e software como forma de controle de tráfego de rede [2]. Neste capítulo discutiremos no geral os fundamentos das tecnologias (ou aplicações), que possuem diferentes tipos de configurações, incluindo suas vantagens e desvantagens.
22 2.2 Fundamentos da Tecnologia de Firewall Os estudos mostram que existem três tipos principais de tecnologias que involvem desenvolvimento de sistemas de firewall. As três tecnologias são; (1) filtragem de pacotes, (2) inspeção dinâmica de pacotes, e (3) aplicações proxy. São estes três métodos, ou processos básicos, atualmente envolvidos em sistemas de firewall. Cada uma das tecnologias tem suas vantagens e desvantagens. Algumas são mais aconselháveis em certas situações e ambientes. 2.3 Filtragem de Pacotes Esta é a primeira geração da tecnologia de firewall. Faz apenas a função básica do sistema de firewall onde se verifica pacote por pacote no tráfego da rede. Esta tecnologia checa cada pacote que passa pela rede e decide se deixa o pacote passar ou se o descarta/bloqueia [3]. Tudo isso acontece de acordo com uma coleção de regras previamente configuradas no sistema de firewall. Este firewall de filtragem de pacotes tem duas ou mais interfaces de rede, esta característica é conhecida como arquitetura multi homed. Na prática, este tipo de firewall precisa de duas placas de rede dentro do ambiente de rede de área local (LAN) [4]. Uma das interfaces de rede é responsável pela conexão com a rede interna e a outra fica responsável pela conexão com a rede externa ou internet. Este tipo de tecnologia de firewall irá fazer o trabalho correspondente ao de um policial de tráfego de pacotes, no qual direciona pacotes permitidos para seus destinos e interrompe pacotes que podem causar dano à rede, ou que não estão de acordo com as políticas de uso da mesma. A arquitetura básica desta tecnologia de firewall é apresentada a seguir na Figura 2.
23 Figura 2 - Arquitetura básica da Tecnologia de Firewall Todos os pacotes cuja origem é de fora da rede, e cujo destino é dentro da rede, serão checados em detalhes pelo firewall de filtro de pacotes. O sistema de firewall confere as informações básicas dos pacotes como endereço de origem e de destino, portas de origem e destino, protocolos, conteúdo e outras informações relacionadas. Para então ser feita uma comparação entre as informações dos pacotes e de um conjunto de regras previamente configuradas no sistema de firewall. Como exemplo de configuração de firewall de filtro de pacotes, podemos citar as requisições de conexão FTP, cuja porta de aplicação padrão, a de número 21, é bloqueada. Portanto, todos os pacotes que chegarem com esta porta de destino serão descartados. Em outra situação, podemos citar o exemplo de sistemas de firewall configurados para permitir o recebimento de pacotes web, cuja porta padrão é a de número 80 (para o protocolo HTTP), permitindo assim, o encaminhamento de pacotes recebidos por esta porta (geralmente, nestes casos, com a conotação de o firewall deixar a porta 80 aberta ) para seus endereços de destino, no sentido dentro para fora e vice versa. Combinaçoes de diferentes tipos de regras podem fazer um sistema de firewall permitir conexões apenas a um servidor em particular. Neste caso, o encaminhamento de pacotes só será permitido quando a porta e endereço de destino correponderem às regras de configuração préestabelecidas [5]. No sistema de firewall de filtragem de pacotes pode-se ainda definir regras para determinar ações no caso de um pacote que chega à rede e que não coincide com nenhuma das regras previamente estabelecidas, ou
24 que não há definições para as características do pacote. Normalmente, nestes casos, o pacote será descartado por questões de segurança. Portanto, para permitir certos pacotes de transitar na rede de computadores, devem-se estabelecer regras claras e objetivas nas configurações do sistema de firewall. A seguir são demonstrados diversos exemplos de regras que podem ser consideradas como guia para configurar sistemas de firewall de filtragem de pacotes: Nas redes privadas, como as LANs, os pacotes permitidos para trafegar pelo sistema de firewall devem ser de origens interna, pois os pacotes possuem, em seus cabeçalhos, informações oriundas de sua origem; Esta regra é usualmente utilizada para prevenir ataques baseados em spoofing, ela também previne os ataques de crackers, os quais utilizam a rede interna para lançar um ataque. Nos locais de rede pública, todos os pacotes terão como porta de acesso à de número 80 por padrão. Esta regra permite o recebimento de conexões na forma de sítios web, mas todas as conexões que utilizam esta porta também estarão liberadas para acessar a rede interna, como por exemplo, alguns softwares de conexão remota da área de trabalho. Fazer o descarte de todos os pacotes que chegam da rede externa com endereço IP de origem da rede interna; Assim evitando ataques spoof de IP. Descartar quaisquer pacotes de origem externa que contenham informções de roteamento de origem interna para prevenir ataques de roteamento de origem. Este tipo de ataque acontece quando os pacotes de entrada contêm informações que subtituirão as informações dos pacotes na rede passando por sua segurança Vantagens e Desvantagens A seguir serão enumeradas as vantagens do firewall de filtro de pacotes: Processo simples, pois há baixo controle sobre cada pacote que entra e sai da rede. Checar de maneira básica cada campo do pacote como seu endereço de origem, endereço de destino, protocolo, número da porta e tipo de serviço. Os pacotes podem ser identificados e descartados ao identificar tentativa de spoofing no endereço IP de origem.
25 Todo o tráfego da rede local deve passar pelo firewall. Então, o firewall se torna o único ponto de acesso entre a rede externa e interna. Normalmente este tipo de filtro de pacotes é incluído nos roteadores amplamente comercializados. Seguem abaixo as desvantagens do firewall de filtro de pacotes: Firewall de filtro de pacotes é complicado e difícil de criar as regras de filtragem. Pode ser facilmente esquecido de incluir regras excenciais para a rede, criar regras com conflitos, ou errar a especificação de alguma regra causando vulnerabilidades na rede [6]. Portanto, sugere-se utilizar alguma interface (GUI) para gerenciar as configurações de regras do firewall. Cada porta aberta que possuem serviços definidos, como Telnet, SSH, FTP, entre outros, podem ser usadas para transporte de pacotes por outras aplicações, como o RealPlayer. Estes tipos de aplicações testam a rede para descobrir quais portas estão abertas, então usa a porta aberta para efetuar as conexões relativas ao seu funcionamento. Normalmente, este tipo de aplicação usa a porta 80, pois esta porta está geralmente aberta para conexões web. Para quebrar a segurança da rede, mesmo sem ultrapassar o sistema de firewall basta fazer uma conexão de discagem, ou outros tipos de conexão relacionados, como o de modens de internet 3G portáteis que usam a porta USB do computador Onde estão os firewalls de filtro de pacotes Este tipo de tecnologia de firewall é mais bem aplicada em redes pequenas com nível de segurança crítico baixo. Pode ser encontrada em diversos tipos de sistemas operacionais, implementados em hardware ou software. Sistemas Operacionais baseados em UNIX (Linux e BSD): Na maioria dos sistemas operacionais baseados em UNIX, podem ser configurados como roteadores ou firewall de filtro de pacotes. Possuem a possibilidade de atribuir regras de configuração de filtragem de pacotes e agir como um sistema de firewall. Este tipo de firewall pode ser implementado utilizando tecnologias como ipfwadm, ipchains, iptables, entre outros [7]. Utilizando-se para isto, duas placas de rede, uma conectada à rede externa e a outra, à rede interna; sendo montado um firewall simples
26 e sem quaisquer hardwares adicionais [8]. Esta implementação fica limitada pelo fato de haver necessidade de alto grau de conhecimento, pesquisa e testes para configurar e atualizar o sistema de firewall e o funcionamento da rede. Roteadores baseado em software e hardware: Normamente roteadores baseados em software ou hardware podem ser configurados como sistema de firewall de filtro de pacotes simples. Por conseguinte, para habilitar o roteamento de tráfego entre a internet e rede interna, deve-se estipular um conjunto de regras de filtro de pacotes. Sistemas Operacionais baseados em Windows Server e Serviços de Acesso Remoto: Este é um serviço integrado dentro do SO do Windows Server. Este provê roteamento de serviços como filtro de pacotes entre outros. Estes recursos são valiosos se o SO executa o MPS (Microsoft Proxy Server), ou proxy baseado em janelas, ou outro tipo de firewall de filtro de pacotes baseado em Windows. Estes possuem as mesmas limitações daqueles disponibilizados em sistemas UNIX. 2.4 Firewall de Inspeção de Pacotes Dinâmico Este tipo de tecnologia de firewall é usada para manter registro das atividades das conexões e pacotes que passam pela rede. Então, se utiliza estes registros como critérios adicionais para decidir se permite ou nega o tráfego do pacote na rede. Este, também utiliza a tecnologia de firewall de filtro de pacotes aplicada. No firewall de filtro de pacotes, não há histórico, passado ou futuro, no que diz respeito ao funcionamento do firewall. As decisões serão tomadas baseadas nas informações contidas nos pacotes, como endereço de origem, endereço de destino, número da porta e assim por diante. Neste tipo de tecnologia, o pacote é sem estado, por causa da falta de informações sobre seu lugar no fluxo de informações. No firewall de inspeção de pacotes dinâmico, será mantido um acompanhamento das informações contidas dentro dos pacotes, chamado de estado dos pacotes, que mantem todas as informações úteis nas quais podem ser identificados os pacotes de conexão de rede existentes, requisições de saída de dados, entre outras coisas relacionadas. Como exemplo pode-se citar pacotes que entram na rede, referentes a um streaming de vídeo. O firewall manterá informações da conexão, como o tipo de protocolo, o endereço IP do servidor que está
27 enviando os pacotes de streaming, e o endereço IP da máquina que está requisitando o serviço. Se o endereço externo de envio de pacotes do protocolo da aplicação anterior for o mesmo dos pacotes sendo recebidos, assim como o protocolo e o endereço destino dentro da rede, os pacotes serão automaticamente liberados para trafegar na rede interna sem ser analisado o seu conteúdo pelo firewall de inspeção de pacotes dinâmicos. Normalmente, ele bloqueia todo o tráfego de entrada de pacotes da rede externa, enquanto permite a saída de todos os pacotes de dentro da rede. O sistema de firewall mantém o acompanhamento das requisições internas enquanto as envia para fora da rede e mantem também o acompanhamento de todos os dados de entrada referentes às requisições citadas anteriormente, permitindo a passagem dos pacotes relacionados até a conexão ser encerrada. Contudo, irá bloquear somente os pacotes de entrada que não foram solicitados. As configurações para este tipo de firewall podem ser mais complexas se houver algum servidor rodando dentro da rede que atende requisições externas, mas este tipo de tecnologia é mais flexível e sofisticada. Como exemplo de configurações que permitem tráfego de entrada de pacotes, podemos citar o caso em que podem ser permitidas conexões a uma determinada porta, como a porta 80, para serem encaminhados ao endereço de IP do servidor rodando um serviço web. Ou seja, o firewall encaminha todo o tráfego que chega pela porta 80, com IP de origem externo, para o servidor rodando o aplicativo web. Ainda existem diversos serviços adicionais que este sistema de firewall permite serem executados, como redirecionar certos tipos de conexões para autenticação de serviços e bloquear o tráfego de rede que contenham certo tipo de conteúdo, como mensagens de com arquivos executáveis anexados, ou até mesmo bloquear websites que contenham programas ActiveX [9]. O processo de acompanhamento do estado de conexões depende do tipo de protocolo de comunicação dos pacotes que querem atravessar a rede, como TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol) Pacotes TCP No estabelecimento de conexões do tipo TCP, existem SYN flags que identificarão o primeiro pacote, que irá estabelecer a configuração da comunicação e por consequente, a transferência de pacotes síncrona.
28 Normalmente, o firewall bloqueará todas as tentativas de conexão externa, a não ser que tenha sido configurada alguma regra específica para garantir a passagem de um pacote para um determinado tipo de conexão. No caso de tentativas de conexão interna para hosts remotos, o sistema de firewall notificará a conexão de pacotes e permitirá as respostas e pacotes subsequentes entre os dois sistemas até a conexão se der por encerrada [10]. O sistema de firewall permitirá a passagem dos pacotes que chegarem à rede, se eles corresponderem a uma configuração existente, neste sentido do fluxo de pacotes Pacotes UDP. Pacotes UDP são mais simples que pacotes TCP, pois no contexto deste tipo de pacote, não há qualquer tipo de conexão síncrona, nem mesmo há uma sequência exata das informações neles contidas. Possui apenas o endereço IP da origem, do destino; e um resumo número total de dados/pacotes que estão sendo enviados/transferidos para certificar que tudo está de acordo. Sistemas de firewall tem dificuldade em determinar a validade de pacotes UDP, por causa da ausência de conexão síncrona, não há parâmetro para certificar a validade dos pacotes que entram, assim sendo, não há como decidir se permite ou não a passagem do pacote. Então só pode ser determinada a permissão da passagem do pacote com os dados do registro do estado e das requisições de conexões feitas de dentro da rede. Portanto, pacotes de entrada, cujo endereço destino tem sido usado em uma requisião prévia, e que inclusive utilize o protocolo UDP, coincidindo com uma requisição previamente efetuada, terão seu tráfego permitido na rede. No entanto, o sistema de firewall não permite pacotes UDP provenientes de endereço IP de rede externa, a não ser que haja regras previamente estabelecidas permitindo a passagem desse tipo de protocolo, ou endereço de origem, ou se existiu alguma requisição feita a partir de dentro da rede para esta conexão em específico. Este tipo de comportamento também acontece para outros tipos de pacotes. O sistema de firewall necessita manter o acompanhamento de requisições feitas para fora da rede cuidadosamente. O firewall também necessita manter informações importantes comos os endereços IP, protocolos e tipos de pacotes utilizados. Finalmente, precisa checar se as informações salvas coincidem com as informações dos pacotes que tentarem entrar na rede para assegurar que os pacotes foram realmente requisitados.
29 2.4.3 Vantagens e Desvantagens A seguir enumeramos as vantagens e desvantagens do sistema de firewall de inspeção dinâmica de pacotes: O sistema de firewall checa cada campo do cabeçalho do pacote, como endereço de origem, de destino, protocolo (TCP, UDP, entre outros), número da porta e tipo de serviço (Telnet, FTP, SSH, entre outros). As regras para filtragem dos pacotes serão aplicadas baseadas nestas informações. Possui a habilidade de identificar pacotes verificando o endereço IP de origem. Todo o tráfego de rede deve passar por este firewall. Portanto, é a única ponte de acesso entre a entrada e saída de pacotes, tornando-se extramamente difícil burlar este sistema. Este sistema está apto a determinar o estado do pacote baseado nas informações da aplicação e das comunicações prévias. Como exemplo de informação de aplicação, podemos citar a autenticação prévia de conexão para continuar a comunicação com os serviços autorizados. Entre os exemplos de comunicação estão as conexões Telnet, este irá permitir o retorno de pacotes Telnet que tenham sido previamente configurado. Ele registra todos os detalhes das informações de acordo com cada pacote que passa pela rede. Todas essas informações usadas pelo firewall podem ser usadas para determinar o estado do pacote, como o tempo de duração da conexão, sistemas externos fazendo requisições de conexão, aplicações requisitando pacotes, etc. Há apenas uma desvantagem no firewall de inspeção de pacotes dinâmico. Sua operação faz com que o tempo de processamento global seja alto, por causa dos registros mantidos pelo sistema, testes e análises no tráfego da rede. A rede pode se tornar mais lenta na medida em que são acrescentadas mais conexões ativas de transferência de pacotes simultâneas, assim tornando mais lenta o tráfego de pacotes na rede, outro fator que pode contribuir para deixar a rede mais lenta é a grande quantidade de regras estabelecidas, que precisarem ser verificadas pelo sistema de firewall. Como solução para este problema, os fabricantes de sistemas de firewall de inspeção de pacotes dinâmicos, tem adotado o costume de melhorar a velocidade do sistema com o aprimoramento do desempenho das máquinas onde o sistema está instalado, como velocidade de CPU (Central Processing Unit), placas de rede mais velozes, cabeamento da rede mais veloz entre outros.