Firewall
Firewall
Firewall
de Redes
Material Teórico
Firewall
Revisão Textual:
Profa. Ms. Luciene Oliveira da Costa Santos
Firewall
• 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.
5
Unidade: Firewall
Contextualização
6
Firewall
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.
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.
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.
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.
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.
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:
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:
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.
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.
13
Unidade: Firewall
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.
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
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
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
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