Conceitos sobre Firewalltele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-08.pdfTradu˘c~ao de...

78
Conceitos sobre Firewall Redes Multim´ ıdia Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina – IFSC campus S˜ ao Jos´ e [email protected] 1 de setembro de 2011 1 / 56

Transcript of Conceitos sobre Firewalltele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-08.pdfTradu˘c~ao de...

Conceitos sobre FirewallRedes Multimıdia

Prof. Emerson Ribeiro de Mello

Instituto Federal de Santa Catarina – IFSCcampus Sao Jose

[email protected]

1 de setembro de 2011

1 / 56

Sumario

1 Conceitos sobre FirewallTipos de firewall

2 Projetos de firewallEstrategias de configuracaoPerımetros de segurancaTraducao de enderecos de rede – NAT

3 FerramentasiptablesLaboratorios com iptables

2 / 56

Sumario

1 Conceitos sobre FirewallTipos de firewall

2 Projetos de firewallEstrategias de configuracaoPerımetros de segurancaTraducao de enderecos de rede – NAT

3 FerramentasiptablesLaboratorios com iptables

3 / 56

Firewall

Definicao convencional: Parede corta fogo

Dispositivo feito de material a prova de fogo para evitar que o fogo seespalhe de uma parte do edifıcio para outra

Definicao para sistemas computacionais

Ponto de controle que mantem acessos nao autorizados fora do perımetrode seguranca, ao mesmo tempo possibilita acesso aos sistemas externos

� Atua como uma barreira de seguranca entre a rede interna e o mundoexterior

� Evita que potenciais vulnerabilidades de servicos sejam exploradas� Nenhum software complexo e 100% seguro

� Pode ser classificado como firewall de maquina ou de rede

4 / 56

Firewall

Definicao convencional: Parede corta fogo

Dispositivo feito de material a prova de fogo para evitar que o fogo seespalhe de uma parte do edifıcio para outra

Definicao para sistemas computacionais

Ponto de controle que mantem acessos nao autorizados fora do perımetrode seguranca, ao mesmo tempo possibilita acesso aos sistemas externos

� Atua como uma barreira de seguranca entre a rede interna e o mundoexterior

� Evita que potenciais vulnerabilidades de servicos sejam exploradas� Nenhum software complexo e 100% seguro

� Pode ser classificado como firewall de maquina ou de rede

4 / 56

Firewall de maquina (ou Firewall pessoal)

� Perımetro de seguranca: A propria maquina� Analisa todo o trafego entrante e sainte

� Uma forma de protecao contra spywares, maquinas zombis

� As regras podem seguir uma polıtica de seguranca da organizacao(mais seguro) ou o proprio usuario pode definir suas regras (menosseguro)

� Exemplo: Firewall do Microsoft Windows

5 / 56

Firewall de maquina (ou Firewall pessoal)

� Perımetro de seguranca: A propria maquina� Analisa todo o trafego entrante e sainte

� Uma forma de protecao contra spywares, maquinas zombis

� As regras podem seguir uma polıtica de seguranca da organizacao(mais seguro) ou o proprio usuario pode definir suas regras (menosseguro)

� Exemplo: Firewall do Microsoft Windows

5 / 56

Firewall de rede

� Perımetro de seguranca: rede local da organizacao

� Todo o trafego de dentro para fora, e vice-versa, devera passar peloFirewall

� Somente o trafego autorizado, definido pela polıtica de segurancalocal, devera ter permissao para passar

� O proprio Firewall devera ser imune a invasoes� Implica na utilizacao de um sistema confiavel, com um sistema

operacional seguro e rodando um conjunto mınimo de servicos

Internet Perímetro de segurança

Firewall

Rede local

6 / 56

Caracterısticas de um firewall de rede

� Ponto unico de controle garante uma maior seguranca da rede� Mesmo que maquinas de clientes nao estejam plenamente seguras

� Um bom local para realizar Traducoes de Enderecos de Rede (NAT) eregistro do trafego

� Nao protege contra ataques oriundos da rede interna

� Nao evita que maquinas internas facam uso de modems (3G) e seconectem a rede externa

Firewall pessoal + Firewall rede

Se o firewall de rede protege contra ataques oriundos da rede externa, ofirewall pessoal pode proteger contra ataques originados dentro da redelocal

7 / 56

Caracterısticas de um firewall de rede

� Ponto unico de controle garante uma maior seguranca da rede� Mesmo que maquinas de clientes nao estejam plenamente seguras

� Um bom local para realizar Traducoes de Enderecos de Rede (NAT) eregistro do trafego

� Nao protege contra ataques oriundos da rede interna

� Nao evita que maquinas internas facam uso de modems (3G) e seconectem a rede externa

Firewall pessoal + Firewall rede

