You are on page 1of 34

Noções de Firewall

1º Centro de Telemática de Área


Cap Pacheco
2º Ten Luciana
Roteiro

Introdução
Características de um Firewall
Tipos de Firewall
Servidores proxy
Introdução

Firewall é um programa cujo objetivo é


proteger as máquinas da rede interna contra
acessos e tráfego indesejados
proteger serviços que estejam rodando nas
máquinas
bloquear a passagem de acessos como conexões
vindas da Internet.
Firewall
“Um componente ou um conjunto de componentes
que restringem o acesso entre uma rede
protegida e outros conjuntos de redes”

Roteador CISCO
PC/Linux + IPTables
PC/Windows + Firewall-1
Black Box
Ponto de Obstrução
Força os intrusos a usar um canal estreito

Facilita a monitoração e controle

Um firewall é por si só um ponto de obstrução


Toda solicitação chega ao Firewall
Somente tráfego autorizado passa por ele

Um ponto de obstrução é inútil se há caminhos alternativos de


penetração
Estratégias Básicas
Default Deny
Criar regras para o que deve ser permitido
Tudo o que não for expressamente permitido é proibido
Default Permit
Criar regras para o que deve ser proibido
Tudo o que não for expressamente proibido é permitido
O que um Firewall
pode fazer?
É um foco para a tomada de decisões
Pode ser usado como um ponto de partida
para a política de segurança
Pode gravar requisições
Limita a exposição da rede interna
O que o Firewall
não pode fazer?
Proteger uma rede contra usuários internos
Proteger uma rede contra conexões que
não passam por ele
Proteger contra ameaças completamente
novas
Proteger contra vírus
O que proteger?
Quais serviços precisa proteger.
Serviços que devem ter acesso garantido a usuários externos e
quais serão bloqueados a todas/determinadas máquinas.
Que tipo de conexões eu posso deixar passar e quais
bloquear.
Serviços como telnet, ftp, NFS, DNS, SMTP. Estes serviços
podem ser usados para tentativa de acesso a rede.
Que máquinas terão acesso livre e quais serão restritas.
Que serviços deverão ter prioridade no processamento.
O que proteger?
Que máquinas/redes NUNCA deverão ter acesso a
certas/todas máquinas.
O que tem permissão de passar de uma rede para outra
em máquinas que atuam como roteadores/gateways de uma
rede interna.
A análise destes pontos pode determinar a complexidade do
firewall, custos de implementação e prazo de
desenvolvimento.
Existem muitos outros pontos que podem entrar na questão
de desenvolvimento de um sistema de firewall, eles
dependem do tipo de firewall que está desenvolvendo e das
políticas de segurança da rede.
Tipos de Firewall

Existem dois tipos principais:


nível de aplicação (proxy) - analisa o conteúdo do pacote para
tomar suas decisões de filtragem.
nível de pacotes - toma as decisões baseadas nos parâmetros
do pacote, como porta/endereço de origem/destino, estado da
conexão, e outros parâmetros do pacote.

Os dois tipos de firewalls podem ser usados em conjunto para


fornecer uma camada dupla de segurança no acesso as suas
máquinas/máquinas clientes.
Tipos de Firewall

Nível de aplicação (Proxy)


São mais intrusivos (pois analisam o conteúdo de tudo que
passa por ele) e permitem um controle relacionado com o
conteúdo do tráfego.
Combinam em uma só ferramenta recursos básicos existentes
em firewalls em nível de pacotes com as funcionalidades de
controle de tráfego de acesso.
Tipos de Firewall

Nível de pacotes
Pode negar o pacote (DROP) ou deixar o pacote passar
(ACCEPT).
O iptables é um excelente firewall que se encaixa nesta
categoria.
Considerações sobre
Filtragem de Pacotes
Proteção usualmente implementada em roteadores
Bom desempenho
Totalmente transparente para o usuário final
Abordagem “tudo ou nada” em relação a serviços
Não modifica o serviço nem protege operações individuais do
serviço
Se um serviço desejável possui operações inseguras (bugs), a
filtragem de pacotes não pode protegê-lo
Níveis de Filtragem

Aplicação (e.g. FTP, telnet, HTTP)


Transporte (TCP ou UDP)
Rede (IP)
Endereço MAC
implementação em Switches
Arquitetura de rede

Arquitetura Internet

Aplicação FTP HTTP TELNET SMTP DNS

Transporte TCP ICMP UDP


Inter-rede IP

