Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
ISBN 978-85-63630-13-1
9 788563 630131
Segurança
de Redes
e Sistemas
Rio de Janeiro
Escola Superior de Redes
2013
Copyright © 2013 – Rede Nacional de Ensino e Pesquisa – RNP
Rua Lauro Müller, 116 sala 1103
22290-906 Rio de Janeiro, RJ
Diretor Geral
Nelson Simões
Edição
Pedro Sangirardi
Revisão Técnica
Francisco Marcelo Lima
Versão
2.1.0
Este material didático foi elaborado com fins educacionais. Solicitamos que qualquer erro encon-
trado ou dúvida com relação ao material ou seu uso seja enviado para a equipe de elaboração de
conteúdo da Escola Superior de Redes, no e-mail info@esr.rnp.br. A Rede Nacional de Ensino e
Pesquisa e os autores não assumem qualquer responsabilidade por eventuais danos ou perdas, a
pessoas ou bens, originados do uso deste material.
As marcas registradas mencionadas neste material pertencem aos respectivos titulares.
Distribuição
Escola Superior de Redes
Rua Lauro Müller, 116 – sala 1103
22290-906 Rio de Janeiro, RJ
http://esr.rnp.br
info@esr.rnp.br
Bibliografia: p. 251.
ISBN 978-85-63630-13-1
CDD 658.4012
Sumário
1. Fundamentos de segurança
Introdução 1
Normas ISO/ABNT 11
Políticas de segurança 13
Penetration Test 21
iii
Exercício de fixação 1 – Penetration Test 24
Nmap 24
Hping 27
Firewall 52
Tecnologias de firewall 52
Topologias de firewall 55
Implementação de firewalls 58
Netfilter (Iptables) 58
Implementação do Netfilter 59
Tradução de IP (NAT) 65
Firewall Builder 69
iv
Roteiro de Atividades 3 71
Gerenciamento de logs 81
Syslog-ng 82
Logs do Windows 85
Monitoramento de serviços 89
Vantagens do Cacti 93
v
Sistemas de Detecção de Intrusos em hosts (HIDS) 106
Snort 107
Instalação do Snort 109
Configuração do Snort 112
Regras do Snort 113
Oinkmaster 114
Snort-inline 115
HIDS 116
Sistema AAA 121
Criptografia 123
Criptografia simétrica 124
Criptografia assimétrica 125
Algoritmos Hash 126
Certificados digitais 128
Gerenciamento de senhas 129
vi
Valor do SALT 131
Administrando as senhas 133
OTP 134
S/Key 134
Smart Card 135
Serviço de diretório 136
Tipos de informação 137
Benefícios do Kerberos 140
Organização do Kerberos 141
Certificação digital 142
Atividade 3 – Uso do Cain & Abel para avaliar a segurança do sistema de autenticação 147
VPN 151
VPN PPTP 153
L2TP 153
IPSec 154
vii
Exercício de fixação 2 – IPSec 156
Protocolos IPSec 157
VPN SSL 159
Instalação do Openswan 160
Configuração do Openswan 162
Instalação do OpenVPN 165
Configuração do OpenVPN 166
Análise de vulnerabilidades 182
Instalação do Nessus 183
Arquitetura do firewall 187
Testando o firewall 187
Alertas e registros 192
viii
Atividade 4 – Exemplo de auditoria 196
Check-list 200
WMIC 208
SYSInternals 208
WSUS 210
MBSA 210
Heranças de GPO 218
Diretiva de senhas 219
Diretiva de auditoria 220
Opções de segurança 222
ix
Atividade 2 – Auditoria 226
Instalação do Linux 230
Pacotes e programas 234
Acessos administrativos 237
Pacotes compilados 240
Atividade 2 – Auditoria 250
Bibliografia 251
x
Escola Superior de Redes
A Escola Superior de Redes (ESR) é a unidade da Rede Nacional de Ensino e Pesquisa
(RNP) responsável pela disseminação do conhecimento em Tecnologias da Informação
e Comunicação (TIC).
A ESR oferece dezenas de cursos distribuídos nas áreas temáticas: Administração e Pro-
jeto de Redes, Administração de Sistemas, Segurança, Mídias de Suporte à Colaboração
Digital e Governança de TI.
A metodologia da ESR
A filosofia pedagógica e a metodologia que orientam os cursos da ESR são baseadas na
aprendizagem como construção do conhecimento por meio da resolução de problemas típi-
cos da realidade do profissional em formação. Os resultados obtidos nos cursos de natureza
teórico-prática são otimizados, pois o instrutor, auxiliado pelo material didático, atua não
apenas como expositor de conceitos e informações, mas principalmente como orientador do
aluno na execução de atividades contextualizadas nas situações do cotidiano profissional.
Dessa forma, o instrutor tem participação ativa e dialógica como orientador do aluno para as
atividades em laboratório. Até mesmo a apresentação da teoria no início da sessão de apren-
dizagem não é considerada uma simples exposição de conceitos e informações. O instrutor
busca incentivar a participação dos alunos continuamente.
xi
As sessões de aprendizagem onde se dão a apresentação dos conteúdos e a realização das
atividades práticas têm formato presencial e essencialmente prático, utilizando técnicas
de estudo dirigido individual, trabalho em equipe e práticas orientadas para o contexto de
atuação do futuro especialista que se pretende formar.
Sobre o curso
O aluno aprenderá sobre perímetros de segurança, através da implementação de uma
solução completa de proteção de redes, utilizando técnicas como firewall, IDS, IPS e VPN.
O amplo escopo de conceitos abordados permitirá a aplicação das técnicas seguras de
autenticação e autorização, auditorias de segurança e requisitos de configuração de servi-
dores Linux e Windows. Após o curso, o aluno será capaz de montar um perímetro seguro,
aumentar a segurança dos servidores da rede, realizar auditorias de segurança e implantar
sistemas de autenticação seguros.
A quem se destina
Profissionais de TI que desejam adquirir ou atualizar os seus conhecimentos sobre segurança
de redes e sistemas a fim de garantir melhor aplicabilidade das práticas de segurança da
informação em suas organizações.
Itálico
Indica nomes de arquivos e referências bibliográficas relacionadas ao longo do texto.
xii
Largura constante
Conteúdo de slide
Indica o conteúdo dos slides referentes ao curso apresentados em sala de aula.
Símbolo
Indica referência complementar disponível em site ou página na internet.
Símbolo
Indica um documento como referência complementar.
Símbolo
Indica um vídeo como referência complementar.
Símbolo
Indica um arquivo de aúdio como referência complementar.
Símbolo
Indica um aviso ou precaução a ser considerada.
Símbolo
Indica questionamentos que estimulam a reflexão ou apresenta conteúdo de apoio ao
entendimento do tema em questão.
Símbolo
Indica notas e informações complementares como dicas, sugestões de leitura adicional ou
mesmo uma observação.
Permissões de uso
Todos os direitos reservados à RNP.
Agradecemos sempre citar esta fonte quando incluir parte deste livro em outra obra.
Exemplo de citação: PEIXINHO, Ivo. Segurança de Redes e Sistemas. Rio de Janeiro: Escola
Superior de Redes, 2013.
Comentários e perguntas
Para enviar comentários e perguntas sobre esta publicação:
Escola Superior de Redes RNP
Endereço: Av. Lauro Müller 116 sala 1103 – Botafogo
Rio de Janeiro – RJ – 22290-906
E-mail: info@esr.rnp.br
xiii
Sobre os autores
Ivo de Carvalho Peixinho é Bacharel em Ciência da Computação pela UFBA e Especialista
em Gestão de Segurança da Informação pela UnB. Possui mais de 15 anos de experiência
na área de Segurança da Informação. Foi Diretor Técnico na XSite Consultoria e Tecnologia,
Analista de Suporte na Universidade Federal da Bahia. Em 2004 atuou como Analista de
Segurança Sênior no CAIS/RNP por dois anos e atualmente é Perito Criminal Federal do
Departamento de Polícia Federal desde 2007, lotado atualmente no Serviço de Repressão a
Crimes Cibernéticos - SRCC/CGPFAZ/DICOR/DPF. É professor de pós-graduação nas discipli-
nas de Análise Forense em Sistemas UNIX e Análise de Malware e é palestrante em diversos
eventos nacionais e internacionais como GTS, Seginfo, CNASI, ICCyber e FIRST.
xiv
1
Fundamentos de segurança
objetivos
conceitos
Confidencialidade, integridade, disponibilidade, autenticidade, legalidade, não repúdio
e privacidade, entre outros.
Introdução
A Segurança da Informação (SI) é uma área em constante evolução, que se desenvolveu muito
nos últimos anos, com a criação de normas e certificações internacionais e aumento expres-
sivo no número de profissionais dedicados. O profissional que pretende atuar nessa área deve
estar ciente de que ela é bastante dinâmica e envolve diversos setores da computação, como
programação e desenvolvimento de sistemas, redes de computadores, sistemas operacionais
e bancos de dados, entre outras. Quanto mais conhecimento o profissional de SI possuir, mais
capacidade terá de desempenhar seu papel. Apesar de todos esses avanços, a SI ainda é uma
área nova, e a cada dia novas subáreas e conceitos são descobertos e incorporados.
Para este curso, considera-se que o aluno completou o curso de Introdução à Segurança de Redes
e já possui uma noção sobre segurança de redes, incluindo a família de protocolos TCP/IP, além
de noções de administração de servidores Linux e Windows. Este curso terá enfoque mais
prático, com foco na área de redes e sistemas operacionais. Ao final do curso, o aluno deve ser
capaz de compreender e utilizar os conceitos e ferramentas de segurança de redes, de modo
a projetar e configurar uma rede com um nível de segurança aceitável, além de ser capaz de
aumentar o nível de segurança dos sistemas operacionais mais utilizados no mercado, através
de configurações mais seguras dos sistemas e serviços destes sistemas operacionais.
Capítulo 1 - Fundamentos de segurança
Por fim, é importante que o aluno tenha consciência de que este é um curso prático e
progressivo, com atividades práticas fundamentais e interdependentes, de modo que uma
atividade de um capítulo é pré-requisito para as atividades dos capítulos seguintes. O aluno
deve investir nas atividades práticas para finalizá-las completamente, caso contrário poderá
não obter o aproveitamento desejado.
1
Exercício de nivelamento 1 e
Fundamentos de Segurança
O que você entende por segurança da informação?
11 Servidor de aplicação.
11 Servidor HTTP.
11 Aplicação web.
Aqui estamos tratando de um exemplo didático, pois uma aplicação comercial em produção
poderá ter outros componentes, como redundância, sistemas de gerenciamento, sistemas
de avaliação de desempenho das aplicações e ambientes de virtualização, entre outros.
2
11 Segurança do sistema operacional, do servidor de aplicação e do servidor web, através
da configuração segura, retirada de serviços desnecessários, aplicação das últimas corre-
ções de segurança do fabricante, filtragem de portas desnecessárias, entre outros.
11 Segurança de aplicações.
Atualmente, com o aumento da complexidade dos sistemas de informação, está cada vez
mais difícil um único profissional abranger todo esse conhecimento, de forma que começam
a surgir profissionais especializados em determinadas áreas da segurança. Áreas como
segurança de redes wireless, testes de invasão (pentest), análise forense computacional, tra-
tamento de incidentes de segurança e desenvolvimento de aplicações seguras são apenas
alguns exemplos de especializações encontradas no mercado nos dias de hoje.
q
como qualquer evento
adverso, confirmado ou Fundamentos de segurança:
sob suspeita, relacio-
nado à segurança de 11 Confidencialidade.
sistemas de compu- 11 Integridade.
tação ou de redes de
computadores. 11 Disponibilidade.
autorizado para dispor daquele acesso, e nenhum outro. Por exemplo, as notas de um aluno
devem ser acessadas somente pelo aluno, pelos professores das disciplinas cursadas por ele
e pela equipe de registro acadêmico.
O termo Integridade possui duas definições: a primeira relacionada com o fato da infor-
mação ter valor correto; por exemplo, no resultado da correção de uma prova, a nota obtida
foi avaliada por um professor com conhecimento da disciplina, e portanto apto para julgar
o conteúdo. A segunda definição está ligada à inviolabilidade da informação, ou seja, a nota
não pode ser alterada sem justificativa e por meio controlado. A nota não pode “sumir” ou
ser simplesmente alterada.
3
O termo Disponibilidade está relacionado ao acesso à informação, que pode ser contro-
lada ou não, e disponível quando necessária. Um ataque de negação de serviço pode, por
exemplo, evitar o acesso à informação, afetando a disponibilidade.
Observe, ainda, que existem três dimensões completamente distintas: duas delas, a
confidencialidade e a integridade, são valores boolianos: ou a informação se manteve
confidencial ou não; ou a informação se manteve íntegra ou não. A terceira é um número
real entre 0 e 1, podendo ser calculada pela própria definição. Duas podem ser monito-
radas e medidas: a integridade e a disponibilidade. Não temos como saber se um dado
perdeu confidencialidade.
Conceitos auxiliares: q
11 Autenticidade.
11 Legalidade.
11 Não repúdio.
11 Privacidade.
A literatura moderna inclui ainda mais alguns conceitos, que muitas vezes são considerados
auxiliares aos três já listados. São eles:
11 Não repúdio: conceito muito utilizado quando tratamos de certificação digital, onde o
emissor de uma mensagem não pode negar que a enviou. As tecnologias de certificação
digital e assinatura digital são exemplos que propiciam essa condição.
que o aluno pode realizar é buscar o seu próprio nome no site de buscas do Google.
É comum nos referirmos a esse conjunto de conceitos básicos como CID ou CIDAL,
que corresponde às iniciais de alguns dos conceitos apresentados. A sigla DICA ainda
é usada em referência aos quatro primeiros conceitos.
Além dos conceitos apresentados acima, o livro Building Internet Firewalls, de Elizabeth D.
Zwicky, Simon Cooper e D. Brent Chapman (editora O’Reilly), define ainda outros conceitos,
denominados de estratégias de segurança.
4
11 Least Privilege (Menor Privilégio). q
11 Defense in Depth (Defesa em Profundidade).
11 Default Deny & default Permit Stance (Atitude de Bloqueio Padrão e Permissão Padrão).
11 Simplicity (Simplicidade).
Esses conceitos são muito importantes, e o profissional de segurança deve sempre tê-los em
mente no seu dia a dia:
11 Least Privilege (Menor Privilégio): cada objeto deve ter apenas os privilégios mínimos
para executar suas tarefas, e nenhum outro. Apesar de muito importante, é difícil aplicar
esse conceito, pois muitas vezes ele envolve uma série de ajustes e um mínimo erro
pode fazer com que o recurso pare de funcionar. Como exemplo, podemos citar um
servidor web. Executar o processo do servidor como o usuário administrador provavel-
mente fornecerá uma série de privilégios desnecessários a ele. Nesse caso, convém criar
um usuário específico (ex: httpd) e definir as permissões mínimas para que o serviço
funcione. Por exemplo: permissão de leitura na pasta onde ficam as páginas HTML e per-
missão de leitura e gravação na pasta onde ficam os registros de acesso.
11 Choke Point (Ponto Único): canal estreito por onde os atacantes são forçados a passar,
que pode ser monitorado e controlado. Exemplos: praça de pedágio em uma estrada,
caixa de supermercado. Esse é o princípio utilizado pelos firewalls.
11 Default Deny e Default Permit Stance (Atitude de Bloqueio Padrão e Permissão Padrão):
atitude geral em relação à segurança. Na primeira (mais segura), tudo é proibido e o que é
Capítulo 1 - Fundamentos de segurança
permitido deve ser expressamente definido. Na segunda, tudo é permitido e o que é proibido
deve ser definido. Em sistemas seguros, deve-se buscar sempre a primeira atitude (Default
Deny), apesar de nem sempre ser possível. Para o caso do acesso à internet por um nave-
gador, seria viável bloquear toda a internet e liberar apenas o que é permitido?
5
11 Inherent Weaknesses (Fraquezas Inerentes): sistemas de um mesmo tipo podem
sofrer da mesma fraqueza inerente a esse tipo de sistema. Exemplos: falha de conceito
ou falha de um protocolo com implementação comum.
11 Weakest Link (Elo Mais Fraco): corresponde ao ponto mais fraco das suas defesas. As
suas defesas são tão fortes quanto o ponto mais fraco. Este deve ser eliminado quando
possível, ou ser forte o suficiente para desencorajar ataques. Muitos atacantes vão pro-
curar o ponto mais fraco da sua rede, tentando atacar a rede a partir dele. Pontos fracos
da rede devem ser constantemente monitorados quando não puderem ser eliminados.
11 Fail Safe (Falha Segura): os sistemas, em caso de falha, devem sempre fazê-lo de modo
a inibir qualquer tipo de acesso. O prejuízo da falta de acesso é preferível ao acesso libe-
rado de forma irrestrita em caso de falha.
Exercício de fixação 1 e
Conceitos
Explique com suas palavras o que é Defesa em Profundidade e como ela pode ser aplicada
em sua organização.
6
Todo incidente ocorrido na organização deve ser tratado de acordo com uma metodologia
definida previamente. Assim, para atender ao processo de resposta a incidentes de segu-
rança a organização deve elaborar uma metodologia visando gerenciar consequências de uma
quebra de segurança. Seu principal objetivo é minimizar o impacto causado por um incidente
e possibilitar o restabelecimento dos serviços no mais curto espaço de tempo possível.
Com o crescimento da internet, em meados de 1996, esses ataques provocam prejuízos que
vão desde a perda de milhares de dólares até o que ocorreu há alguns anos na Europa, onde de
acordo com a agência de notícias Reuters, a internet em um país parou de funcionar após ataques.
Conforme informado pela IFCC (Internet Fraud Complaint Center ), uma parceria entre o FBI
e o Centro Nacional de Crimes do Colarinho Branco dos Estados Unidos, entre maio de 2000
e maio de 2001, em seu primeiro ano de funcionamento, foram registrados 30.503 casos de
fraudes na internet, registros colhidos apenas no site da IFCC.
Um CSIRT pode agir de várias maneiras dentro da empresa, de acordo com a importância de
seus serviços. Um grupo pode estar ligado diretamente à alta administração da empresa,
de maneira que possa intervir e alterar os processos da instituição, mas também pode agir
apenas como orientador de processos, não estando diretamente envolvido com a tomada
de decisões de segurança (CSIRT Handbook 2003).
serviços providos por um CSIRT. Cada time escolhe seus serviços com base nas necessi-
dades da sua organização e da comunidade a quem ele atende.
11 Estágio 3 – Triagem.
7
A segurança de uma organização sempre estará sujeita a incidentes, como todas as outras
áreas. Os fatores são os mais diversos, desde ameaças não intencionais causadas por usuá-
rios comuns até ameaças técnicas organizadas. Para uma organização é de vital importância
que os incidentes sejam tratados corretamente, e para isso se faz necessário entender como
funciona o ciclo de vida de um incidente.
Estágio 3 – Triagem
O método de recepção de todo e qualquer indício de incidente é de suma importância, pois
é com uma correta triagem da informação que se inicia todo o processo de catalogação e
resposta ao incidente. Os grupos de resposta a incidentes comumente informam apenas um
meio de contato ou “hotline”, seja para um grupo de resposta de âmbito nacional, privado
ou mesmo dentro da organização. Essa triagem é importante para a aplicação correta do
controle de segurança da informação impactado pelo incidente. Normalmente, esse con-
trole também é atribuído a um gerente de incidente, profissional especializado no problema
que estará à frente do incidente até a sua resolução.
11 Auditoria de segurança.
8
Resposta: q
11 Tratamento de incidentes.
11 Tratamento de vulnerabilidades.
11 Consultoria em segurança.
11 Análise de riscos.
O maior desafio para os profissionais de segurança dos dias atuais é a gestão de uma
complexa infraestrutura de comunicação de dados da internet, seu gerenciamento e
manutenção. Na maioria das organizações, as equipes de profissionais em rede não contam
com pessoal em quantidade suficiente para atender à demanda crescente de otimização de
sistemas, atualização incessante de programas para minimizar riscos e defender-se contra
ataques dos mais variados tipos. Esse cenário se torna pior à medida que surgem novas
ferramentas de ataques, malwares, toolkits e a crescente organização de grupos que visam
à paralisação e o roubo de dados na rede mundial de computadores.Nesse contexto, e para
atender à necessidade de resposta a incidentes, surgem os grupos de resposta a incidentes,
cujo objetivo é responder de maneira rápida e efetiva a essas ameaças. Esse grupo tem
como objetivo desenvolver meios para identificar, analisar e responder a incidentes que
venham a ocorrer, minimizando prejuízos e reduzindo seus custos de recuperação.
Prevenção
Caracterizam-se como serviços proativos os serviços onde o grupo procura se antecipar aos
problemas de maneira a preveni-los, gerando uma base de conhecimento para futura pes-
quisa. Dentre as principais atividades de prevenção destacam-se a auditoria de segurança e
o treinamento e orientação a usuários.
Auditoria de segurança
A auditoria de segurança dentro de uma empresa visa submeter seus ativos a uma análise
de segurança com base nos requisitos definidos pela organização ou por normas internacio-
nais. Também pode implicar na revisão das práticas organizacionais da empresa bem como
testes em toda a sua infraestrutura. Nos dois últimos módulos deste treinamento, será
abordado o processo de hardening para servidores Linux e Windows. Uma vez aprovado um
processo de hardening, este pode ser utilizado para auditar a segurança de um ambiente, já
que nesse documento encontra-se a configuração mínima recomendada para um ativo.
Uma das funções de um CSIRT também é a promoção de palestras e workshops sobre segu-
rança dentro de uma organização. Essas palestras têm o intuito de informar aos usuários as
políticas de seguranças vigentes e como se proteger de vários ataques, principalmente de
engenharia reversa.
9
Monitoração de novas tecnologias
Resposta
Os serviços reativos englobam atividades que são realizadas após algum evento ou requi-
sição dentro da organização. Baseiam-se em análises de logs e produção de relatórios em
função de alguma detecção de atividade maliciosa. Dentre as principais atividades de res-
posta a incidentes, podemos destacar as seguintes.
Tratamento de incidentes
Segundo Chuvakin e Peikari, autores do livro Security Warrior, uma reposta a incidente é um
processo de identificação, contenção, erradicação e recuperação de um incidente de compu-
tador, realizado pelo time de segurança responsável.
Tratamento de vulnerabilidades
Consultoria em segurança
Um CSIRT pode ser utilizado para fornecer aconselhamento sobre as melhores práticas de
segurança, principalmente dentro de um ambiente militar. Esse serviço pode ser utilizado na
preparação de recomendações ou identificando requisitos para a aquisição, instalação ou
Segurança de Redes e Sistemas
10
Análise de riscos
Um Grupo de Resposta a Incidentes pode ser capaz de acrescentar valor à análise de risco
e avaliações. Isso pode melhorar a capacidade da organização para avaliar ameaças reais,
fornecer avaliações qualitativas e quantitativas dos riscos para os ativos da organização e
avaliar estratégias para melhor defesa.
Exercício de fixação 2 e
Processo de tratamento de incidentes
Explique os estágios do ciclo de vida de um incidente.
Exercício de fixação 3 e
Grupo de resposta a incidentes
O que é prevenção e como ela é feita na sua organização?
Normas ISO/ABNT
Histórico: BSI e ISO q
11 ABNT NBR ISO/IEC 27001:2006 (SGSI) – passível de certificação.
Capítulo 1 - Fundamentos de segurança
11
de regras para a segurança de computadores. Mais tarde, o DoD (Departamento de Defesa
dos Estados Unidos) publicou o Orange Book, conhecido também como Trusted Computer
Evalution Criteria. Publicado inicialmente em 1978, em forma de um rascunho, foi finalizado
em 1985. O Orange Book, mesmo sendo um documento já ultrapassado, marcou o início da
busca por um conjunto de regras para a avaliação de um ambiente computacional seguro.
O objetivo dessa norma era criar um conjunto de regras para assegurar a continuidade do
negócio e minimizar prejuízos empresariais, reduzindo o impacto causado por incidentes de
segurança. As normas da ISO baseadas em segurança da informação foram atualizadas e
agrupadas na família de numeração 27000.
A ABNT (Associação Brasileira de Normas Técnicas ) publicou uma série de normas baseadas
na ISO, traduzidas para o português.
12
11 ABNT NBR ISO/IEC 27005:2008 – Tecnologia da Informação – Técnicas de segurança – Gestão
de riscos de segurança da informação. Essa norma fornece diretrizes para o processo de
gestão de riscos e segurança da informação. Norma criada para apoiar o entendimento das
especificações e conceitos estabelecidos pela norma ABNT NBR ISO/IEC 27001:2006.
Para aqueles que desejarem mais informação sobre esse assunto, logo abaixo são listadas
as principais normas sobre segurança da informação:
11 ISO/IEC 27006: Requirements for bodies providing audit and certification of information
security management systems.
11 ISO/IEC 15408-1: Evaluation criteria for IT security – Part 1: Introduction and general model.
11 ISO/IEC 15443-1: A framework for IT Security assurance – Part 1: Overview and framework.
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 27034-1: Guidelines for Application Security – Part 1: Overview and Concepts.
Capítulo 1 - Fundamentos de segurança
Políticas de segurança
A Política de Segurança da Informação e Comunicações (POSIC) é o documento mais impor-
tante de uma organização quando se trata de Segurança da Informação. Nela estão todas as
diretrizes, recomendações e deveres de todos. O profissional de segurança deve conhecer
bem a política de segurança da sua instituição e deve balizar todo o trabalho em cima dela.
13
Outras políticas associadas à POSIC tratam de assuntos mais específicos, como por exemplo: q
11 Política de Uso Aceitável (PUA).
Normas DSIC/GSIPR: q
11 Norma Complementar nº 01/IN01/DSIC/GSIPR: Atividade de Normatização.
Em especial foi publicada a Instrução Normativa IN01-GSI/PR, que define orientações para
a Gestão de Segurança da Informação e Comunicações na Administração Pública Federal, e
algumas Normas Complementares:
14
11 Norma Complementar nº 03/IN01/DSIC/GSIPR: estabelece diretrizes, critérios e proce-
dimentos para a elaboração, institucionalização, divulgação e atualização da Política de
Segurança da Informação e Comunicações (POSIC) nos órgãos e entidades da Adminis-
tração Pública Federal.
w Mesmo para empresas privadas ou outras entidades, as normas podem servir como um bom
embasamento para a criação da política de segurança, do grupo de resposta a incidentes de
As normas do DSIC/
GSIPR são públicas e segurança ou do processo de gestão de riscos. Para a comodidade do aluno, o item 6 consta a
podem ser obtidas no NC 03, que trata de diretrizes para a elaboração de uma política de segurança (POSIC).
site do DSIC:
http://dsic.planalto.gov.br/ É possível encontrar na web diversas políticas de segurança completas publicadas por
órgãos públicos brasileiros. Um exemplo seria a Portaria/Incra/P/N° 70, de 29/03/2006 (DOU
nº 62, de 30 de março de 2006).
Exercício de fixação 4 e
Políticas de segurança
O que é política de segurança? Ela existe na sua organização?
Capítulo 1 - Fundamentos de segurança
15
Planejando uma rede segura
11 Visão geral. q
11 Execução em etapas.
11 Documento de planejamento:
22 Prazos.
22 Validação e aprovação.
11 Execução.
No planejamento, deve ser definida uma série de questões, como por exemplo:
11 Acesso remoto.
11 Tecnologias de segurança.
11 Salvaguarda de informações.
O ISECOM (Institute for Security and Open Methodologies), Instituto para Segurança e
Metodologias Abertas, é uma comunidade colaborativa sem fins lucrativos que desde 2001
dedica-se a fornecer práticas de conscientização, pesquisa e certificação open source na
área de segurança de redes. É responsável pela publicação do OSSTMM (Open Source
Security Testing Methodology Manual), Manual de Código Aberto Sobre Metodologias de
Testes de Segurança. Nesse manual são abordados todos os aspectos a serem levados em
consideração para a execução de um teste de segurança em um sistema computacional.
São abordados temas importantes, como métricas de segurança, metodologias para
melhorar a segurança física de redes, conexões sem fio e comunicações eletrônicas.
Nos capítulos seguintes, serão vistas as tecnologias e técnicas de segurança existentes, para
que o profissional as conheça e seja capaz de realizar e implementar o planejamento de uma
solução de segurança para redes de computadores.
Segurança de Redes e Sistemas
Todas as ferramentas de segurança apresentadas são baseadas em software livre, Software livre
porém os conceitos são genéricos e se aplicam a outras ferramentas, comerciais ou não, Qualquer programa de
computador que pode
existentes no mercado.
ser usado, copiado,
estudado e redistri-
buído sem restrições.
16
Roteiro de Atividades 1
Atividade 1 – Exercitando os fundamentos de segurança
Como vimos, o conceito de segurança mais básico apresentado consiste no CID (Confiden-
cialidade, Integridade e Disponibilidade). Apresente três exemplos de quebra de segurança
em cada um desses componentes, como por exemplo:
Associe cada um dos eventos abaixo a uma estratégia de segurança definida na parte teórica.
11 Utilizar um servidor Web Linux e outro Windows 2000 Server para servir um mesmo con-
teúdo, utilizando alguma técnica para redirecionar o tráfego para os dois servidores.
11 Utilizar uma interface gráfica simplificada para configurar uma solução de segurança.
11 Configurar todos os acessos externos de modo que passem por um ponto único.
11 Um sistema de segurança em que caso falte energia elétrica, todos os acessos que
passam por ele são bloqueados.
11 Configurar um sistema para só ser acessível através de redes confiáveis, para solicitar uma
senha de acesso e em seguida verificar se o sistema de origem possui antivírus instalado.
11 Configurar as permissões de um servidor www para apenas ler arquivos da pasta onde
estão as páginas HTML, sem nenhuma permissão de execução ou gravação em qualquer
arquivo do sistema.
17
Incra para implementar essa política no ambiente de produção. Realize uma crítica construtiva
de forma a identificar tópicos importantes que não foram abordados nesse documento.
Passo 1 Na estação de trabalho física, clique em Iniciar > Painel de Controle > Cone-
Segurança de Redes e Sistemas
xões de Rede > VirtualBox Host-Only Network > Propriedades > Protocolo
TCP/IP e altere o endereço IP dessa interface de rede para 10.1.G.10, máscara
de rede 255.255.255.0
18
Ao final dessa atividade, teremos a seguinte topologia, que será utilizada durante todo o curso:
Internet
Topologia A
FWGW1
.1
DHCP
DMZ
172.16.1.0/24 .1
Rede local
10.1.1.0/24
.20 .10
.10
Host Windows XP
19
20
Segurança de Redes e Sistemas
2
Explorando vulnerabilidades
em redes
objetivos
conceitos
Packet Sniffing, ARP Spoofing, IP Spoofing e fragmentação de pacotes IP.
Introdução
Com a popularização da internet, as redes de computadores passaram a usar o protocolo
TCP/IP em quase sua totalidade. Esse protocolo, apesar de ser um padrão “de fato”, é um
protocolo antigo, desenvolvido na década de 60. Nessa época, havia pouca preocupação
com segurança, visto que as redes eram restritas e controladas. Hoje em dia, existem
diversas vulnerabilidades conhecidas nesses protocolos de rede. Abaixo, discutiremos
algumas dessas vulnerabilidades. Porém, para compreendê-las, será necessário um conhe-
cimento sobre a família de protocolos TCP/IP. Caso tenha dúvidas ou necessite revisar seu
conhecimento, recomenda-se consultar o material do curso Introdução à Segurança de Redes,
oferecido pela Escola Superior de Redes.
Penetration Test
Um teste de penetração consiste em apurar o quanto difícil é invadir uma rede de com-
putadores. Objetivamente falando, um teste de invasão ou Penetration Test é uma busca
21
e identificação de vulnerabilidades em uma rede ou sistema computacional. A forma de
elaboração de um teste pode variar, desde determinar um breve panorama de segurança
da infraestrutura de uma empresa, até o que pode-se chamar de inspeção profunda, com o
objetivo de obter informações específicas sobre um ativo de uma organização.
Testes de penetração
Existem três tipos de abordagens para teste de penetração: q
Teste de penetração zero
Mais conhecido com BlackBox, onde o grupo de teste não tem nenhuma informação real
sobre o alvo e deve começar com a coleta de informações. Esse tipo de teste foi proje-
tado para oferecer o teste de penetração mais realístico possível.
Mais conhecido como Grey Box, onde a organização alvo fornece à equipe de testes
informações sobre o que provavelmente um atacante motivado pode encontrar. Um
teste de penetração parcial também pode ser escolhido se o objetivo for testar um novo
tipo de ataque ou mesmo ou se a equipe quer focar em um host específico da empresa.
Para esse tipo de testes é necessário que sejam fornecidos documentos sobre topologia
de rede, política de segurança, inventário de ativos e outras informações valiosas.
Teste de conhecimento
Também conhecido como White Box, em que a equipe detém muita informação sobre
a infraestrutura e sobre os sistemas alvo. Nesse caso, o teste visa simular um atacante
que possui um conhecimento íntimo da organização alvo.
Técnicas de ataque
Uma descrição compreensiva de técnicas de ataque é fundamental para evitar danos ou
minimizar a perda de informações nos sistemas da organização. Normalmente utilizamos uma
metodologia de penetração baseadas em fases que vão evoluindo ao longo do processo.
Fase de descoberta q
Coleta de informações na organização-alvo através de servidores de sites e de correio, regis-
Segurança de Redes e Sistemas
tros públicos e bancos de dados (endereços e nomes de registros, DNS, Whois, logs etc.).
Fase de enumeração
Fase onde a equipe de testes tenta exaustivamente obter informações, como nomes de
usuários, informações sobre compartilhamentos de rede, informações sobre aplicativos,
plataformas, infraestrutura onde estão hospedados e versões dos serviços em execução.
22
Fase de exploração q
Fase em que a equipe de testes tentará obter acesso privilegiado a um alvo utilizando fer-
ramentas conhecidas como exploits para a descoberta de vulnerabilidades identificadas.
Packet Sniffing
Sniffing O termo Packet Sniffing tem sido ao longo do tempo substituído por “Analisador de proto-
“Farejar”, em inglês, colo” (protocol analyzer) em razão de o termo sniffer ter conotação de atividade maliciosa.
consiste em capturar
pacotes em trânsito No entanto, a ação realizada é a mesma, ou seja, ler todos os pacotes de dados que estão
numa interface de rede.
trafegando em uma rede específica. Hoje, com as redes sem fio, a situação é semelhante,
com ferramentas que capturam os dados no ar. Lembre-se de que a capacidade de ler os
pacotes vai sempre ser limitada pelo uso de criptografia ou através de soluções físicas, como
o uso de um switch, que impede que uma placa de rede veja todo o tráfego de uma rede.
Na figura seguinte, vemos a interface de um programa de captura de pacotes.
Figura 2.1
Interface de um
programa de
captura de pacotes.
23
Exercício de fixação 1 e
Penetration Test
Quais são os tipos de abordagens para teste de penetração?
Exercício de fixação 2 e
Packet sniffing
O que é e o que faz um analisador de protocolo?
Nmap
O Nmap é uma ferramenta de código aberto, utilizada para exploração de rede e audi- q
toria de segurança. Ela foi desenhada para identificar as portas de serviço que estão
abertas na máquina-alvo ou em um conjunto de máquinas. O resultado final de sua exe-
cução inclui, dependendo das opções utilizadas, informações como a versão do sistema
operacional e a versão dos serviços em execução.
Nmap 192.168.1.0/24
24
999/tcp filtered garcon
Nesse exemplo, executamos o Nmap com as opções padrão e passamos como parâmetro a
rede 192.168.1.0/24, que corresponde à classe C 192.168.1.0 (máscara 255.255.255.0). Note
que o Nmap apresenta apenas os endereços IP que estão disponíveis, mostrando as portas
abertas em cada servidor. A seguir alguns parâmetros interessantes do Nmap:
A execução do Nmap é bem simples, estando ele disponível para uma série de plataformas.
Abaixo alguns exemplos de execução do Nmap.
Capítulo 2 - Explorando vulnerabilidades em redes
Varredura TCP SYN Tipo de varredura mais comumente uti- #Nmap -sS <ip_alvo>
lizada, facilmente detectável. O atacante
envia para o alvo pacote com a flag SYN
setada: se receber SYN/ACK, a porta está
aberta; se receber RST, a porta está fechada.
25
Técnica Explicação Exemplo
Varredura TCP FIN, Essa varredura explora uma falha sutil na #Nmap -sF <ip_alvo>
XMAS (Árvore de implementação do TCP/IP na máquina-alvo.
Natal) e TCP Nula Um atacante envia para o alvo pacote com a #Nmap -sX <ip_alvo>
flag FIN, sem flag (TCP Null) ou com todas as #Nmap -sN <ip_alvo>
flags setadas (XMAS). Se receber RST, a porta
está fechada. Se não receber nada ou um
pacote qualquer, a porta está aberta.
Varredura UDP Embora os serviços mais populares na internet #Nmap -sU ip_alvo
utilizem o protocolo TCP, serviços como DNS,
SNMP e DHCP utilizam o protocolo UDP. Essa
varredura permite identificar serviços UDP em
execução na máquina. Seu modo de funcio-
namento é bastante simples: o atacante envia
para o alvo um pacote UDP. Se receber a men-
sagem ICMP Port Unreachable, a porta está
fechada. Se não receber nada ou um pacote
qualquer, a porta está aberta.
Varredura TCP ACK Essa varredura é diferente das anteriores, #Nmap -sA ip_alvo
(detecta as portas pois nunca determina se uma porta está
que estão sendo aberta. Seu objetivo é mapear o conjunto
filtradas por um de regras de um firewall, determinando se
firewall) essas regras são orientadas à conexão ou
não e quais portas estão sendo filtradas. O
atacante envia para o alvo um pacote com as
flags ACK. Se receber RST, a porta não está
sendo filtrada. Se receber a mensagem ICMP
Unreachable, a porta está sendo filtrada.
Varredura TCP/ Tem o mesmo objetivo da varredura TCP #Nmap -sW ip_alvo
Windows (detecta ACK, exceto que explora o detalhe de imple-
as portas que estão mentação TCP/IP realizada por certos sis-
sendo filtradas por temas operacionais. O atacante envia para o
um firewall) alvo um pacote com as flags ACK. Ao receber
o pacote com a flag RST, o Nmap avaliará
o tamanho da janela TCP. Se esse valor for
positivo, a porta está aberta. Se esse valor
for igual a zero, a porta está fechada.
26
Técnica Explicação Exemplo
Varredura furtiva Possibilita a um invasor fazer uma varre- # Nmap -sF ip_alvo -S 1.1.1.111
dura forjando a origem, com o objetivo de –n –e eth0
desviar a atenção ou simplesmente irritar
o administrador.
Varredura para Varredura para identificar a versão dos ser- # Nmap -sV ip_alvo
levantamento de viços que estão em execução na máquina-alvo.
serviços no alvo
Exercício de fixação 3 e
Nmap
No Nmap, para que é utilizada a técnica de “Varredura TCP/Windows”?
Hping
A ferramenta Hping é um gerador e analisador de pacotes TCP/IP muito utilizado para q
atividades de auditoria, testes de firewall e redes, sendo bastante útil para administra-
dores e hackers. Possui suporte para os protocolos ICMP, UDP e TCP e permite a modifi-
cação de qualquer informação, tanto do payload quanto do cabeçalho do pacote.
Principais funcionalidades:
11 Teste de firewall.
11 OS Fingerprinting.
No último tópico deste capítulo, a ferramenta Hping será utilizada para demonstrar alguns
tipos de ataques.
ARP Spoofing
Ataques de ARP Spoofing são relativamente antigos, mas quando empregados produzem q
resultados de impacto. O conceito do ataque visa enviar um pacote ARP falso para uma
MAC rede local, direcionando o tráfego do destino correto para um sistema malicioso.
Media Access Control é O protocolo ARP traduz endereços físicos (MAC) para endereços IP. Lembre-se de que os
um protocolo de acesso
ao meio físico em uma endereços MAC são singulares, isso é, o fabricante da interface de rede associa unicamente
interface de rede. um endereço MAC a uma interface específica. Dessa forma, a apropriação da identidade de
Endereços físicos de outro sistema fará com que todo o tráfego na rede seja desviado para o sistema invasor.
interfaces de rede são
comumente chamados Outro resultado possível de ataques de ARP Spoofing é a negação de serviço contra o
de endereços MAC. sistema-alvo, pois o tráfego não chegará ao sistema de destino.
27
IP: 10.0.0.1 IP: 10.0.0.7
MAC: [bb:bb:bb:bb:bb:bb] MAC: [aa:aa:aa:aa:aa:aa]
Switch
AR .0.0
P
c: P
c]
10
I
Ca 7 p
:c
cc ta
cc
ch ara
:c pon
e
.
:c
m MA
:[ oa
od C
c:
AC ad
ifi : [c
cc
M ific
ca
d
do :cc:
pa mo
ap cc:c
c
e
on c:
ra
.0 ch
ta cc:
a
10 P C
IP cc]
.1
AR
.0
Atacante
IP: 10.0.0.3 Figura 2.2
MAC: [cc:cc:cc:cc:cc:cc] Ataque ARP
Spoofing.
IP Spoofing
Essa técnica de ataque tem como objetivo alterar um campo do cabeçalho IP, para que q
os pacotes sejam enviados como se partissem de uma origem diferente. O campo do
pacote alterado é o do endereço de origem, um campo de 32 bits que indica o endereço
IP de onde partiu o pacote. O cabeçalho IP possui um tamanho fixo de 20 octetos ou
160 bits, além de uma porção opcional, raramente utilizada.
Atacante
Endereço: 1.1.1.1
IP IP
TCP Internet TCP
Vítima
Segurança de Redes e Sistemas
28
Fragmentação de pacotes IP
Uma característica do TCP/IP bastante utilizada em ataques é a fragmentação de q
pacotes. Seja para dificultar a detecção de ataques ou para realizar a negação de ser-
viços, essa característica faz parte do arsenal de técnicas de ataque. A fragmentação de
pacotes está relacionada à Maximum Transfer Unit (MTU), parâmetro que especifica a
quantidade máxima de dados que pode passar em um único pacote por um meio físico
da rede. Caso um pacote tenha tamanho superior ao suportado pelo meio físico da rede,
é fragmentado (dividido).
FDDI Por exemplo, a rede Ethernet limita a transferência a 1500 octetos de dados, enquanto o FDDI
Fiber Distributed Data permite 4470 octetos de dados por pacote. Com isso, um pacote que parta de uma rede FDDI
Interface é a tecnologia
(com 4470 octetos) e passe por uma rede Ethernet (com 1500 octetos) é dividido em quatro
de transmissão de
dados em redes. fragmentos com 1500 octetos cada um, que é o tamanho suportado pela rede Ethernet.
Os fragmentos resultantes trafegam pela rede e, quando chegam ao seu destino final, são
reagrupados, com base em offsets ou deslocamentos, reconstituindo, assim, o pacote original.
Todo esse processo de fragmentação e reagrupamento é realizado de modo automático e
transparente para o usuário, de acordo com as regras do protocolo IP.
Roteador 1 Roteador 2
600 bytes
30 bytes
Figura 2.4 A possibilidade de ataques que exploram a fragmentação de pacotes IP está relacionada
Fragmentação ao modo como são implementados a fragmentação e o reagrupamento. Tipicamente, os
de pacotes IP.
sistemas não tentam processar o pacote, até que todos os fragmentos sejam recebidos e
reagrupados. Isso cria a possibilidade de ocorrer um estouro (overflow) na pilha TCP
Capítulo 2 - Explorando vulnerabilidades em redes
quando há o reagrupamento de pacotes cujo tamanho total seja maior que o espaço que
foi reservado, ou seja, pacotes maiores podem ser criados para forçar o estouro da pilha.
O resultado disso são problemas como o travamento do sistema, caracterizando ataques
do tipo Denial of Service, que comprometem a disponibilidade de recursos. Outro ataque
consiste em gerar pacotes com o offset de fragmentação negativo, que pode causar
resultados inesperados caso a pilha TCP/IP do sistema de destino não realize uma
verificação antes de tentar reagrupar os pacotes.
A fragmentação de pacotes foi explorada em ataques, inicialmente, no fim de 1996 pelo Ping
da Morte. O ataque consistia no envio de pacotes ICMP Echo Request (ping) com tamanho
de 65535 bytes. Esse tamanho, maior do que o normal, fazia com que diversos sistemas tra-
vassem por causa da sobrecarga do buffer da pilha TCP/IP, que não era capaz de reagrupar
um pacote tão grande. O ping foi empregado inicialmente devido à sua facilidade de uso,
embora outros pacotes IP grandes, sejam eles TCP (conhecido como ataque Teardrop)
29
ou UDP, possam causar esse mesmo tipo de problema. O problema existiu, na realidade,
devido a erros de implementação da pilha TCP/IP em sistemas operacionais e em equipa-
mentos de redes. Por isso, atualmente, os sistemas já corrigiram esse problema por meio
de atualizações e instalações de correções (patches). Porém, a fragmentação e o reagru-
pamento podem ser utilizados para ataques mais sofisticados, com o intuito de driblar
firewalls ou sistemas de detecção de intrusão (IDS). Isso acontece porque a fragmentação
e o reagrupamento ocorrem somente entre as pontas, o que faz com que o firewall, o
roteador ou o IDS que não suportem fragmentação, não detectem ataques cujos dados
estejam em pacotes diferentes, já que são elementos localizados entre dois hosts que se
comunicam. A fragmentação é utilizada, por exemplo, como um método de varredura como
o usado pelo Nmap, que envia pacotes fragmentados em alguns casos, de modo que sua
detecção pelo firewall ou pelo IDS torna-se mais difícil.
Uma técnica típica de ataque DoS é o SYN flooding, que, com uma enxurrada de pacotes de
requisição de conexão (SYN), causa o estouro (overflow) da pilha de memória, que passa a
não aceitar novas requisições.
Outra técnica é o envio de pacotes específicos causando a interrupção do serviço, que pode
ser exemplificada pelo Smurf. Os ataques DoS vão além da pilha de protocolos TCP/IP, como
o caso de estouro de memória em aplicações (e da interrupção do serviço), muitas vezes
causado por falhas na programação desses aplicativos. As técnicas mais avançadas de DoS
são coordenadas e distribuídas, onde os ataques partem não de um equipamento, mas de
vários, que também acabam se tornando vítimas. Essa técnica é conhecida como Distributed
Denial of Service (DDoS).
Em uma comunicação TCP normal, são trocadas as seguintes mensagens para estabelecimento
de uma sessão:
1. O cliente envia uma requisição de conexão: pacote com a opção SYN habilitada e com
o número de sequência x.
Segurança de Redes e Sistemas
2. O servidor recebe o pacote SYN e responde com uma mensagem de reconhecimento, que
consiste em um pacote com as opções SYN e ACK habilitadas (SYN-ACK) e com números
de sequência x+1 e y. O servidor, então, adiciona 1 ao número de sequência recebido pelo
cliente (x). Esse foi o método estabelecido para identificar uma determinada requisição.
3. O cliente reconhece o pacote SYN-ACK (pacote ACK com y + 1). O cliente adiciona 1 ao
número de sequência y recebido pelo servidor.
4. A conexão é estabelecida.
30
6. A conexão é encerrada com um pacote com flag FIN.
Ataque Smurf
Smurf é outro ataque de negação de serviço, no qual um grande tráfego de pacotes ping q
(ICMP echo) é enviado para o endereço IP de broadcast da rede, tendo como origem o
Spoofing endereço IP da vítima (IP Spoofing).
Em inglês, “falsificação”,
“disfarce”; se refere aos Com o broadcast, cada host da rede recebe a requisição de ICMP echo, passando todos
ataques onde infor- eles a responderem para o endereço de origem, que é falsificado, pois é o comportamento
mações no cabeçalho
padrão quando um pacote tem por destino o endereço de broadcast da rede. A rede utili-
dos protocolos são
falsificadas. zada também é afetada, pois todos os seus hosts respondem à requisição ICMP, passando
a atuar como um amplificador. Além disso, a vítima, que teve o seu endereço IP falsifi-
cado, recebe os pacotes de todos esses hosts, ficando impedida de executar suas funções
normais, sofrendo assim um ataque de negação de serviço. As vítimas do ataque, assim, são
a rede e o host que teve o seu endereço IP falsificado.
31
Ataque Smurf
Figura 2.6
Ataque Smurf.
Varredura
Apesar de não ser necessariamente uma vulnerabilidade, a varredura (scanning) é uma w
técnica muito usada por atacantes para verificar quais endereços IP de uma determinada Existem ferramentas
rede estão associados a servidores e quais portas estão abertas (TCP e UDP) nesses servi- específicas para fazer
varredura, sendo a
dores. A varredura consiste em tentar conexão em um conjunto de endereços IP e portas, mais famosa a
verificando quais retornam algum tipo de resposta. ferramenta livre Nmap.
Zenmap
32
Figura 2.7
Técnica da varre-
dura Zenmap.
Além dessas opções, o Zenmap disponibiliza todas as varreduras em uma base de dados
totalmente pesquisável.
33
Exercício de fixação 3 e
Figura 2.8
Zenmap Topology
IP Spoofing Mapping Tool.
Exercício de fixação 4 e
DoS
Explique o que é um ataque de negação de serviço?
Onde:
-V = modo monitor.
34
Ou5
Onde:
-i = indica que cada ping deve ser realizado em um intervalo de um milésimo de segundo.
O comando acima ativa o modo monitor (-V), que permite monitorar as respostas. Serão
enviados 100 pacotes (-c) com tamanho de 65500 (-d) bytes de dados (deve ser maior que
1480 para ativar a fragmentação). A opção “-S” informa para enviar o pacote com a flag SYN
configurada para a porta 80 (-p) e porta de origem 4657 (-s). A opção “–a” trocará o endereço
de origem do pacote, permitindo a realização do spoof.
Nota: como o exemplo a seguir realiza o ataque a um servidor web, antes de executar o
comando verifique a disponibilidade do servidor http que será atacado. Execute tcpdump
ou Wireshark para verificar os pacotes de ataque que estão sendo enviados. Para executar o
tcpdump, utilize o comando:
Por fim, você deve digitar o seguinte comando para iniciar o ataque:
O comando acima envia pacotes TCP com a flag SYN ativada (-S), para a porta do serviço
web (-p 80), enviando um pacote a cada microssegundo (--faster) e alterando o endereço de
origem aleatoriamente (--rand-source).
35
Simulando um ataque Smurf
Nesse ataque será utilizado o comando hping para enviar pacotes ICMP Echo Request para
o endereço de broadcast da rede. Assim, todas as máquinas responderão para o endereço
de origem especificado no pacote que deve estar alterado para o endereço-alvo (Spoofing).
Para que o ataque seja efetivo, a proteção contra ICMP Echo Request para endereço de
broadcast deve estar desabilitada em todas as máquinas do laboratório. Para desativar essa
proteção nas máquinas Linux, use o seguinte comando:
Após liberar a resposta para ICMP Echo Request para o endereço de broadcast da rede,
inicie tcpdump ou Wireshark em um terminal separado, para verificar o andamento do
ataque com o comando:
O comando acima vai enviar pacotes ICMP Echo Request para o endereço de broadcast da
rede do laboratório, no modo mais rápido possível (um pacote a cada 1 microssegundo),
com endereço de origem alterado para IP_ALVO (Spoofing). Os alunos devem verificar no
tcpdump os pacotes de ICMP Echo Reply que estão sendo enviados para o alvo do ataque.
O tamanho do pacote ICMP Echo Request enviado ainda pode ser aumentado para forta-
lecer o ataque. Assim, a banda do alvo será rapidamente consumida pelos pacotes de ICMP
Echo Reply.
Neste tópico foram abordados alguns ataques conhecidos em redes TCP/IP. Existe ainda
uma série de outros ataques conhecidos, como: ARP poison, connection hijacking, sequence
w
O site www.powertech.
prediction attack, buffer overflow, fraggle e race condition, entre outros. Os documentos a no/smurf lista algumas
seguir fornecem mais informações caso tenha interesse em se aprofundar no assunto: redes que aceitam
ICMP Echo Request
11 Técnicas adotadas pelos crackers para entrar em redes corporativas, de Cristiano para o endereço de
broadcast e podem ser
Gerlach, Rede Nacional de Ensino e Pesquisa (RNP).
utilizadas como
11 Introduction to TCP/IP Network Attacks (Introdução aos ataques a redes TCP) de Guang amplificadores para
ataques Smurf. No site
Yang, Department of Computer Science, Iowa State University.
também é possível
11 Attack Lab: Attacks on TCP/IP Protocols (Laboratório de ataques: ataques a protocolos verificar se a sua rede
está vulnerável a esse
TCP/IP) de Wenliang Du, Syracuse University.
tipo de ataque.
Exploit
Segurança de Redes e Sistemas
Exploit significa literalmente “explorar”, sendo uma palavra usada para se referir a pequenos
códigos de programas para explorar falhas de segurança causadas por erros de programação.
36
Metasploit
O Metasploit é um framework específico para testes de penetração. É uma ferramenta
bastante utilizada, visto que possui diversos plugins para exploração de vulnerabilidades de
forma simples, que são atualizados constantemente.
Basicamente, um framework é uma estrutura de apoio que funciona como uma abstração
entre vários projetos de software para funções genéricas. Tipicamente inclui programas de
apoio, bibliotecas e uma linguagem de script, entre outros softwares para ajudar a desenvolver
e unir diferentes componentes de um projeto.
11 No modo web, através do comando msfweb. Nesse modo é criado um servidor web na
porta 55555, que pode ser acessado com um browser comum, através do endereço
http://127.0.0.1:55555.
Exercício de fixação 5 e
Alguns tipos de ataque
Explique o que vem a ser um exploit.
Neste curso, usaremos a versão web. Na aba Exploits, podemos buscar as vulnerabilidades
que desejamos avaliar. Na imagem abaixo, selecionamos uma vulnerabilidade no componente
Samba, presente no sistema operacional MAC OS X. Note que a versão web descreve a vulne-
rabilidade e oferece uma série de referências para o analista procurar mais informações sobre
uma vulnerabilidade específica. O passo seguinte é escolher um Target, que corresponde a um Capítulo 2 - Explorando vulnerabilidades em redes
tipo de exploração que será realizado. No caso abaixo, o único tipo disponível é o Stack brute
force, que tentará um ataque de força bruta na pilha do processo vulnerável.
37
Em seguida, iremos escolher o tipo de payload usado, que determinará o que o Metasploit
tentará conseguir na máquina remota. Entre as possibilidades, podemos obter um acesso
ao console na máquina através de uma porta específica ou conectar de volta na máquina do
atacante, ofertando um acesso remoto.
Segurança de Redes e Sistemas
Por fim, escolhemos os parâmetros específicos para esse tipo de vulnerabilidade. No caso, o
endereço IP do destino, a porta de destino e a porta local. Temos ainda alguns parâmetros
avançados, onde podemos escolher o endereço local do cliente, configurações de Proxy,
parâmetros específicos do Samba, entre outros.
38
Ao clicar no botão Launch exploit, estaremos fazendo o Metasploit tentar explorar a vulnera-
bilidade em questão, e em caso de sucesso, obter acesso remoto privilegiado.
Veja que o Metasploit efetivamente realiza um ataque ao servidor remoto, de modo que não
deve ser usado em servidores que não estejam sob a administração ou controle do usuário
da ferramenta.
# msfconsole
Neste ponto, devemos informar o tipo de exploit que usaremos com o comando use:
Dentro do exploit, podemos ver seus atributos exigidos com o comando show options:
39
Name Current Setting Required Description
Explot Target:
Neste caso, o exploit aceita as opções de Remote Host, Remote port e SMBPIPE. Para confi-
gurar essas opções, utilize o comando set:
O próximo passo é configurar o payload, que nada mais é do que uma parte do software que
permite o controle do sistema-alvo após ser explorado. Nesse caso o exploit transporta o
payload para ser utilizado quando a falha do sistema é explorada.
Um dos payloads mais utilizados é o meterpreter. Com ele podemos ativar coisas interes-
santes no computador remoto, como, por exemplo, fazer upload e download de arquivos,
tirar screenshots e recolher hashes de senhas. Pode-se até mesmo controlar a tela, usando
mouse e teclado para usar completamente o computador.
Com o comando show payloads verificamos os payloads suportados pelo exploit selecionado:
Com o comando show targets podemos visualizar quais sistemas operacionais são vulnerá-
veis a esse exploit:
=========================
Neste caso podemos verificar que os sistemas operacionais Windows XP SP2 e SP3 de
diversos idiomas são vulneráveis a esse exploit:
40
msf wins_ms08_067_netapi > set TARGET 56
TARGET -> 56
No caso do ataque informado acima, poderíamos automatizá-lo com a seguinte linha de comando:
Backtrack
O Backtrack é um sistema operacional Linux voltado para a área de segurança, principal-
mente para testes de penetração. É uma distribuição muito difundida pelos profissionais de
segurança, não necessita de instalação física na máquina e pode rodar diretamente do CD.
Contando com mais de 300 ferramentas diferentes, entre elas o próprio Metasploit, é con-
siderada a ferramenta mais completa do mercado para testes de segurança e penetração
baseada em software livre.
As ferramentas hackers do Backtrack podem ser acessadas pelo menu Applications >
Backtrack. São divididas em 10 categorias diferentes, como veremos a seguir.
Information Gathering
Ferramentas para obter informações sobre redes, aplicações web, análise de banco de
dados e análise de redes wireless. Exemplos:
11 Dnsdict6 – utilitário usado para enumerar um domínio para entradas DNS IPv6.
11 Dnsmap – utilitário usado para criar listas de hosts de registros DNS para um domínio.
Vulnerability Assessment
Exploitation Tools
11 Air Crack – ferramenta utilizada para descobrir chaves WEP e WPA em sistemas Wireless.
41
Privilege Escalation
Maintaining Acces
Uma vez dentro de uma rede, um atacante necessita manter seu acesso sempre disponível
para garantir o seu retorno de forma segura (sem ser detectado). Esse conjunto de pro-
gramas possibilita, por exemplo, a criação de backdoors, ferramentas de tunelamento de
conexões e ferramentas de backdoor via web. Exemplos:
Reverse Engineering
Ferramentas de engenharia reversa com destaque para o programa strace, que monitora
chamadas de sistema (system calls) e os sinais recebidos pela aplicação. Exemplos:
11 Strace – utilitário de depuração para Linux que pode imprimir uma lista de chamadas de
sistemas feitas pelo programa.
RFID Tools
11 Brute Force hitag2 – programa de força bruta capaz de capturar dados em etiquetas RFID
padrão HITAG.
11 Brute Force MIFARE – programa de força bruta capaz de capturar dados em dispositivos
de acesso por proximidade e cartões inteligentes.
Stress Testing
11 Hping – programa para a criação de pacotes TCP/IP, pode ser utilizado com ICMP, TCP e
UDP e é amplamente utilizado para ataques do tipo negação de serviço.
11 Letdown – outra ferramenta muito eficiente para ataques DoS.rtpflood – programa para
inundar telefones ips com pacotes UDP contendo dados RTP.
11 IAXflood – ferramenta para criar inundação de pacotes utilizada em redes com protocolo
IAX, que é usado pelo PABX asterisk.
42
Forensics
Ferramentas de perícia forense, tais como programas para detectar rootkits, obter informações
sobre dados armazenados desde uma rede até a memória RAM do computador. Exemplos:
11 DFF (Digital Foresics Framework) – pacote de ferramentas open source modular que inclui
utilitários para recuperação de dados, pesquisa de provas e análises.
Reporting Tools
Ferramentas geradoras de relatórios sobre evidências e captura de dados feita por pro-
gramas de perícia forense. Exemplos:
43
44
Segurança de Redes e Sistemas
Roteiro de Atividades 2
Atividade 1 – Realizando ataques de protocolos
Nesta primeira atividade prática, o objetivo é identificar e compreender ataques DOS e fazer
a análise com um sniffer (Wireshark e/ou tcpdump) para interpretar o modo como os pacotes
são elaborados para o respectivo ataque DOS.
1º Ataque: Synflood
Como já tratado na parte teórica deste curso, esse ataque consiste em enviar uma enxurrada
de pacotes com a flag SYN ativa, utilizando a ferramenta hping3. Para isso, é necessário que
você desative a proteção contra SYN Flooding do kernel de todas as máquinas virtuais Linux.
Para desabilitar a proteção, use o seguinte comando (executar como root):
Agora inicie a captura de pacotes na máquina FWGW1-G, que será nossa máquina-alvo.
No exemplo abaixo estamos utilizando o tcpdump para essa atividade. Nossa máquina ata-
cante será a máquina virtual LinServer-G.
# tcpdump -i eth1 -n
Por fim, execute a partir da estação Linux atacante o seguinte comando para iniciar o ataque
(executar como root):
O comando acima envia pacotes TCP com a flag SYN ativada (-S), para a porta do
serviço SSH (-p 22), na maior velocidade possível e alterando o endereço de origem
aleatoriamente (--rand-source).
2º Ataque: Smurf
Como já tratado na parte teórica deste curso, esse ataque consiste no envio de pacotes
ICMP Echo Request para o endereço de broadcast de uma rede desprotegida. Assim, todas
as máquinas responderão para o endereço de origem especificado no pacote que deve
estar alterado para o endereço alvo (Spoofing). Para que o ataque seja efetivo, a proteção
45
contra ICMP Echo Request para endereço de broadcast deve estar desabilitada em todas as
máquinas Linux. Para desabilitar a proteção, use o seguinte comando (executar como root):
# tcpdump -i eth1 -n
Por fim, execute a partir da estação Linux atacante o seguinte comando para iniciar o
ataque: (EXECUTAR COMO ROOT). Troque o <END_BROADCAST_REDE> pelo endereço de
broadcast da rede, no nosso caso 172.16.G.255
O comando acima vai enviar pacotes ICMP Echo Request para o endereço de broadcast da
rede do laboratório, no modo mais rápido possível, com endereço de origem alterado para
IP_ALVO (Spoofing). Os alunos devem verificar no tcpdump os pacotes de ICMP Echo Reply
enviados para o alvo do ataque. O tamanho do pacote ICMP Echo Request enviado ainda
pode ser aumentado para dar maior força ao ataque. Assim, a banda do alvo será rapida-
mente consumida pelos pacotes de ICMP Echo Reply.
A partir de uma máquina Linux, realize o port scan padrão na máquina Windows 2008.
# nmap -v 172.16.G.20
Agora vamos explorar outros modos de funcionamento do Nmap. Teste os modos stealth e
acompanhe o andamento da varredura de portas através do Wireshark. Procure entender o
que está acontecendo e a diferença entre os dois comandos executados, para comprovar os
conceitos do material teórico.
# nmap -O 172.16.G.20
# nmap -A 172.16.G.20
Agora vamos realizar um ataque utilizando o Nmap em modo decoy contra a máquina virtual
Windows 2008. Capture os pacotes usando o Wireshark e analise-os. Procure identificar a
origem do ataque.
46
Atividade 3 – Realizando um ataque com Metasploit
Nessa atividade iremos executar uma série de comandos utilizando o metasploit disponível
na máquina virtual BackTrack. Inicie essa máquina virtual e, paralelamente, acesse a inter-
face gráfica do servidor Windows 2008. Nesse servidor, desative o firewall e instale o Adobe
Reader versão 9.3.4. Embora essa seja uma versão antiga do Adobe Reader, o objetivo
desta atividade é demonstrar duas coisas: primeiro, o poder da ferramenta Metasploit, e,
segundo, que não devemos instalar em servidores programas desnecessários, como visuali-
zadores de PDF.
1º passo: gerar um arquivo PDF para explorar a falha de segurança do Adobe Reader.
Acesse o shell do BackTrack e digite:
#msfconsole
Podemos alterar o nome do arquivo a ser gerado para um nome mais amigável.
# mv /root/.msf4/local/naoclick.pdf /var/www
# /etc/init.d/apache2 start
2º passo: escutar na porta informada no passo anterior para estabelecer uma conexão com
Capítulo 2 - Roteiro de Atividades
# msfconsole
47
msf exploid(handler) > set LHOST 172.16.G.30
Neste momento, o Backtrack está esperando uma conexão na porta informada, neste caso
a porta 4444. A máquina-alvo deverá abrir o navegador e informar no campo endereço o IP
do Backtrack. Serão listados os arquivos da pasta /var/www. Clique com o botão direito no
arquivo naoclick.pdf e salve na área de trabalho. Após esse procedimento, clique duas vezes
no arquivo (poderá aparecer uma tela de aceite dos termos da Adobe, clique em accept).
Enquanto o arquivo é carregado, verificamos na máquina atacante que uma sessão foi esta-
belecida. A partir desse momento já estamos com acesso à máquina-alvo.
Para manter a conexão aberta, mesmo que o alvo seja reiniciado, digite:
Será instalado um script dentro da máquina-alvo e bastará apenas que o usuário faça login
novamente para estabelecer a conexão, não precisando mais que o alvo abra o arquivo PDF.
Comando meterpreter
Procure entender o que cada linha de comando abaixo realiza, e tenha paciência. Lembre-se
de que você está explorando vulnerabilidades, e de que é comum que alguns alunos não
consigam completar essa atividade.
48
Ativando meterpreter > keyscan_start
keylogger
meterpreter > keyscan_dump
meterpreter > keyscan_stop
# tail -f /var/log/auth.log
Na máquina virtual Backtrack execute o comando abaixo para identificar os módulos insta-
lados no Medusa:
Capítulo 2 - Roteiro de Atividades
# medusa –d
# nc 172.16.G.1 22
SSH-2.0-OpenSSH_5.1p1 Debian-5
49
Crie um arquivo de texto chamado usuários.txt contendo, em cada linha, o nome dos usu-
ários que você acredita que existam no alvo. Para esta atividade insira, em cada linha, os
nomes: root, marcelo e marco.
Crie um arquivo texto chamado senhas.txt. Neste arquivo serão inseridas, em cada linha,
as senhas que serão utilizadas no nosso ataque de dicionário. Para esta atividade não se
esqueça de inserir os textos 123456 e abacate.
Agora vamos realizar o ataque de força bruta SSH contra o alvo. Execute o seguinte comando:
50
3
Firewall – Conceitos e Implementação
objetivos
conceitos
Topologias e tecnologias de firewall, proteção de perímetro em redes e zona
desmilitarizada (DMZ), entre outros.
Introdução
Um firewall pode ser definido como uma combinação de componentes (hardware, software
e redes) com o objetivo de proteger informações entre uma rede privada e a internet ou
outras redes. É importante frisar que um firewall não corresponde a uma “caixa preta”, que
ligada a uma rede provê segurança instantânea. Para ter um firewall eficiente, é preciso que
ele seja configurado corretamente, possua bons recursos implementados e esteja correta-
mente posicionado na rede em questão. Durante este capítulo e o próximo, esses conceitos
serão aprofundados.
Exercício de nivelamento 1 e
Firewall
O que você entende por firewall?
51
Firewall
Um firewall consiste em uma técnica de segurança de redes bastante efetiva. O seu nome
vem das portas corta-fogo (firewalls) utilizadas em edifícios para conter o fogo de um pos-
sível incêndio, de modo que ele não se espalhe para o resto do prédio. Pode ser definido
como um componente ou conjunto de componentes que restringem acesso entre uma rede
protegida e a internet, ou entre outros conjuntos de redes.
Na prática, podemos pensar num firewall como uma forma de limitar a exposição da sua
rede à internet, mantendo suas funcionalidades para os usuários.
Tecnologias de firewall
11 Filtros de pacotes. q
11 Filtros de pacote dinâmicos.
11 Servidores proxy.
11 NAT.
Filtros de pacotes
A funcionalidade mais básica que um firewall pode oferecer é chamada de filtro de pacotes,
mecanismo de segurança de rede que permite o controle dos dados que entram, saem ou
passam pelo ponto de proteção. Um filtro de pacote é capaz de decidir sobre a passagem ou
não de um pacote, de acordo com as informações encontradas no cabeçalho IP. Usualmente,
os filtros de pacotes agem sobre os seguintes campos de um pacote IP:
Alguns filtros de pacotes mais avançados podem agir sobre outros campos do pacote,
como endereços físicos (MAC Address), outras flags (ex.: RST), campos de fragmentação de
pacotes, entre outros. Na verdade, um filtro de pacotes pode usar qualquer campo de qual-
52
quer um dos cabeçalhos do pacote. Usualmente, um filtro de pacotes não realiza decisões
com base no conteúdo (dados) dos pacotes, uma vez que analisar o conteúdo do pacote
pode ser dispendioso e tornar o processo de roteamento mais lento. Apesar disso, existem
ferramentas que usam esse recurso, como o l7filter. A sintaxe de comandos de um filtro de
pacotes depende da ferramenta utilizada; porém, em linhas gerais, a forma de definir as
regras é muito semelhante. No capítulo seguinte serão vistos alguns exemplos do uso de
ferramentas de filtros de pacotes.
Como exemplo, vamos imaginar que estamos querendo definir uma regra de filtragem que
irá bloquear todos os pacotes provenientes da estação A (endereço IP 192.168.1.1) para o
servidor B (endereço IP 192.168.1.2), na porta 110, utilizando o protocolo de transporte TCP.
Relembrando os conceitos de TCP/IP, quando iniciamos uma conexão TCP, o remetente
escolhe uma porta de origem que não esteja em uso, a partir da porta 1024. Sendo assim,
podemos definir a seguinte regra:
No caso, estamos usando uma sintaxe fictícia. Todos os pacotes que se enquadrem na regra
acima serão automaticamente descartados. Os filtros de pacotes normalmente definem ainda
uma ação padrão, caso não haja nenhuma regra indicando o que fazer com o pacote. Essa
ação padrão se refere à estratégia de segurança denominada Atitude de Bloqueio Padrão e
Permissão Padrão. Caso seja escolhida a atitude de bloqueio padrão, todos os pacotes que
não estiverem explicitamente permitidos por alguma regra serão bloqueados e vice-versa.
Lembre-se de que a atitude de bloqueio padrão é mais segura do que a de permissão padrão.
A partir desse exemplo podemos perceber que em um ambiente mais complexo a quanti-
dade de regras aumentará bastante, tornando o ambiente complicado para gerenciar. Do
ponto de vista do administrador de segurança, na grande maioria dos casos, ele apenas
quer decidir se vai permitir ou bloquear uma determinada conexão. Pensando nisso, foram
criados os filtros de pacotes dinâmicos, também chamados de stateful inspection, stateful
firewall ou Stateful Packet Inspection (SPI). Nesse caso, o próprio filtro de pacotes mantém
informações sobre o estado das conexões e permite automaticamente todos os pacotes
relacionados, de modo que o administrador necessita apenas especificar a regra do pri-
meiro pacote e indicar que os pacotes relacionados serão automaticamente aceitos.
53
Alguns filtros de pacotes dinâmicos tratam ainda de protocolos de aplicação, cuja conexão
é mais complexa, como, por exemplo, FTP e H.323, cuja liberação utilizando os filtros de FTP
pacotes comuns se tornaria complicada e provavelmente iria aceitar muito mais pacotes do File Transfer Protocol é
que o necessário, por conta do comportamento dinâmico desses protocolos. um protocolo de trans-
ferência de arquivos
Recentemente, alguns fabricantes têm anunciado firewalls UTM (Unified Threat Manager), na internet.
que são firewalls com diversos recursos integrados, também chamados de firewalls all-in-one
(tudo em um). Esses produtos normalmente integram uma série de recursos, como antivírus,
anti-spam, VPN, filtros de conteúdo e balanceamento de carga, entre outros.
Servidores proxy
Servidores proxy são servidores que acessam algum serviço da internet em nome de uma
H.323
estação cliente, que solicita o acesso ao proxy. Um proxy pode atuar no nível de aplicação
Protocolo de trans-
(mais comum), onde para cada aplicação há um proxy diferente (ex.: proxy HTTP, proxy FTP,
missão de áudio e vídeo
proxy H.323 etc.) ou no nível de transporte, onde há um proxy genérico para conexões TCP na internet.
e UDP (ex.: Socks). Socks
Protocolo da internet
Os proxies de aplicação possuem a vantagem de entender o protocolo de aplicação, de que permite que apli-
modo que eles são capazes de prover registros detalhados sobre os acessos realizados, cações cliente-servidor
além de permitir o controle de acesso através de parâmetros de aplicação, como bloquear usem transparente-
mente o serviço de
o acesso a arquivos executáveis em conexões HTTP, controle impossível de ser realizado uma rede ao firewall.
apenas com filtros de pacotes. Por outro lado, a aplicação em questão deve estar ciente O termo Socks vem da
da existência do Proxy para realizar o acesso normalmente através de um parâmetro de abreviação de sockets.
NAT
Segurança de Redes e Sistemas
Network Address Translation (NAT) é um recurso que permite a modificação de um ende- RFC
reço de rede em um pacote IP durante o seu trânsito em um dispositivo de roteamento. Request For Comments
O NAT pode ser utilizado em uma variedade de situações, sendo as mais comuns a “publi- é um documento que
descreve os padrões
cação” de um servidor na internet e o acesso de uma rede privativa à internet. de cada protocolo pro-
posto para a internet,
Existem tipos diferentes de NAT, com utilidades diferentes. Inicialmente veremos os tipos de NAT antes de ser conside-
existentes e a seguir conheceremos as suas aplicações. O NAT é definido em uma série de RFCs: rado um padrão.
54
11 RFC 1631: The IP Network Address Translator (NAT).RFC 2663: IP Network Address Trans-
lator (NAT) Terminology and Considerations.
11 NAT estático – utiliza um endereço IP diferente para cada endereço que necessita ser
traduzido. Também chamado de NAT um-para-um (1-1).
Exercício de fixação 1 e
Filtros de pacotes
Explique o que são filtros de pacotes dinâmicos.
Exercício de fixação 2 e
Servidores proxy
O que são servidores proxy?
Topologias de firewall
Não existe uma fórmula para se planejar um firewall, pois isso vai depender das parti- q Capítulo 3 - Firewall – Conceitos e Implementação
Dual-Homed
Essa é a topologia mais simples, que consiste em apenas uma máquina conectada tanto q
à rede pública quanto à rede protegida, porém com a função de roteamento desabili-
tada. Dessa forma, para a rede protegida acessar a rede pública, ela necessitará utilizar
algum recurso presente na máquina em questão, como um Proxy ou NAT. A figura 3.2
mostra uma topologia dual-homed.
55
Screened Host
Nessa arquitetura, a rede interna está conectada à internet (rede pública) através de q
um roteador com o recurso de filtros de pacotes. Esse é chamado de screening router.
Os serviços são providos através de uma máquina da rede interna, chamada de bastion
host (ou bastião). O bastião é a única máquina com acesso à internet, garantido através
da configuração de filtros de pacotes no roteador. Dessa forma, as outras estações não
possuem acesso direto, devendo utilizar os serviços disponíveis no bastion (proxies).
11 Permitir que o bastião acesse a internet, utilizando os serviços permitidos pela política
de segurança da organização.
11 Permitir que as estações da rede interna acessem o bastião, utilizando os serviços per-
mitidos. Lembre-se de que o bastião necessita de um endereço IP válido para acessar a
internet ou que o roteador realize NAT para permitir esse acesso. Dessa forma, apesar de
estarem na mesma rede física, as estações necessitam acessar o roteador para alcançar
o bastião, visto que ele se encontra em outra rede lógica.
Internet
Roteador
de filtragem
Figura 3.2
Estação Bastion Host Estação Estação Topologia
dual-homed.
Note que o firewall corresponde nesse caso ao conjunto composto pelo bastion host e o
screening router.
Screened Subnet
Essa arquitetura adiciona uma camada extra de segurança em relação à anterior, através q
de uma rede extra chamada de perímetro ou Zona Desmilitarizada (DMZ). Essa rede cria DMZ
um isolamento entre a rede interna e a internet. A vantagem principal é que os bastion DeMilitarized Zone
hosts ficam em uma rede isolada, de forma que defesas extras podem ser aplicadas para é a parte da rede
onde o nível de
impedir que um bastion host comprometido tenha acesso à rede interna, aplicando o segurança é um
conceito de defesa em profundidade. pouco menor e
onde se concentram
Segurança de Redes e Sistemas
A rede DMZ fica protegida por dois roteadores, um externo ligado à internet e um interno os serviços públicos.
ligado à rede interna. Esses roteadores devem ser configurados corretamente para per-
mitir apenas as conexões estritamente necessárias. Os bastion hosts continuam a ser o
contato com a rede pública e possuem serviços para a rede interna, como proxies e serviços
públicos como correio eletrônico e páginas www públicas.
56
Internet
Roteador
Bastion externo
DMZ
Roteador
interno
Figura 3.3
Rede DMZ
protegida por dois Rede interna
roteadores.
Variações
Algumas variações podem ser feitas em relação às topologias apresentadas. A seguir
algumas variações comuns:
11 Múltiplos bastion hosts: caso diversos serviços estejam sendo oferecidos ou haja uma
razão para ter serviços divididos em diferentes servidores (redundância), pode-se colocar
mais de uma máquina na rede DMZ. Lembre-se de configurar as regras de filtragem de
acordo com os roteadores.
11 Junção dos roteadores internos e externos: essa é uma variação muito comum, visto
que a junção dos roteadores reduz custos. Lembre-se de que nesse caso o comprometi-
mento do roteador compromete a arquitetura inteira.
11 Junção do bastion host com o roteador externo: não é muito comum, pois normal-
mente a conexão à internet requer um hardware específico por conta dos requisitos
das operadoras de telecomunicação (seriais síncronas, fibras ópticas etc.), mas pode ser
adotado sem problemas. Não é recomendada a junção com o roteador interno, uma vez
que, caso o bastião seja comprometido, a rede interna estará exposta.
11 Múltiplos perímetros: outra variação comum, comum ao se referir a uma DMZ ou a uma
extranet, rede usada para conectar outras redes externas.
11 Firewalls internos: usados para separar redes com maior requisito de segurança ou
Capítulo 3 - Firewall – Conceitos e Implementação
57
Internet
Roteador
Bastion Extranet
externo
DMZ
Roteador
Bastion
interno 1
Roteador
Rede interna Rede segura
interno 2
Durante as atividades práticas será exercitada a construção de topologias de firewall. Figura 3.4
Exemplo de topo-
Exercício de fixação 3 e
logia complexa.
Topologias de firewall
Quais são as arquiteturas de firewall?
Exercício de fixação 4 e
Screened Subnet
Explique o que é DMZ. Sua organização possui DMZ?
Implementação de firewalls
Existem diversas soluções desenvolvidas sob o critério de licença de software livre que
implementam o controle de acesso perimetral em redes TCP-IP. Soluções mais comuns:
Netfilter (Iptables), para Linux; Ipfilter (IPF) e IP Firewall (IPFW), para FreeBSD; Packet Filter
(PF), para OpenBSD, e FreeBSD.
Ao final deste capítulo o aluno terá um resumo das principais características de cada uma
das implementações, realizando atividades práticas de implantação de controle perimetral.
Assim estará apto a configurar ferramentas de filtragem de pacotes, proxy HTTP e NAT.
Segurança de Redes e Sistemas
Netfilter (Iptables)
O Iptables é um framework capaz de realizar filtros de pacotes, tradução de endereços q
de rede e tradução de número de portas TCP e UDP, além de outros tipos de manipu-
lação de pacotes TCP/IP.
Ele foi desenvolvido para trabalhar integrado com o Linux kernel 2.4 e 2.6. Surgiu da reescrita e
evolução dos códigos do Ipfwadm para o Linux kernel 2.0 e do Ipchains para o Linux kernel 2.2.
58
Uma virtude do Netfilter é suportar módulos, permitindo implementações das mais simples
às mais sofisticadas.
O objetivo deste curso não é o de esgotar as características do Netfilter, mas sim orientar o aluno
no entendimento de um sistema de firewall, para um possível aprofundamento futuro.
Principais características: q
11 Stateless packet filtering (IPv4 e IPv6).
Implementação do Netfilter
A sintaxe do Netfilter pode parecer confusa no início. O objetivo da linguagem é permitir
implementações robustas. O Netfilter permite a manipulação desde as regras mais simples
até as mais complexas, onde é possível reduzir o volume do arquivo de configuração e faci-
litar o entendimento dos objetivos do(s) filtro(s).
11 Drop/Deny: quando um pacote sofre Drop ou Deny, é descartado e nenhuma outra ação
é realizada; o pacote simplesmente desaparece.
11 Reject: quando um pacote sofre a ação Reject, é descartado e uma mensagem é enviada
para o host origem informando seu descarte.
11 Accept: ação contrária ao Drop ou Reject, indica ao Iptables para aceitar e encaminhar o
Kernel
pacote.
Componente central do
sistema operacional res- 11 State: estado específico de um pacote em uma conexão TCP/IP. Por exemplo: o primeiro
ponsável por fornecer pacote de uma conexão TCP é o pacote com a opção SYN ligada. O estado da conexão é
os recursos computa-
cionais disponibilizados conhecido através do sistema de rastreamento de conexões, que mantém uma base de
pelo hardware aos dados com o estado de todas as conexões. Essa base fica em uma área dentro do kernel
aplicativos. do Linux, sendo controlada automaticamente por ele.
59
11 Chain: cadeia de conjuntos de regras que são aplicadas em momentos distintos no kernel
do Linux. As três principais chains são INPUT, OUTPUT e FORWARD:
22 OUTPUT: utilizada quando o pacote é originado pelo firewall e sai por alguma
interface de rede.
22 FORWARD: utilizada quando um pacote atravessa o firewall, não tendo como destino o
próprio firewall. Daqui podemos verificar que as chains INPUT e OUTPUT protegem o
próprio firewall, e a chain FORWARD protege o que estiver atrás dele.
11 Table: o Iptables possui quatro tabelas, cada uma com propósitos específicos:
22 Nat: utilizada para manipulação de tradução de endereços IP. Os pacotes podem ter os
endereços de origem, destino, porta de origem e de destino alterados de acordo com
o especificado na regra. Para a tradução de pacotes é necessário especificar apenas
a tradução do pacote inicial da conexão, de modo que todos os pacotes seguintes
pertencentes à essa conexão serão automaticamente traduzidos.
22 Filter: utilizada exclusivamente para filtros de pacotes, de forma a realizar DROP, LOG,
ACCEPT e REJECT de pacotes TCP/IP, conforme foi visto.
22 Raw: utilizada quando desejamos filtrar um pacote, mas não queremos monitorar o
estado da conexão. Dessa forma, estamos fazendo um filtro de pacotes simples.
11 Match: termo utilizado quando um pacote “encaixa” em uma determinada regra; dizemos
que o pacote “deu match” em uma determinada regra do Iptables.
11 Target: termo utilizado para informar o que será feito com os pacotes que “derem match”
em determinada regra; o target pode ser Accept, Drop, Reject etc.
11 Rule: uma regra é definida como um match ou conjunto de matches de pacotes com um
único target.
11 Jump: instrução ligada ao target. Se um pacote “der match” em uma instrução de jump,
será analisado por um conjunto de regras extras, definidas no próprio jump. A sintaxe é
similar à de target (jump em vez de target).
60
Modo de operação do Netfilter
O Netfilter interage com o kernel do Linux baseado na decisão de encaminhamento de q
pacotes. O modo de funcionamento é resumido na próxima figura.
Kernel
Entrada
Tipo de
Forward Saída
roteamento
Figura 3.5
Processo de decisão Input Processo local Output
do Netfilter.
61
A representação completa do funcionamento do Iptables é apresentada na Figura 3.6.
Network
raw
PREROUTING
mangle mangle
mangle
INPUT PREROUTING
INPUT
filter
mangle nat
INPUT
INPUT PREROUTING
Routing
Local Decision
Process
Routing mangle
mangle
Decision FORWARD
INPUT
raw filter
OUTPUT FORWARD
mangle Routing
OUTPUT Decision
nat mangle
mangle
OUTPUT INPUT
POSTROUTING
filter
mangle nat
OUTPUT
INPUT POSTROUTING
Figura 3.6
Detalhamento
do processo de
Segurança de Redes e Sistemas
encaminhamento
do Iptables. Fonte:
Network
Frozentux.
Chains do Netfilter: q
11 PREROUTING
11 INPUT
11 FORWARD
62
11 OUTPUT q
11 POSTROUTING
Tabela Nat
Tabela Mangle
Tabela Raw
11 INPUT: nessa chain são tratados os pacotes destinados ao firewall no momento anterior à
entrega ao sistema responsável pelo processamento desses pacotes. Nessa chain podem
ser analisados os pacotes das tabelas Mangle e Filter.
11 FORWARD: nessa chain são tratados os pacotes que não são destinados ao firewall e
serão encaminhados a outro host na rede. Nessa chain podem ser analisados os pacotes
das tabelas Mangle e Filter.
11 OUTPUT: nessa chain são tratados os pacotes gerados por processos do próprio host, que
serão enviados à rede. Nessa chain podem ser analisados os pacotes das quatro tabelas.
11 POSTROUTING: nessa chain são analisados pacotes que estão saindo do firewall e não
sofrerão nenhum outro tipo de processamento pelo host. Nessa chain são permitidas
manipulações apenas de pacotes das tabelas Mangle e Nat.
Exercício de fixação 5 e
Netfilter
Capítulo 3 - Firewall – Conceitos e Implementação
Explique o funcionamento do Netfilter, usando como base o Iptables.
Controle perimetral
11 Controle de acesso ao firewall. q
11 Controle de acesso através do firewall.
63
Segue um exemplo de configuração de Dual-Homed firewall utilizando Iptables, com o
objetivo de gerar logs dos pacotes ICMP destinados ao firewall (que são encaminhados pelo
firewall) e dos que são gerados pelo firewall; a barra invertida “\” indica que a regra continua
na próxima linha:
Os comandos são parâmetros passados para o Iptables durante a configuração das regras.
Principais parâmetros do Iptables:
Esse comando especifica que a ação padrão do firewall para FORWARD (passagem) de
pacotes será DROP (descarte os pacotes).
-t: especifica a tabela usada pelo Iptables; se não especificada, o padrão é filter (no exemplo
acima não havia a necessidade do parâmetro –t filter). Exemplo:
iptables –t nat –L
iptables –L
iptables –t nat –F
64
-j: (Jump) indica a ação ou o target da regra. Exemplo:
man iptables
Tradução de IP (NAT)
O Iptables tem uma tabela especial para manipulação de tradução de endereço IP nos
pacotes TCP/IP. Essa tabela será utilizada para a realização de controle de NAT das conexões,
sendo elas: SNAT, DNAT, NAT Estático e NAT Dinâmico, conforme apresentado no capítulo 2.
SNAT
Esse NAT foi concebido para modificar o endereço IP de origem em uma conexão TCP/
IP, como, por exemplo, alterar o endereço IP de origem de uma conexão TCP/IP de uma
máquina da rede interna (com endereço IP reservado que não pode ser roteado pela
internet) para um endereço público de rede IP:
Nos exemplos acima foram usados parâmetros para identificação da origem do pacote, que
podem ser usados em qualquer regra, não somente em regras de NAT. São eles:
11 -s: define a origem do pacote, que pode ser um único endereço IP ou uma rede, como nos
exemplos acima.
11 -o: define a interface de saída do pacote. Nos exemplos acima, para serem sujeitos às
regras, os pacotes devem sair pela interface eth0.
Para identificação do destino, podemos usar o parâmetro –d de forma análoga, assim como
o parâmetro –i para indicar a interface de entrada.
65
DNAT
Esse NAT, justamente como sugere o nome, foi concebido para realizar a troca do endereço
IP de destino de uma conexão TCP/IP. No exemplo a seguir, temos um servidor em uma rede
com endereço privado, que não é roteável pela internet. Assim foi disponibilizado um ende-
reço IP público que deve ser traduzido para o endereço IP privado ao passar pelo NAT.
Nesse exemplo, verificamos dois novos parâmetros: –p, que indica o protocolo em questão
(exemplos: TCP, UDP, ICMP) e –dport, que indica a porta de destino. De forma análoga, –sport
serve para indicar a porta de origem.
NAT Dinâmico
Diferente dos casos anteriores, onde havia traduções de endereços IP de Um para Um, ou
que normalmente chamamos de estáticos. Há também a necessidade de tradução de vários
endereços IP de uma rede para um único endereço IP ou um pequeno grupo de endereços
IP. Nesse exemplo, temos uma rede local com endereços IP privados, que ao estabelecer
conexão com a internet precisa de endereço de origem válido; para isso, todas as conexões
TCP/IP saem com o endereço IP válido da interface externa do firewall.
q
Berkeley nos anos 70.
11 Ativação Hoje não é um único
sistema operacional,
11 Controle mas uma extensa
família derivada do
11 Configuração
original. Membros
22 Ação – block ou pass mais conhecidos:
FreeBSD, OpenBSD,
22 Direção NetBSD e Darwin
(base do Mac OS X).
22 Log
22 Quick
Ports
22 Família de endereço IP – inet ou inet6 Também conhecido por
Sistema de Ports ou
22 Protocolo
Coleção de Ports, é um
22 Endereço de origem ou destino sistema de organi-
Segurança de Redes e Sistemas
66
Para instalação do PF no FreeBSD é necessário compilar o kernel do FreeBSD com suporte
ao PF, habilitando os módulos necessários. Para o funcionamento do PF no FreeBSD é
necessário adicionar as seguintes linhas de comando no arquivo de configuração /etc/rc.conf,
conforme mostrado abaixo:
pf_flags=”” # Parâmetros
adicionais para iniciar o PF
pflog_flags=”” # Parâmetros
adicionais ao iniciar os logs
Ativação
Ocorre automaticamente editando o arquivo de configuração /etc/rc.conf conforme citado
ou manualmente com os seguintes comandos:
Controle
Após iniciado o PF, pode ser utilizada a ferramenta pfctl para realizar as verificações e con-
trole do PF. Seguem os principais controles:
67
Configuração
A sintaxe do PF pode ser resumida da seguinte forma:
11 Ação: executada nos pacotes que corresponderem à regra. Pode ser pass ou block.
11 Direção: sentido do fluxo do pacote na interface. Pode ser in (entrando) ou out (saindo).
11 uick: significa que essa deve ser a última regra a ser analisada, não verificando
as regras seguintes.
11 Interface: nome da interface de rede que o pacote está passando, como fxp0 e en0.
11 Fam_de_end: protocolo que está sendo analisado; inet para IPv4 e inet6 para IPv6.
11 Protocolo: protocolo da camada de transporte que está sendo analisado, pode ser TCP,
UDP ou qualquer outro protocolo especificado no arquivo /etc/protocols.
22 != (diferente de)
11 Sinalizadores TCP: especificam as flags do cabeçalho TCP para serem analisadas, como
por exemplo AS, que verifica se as flags SYN e ACK estão ligadas.
Uma regra pode ser criada, por exemplo, para permitir acesso ao serviço SSH, tendo como
origem da conexão o endereço IP de um segmento de rede:
Segurança de Redes e Sistemas
block in quick on fxp0 proto tcp from any to any port ssh
pass in all
68
Firewall Builder
11 Interface gráfica. q
11 Padronização da configuração.
11 Minimização de erros.
O Firewall Builder é um projeto disponível em dois tipos de licença, software livre para Linux
e FreeBS, e licença comercial para Windows e MAC OS. É instalado na máquina do adminis-
trador do firewall, que envia a sintaxe para o firewall, que a escreve automaticamente para
o host do Iptables. É uma ferramenta capaz de manipular regras do Packet Filter (PF do
OpenBSD e FreeBSD) e outros roteadores e firewalls comerciais.
Figura 3.7 A configuração gráfica da figura 3.7 representa os seguintes comandos no Iptables:
Exemplo de
configuração # iptables –F # Limpa todas regras do
Netfilter. Iptables
69
# iptables -A FORWARD -i eth1 -d 192.168.1.0/24 -j DROP # Bloqueia o
tráfego com
# na rede 192.168.1.0
# iptables -L -n
70
Roteiro de Atividades 3
Atividade 1 – Filtros de pacotes
Na criação de regras em filtros de pacotes é preciso traduzir os acessos que queremos
permitir ou bloquear, em regras baseadas em endereços IP, portas e flags. Utilizando a lin-
guagem fictícia dos exemplos, crie regras para as seguintes situações. Caso seja necessário,
invente uma sintaxe para novos parâmetros:
1. Permitir conexões TCP (ida e volta) para envio de correio eletrônico para um servidor
SMTP no endereço IP 192.168.5.1.
1.
Intranet Internet
20 Mbps
8 Mbps
R2 R1
Capítulo 3 - Roteiro de Atividades
71
2.
Internet
20 Mbps
Servidor Servidor de
de e-mail aplicações web
R1
R2
Servidor de Servidor
banco de dados mainframe PC PC PC PC
Internet
DHCP DHCP
72
O laboratório será dividido em dois grupos, definidos pelo instrutor. Cada aluno participará
apenas de um grupo: Topologia A ou Topologia B.
Onde:
11 G =1 – Grupo Topologia A
A figura 3.9 mostra uma listagem com a descrição dos serviços disponibilizados pelos
servidores da DMZ.
conexões previamente definidas no filtro de pacotes. Dessa forma, a regra padrão é negar
todos os pacotes que chegarem, saírem e/ou atravessarem o firewall. A política de filtros
de pacotes será a mais restritiva possível, de modo que somente as conexões previamente
definidas deverão ser permitidas em nosso filtro de pacotes.
73
A cada item a seguir, será preciso verificar a configuração com o auxílio dos seguintes comandos:
Acesso ao firewall
w
Para mais informações
Configure no firewall acesso de gerência SSH e ICMP, somente para pacotes originados da sobre a configuração
do Netfilter no Debian,
estação de trabalho Windows XP, e teste o funcionamento das regras originando acessos dos visite: http://wiki.
servidores Linux e Windows 2008 ao firewall. debian.org/iptables.