Redes de computadores II

31
Redes de computadores II Firewall Prof. Diovani Milhorim

description

Redes de computadores II. Firewall Prof. Diovani Milhorim. Firewall. Conceito: Firewall é um sistema projetado para impedir acesso ou tráfego não autorizado em uma rede privada. O sistema pode consistir de software, Hardware ou ambos. Firewall. - PowerPoint PPT Presentation

Transcript of Redes de computadores II

Page 1: Redes de computadores II

Redes de computadores II

Firewall

Prof. Diovani Milhorim

Page 2: Redes de computadores II

Firewall

Conceito:

Firewall é um sistema projetado para impedir acesso ou tráfego não autorizado em uma rede privada.

O sistema pode consistir de software, Hardware ou ambos.

Page 3: Redes de computadores II

Firewall

Em geral firewall são sistemas que implementam regras de filtragem de pacotes impedindo ou restringindo determinados tipos de tráfego, baseando-se em regras fixas ou determinadas em regras estatísticas.

Page 4: Redes de computadores II

Firewall

Objetivos:

Proteger as estações de trabalho de tráfego malicioso externo a rede privada.

Controlar o tráfego de saída da rede interna.

Page 5: Redes de computadores II

Firewall

Quanto a implementação:

Soluções proprietárias . aplicativos comerciais Hardware e software integrados.

Soluções de software livre. filtro de pacotes implementado em sistema

operacional livre (unix, linux, etc...)

Page 6: Redes de computadores II

Firewall

Soluções proprietárias.

Vantagens: Facilidade de instalação Fácil gerenciamento Atualizações constantes Hardwares projetados para a aplicação.

Page 7: Redes de computadores II

Firewall

Soluções proprietárias.

Desvantagens:

Custo de aquisição Custo de atualização Falta de flexibilidade

Page 8: Redes de computadores II

Firewall

Soluções proprietárias.

Page 9: Redes de computadores II

Firewall

Soluções proprietárias.

Page 10: Redes de computadores II

Firewall

Soluções proprietárias.

Page 11: Redes de computadores II

Firewall

Soluções em software livre

Implementação de regras de filtragem de pacotes em sistema livre (unix/linux) que opera como gateway de rede.

Ferramentas mais usadas: iptables / ipchains (linux) Ipfw (unix)

Page 12: Redes de computadores II

Firewall

Soluções em software livre

Page 13: Redes de computadores II

Firewall

Soluções em software livreIptables:

O iptables é um firewall em nível de pacotes e funciona baseado no endereço/porta de origem/destino do pacote, prioridade, host de destino/origem, etc..

Ele funciona através da comparação de regras para determinar se um pacote tem ou não permissão para passar

Page 14: Redes de computadores II

Firewall

Soluções em software livreIptables:Também pode ser usado para: Modificar e monitorar o tráfego da rede Fazer NAT (masquerading, snat, dnat), Redirecionamento de pacotes, Marcação de pacotes, Modificar a prioridade de pacotes que chegam/saem. Contagem de bytes Balanceamento de tráfego, Criar proteções anti-spoofing Criar proteção contra syn flood Criar proteção contra DoS, etc...

Page 15: Redes de computadores II

Firewall

Soluções em software livreIptables:

O que são regras?As regras são como comandos passados ao iptables para que ele

realize uma determinada ação (como bloquear ou deixar passar um pacote) de acordo com o endereço/porta de origem/destino, interface de origem/destino, etc. As regras são armazenadas dentro dos chains e processadas na ordem que são inseridas.

As regras são armazenadas no kernel, o que significa que quando o computador for reiniciado tudo o que fez será perdido. Por este motivo elas deverão ser gravadas em um arquivo para serem carregadas a cada inicialização.

Page 16: Redes de computadores II

Firewall

Soluções em software livre

Exemplo de regra iptables:

Iptables –A INPUT –-dport 80 –j DROP

Page 17: Redes de computadores II

Firewall

Soluções em software livre

Um pacote passa por várias etapas dentro do kernel do Linux, dependendo se ele for roteado pela máquina, destinado a ela ou se este pacote foi, na verdade, gerado pelo ip da máquina. O netfilter introduziu “chains“ (ganchos) , pontos ao longo do ciclo de vida de um pacote, onde o mesmo pode ser avaliado por regras de firewall. A figura 1 destaca estes pontos.

Page 18: Redes de computadores II

Firewall

Soluções em software livre

Iptables: chains

Page 19: Redes de computadores II

Firewall

Soluções em software livreIptables:O que são chains?

Os Chains são locais onde as regras do firewall definidas pelo usuário são armazenadas para operação do firewall. Existem dois tipos de chains: os embutidos (como os chains INPUT, OUTPUT e FORWARD) e os criados pelo usuário. Os nomes dos chains embutidos devem ser especificados sempre em maiúsculas (note que os nomes dos chains são case-sensitive)