Se o firewall de rede protege contra ataques oriundos da rede externa, ofirewall pessoal pode proteger contra ataques originados dentro da redelocal

7 / 56

Tipos de Firewall

� Filtro de pacotes (camada de rede)� Se preocupa com endereco IP de origem/destino, porta de

origem/destino, protocolo utilizado� Geralmente combinado com roteador

� Inspecao de estado (camada de transporte)� Nao filtram pacotes individuais, o filtro e baseado em regras de sessoes

� Gateway no nıvel de aplicacao� O trafego e analisado na camada de aplicacao

� Hıbridos

8 / 56

Filtro de pacotes

� Atua na camada de rede e nao se preocupa com o conteudo dospacotes

Analisa todo datagrama que passa por este e decide se serao descartadosou encaminhados

� Endereco IP de origem e de destino

� Porta de origem e de destino

� Interface de entrada e de saıda

� Protocolo TCP, UDP ou ICMP

9 / 56

Filtro de pacotes – Exemplos

Polıtica

� Maquinas de usuarios naopodem gerar SPAM

� Maquinas internas naopodem ser acessadasremotamente

� Usuarios podem navegarna web

Configuracao do firewall

� Descarte todos pacotes saintescom destino a porta 25

� Descarte pacotes destinados asportas do SSH, VNC,RDesktop

� Permita o trafego sainte paraas portas 80 e 443

10 / 56

Filtro de pacotes – Exemplos

Polıtica� Maquinas de usuarios nao

podem gerar SPAM

� Maquinas internas naopodem ser acessadasremotamente

� Usuarios podem navegarna web

Configuracao do firewall

� Descarte todos pacotes saintescom destino a porta 25

� Descarte pacotes destinados asportas do SSH, VNC,RDesktop

� Permita o trafego sainte paraas portas 80 e 443

10 / 56

Filtro de pacotes – Exemplos

Polıtica� Maquinas de usuarios nao

podem gerar SPAM

� Maquinas internas naopodem ser acessadasremotamente

� Usuarios podem navegarna web

Configuracao do firewall

� Descarte todos pacotes saintescom destino a porta 25

� Descarte pacotes destinados asportas do SSH, VNC,RDesktop

� Permita o trafego sainte paraas portas 80 e 443

10 / 56

Filtro de pacotes – Exemplos

Polıtica� Maquinas de usuarios nao

podem gerar SPAM

� Maquinas internas naopodem ser acessadasremotamente

� Usuarios podem navegarna web

Configuracao do firewall

� Descarte todos pacotes saintescom destino a porta 25

� Descarte pacotes destinados asportas do SSH, VNC,RDesktop

� Permita o trafego sainte paraas portas 80 e 443

10 / 56

Inspecao de estado

� Atua na camada detransporte (camada 4)

� Nao analisa pacotesindividuais

� Mantem estado de todas asconexoes que passam poreste

� Consegue determinar se umpacote faz parte de umaconexao existente ou de umanova conexao

� TCP Flags: SYN, ACK. . .

1 172.18.0.4 172.18.0.10

2 | |

3 | SYN |

4 |(41143) ------------------> (1234)|

5 | SYN, ACK |

6 |(41143) <------------------ (1234)|

7 | ACK |

8 |(41143) ------------------> (1234)|

9 | PSH, ACK - Len: 3 |

10 |(41143) ------------------> (1234)|

11 | ACK |

12 |(41143) <------------------ (1234)|

13 | PSH, ACK - Len: 6 |

14 |(41143) <------------------ (1234)|

15 | ACK |

16 |(41143) ------------------> (1234)|

17 | FIN, ACK |

18 |(41143) ------------------> (1234)|

19 | FIN, ACK |

20 |(41143) <------------------ (1234)|

21 | ACK |

22 |(41143) ------------------> (1234)|

11 / 56

Gateway no nıvel de aplicacao

� Atua na camada de aplicacao (camada 7), examinando o conteudodos pacotes

� Permite um controle mais granular que aquele presente nos filtros depacotes e de sessoes

� Ex: Aos usuarios internos nao e permitido baixar arquivos .EXE� Pode ser combinado com antivırus

� Consome uma carga maior de processamento se comparado a outrosfiltros

� A conexao entre clientes e servidores e sempre intermediada

1 Pacotes originados pelos clientes param no gateway, onde saoanalisados

2 Se estiverem de acordo, o gateway inicia uma conexao com o servidorexterno

12 / 56

Comparativo entre os tipos de firewall

� Filtro de pacotes

Vantagens Com regras simples e possıvel se proteger da maioria dasameacas de seguranca

Desvantagens Seguranca vs facilidade para usuarios

� Inspecao de estados