Intra-rede
Portas (ports)
Utilizadas em pacotes TCP e UDP
Idéia de "guichê"
Cada aplicação, antes de enviar/receber um pacote, deve
associar-se a um número de porta
Portas (ports)
Um servidor fica aguardando conexões em uma
determinada porta
65536 possibilidades
http://www.iana.org/assignments/port-numbers
Portas comuns
21 FTP 22 SSH
23 TELNET 25 SMTP
53 DNS 80 HTTP
110 POP3 143 IMAP
443 HTTPS 8080 HTTP
Filtro de Pacotes
As regras dos filtros tem:
Endereço IP de origem
Endereço IP de destino
Protocolos TCP, UDP, ICMP
Portas TCP ou UDP origem
Portas TCP ou UDP destino
Tipo de mensagem ICMP
Filtro de Pacotes

Rede Roteador com Internet


Interna Filtro de Pacotes
Filtragem IP

Possibilidades de filtragem
endereço IP origem
endereço IP destino
tipo de protocolo
Exemplos que a filtragem não faz:
O usuário “Bob” pode conectar-se via telnet do exterior
mas os outros usuários não
Somente os arquivos do diretório /public podem ser
transferidos em sessões FTP
Filtragem TCP

Outras possibilidades de filtragem


Porta origem da conexão (não é comum)
Porta destino
Flags
Flags TCP

Para bloquear uma conexão TCP, basta filtrar o primeiro


pacote enviado
O primeiro pacote de cada conexão TCP é caracterizado
pelo flag SYN=1 e ACK=0
Todos os demais pacotes da conexão TCP possuem flag
ACK=1
Desta forma, é possível permitir que hosts internos iniciem
conexões com hosts externos e proibir inícios de conexão
na direção oposta
Flags TCP
Estabelecimento de
conexão TCP
cliente servidor
Syn = 1, A
ck =0

1, Ack =1
Syn =
Syn = 0, A
ck =1

Transmissão de
dados
Filtragem UDP
Não há o conceito de conexão
Mesmo assim, alguns firewalls guardam por algum tempo
as informações sobre um pacote UDP enviado para aceitar
uma eventual resposta
SA=200.2
00.200.1
DA=200.1 / SP=1111
00.100.2
/ DP=555
5

cliente
. 2 / S P = 5555 servidor
200.200.200.1 = 200. 100.100 P=1111 200.100.100.2
SA 00 .1 / D
200.2
OK! DA=200.

/ S P = 5555
00.100. 2
SA = 20 0. 1
0 .1 / D P =4444
A = 2 00 . 200.20
D
Servidores Proxy
Servidores proxy (procuradores) são programas que lidam com
servidores externos em nome de clientes internos
Os clientes proxy comunicam-se com servidores proxy, que, por
sua vez, enviam as solicitações aprovadas para os servidores
reais, bem como encaminham as respostas destas solicitações
de volta para os clientes
O proxy deve ser o único caminho entre o cliente interno e o
servidor externo
Servidores Proxy
Há maior controle sobre as ações dos usuários
filtro de conteúdo
filtro de URLs
logs de utilização
controle de IPs
controle de headers HTTP
Podem ser transparentes para o usuário
Servidores Proxy

servidor
Internet real

servidor proxy

Rede Interna

cliente
proxy
DMZ (demilitarized zone)
Qualquer serviço pode ter bugs e erros de configuração
Esteja preparado para o pior
O servidor proxy é visível na Internet, podendo ser atacado
Caso o servidor proxy seja comprometido, a segurança da rede não
deve ser violada
Um novo nível de segurança é acrescentado com a
introdução de uma rede desmilitarizada (DMZ, ou rede de
fronteira)
Computadores mais vulneráveis ou com acesso remoto
devem ficar nessa DMZ
Caso os hosts sejam comprometidos, há ainda mais um
nível de segurança a ser superado
DMZ Bastion hosts
Internet
DMZ

Rede de Fronteira

filtro filtro
de acesso de bloqueio

Rede Interna
DMZ

Os hosts da DMZ são o principal ponto de contato com


conexões de origem externa
Executam serviços inseguros que não podem ser
protegidos com filtragem ou com proxies
Devem possuir acesso limitado aos servidores internos
Conteúdo descartável !
Servidores Proxy X
Filtro de Pacotes
Tomada de decisões:
Servidor proxy toma decisões baseado em informações
fornecidas pelo serviço;
Filtro de pacotes utiliza o cabeçalho do pacote.
Servidores Proxy X
Filtro de Pacotes
Desempenho:
Filtro de pacotes possui uma vantagem por estar em nível
mais baixo.
Auditoria:
Servidor proxy possui vantagem por permitir auditoria
sobre o controle do tráfego.
Conclusão
Importante ferramenta na proteção
O Firewall não deve ser o único componente da política de
segurança

You might also like