Baixe o app para aproveitar ainda mais
Prévia do material em texto
Segurança em Ambientes de Redes Firewall Material Teórico Responsável pelo Conteúdo: Prof. Ms. Vagner da Silva Revisão Textual: Profa. Ms. Luciene Oliveira da Costa Santos 5 • Firewall Irá estudar sobre as ferramentas usadas para auxiliar na segurança de uma rede, seja ela de pequeno, médio ou grande porte. Para que possa ter um aproveitamento melhor nos estudos, é interessante que siga a sequência apresentada abaixo. Você deverá iniciar seus estudos pela Contextualização, pois o vídeo apresenta configurações mais personalizadas do firewall do Windows. Logo após, acesse o Conteúdo Teórico e leia-o atentamente, pois nele você irá encontrar a descrição sobre o firewall, seus tipos e algumas características do firewall do Windows e Linux. É interessante que entenda bem as diferenças entre chains, tabelas e ainda os comandos e parâmetros que podem ser usados. Além disso, é apresentado um exemplo de regra configurada no iptables e um script contendo regras. Após estudar o texto, você deverá analisar a Apresentação Narrado; nela, você poderá estudar os pontos relevantes sobre o assunto tratado nesta unidade. Na sequência, você poderá assistir ao vídeo que trata sobre firewall, no qual há pontos relevantes dos assuntos da unidade II. Com os conceitos já desenvolvidos, você estará pronto para participar das atividades, primeiramente você irá fazer a Atividade de Aprofundamento, depois a Atividade de Sistematização. Participe do Fórum de Discussão, pois nele poderemos desenvolver o conhecimento em grupo. · Nesta unidade, você irá estudar sobre um dos princípios fundamentais de segurança, pois qualquer sistema de segurança começa com o uso do firewall. Até mesmo os sistemas operacionais são instalados com esta ferramenta. No entanto, além de encontrarmos firewalls desenvolvidos em softwares, há também os firewalls desenvolvidos em hardware. Irá estudar e conhecer os tipos de firewall e até mesmo algumas regras aplicadas no sistema operacional Linux. Firewall 6 Unidade: Firewall Contextualização Na instalação dos sistemas operacionais Windows, o firewall já é configurado previamente. No entanto, em alguns casos, devemos alterar as exceções, disponibilizando, ou bloqueando portas. No link abaixo, você irá aprender como configurar o firewall do Windows 7. • http://www.youtube.com/watch?v=uVFt4OW2Rrs http://www.youtube.com/watch?v=uVFt4OW2Rrs 7 Firewall Com a evolução dos computadores, seus aplicativos, sistemas operacionais e, consequente- mente, das redes de computadores, as máquinas suportam muitas características, atendendo a diversas áreas da educação, do comércio, governamentais e industriais. Essa complexidade pode deixar, num primeiro momento, falhas que podem ser a porta de entrada de ataques externos. Para que as falhas sejam minimizadas, foi criada uma ferramenta a qual chamamos de Firewall, desenvolvido exatamente para isolar as máquinas do ambiente externo da Internet, bloqueando acessos que tenham como objetivo explorar as vulnerabilidades. A principal ferramenta de combate à invasão nos sistemas de computadores é o Firewall. A sua associação com a segurança sempre é feita entre várias técnicas utilizadas para combater invasões em redes de computadores. É comum que se encontrem denominações relacionando-o como o mais importante item no que diz respeito à segurança de redes. Por sua característica, é sempre colocado como linha de frente no combate a intrusões. Em Síntese O Firewall é um recurso de rede cuja função é administrar, filtrar o tráfego dos pacotes entre redes distintas e impedir a transmissão de dados nocivos, ou não, de uma rede a outra. Ele é utilizado para filtrar os pacotes não autorizados de um domínio de rede a outro, e age como um guardião, evitando que determinados pacotes mal intencionados sejam recebidos pela rede. Portanto, todos os equipamentos e softwares que atendem a requisitos de filtragem de pacotes podem ser denominados firewall. Com a evolução da tecnologia, os firewalls ganharam novos recursos para melhorar a filtragem de pacotes; portanto, além da filtragem de número de portas, ele considera também, na filtragem, os endereços IPs de origem e destino, protocolos da camada de transporte e aplicativos. Seu uso está relacionado ao grau de complexidade das regras estabelecidas pelas empresas que restringem o fluxo de entrada, com o tamanho da rede e o nível de segurança desejado. O firewall pode se apresentar na forma de software, ou na forma de hardware. Ambos podem ser utilizados para aumentar o nível de segurança entre as redes que estão sendo monitoradas por eles. A configuração de um mecanismo para controle de tráfego e acesso à rede baseados num aplicativo firewall deve ser desenvolvido por meio de um procedimento cuidadoso. Deve-se ter como referência a política de segurança estabelecida pela empresa como diretriz para a configuração dos filtros. Nota: um firewall é representado por uma parede, quando encontrar o símbolo semelhante a este ao lado, significa que há um firewall para filtrar pacotes. 8 Unidade: Firewall Funcionamento de um firewall Conforme já descrito acima, o Firewall deve ser configurado seguindo os parâmetros estabelecidos pela empresa. Tais parâmetros são definidos conforme sua necessidade e política estabelecida. Eles são configurados em um firewall e, a partir disso, tornam-se regras. Um firewall analisa os campos contidos nos cabeçalhos da grande maioria dos pacotes na camada do modelo TCP/IP. Podemos criar muitos tipos de regras a serem avaliadas pelo firewall na filtragem dos pacotes. As ações a serem executadas em um pacote são: aceitar, descartar ou rejeitar o pacote. Para executar quaisquer dessas ações preestabelecidas pelas regras, primeiramente ele irá tomar como referência informações contidas no cabeçalho de qualquer pacote que passa por ele. Eis alguns dos tipos de informações que o firewall pode se basear para realizar a filtragem dos pacotes: » Endereço de origem e endereço destino; » Máscara de sub-rede de origem e de destino; » Porta de origem e porta de destino; » Tipo de protocolo; » Interface de entrada e interface de saída; » Status da conexão; » Identificação do pacote. Nominalmente, há cinco tipos de firewalls definidos em conexões de Internet, são eles: · Firewall de Filtragem de Quadros: tem como função analisar os quadros referentes à camada de enlace. · Figura 1 - Camadas do modelo de referência OSI - (camada de enlace). 9 Nessa camada o filtro é feito a nível de bits sobre as tecnologias usadas, por exemplo, Ethernet 802.3, Token Ring, FDDI e outros. Filtrar os quadros e descartar pacotes suspeitos evita que eles sejam examinados por filtros definidos em camadas superiores. · Firewall de filtragem de pacotes: por ter surgido com esta finalidade, este tipo de firewall é um dos mais conhecidos e usados. Grande parte dos roteadores oferece este tipo de configuração a qual chamamos de lista de acesso. Figura 2 - Camadas do modelo de referência OSI – (Camada de Rede). Caso a empresa tenha que implantar várias regras de filtragem, então o ideal é usar um dispositivo que não seja o roteador como firewall; assim, os recursos são otimizados e a rede torna-se mais eficiente. Os sistemas operacionais, geralmente, apresentam também recursos para filtragem de pacotes, o Linux disponibiliza o IPTables como ferramenta para configuração. Firewall gateway de circuito: geralmente identifica as ações executadas por determinado usuário, registra de onde veio e para onde vai através de autenticações feitas. Os mecanismos que envolvem um proxy é um bom exemplo de firewall de gateway de circuito, ou seja, o usuário deve ter permissão para acessar determinadas páginas. Firewall de estado total: os ataques evoluíram, aproveitando falhas nas transações entre aplicações, ataques como forjar endereço IP, aquisição de sessão, tomando carona na aplicação, sequestro de sessão e outros foram identificadosao longo do tempo. 10 Unidade: Firewall Para evitar estes tipos de ataques os firewalls tiveram que se aperfeiçoar, no sentido de identificar o comportamento e identificar qualquer problema em transações feitas por estes aplicativos. Embora a solução prevista neste tipo de firewall seja eficiente, por si só não garante outros tipos de filtros. » Firewall proxy: também conhecido como gateway de aplicação, tem como função principal examinar detalhes das aplicações que estão sendo usadas. No firewall proxy, é possível criar regras para examinar melhor a aplicação. Por exemplo, se o administrador de rede estabelecer que somente seja possível baixar arquivos da Internet usando uma aplicação FTP, mas impedir que alguém de fora da empresa insira arquivos em computadores da sua rede usando a aplicação FTP. Isso pode ser feito com o firewall proxy. Atenção É importante notar que, com a evolução de equipamentos e softwares de firewall, esses cinco tipos de firewall apresentados foram convergindo de forma que um único equipamento, ou software, apresente possibilidades de configurá-los sem que se tenha, de forma clara, a divisão entre eles. Além do firewall configurado n.os equipamentos de borda da empresa, é interessante deixar habilitado o firewall do sistema operacional. No sistema operacional Windows, o firewall é habilitado automaticamente após sua instalação; no entanto, o usuário poderá fazer algumas alterações caso seja necessário. Para alterar as configurações básicas no Windows XP, basta que entre no painel de controle e selecione a opção Firewall do Windows, a seguinte janela irá ser aberta: 11 Figura 6 - Janela de configuração do Firewall do Windows. É importante notar que o firewall está ativado e assim deverá permanecer. As abas de seleção que aparecem no canto superior esquerdo da janela oferecem formas de configuração. Entrando na aba Exceções, as seguintes opções serão apresentadas: Figura 7 - Janela de configuração do Firewall, aba Exceções. 12 Unidade: Firewall Nessa janela, é possível verificar os aplicativos e serviços que estão ou não habilitados a trafegar pela rede. Embora os nomes dos aplicativos sejam apresentados, cada um deles tem uma porta associada por onde são feitas as configurações. Caso tenha alguma aplicação que exija uma porta que não esteja relacionada, é interessante habilitá-la. Geralmente isso é feito automaticamente na instalação do aplicativo; no entanto, se quiser bloquear determinadas aplicações instaladas, deverá recorrer a esta janela de configuração. Para configurar uma porta, basta selecionar o botão “Adicionar porta”, a seguinte janela irá ser apresentada: Figura 8 - Janela de configuração de portas. Nessa janela, você deverá informar o nome da aplicação, o número da porta e se ela trafega no protocolo de transporte TCP ou UDP. Caso trafegue nos dois protocolos, você deverá configurá-lo duas vezes, uma para TCP e outra para UDP. As configurações de firewall disponibilizado pelo sistema operacional cliente do Windows são básicas e devem fazer parte das ferramentas usadas para aumentar a segurança. Caso queira instalar firewall como complemento ao nativo do Windows, há softwares que podem ser baixados da Internet que permitem configurações mais detalhadas. O sistema operacional Linux apresenta o iptables como ferramenta de configuração de filtragem de pacotes, ele consiste em um módulo de filtragem de pacote com mais possibilidades de programação, porém mais difícil de configurar, pois oferece uma variedade bem flexível de regras e possibilidades. O iptables é responsável pela interface de configuração das regras do netfilter. Com ele, é possível editar as tabelas de filtragem de pacotes nativos do kernel. Essa filtragem acontece na comparação entre os dados do cabeçalho (header) do pacote analisado e as regras predefinidas. O iptables trata os pacotes seguindo parâmetros das regras configuradas pelo administrador de redes e pode executar três diferentes tipos de ação: Aceitar (ACCEPT), Descartar (DROP) ou Rejeitar (REJECT). Quando em uma regra se especifica que a ação será ACCEPT, o netfilter 13 aceitará os pacotes que estiverem de acordo com ela. Caso a ação especificada for DROP, o netfilter irá descartar todos os pacotes de dados que se encaixarem nessa regra. Caso seja especificada a ação REJECT na regra, o netfilter rejeitará todos os pacotes que coincidirem com a regra e enviará uma mensagem explicando o motivo da não aceitação dos mesmos. Existem outras ações como REDIRECT, MIRROR, LOG e as ações DNAT, SNAT e MASQUERADE são específicas da tabela nat. Existem várias características que definem o iptables. São elas: · Suportam os protocolos TCP, UDP e ICMP; · Suporte a módulos externos para aumentar suas funcionalidades; · Possui mecanismos internos que bloqueiam pacotes do tipo spoof ou fragmentados; · Suporta regras de portas de endereço de origem e porta destino; · Pode ser configurado um número ilimitado de regras por chain; · Suporte completo a roteamento de pacotes; · Prioriza tráfego por tipos de pacotes; · Permite redirecionamento de portas; · Suporte aos tipos de NAT: MASQUERADE, SNAT e DNAT; · Proteção contra DoS, ping flood e sys flood; · Suporta endereços IPV6 através dos comandos ip6tables. Abaixo, encontra-se o desenho de uma rede corporativa usando iptables, tanto na entrada da rede externa, como para acesso à rede corporativa. Os usuários da rede corporativa terão que passar pelo IPtables squid para que sejam analisados os pacotes; neste servidor, são estabelecidas as regras de acesso a Internet. Figura 9 - Exemplo de configuração com iptables. 14 Unidade: Firewall Estrutura lógica do iptables A estrutura lógica do iptables é formada basicamente por tabelas, chains e regras. As regras devem ser definidas juntamente com as tabelas e chains (cadeias), pois elas consistem em uma forma de organizar as informações que serão processadas pelo netfilter. Abaixo, você irá encontrar as definições de cada uma delas: As tabelas servem para representar a descrição da área de atuação das regras. As tabelas existentes por padrão são: filter, nat e mangle. Entretanto, outras tabelas podem ser criadas. Por ex.: podemos criar uma tabela de nome “internet” para podermos organizar as regras que tratam dos pacotes relacionados especificamente à Internet. As chains representam as “cadeias” relacionadas ao tipo de roteamento do pacote dentro da máquina firewall. No iptables, existem chains específicas para cada tabela. As regras são diretrizes que servem de base para que o netfilter possa determinar, considerando as informações do cabeçalho do pacote, a ação que deve ser tomada a ele. Tais regras se apresentam na forma: Tabela – Opção – Chain – Parâmetros. Na tabela filter, temos as chains INPUT, FORWARD e OUTPUT. O nome filter está relacionado com a filtragem padrão de dados do iptables. Ela não precisa necessariamente ser especificada na linha de comando da regra, justamente pelo fato de ser a tabela “default” do iptables. As chains têm um importante papel dentro do iptables. São elas que diferenciam o destino dos pacotes dentro de sua chegada ao kernel da máquina firewall. O significado de cada uma delas pode ser definido da seguinte forma: INPUT significa entrada. Tem como função tratar da entrada de dados na própria máquina onde roda o firewall. Quando quiser definir alguma regra para filtragem de pacotes cujo destino seja a máquina firewall, deverá ser usada esta chain. FORWARD significa seguir em frente. Refere-se ao repasse de pacotes que atravessam o firewall. Quando uma estação da rede envia informações para outra, as mesmas são representadas pelo firewall à estação de destino. Mas, antes, essas informações são filtradas por ele. OUTPUT significa saída. Refere-se a todos os pacotes que saem da máquina firewall. Podem ser elaboradas regras que avaliem o tráfego de informações provenientes da máquina firewall.15 Figura 5 - Esquema da tabela Filter. Na figura 5, é apresentado o esquema lógico do fluxo de pacotes dentro do kernel relacionado à tabela filter no iptables. É possível se ter uma boa ideia de como os pacotes são classificados pelo netfilter, para que ele possa ser corretamente processado. Assim que os pacotes chegam ao kernel, são avaliados para verificar o tipo de roteamento a ser feito. Caso destinem-se a outras máquinas, o netfilter faz a comparação referente às regras da chain FORWARD e, depois, encaminha-os ao host correto. Caso os pacotes sejam originados pelo próprio firewall, o netfilter os compara às regras da chain OUTPUT e, depois, libera-os para saírem da máquina. O iptables, como a maioria das configurações Linux, deve ser feita usando linha de comandos; para isto, algumas opções devem ser conhecidas para que se possa efetuar a configuração. Veja abaixo algumas opções: · -A (append): usado para acrescentar uma ou mais regras no final de uma chain selecionada. · -D (delete): usada para eliminar uma ou mais regras em uma chain selecionada. · -I (Insert): usado para inserir uma ou mais regras em uma chain selecionada. Com este comando, é possível inserir um número que será usado para posicioná-lo no conjunto de regras. Por exemplo, se for indicado o número 1 na regra a ser inserida, então a regra será inserida no topo da chain. · -R (replace): usado para substituir uma regra já inserida na chain. · -L (list): lista todas as regras de uma cadeia. · -N (Nova Chain): este comando cria uma nova chain pelo nome dado. A sintaxe mais usada para criar uma regra é a seguinte · iptables –[XYZ] chains especificação_das_regras [opções]. Vamos agora analisar uma regra, lembre-se de que as possibilidades para criação de regras são enormes. Abaixo, encontra-se um exemplo básico: 16 Unidade: Firewall iptables – A OUTPUT –t –d 192.168.0.1 –j DROP O comando acima insere (-A) na tabela (-t) OUTPUT uma regra que irá descartar (DROP) qualquer pacote destinado ao endereço (-d) 192.168.0.1. A quantidade de regras e combinações dos comandos em cada regra dá uma variedade muito grande de possibilidades que podem ser usadas. Portanto, antes de começar a configurar regras para as tabelas de um iptables é muito importante que seja feito um planejamento minucioso e conciso da política da empresa; desta forma, as regras a serem estabelecidas ficarão muito perto do ideal. Lembre-se de que uma documentação detalhada deve ser mantida para facilitar possíveis manutenções preventivas e corretivas. O sistema operacional Linux permite a montagem de script baseados em comandos shell e linguagem estruturada. Sendo assim, é possível usá-lo também para definir filtros de uma forma mais elaborada, veja abaixo um exemplo: #!/bin/bash IPT=$(which iptables) LO=”127.0.0.1” loop() { $IPT –A INPUT –i lo -d $LO -j ACCEPT $IPT –A OUTPUT –o lo -d $LO -j ACCEPT } loop O objetivo deste script é permitir que a interface loopback responda às solicitações. Este script funciona da seguinte maneira: a variável IPT irá conter o local (diretório) do comando “iptables” e a variável LO armazenará o valor do endereço da interface loopcback. Logo após, dentro da função chamada “loop”, há descrição das regras para permissão de respostas na interface loopback. A primeira linha adiciona a regra a uma chain (-A) no sentido de entrada (INPUT -I ), definindo o destino (-d) no endereço da interface $LO. A outra linha altera apenas o sentido (OUTPUT –o). Este script ao ser executado irá disponibilizar a interface loopback. Este tipo de script e outros podem ser necessários para habilitar alguns serviços quando o administrador bloqueia políticas básicas de segurança. O script abaixo demonstra o bloqueio das chains; se ele for executado, os serviços serão bloqueados; portanto, para desbloquear alguns serviços, algumas regras deverão ser acrescentadas às chains. 17 #!/bin/bash IPT=$(which iptables) nega() { $IPT –P INPUT DROP $IPT –P OUTPUT DROP $IPT --P FORWARD DROP } nega Esse script bloqueia as entradas, as saídas e também a passagem, eliminando os pacotes que tentarem passar. Assim é a forma correta de administração; a partir dessa regra criada, o administrador permitirá apenas aquilo que é necessário, inserindo as regras nas chains. 18 Unidade: Firewall Material Complementar Links • Vídeo desenvolvido pelo Olhar Digital sobre firewall: http://www.youtube.com/watch?v=tjJ-Qh4N9Uw • Dominando o iptables: http://www.vivaolinux.com.br/artigo/Dominando-o-iptables-(parte-1) http://www.youtube.com/watch?v=tjJ-Qh4N9Uw http://www.vivaolinux.com.br/artigo/Dominando 19 Referências GALLO, M. A.; HANCOCK, W. M. Comunicação entre Computadores e Tecnologias de Rede. São Paulo: Thomson Learning, 2003. KUROSE, J. F. Redes de Computadores e a Internet: Uma Nova Abordagem. São Paulo: Addison-Wesley, 2004. DHANJANI, N. Hack notes: Segurança no Linux e Unix: referência rápida. Rio de Janeiro: Campus, 2004. 20 Unidade: Firewall Anotações www.cruzeirodosulvirtual.com.br Campus Liberdade Rua Galvão Bueno, 868 CEP 01506-000 São Paulo SP Brasil Tel: (55 11) 3385-3000
Compartilhar