Vantagens Evita ataques mais elaborados; facilidade para usuariosDesvantagens Aplicacoes UDP nao sao atendidas

� Gateway de aplicacao

Vantagens Filtro granular baseado em conteudo; cache;autenticacao de usuarios

Desvantagens Nem todas aplicacoes funcionam com este;desempenho

A combinacao destes se mostra como uma boa solucao

13 / 56

Comparativo entre os tipos de firewall

� Filtro de pacotes

Vantagens Com regras simples e possıvel se proteger da maioria dasameacas de seguranca

Desvantagens Seguranca vs facilidade para usuarios

� Inspecao de estados

Vantagens Evita ataques mais elaborados; facilidade para usuariosDesvantagens Aplicacoes UDP nao sao atendidas

� Gateway de aplicacao

Vantagens Filtro granular baseado em conteudo; cache;autenticacao de usuarios

Desvantagens Nem todas aplicacoes funcionam com este;desempenho

A combinacao destes se mostra como uma boa solucao

13 / 56

Comparativo entre os tipos de firewall

� Filtro de pacotes

Vantagens Com regras simples e possıvel se proteger da maioria dasameacas de seguranca

Desvantagens Seguranca vs facilidade para usuarios

� Inspecao de estados

Vantagens Evita ataques mais elaborados; facilidade para usuariosDesvantagens Aplicacoes UDP nao sao atendidas

� Gateway de aplicacao

Vantagens Filtro granular baseado em conteudo; cache;autenticacao de usuarios

Desvantagens Nem todas aplicacoes funcionam com este;desempenho

A combinacao destes se mostra como uma boa solucao

13 / 56

Comparativo entre os tipos de firewall

� Filtro de pacotes

Vantagens Com regras simples e possıvel se proteger da maioria dasameacas de seguranca

Desvantagens Seguranca vs facilidade para usuarios

� Inspecao de estados

Vantagens Evita ataques mais elaborados; facilidade para usuariosDesvantagens Aplicacoes UDP nao sao atendidas

� Gateway de aplicacao

Vantagens Filtro granular baseado em conteudo; cache;autenticacao de usuarios

Desvantagens Nem todas aplicacoes funcionam com este;desempenho

A combinacao destes se mostra como uma boa solucao

13 / 56

Comparativo entre os tipos de firewall

� Filtro de pacotes

Vantagens Com regras simples e possıvel se proteger da maioria dasameacas de seguranca

Desvantagens Seguranca vs facilidade para usuarios

� Inspecao de estados

Vantagens Evita ataques mais elaborados; facilidade para usuariosDesvantagens Aplicacoes UDP nao sao atendidas

� Gateway de aplicacao

Vantagens Filtro granular baseado em conteudo; cache;autenticacao de usuarios

Desvantagens Nem todas aplicacoes funcionam com este;desempenho

A combinacao destes se mostra como uma boa solucao

13 / 56

Sumario

1 Conceitos sobre FirewallTipos de firewall

2 Projetos de firewallEstrategias de configuracaoPerımetros de segurancaTraducao de enderecos de rede – NAT

3 FerramentasiptablesLaboratorios com iptables

14 / 56

Estrategias de configuracao

Estrategia Descricao

Local Instalado em cada maquina individual

Roteador/Firewall Uma unica maquina para roteamento e fil-tragem de pacotes

Firewall com 2 interfaces Intermedia a conexao entre a LAN e o rote-ador

Firewall com subredes Maquinas da rede interna sao alocadas emdiferentes subredes

2 Firewalls com subredes Separacao de tarefas por 2 firewalls

15 / 56

Estrategia: Local

Rede local

Internet

16 / 56

Estrategia: Local

Rede local

Internet

Agente Malicioso

16 / 56

Estrategia: Local

Rede local

Internet

Agente Malicioso

16 / 56

Estrategia: Roteador/Firewall

Rede local

Internet

Agente Malicioso

17 / 56

Estrategia: Firewall com 2 interfaces

Rede local

Internet

Agente Malicioso

18 / 56

Estrategia: Firewall com subredes

Internet

TI

Suporte

19 / 56

Estrategia: 2 Firewalls com subredes

Internet

TI

Suporte

FW1

FW2

20 / 56

Estrategia: Estacao bastiao

� Uma estacao especial com poucas aplicacoes em execucao, projetadae configurada para resistir a ataques

� Servidores proxy (SOCKS, HTTP, RTP, etc.)

� Somente pacotes oriundos e destinados a esta maquina podem passarpelo firewall

Rede local

Internet

Estaçãobastião

Proxy

Agente Malicioso

21 / 56

Organizacao da rede

1 Somente com estacoes detrabalho

� Residencias e pequenasempresas

2 Estacoes e servidores internos

� Servidor de impressao,arquivos, etc.

