Vous êtes sur la page 1sur 60

Segurana na Web

Captulo 6: Firewall

Prof. Roberto Franciscatto


4 Free Powerpoint Templates Semestre - TSI - CAFW
Page 1

Captulo 6: Firewall
Introduo Qual a funo bsica de um firewall?

Free Powerpoint Templates

Page 2

Captulo 6: Firewall
Introduo Qual a funo bsica de um firewall? Bloquear acesso a portas que no esto em uso ou que no devem receber conexes por parte da internet

Free Powerpoint Templates

Page 3

Captulo 6: Firewall
Quem precisa de um firewall? Se voc planeja conectar-se a internet, precisa de um firewall...

Free Powerpoint Templates

Page 4

Captulo 6: Firewall
Por que eu preciso de um firewall? Para proteger seu computador e sua rede, se for o caso... Existem atualmente inmeras formas de ataque a um computador ou servio especfico Motivos para invadir seu computador ou sua rede no faltam...

Free Powerpoint Templates

Page 5

Captulo 6: Firewall
Tenho qualquer coisa que valha a pena proteger?

Existe sempre algo que seja necessrio proteger em algum grau, exemplo: Responsabilidade vertical Dados perdidos Comprometer dados confidenciais Queda da rede
Free Powerpoint Templates Page 6

Captulo 6: Firewall
O que faz um firewall?

Um firewall examina o trfego enquanto ele entra em uma das suas interfaces e aplica regras ao trfego... Essencialmente: permitindo ou impedindo o trfego baseado nestas regras

Free Powerpoint Templates

Page 7

Captulo 6: Firewall
Ex.: um firewall em operao...
Trfego restrito

Bloqueado
Trfego permitido

O trfego bloqueado porque ele no atingiu o critrio especificado

Permitido

Para a internet

Apenas o trfego da internet que atinge um critrio especificado tem permisso para passar

Bloqueado

Trfego desconhecido

Acesso a recursos especificos

Permitido Free Powerpoint Templates

Trfego especificado permitido

Page 8

Captulo 6: Firewall
Viso geral operacional do firewall Regras comuns e caractersticas dos firewalls: Bloquear trfego de rede recebido baseado na origem ou destino Bloquear trfego de rede enviado baseado na origem ou destino Bloquear trfego de rede baseado no contedo Tornar disponveis os recursos internos
Free Powerpoint Templates Page 9

Captulo 6: Firewall
Viso geral operacional do firewall Regras comuns e caractersticas dos firewalls (cont.): Permitir conexes rede interna Relatar trfego de rede a atividades do firewall

Free Powerpoint Templates

Page 10

Captulo 6: Firewall
Reviso sobre TCP/IP Por que TCP/IP?
Para formular boas regras de firewall, necessrio ter uma boa noo de: endereos, portas e protocolos de rede

Free Powerpoint Templates

Page 11

Captulo 6: Firewall
Reviso sobre TCP/IP Todos os dados transmitidos atravs da internet so agrupados em pacotes TCP que podem conter at 1460 bytes de dados Alm dos dados, cada pacote inclui 40 bytes adicionais contendo:
endereo IP de origem, endereo IP de destino, porta de origem, porta de destino, cdigos de verificao, nmero do pacote, etc...
Free Powerpoint Templates Page 12

Captulo 6: Firewall
Reviso sobre TCP/IP No total tem-se:
20 bytes para os headers do protocolo TCP 20 bytes para os headers do protocolo IP totalizando assim, 40 bytes de headers por pacote. Dessa forma temos 1460 bytes de dados em um pacote de 1500 bytes, por exemplo.

Free Powerpoint Templates

Page 13

Captulo 6: Firewall
Pacote TCP/IP

Header IP

Header TCP

Contedo

Headers IP e TCP (40 bytes)

Dados (at 1460 bytes)

Free Powerpoint Templates

Page 14

Captulo 6: Firewall
Pacote TCP/IP Pode-se dizer que o IP (header IP) se encarrega do endereamento e da entrega dos pacotes enquanto o TCP (header TCP) se encarrega da verificao de erros, numerao de portas e outras funes.

Free Powerpoint Templates

Page 15

Captulo 6: Firewall
Pacote TCP/IP Um arquivo de 15 KB, por exemplo, como seria transmitido na rede ?

Free Powerpoint Templates

Page 16

Captulo 6: Firewall
Pacote TCP/IP Um arquivo de 15 KB, por exemplo, como seria transmitido na rede ? Seria dividido em 11 pacotes Os 10 primeiros contendo 1460 bytes cada um e o ltimo contendo os 760 bytes finais.

Free Powerpoint Templates

Page 17

