Análise De Usabilidade Da Ferramenta Ipfirewall Para Firewall
Total Page:16
File Type:pdf, Size:1020Kb
Furin e Machado Junior (2011). ANÁLISE DE USABILIDADE DA FERRAMENTA IPFIREWALL PARA FIREWALL Marcelo Antonio Ferreira Furin Graduado em Sistemas de Informação pela LIBERTAS Faculdades Integradas. Dorival Moreira Machado Junior Mestra em Sistemas de Informação e professor da LIBERTAS Faculdades Integradas. 1. INTRODUÇÃO A importância do firewall evidencia-se pela expansão da internet e o consequente aumento de usuários, muitas vezes, sem o conhecimento acerca da proteção de sua rede e sua máquina. Com isso, por meio da ferramenta IPFIREWALL, um filtro de pacotes do sistema operacional FreeBSD, será analisado suas funcionalidades nativas. Outro ponto de destaque para a importância do firewall é evitar que o craker (é o termo usado para designar quem pratica a quebra (ou cracking) de um sistema de segurança, de forma ilegal ou sem ética) invadam os arquivos não autorizados. Dentre as razões para se utilizar o firewall é ajudar a proteger à rede ou computador do usuário de acessos maliciosos de hacker (são indivíduos que elaboram e modificam software e hardware de computadores, seja desenvolvendo funcionalidades novas, seja adaptando as antigas). 2. PROBLEMA DE PESQUISA Utilizando a ferramenta IPFIREWALL para firewall, sem usar quaisquer, ferramentas para auxílio, tem-se o ambiente no qual se origina a pergunta de pesquisa que norteará o presente estudo: No que é possível fazer com as funcionalidades nativas do IPFW? 2.1 OBJETIVO GERAL O objetivo deste trabalho é descrever todas as funcionalidades nativas do IPFW, o qual vem como firewall padrão no sistema operacional FreeBSD, e comprovar que é 100 Furin e Machado Junior (2011). possível fazer o mesmo trabalho realizado pelo IPTABLES gerando um script com as regras. 2.2 JUSTIFICATIVA Uma proposta de utilizar a ferramentas IPFW para ser desenvolvido um script utilizando as mesmas regras propostas no Netfilter gerenciado através do Iptables. 3. REFERENCIAL TEÓRICO O objetivo desse referencial teórico é analisar a ferramenta IPFIREWALL com firewall, analisando os conceitos de funcionalidades de portas de comunicação, o uso de protocolos de comunicação, a estrutura de um firewall, os tipos, analisando sua segurança. 3.1. SISTEMA OPERACIONAL FREEBSD O nome FreeBSDé compostopela sigla Free (de software livre) e BSD (BerkeleySoftwareDistribuition, (software de distribuição da universidade Berkeley ),foi desenvolvido a partir d a versão 4.4BSD-Lite do Grupo de Pesquisa em Sistemas Computacionais (CSRG) da Universidade da Califórnia Berkeley. O projeto FreeBSD teve seu nascimento no início de 1993, em parte como uma consequência do conjunto de manutenção não-oficial do 386BSD (Unofficial 386BSD Patchkit) pelos seus 3 últimos coordenadores, O time de responsáveis pelo desenvolvimento deste patchkit, formado por Nate Williams. Rod Grimes e Jordan, da universidade Berkeley na Califórnia, resolveram levá-la ao conhecimento do mantenedor do projeto Bill Jolite e lynneJolitz,desenvolvedores do sistema operacional 386BSD. O nome 386 originou-se pelo motivo de abranger a arquitetura da Intel, que não teve adequada aceitação as intenções dos desenvolvedores. (386bsd). É tem um código fonte disponibilizado pela universidade de Berkeley, disponível para arquitetura x86 (incluindo Intel e Amd), e arquitetura 64 (Amd64 e Intel64). O sistema FreeBSD tem o termo de licença com software Open Source, é um software de utilização livre, para qualquer usuário ou pessoa. E todos podem contribuir com ele, seja no seu desenvolvimento, na correção de erros ou na documentação, desde que a condição de liberdade seja mantida. 101 Furin e Machado Junior (2011). Este paradigma revolucionou a maneira com que softwares são desenvolvidos, baixando os custos de desenvolvimento e aumentando à agilidade, resultando em softwares de excelente qualidade e em constante evolução. Essas restrições não definem regras a respeito de como o código deve ser utilizado, mas de como deve tratar o Projeto FreeBSD ao utilizar código distribuído pelo mesmo. (FreeBSD, 2011). 3.2PROTOCOLOS Protocolo é um padrão de comunicação, para que dois ou mais computadores consigam se comunicar. Ex. a linguagem de comunicação entre duas pessoas e a linguagem em que elas se comunicam, existem vários tipos de protocolos tais como TCP, UDP, ICMP. O protocolo de rede é a linguagem usada para a comunicação entre um computador e outro. Existem vários tipos de protocolos usados para a comunicação de dados, alguns são projetados para pequenas redes (como é o caso do NetBios) outros para redes mundiais (TCP/IP que possui características de roteamento). Dentre os protocolos, o que mais se destaca atualmente é o TCP/IP devido ao seu projeto, velocidade e capacidade de roteamento. (FOCA, 2007). 3.2.1 Protocolo TCP O protocolo TCP (TransmissionControlProtocol), foi desenvolvido para estabelecer uma conexão confiável em uma Inter-rede não confiável e também para se adaptar dinamicamente ás propriedades Inter-redes, e se adaptar a muitas falhas encontradas que pode ocorrer. O TCP foi definido na RFC 793, depois de encontrada erros, foram definidos os erros e correções na RCF 1122, com extensões fornecidas na RCF 1323. (TANENBAUM 2003, p.568). O protocolo TCP é um protocolo confiável, pelo motivo dos pacotes de reconhecimento. Esse protocolo é um pouco mais lento que o UDP,um dos aplicativos que utiliza ele é o FTP. (SCRIMGER, LA SALLE, PARINHAR, GUPTA, 2002, p. 11). O protocolo básico utilizado pelas entidades TCP é o protocolo de janelas deslizante. Quando envia um segmento, o transmissor também dispara um timer, quando o segmento chega ao destino, a entidade TCP receptora retorna um segmento (com ou sem dados, de acordo com as circunstancias) com um numero de confirmação igual ao próximo numero de sequencia que espera que receber. Se o timer do transmissor expirar antes de a confirmação ser recebida, o segmento será retransmitido. (TANENBAUM 2003, p.570) 102 Furin e Machado Junior (2011). 3.2.2 Protocolo UDP Protocolo UDP (UserDatagramProtocol), é um protocolo de transporte sem conexão, fornecendo um meio para as aplicações enviarem datagramas IP encapsuladas sem que seja necessário estabelecer uma conexão, sendo descrito na RFC 768, o UDP é utilizado em situação de cliente servidor, umas das aplicações que utiliza o UDP e o DNS (Domain Name System), sistema de nomes de domínios, sendo responsável por converter o endereço digitado no navegador pelo IP. (TANENBAUM 2003, p.590 - 560). O UDP é um protocolo simples e tem alguns usos específicos, como interação cliente/servidor e multimídia, porém para a maioria das aplicações de internet, é necessária uma entrega confiável e em sequencia. O UDP não pode proporcionar isso, e assim foi preciso criar outro protocolo. (TANENBAUM 2003, p.556). O protocolo UDP, é um protocolo não confiável, apesar de mais rápido que o TCP, pois não possui o protocolo de reconhecimento. Exemplo: um aplicativo que usa esse protocolo é o telefone. O UDP não garante a entrega de pacotes, mas oferece um pacote de integridade. Tanto o TCP como o UDP realizarão verificações de erros no recebimento dos pacotes de dados. Se um pacote tiver erros ele será descartado. O UDP é normalmente mais rápido que o TCP porque o UDP tem alguns overheads mais baixos para a transmissão de dados. Um exemplo de um aplicativo que utiliza o UDP é o serviço de TFTP. (SCRIMGER, SALLE, PARINHAR, GUPTA, P. 11). 3.2.3 Protocolo ICMP O protocolo ICMP (Internet ControlMessageProtocol), ao contrário de outros protocolos como UDP e o TCP, não transmite dado, sendo responsável por enviar relatórios. Um dos principais comandos desse protocolo é o PING (packet internet groper), responsável por verificar a conectividade entre dois hosts de IP e também realizando a função de monitorar e informar erros entre máquinas. As redes devem funcionar adequadamente o tempo todo, mas elas não funcionam. Quando algo está errado na camada Inter-rede, a Internet ControlMessagingProtocol (ICMP) age como um solucionador de problemas. O ICMP é um protocolo de manutenção que informa erros de host para host. O ICMP está documentado na RCF 792. (SCRIMGER, LA SALLE, GUPTA, 2002, p.119). 103 Furin e Machado Junior (2011). 3.3 FIREWALL Firewall é o nome dado ao dispositivo de rede que tem por função regular o tráfego de pacotes entre redes distintas e filtrar os dados entre uma rede e outra, aplicando regras ao tráfego de dados entre um e outro baseado nelas, o firewall decide o que deve ou não passar. É justamente por isso que nenhum firewall é 100% seguro, já que precisa fazer seu trabalho sem prejudicar o computador da rede. (MORIMOTO 2008, p. 396). O firewall não faz a verificação de vírus, ou trojans, ele faz a verificação dos endereços de origem ou destino e portas destinadas. Essa parte de verificação dos conteúdos dos pacotes é designada pelo antivírus. O firewall é um software que contém uma seqüência de regras, que dizem o que ele deve fazer ou não, e os pacotes que não se encaixarem em umas das regras, devem ser aceitos ou recusados de acordo com a política de segurança implantada na empresa. O firewall e implementado em regras, em dispositivos que fazem a separação da rede interna e externa, chamados de estações guardiões os bastion hosts. São máquinas configuradas para desempenhar algum papel crítico na segurança da rede interna. Quando o bastion host cai, a conexão entre a rede interna e externa para de funcionar. Os firewall podem ser classificados como, Stateless e Stateful.(INFOWESTER, 2004). STATELESS: Esse tipo de filtragem define os filtros, cada um dos pacotes, à medida que são transmitidos, e são definidas as regras, indicando os endereços de rede origem e destino, e as portas TCP/IP usadas na transmissão, essa análise é mais rápida e não causa o atraso (delay), na retransmissão dos pacotes, sendo um modo transparente para rede.FirewallsStateless podem observar o tráfego da rede, e restringir ou bloquear pacotes com base em endereços de origem e destino, ou regras configuradas pelo usuário.