3 Estacoes, servidores internose externos

� WWW, SMTP, DNS, POP,IMAP, etc.

Como oferecer servicos externos sem que isto resulte em ameacas para arede interna?

22 / 56

Organizacao da rede

1 Somente com estacoes detrabalho

� Residencias e pequenasempresas

2 Estacoes e servidores internos

� Servidor de impressao,arquivos, etc.

3 Estacoes, servidores internose externos

� WWW, SMTP, DNS, POP,IMAP, etc.

Como oferecer servicos externos sem que isto resulte em ameacas para arede interna?

22 / 56

Organizacao da rede

1 Somente com estacoes detrabalho

� Residencias e pequenasempresas

2 Estacoes e servidores internos

� Servidor de impressao,arquivos, etc.

3 Estacoes, servidores internose externos

� WWW, SMTP, DNS, POP,IMAP, etc.

wwwemail

Como oferecer servicos externos sem que isto resulte em ameacas para arede interna?

22 / 56

Organizacao da rede

1 Somente com estacoes detrabalho

� Residencias e pequenasempresas

2 Estacoes e servidores internos

� Servidor de impressao,arquivos, etc.

3 Estacoes, servidores internose externos

� WWW, SMTP, DNS, POP,IMAP, etc.

wwwemail

Como oferecer servicos externos sem que isto resulte em ameacas para arede interna?

22 / 56

DMZ – Zona desmilitarizada

� Segmento de rede tratado como zona neutra entre faixas em conflito(rede local e Internet)

� Local ideal para disponibilizar servicos que podem ser acessados tantopor maquinas da rede local como da rede externa (Internet)

� Exemplo: DNS, WWW, SMTP

� Parte-se do pressuposto que as maquinas ali presentes seguem a riscaa polıtica de seguranca e estao sempre com as ultimas atualizacoes deseguranca

� Roda um conjunto mınimo de servicos

Principal objetivo

Proteger a rede interna contra ataques oriundos dos servidores externos,caso estes sejam comprometidos

23 / 56

DMZ – Zona desmilitarizada

Internet

Rede local

DMZDNSWWW

email

24 / 56

Replicar servicos pela DMZ e rede local

Internet

Rede local

DMZDNSWWW

email

DNS

� Replicar servicos pela rede local e DMZ garante que se o servidor naDMZ for comprometido, isto nao ira afetar os usuarios da rede local

� Exemplo: Servidor de DNS apontando para maquinas maliciosas

25 / 56

Traducao de enderecos de rede

� Network Address Translation – NAT

� Permite reescrever enderecos de origem e destino, bem como portasde destino

� Solucao pratica para a exaustao dos enderecos IPv4� Permite que multiplas estacoes, com enderecos IP privados,

compartilhem um unico endereco IP publico� Blocos de IPs privados: 192.168.X.X, 172.16-31.X.X e 10.X.X.X

Funcionamento – Trafego sainte da rede local

1 O roteador troca o endereco de origem e armazena dados referente aesta conexao de saıda

2 Quando o roteador recebe a resposta, analisa a qual conexao pertencee encaminha para a maquina correspondente

26 / 56

Traducao de enderecos de rede

� Network Address Translation – NAT

� Permite reescrever enderecos de origem e destino, bem como portasde destino

� Solucao pratica para a exaustao dos enderecos IPv4� Permite que multiplas estacoes, com enderecos IP privados,

compartilhem um unico endereco IP publico� Blocos de IPs privados: 192.168.X.X, 172.16-31.X.X e 10.X.X.X

Funcionamento – Trafego sainte da rede local

1 O roteador troca o endereco de origem e armazena dados referente aesta conexao de saıda

2 Quando o roteador recebe a resposta, analisa a qual conexao pertencee encaminha para a maquina correspondente

26 / 56

Tipos de NAT

� Full cone� Todos os pedidos de um mesmo endereco IP:PORTA interno sao

mapeados para um mesmo endereco IP:PORTA externo� Maquinas externas podem iniciar conexao com a maquina interna

� Restricted cone� Todos os pedidos de um mesmo endereco IP:PORTA sao mapeados

para um mesmo endereco IP:PORTA� Uma maquina externa podera enviar pacotes para a maquina interna

somente se a maquina interna ja tiver enviado previamente algumpacote a essa maquina externa

27 / 56

Tipos de NAT

� Port restricted cone� Semelhante ao anterior, porem a restricao inclui tambem a porta de

origem da maquina externa

� Symmetric� O mais restritivo de todos, para cada conexao originada por uma

maquina interna a uma maquina externa e gerado um mapeamentoligando IPs e portas (origem e destino)

� E reservada uma porta para cada maquina externa

JSTUN

