Firewall

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 22

Segurança em Ambientes

de Redes
Material Teórico
Firewall

Responsável pelo Conteúdo:


Prof. Ms. Vagner da Silva

Revisão Textual:
Profa. Ms. Luciene Oliveira da Costa Santos
Firewall

• Firewall

·· 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.

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.

5
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

6
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.

7
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).

8
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 identificados
ao longo do tempo.

9
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:

10
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.

11
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

12
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.

13
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.

14
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:

15
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.

16
#!/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.

17
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)

18
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.

19
Unidade: Firewall

Anotações

20
www.cruzeirodosulvirtual.com.br
Campus Liberdade
Rua Galvão Bueno, 868
CEP 01506-000
São Paulo SP Brasil
Tel: (55 11) 3385-3000

Você também pode gostar