Captulo 6: Firewall
Pacote TCP/IP graas aos cdigos de verificao e numerao de pacotes que arquivos grandes podem ser transmitidos de forma ntegra. Caso sejam corrompidos ou perdidos, basta retransmitir os pacotes extraviados ou danificados, quantas vezes for necessrio.

Free Powerpoint Templates

Page 18

Captulo 6: Firewall
Pacote TCP/IP Importante: O protocolo TCP/IP permite o uso de pacotes com at 64 KB Porm o tamanho mais usado de 1500 bytes, padro para frames Ethernet.

Free Powerpoint Templates

Page 19

Captulo 6: Firewall
Portas TCP Existem 65.536 portas TCP, numeradas de 0 a 65.535 Cada porta porde ser usada por um programa ou servio diferente, de forma que: em teoria poderiamos ter at 65536 servios diferentes ativos, com um nico endereo IP vlido.

Free Powerpoint Templates

Page 20

Captulo 6: Firewall
Portas TCP As portas TCP mais usadas vo de 0 1023, que so reservados a servios mais conhecidos e utilizados A porta 0 reservada, por isso no entra na lista.

Free Powerpoint Templates

Page 21

Captulo 6: Firewall
Portas TCP e UDP Alm das 65.536 portas TCP, temos o mesmo nmero de portas UDP. TCP = confiabilidade e confirmao UDP = velocidade e simplicidade

Free Powerpoint Templates

Page 22

Captulo 6: Firewall
Exemplo de transmisso TCP Mensagem de texto de 300 bytes via TCP
Estao: Servidor: Servidor: Estao: Estao: Servidor: Estao: Servidor: Estao: SYN (solicita a abertura da conexo) SYN (confirma o recebim. e avisa que a porta est dispon.) ACK (inicia conexo) ACK (confirma) DATA ( enviado o pacote com a mensagem de texto) OK (a confirm., depois de verificar a integrid. do pacote) FYN (solicita o fechamento da conexo) FYN (confirma) FYN (confirma que recebeu a confirmao)

Free Powerpoint Templates

Page 23

Captulo 6: Firewall
Exemplo de transmisso UDP Streaming de vdeo e udio via web situao onde o que vale a velocidade e no a confiabilidade. Outra situao comum so os servidores de DNS ao acessar um site, a solicitao do endereo IP referente ao domnio do site e a resposta do servidor so enviadas via UDP, para ganhar tempo
Free Powerpoint Templates Page 24

Captulo 6: Firewall
TCP e UDP Ao configurar um firewall necessrio ateno quanto aos protocolos TCP e UDP DNS e SAMBA por exemplo, utilizam tanto os protocolos TCP como UDP.

Free Powerpoint Templates

Page 25

Captulo 6: Firewall
Portas mais usadas para servios de internet 22 = SSH 21 = FTP 25 = SMTP 53 TCP e 53 UDP = DNS 80 = HTTP 110 = POP3 143 = IMAP 443 = HTTPS 1194 UDP = OpenVPN 5901 = VNC
Free Powerpoint Templates Page 26

Captulo 6: Firewall
TCP, UDP e ICMP Alm do TCP e UDP temos ICMP (Internet Control Message Protocol) um protocolo de controle. Uso do protocolo ICMP: ping (echo request) usado para verificar se determinada mquina est online e medir a latncia da conexo.

Free Powerpoint Templates

Page 27

Captulo 6: Firewall
TCP, UDP e ICMP Outra funo importante do ICMP o controle do TTL (time to live) de cada pacote TCP ou UDP. O que acontece com um pacote caso ele no chegue at o destino ?

Free Powerpoint Templates

Page 28

Captulo 6: Firewall
TCP, UDP e ICMP O que acontece com um pacote caso ele no chegue at o destino ? Existem duas possibilidades. A primeira um roteador prximo perceber que a mquina est fora do ar e destruir o pacote A segunda utilizar a TTL com valores que variam de 64 a 128 hops
Free Powerpoint Templates Page 29

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Escrever regras do firewall como que aprender um novo dialeto... Imagine que ao escrever uma nova regra, voc est explicando uma ideia, tente ser claro para que seja entendido...

Free Powerpoint Templates

Page 30

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -A INPUT: especifica que a regra se aplica a pacotes de entrada, ou seja, pacotes recebidos pelo servidor, em qualquer interface -A OUTPUT: a regra se aplica a pacotes de sada, transmitidos pelo prprio servidor.

Free Powerpoint Templates

Page 31

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -A FORWARD: este parmetro usado para compartilhar a conexo com a internet, permitindo que os micros da rede local acessem atravs do servidor. Os pacotes dos outros micros, encaminhados pelo servidor, so tratados como FORWARD, diferente dos pacotes transmitidos pelo prprio servidor, que so tratados como OUTPUT.
Free Powerpoint Templates Page 32

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -p tcp: especifica que a regra se aplica a pacotes TCP -p udp: especifica que a regra se aplica a pacotes UDP Ex.: iptables A INPUT p udp --dport 53 j ACCEPT