Page 20: Redes de computadores II

Firewall

Soluções em software livreIptables: Tabelas

Os conjuntos de chains são necessariamente agrupados em tabelas. Uma tabela praticamente define o seu poder, o que pode ou o que não pode realizar com o pacote e uma tabela possui vários conjuntos de regras. Ao todo são três tabelas principais existentes no iptables:

filter; nat; mangle.

Page 21: Redes de computadores II

Firewall

Soluções em software livre

Iptables

Existem três tipos de tabelas pré-definidas. Filter Nat mangle

Page 22: Redes de computadores II

Firewall

Soluções em software livreIptablesFilter - Esta é a tabela padrão, contém 3 chains padrões:

INPUT - Consultado para dados que chegam a máquina OUTPUT - Consultado para dados que saem da máquina FORWARD - Consultado para dados que são redirecionados

para outra interface de rede ou outra máquina.

Os chains INPUT e OUTPUT somente são atravessados por conexões indo ou originando de localhost.

OBS: Para conexões locais, somente os chains INPUT e OUTPUT são consultados na tabela filter.

Page 23: Redes de computadores II

Firewall

Soluções em software livreIptablesNat - Usada para dados que gera outra conexão (masquerading,

source nat, destination nat, port forwarding, proxy transparente são alguns exemplos). Possui 3 chains padrões:

PREROUTING - Consultado quando os pacotes precisam ser modificados logo que chegam. É o chain ideal para realização de DNAT e redirecionamento de portas (Fazendo DNAT, Seção 10.4.4).

OUTPUT - Consultado quando os pacotes gerados localmente precisam ser modificados antes de serem roteados. Este chain somente é consultado para conexões que se originam de IPs de interfaces locais.

POSTROUTING - Consultado quando os pacotes precisam ser modificados após o tratamento de roteamento. É o chain ideal para realização de SNAT e IP Masquerading

Page 24: Redes de computadores II

FirewallSoluções em software livreIptablesMangle - Utilizada para alterações especiais de pacotes -5 tabelas:

INPUT - Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain INPUT da tabela filter.

FORWARD - Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain FORWARD da tabela filter.

PREROUTING - Consultado quando os pacotes precisam ser modificados antes de ser enviados para o chain PREROUTING da tabela nat.

POSTROUTING - Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain POSTROUTING da tabela nat.

OUTPUT - Consultado quando os pacotes precisam ser modificados antes de serem enviados para o chain OUTPUT da tabela nat.

Page 25: Redes de computadores II

FirewallSoluções em software livreIptables

Mangle - Utilizada para alterações especiais de pacotes.

Exemplos:

Modificar o bit TOS do protocolo tcp. Marcar pacotes para roteamento

Page 26: Redes de computadores II

FirewallSoluções em software livreIptables

O acesso as regras é feita de forma hierárquica de modo que regras que se encontram no topo da tabela se sobrepõem a regras que se encontram abaixo dela.

O iptables sempre executará a acão que uma regra impõe a menos que uma regra anterior (acima na tabela) a impeça.

Page 27: Redes de computadores II

FirewallSoluções em software livreIptablesExemplo de hierarquia de regras

Iptables –A INPUT –dport 80 –j ACCEPTIptables –A INPUT –dport 80 –j DROP

Neste caso o pacote para a porta 80 que tem destino localhost será aceito mesmo que uma regra de prioridade menor peça o contrário

Page 28: Redes de computadores II

FirewallSoluções em software livreIptablesManipulando regras.

-A: adiciona novas regras no final do chain.-L: lista as regras de uma chain-D:Remove uma regra-I: Insere novas regras no começo da tabela-P: muda política padrão (accept/drop)-F: limpa as regras de uma chain ou de todas elas.

Page 29: Redes de computadores II

FirewallSoluções em software livreIptablesManipulando regras.

Flags importantes:

-d : destino-s : source--dport : porta de destino--sport: porta de source-p : protocolo-I: interface de acesso

Page 30: Redes de computadores II

FirewallSoluções em software livreIptablesManipulando regras.

ALVOS:

ACCEPT: aceita o pacotte DROP: descarta o pacote DENY: não aceita o pacote LOG: grava log do fluxo do pacote

Page 31: Redes de computadores II

FirewallSoluções em software livreIptablesExemplos:

iptables -t nat -A POSTROUTING -s 192.168.1.2/32 -o ppp0 -j MASQUERADE

iptables -t nat -A PREROUTING -s 200.200.201.4 -i eth0 -j DNAT –to 192.168.1.2

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 81

iptables -t mangle -A OUTPUT -o ppp0 -p tcp --dport 20 -j TOS --set-tos 8

iptables –A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s –j ACCEPT

iptables -t filter -A syn-chain -p tcp --syn -m limit --limit 2/s -j ACCEPT