TOCI-08: Seguranc¸a de Redes
Prof. Rafael Obelheiro rro@joinville.udesc.brAula 15: Firewalls
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 1 / 54
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado
4 Firewalls de aplicac¸˜ao
5 Proxies de aplicac¸˜ao
6 Problemas com firewalls
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 2 / 54
O que ´e um firewall
Barreira entre n ´os e eles
Ipara alguma definic¸˜ao de n´os e eles. . . Limita a comunicac¸˜ao com o mundo exterior
Io mundo exterior pode ser outra parte da organizac¸˜ao Apenas algumas m´aquinas ficam expostas a ataques
Ia id´eia ´e que essas m´aquinas sejam bem protegidas
Por que usar firewalls
A maioria dos hosts possui vulnerabilidades de seguranc¸a Iprova: (quase) todo software tem bugs. Portanto, (quase) todo
software de seguranc¸a tem bugs de seguranc¸a
Firewalls executam muito menos c´odigo, e portanto tˆem menos bugs (e vulnerabilidades)
Firewalls podem ser administrados por pessoas mais capacitadas Firewalls possuem um conjunto mais reduzido de software, e usam facilidades de logging e monitorac¸˜ao extensivamente Firewalls implementam a separac¸˜ao de uma rede em dom´ınios de seguranc¸a distintos
Isem essa partic¸˜ao, a rede se comporta como uma enorme m´aquina virtual, com um conjunto desconhecido de usu´arios comuns e privilegiados
Exemplos de firewalls no mundo real
O controle de passaportes ´e feito nas fronteiras e no desembarque internacional
Em uma casa, h´a poucas portas que d˜ao para a rua, n˜ao raro bem protegidas (grades, alarmes, etc.)
Ias portas internas, por outro lado, geralmente s˜ao deixadas destrancadas
Bancos possuem guardas e cofres. . .
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 5 / 54
N˜ao seria melhor corrigir os protocolos?
O problema que os firewalls tratam n˜ao ´e a seguranc¸a de redes Ifirewalls s˜ao uma resposta de rede para um problema de
seguranc¸a de hosts
Mais precisamente, eles s˜ao uma resposta para o lament´avel estado atual da engenharia de software: de forma geral, n˜ao sabemos construir software seguro, correto e f´acil de administrar Portanto, protocolos de rede mais seguros n˜ao ir˜ao eliminar a necessidade de firewalls
Ia melhor criptografia do mundo ´e incapaz de resolver bugs de software
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 6 / 54
Vantagens de firewalls
se n˜ao vai precisar, ´e melhor se livrar N˜ao existem usu´arios comuns, e portanto n˜ao existem senhas para eles
Poucos servic¸os de rede s˜ao necess´arios (`as vezes nenhum) Raramente ´e necess´ario usar as vers˜oes mais recentes de software
Imelhor deixar os outros sofrerem antes com os bugs Logs s˜ao gerados para (quase) tudo, e os arquivos de log s˜ao monitorados cuidadosamente
Diversos backups devem ser mantidos
uma m´aquina comum n˜ao pode ser administrada assim
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 7 / 54
Diagrama esquem´atico de um firewall
Interior Gateway(s) Exterior
filtro filtro
DMZ
c
Pec¸as do esquema
O interior ´e onde ficam os mocinhos
Itudo o que fica no interior ´e considerado “amigo”, e portanto digno de confianc¸a
O exterior ´e onde ficam os bandidos
Itudo o que reside ou vem do exterior ´e, no m´ınimo, suspeito A zona desmilitarizada (DMZ, DeMilitarized Zone) ´e onde s˜ao colocados servidores necess´arios mas potencialmente perigosos
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 9 / 54
A DMZ
Bom lugar para colocar coisas como servidores de email e web Usu´arios externos podem enviar email e acessar p´aginas Usu´arios internos podem baixar email e atualizar p´aginas Deve ser monitorada com bastante cuidado
Icaminho mais prov´avel de tentativas de invas˜ao
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 10 / 54
Posicionando firewalls
firewalls protegem dom´ınios administrativos
Por que dom´ınios administrativos?
Firewalls implementam uma pol´ıtica
A pol´ıtica segue fronteiras administrativas, n˜ao f´ısicas Exemplos
IUDESC: dom´ınios de protec¸˜ao separados para DCC, DEE, BU, . . . Iem uma empresa: dom´ınios de protec¸˜ao separados para RH,
Particionando um local
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 13 / 54
Filosofias de firewall
1.Bloquear tudo o que for perigoso
2.Bloquear tudo, e s´o liberar acesso ao que for seguro E necess´ario A primeira opc¸˜ao exige que se conhec¸a tudo o que ´e perigoso em toda a rede
Ium deslize pode ser o suficiente para permitir uma invas˜ao A segunda opc¸˜ao ´e muito mais segura
Em geral, n˜ao apenas o tr´afego de entrada deve ser controlado mas tamb´em o de sa´ıda
Imaus elementos no interior Idetecc¸˜ao de “extrus˜oes” IIP spoofing
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 14 / 54
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado
4 Firewalls de aplicac¸˜ao
5 Proxies de aplicac¸˜ao
6 Problemas com firewalls
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 15 / 54
Tipos de firewalls
Filtros de pacotes Filtros de pacotes dinˆamicos Gateways de aplicac¸˜ao Relays de circuito Firewalls pessoais
Muitos firewalls s˜ao uma combinac¸˜ao desses tipos
c
Filtros de pacotes
Baseados em roteadoresIcomo roteadores j´a s˜ao usados para acesso Internet, filtros s˜ao baratos
Pacotes individuais s˜ao aceitos ou rejeitados In˜ao existe contexto
Regras de filtragem s˜ao dif´ıceis de configurar Iprimitivas muitas vezes inadequadas Iregras diferentes podem interagir
Protocolos dif´ıceis de lidar incluem FTP, X11 e servic¸os baseados em RPC
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 17 / 54
Filtrando sem estado
Conex˜oes para o exterior s˜ao permitidas Pacotes de resposta devem ser permitidos Para TCP, isso pode ser feito sem manter estado
O primeiro pacote de uma conex˜ao TCP tem apenas a flag SYN ativa
Todos os outros pacotes tˆem o bit de ACK ligado
Soluc¸˜ao: deixar passar todos os pacotes com bit de ACK ligado
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 18 / 54
Exemplo de conjunto de regras
Um spammer deve ser bloqueado, mas todos os outros devem poder enviar email para o servidor
bloqueia: host ext = spammer permite: host ext = qualquer e
porta ext = qualquer e host int = srv-mail e porta int = 25
Um conjunto de regras incorreto
Todas as conex˜oes com servidores de mail externos devem ser permitidas
permite: host ext = qualquer e porta ext = 25 e
host int = qualquer e porta int = qualquer
N˜ao existe controle sobre quem est´a usando a porta 25 em outro host
Corrigindo as regras
permite: host ext = qualquer e porta ext = 25 e
host int = qualquer e porta int = qualquer e bitset(ACK) Apenas conex˜oes saintes s˜ao permitidas
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 21 / 54
Posicionando filtros de pacotes
Geralmente as regras s˜ao definidas para cada interface de rede As regras ainda s˜ao subdivididas entre pacotes que entram (inbound) ou saem (outbound) da interface
O melhor ´e filtrar os pacotes que entram Imenor perda de informac¸˜oes de contexto
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 22 / 54
Filtrando pacotes na entrada
exterior
DMZ
interior firewall
Se a filtragem for feita na sa´ıda para a DMZ, n˜ao ´e poss´ıvel determinar de onde os pacotes est˜ao vindo
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 23 / 54
Filtros de pacotes e UDP
UDP n˜ao tem noc¸˜ao de conex˜aoI´e imposs´ıvel distinguir uma resposta (que deve ser permitida) de um pacote iniciado por um host externo
Enderec¸os de origem podem ser forjados com facilidade Icomo n˜ao h´a conex˜ao, o host externo n˜ao precisa receber tr´afego
de resposta do host interno
Uma tentativa ´e bloquear tr´afego UDP para portas sabidamente perigosas
Iisso tem tudo para dar errado, por´em
Talvez o melhor seja liberar tr´afego UDP apenas para hosts selecionados
Iservidores bem configurados e monitorados
c
O papel dos filtros de pacotes
Filtros de pacotes simples tˆem diversas limitac¸˜oes IUDP, ICMP, FTP, RPC, . . .
Ainda assim, podem ser ´uteis em determinados cen´arios Iambientes simples, com poucas regras
Ffuncionalidade dispon´ıvel em quase todos os roteadores
Iprotec¸˜ao de hosts individuais
Fservidor web s´o precisa das portas 80 e 443, por exemplo
Ifiltragem de enderec¸os
Fenderec¸os da rede interna n˜ao devem vir do exterior
Fenderec¸os de outras redes n˜ao devem vir do interior
Fbloqueio no roteador de borda ajuda a conter ataques de IP spoofing
Filtros de pacotes dinˆamicos (com estado) s˜ao uma soluc¸˜ao mais apropriada
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 25 / 54
Um exemplo de configurac¸˜ao
exterior interior: 10.0.0.0/16 firewall DMZ: 192.168.12.0/24 mail DNSo servidor DNS atende apenas a consultas internas
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 26 / 54
Regras para o exemplo
iface ac¸˜ao enderec¸o porta flags ext bloq src=10.0.0.0/16
ext bloq src=192.168.12.0/24
ext perm dst=Mail 25
ext bloq dst=DNS 53
ext perm dst=DNS UDP
ext perm Any ACK
ext bloq Any
DMZ bloq src6=192.168.12.0/24 DMZ perm dst=10.0.0.0/16 ACK DMZ bloq dst=10.0.0.0/16
DMZ perm Any int bloq src6=10.0.0.0/16
int perm dst=Mail 993
int perm dst=DNS 53
int bloq dst=192.168.12.0/24 int perm Any
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado
4 Firewalls de aplicac¸˜ao
5 Proxies de aplicac¸˜ao
Filtros de pacotes com estado (stateful)
Tipo mais comum de filtro de pacotes atualmente Resolvem a maioria dos problemas com filtros de pacotes simples, mas n˜ao todos
Requerem estado por conex˜ao no firewall Princ´ıpio de funcionamento
Iquando um pacote ´e enviado para a rede externa, isso fica registrado
Ios pacotes entrantes s˜ao associados ao estado criado pelo pacote de sa´ıda
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 29 / 54
Problemas resolvidos por estados
´E poss´ıvel casar uma resposta UDP com a requisic¸˜ao correspondente
Pacotes ICMP podem ser associados a uma conex˜ao Idestination unreachable, TTL exceeded, . . . Evita varreduras com ACK setado
Resolve alguns dos problemas com tr´afego entrante Imas tabelas de estado precisam ser associadas aos pacotes
entrantes
Regras espec´ıficas para evitar spoofing ainda s˜ao necess´arias
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 30 / 54
Problemas remanescentes
Protocolos que usam portas secund´arias (FTP, SIP, . . . ) RPC
Protocolos com semˆanticas complexas (DNS)
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 31 / 54
NAT (Network Address Translation)
Traduz enderec¸os de origem (e `as vezes n´umeros de porta tamb´em)
Objetivo principal ´e lidar com a falta de enderec¸os IP v´alidos Em alguns casos, “vendido” como excelente mecanismo de seguranc¸a
Icom sorte, n˜ao ´e mais seguro do que um filtro de pacotes com estado
Ise for mal configurado, pode n˜ao resolver nada
c
Comparac¸˜ao
filtro de pacotes com estado NAT
Saintecria uma entrada na
tabela de estados Saintetabela de estados. Traduzcria uma entrada na o enderec¸o
Entranteverifica se existe entrada na tabela de estados; descarta o pacote se n˜ao existir
Entranteverifica se existe entrada na tabela de estados; descarta o pacote se n˜ao existir. Traduz o enderec¸o A diferenc¸a est´a apenas em traduzir ou n˜ao os enderec¸os
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 33 / 54
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado 4 Firewalls de aplicac¸˜ao 5 Proxies de aplicac¸˜ao
6 Problemas com firewalls
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 34 / 54
Firewalls de aplicac¸˜ao
Filtros de pacotes operam na camada de rede, usando algumas informac¸˜oes da camada de transporte
In˜ao podem proteger contra ataques nas camadas superiores Icontrole de granularidade grossa: aplicac¸˜oes inteiras s˜ao
permitidas ou bloqueadas
F`as vezes se deseja funcionalidade parcial
Vantagens de firewalls de aplicac¸˜ao Iprotec¸˜ao especializada para cada aplicac¸˜ao Icontexto dispon´ıvel ´e maior
Iapenas aplicac¸˜oes escolhidas tˆem seu desempenho afetado Desvantagens de firewalls de aplicac¸˜ao
In˜ao protegem contra ataques nas camadas inferiores Iexigem um programa separado para cada aplicac¸˜ao
Fpodem ser bastante complexos
Ipodem ser intrusivos demais para usu´arios, aplicac¸˜oes, . . .
Exemplo: protegendo email
Deve-se proteger o email entrante ou o sainte? Iparte do c´odigo ´e igual, parte ´e bem diferente Deve-se trabalhar no n´ıvel do SMTP ou do conte´udo? Como lidar com MIME?
Ipior, como lidar com email criptografado com S/MIME ou PGP? Quais s˜ao as ameac¸as?
Ameac¸as contra email
Obviamente, bugs de implementac¸˜ao dos protocolos envolvidos V´ırus de email?
SPAM?
Javascript? Bugs em email HTML?
Violac¸˜oes da pol´ıtica organizacional de uso de email? Verificac¸˜ao de assinaturas digitais?
Nada disso pode ser tratado com filtros de pacotes
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 37 / 54
Email entrante
DNS permite redirecionar todo email dirigido a uma rede para um ou mais servidores espec´ıficos
Iregistros tipo MX, possivelmente com registros *.dom´ınio M´ultiplas camadas de protec¸˜ao s˜ao poss´ıveis
Io servidor de email designado pode proteger a transac¸˜ao SMTP Iuma vez recebido corretamente, o email pode ter seu conte´udo
inspecionado
Fv´ırus, SPAM, phishing, conte´udo impr´oprio, . . .
Io firewall pode implementar uma dessas func¸˜oes ou ambas
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 38 / 54
Email sainte
Protocolo n˜ao ajuda aqui
A maioria dos mailers permite redirecionar todo o tr´afego de sa´ıda para um n´o central (relay host)
Isso pode ser decidido administrativamente, e reforc¸ado com um filtro de pacotes
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 39 / 54
Combinando tipos de firewall
O email entrante e sainte ´e tratado por um firewall de aplicac¸˜ao Um filtro de pacotes ´e usado para garantir que todo o tr´afego de email s´o pode passar pelo firewall de aplicac¸˜ao
c
Um firewall para email
exterior interior firewall receptor antispam SMTP antivírus DMZ c2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 41 / 54
Implementac¸˜ao
Email n˜ao pode ser transmitido de outra maneira Recepc¸˜ao
Io ´unico servidor SMTP com quem m´aquinas externas podem se comunicar ´e o receptor SMTP
Io receptor repassa o email para um filtro antiv´ırus e anti-SPAM, usando um protocolo qualquer
Iessa m´aquina fala SMTP com algum servidor interno de email Ioutro benef´ıcio: se o receptor SMTP for comprometido, ele n˜ao
pode se comunicar diretamente com a rede interna Envio
Ium filtro de pacotes bloqueia conex˜oes saintes para a porta 25/tcp Ia ´unica m´aquina que pode falar SMTP com servidores externos ´e
um servidor dedicado para envio de email Iesse servidor pode estar na rede interna ou na DMZ
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 42 / 54
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado
4 Firewalls de aplicac¸˜ao
5 Proxies de aplicac¸˜ao
6 Problemas com firewalls
Pequenos gateways de aplicac¸˜ao
Alguns protocolos n˜ao precisam de um tratamento completo na camada de aplicac¸˜ao
Infelizmente, um filtro de pacotes n˜ao serve
Soluc¸˜ao: examinar parte do tr´afego usando um proxy espec´ıfico de aplicac¸˜ao, e tomar as medidas necess´arias
Proxy para FTP
O protocolo FTP tem um comando PORT que especifica a porta que vai ser usada para transferir um arquivo
PORT 192,168,1,2,235,210 Iservidor abre uma conex˜ao para o cliente Ia porta ´e determinada em tempo de execuc¸˜ao Ipor isso ´e dif´ıcil filtrar FTP de forma segura Uma soluc¸˜ao pode ser usar um proxy para FTP
Io canal de controle do FTP ´e monitorado
Ise um comando PORT for detectado, avisa ao firewall para abrir a porta temporariamente para a conex˜ao entrante
Isoluc¸˜oes semelhantes se aplicam ao RPC
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 45 / 54
Atacando o proxy de FTP
Applets Java podem se comunicar com o seu host de origem Um applet malicioso pode abrir um canal FTP e enviar um comando PORT contendo um n´umero de porta de um servic¸o vulner´avel em uma m´aquina supostamente protegida O firewall vai permitir a conex˜ao entrante
Soluc¸˜ao: aumentar a inteligˆencia do firewall com relac¸˜ao a quais hosts e n´umeros de porta podem aparecer em comandos PORT
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 46 / 54
Proxies web
Suporte nativo a HTTP Vantagens adicionais
Icaching de p´aginas → desempenho
Ifiltragem de conte´udo e/ou enderec¸os (URLs, enderec¸os IP) Filtros de pacotes tamb´em permitem redirecionar o tr´afego HTTP para um proxy
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 47 / 54
Roteiro
1 Firewalls
2 Filtros de pacotes
3 Filtros de pacotes com estado
4 Firewalls de aplicac¸˜ao
5 Proxies de aplicac¸˜ao
6 Problemas com firewalls
c
Problemas com firewalls
Ameac¸as internas Conectividade Laptops Evas˜ao c2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 49 / 54
Ameac¸as internas
Firewalls pressup˜oem que todo mundo que est´a na rede interna ´e “bonzinho”
Obviamente, isso n˜ao ´e verdade
Al´em disso, conte´udo ativo e m´aquinas comprometidas (infectadas com malware, por exemplo) correspondem a “mac¸˜as podres” dentro da caixa
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 50 / 54
Conectividade
Firewalls dependem da topologia
Se existem muitas conex˜oes com o exterior, ´e prov´avel que algu´em consiga escapar do firewall
Iisso pode ser necess´ario
Inem sempre ´e poss´ıvel filtrar o tr´afego de todos os parceiros Uma organizac¸˜ao de grande porte pode ter centenas ou mesmo milhares de links externos, a maior parte desconhecida dos administradores de rede
Iat´e h´a algum tempo, era comum que funcion´arios ligassem seu ramal em um modem para acessar seus computadores remotamente
Laptops
Laptops, por definic¸˜ao, circulam por a´ı
Quando eles est˜ao fora do firewall, quem os protege? Relatos de pessoas com laptops cheios de vulnerabilidades ou malware s˜ao comuns
Iobviamente, a rede est´a sempre habilitada
Outra dificuldade ´e com laptops que entram na rede interna Imuitas vezes os seus computadores s˜ao bem protegidos, mas e os
de seus visitantes?
Fdiversas redes s˜ao afetadas por vermes quando laptops infectados s˜ao ligados `a rede interna
Iredes sem fio tornaram o problema muito maior Fat´e o vizinho pode entrar na sua rede, de prop´osito ou n˜ao
Evas˜ao
Os firewalls e os administradores de firewalls tornaram-se bastante bons
Algumas aplicac¸˜oes pararam de funcionar
Os produtores de software comec¸aram a construir coisas que rodam sobre HTTP
Iweb services e P2P, por exemplo
HTTP geralmente passa por firewalls e at´e proxies web Tendˆencia crescente de recorrer a inspec¸˜ao e filtragem do conte´udo para determinar o que ´e tr´afego permitido ou n˜ao
Imuito mais dif´ıcil que usar n´umeros de portas Iimpacto significativo no desempenho
c
2009 Rafael Obelheiro (DCC/UDESC) Aula 15: Firewalls SEG 53 / 54
Bibliografia
William R. Cheswick, Steven M. Bellovin e Aviel D. Rubin.
Firewalls e Seguranc¸a na Internet, 2aed. Bookman, 2005. Cap´ıtulo 9.
c