Importante: necessrio sempre especificar o protocolo, caso contrrio, ERRO !


Free Powerpoint Templates Page 33

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: Caso seja preciso bloquear os trs protocolos para um determinado endereo, pode-se usar:
iptables A INPUT p ALL s 88.191.79.206 j DROP

Free Powerpoint Templates

Page 34

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: comum bloquear as portas 0 a 1023 UDP, autorizando apenas as portas que devem ficar abertas como:
iptables A INPUT p udp --dport 53 j ACCEPT iptables A INPUT p udp --dport 0:1023 j DROP

Free Powerpoint Templates

Page 35

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -p icmp: bloquear o pedido de pings Ex.: iptables A INPUT p icmp --icmp-type echorequest j DROP

Free Powerpoint Templates

Page 36

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -i eth0: a opo -i permite definir a interface onde os pacotes devem ser recebidos ou enviados. Exemplos:
iptables A INPUT p tcp j REJECT iptables A INPUT i eth2 p tcp j REJECT iptables A INPUT i eth0 p tcp --dport 22 j ACCEPT
Free Powerpoint Templates Page 37

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -dport ou --destination-port: especifica uma porta. O uso mais comum para esta opo para abrir portas de entrada e depois aplicar uma regra que feche as demais.

Free Powerpoint Templates

Page 38

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -d (destiny): destinado ao endereo IP ou domnio citado. Bastante utilizado para bloquear o acesso a determinados sites a partir dos micros da rede local. Ex.: iptables A FORWARD d dominio.com j REJECT

Free Powerpoint Templates

Page 39

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -m mac --mac-source 00:11:D8:76:59:2E: esta a regra que permite especificar endereos MAC dentro das regras do Iptables. Ex.: iptables A INPUT --dport 22 m mac --macsource 00:11:D8:76:59:2E j ACCEPT
Free Powerpoint Templates

Page 40

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: --syn: cria uma regra vlida apenas para novas conexes, no impedindo que o outro micro responda a conexes iniciadas pelo servidor, como em: Ex.: iptables A INPUT p tcp --syn j DROP

Free Powerpoint Templates

Page 41

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j: usado no final de cada regra, especificando uma ao, que pode ser: -j ACCEPT: aceita o pacote. Ele encaminhado ao destino sem passar pelas demais regras. -j REJECT: rejeita educadamente o pacote, enviando um pacote de resposta ao emissor.
Ex.: connect to host 192.168.1.1 port 22: Connection refused Free Powerpoint Templates Page 42

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j DROP: o DROP mais enftico. O pacote simplesmente descartado, sem aviso. O emissor fica um longo tempo esperando, at que eventualmente recebe um erro de time-out. -j LOG: permite logar conexes. interessante usar estas regras principalmente em regras muito visadas, como a SSH.
Free Powerpoint Templates Page 43

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j LOG: para ativar o log, necessrio duplicar a regra que abre a porta, usando a opo -j LOG na primeira e -j ACCEPT na segunda, como em:
(continuao)

iptables A INPUT p tcp --dport 22 j LOG iptables A INPUT p tcp --dport 22 j ACCEPT
Free Powerpoint Templates

Page 44

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: -j LOG: as mensagens so gravados no arquivo /var/log/messages.
(continuao)

possvel ver as mensagens com o comando dmesg

Free Powerpoint Templates

Page 45

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: Importante: alterar a ordem das regras altera o resultado. Ex.: iptables A INPUT p tcp j REJECT iptables A INPUT p tcp --dport 22 j REJECT Qual o problema nas regras acima ?
Free Powerpoint Templates Page 46

Captulo 6: Firewall
Entendendo as regras do firewall (Iptables) Parmetros do Iptables: Exemplo 2: iptables A INPUT p tcp --dport 22 j ACCEPT iptables A INPUT p tcp --dport 22 j LOG Qual o problema nas regras acima ?

Free Powerpoint Templates

Page 47

Captulo 6: Firewall
Escrevendo um script de firewall (Iptables) Simplesmente acessar a internet como cliente, sem rodar nenhum servidor, nem compartilhar a conexo com outros micros Soluo para proteo inicial: #!/bin/sh iptables A INPUT i lo j ACCEPT iptables A INPUT p tcp --syn j DROP
Free Powerpoint Templates Page 48

Captulo 6: Firewall
Escrevendo um script de firewall (Iptables) A ideia aqui que o micro possa acessar a internet sem ficar vulnervel a acessos externos. Estes dois comandos fazem isso da forma mais simples possvel.