Ferramenta em Javaa que permite identificar o tipo de NAT que estasendo aplicado na rede

ahttp://jstun.javawi.de

28 / 56

Tipos de NAT

� Port restricted cone� Semelhante ao anterior, porem a restricao inclui tambem a porta de

origem da maquina externa

� Symmetric� O mais restritivo de todos, para cada conexao originada por uma

maquina interna a uma maquina externa e gerado um mapeamentoligando IPs e portas (origem e destino)

� E reservada uma porta para cada maquina externa

JSTUN

Ferramenta em Javaa que permite identificar o tipo de NAT que estasendo aplicado na rede

ahttp://jstun.javawi.de

28 / 56

NAT: Full cone

Máquinainterna

10.1.1.1Máquinaexterna A

2.2.2.410.1.1.2 2.2.2.3Máquinaexterna B

2.2.2.5

Pacote UDP

s=10.1.1.1:2100d=2.2.2.4:5060

s=2.2.2.3:4400d=2.2.2.4:5060

s=2.2.2.4:5060d=2.2.2.3:4400

s=2.2.2.4:5060d=10.1.1.1:2100

s=2.2.2.4:1234d=2.2.2.3:4400

s=2.2.2.4:1234d=10.1.1.1:2100

s=2.2.2.5:5060d=2.2.2.3:4400

s=2.2.2.5:5060d=10.1.1.1:2100

s=2.2.2.5:4321d=2.2.2.3:4400

Full cone

s=2.2.2.5:4321d=10.1.1.1:2100

10.1.1.1:2100d=2.2.2.3:4400 <- s=ANY

29 / 56

NAT: Restricted cone

Máquinainterna

10.1.1.1Máquinaexterna A

2.2.2.410.1.1.2 2.2.2.3Máquinaexterna B

2.2.2.5

Pacote UDP

s=10.1.1.1:2100d=2.2.2.4:5060

s=2.2.2.3:4400d=2.2.2.4:5060

Restrictedcone

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:ANY

s=2.2.2.4:5060d=2.2.2.3:4400

s=2.2.2.4:5060d=10.1.1.1:2100

s=2.2.2.4:1234d=2.2.2.3:4400

s=2.2.2.4:1234d=10.1.1.1:2100

s=2.2.2.5:5060d=2.2.2.3:4400

s=2.2.2.5:5060d=10.1.1.1:2100

s=2.2.2.5:4321d=2.2.2.3:4400

s=2.2.2.5:4321d=10.1.1.1:2100

s=2.2.2.5:5060d=2.2.2.3:4400

Inatingível

s=10.1.1.1:2100d=2.2.2.5:5060

s=2.2.2.3:4400d=2.2.2.5:5060

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:ANYd=2.2.2.3:4400 <- s=2.2.2.5:ANY

Pacote UDP

30 / 56

NAT: Port restricted cone

Máquinainterna

10.1.1.1Máquinaexterna A

2.2.2.410.1.1.2 2.2.2.3Máquinaexterna B

2.2.2.5

Pacote UDP

s=2.2.2.4:5060d=2.2.2.3:4400

s=2.2.2.4:5060d=10.1.1.1:2100

s=2.2.2.4:1234d=2.2.2.3:4400

s=2.2.2.5:5060d=2.2.2.3:4400

s=2.2.2.5:5060d=10.1.1.1:2100

s=2.2.2.5:4321d=2.2.2.3:4400

s=2.2.2.5:5060d=2.2.2.3:4400

Inatingível

s=10.1.1.1:2100d=2.2.2.5:5060

s=10.1.1.1:2100d=2.2.2.4:5060

s=2.2.2.3:4400d=2.2.2.4:5060

s=2.2.2.3:4400d=2.2.2.5:5060

Port Restricted

Inatingível

Inatingível

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:5060d=2.2.2.3:4400 <- s=2.2.2.5:5060

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:5060

Pacote UDP

31 / 56

NAT: Symmetric

Máquinainterna

10.1.1.1Máquinaexterna A

2.2.2.410.1.1.2 2.2.2.3Máquinaexterna B

2.2.2.5

Pacote UDP

s=2.2.2.4:5060d=2.2.2.3:4400

s=2.2.2.4:5060d=10.1.1.1:2100

s=2.2.2.4:1234d=2.2.2.3:4400

s=2.2.2.5:5060d=2.2.2.3:4400

s=2.2.2.5:5060d=2.2.2.3:5500

s=2.2.2.5:5060d=2.2.2.3:4400

Inatingível

s=10.1.1.1:2100d=2.2.2.5:5060

s=10.1.1.1:2100d=2.2.2.4:5060

s=2.2.2.3:4400d=2.2.2.4:5060

s=2.2.2.3:5500d=2.2.2.5:5060

Symmetric

