Académique Documents
Professionnel Documents
Culture Documents
Captulo 6: Firewall
Captulo 6: Firewall
Introduo Qual a funo bsica de um firewall?
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
Page 3
Captulo 6: Firewall
Quem precisa de um firewall? Se voc planeja conectar-se a internet, precisa de um firewall...
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...
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
Page 7
Captulo 6: Firewall
Ex.: um firewall em operao...
Trfego restrito
Bloqueado
Trfego permitido
Permitido
Para a internet
Apenas o trfego da internet que atinge um critrio especificado tem permisso para passar
Bloqueado
Trfego desconhecido
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
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
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.
Page 13
Captulo 6: Firewall
Pacote TCP/IP
Header IP
Header TCP
Contedo
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.
Page 15
Captulo 6: Firewall
Pacote TCP/IP Um arquivo de 15 KB, por exemplo, como seria transmitido na rede ?
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.
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.
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.
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.
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.
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
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)
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.
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.
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 ?
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...
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.
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
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
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
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
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.
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
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
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)
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 ?
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.
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
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
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.
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
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...
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
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.
Page 60