iptables A INPUT i lo j ACCEPT iptables A INPUT p tcp --syn j DROP

Free Powerpoint Templates

Page 49

Captulo 6: Firewall
Escrevendo um script de firewall (Iptables) Para desativar o firewall e voltar a aceitar conexes, use o comando iptables F, que limpa as regras do Iptables: # iptables -F

Free Powerpoint Templates

Page 50

Captulo 6: Firewall
Exemplo de script de firewall completo (Iptables)
# Abre para a faixa de endereos da rede local:
iptables A INPUT s 192.168.1.0/255.255.255.0 j ACCEPT

# Faz a mesma coisa, s que especificando a interface:


iptables A INPUT i eth0 j ACCEPT # Abre uma porta: iptables A INPUT p tcp --dport 22 -j ACCEPT # Ignora pings: iptables A INPUT p icmp-type echo-request -j DROP

Free Powerpoint Templates

Page 51

Captulo 6: Firewall
Exemplo de script de firewall completo (Iptables)
(Continuao)
# Protege contra IP spoofing: echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter # Descarta pacotes mal formados, protegendo contra ataques #diversos: iptables A INPUT m state --state INVALID j DROP # Abre para a interface de loopback: iptables A INPUT i lo j ACCEPT # Impede a abertura de novas conexes, bloqueando acesso #externo ao servidor, com exceo das regras anteriores: iptables A INPUT p tcp --syn j DROP Free Powerpoint Templates

Page 52

Captulo 6: Firewall
Exemplo de script de firewall completo (Iptables)
Aps incluir todas as regras do firewall, necessrio salvar e dar permisso de execuo.

Ex.: # cd /etc/init.d/ # chmod +x firewall

Free Powerpoint Templates

Page 53

Captulo 6: Firewall
Exemplo de script de firewall completo (Iptables)

Comandos importantes iptables F: limpa a tabela principal do Iptables iptables t nat F: limpa a tabela nat, que usada por regras que compartilham a conexo e fazem forwarding de portas iptables L: este comando lista a configurao atual sem alterar nada iptables t nat L: este comando lista a configurao de forwarding e compartilhamento
Free Powerpoint Templates Page 54

Captulo 6: Firewall
Forwarding de Portas
Ao compartilhar uma conexo via NAT, apenas o servidor recebe conexes vindas da internet. Os micros da rede local acessam atravs do servidor e recebem apenas pacotes de resposta. Entretanto existem casos em que voc realmente deseja que alguns dos hosts fique diretamente acessvel a internet

Free Powerpoint Templates

Page 55

Captulo 6: Firewall
Forwarding de Portas
Exemplo: Um servidor web, escutando na porta 80 do micro 192.168.1.3 da rede local, fique disponvel na internet. A nica forma de fazer isso o servidor passar a bola para este micro A limitao que continua existindo uma nica porta 80, uma nica porta 22, etc...

Free Powerpoint Templates

Page 56

Captulo 6: Firewall
Forwarding de Portas
Exemplo de Forwarding: # Redireciona uma nica porta para um micro da rede local echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A PREROUTING p tcp i eth1 --dport 22 j DNAT --to 192.168.1.10 iptables t nat A POSTROUTING d 192.168.1.10 j SNAT --to 192.168.1.1

Free Powerpoint Templates

Page 57

Captulo 6: Firewall
Forwarding de Portas
possvel ainda indicar uma lista de portas (usando a opo m multiport), como em: # Redireciona um conjunto de portas echo 1 > /proc/sys/net/ipv4/ip_forward iptables t nat A PREROUTING p tcp i eth1 m multiport --dport 21,22,80 j DNAT --to-dest 192.168.1.10 iptables t nat A POSTROUTING d 192.168.1.10 j SNAT --to 192.168.1.1
Free Powerpoint Templates Page 58

Captulo 6: Firewall
Exerccios
Construa um firewall bsico para uso em um servidor web, contendo as seguintes regras: Abrir para a interface de loopback Bloqueie um determinado IP (hosts especficos) Abra as portas referentes aos seguintes servios usados: SSH, DNS, HTTP, HTTPS Bloqueie as conexes nas demais portas Garanta que o firewall permitira pacotes de conexes j iniciadas Bloqueie as portas UDP de 0 a 1023 Crie este script na forma de um arquivo executvel Adicione este arquivo na inicializao do Linux Free Powerpoint Templates

Page 59

Captulo 6: Firewall
Exerccios (2)
Voc deve detectar possveis rootkits em seu servidor. Para isso faa os seguintes passos: Instale o software chkrootkit Execute o software Armazene os resultados em um arquivo teste Faa a anlise dos resultados e explique o que o software encontrou.

Free Powerpoint Templates

Page 60

Vous aimerez peut-être aussi