Inatingível

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:5060d=2.2.2.3:5500 <- s=2.2.2.5:5060

10.1.1.1:2100d=2.2.2.3:4400 <- s=2.2.2.4:5060

Inatingível

s=2.2.2.5:5060d=10.1.1.1:2100

Pacote UDP

32 / 56

Dificuldades com o NAT

� Nao permite o funcionamento de alguns protocolos de rede

� Servicos que sao iniciados fora da rede local nao funcionam

� Exemplos de servicos que terao dificuldade: SIP e FTP

� Solucao:� FTP passivo� Proxy de aplicacoes� SOCKS� STUN� UPnP

33 / 56

Funcionamento FTP – modo ativo

34 / 56

Funcionamento FTP – modo ativo

34 / 56

Funcionamento FTP – modo ativo

34 / 56

Funcionamento FTP – modo passivo

35 / 56

Funcionamento FTP – modo passivo

35 / 56

Funcionamento FTP – modo passivo

35 / 56

Sumario

1 Conceitos sobre FirewallTipos de firewall

2 Projetos de firewallEstrategias de configuracaoPerımetros de segurancaTraducao de enderecos de rede – NAT

3 FerramentasiptablesLaboratorios com iptables

36 / 56

Ferramentas

Ferramenta Sistema Operacional Tipo

ipchains Linux 2.2 Filtro de pacotes (sem estado)

iptables Linux 2.4, 2.6 Filtro de pacotes (com estado)

ipfw FreeBSD Filtro de pacotes (com estado)

pf OpenBSD Filtro de pacotes (com estado)

Squid Linux, BSDs Gateway de aplicacao

37 / 56

Ferramenta: iptables

Iptables

Ferramenta administrativa para filtragem de pacotes e para traducao deenderecos de rede (IPv4)

� iptables (IPv4) e ip6tables (IPv6)

� Permite filtrar pacotes com base no endereco MAC ou ainda nasmarcacoes do cabecalho IP

� Protecao contra ataques que usam pacotes mal formados

� Permite limitar o trafego como forma de protecao contra ataque denegacao de servico (Deny of Service – DoS)

� Permite marcar pacotes para trabalhar com QoS

38 / 56

Funcionamento do iptables

� Todos os pacotes que chegam a maquina sao inspecionados e passampor um conjunto de tabelas

filter – Usada para filtragem dos pacotesnat – Usada na traducao de enderecos de rede

mangle – Usada para alteracao dos pacotes para QoS

� Cada tabela e composta por um conjunto cadeias (chains), asquais tratam os pacotes com uma maior granularidade

� Dentro das cadeias estao armazenadas regras para filtragem,traducao de enderecos ou para alteracao dos atributos dos pacotes

� Endereco de origem, destino, portas, etc.

39 / 56

Tabela filter

� INPUT – Filtra os pacotes que tem como destino o proprio firewall

� OUTPUT – Filtra os pacotes gerados pelo proprio firewall

� FORWARD – Filtra os pacotes que passam atraves do firewall

Rede localInternet

Rede localInternet

Rede localInternet

INPUT

OUTPUT

FORWARD

40 / 56

Tabela nat

� PREROUTING

� NAT ocorre antes do roteamento do pacote. Traducao do IP destinopara ser compatıvel com a tabela de roteamento do firewall

(conhecido por DNAT)

� POSTROUTING� NAT ocorre depois do roteamento do pacote. Traducao do IP origem

permitindo que muitas maquinas sejam mapeadas para um unico IP� SNAT – Quando se conhece o endereco de origem para o qual sera

traduzido� MASQUERADE – Deixa o firewall detectar automaticamente o endereco

de origem

� OUTPUT

� Traducao dos pacotes gerados pelo proprio firewall

41 / 56

Tabela mangle

� mangle – modificacao dos bits de QoS do cabecalho dos pacotes� PREROUTING, POSTROUTING, OUTPUT, INPUT, FORWARD

Criacao de cadeias personalizadas

E possıvel criar novas cadeias para qualquer uma das tabelas apresentadas.A criacao de mais cadeias pode ser interessante para tornar oprocessamento de pacotes mais eficiente

42 / 56

Fluxo dos pacotes pelas tabelas e cadeias

É parao firewall?

Sim

Não

OUTPUT INPUT

FORWARD

PREROUTING

POSTROUTING

REDE A

Processamentodo pacotePOSTROUTING

REDE B

Pacote chegando

Pacote saindo

Pacote saindo

Mangle - NAT Mangle - NAT - Filter

Mangle - NAT

Mangle - Filter Mangle - NAT

Mangle - Filter

43 / 56

Criacao de regras com o iptables

� Cada regra deve indicar a qual tabela e a qual cadeia pertence� Ex: tabela filter, cadeia INPUT

