Conceitos sobre Firewalltele.sj.ifsc.edu.br/~msobral/rmu/slides/aula-08.pdfTradu˘c~ao de...
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
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: 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
Replicar servicos pela DMZ e rede local
Internet
Rede local
DMZDNSWWW
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
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