� A regra e composta ainda por outros parametros relacionados aocabecalho dos pacotes

� Ex: Destinados a porta 80 TCP

� Por fim, a regra deve indicar qual acao devera ser tomada para ospacotes que “casarem” com esta

� Ex: descarte os pacotes

1 iptables -t filter -A INPUT -p TCP --dport 80 -j DROP

Nota

As regras sao analisadas em ordem, assim sera executada a primeira regraque casar com o pacote

44 / 56

Criacao de regras com o iptables

� Cada regra deve indicar a qual tabela e a qual cadeia pertence� Ex: tabela filter, cadeia INPUT

� A regra e composta ainda por outros parametros relacionados aocabecalho dos pacotes

� Ex: Destinados a porta 80 TCP

� Por fim, a regra deve indicar qual acao devera ser tomada para ospacotes que “casarem” com esta

� Ex: descarte os pacotes

1 iptables -t filter -A INPUT -p TCP --dport 80 -j DROP

Nota

As regras sao analisadas em ordem, assim sera executada a primeira regraque casar com o pacote

44 / 56

Alvos para as regras

� O parametro -j indica para qual alvo determinado pacote devera serenviado, quando este casar com a regra

� Os alvos tambem podem ser outras cadeias

Alvo Descricao

ACCEPT O pacote tem seu percurso garantido

DROP O pacote e descartado

REJECT Semelhante ao DROP, porem avisa o emissor

REDIRECT Para redirecionar para outra porta

LOG Registra informacoes com o syslog

DNAT NAT de destino

SNAT NAT de origem

MASQUERADE NAT de origem

45 / 56

Outros parametros do iptables

Parametro Descricao

-A Adiciona regra no final da cadeia

-D Remove regra

-L Lista todas as regras da tabela

-P <polıtica> Indica a polıtica padrao da tabela

-F Limpa todas as regras da tabela

-t <tabela> Indica a tabela

-j <alvo> Indica o alvo

-p <proto> Indica o protocolo (TCP, UDP, ICMP)

−−sport <porta> Indica porta de origem

−−dport <porta> Indica porta de destino

-s <IP> Endereco de origem (rede ou maquina)

-d <IP> Endereco de destino (rede ou maquina)

-i <nome> Interface de entrada

-o <nome> Interface de saıda

46 / 56

Outros parametros do iptables

Parametro Descricao

-m multiport −−sports<port,port>

Para indicar diversas portas de origem(TCP/UDP). As portas podem ser separa-das por vırgula ou por dois pontos, caso de-seje uma faixa de portas

-m multiport −−dports<port,port>

Para indicar diversas portas de destino. Ex:−−dports 80,443

-m multiport −−ports<port,port>

Para indicar diversas portas de origem oudestino. Ex: −−ports 1024:65535

-m state −−state NEW - Inıcio de conexao<estado> ESTABLISHED - Parte de uma conexao

RELATED - Iniciando uma conexao secun-dariaINVALID - Pacote nao identificado

47 / 56

Algumas regras com iptables

1 # limpando todas as regras da tabela filter

2 iptables -t filter -F

3

4 # Politica padrao de entrada: NEGAR TUDO

5 iptables -t filter -P INPUT DROP

6

7 # Aceitar todo o trafego entrante para interface de loopback

8 iptables -t filter -A INPUT -i lo -j ACCEPT

9

10 # Permite que a maquina 192.168.2.101 se conecte via SSH pela eth0

11 iptables -A INPUT -i eth0 -s 192.168.2.101 -p tcp --dport 22 -j ACCEPT

12

13 # Registrando quando acontece uma conexao na porta 22

14 iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j LOG

15 --log-prefix "Acesso SSH: "

16

17 # Permite a entrada de pacotes de conexoes que foram iniciadas pela

maquina

18 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

19

20 # Listando as regras ativas na tabela filter

21 iptables -t filter -L -n

48 / 56

Criando cadeias e limitando o numero de pacotes

1 # Criando uma cadeia chamada 'pacotes_icmp'

2 iptables -t filter -N pacotes_icmp

3

4 # Todo pacote ICMP deve ir para a cadeia pacotes_icmp

5 iptables -A INPUT -i eth0 -p ICMP -j pacotes_icmp

6

7 # Limitando a entrada de 5 pings por minuto

8 iptables -A pacotes_icmp -p ICMP --icmp-type echo-request

9 -m limit --limit 5/min -j ACCEPT

10

11 # As respostas (pong) dos pings gerados pela maquina podem entrar

12 iptables -A pacotes_icmp -p ICMP --icmp-type echo-reply -j ACCEPT

13

14 # Defesa contra ataques de SYN flood

15 iptables -A INPUT -i eth0 -p TCP --syn -m limit --limit 5/s -j ACCEPT

49 / 56

Roteador com NAT para rede domestica

� Roteador com NAT para rede domestica

1 # ativando o roteamento

2 echo 1 > /proc/sys/net/ipv4/ip_forward

3

4 # Politica padrao do roteamento: DROP

5 iptables -t filter -P FORWARD DROP

6

7 # mascarando a saida de pacotes (eth1 ligada na rede externa)

8 iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24

9 -j MASQUERADE

10

11 # Permitindo rotear somente pacotes com destino a porta 80 na

Internet, bem como suas respostas

12 iptables -A FORWARD -i eth0 -o eth1 -p TCP --dport 80 -j ACCEPT

13 iptables -A FORWARD -i eth1 -o eth0 -m state

14 --state ESTABLISHED,RELATED -j ACCEPT

50 / 56

Servicos dentro da rede local com NAT e Proxytransparente

� Conexoes que chegarem pela rede externa com destino a porta 8080devem ser encaminhadas para a porta 80 da maquina 192.168.2.10

na rede local

1 # Trafego destinado a porta 80 pode ser roteado

2 iptables -t filter -A FORWARD -p TCP --dport 80 -j ACCEPT

3

4 # Trafego que sair pela eth1 (rede externa) pode ser roteado

5 iptables -t filter -A FORWARD -o eth1 -j ACCEPT

6

7 iptables -t nat -A PREROUTING -i eth1 -p TCP --dport 8080 -j DNAT

8 --to-destination 192.168.2.10:80

� Proxy transparente – Pacotes destinados a porta 80 devem serredirecionados para porta 3128

1 iptables -t nat -A PREROUTING -i eth0 -p TCP --dport 80 -j REDIRECT

--to-port 3128

51 / 56

Shell script para ativar/desativar firewall

1 #!/bin/bash

2 # Variaveis

3 DEV_LAN=eth0

4 DEV_WAN=eth1

5

6 fw_start(){

7 # Adicionando regras

8 iptables -A INPUT -i $DEV_LAN

-j ACCEPT

9 }

10 fw_stop(){

11 # Limpando as regras

12 iptables -P INPUT ACCEPT

13 iptables -t filter -F

14 }

15 fw_uso(){

16 # Mensagem de ajuda

17 echo "Sintaxe errada..."

18 echo "./$0 (start|stop)"

19 }

20 case $1 in

21 start)

22 fw_start

23 ;;

24 stop)

25 fw_stop

26 ;;

27 *)

28 fw_uso

29 ;;

30 esac

� Iniciando o firewall./firewall.sh start

� Parando o firewall./firewall.sh stop

� Obtendo informacoes de uso./firewall.sh

52 / 56

Laboratorio 1 – Protecao da maquina local

� Polıtica de padrao: negar tudo (entrada e saıda)

� Usuario podera navegar na web normalmente

� Aplicacoes rodando na maquina do usuario terao acesso irrestrito ainterface lo para comunicacao inter-processos

Desenvolva um shell script que permita ativar e desativar o firewall

53 / 56

Laboratorio 2 – Firewall/roteador para rede domestica

� Polıtica padrao: negar tudo (entrada e roteamento)

� Usuarios da rede local so poderao navegar na web, acessar e-mail(POP, IMAP e SMTP)

� Firewall podera ser administrado remotamente via SSH, naoimportando a origem da conexao

� Para evitar ataques de varredura de portas, o servidor SSH devera ouvirem uma porta diferente da 22

� Registrar todas conexoes oriundas da rede externa

Questao

Aplicacoes como MSN, Gtalk e Skype funcionarao normalmente? Se sim, epossıvel proibir? Se nao, e possıvel liberar?

54 / 56

Laboratorio 3 – Servico SMTP rodando em rede com NAT

� Polıtica padrao: negar tudo (entrada e roteamento)

� Permitir que pings a uma taxa maxima de 10 pacotes por minuto

� Trafego destinado a porta 25 deve ser encaminhado para a porta 25da maquina M1 da rede local

� Impedir que maquinas da rede local gerem SPAM atraves de conexoesdiretas a servidores SMTP externos

� Tanto o firewall quanto a maquina M1 poderao ser administradasremotamente via SSH

Monitorando o numero de pacotes que estao casando com as regras

watch iptables -t filter -L -v

55 / 56

Laboratorio 4 – Cadeia personalizada para maquina M1

� Refaca o Laboratorio 3 criando uma cadeia especıfica para a M1

� Todos pacotes oriundos e destinados a maquina M1 devem estar nacadeia ’maquina m1’

Salvando e restaurando regras

iptables-save > regras-salvas.txt

iptables-restore < regras-salvas.txt

56 / 56