Escolar Documentos
Profissional Documentos
Cultura Documentos
2007
Segurança em Redes
© SENAI-SP, 2007
1a edição, 2007
Trabalho organizado a partir de seleção de textos técnicos sobre Segurança em Redes extraído da Internet
pela Escola SENAI Suíço-Brasileira para o curso Técnico de Redes de Comunicação.
Equipe responsável
Coordenação Alexssandro Augusto Reginato
Elaboração Jackson Klarosk
Capa Jackson Klarosk
Todos os nomes próprios de programas e sistemas operacionais mencionados nesta apostila são marcas
registradas de suas respectivas empresas ou organizações.
2
Segurança em Redes
SENAI Serviço Nacional de Aprendizagem Industrial
Departamento Regional de São Paulo
Av. Paulista, 1313 - Cerqueira César
São Paulo - SP
CEP 01311-923
Telefone (0XX11) 3146-7000
Telefax (0XX11) 3146-7230
E-mail senai@sp.senai.br
Home page http://www.sp.senai.br
3
Segurança em Redes
Sumário
4
Segurança em Redes
5
Segurança em Redes
6
Segurança em Redes
7
Segurança em Redes
8
Segurança em Redes
9
Segurança em Redes
Criptografia Simétrica...........................................................................................141
Algoritmos de Chave Simétrica............................................................................141
Criptografia Assimétrica ............................................ ................. ..........................142
Algoritmos de Chave Assimétrica.........................................................................142
Certificação Digital ............................... ............... ............................... ............... ..........144
Definição. ............... ............................... ............... ................ ............... ................. ...144
Aplicação.......................................... ............... ............................... ............... ..........144
Infraestrutura de Chave Pública (PKI)..................................................................144
Assinatura Digital.....................................................................................................145
Algoritmos para Geração de Assinatura Digital....................................................145
Autenticação ................. ............... ............................... ............... ................. ................147
Definição ............................. ............................... ............... ............................... .......147
Aplicação.......................................... ............... ............................... ............... ..........147
Arquitetura Triple A (AAA); ............................ ............... ................. ..........................147
Kerberos ................ ............... ............................... ............... ............................... ..148
RADIUS ................. ............... ............................... ............... ................. ................149
TACACS ................ ............... ............................... ............... ............................... ..149
10
Segurança em Redes
11
Segurança em Redes
Introdução
Cada vez mais pessoas e empresas estão se conectando a Internet, quer seja para
compartilhar informações ou mesmo para disponibilizar serviços.
O uso da Internet já é considerado indispensável para as pessoas civilizadas. Estar
“conectado” indica estar disponível, estar atualizado, permite encurtar distâncias e
ganhar tempo.
A Internet impôs uma nova forma de existência, VIRTUAL. Num mundo onde tudo é
contituído
acesso. de informações digitalizadas que estão disponíveis de qualquer ponto de
Devemos considerar que inicialmente a Internet foi desenvolvida sem levar em
consideração a segurança das informações que transportava, pois a preocupação na
época era somente com o compartilhamento das mesmas.
Além da fragilidade técnica da Internet, devemos considerar as vulnerabilidades dos
sistemas operacionais, além ainda do despreparo e desconhecimento dos usuários.
Viver num mundo digital implica em se ter os mesmos cuidados do mundo REAL, e é
neste ponto que muitas pessoas e empresas são prejudicadas.
Você sabia?
Especialistas calculam que 50 novas vulnerabilidades são descobertas por
semana em programas de computador.
As senhas fáceis de adivinhar são as principais culpadas pelas invasões em
redes domésticas e corporativas.
Há poucos anos, invasores estiveram perto de tomar o controle total dos
computadores da companhia de energia da Califórnia, o que lhes daria o
poder de interromper o fornecimento de eletricidade em toda a cidade. Eles
"pesquisaram" nos micros por pelo menos 17 dias sem que nenhum
funcionário suspeitasse. A invasão de sites e servidores ainda não é crime
no Brasil.
12
Segurança em Redes
Segurança
A segurança é a condição de estar protegido de perigo ou perda.
Segurança de Informação está relacionada com métodos de proteção aplicados sobre
um conjunto de dados no sentido de preservar o valor que possui para um indivíduo ou
uma organização.
Garantias
Confidencialidade
É a propriedade de que a informação não estará disponível ou divulgada a indivíduos,
entidades
garantia doouresguardo
processos sem autorização. Em pessoalmente
outras palavras,
em confidencialidade
éa
das informações dadas confiança e proteção
contra a sua revelação não autorizada.
Autentic idade
Entende-se por autenticidade a certeza absoluta de que um objeto (em análise) provém
das fontes anunciadas e que não foi alvo de mutações ao longo de um processo. Na
telecomunicação, uma mensagem será autêntica se for, de fato, recebida na íntegra,
diretamente do emissor.
A autenticação de entidade provê a checagem da identidade afirmada em qualquer
período de tempo.
Integridade
Em segurança da informação integridade significa ter a disponibilidade de informações
confiáveis, ou seja, certifica-se que as mensagens são recebidas como enviadas.
Um serviço de integridade orientado a conexão deve certificar que não existam
duplicatas, inserções, deleções ou modificações.
Um serviço de integridade não orientado a conexão trata somente da mensagem
individual.
Disponibilidade
13
Segurança em Redes
Problemas
Riscos
É o resultado objetivo da combinação entre a probabilidade de ocorrência de um
determinado evento e o impacto resultante.
Falhas
Vunerabilidade
Ameaças
14
Segurança em Redes
Uma ameaça é uma pessoa, coisa, evento ou idéia que apresenta algum perigo para
um bem (em termos de confidencialidade, integridade, disponibilidade ou uso legítimo).
Ataques
Um ataque é a concretização de uma ameaça de segurança que pode comprometer a
segurança de um sistema de informação.
Aspect o Humano
Gestão de pessoas.
A gestão de pessoas é um ponto fundamental na segurança da informação, geralmente
constituem o elo mais fraco da segurança da informação em ambiente corporativo.
Não adianta nada ter uma equipe bem treinada tomando conta dos servidores, se o
resto dos funcionários estiverem suscetíveis a ataques como os de engenharia social,
que são comuns nestes casos.
Na gestão de pessoas deve se estabelecer todo um processo disciplinar e
conscientização que deve atingir a empresa como um todo desde o dono da empresa
até o faxineiro, usando metodologias diferentes para lidar com cada nível da hierarquia.
Hacker
A palavra surgiu nos anos 50 dentro do MIT e deriva do termo hack, usada para definir
atividades de alta tecnologia com os quais alguns estudantes se ocupavam. Alguém
que, deliberadamente, ganha acesso a outros computadores, freqüentemente sem
conhecimento ou permissão do usuário. Hackers maliciosos fazem isso para roubar
informação valiosa, atrapalhar serviços ou causar outros danos.
Cracker
São os hackers
"quebrando" tudo,mais radicais.
a intenção Eles pirateiam
é sabotar ao máximoprogramas
os grandese servidores.
penetram em sistemas
Defacer
Pessoas mal intencionadas que passam o tempo tentando desfigurar a página inicial de
sites conhecidos.
Phreaker
É o nome dado as pessoas ou crackers de Telefonia (Phone+Freak ou Phreak).
15
Segurança em Redes
Carders
São aqueles Hackers especialistas em roubos de número de cartões de crédito e, é
obvio, o uso destes números fazendo compras pela Internet.
Utilizar senhas
atenuar diferentes,
os prejuízos uma caso
causados, para alguém
cada local, é extremamente
descubra importante,
uma de suas senhas. pois pode
Criptografia.
Criptografia é a ciência e arte de escrever mensagens em forma cifrada ou em código.
É parte de um campo de estudos que trata das comunicações secretas, usadas, dentre
outras finalidades, para:
Uma mensagem
somente codificada
aquele que enviou por um método
e aquele de criptografia
que recebeu deve
devem ter ser privada,
acesso ou seja,
ao conteúdo da
mensagem.
A mensagem deve poder ser assinada, ou seja, a pessoa que a recebeu deve poder
verificar se o remetente é mesmo a pessoa que diz ser e ter a capacidade de identificar
se uma mensagem pode ter sido modificada.
Perímetro de Rede
O termo rede de perímetro refere-se a um segmento de rede isolado no ponto em que
uma rede corporativa alcança a Internet.
16
Segurança em Redes
Bastion Host
É o nome que se dá a um servidor dedicado exposto simultaneamente a Internet e a
rede interna.
Por ser mais suscetível a sofrer ataques, este servidor precisa ser configurado de forma
a diminuir ao máximo qualquer tipo de vulnerabilidade.
Nomalmente é configrado para prover um único serviço, vizando limitar as brechas de
segurança.
Honeypot
Ferramenta de estudos de segurança, onde sua função principal é colher informações
do atacante.
Em redes empresariais serve como elemento de distração ou dispersão, uma vez que
qualquer trafego suspeito é redirecionado para ele. As configurações deste
equipamento são as mais rígidas e os serviços são muito limitados.
Firewall
É o nome dado ao dispositivo de uma rede de computadores que tem por função
regular o tráfego de rede entre redes distintas e impedir a transmissão e/ou recepção
de dados nocivos ou não autorizados de uma rede a outra.
O termo inglês firewall faz alusão comparativa da função que desempenha para evitar o
alastramento de dados nocivos dentro de uma rede de computadores à parede corta-
fogo (firewall), que evita o alastramento de incêndios pelos cômodos de uma edificação.
17
Segurança em Redes
Por conter servidores de acesso público, o Firewall deve ser configurado com regras
menos restritivas para acesso a DMZ e com regras mais restritivas para acesso a rede
interna.
Esta técnica pode ser empregada como uma DMZ interna com o intuito de controlar o
acesso aos servidores internos da empresa, neste caso as regras de Firewall são
aplicadas para inibir o acesso externo e restringir o acesso interno somente aos
serviços necessários.
VPN
Uma Rede Privada Virtual (Virtual Private Network - VPN) é uma rede de comunicações
privada normalmente utilizada por uma empresa ou um conjunto de empresas,
construída em cima de uma rede de comunicações pública (como por exemplo, a
Internet). O tráfego de dados é levado pela rede pública utilizando protocolos padrão,
não necessariamente seguros.
VPNs seguras usam protocolos de criptografia por tunelamento que fornecem a
confidencialidade, autenticação e integridade necessárias para garantir a privacidade
das comunicações requeridas. Quando adequadamente implementados, estes
protocolos podem assegurar comunicações seguras através de redes inseguras.
HIDS / NIDS
Sistema de detecção de intrusos ou simplesmente IDS (Intrusion detection system)
refere-se a meios técnicos de descobrir quando um sistema está sendo violado ou
acessado de forma não autorizada, podedo indicar a ação hacker ou até mesmo
funcionários mal intencionados.
Networ k-based Intrus ion Detecti on Syst em (NIDS)
Este tipo de IDS é instalado em um host que será alertado sobre ataques ocorridos
contra a própria máquina.
O HIDS irá avaliar a segurança deste host como base em arquivos de logs de Sistema
Operacional, logs de acesso e logs de aplicação.
O uso desta técnica é muito importânte, pois fornece segurança a tipos de ataques que
o firewall e um IDS network-based não detectam.
18
Segurança em Redes
19
Segurança em Redes
O uso edefora,
dentro câmeras de às
próximo monitoramento é importante para se monitorar o que acontece
entradas do CPD.
Biometria
A biometria é o estudo das características mensuráveis do ser humano que possibilitam
o reconhecimento de um indivíduo. A impressão digital, íris, retina, geometria da mão,
voz, face e velocidade de digitação são características que permitem a identificação de
usuários. Esta abordagem confirma a unicidade e estabilidade destas características, o
que permite o reconhecimento ao longo da vida.
A identificação biométrica procura trabalhar como a mente humana. O reconhecimento
das pessoas é realizado por meio da comparação das características biométricas, cujo
índice de similaridade vai determinar o sucesso da identificação, ou seja, se as
características biométricas apresentadas são muito parecidas com as armazenadas,
neste caso o sistema confirma a identidade do usuário.
Este mecanismo está sujeito à ocorrência de três situações: identificação com sucesso,
o falso-positivo e o falso-negativo.
Exemplificando, quando se atende o telefone há grandes chances de se identificar o
interlocutor pela voz e em algumas vezes errar no reconhecimento. Quando ocorre o
acerto, este advém do fato da voz do interlocutor possuir muitas características em
comum com a correspondente já memorizada, neste caso temos uma identificação com
sucesso.
Quando ocorre uma troca na identificação do interlocutor estamos diante de um fato
denominado falso-positivo. Por fim, quando o interlocutor já é conhecido mas não é
prontamente identificado estamos diante de um fato denominado falso-negativo.
20
Segurança em Redes
A identificação
forma, abiométrica
extraçãoleva
de em
contadocaracterísticas dos para
seresforjar
na presença de vida.
Desta partes corpo humano uma presença
inexistente não obterá êxito numa possível fraude, portanto esta tecnologia pode ser
aplicada para permitir ou negar acesso físico a ambientes protegidos além de controlar
acessos lógicos a sites de serviços eletrônicos.
21
Segurança em Redes
Normalização
Definição
Ao longo da história, desde a mais remota antigüidade, o ser humano vem buscando
controlar as informações que julga importantes.
Tradicionalmente, as organizações dedicam grande atenção para com seus ativos
tangíveis físicos e financeiros, mas relativamente pouca atenção aos ativos de
informação que possuem.
Em anos recentes, contudo, a informação assumiu importância vital para manutenção
dos negócios, marcados pela dinamicidade da economia globalizada e
permanentemente on-line, de tal forma que, atualmente, não há organização humana
que não dependente da tecnologia de informações, em maior ou menor grau, de forma
que o comprometimento do sistema de informações por problemas de segurança pode
causar grandes prejuízos ou mesmo levar a organização a falência.
Visando minimizar esses riscos, a ISO (International Standartization Organization),
publicou uma norma internacional para garantir a segurança das informações nas
empresas.
A ABNT (Associação Brasileira de Normas Técnicas), operando em sintonia com a ISO
e atenta as necessidades nacionais quanto a segurança da informação, disponibilizou o
projeto na versão brasileira da norma ISO para consulta pública e posterior votação e
publicação.
As normas ISO e ABNT são o resultado de um esforço internacional que consumiu
anos de pesquisa e desenvolvimento para se obter um modelo de segurança eficiente e
universal.
22
Segurança em Redes
23
Segurança em Redes
Objetivo
Termos e definições
Política de segurança
Segurança organizacional
Classificação e controle dos ativos de informação
Segurança em pessoas
Segurança ambiental e física
8-Gerenciamento das operações e comunicações
Controle de acesso
Desenvolvimento de sistemas e manutenção
Gestão de continuidade do negócio
Conformidade
A ISO17799 cobre os mais diversos tópicos da área de segurança, possuindo mais de
100 controles que devem ser atendidos para garantir a segurança das informações de
uma empresa, de forma que a obtenção da certificação pode ser um processo
demorado e muito trabalhoso, consistindo num desafio para as empresas.
24
Segurança em Redes
25
Segurança em Redes
SITUAÇÃO: Norma
Brasil, a ABNT aprovada
publicou comoe Norma
publicada pela ISO
Brasileira emISO
NBR Genebra, em 15.06.2005.
IEC 17799 no dia 24 No
de
agosto de 2005.
NÚMERO: ISO IEC 1 st WD 27003
26
Segurança em Redes
27
Segurança em Redes
2 Security Exchange Comission, órgão regulador das empresas de capital aberto dos
EUA.
3 Enterprise Resource Planning, sistemas de gestão.
4 Customer Relationship Management, sistemas de relacionamento com clientes.
5 Sistemas de gerenciamento de cadeia de suprimentos.
28
Segurança em Redes
Especial atenção também deve ser conferida ao outsourcing6. Nos Estados Unidos, a
chamada cybersecurity liability7 começa a ter evidência entre os executivos financeiros.
Basil éia II
O acordo de capitais Basiléia II exige dos bancos um sofisticado esforço gerencial e
tecnológico para conhecer, mensurar e cobrir riscos operacionais, de crédito e de
mercado, criando um novo paradigma para as melhores práticas de administração na
indústria bancária.
Quando forem publicados os novos parâmetros para gestão do risco bancário - pelo
Banco de Compensações Internacionais (BIS) e pelo Banco Central do Brasil - será
configurada a necessidade de um salto significativo na qualidade e no refinamento das
bases de informações para gestão de riscos, o que implicará mudanças em vários
níveis da infra-estrutura de TI dos bancos.
As
vezinstituições
mais capitalque nãopara
próprio se adequarem
fazer face aarcarão com o ônus de ter de provisonar cada
esses riscos.
O maior desafio de Basiléia II aos gestores de risco e aos CIOs dos bancos será
modelar uma sofisticada base de dados incorporando todas as variáveis associadas
aos riscos operacionais, de crédito e de mercado, com uma amplitude temporal superior
a cinco anos, com vistas à tomada de decisões baseada em informações de alta
qualidade sobre as probabilidades de perdas futuras.
6 Terceirização.
7 Responsabilidade sobre segurança da informação.
29
Segurança em Redes
Depois que o incidente foi contido e os dados preservados para um possível processo,
você deverá considerar se precisa notificar as entidades externas apropriadas.
Possíveis agências incluem os órgãos de cumprimento de leis locais e nacionais,
agências externas de segurança e especialistas em vírus.
As agências externas podem fornecer assistência técnica, oferecer uma resolução mais
rápida e fornecer informações obtidas em incidentes semelhantes para ajudá-lo a se
recuperar totalmente do incidente e evitar que ele ocorra novamente no futuro.
O CAIS – Centro de Atendimento a Incidentes de Segurança atua na detecção,
resolução e prevenção de incidentes de segurança na rede acadêmica brasileira, além
de elaborar, promover e disseminar práticas de segurança em redes. Site:
http://www.rnp.br/cais/
O
mantido peloé NIC.br,
CERT.br o grupodo
deComitê
resposta a incidentes
Gestor de segurança
da Internet no Brasil. Opara a Internet
CERT.br brasileira,
é responsável
por receber, analisar e responder a incidentes de segurança envolvendo redes
conectadas à Internet no Brasil. Site: http://www.cert.br/
30
Segurança em Redes
31
Segurança em Redes
Após o levantamento
considerados críticos àdos procedimentos,
organização, devem
ou seja, ser identificados
aqueles que contémosinformações
processos
sensíveis aos negócios da organização. Esses processos deverão ser tratados de
maneira diferenciada na política de segurança.
32
Segurança em Redes
Relacionamos os principais tópicos, que devem ser abordados na definição das normas
e procedimentos: acessos externos; acessos internos; uso da Intranet; uso da Internet;
uso de correio eletrônico; política de uso e instalação de softwares; política de senhas;
política de backup; uso e atualização de antivírus; acesso físico; acesso lógico; trilhas
de auditoria; padrões de configuração de rede (nome de máquinas, etc.).
33
Segurança em Redes
Implantação
Revisão da Política
A política de segurança deve ser revisada periodicamente, para mantê-la atualizada
frente às novas tendências e acontecimentos do mundo da segurança da informação.
O intervalo médio utilizado para a revisão de uma política de segurança é de um ano,
porém deve ser realizada uma revisão sempre que forem identificados fatos novos não
previstos na política de segurança vigente, que possam impactar na segurança das
informações da organização.
Ciclo PDCA
Um Sistema de Gestão de Segurança da Informação é um sistema de gestão análogo a
um Sistema da Qualidade e como tal é passível de certificação. Esta certificação se dá
a partir das evidências (documentos e práticas) do conjunto de controles implantados e
que devem ser continuamente executados e devidamente registrados.
Este modelo de gestão está baseado no ciclo com melhoria contínua PDCA (Plan-Do-
Check-Act).
34
Segurança em Redes
O Ciclo PDCA foi criado em 1920 e ainda hoje, é o principal método da Administração
pela Qualidade Total, sendo indicado na BS7799-2 como meio de facilitar o
gerenciamento do projeto de Segurança da Informação. O modelo começa com a
execução das atividades na fase Plan, passando para as fases Do, Check e Act,
sucessivamente. A idéia é que este processo seja executado continuamente e que a
cada novo ciclo, o sistema seja melhorado.
Levantamento de Ativos
Levantamento de informações dos ativos (servidores, estações e equipamentos de
conectividade): nesta etapa é realizado um levantamento dos ativos existentes na rede,
serviços disponibilizados, sistemas operacionais e demais informações sobre estações
e usuários. O objetivo é identificar a relação com aplicativos e serviços, como
autenticação utilizada, além de se conhecer o legado instalado na corporação.
Identificação dos sistema s crítico s
Sistemas críticos são os sistemas vitais para o desenvolvimento do negócio da
empresa. Se o funcionamento desses sistemas for interrompido a organização pode
sofrer algum tipo de prejuízo ou dano. A identificação dos sistemas críticos é o ponto de
partida para a criação de um plano de contingência, pois a partir dela será definido as
estratégias que a organização deverá adotar para dar continuidade ao negócio da
empresa.
Análise de impacto n os negócio s
Análise de Risco s
Devem ser analisados os riscos que os negócios da organização sofrerão com a
paralisação total ou parcial dos sistemas críticos.
35
Segurança em Redes
Infra-estrutura:
levantada Para o funcionamento
a infra-estrutura adequado
necessária para manterdos sistemas,
os níveis é necessário
mínimos que seja
de funcionamento
dos sistemas. Devem ser considerados itens como: roteadores, switchs, hubs, bridges,
rede, no-breaks, PABX, etc.
Recursos Humanos: Deve ser, levantado quantas pessoas são necessárias para operar
os sistemas e o grau de especialização necessário, quantas pessoas serão necessárias
para operar, administrar e dar suporte para os recursos de hardware e infra-estrutura.
De acordo com o Risk Management Guide do NIST (Junho/2001) podem-se classificar
as probabilidades de ocorrência de ameaças em 3 categorias:
36
Segurança em Redes
37
Segurança em Redes
38
Segurança em Redes
A criação das equipes varia de acordo com a metodologia aplicada pela organização.
As equipes devem ser formadas pelo pessoal de TI, executivos e usuários, em alguns
casos a definição das equipes só será possível após análises posteriores, como por
exemplo a equipe que fará a operação dos sistemas, abaixo descrevemos alguns
exemplos de equipes que podem ser formadas e suas responsabilidades:
39
Segurança em Redes
Hoje,acom
para o atual conceito
manutenção de queda
dos processos informática
empresa, éa uma
noçãoferramenta de negócio
de "Contingência" voltadaa
começou
tomar outro rumo.
De acordo com a metodologia do DRI (Disaster Recovery Institute), o Plano de
Contingência Operacional é o conjunto de atividades alternativas, previamente
planejadas, focadas na manutenção das atividades de negócio que sofram o risco de
serem interrompidas.
Continuidade torna-se a principal conseqüência de um conjunto de Planos de
Contingência.
Apesar de realmente fazerem parte fundamental dos planos de Recuperação de
Desastres e Continuidade, a contingência de componentes não garante Continuidade.
Apenas garante que encontraremos os meios necessários para planejá-la, de acordo
com nossas necessidades e limitações.
Desta forma, a preocupação com a continuidade dos negócios envolve a percepção de
que cada ítem utilizado para realizar os processos necessários sejam isoladamente
contingenciados e tenham alternativas viáveis de funcionamento, em caso de parada.
40
Segurança em Redes
A analise deverá cobrir os efeitos das perdas de dados e o corte da comunicação com
os funcionários, fornecedores e clientes.
Por antecipação temos exemplos dos possíveis desastres, isto é, fogo, enchentes,
invasões etc.., e você pode iniciar priorizando as causas mais prováveis, os riscos e os
impactos associados.
Fazer um Plano de Recuperação de Desastres
Backup
Sistema que possibilita a reprodução e a posterior restauração de informações a partir
de meios magnéticos, ópticos e outros.
Backup dos dados essenciais do negócio e de arquivos de programa deve, ser feito
regularmente.
41
Segurança em Redes
42
Segurança em Redes
AUDITORIA DE SISTEMAS
Uma auditoria pode ser definida como sendo o "exame das operações, atividades e
sistemas, com vista a verificar se são executados ou funcionam em conformidade com
determinados objetivos, orçamentos, regras e normas".
Uma auditoria típica, voltada para a avaliação da situação financeira de uma
organização, apresenta a seguinte estrutura:
O PROCESSO DE AUDITORIA
PLANEJAMENTO
AVALIAÇÃO DOS
CONTROLES INTERNOS
Teste substantivo
Revisão e avaliação
Relatório
43
Segurança em Redes
Planejamento da auditoria
Planejamento é o primeiro estágio no ciclo de vida da auditoria. Se executado
corretamente, ele deve garantir a eficiência e eficácia dos estágios posteriores da
auditoria.
Existem diversas fases de planejamento a serem realizadas pelo auditor:
44
Segurança em Redes
Test-deck
45
Segurança em Redes
Simulação paralela
Método que consiste na elaboração de programas de computador para simular as
funções da rotina do sistema em operação que está sendo auditada. Utiliza-se os
mesmos dados de input, da rotina em produção, como input do programa de simulação.
Teste de recuperação
Avaliação de um sistema em operação quanto aos procedimentos, manuais e/ou
automáticos, de recuperação e retomada do processamento, em situações de falhas.
Teste de desempenho
Verificação de um sistema em operação quanto ao consumo de recursos
computacionais e ao tempo de resposta de suas operações (exige instrumentos de
monitoração para hardware e software).
Teste de e st resse
Avaliação do comportamento de um sistema em operação quando submetido a
condições de funcionamento envolvendo quantidades, volumes e freqüências acima do
normal.
Teste de se guran ça
Avaliação dos mecanismos de segurança preventivos, detectivos e corretivos presentes
no sistema.
46
Segurança em Redes
Método
Os quedeseteste
casos concentra nasdecisões
avaliam estruturas internas
lógicas, de programas
loops, estruturas em desenvolvimento.
internas de dados e
caminhos dentro dos módulos.
47
Segurança em Redes
Metodologia OSSTMM
Tem por objetivo definir uma metodologia clara para execução de um pen-test e boas
práticas para realizações de processos como elaboração de relatórios.
A OSSTMM (Open Source Security Testing Methodology Manual) e OSSTMM Wireless
desenvolvido inicialmente por Peter Herzog da ISECOM, hoje conta com vários
especialistas em segurança.
Ela foi criada com intuito de apenas citar normas e metodologias para a comunidade de
segurança,
certificaçõesmas, como
válidas: obtevee um
OSSTMP grandee sucesso,
OSSTMA, hoje ela já através
seu reconhecimento conta com duas
do mundo
todo.
Padrões do ISECOM
Baseado em análises, e não em marcas comerciais
Consistente e repetido
Exaustivo
Válido além do momento do teste
Concordante com as leis locais
EQUIVALÊNCIAS
IT Information Libary
Germany: IT Baseline Protection Manual
German IT Systems
ISO 17799-2000
GAO/FISCAM
SET
NIST
MTRE
48
Segurança em Redes
MAPA DA SEGURANÇA
Segurança da Informação
Avaliação de Postura
Integridade da Informação
Exame de Inteligencia
Revisão da Inteligencia Competitiva
Recursos Humanos
Politicas de Controle
Controles de Informação
49
Segurança em Redes
Processo de Segurança
Revisão de Posturas
Analisando Requisição
Analisando Sugestões
Analisando Pessoas Confiáveis
Segurança na Internet
Logística e controle
Revisão de políticas
Revisão de detectores de intrusão
Levantamento da Rede
Identificação dos Serviços do Sistema
Busca de Informações Competitivas
Revisão da privacidade
Coleta de dados
Teste de aplicações para internet
Busca e verificação de vulnerabilidades
Roteamento
Teste de sistemas seguros
Teste de controle de acesso
Quebra de senhas
Medidas de contingência
Teste de negação de serviço (Dos)
Revisão das políticas de segurança
Revisão de alertas e logs
Segurança da Comunicação
Revisão de posturas
Teste de PBX
Teste de correios de voz
Revisão dos FAX
Teste dos modems
Segurança Wireless
Revisão de posturas
Verificação de radiação eletromagnética
Teste de redes Wireless 802.11
Verificação de redes Bluetooth
50
Segurança em Redes
51
Segurança em Redes
Responsabilidade pessoal
Segurança pessoal e controles de privacidade
Treinamento e definição de leis e éticas para política de segurança
Acesso a informações e infra-estrutura limitadas
52
Segurança em Redes
Analise de Vulnerabilidades
Identificação de possíveis vulnerabilidades.
Correlação de “exploit” com bases conhecidas de vulnerabilidades.
Não é realizado teste de Negação de Serviço (DOS)
Não utilizado a técnica de Brute Force.
Pen-Test Intrusivo
Levantamento de Dados
Varredura de portas ativas
Analise de Vulnerabilidades
Identificação de possíveis vulnerabilidades.
Correlação de “exploit” com bases conhecidas de vulnerabilidades.
Identificação de possibilidades de Negação de
Serviço (DOS)
Utilização de técnicas de brute force
Aquisição de Alvo s
Engenharia Social
Podemos considerar a engenharia social como a arte de enganar pessoas para
conseguir informações, as quais, não devíamos ter acesso.
Muitas vezes empregados de uma empresa deixam escapar informações sigilosas
através de um contato via telefone ou mesmo conversando em locais públicos como:
corredores, elevadores e bares.
Uma empresa pode ter os melhores produtos de segurança que o dinheiro pode
proporcionar. Porém fator humano é, em geral, o ponto mais fraco da segurança.
A certificação Ethical Hacker, baseada no livro “The Science and Practice of Persuasion
- Robert Cialdini”, considera a existência de 6 tipos de ataque baseados em engenharia
social:
53
Segurança em Redes
Todos os dias são jogados no lixo de empresas vários documentos por terem perdido
sua utilidade. Porém para um atacante esses documentos são informações úteis para
entender o funcionamento, a história e a maneira de operação da empresa.
Engenharia social reversa
Escapando do ataque
Formule uma política para procedimentos internos e externos;
Verifique se a pessoa que solicita a informação realmente pode ter acesso
aquela informação;
Possua uma política especifica para acesso remoto;
Criei uma boa barreira contra códigos maliciosos;
Use o correio eletrônico de modo seguro;
Treine seus funcionários!
Footprinting
Nada
do alvomais é do quetentando
da invasão, a busca burlar,
detalhada da maiorferramentas
se possível, quantidadeIDS’s
de informações possíveis
ou Firewalls.
A partir do resultado obtido pelo Footprint é traçado o plano/estratégia de invasão. Há
casos em que essa busca de informações chega a durar meses.
Uma das ferramentas para se levantar informações é o Google Hacking, que consiste
na atividade de usar os recursos de busca do site, visando atacar ou melhor proteger as
informações de uma empresa.
Informações soltas não têm valor nenhum, o trabalho de um atacante é juntar as
informações que conseguiu e montá-las como em um quebra-cabeça.
54
Segurança em Redes
Varredura
Enumeração
Técnica de extrair informações do ambiente alvo, como contas de usuários, recursos
compartilhados mal protegidos e principais serviços disponíveis.
Antes de testar o nosso ambiente alvo, precisamos saber quais serviços testar, que
tipos de ferramentas utilizarem, são informações como:
55
Segurança em Redes
A primeira vista ele nos retorna respostas normais como um ping faria. Mas ele nos
retorna algumas informações preciosas: flags.
Como dito de payload anteriormente, também devemos acrescentar que no TCP/IP,
quando estamos realizando o ThreeWay-Handshake, as portas do sistemas retornam
flags junto ao payload indicando se estão disponíveis ou não pra conexão:
flag=SA significa disponível
flag=RA significa indisponível.
round-trip min/avg/max = 0.0/0.0/0.0 ms /* Foi bl oqueado */
Varredura de Portas
56
Segurança em Redes
A varredura
pelas de portas
respostas. QuandoTCPa éporta
feitaalvo
peloresponde,
envio de pacotes à porta
os pacotes alvo e terão
recebidos aguardando-se
alguns de
seus campos analisados e, com base nesta análise, será possível determinar se a porta
está aberta e o nó ativo.
Atualmente, existem vários tipos de varredura TCP, algumas das quais são descritas a
seguir.
Varredura de Conexão TCP: Nesta varredura, a máquina de srcem tenta estabelecer
uma conexão válida com a porta alvo, durante a qual deve ocorrer o "3 way handshake"
do protocolo TCP, este processo consiste no envio de um pacote "SYN" à porta alvo, no
recebimento de um pacote "SYN/ACK" \ e finalmente no envio do pacote "ACK" à porta
alvo. Caso a conexão seja completada com sucesso, é possível afirmar que a porta
está aberta e o nó ativo.
Por realizar uma conexão completa, esta varredura pode ser facilmente percebida por
ferramentas de detecção de intrusão e por essa razão raramente é utilizada com
finalidade furtiva.
Varredura TCP SYN: esta varredura também é conhecida como varredura semi-aberta,
pois ao receber o pacote "SYN/ACK" vindo da porta alvo, o nó, que srcinou a primeiro
pacote, não responde com o pacote "ACK" . Ao receber o pacote com os bits
"SYN/ACK" setados, o nó pode-se afirmar que a porta está aberta. Contudo, se for
recebido um pacote com os bits "RST/ACK", a porta provavelmente não está no estado
de escuta.
Varredura TCP FIN: este técnica é muito utilizada contra sistemas baseados em UNIX,
pois quando estes recebem um pacote "FIN" destinado à porta fechada, eles enviam de
volta um pacote "RST", contudo o mesmo não acontece com sistemas Windows que
ignoram o pacote. Este padrão é documentado na RFC793 .
Varredura TCP Xmas Tr ee: neste caso ocorre o envio de um pacote com os bits "FIN"
, "URG" e "PUSH" ligados à porta alvo e segundo a RFC793, toda porta fechada deve
responder com um pacote "RST"
Varredura TCP NULL: Quando uma porta alvo recebe um pacote com todos os flags
desligados (setados como 0), ela deve responder com um pacote "RST" caso esteja
fechada.
Varredura TCP ACK: Esta técnica é usada para mapear regras de um determinado
firewall, permitindo determinar se o firewall é apenas um filtro de pacote ou um firewall
de estados.
Varredura TCP Windows: Esta técnica analisa o tamanho do campo Window do
protocolo TCP e permite determinar se a porta está aberta , filtrada ou não filtrada .
57
Segurança em Redes
Esta análise é possível, pois alguns gateways de segurança alteram o valor deste
campo quando filtram determinadas portas.
Varredura TCP RPC: Esta técnica permite identificar qual é a versão dos aplicativos
RPC \footnote {O serviço RPC (Remote Procedure Call) é especifico do sistema
operacional UNIX. que estão ativos em um nó Unix Like. Alguns dos serviços que
fazem uso do RPC são o NFS (Network File System) e o NIS (Network Information
Service).
Nmap
58
Segurança em Redes
-sS ou TCP SYN scan: Técnica também conhecida como “half-open”, pois não abre
uma conexão TCP completa. É enviado um pacote SYN, como se ele fosse uma
conexão real e aguarda uma resposta. Caso um pacote SYN-ACK seja recebido, a
porta está aberta, enquanto um como resposta indica que a porta está fechada. A
vantagem dessa abordagem é que poucos irão detectar esse scanning de portas.
-sT ou TCP connect() scan: É a técnica mais básica de TCP scanning. É utilizada a
chamada de sistema (system call) “connect()” que envia um sinal as portas ativas. Caso
a porta esteja aberta recebe como resposta “connect()”. É um dos mais rápidos, porém
fácil de ser detectado.
-sU ou UDP scan: Este método é utilizado para determinar qual porta UDP está aberta
em um host. A técnica consiste em enviar um pacote UDP de 0 byte para cada porta do
host. Se for recebido uma mensagem ICMP “port unreachable” então a porta está
fechada, senão a porta pode estar aberta. Para variar um pouco, a Microsoft ignorou a
sugestão da RFC e com isso a varredura de máquinas Windows é muito rápida.
-sV ou Version detection : Após as portas TCP e/ou UDP serem descobertas por
algum dos métodos, o nmap irá determinar qual o serviço está rodando atualmente. O
arquivo nmap-service-probes é utilizado para determinar tipos de protocolos, nome da
aplicação, número da versão e outros detalhes.
-sF, -sX, -sN ou Stealth FIN, Xmas Tree ou Null: Alguns firewalls e filtros de pacotes
detectam pacotes SYN's em portas restritas, então é necessário utilizar métodos
avançados para atravessar esses softwares.
FIN: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto
portas abertas ignoram esses pacotes. (Esse método não funciona com a plataforma
Windows, uma vez que a Microsoft não seguiu RFC 973)
Xmas Tree: Portas fechadas enviam um pacote RST como resposta a pacotes FIN,
enquanto portas abertas ignoram esses pacotes. As flags FIN, URG e PUSH são
utilizados no pacotes FIN que é enviado ao alvo. (Esse método não funciona com a
plataforma Windows, uma vez que a Microsoft não seguiu RFC 973)
Null: Portas fechadas enviam um pacote RST como resposta a pacotes FIN, enquanto
portas abertas ignoram esses pacotes. Nenhuma flag é ligada no pacote FIN. (Esse
método não funciona com a plataforma Windows, uma vez que a Microsoft não seguiu
RFC 973).
IP-SCAN - Hos t Disco very
O Angry IP Scanner, é uma ferramenta gráfica para windows bem interessante, vamos
analisar o seu funcionamento.
Faca o Download do Angry IP Scanner em : http://www.angryziber.com/ipscan/
Faremos um teste com a rede 64.152.0.0 – 64.159.255.255.
Este range pertence a Claria, uma companhia que recentemente se fundiu com a Gator,
a famosa Spyware Company.
59
Segurança em Redes
Sniffing,
conhecidaemcomo
redeSniffer
de computadores, é o procedimento
(também conhecido realizado
como Packet por uma ferramenta
Sniffer, Analisador de Rede,
Analisador de Protocolo, Ethernet Sniffer em redes do padrão Ethernet ou ainda
Wireless Sniffer em redes wireless).
Esta ferramenta, constituída de um software ou hardware, é capaz de interceptar e
registrar o tráfego de dados em uma rede de computadores. Conforme o fluxo de dados
trafega na rede, o sniffer captura cada pacote e eventualmente decodifica e analisa o
seu conteúdo de acordo com o protocolo definido em um RFC ou uma outra
especificação.
O sniffing pode ser utilizado com propósitos maliciosos por invasores que tentam
capturar o tráfego da rede com diversos objetivos, dentre os quais podem ser citados,
obter cópias de arquivos importantes durante sua transmissão, e obter senhas que
permitam estender o seu raio de penetração em um ambiente invadido.
Vulnerabilidades
Malwares
A expressão “Malware” nasceu da justaposição das palavras Malicious Software
(programas maliciosos) e é utilizada quando se pretende fazer referências genéricas a
pragas virtuais.
Basta abrir o noticiário de tecnologia e pronto, ficamos por dentro da nova peste
eletrônica da moda, a causar milhões em prejuízos. Foi assim com os vírus Ninda,
60
Segurança em Redes
Vírus
Vírus de computador são programas capazes de se reproduzir. O ato de se reproduzir,
no caso destes Vírus, é a capacidade do mesmo de se copiar de um computador a
outro se utilizando de diversos meios: através dos disquetes, embutindo-se em
documentos de texto ou planilhas de cálculo e, atualmente, distribuindo-se por e-mail.
Ao contrário do que se costuma imaginar, o vírus digital não é uma novidade e tão
pouco surgiu com a internet. Alguns programas já eram capazes de se auto-replicar
desde a primeira metade do século passado (bem antes, portanto, do boom da
computação pessoal), embora o termo somente tenha entrado para o léxico da
informática em 1983, quando Fred Cohen (um pesquisador da universidade da
Califórnia) respaldou sua tese de doutorado em Engenharia nos estudos de pragas
eletrônicas criadas experimentalmente. Logo depois surgiu o primeiro vírus capaz de
infectar o sistema operacional da “Apple” (que disseminava via cópias piratas de
disquetes, geralmente de jogos) e, em 1986 “nascia”, no Paquistão, o vírus Brain (que
se instalava no setor de boot dos disquetes e discos rígidos, mas não causavam
maiores estragos).
Esses “programas do mal” acompanharam com louvor a evolução da informática.
Aparições mais recentes são compostas por milhares de linhas de códigos e ou utilizam
técnicas hacker para se propagarem por meio da rede à razão de milhões de sistemas
infectados em questão de dias.
Conceito de Vírus
O conceito de vírus é simples, os vírus nada mais são do que programas (ou
fragmentos de programas) que integram instruções maliciosas ou danosas aos
sistemas onde são executados, sem o conhecimento e sem o consentimento do
usuário. Um programa destrutivo, em si, não é necessariamente um vírus. Para ser
considerado como tal, o programa infectante precisa ter a intenção de se reproduzir.
Todos esses “programas” são potencialmente perigosos, ainda que nem sempre
destrutivos. No caso específico dos vírus, os danos causados ao sistema podem ser
incidentais, até porque seu criador talvez não tenha previsto determinados efeitos
colaterais. Alguns vírus apenas ocupam recursos do sistema, exibem mensagens
engraçadas ou malcriadas no monitor ou enviam-nas para a impressora. Outros
apagam arquivos essenciais, excluem documentos, programas e são capazes até de
aniquilar o registro de inicialização do sistema no HD, sobrescrever a BIOS e levar o
61
Segurança em Redes
computador contaminado ao colapso total. Portanto é bom deixar claro que estamos
falando apenas de tecnologia, um programa, qualquer que seja ele, atende aos
desígnios do programador, e tanto poderá ser direcionado a interagir com o operador
do sistema, como a executar automaticamente as mais variadas tarefas.
Tipos de Vírus
Vírus de arquivos
Essa classe
programa deovírus
que seleciona
contém um ou Ou
é executado. maisseja,
programas
toda vezpara
queinfectar cadainfectado
o arquivo vez quefor
o
executado, novos programas são contaminados, mesmo não sendo usados.
Como isso acontece?
Uma vez contaminado um arquivo, o programa (vírus) faz uma procura no winchester
(ou o hard disk) por arquivos executáveis. Cada arquivo encontrado é colocado em uma
lista, depois, na nova execução do arquivo contaminado o vírus seleciona
aleatoriamente um ou mais arquivos, e esses também serão contaminados.
Vírus Residentes
Essa classe esconde-se em algum lugar na memória na primeira vez que o programa é
infectado. Da memória do computador, passa a infectar os demais programas que
forem executados, ampliando progressivamente as frentes de contaminação.
Um vírus também pode ser ativado a partir de eventos ou condições pré-determinadas
pelo criador, como data (como a sexta feira 13, por exemplo), número de vezes que um
programa é rodado, um comando específico, etc.
Vírus de sis tema ou vírus de boot
Infectam códigos executáveis localizados nas áreas de sistema do disco. Todo drive
físico, seja disco rígido, disquete ou CD-ROM, contém um setor de boot. Esses setores
de boot contém informações relacionadas à formatação do disco, dos diretórios e dos
arquivos armazenados nele. Além disso, pode conter um pequeno programa chamado
de programa de boot (responsável pela inicialização do sistema), que executa a “carga”
dos arquivos do sistema operacional (o Windows XP, por exemplo). Contudo, como
62
Segurança em Redes
todos os discos possuem área de boot, o vírus pode esconder-se em qualquer disco ou
disquete, mesmo que ele não seja de inicialização ou de sistema (de boot).
Um comportamento comum entre os vírus de boot que empregam técnicas mais
avançadas de invisibilidade é exibir os arquivos de boot srcinais sempre que for feita
uma solicitação de leitura do sector 1 da track 0. Enquanto o vírus estiver residente na
memória, ele redireciona todas as solicitações de leitura desse setor para o local onde
esse conteúdo srcinal está armazenado. Essa técnica engana as versões mais antigas
de alguns anti-vírus. Alguns vírus, ainda mais avançados, chegam a marcar o setor
onde os arquivos
usuários de boot
não possam foramocolocados,
descobrir como,
setor de boot em sendo umconsiderado
um lugar setor ilegível, para que os
incomum.
Vírus múltiplos
São aqueles que infectam tanto os arquivos de programa comuns como os setores de
boot e ou MBR, ou seja, correspondem à combinação dos dois tipos descritos
anteriormente. Tais vírus são relativamente raros, mas o número de casos aumentam
constantemente. Esse tipo de vírus é extremamente perigoso, pois pode agir tanto no
setor de boot, infectando arquivos assim que eles forem usados, como pode agir como
um vírus de ação direta, infectando arquivos sem que eles sejam executados.
Vírus de macro
Por volta de 1990, surgiu o primeiro vírus furtivo (ou stealth, inspirado no caça Stealth,
invisível a radares). Esse tipo de vírus utiliza técnicas de dissimulação para que sua
presença não seja detectada nem pelos antivírus, nem pelos usuários. Por exemplo, se
o vírus detectar a presença de um antivírus na memória, ele não ficara na atividade,
interferira em comandos como dir e o chkdsk, apresentando os tamanhos srcinais dos
arquivos infectados, fazendo com que tudo pareça normal.
63
Segurança em Redes
Um dos mais recentes vírus. Os encriptados, são vírus que por estarem codificados,
dificultam a ação de qualquer antivírus. Felizmente, esses arquivos não são fáceis de
criar e nem muito populares.
Vírus mutantes ou polimórfic os
64
Segurança em Redes
Ainda que não tenham provocado grandes epidemias, esses códigos maliciosos se
propagam em redes de troca de arquivos peer-to-peer (programas como o KAZAA, que
permitem aos usuários acessar arquivos instalados nos discos rígidos de outros que
utilize o mesmo serviço).
Worms
O worm não é um vírus, mas tem a capacidade de se propagar automaticamente
através de redes e enviar cópias suas de uma máquina a outra.
Apenas para citar alguns exemplos, os “worms” (vermes), ainda que parentes próximos
dos “vírus”, não se encaixam na sua definição tradicional, porque não necessitam de
um hospedeiro, embora tenham capacidade de se auto-replicar.
Um worm é um tipo específico que se propaga em vários computadores, normalmente
criando cópias dele mesmo na memória do micro.
Dizer que os worms não são vírus dá-se pelo fato de se auto-propagarem, enquanto os
vírus infectam arquivos e só são ativados quando um arquivo infectado é executado
propagar. Sua propagação se dá através da exploração de vulnerabilidades existentes
ou falhas na configuração de softwares instalados em computadores. Os worms são os
mais perigosos e difíceis de remover.
O worm consome muitos recursos, comprometendo o desempenho de redes e lotando
ocópias
discode
rígido do computador, isso porque ele costuma propagar grande quantidade de
si mesmo.
Spywares
São softwares que monitoram o uso do computador, podendo ser usado legitimamente
ou maliciosamente. Na maioria das vezes são utilizados para roubar informações como
a lista de endereços de e-mail, por exemplo, enviando-as a spammers.
Ele pode ser usado de modo legítimo nas empresas, monitorando os hábitos de seus
funcionários, desde que esteja previsto em contrato ou na política de segurança da
empresa. Maliciosamente ele pode ser instalado por um cavalo de tróia para que
quando o usuário acessar determinados sites de bancos ou de comércio eletrônico, o
keylogger ou screenlogger (instalado também pelo cavalo de tróia) é ativado para a
captura de senhas bancárias ou números de cartões de crédito;
Adwares
Adware (Advertising software) é um software projetado para apresentar propagandas,
através de um browser ou de outro programa instalado no computador. Há alguns
adwares que são considerados um tipo de spyware pois monitoram seu uso da internet,
podendo roubar informações relativas à navegação (como por exemplo, sites visitados),
para direcionar propagandas.
65
Segurança em Redes
Hijackers
Programas que alteram o comportamento do seu navegador, fazendo com que ele
acesse páginas e sites específicos sem que você o tenha configurado para isso.
Keyloggers
O termo root kit vem designar uma série de ferramentas utilizadas por um invasor para
modificar ou ocultar a sua presença em um sistema invadido.
A idéia inicial é a de que uma série de programas disfarçados em arquivos do sistema
pudesse realizar tarefas de roubo de informações, possibilidade de acesso não
autorizado a qualquer momento e, em caso de necessidade, desativação da máquina
hospedeira.
Exploits
66
Segurança em Redes
67
Segurança em Redes
Nessus
Nessus é uma ferramenta para auditoria de segurança. Com ele é possível verificar
varias vulnerabilidades em sua rede. O nessus permite que se faça isso de uma forma
segura, não permitindo que usuários não autorizados possam scanear sua rede com
ele. Ele é composto por duas partes, sendo um cliente e um servidor.
O nessus possui uma GUI muito flexível onde você configura vários detalhes de
varredura na sua rede. Nela pode-se configurar quais plugins( ataques ) usar e os
hosts(targets) que serão scanneados. Primeiramente rode o nessus cliente, bastando
para isso digitar nessus na linha de comando. Ele pedirá, então, a senha que você
configurou inicialmente. Vamos abordar agora quais são as opções de configuração do
cliente nessus.
68
Segurança em Redes
Prefs. e: São
imap smb.especificados valores
De porte desses comoo usuários
dados e senhas
nessus pode fazerdeverificações
serviços como ftp, mais
muito pop,
eficitentes nos seus hosts, já que alguns exploits pressupõem que o "explorador" possui
uma conta válida de algum desses serviços. Também é possível configurar o tipo de
scan que será usado pelo nmap ( caso possua ).
Scan Option -> Aqui pode-se especificar as portas que serão scaneadas pelo nessus,
use virgula para portas individuais e hífen para intervalos(80,110,443-1024). No caso de
utilizar o nessus para scanear servidores web é bastante interessante especificar o
path, ou caminho, dos CGI's no seu servidor. Por exemplo s se você especificar o path
/cgi-bin/ para o nessus procurará por CGI's "exploitáveis” em http://host/cgi-bin/.
Para instalar o Nessus você precisa ter instalado o pacote nmap também, e além no
pacote nessus, precisamos instalar os pacotes nessus-plugins, nessusd e nessus-dev
Depois de instalar, você precisa criar um login de usuário para utilizar o Nessus. Este
login é válido apenas para o Nessus, não é um login de sistema.
Para criar o login, chame o programa nessus-adduser. Ele pedirá o login e senha, o tipo
de autenticação (escolha sempre cipher) e permitirá que você adicione regras para o
usuário. Se você quiser apenas criar o usuário usando as regras default basta
pressionar Ctrl + D. Ele pedirá uma última confirmação, basta responder "y":
Criamos o usuário senai com a senha “senai123”
O Nessus utiliza um sistema cliente-servidor, onde uma vez iniciado o módulo servidor
passa a ser possível rodar o cliente em qualquer máquina da rede (para isso é criado o
login de usuário). O certificado oferece uma segurança maior ao acessar o servidor
Nessus, pois garante que ele não foi substituído por outra máquina comprometida.
Após estar com o servidor do Nessus funcionando, podemos iniciar o scan. Há dois
modos de fazer isto: com a GUI, interface gráfica do Nessus (caso você a tenha
instalado ) ou pelo modo console, padrão na maioria das instalações. Primeiramente,
vou falar sobre como usar o modo gráfico (GTK).
Modo Gráfico
$ nessus
O primeiro passo é logar-se no servidor Nessus, fornecendo seu login e senha. Nas
configurações do programa você tem acesso a várias opções, entre elas a faixa de
portas TCP e UDP que devem ser escaneadas:
69
Segurança em Redes
Se você quiser um teste completo, use a faixa 1-65536. Este teste é ideal para PCs da
rede local, mas pode demorar bastante caso seja feito via Internet.
Basicamente, ele envia um pacote TCP e outro pacote UDP para cada porta e para
cada PC a ser testado. Se você quiser testar uma faixa inteira de endereços IP, com
seus 255 PCs teremos nada menos que 33.423.360 pacotes, que correspondem a mais
de 750 MB de dados.
Alguns testes do Nessus podem travar alguns PCs vulneráveis, como por exemplo
estações Windows 95 perigoso,
testes potencialmente vulneráveis ao "ping
evitando da morte".
prejuízos aosAusuários.
opção "Safe checks" desativa
De qualquer forma, o
ideal é fazer o teste à noite, ou em algum horário em que os PCs não estejam sendo
utilizados.
Na seção "Target Selection" você define o alvo, fornecendo seu IP. Se você quiser
testar as vulnerabilidades da própria máquina local, o endereço é o "localhost". Se você
quiser testar de uma vez toda a sua rede local, basta fornecer o endereço da rede,
como em "192.168.0.0" ou "10.0.0.0".
Concluído o teste, ele exibe uma lista com as vulnerabilidades encontradas em cada
PC. Existem três níveis de alerta, o primeiro e mais grave tem o símbolo de uma luz
vermelha e indica uma brecha de segurança em um servidor ativo na máquina. O
screenshot abaixo por exemplo temos uma máquina Linux rodando uma versão antiga
do Samba, que permite que clientes não autorizados loguem-se no servidor. Além de
70
Segurança em Redes
71
Segurança em Redes
O terceiro nível de alerta tem o símbolo de uma luz. Estes são apenas lembretes de
que existe um servidor ativo na porta indicada, mas sem que fosse detectada qualquer
brecha de segurança:
Modo Console
72
Segurança em Redes
Nikto
Nikot é uma ferramenta Open Source para análise de vulnerabilidades em web servers,
incluindo 3200 arquivos/cgi potencialmente perigosos e 230 versões de problemas
específicos.
Ele pode ser usado para procurar problemas em arquivos perigosos, ele é pequeno e
pode automatizar a auditoria dos servidores web, analisando as pastas e arquivos que
seriam interessantes ao atacante.
Para atualizar o nikto para a ultima versão com o comando
$nikto.pl –update
IntelliTamper
O IntelliTamper trabalha quase igual ao nikto, mas ele não procura vulnerabilidades
propriamente ditas, ele lista toda a estrutura o website, para que possamos verificar
algum arquivo com bug no webserver.
Sua utilização é muito simples, podemos mapear toda a estrutura do site alvo, mas
antes, vamos verificar algumas opções:
File -> Options
73
Segurança em Redes
74
Segurança em Redes
versões antigas do ICQ possuem defeito que abre um Backdoor que permite ao hacker
derrubar a conexão do programa com o servidor, fazendo que ele pare de funcionar.
Cavalo d e Tróia
Conta a mitologia grega, que há muito tempo atrás, houve uma guerra entre as cidades
de Atenas e de Tróia. Como Tróia era extremamente fortificada, os militares gregos a
consideravam inexpugnável.
Para dominá-la os gregos construíram uma enorme estátua de madeira na forma de um
cavalo e deram de presente para os troianos que a aceitaram de bom grado. O
problema é que o cavalo foi recheado com centenas de soldados que, durante a noite,
abriram os portões da cidade possibilitando a entrada dos soldados gregos e a
dominação de Tróia.
Daí surgiram os termos Presente de Grego e Cavalo de Tróia. Em tempos modernos o
cavalo virou um programa e a cidade o seu computador.
Conhecidos como Cavalos de Tróia ou Trojan Horses estes programas são construídos
de tal maneira que, uma vez instalados nos computadores, abrem portas em seus
micros, tornando possível o roubo de informações (arquivos, senhas, etc.).
Os Trojans não são vírus, pois não tem a capacidade de se replicar, mas se instalam
nos computadores sem permissão do usuário e trazem uma série de transtornos.
Eles são recebidos normalmente como um presente (um software gratuito como Kazaa,
Morpheus, jogo, protetor de tela, etc) que esconde uma ameaça fatal preparada para
atacar os computadores de dentro para fora e, muitas vezes, deixá-los vulneráveis a
ameaças externas, como vírus e ataques de hackers.
Abaixo há alguns males provocados pelos cavalos de tróia:
Instalação de keyloggers;
Furto de senhas e números de cartões de crédito;
Inclusão de backdoor (Programa que permite a um invasor retornar a um
computador comprometido. Normalmente este programa é colocado de
forma a não ser notado), para permitir que um atacante tenha total controle
sobre o computador e;
Alteracão ou destruição de arquivos.
Os sites de pirataria e de troca de programas são outro perigo, quase sempre eles têm
programas que procuram falhas no Internet Explorer para instalar trojans e spywares,
para capturas de dados como endereços de e-mail, senhas digitadas para posterior
transmissão via modem para o fabricante do programa.
Os Cavalos de Tróia levam a máquina infectada a atuar como um servidor (fazendo
com que o mandante do trojan possa manipular e usar seu computador para ataques
em massa chamados de “denial of service”), facultando acesso remoto ao invasor que
disponha do módulo cliente do programa.
O cavalo de tróia instalará programas, sem que o usuário perceba, para facilitar ao
invasor acesso aos arquivos do usuário, com possibilidade até de formatar o disco
rígido do usuário.
75
Segurança em Redes
Spoofing
Ato de usar uma máquina para personificar e invadir outra. Isso é feito forjando o
endereço de srcem de um ou mais micros. Para realizar uma sessão bem-sucedida,
crakers temporariamente "silenciam" o computador que eles estão personificando.
No contexto de redes de computadores, IP spoofing é uma técnica de subversão de
sistemas informáticos que consiste em mascarar (spoof) pacotes IP com endereços
remetentes falsificados.
Devido às características do protocolo IP, o reencaminhamento de pacotes é feito com
base numa premissa muito simples: o pacote deverá ir para o destinatário (endereço-
destino); não há verificação do remetente o router anterior pode ser outro, e ao nível do
IP, o pacote não tem qualquer ligação com outro pacote do mesmo remetente. Assim,
torna-se trivial falsificar o endereço de srcem, podem existir vários computadores a
enviar pacotes fazendo-se passar pelo mesmo endereço de srcem, o que representa
uma série ameaça para os velhos protocolos baseados em autenticação pelo endereço
IP.
Falsificação de um pacote: A cada pacote enviado estará geralmente associada uma
resposta (do protocolo da camada superior) e essa será enviada para a vítima, pelo o
atacante não pode ter conhecimento do resultado exato das suas ações apenas uma
previsão.
Esta técnica, utilizada com outras de mais alto nível, aproveita-se, sobretudo, da noção
de confiabilidade que existe dentro das organizações: supostamente não se deveria
temer uma máquina de dentro da empresa, se ela é da empresa. Mas isto não é bem
assim, como indica o parágrafo anterior. Por outro lado, um utilizador torna-se também
confiável quando se sabe de antemão que estabeleceu uma ligação com determinado
serviço. Esse utilizador torna-se interessante, do ponto de vista do atacante, se ele
possuir (e estiver a usar) direitos priveligiados no momento do ataque.
Bom, mas resta a interação com as aplicações, além de que as características do
protocolo IP permitem falsificar um remetente, mas não lhe permitem receber as
respostas essas irão para o endereço falsificado. Assim, o ataque pode ser considerado
cego.
Por outro lado, ao nível das aplicações, este protocolo é frequentemente acoplado ao
TCP, formando o TCP/IP. Isto quer dizer que existe encapsulamento do TCP dentro do
IP (e os dados dentro do TCP), o que remete ao atacante a necessidade de saber que
dadosou
TCP, TCP incluir
TCP no pacote
session falsificado.
hijacking em inglês.Essa técnica é conhecida por desvio de sessão
Existem métodos para evitar estes ataques, como a aplicação de filtros de pacotes,
filtro ingress nos gateways; faz sentido bloquear pacotes provindos da rede externa
com endereços da rede local. Idealmente, embora muito negligenciado, usar um filtro
egress que iria descartar pacotes provindos da rede interna com endereço de srcem
não-local que fossem destinados à rede externa pode prevenir que utilizadores de uma
rede local iniciem ataques de IP contra máquinas externas.
76
Segurança em Redes
Como
Por se sempre
isso, pode ver, é uma
testar falha sistemas
os seus extremamente sériaverificar
web para e bem conhecida
a existênciapelos atacantes.
de tais falhas é
o mínimo antes de disponibilizar o serviço na Internet.
O site Security Hacks publicou uma lista mostrando as principais ferramentas utilizadas
para automatizar os testes de SQL Injection em seus sistemas. Devido á criticidade
desse tipo de falha, é sempre bom contar com ferramentas que automatizem e alertem
sobre tais falhas para você não ter mais problemas futuros.
77
Segurança em Redes
78
Segurança em Redes
Hardening
Definição
A tradução para o termo Hardening é Endurecimento, porém o conceito pode ser
entendido de várias formas como segue:
Blindagem do Sistema;
Fortalecimento do Sistema;
Ajuste Fino;
Procedimentos de segurança PósInstalação;
Técnicas de segurança PósInstalação.
Quandoimportantes:
fatores se trabalha com técnicas de Hardening, é preciso levar em consideração 3
Segurança
Risco
Flexibilidade
As duas ultimas variáveis tendem a se compartar de forma previsível conforme a
prioridade que se dê a ao item segurança, como segue:
79
Segurança em Redes
Instalando o SO
Senhas
Escol ha uma senha p ara a BIOS
Mídi a de Instalação
Observe que alguns serviços podem ter vulnerabilidades de segurança não corrigidas
nos pacotes que você estiver usando para a instalação. Isto normalmente será verdade
se você estiver instalando a partir de mídia antiga (como CD-ROMs). Neste caso, o
sistema poderia estar comprometido antes de terminar a instalação!
Uma vez que a instalação e atualizações do sistema podem ser feitas pela internet você
pode pensar que é uma boa idéia usar este recurso na instalação. Se o sistema está
diretamente conectado (e não está protegido por um firewall ou NAT), é melhor instalar
sem conexão com a grande rede usando um mirror local com os pacotes e as
atualizações de segurança.
Você pode configurar mirrors de pacotes usando outro sistema conectado com
ferramentas específicas do sistema como apt-move ou apt-proxy, ou outras, para
fornecer os arquivos para o sistema instalado. Se não puder fazer isto, você pode
configurar regras de firewall para limitar o acesso ao sistema enquanto estiver
atualizando.
Particionamento
Esquema de partição inteligente
Um esquema de partição inteligente depende de como a máquina será usada. Uma boa
regra é ser razoavelmente generoso com suas partições e prestar atenção aos
seguintes fatores:
Qualquer diretório que um usuário tenha permissões de escrita, como o
/home, /tmp e o /var/tmp/, devem estar separados em uma partição. Isto
reduz o risco de um usuário malicioso utilizar o DoS (Denial of Service) para
encher seu diretório raiz ( / ) e tornar o sistema inutilizável (Observação: isto
não é totalmente verdade uma vez que sempre existe algum espaço
reservado para o usuário root que o usuário normal não pode preencher), e
também previne ataques tipo hardlink.
80
Segurança em Redes
Do ponto de vista da segurança, é sensato tentar mover os dados estáticos para sua
própria partição e então montar esta partição somente para leitura. Melhor ainda será
colocar os dados numa mídia somenta para leitura. Veja abaixo para mais detalhes.
No caso de um servidor de email é importante ter uma partição separada para o spool
de email. Usuários remotos (conhecidos ou não) podem encher o spool de email
(/var/mail e/ou /var/spool/mail). Se o spool está em uma partição separada, esta
situação não tornará o sistema inutilizável. Porém (se o diretório de spool está na
mesma partição que /var) o sistema pode ter sérios problemas: log não serão criados,
pacotes podem não ser instalados e alguns programas podem ter problemas ao iniciar
(se eles usam /var/run).
Opções especiais de montagem
Nós podemos fazer com que o sistema trate certos arquivos de forma diferente com
algumas opções, o que é mais interessante do ponto de vista de segurança.
Podemos verificar as opções de montagem com o comando “mount” ou diretamente no
arquivo /etc/fstab:
mount /dev/hda7 –t reiserfs –o nosuid,nodev /tmp
No fstab ficaria:
/dev/hda7 /tmp reiserfs nosuid,nodev 0 0
A tabela abaixo ilustra algumas opções existentes para sistemas de arquivos de tipo
ext3 e RaiserFS, que foram o sistema de arquivo que escolhemos para criar as
partições da instalação anterior.
Opção Efeito
nodev(*) Dispositivos especiais de bloco ou caractere do sistema de arquivos não
serão interpretados se nodev estiver especificado.
Bits SUID e SGID não terão efeito. Se um usuário comum executar um
nosuid(*) programa SUID ou SGID que force a troca para outro usuário, receberá o
erro de permissão negada.
noexec(*) Não permite a execução de binários. Note que scripts ainda poderão ser
executados usando, por exemplo, bash foo.sh em vez de ./foo.sh.
A partição será montada somente para leitura ( read-only) ou para leitura e
ro, rw
escrita (read-write), respectivamente.
user, A partição pode (user) ou não (nouser) ser montada por usuários que não
nouser(*) sejam root.
usrquota Ativa a quota de disco por usuário.
81
Segurança em Redes
Opção Efeito
grpquota Ativa a quota de disco por grupo.
Toda a operação de entrada e saída nesta partição será síncrona. Isto
[a] tornará a escrita nesta partição mais lenta, mas também menos suscetível a
sync(*) problemas caso, por exemplo, falte energia elétrica logo após a operação
de escrita.
[a]
Esta opção não é mais tão útil, devido ao uso de sistemas de arquivos com
journalling, como ext3.
O diretório /var é usado para guardar e-mails, arquivos de log, dados de programas
(banco de dados RPM,MYSQL, por exemplo) e outras coisas. Mas /var/tmp pode ser
utilizado pelo processo de compilação de um pacote RPM para guardar os scripts que
serão usados. Se noexec for usado, esses scripts não funcionarão. Portanto, use
noexec com cuidado, pois alguma aplicação pode ter o funcionamento comprometido.
Uma outra opção é colocar /var/tmp em uma outra partição, e permitir a execução
nesta.
Outra exceção: caso existam pacotes que usem o /var, como ambiente de chroot, e
necessitem de arquivos de dispositivos, como o BIND, a opção nodev deve ser
removida.
/boot: n oexec,nosuid,nodev,ro
Esta partição possui bem pouca atividade no sistema. Na verdade, após o boot (que
nem sabe o sistema de arquivos que roda ali, quanto menos opções de montagem da
partição), ela só é usada quando se faz uma atualização do kernel ou da imagem de
disco inicial (initrd). Nada deve ser executado ali, arquivos de dispositivos não são bem-
vindos e ela deve ser montada read-only. Quando se fizer uma atualização do kernel,
basta remontá-la com a opção read-write.
/home: nos uid,nodev, noexec
Aqui depende do administrador da máquina quais das opções acima serão usadas.
Recomenda-se pelo menos usar nosuid e nodev. Pode-se ainda usar a opção noexec,
mas o usuário sempre poderá executar binários, bastando, por exemplo, copiá-los para
o /tmp
82
Segurança em Redes
O sistema não deve ser imediatamente conectado a internet durante a instalação. Isto
pode parecer estúpido mas intalação via internet é um método comum. Uma vez que o
sistema
internet einstalará
e ativará serviços adequadamente
imediatamente, se o sistema estiver conectado a
os serviços não estiverem configurados, você estará abrindo
brechas para ataques.
Configure a senha do root
Configurar uma boa senha para o root é o requerimento mais básico para ter um
sistema seguro. Você também pode usar um programa gerador de senhas para fazer
isto para você.
Muita informação sobre a escolha de boas senhas pode ser encontrada na internet;
dois locais que fornecem um sumário decente e racional são How to: Pick a Safe
Password do Eric Wolfram e Unix Password Security do Walter Belgers.
Atualizações
Assim que novos bugs são descobertos nos pacotes, os mantenedores do sistema e
autores de software geralmente aplicam patches dentro de dias ou até mesmo horas.
Após uma falha ser corrigida, um novo pacote é disponibilizado em
http://security.debian.org.
Se estiver instalando um lançamento do Debian, você deverá ter em mente que desde
que o lançamento foi feito devem existir atualizações de segurança que podem
determinar um pacote como vulnerável. Também existem lançamentos menores (foram
sete no lançamento da 2.2 potato) que incluem estas atualizações de pacotes.
Você precisa anotar a data em que a mídia removível foi feita (se estiver usando uma) e
verificar o site de segurança para ter certeza que existem atualizações de segurança.
Se existem atualizações e você não puder baixar os pacotes de um site
83
Segurança em Redes
Você
serviçonão deve instalar
instalado serviçosnovos,
pode introduzir que não sãonão
talvez necessários
óbvios ou em sua máquina.
conhecidos, Todo
buracos de
segurança em seu computador.
Como você já deve saber, quando você instala um serviço o padrão é ele ser ativado.
Em uma instalação Debian padrão, sem nenhum serviço a mais instalado, o footprint de
serviços rodando é baixo mesmo quando falamos de serviços oferecidos para a rede.
Quando você instala um novo serviço de rede (daemon) em seu sistema Debian
GNU/Linux ele pode ser habilitado de duas maneiras: através do superdaemon inetd
(uma linha será adicionada ao /etc/inetd.conf) ou através de um programa que serve de
interface. Estes programas são controlados pelos arquivos /etc/init.d, que são
chamados no momento da inicialização através do mecanismo SysV (ou outro
alternativo) pelo uso de symlinks em /etc/rc?.d/*.
Se você quer manter algum serviço, mas que será usado raramente, use os comandos
update, isto é, update-inetd e update-rc.d para removê-los do processo de inicialização.
Desabilitando daemons de serviço
Desabilitar um daemon de serviço é simples. Existem vários métodos:
84
Segurança em Redes
Você deve checar se realmente precisa do daemon inetd. Inetd sempre foi uma maneira
de compensar deficiências do kernel, mas estas deficiências foram corrigidas. Existe
possibilidade de ataques DoS (Denial of Service) contra o inetd, então é preferível usar
daemons individuais do que rodar um serviço do inetd. Se você ainda quer rodar algum
serviço do inetd, então no mínimo alterne para um daemon mais configurável como
xinetd, rlinetd ou openbsd-inetd.
Você deve parar todos os serviços Inetd desnecessários, como echo, chargen, discard,
daytime, time, talk, ntalk e r-services (rsh, rlogin e rcp) os quais são considerados
ALTAMENTE inseguros (use ssh no lugar destes).
Você pode desabilitar os serviços editando o arquivo /etc/inetd.conf diretamente, mas o
Debian fornece uma alternativa melhor: update-inetd (o qual comenta os serviços de
modo que eles possam facilmente ser reativados). Você pode remover o daemon telnet
para alterar o arquivo de configuração e reiniciar o daemon (neste caso o serviço telnet
é desabilitado):
/usr/sbin/update-inetd --disable telnet
Instale o mínimo de s oftware nece ssário
O Debian
possui vem com
3 DVDs de uma grande
software quantidade
e milhares de de software,
pacotes. por exemplo
Apesar o Debian
da grande 4.0 Etch
quantidade de
software, a instalação do sistema base utiliza poucos pacotes.
Sabendo o que seu sistema realmente precisa, você deve instalar apenas o que for
realmente necessário para seu trabalho. Qualquer ferramenta desnecessária pode ser
usada por um usuário malicioso para comprometer o sistema ou por um invasor externo
que tenha acesso ao shell (ou código remoto através de serviços exploráveis).
A presença, por exemplo, de utilitários de desenvolvimento (um compilador C) ou
linguagens interpretadas (como perl, python, tcl...) pode ajudar um atacante a
comprometer o sistema da seguinte maneira:
Permitir a ele fazer escalação de privilégios. Isto facilita, por exemplo, rodar
exploits locais no sistema se existe um depurador e compilador prontos para
compilar e testar.
Fornecer ferramentas que poderiam ajudar um atacante a usar o sistema
comprometido como base de ataque contra outros sistemas.
É claro que um invasor com acesso ao shell local pode baixar suas próprias
ferramentas e executá-las, além disso o próprio shell pode ser usado para fazer
complexos programas. Remover software desnecessário não impedirá o problema mas
dificultará a ação de um possível atacante. Então, se você deixar disponíveis
ferramentas em um sistema de produção, estas podem ser usadas remotamente para
um ataque.
Configu rar a senha do L ILO ou GRUB
85
Segurança em Redes
Qualquer um pode facilmente obter uma linha de comando de root e alterar sua senha
entrando com o parâmetro <name-of-your-bootimage> init=/bin/sh no aviso de boot.
Após alterar a senha e reiniciar o sistema, a pessoa terá acesso ilimitado como usuário
root e poderá fazer qualquer coisa que quiser no sistema. Após este processo, você
não terá acesso root ao seu sistema, já que não saberá mais sua senha.
Para se assegurar que isto não ocorra, você deverá definir uma senha para o
gerenciador de partida. Escolha entre uma senha global ou uma senha para
determinada imagem.
Para o LILO, você precisará editar o arquivo de configuração /etc/lilo.conf e adicionar
uma linha password e restricted como no exemplo abaixo.
image=/boot/2.2.14-vmlinuz
label=Linux
read-only
password=mude-me
restricted
Quando terminar, re-execute o lilo. Caso omita restricted o lilo sempre perguntará por
uma senha, não importando se foram passados parâmetros de inicialização. As
permissões padrões
root e permite do somente
o acesso /etc/lilo.conf garantem
leitura permissões
para o grupo de leitura
do lilo.conf, e gravação
geralmente root.para o
Caso utilize o GRUB ao invés do LILO, edite o /boot/grub/menu.lst e adicione as
seguintes duas linhas no topo do arquivo (substituindo, é claro mude-me pela senha
designada). Isto evita que usuários editem os itens de inicialização. A opção timeout 3
especifica uma espera de 3 segundos antes do grub inicializar usando o item padrão.
timeout 3
password mude-me
Para fortalecer futuramente a integridade da senha, você poderá armazenar a senha
em um formato criptografado. O utilitário grub-md5-crypt gera um hash de senha que é
compatível com o algoritmo de senha encriptada pelo grub (md5). Para especificar no
grub que uma senha no formato md5 será usada, use a seguinte diretiva:
timeout 3
password --md5 $1$bw0ez$tljnxxKLfMzmnDVaQWgjP0
O parâmetro --md5 foi adicionado para instruir o grub a fazer o processo de
autenticação md5. A senha fornecida é uma versão encriptada md5 do mude-me. O uso
do método de senhas md5 é preferido em contrapartida da seleção de sua versão texto
plano.
86
Segurança em Redes
Gerenciando Usuári os
Cont as de Login
Algumas políticas de segurança podem forçar os administradores a entrar no sistema
através do console com seus usuários/senhas e então se tornar o superusuário (com o
su ou sudo). Esta política é implementada no Debian editando-se o arquivo
/etc/login.defs ou /etc/securetty quando utilizar PAM. Em:
Permissões de acesso
Módulos se Segurança do PAM
87
Segurança em Redes
autenticação de usuários. Imagine se todos eles tivessem que ser reescritos cada vez
que se mudasse algum dos critérios de autenticação.
Para resolver este tipo de problema, a Sun® criou o PAM há alguns anos e liberou as
especificações em forma de RFC. O Linux derivou sua implementação do PAM a partir
deste documento. Com PAM, o aplicativo login deste exemplo teria que ser reescrito
apenas uma vez, justamente para suportar PAM. A partir de então, o aplicativo delega a
responsabilidade da autenticação para o PAM e não se envolve mais com isso.
Voltando aopara
criptografia exemplo anterior,
as senhas, no que
basta casoo módulo
de se querer utilizar
PAM seja um outro
modificado algoritmo
para de
que todos
os aplicativos automaticamente e de forma transparente passem a usufruir desta nova
forma de autenticação. PAM possui uma outra vantagem: é possível configurar a
autenticação de forma individual para cada aplicativo. Com isto é possível fazer com
que, por exemplo, um usuário comum possa usar os dispositivos de áudio do
computador desde que tenha se logado na máquina através do console. Se o login não
tiver sido feito no console (por exemplo, é um login remoto via SSH), este tipo de
acesso ao hardware será negado.
Praticamente todos os aplicativos do Linux que requerem algum tipo de autenticação
suportam PAM. Na verdade, não funcionam sem PAM. Toda a configuração está
localizada no diretório /etc/pam.d. Quando um aplicativo suporta PAM, ele necessita de
um arquivo de configuração neste diretório. A Figura ilustra como funciona a
autenticação com PAM usando o programa login como exemplo:
pam_nologin
88
Segurança em Redes
máquina. Quando o arquivo for removido, a operação voltará ao normal, com usuários
comuns podendo se logar novamente.
Isto pode ser útil quando se quer fazer alguma manutenção no sistema, por exemplo,
situação em que logins de usuários são indesejáveis. Alguns aplicativos do próprio
Linux também podem criar este arquivo e depois removê-lo quando alguma operação
crítica for concluída.
Note que os usuários que já estiverem logados na máquina não são afetados pela
criação ou remoção do arquivo /etc/nologin.
Vamos fazer um teste, criamos o arquivo /etc/nologin
cd /etc
touch nologin
Agora vamos adicionar um aviso dentro deste arquivo
echo MANUTENCAO! > /etc/nologin
Então vamos tentar logar no sistema com qualquer usuário que não seja root:
O usuário admin tentou logar no sistema e recebeu o aviso de “MANUTENCAO”.
Para remover esta proteção, delete o arquivo /etc/nologin, e os usuários voltarão a logar
normalmente.
pam_cracklib
similar: a nova senha é muito similar à antiga? Esta verificação pode ser
controlada por um parâmetro que indica o número mínimo de caracteres
diferentes que a senha nova deve ter em relação à senha antiga. O valor padrão
é 10 ou metade do tamanho da senha atual, o que for menor.
Senha repetida: se existir o arquivo /etc/security/opasswd com as senhas
anteriores do usuário, o módulo pam_cracklib vai também verificar se a senha
nova já não foi usada anteriormente. Esse arquivo de senhas antigas é
atualmente gerado apenas pelo módulo pam_unix, embora exista uma
discussão para se criar um módulo específico para esta tarefa (algo como
pam_saveoldpass) e remover esta funcionalidade do módulo pam_unix.
Os parâmetros normalmente utilizados com o módulo cracklib são:
retry=N
89
Segurança em Redes
"N" é o número de tentativas que o usuário poderá fazer para fornecer uma
senha considerada boa.
difok=N
"N" é o número de letras diferentes que a senha nova deve ter em relação à
senha antiga. Este parâmetro controla o comportamento da verificação do tipo
similar, visto há pouco. O valor padrão é 10 (e este é o valor alterado por "N" ou
metade do tamanho da senha atual), aquele que for o menor.
minlen=N
Tamanho mínimo da nova senha mais um. Além de contar a quantidade de
caracteres da senha nova, créditos também podem ser fornecidos com base na
quantidade de algarismos, caracteres maiúsculo-minúsculos e símbolos. Ou
seja, se o valor de minlen for 10, o usuário pode usar uma senha com menos do
que 10 caracteres, desde que, somando a quantidade de caracteres mais os
créditos, o valor final ultrapasse 10. Por exemplo:
Ele não vem instalador por padrão na máquina, então precisaremos instalar o programa
90
Segurança em Redes
Mudar o número da porta do ssh é uma ótima opção, pois poderíamos escapar de
scanners que varrem a internet buscando versões de ssh vulneráveis, mas felizmente,
a maioria deles somente procura na porta padrão “22” do ssh, então vamos enganar
estas tentativas, mudando a porta do ssh de 22 para 33000.
91
Segurança em Redes
Vamos então modificar a linha “Port 22” para “Port 33000” no arquivo
/etc/ssh/sshd_config como mostra a figura abaixo.
Não esqueça de liberar a porta 33000 no firewall quando ativar esta opção, pois se ela
estiver bloqueada o nenhuma usuário irá conseguir conectar via ssh.
Quando ativar esta opção, coloque a opção –P 33000 no comando ssh para ele
reconhecer que precisa conectar na porta 33000 e não na porta padrão 22.
O ssh vem instalado por padrão, então vamos analisar o seu arquivo de configuração
/etc/ssh/sshd_config para evitar que o ssh aceite conexão root por padrão, ou seja,
92
Segurança em Redes
para conectar na máquina, precisaremos entrar com um usuário normal, e depois virar
super usuário.
93
Segurança em Redes
Para as chaves privadas criadas, é criada uma chave pública de mesmo nome mais
sufixo .pub, que fica guardada na mesma pasta da chave privada.
Criamos então uma chave RSA para o usuário admin, com a senha “senai123”
94
Segurança em Redes
Quando terminar, o programa irá mostrar a chave publica/privada que ele acabou de
gerar
Escolha uma senha, vamos usar a senha “senai123” , e clique em Save Public Key,
normalmente o nome será id_rsa.pub, agora faça o mesmo com a Private key, clique no
botão SAVE Private Key,e salve com o nome de id_rsa.ppk
95
Segurança em Redes
Agora envie a chave publica, para o servidor Linux, através do winscp e jogue a chave
para o diretório /home/admin/.ssh/
Precisamos mudar as opções para o host remoto no putty tambem para não aceitar a
opção “keyboard-interactive” e para ele utilizar a nossa chame privada que acabamos
de criar.
Após ter gerado as chaves, copiar a chave para o /home/admin via scp e mudar para
que o Putty utilize esta chave para conectar no servidor, vamos adicionar a chave
publica que geramos no windows, e que enviamos via winscp, no arquivo
.ssh/authorized_keys do servidor ssh do Linux.
Blacklist com o denyhost
O DenyHosts funciona através dos logs do SSH. Ele processa esses logs gerados e
verifica todas as tentativas de accesso, sendo ela as com usuários existentes mas com
senha errada ou usuários inexistentes.
Quando ele verifica um número X configurável de tentativas de login, esse IP que
tentou o acesso é adicionado ao arquivo /etc/hosts.deny , fazendo com que não consiga
acessar o servidor ssh (ou todos os serviços) novamente.
O programa verifica também a quantidade de tentativas de acesso através do root, e
após um número de tentativas erradas o host também é "banido".
Por exemplo, se alguem tenta logar o usuário senai@servidor por mais de 5 vezes
erroneamente, o DenyHosts bloqueará seu IP e você não conseguirá mais acessar.
(Você pode configurar esse número de tentativas para quando o login existe e quando
não existe em /etc/passwd)
96
Segurança em Redes
97
Segurança em Redes
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 4d
PURGE_THRESHOLD = 2
BLOCK_SERVICE = sshd
DENY_THRESHOLD_INVALID = 3
DENY_THRESHOLD_VALID = 6
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /usr/share/denyhosts/data
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
ADMIN_EMAIL = linuxar@linuxar.com.br
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
SYSLOG_REPORT=YES
AGE_RESET_VALID=5d
AGE_RESET_ROOT=30d
AGE_RESET_RESTRICTED=30d
AGE_RESET_INVALID=12d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
O exemplo de configuração é muito auto-explicativo caso você deseje saber
informações adicionais.
Agora o que precisamos é rodar o daemon do DenyHosts. Vamos usar também o
exemplo.
# cd /usr/share/denyhosts/
# cp daemon-control-dist /etc/init.d/denyhosts
(a pasta init.d varia de distribuições, mas não é obrigatório ficar nessa pasta, desde q
você saiba o caminho)
Edite-o com seu editor de texto preferido. Segue abaixo o meu exemplo ( somente o
cabeçalho de configuração, não esqueça do resto do script que fica abaixo ):
#!/usr/bin/env python
DENYHOSTS_BIN = "/usr/bin/denyhosts.py"
DENYHOSTS_LOCK = "/var/run/denyhosts.pid"
DENYHOSTS_CFG = "/etc/denyhosts.cfg"
PYTHON_BIN = "/usr/bin/env python"
Vamos agora dar atributo de execução a esse arquivo e que o usuário root seja dono:
# chown root:root /etc/init.d/denyhosts
# chmod +x /etc/init.d/denyhosts
98
Segurança em Redes
Só que falta agora é configurarmos para que ele inicie automaticamente com o sistema.
Isso varia de distribuição para distribuição.
Debian Based: update-rc.d denyhosts defaults
Por exemplo,
de root, se alguém
e execute um rm invadir
–rf /, elea somente
máquina,irá
rode um exploit
apagar local ecriado
o ambiente consiga
peloprevilégios
jail, e não
todo o sistema Linux do seu servidor.
Jail é um ótimo modelo de segurança, extremamente eficiente quando se tem um
servidor compartilhado, e que rodam diversos aplicativos que constantemente
apresentam vulnerabilidades como o Bind, apache, sendmail entre outros.
Gerenciando Sistema
Gerenciando arquivo s
Arquivos co m permis são de Suid bit
Mesmo não permitindo que arquivos com permissão de Suid bit ativados não sejam
aceitos nas partições, fica a seguinte pergunta:
Será que todos os arquivos que tem permissão de Suid bit por padrão são necessários
no meu servidor?
O que deve ser feito?
99
Segurança em Redes
Colocar permissão de suid bit somente nos arquivos que realmente são
necessários em seu servidor.
chattr e lsattr
O comando chattr modifica atributos de arquivos e diretórios. Os atributos definem
características especiais para os arquivos para o sistema de arquivos ext2.
Não confunda atributos de arquivo com permissões de acesso, os atributos são
diferentes e definem outras características especiais para os arquivos/diretórios
especificados.
chattr [opções] [atributos] [arquivos/diretórios]
Onde:
Arquivos/diretórios que terão os atributos modificados. Podem ser usados coringas.
Opções:
-R - Modifica atributos em subdiretórios;
-V - Mostra detalhes sobre a modificação de atributos.
Os atributos de arquivos/diretórios podem ser especificados da seguinte maneira:
+ - Adiciona o atributo
- - Remove o atributo
= - Define o atributo exatamente como especificado
Os atributos são os seguintes:
100
Segurança em Redes
O problema é que o chattr funciona por padrão somente em ext2 e ext3, para funcionar
em RaiserFS como é o nosso caso, precisaremos recompilar o kernel.
Para os usuário da série 2.4 será necessário aplicar um patch para que possamos
habilitar o suporte no kernel, embora eu julgue melhor utilizar a série 2.6, pois
aparentemente os patches estão desatualizados. Mas caso queira tentar, basta
acessar:
http://acl.bestbits.at
O lsattr lista atributos de um arquivo/diretório. Os atributos podem ser modificados
através do comando chattr.
lsattr [opções] [arquivos/diretórios]
Onde:
Arquivos/diretórios que deseja listar os atributos. Podem ser usados coringas.
Opções:
101
Segurança em Redes
Quando verificamos o diretório /bin, verificamos que o binário teste, possui atributos que
não são padrão, sendo assim, se uma invasão bem sucedia acontecesse,
provavelmente muitos binários teriam os seus atributos modificados como aconteceu
com o binário em nosso exemplo.
Controlando processos
Levantamento d e Processos
Quando um sistema é comprometido, na maioria das vezes, o invasor irá instalar uma
rootkit para facilitar a entrada dele novamente no futuro.
Esta rootkit irá modificar os binários, ps , netstat , ls etc. Tudo para que quando o
Administrador verificar quem esta na máquina, e executar por exemplo um “who” ou um
“ps”, ele não irá saber que tem alguém não autorizado conectado na máquina, pois os
102
Segurança em Redes
binários foram modificados pela rootkit especialmente para não mostrar que o invasor
esta lá.
Existem outros softwares que podem ajudar nesta tarefa, ferramentas como o losf,
lsattr,rkhunter, trojan-scan etc.
Vamos mostrar as melhores e mais eficientes para cada tipo de problema enfrentado
em uma invasão.
lsof –i [protocolo][@nomehost|endereçohost][:serviço|porta]
Por padrão, esta opção lista informações detalhadas sobre cada conexão, como o
comando ou programa envolvido, o PID, o usuário que está rodando o comando, o FD
103
Segurança em Redes
Monitoramento
Organiz ando os Log s
Sistemas Unix-like já possuem por padrão um sistema excelente para registro de logs,
comumente representado pelo syslogd e klogd, que são os daemons responsáveis por
oferecer este suporte, registrando mensagens de diferentes aplicativos e serviços, além
do kernel em diferentes locais de acordo com suas configurações.
Apesar de ser um sistema excelente, geralmente os logs gerados e registrados por
padrão não são suficientes ou completos o bastante para a verificação real de um dado
servidor, além de não proporcionarem uma maneira prática e menos monótona de
acompanhamento e leitura, por isso recorremos a ferramentas livres disponíveis.
Syslog-ng
Configuração
Com o software instalado, vamos localizar o arquivo de configuração padrão do syslog-
ng, que será o /etc/syslog-ng/syslog-ng.conf.
Antes de customizar o syslog-ng vamos entender como ele funciona , primeiramente
deveremos ter uma fonte de registro (chamada source ), de onde o syslog-ng irá obter
as mensagens. Então teremos os filtros que serão aplicados às mensagens obtidas
dessa fonte (lembre-se que essa é uma das qualidades mais importantes do syslog-
ng ) e, finalmente, um destino para o registro das mensagens, mais comumente
representado por um arquivo.
Deve se considerar que o responsável por organizar e conectar fonte ( source ), filtros
(filter ) e destino (destination ) é a diretiva log .
104
Segurança em Redes
105
Segurança em Redes
106
Segurança em Redes
107
Segurança em Redes
Agora vamos rodar e verificar os tipos de rootkits ou falhas de segurança que ele
encontrará.
108
Segurança em Redes
Verifica se o sistema possui alguma aplicação antiga que precisa ser atualizada
109
Segurança em Redes
E finalmente o relatório.
Em nosso caso, ele somente apresentou 1 aplicação que pode estar vulnerável, que é a
GnuPG, que possui uma versão mais nova, então por este motivo, ele avisou como
aplicação vulnerável.
Vamos fazer mais um teste, adicionamos mais um usuário ao sistema, e verificar se o
rkhunter percebe esta mudança
110
Segurança em Redes
111
Segurança em Redes
Definição
A rede sem fios (wifi / Wireless network) é uma tecnologia que permite dois ou mais
computadores comunicarem entre si usando protocolos de rede standard sem o recurso
dos cabos.
WLAN
As redes locais sem fio (WLANs) constituem-se como uma alternativa, ou mesmo
extensão, às redes convencionais com fio, fornecendo as mesmas funcionalidades,
mas de forma flexível devido à diferença do meio de transmissão, conforme mostrado
na figura abaixo.
Tipos
Abaixo os tipos mais comuns de rede sem fio.
112
Segurança em Redes
AD Hoc
Um tipo importante de rede móvel é a rede ad hoc, também conhecida como MANET
(Mobile Ad hoc NETwork), ou também IBSS, onde os dispositivos são capazes de
trocar informações diretamente entre si.
Uma topologia ad-hoc é aquela em que uma LAN é criada apenas pelos próprios
dispositivos sem fio, sem controlador central ou ponto de acesso. Ao contrário do que
ocorre em redes convencionais, não há pontos de acesso, ou seja, não existem
epontos decomo
conectada, concentração
demonstrae aos nósabaixo
figura dependem uns dos outros para manter a rede
Infraestruturada
Uma topologia infra-estruturada é aquela que estende uma LAN cabeada existente a
dispositivos sem fio por meio de um ponto de acesso.
O ponto de acesso liga a LAN sem fio e a cabeada, e atua como um controlador central
para a LAN sem fio. O ponto de acesso coordena transmissão e recepção de vários
dispositivos sem fio em um intervalo específico; o intervalo e número de dispositivos
depende do padrão móvel usado e do produto do fornecedor.
No modo infraestruturado, pode haver um ponto de acesso (BSS) para uma área
pequena, como uma única casa ou um edifício pequeno ou, vários pontos de acesso
(ESS) para cobrir uma área grande, conforme mostrado na figura abaixo.
113
Segurança em Redes
Ameaças e Vulnerabilidades
Riscos Internos
Por padrão, alguns equipamentos possuem configurações já propícias para eventuais
ataques, ocasionando os chamados riscos internos, estes, são gerados por má
configuração ou instalação de dispositivos ou associação acidental, tais como:
WLANs grampeáveis ( Rogue WLANs): Ocorre devido à má instalação, em
duas formas. O endereço MAC é duplicado, desta forma o intruso tem
acesso à rede cabeada (em redes infraestruturadas) através do AP ou ainda
possuir acesso a uma rede sem fio (em redes ad-hoc). Outra forma é um AP
não utilizar criptografia e não levar em conta a área de cobertura do local
fazendo com que este envie seu SSID em broadcast, expondo assim a rede.
Configurações inseguras: A simples instalação de uma VPN não garante
uma segurança satisfatória, entretanto, várias empresas simplesmente
instalam e não configuram adequadamente. Todas as brechas existentes –
grandes ou pequenas – podem ser exploradas. Configurações padrões,
como a do SSID, aonde o broadcast vem ativado, fraca ou nenhuma
codificação, senhas padrões, ausência de autenticação podem transformar
um AP em um gateway para uma rede.
Associações acidentais: Causado quando a força do sinal é muito grande e
auxiliado por plataformas
automaticamente a uma como o Windows
rede quando estaXP,
é onde associa
passível e se conexão
de uma conecta
(atualmente, já é necessária uma intervenção do usuário). Outro fator
importante é que mesmo sabendo da existência do dispositivo estas pessoas
não sabem ao certo como configurar, manipular e gerenciá-lo. Assim sendo,
existe uma grande possibilidade deste dispositivo se associar a outro
dispositivo, sem o consentimento ou mesmo conhecimento do usuário. Uma
forma de minimizar este tipo de risco que as redes sem fio estão expostos
seria através da configuração manual do dispositivo ou ao menos não
permitir que o dispositivo atue em modo ad hoc.
Vulnerabilidades no WEP: Inerente ao WEP há falhas tanto nos no algoritmo
como no protocolo IEEE 802.11.
Riscos Externos
Os riscos externos, diferentemente dos internos, são ocasionados devido à interação
direta do invasor que se aproveita das vulnerabilidades de uma WLAN. Muitos ataques
inerentes a redes sem fio, são devidos aos riscos que serão apresentados:
114
Segurança em Redes
115
Segurança em Redes
116
Segurança em Redes
Bluetooth
O nome Bluetooth foi escolhido em homenagem ao rei da Dinamarca Harald Blatand,
que era conhecido como Harald Bluetooth. Esse apelido lhe foi dado por ele possuir
uma coloração azulada em seus dentes. O apelido foi usado para esta tecnologia pelo
fato de Harald Bluetooth ter ficado conhecido como unificador da Dinamarca, logo o
significado de Bluetooth é unificação.
É usado para comunicação entre pequenos dispositivos de uso pessoal, como PDAs,
telefones celulares (telemóveis) de nova geração, computadores portáteis, mas também
é utilizado para a comunicação de periféricos, como impressoras, scanners, e qualquer
dispositivo dotado de um chip Bluetooth.
Um dos problemas de segurança do Bluetooth é o Bluesnarfing, consiste em surrupiar
informações dos aparelhos alheios. Basta que o seu celular esteja com o bluetooth
ligado e em modo “discoverable” para que uma pessoa mal-intencionada nas
proximidades possa invadi-lo e roubar o conteúdo de sua agenda e catálogo de
endereços, por exemplo. O pior é que a expressão “nas proximidades” não é
exatamente verdadeira. Embora o alcance típico de um celular bluetooth seja de 10 m e
de um laptop chegue a 100 m, isso não é obstáculo para a criatividade humana.
Dicas de Segurança
Desativar o Bluetooth logo apos a compra de um novo aparelho pois alguns
telefones já saem de fábrica habilitados;
Só habilitar o Bluetooth na hora de fazer a transferência de dados;
Mudar o código PIN usado para a conexão Bluetooth;
Usar o modo Stealth (invisível) pois o aparelho fica com a conexão Bluetooth
ativa, mas sem ser visto por outros;
117
Segurança em Redes
Firewall
Definição
O Firewall é um programa que como objetivo proteger a máquina contra acessos
indesejados, tráfego indesejado, proteger serviços que estejam rodando na máquina e
bloquear a passagem de coisas que você não deseja receber (como conexões vindas
da Internet para sua segura rede local, evitando acesso aos dados corporativos de uma
empresa ou a seus dados pessoais).
Aplicação
O iptables é um firewall a nível de pacotes e funciona baseado no endereço/porta de
srcem/destino do pacote, prioridade, etc. Ele funciona através da comparação de
regras para saber se um pacote tem ou não permissão para passar. Em firewalls mais
restritivos, o pacote é bloqueado e registrado para que o administrador do sistema
tenha conhecimento sobre o que está acontecendo em seu sistema.
Ele também pode ser usado para modificar e monitorar o tráfego da rede, fazer NAT
(masquerading, source nat, destination nat), redirecionamento de pacotes, marcação de
pacotes, modificar a prioridade de pacotes que chegam/saem do seu sistema,
contagem de bytes, dividir tráfego entre máquinas, criar proteções anti-spoofing, contra
syn flood, DoS, etc. O tráfego vindo de máquinas desconhecidas da rede pode também
ser bloqueado/registrado através do uso de simples regras.
As possibilidades oferecidas pelos recursos de filtragem iptables como todas as
ferramentas UNIX maduras dependem de sua imaginação, pois ele garante uma grande
flexibilidade na manipulação das regras de acesso ao sistema, precisando apenas
conhecer quais interfaces o sistema possui, o que deseja bloquear, o que tem acesso
garantido, quais serviços devem estar acessíveis para cada rede, e iniciar a construção
de seu firewall.
Caracterí sticas do firewall iptables
Especificação de portas/endereço de srcem/destino
Suporte a protocolos TCP/UDP/ICMP (incluindo tipos de mensagens icmp)
Suporte a interfaces de srcem/destino de pacotes
Manipula serviços de proxy na rede
118
Segurança em Redes
Suporte
único IP aouSNAT
faixa (modificação
de IP's). do endereço de origem das máquinas para um
Suporte a DNAT (modificação do endereço de destino das máquinas para
um único IP ou fixa de IP's)
Contagem de pacotes que atravessaram uma interface/regra
Limitação de passagem de pacotes/conferência de regra (muito útil para criar
proteções contra, syn flood, ping flood, DoS, etc).
Tipos de firewalls
119
Segurança em Redes
Tabelas
Tabelas são os locais usados para armazenar os chains e existem 3 tabelas disponíveis
no iptables:
Filter
NAT
Mangle
Filter
Esta é a tabela padrão, contém 3 chains padrões:
INPUT – entrada.
OUTPUT - saída.
FORWARD - repasse.
NAT
Usada para concentrar o fluxo de varias conexões, saindo para uma única. Possui 3
chains padrões:
Mangle
Utilizada para alterações especiais de pacotes (como modificar o tipo de serviço (TOS)
ou outros detalhes que serão explicados no decorrer do capítulo. Possui 2 chains
padrões:
INPUT – entrada.
FORWARD - repasse.
PREROUTING - Consultado quando os pacotes precisam ser modificados
logo que chegam.
OUTPUT - Consultado quando pacotes gerados localmente precisam ser
modificados antes de serem roteados.
120
Segurança em Redes
Regras
Parâmetros paras CHAINS
-L List (Listar as Regras)
-A Add (Adicionar Regras)
-I Insert (Inserir Regras)
-R Replace (Substituir Regras)
-D Delete (Apagar Regras)
-P Policy (Policiamento Padrão: INPUT, OUTPUT e FORWARD)
-N New (Criar nova Chain)
-E rEname (Renomeia a Chain Criada por -N)
-F Flush (Limpar Tabela)
-X eXtract (Limpar Chain Criada por -N)
-Z Zero (Zerar o Contador das Tabelas)
Parâmetros para o complemento das regras
-o Output (Endereços de Saí-da)
-i Input (Endereços de Entrada)
-s Source (Endereços de Origen)
-d Destination (Endereços de Destino)
-j Join (Aplicar a Regra)
-p Protocol (Protocolo: todos-0, icmp=1, tcp=6,udp=17)
-f Fragment (Fragmentos pacotes fragmentados)
-n Numeric (IPs sãoexibidos de forma numérica)
+ (Adicionado ao nome da interface indica todas)
Especificando um alvo
ACCEPT (Aceita o pacote processado pela CHAIN)
DROP (Barra o pacote processado pela CHAIN)
121
Segurança em Redes
1. Máquina
que serve de do firewall
ligação comrede
a sua 2 interfaces
Interna, adeoutra
rede, uma éque
é ppp0 eth0
é acom o IP 192.168.1.1
interface Internet.
2. Qualquer acesso externo a máquinas da rede interna é bloqueado.
3. Os usuários da rede local tem acesso livre ao servidor Linux.
4. Qualquer acesso externo a máquina do firewall é bloqueado, exceto conexões
para o serviço Apache (httpd). Outras tentativas de conexões devem ser
explicitamente registradas nos logs do sistema para conhecimento do administrador.
5. Todos os usuários possuem acesso livre a Internet via Masquerading, exceto
que o acesso para o serviço www deve ser obrigatoriamente feito via squid, e o
servidor smtp a ser usado deverá ser o do firewall Linux.
6. Prioridades serão estabelecidas para os serviços de telnet, IRC,talk e DNS.
#!/bin/sh
# Modelo de configuração de firewall
# É assumido um sistema usando kmod para carga automática dos módulos
usados por esta configuração do firewall:
# ipt_filter
# ipt_nat
# ipt_conntrack
# ipt_mangle
# ipt_TOS
# ipt_MASQUERADE
# ipt_LOG
# Se você tem um kernel modularizado que não utiliza o kmod, será necessário
# carregar estes módulos via modprobe, insmod ou iptables --modprobe=modulo
122
Segurança em Redes
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo 1 >$i
done
##### Ativamos o redirecionamento de pacotes (requerido para NAT) #####
echo "1" >/proc/sys/net/ipv4/ip_forward
# O iptables define automaticamente o número máximo de conexões simultâneas
# com base na memória do sistema. Para 32MB = 2048, 64MB = 4096, 128MB =
8192,
# sendo que são usados 350 bytes de memória residente para controlar
# cada conexão.
# Quando este limite é excedido a seguinte mensagem é mostrada:
# "ip_conntrack: maximum limit of XXX entries exceed"
#
# Como temos uma rede simples, vamos abaixar este limite. Por outro lado isto
# criará uma certa limitação de tráfego para evitar a sobrecarga do servidor.
echo "2048" > /proc/sys/net/ipv4/ip_conntrack_max
###############################################################
# Tabela filter #
###############################################################
##### Chain INPUT #####
# Criamos um chain que será usado para tratar o tráfego vindo da Internet e
iptables -N ppp-input
# Aceita todo o tráfego vindo do loopback e indo pro loopback
iptables -A INPUT -i lo -j ACCEPT
# Todo tráfego vindo da rede interna também é aceito
iptables -A INPUT -s 192.168.1.0/24 -i eth0 -j ACCEPT
# Conexões vindas da interface ppp0 são tratadas pelo chain ppp-input
iptables -A INPUT -i ppp+ -j ppp-input
123
Segurança em Redes
# Primeiro aceitamos o tráfego vindo da Internet para o serviço www (porta 80)
iptables -A ppp-input -p tcp --dport 80 -j ACCEPT
#######################################################
# Tabela nat #
#######################################################
##### Chain POSTROUTING #####
# Permite qualquer conexão vinda com destino a lo e rede local para eth0
iptables -t nat -A POSTROUTING -o lo -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j ACCEPT
# Não queremos que usuários tenham acesso direto a www e smtp da rede
externa, o
# squid e smtpd do firewall devem ser obrigatoriamente usados. Também
registramos
# as tentativas para monitorarmos qual máquina está tentando conectar-se
diretamente.
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 80 -j
LOG --log-prefix
iptables -t nat "FIREWALL: SNAT-www
-A POSTROUTING "
-s 192.168.1.0/24 -o ppp+ -p tcp --dport 25 -j
LOG --log-prefix "FIREWALL: SNAT-smtp "
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 25 -j
DROP
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -p tcp --dport 80 -j
DROP
# É feito masquerading dos outros serviços da rede interna indo para a interface
# ppp0
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp+ -j MASQUERADE
# Qualquer outra srcem de tráfego desconhecida indo para eth0 (conexões
vindas
# de ppp+) são bloqueadas aqui
124
Segurança em Redes
###############################################
# Tabela mangle #
###############################################
##### Chain OUTPUT #####
# Define mínimo de espera para os serviços ftp, telnet, irc e DNS, isto
# dará uma melhor sensação de conexão em tempo real e diminuirá o tempo
# de espera para conexões que requerem resolução de nomes.
iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 21 -j TOS --set-tos 0x10
iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 23 -j TOS --set-tos 0x10
iptables -t mangle -A OUTPUT -o ppp+ -p tcp --dport 6665:6668 -j TOS --set-tos
0x10
iptables -t mangle -A OUTPUT -o ppp+ -p udp --dport 53 -j TOS --set-tos 0x10
125
Segurança em Redes
Proxy
Definição
Proxy é uma palavra em inglês que, segundo o Michaelis, significa: Proxy - procuração,
procurador, substituto, representante.
Portanto Servidor Proxy é, em essência, um equipamento que presta um serviço de
procurador de um computador de uma rede em outra rede, evitando que o endereço IP
do computador seja conhecido na outra rede.
O Serviço de Proxy age como representante de um usuário que precise acessar um
sistema do outro lado do Servidor Proxy.
O Proxy permite executar a conexão, ou não, a serviços em uma rede de modo indireto.
Normalmente os proxies são utilizados como cahes de conexão para serviços Web.
Aplicação
Primeiramente temos que escolher a maquina que o squid ira ficar. Uma maquina para
comportar o squid não precisa de um processador rapidíssimo, o mais importante para
ele e a memória RAM, o squid adora memória, quanto mais puder dar a ele melhor. A
utilização de discos SCSI para a partição que ficará o cache também e muito bem
vinda.
Partiremos do pressuposto que a maquina em que o squid será instalado já tem a rede
TCP/IP funcionando, Se o squid for ser usado para conectar uma rede privada (IP's
inválidos
2 placas na
deInternet
rede oucomo da classe
no mínimo 2 192.168.0.0/24)
IP's. (melhor o àprimeiro
Internet,caso
a maquina precisara
para entrar numade
configuração de rede isolada) um kernel configurado com ipforward e masquerading e
muito bem vindo para a construção de um Proxy transparente.
Configuração:
126
Segurança em Redes
padrão do squid e a porta 3128 isto pode ser alterado com uma diretiva do squid.conf
http_port, vamos usar a porta 8080 inserindo a seguinte linha no squid.conf:
http_port 8080
Temos que decidir também onde será o diretório de cache e o tamanho do mesmo. Por
padrão o squid está configurado para o diretório de cache ficar em /var/spool/squid, por
questões de performance, segurança e gerenciabilidade é melhor que ele fique
instalado em uma partição separada. Montaremos então a partição de cache no
diretório
cache /cachea elinha
procure configuraremos
cache_dir nopara que o cache
squid.conf, fique lá. Para
provavelmente mudarassim:
ela estará o diretório do
E possível
sem perderinserir
o cachevárias entradas cache_dir no squid.conf, ele ira anexar a nova área
anterior.
Agora que já esta configurada a área de cache, primeiro e preciso assegurar que o
squid terá direito de escrita no diretório de cache, o squid não roda como o root, ele usa
um usuário definido no parâmetro do squid.conf, cache_effective_user, a distribuição da
conectiva vem com o squid rodando com o usuário nobody, para fazer o squid rodar
com outro usuário (o usuário squid por exemplo), troque o valor do parâmetro no
arquivo de configuração. lembre-se que o usuário terá de ter acesso de leitura e escrita
nos diretórios de cache e log.
As ACL permitem especificar endereços de srcem ou destino, domínios, horários,
usuários, portas ou métodos de conexão ao Proxy, que servirão de base para permitir
ou negar o acesso baseando-se em conjuntos dessas ACL's. Isto permite uma grande
flexibilidade na configuração do SQUID: podemos, por exemplo, especificar quais
endereços podem ser acessados, quais não podem ser acessados, que certo endereço
somente pode ser acessado em determinado horário, que um usuário somente pode
acessar a partir de uma maquina especifica, que um protocolo pode ou não ser
utilizado, ou qualquer combinação dessas permissões/restrições.
127
Segurança em Redes
Agora temos que dar permissão a esta ACL a diretiva que faz isso e o http_access
Então temos que inserir no squid.conf
128
Segurança em Redes
#Com espaço:
acl minharede 192.168.0.1/255.255.255.0 192.168.1.0/255.255.255.0
#ou com duas linhas
acl minharede 192.168.0.0/255.255.255.0
acl minharede 192.168.1.0/255.255.255.0
A segunda consideração e que por padrão as diretivas ACL são do tipo "OU", ou seja
uma conexão pertencera a uma ACL se qualquer um dos parâmetros coincidir. No
nosso exemplo, a rede 192.168.0.0 OU rede 192.168.1.1 coincidiram com a ACL. A
ordem entre as diretivas ACL não e importante.
Para as diretivas http_access a coisa funciona diferente, como podemos ver a diretiva
de permissão da rede interna foi inserida antes do deny all. O squid lê as diretivas de
CIMA para
diretivas BAIXO, parando
http_access a comparação
são do tipo "E", para quenaa primeira que em
diretiva entre coincidir.
ação, aAlém dissotem
conexão as
de estar coincidindo com TODAS as ACL's especificadas.
EX:
acl all src 0.0.0.0/0.0.0.0
acl minharede src 192.168.0.0/255.255.255.0
acl horacom time MTWTF 09:00-18:00
http_access allow minharede horacom
http_access deny all
No exemplo acima, só as maquinas da rede 192.168.0.0/255.255.225 de 09:00 as
18:00 poderão acessar a Internet, as demais maquinas ou qualquer maquina fora deste
horário não poderão acessar.
Tipos
Autentic ado
Descomentar a linha abaixo e adicionar os parâmetros necessários:
# auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Digite o usuário e senha para navegação
129
Segurança em Redes
Definir as ACLs:
acl autenticacao proxy_auth REQUIRED
Definir ação sobre as ACLs:
http_access allow autenticacao
Cadastrar os usuários:
htpasswd -c /etc/squid/passwd usuario
Transparente
O proxy transparente é uma união de uma característica do squid mais o ipforward do
Linux. Para que isso funcione o linux em questão tem de estar configurado para ser o
gateway das maquinas. Vamos interceptar as conexões Web e redirecioná-las para o
Squid.
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
(ou a porta que esteja sendo utilizada pelo squid)
echo 1 > /proc/sys/net/ipv4/ip_forward
Isso vai redirecionar tudo o que vier para a porta 80 (http) para a porta local 8080 do
squid.
Bom, isso e só a primeira parte, agora temos de configurar o Squid.
Mais linhas adicionadas ao squid.conf:
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
O modo do httpd-accelerator permite ao squid responder como se fosse um servidor
Web real, e redirecionar a chamada para o servidor real.
Bom, os clientes não passam tão liso assim de configuração, eles devem ver o squid
como seu gateway primário, ou pelo menos o gateway primário deles deve ver o squid
como o gateway para porta 80, essa configuração depende de cada rede.
Monitoramento
O Sarg é um interpretador de logs para o Squid, assim como o Webalizer e o Apache.
Sempre que executado ele cria um conjunto de páginas, divididas por dia, com uma
lista de todas as máquinas que foram acessadas e a partir de cada máquina da rede
veio cada acesso. Ele também mostra os usuários, caso o Squid esteja configurado
para exigir autenticação.
130
Segurança em Redes
A partir daí você pode acompanhar as páginas que estão sendo acessadas, mesmo
que não exista nenhum filtro de conteúdo e tomar as medidas cabíveis em casos de
abuso. Todos sabemos que os filtros de conteúdo nunca são completamente eficazes,
eles sempre bloqueiam algumas páginas úteis e deixam passar muitas páginas
impróprias. Se você tiver algum tempo para ir acompanhando os logs, a inspeção
manual é sempre o método mais eficiente.
Aqui host
pelo está um exemplo da
192.168.0.3 do rede
relatório gerado
interna. pelo
Veja queSarg,
entemostrando
os dados os sites acessados
fornecidos estão a
quantidade de banda usada pelo usuário e o tempo que ele ficou em cada página:
O Sarg é incluído na maioria das distribuições atuais, em alguns casos instalado por
padrão junto com o Squid.
No Debian e derivados ele pode ser instalado com um: "apt-get install sarg". Depois de
instalado, basta chamar o comando "sarg" (como root) para que os relatórios sejam
geradas automaticamente a partir do log do squid.
O Sarg não é um daemon que fica residente, você precisa apenas chama-lo quando
quiser atualizar os relatório, se você quiser automatizar esta tarefa, pode usar o cron
para que ele seja executado automaticamente todos os dias ou uma vez por hora por
exemplo.
131
Segurança em Redes
132
Segurança em Redes
Definição
James P. Anderson sugeriu melhorias nos sistemas de auditoria e de detecção de
ações não autorizadas, algumas possibilidades viáveis em um trabalho em conjunto
com a Marinha Norte Americana, as primeiras técnicas reais de Mecanismos de
detecções de Intrusões, assim surgiu o primeiro IDS, Intrusion Detection System.
O IDS atua como um sniffer (Analisador de Rede), olhando todo o tipo de dados
trafegados em seu segmento, desta forma, ajuda a evitar quebras ou invasões de
segurança na rede corporativa, fornecendo a execução automática de políticas e
resposta a incidentes para servidores, aplicativos e dados.
Características
O IDS possui duas estruturas conceituais de funcionamento: o método preemptivo e
método reacionário.
133
Segurança em Redes
Aplicação
A detecção de intrusos é uma tecnologia de segurança capaz de identificar e isolar
intrusões contra um sistema de computação e iniciar procedimentos de alerta e contra-
ataque.
Diferentes IDSs têm diferentes classificações de intrusão. Um sistema tentando
detectar ataques contra servidores Web pode considerar apenas pedidos maliciosos
HTTP, enquanto que um sistema que se proponha a monitorar protocolos dinâmicos de
roteamento pode considerar apenas RIP spoofing. Independente do tipo, os IDSs
compartilham uma definição geral de intrusão, que é o uso não autorizado ou
inadequado de um sistema de computação.
A detecção de intrusos é um componente importante de um sistema de segurança e
complementa outras tecnologias. Ao fornecer informações ao administrador do site, o
IDS permite não apenas a detecção de ataques explicitamente endereçados por outros
componentes de segurança (tais como firewalls), como também tentativas de
notificação de novos ataques não previstos por outros componentes, Os IDSs também
fornecem informação que potencialmente permitem às organizações descobrirem as
srcens de um ataque. Desta forma, os IDSs tentam fazer com que os “atacantes” se
tornem responsáveis por suas ações, e até certo ponto, servem para desestimular
futuros ataques.
Devido aconforme
funcione sua importância dentrodade
a expectativa um sistema
organização quedeo segurança, é crucial que
está implementando. Paraoque
IDSo
IDS seja útil, o administrador do site precisa poder confiar na informação fornecida pelo
sistema. Sistemas com falhas não só fornecem menos informações, como também uma
perigosa falsa sensação de segurança.
Dadas às implicações de falhas em um componente do IDS, é correto presumir que os
IDSs em si são alvos óbvios para ataques. Um intruso mais esperto que perceba que
um IDS foi implementando em uma rede que ele está atacando irá muito provavelmente
atacar primeiro o IDS tentando desabilitá-lo ou forçando-o a dar informações falsas
(distraindo o pessoal de segurança do verdadeiro ataque).
Para que um componente de software possa resistir a ataques, ele precisa ser
projetado e implementado com um entendimento claro sobre os meios específicos
pelos quais ele pode ser atacado.
Snort
O snort realiza sozinho a tarefa de registros de possíveis tentativas de ataque em
potencial, é uma ótima solução e se torna melhor combinado com uma ferramenta para
tratar os “logs”, tornando ainda mais útil para um administrador.
Para realizarmos essa configuração necessitamos de alguns pacotes:
Servidor MySQL,
Snort compilado com suporte a MySQL,
134
Segurança em Redes
Acidlab.
Instalando o MySQL:
# aptitude install mysql-server
Configurando o Banco de dados do SNORT
# mysql -u root -p
CREATEinsert,
> GRANT DATABASE
select, snort;
update ON snort.* TO snort@localhost IDENTIFIED BY
'senhasnort';
> GRANT insert, select, delete, update, create ON snort.* TO acid@localhost
IDENTIFIED BY 'senhaacid';
QUIT
Instalando o Apache2 com suporte a PHP4:
# aptitude install apache2 php4 libapache2-mod-php4 php4-mysql
Instalando o Snort e criar as suas estruturas da database:
Detalhes do debconf para a instalação do Snort
// Configurar a rede onde o Snort vai ouvir
//// Definir
Definir oo usuário
hostnameroot para
para receber MySQL
oservidor e-mail de estatísticas
como: diárias
localhost
// Definir o nome da base de dados como: snort
// Definir o nome do usuário para acesso à base como: root
// Definir a senha do db snort, ex.: snortids
# aptitude install snort-mysql
# cd /usr/share/doc/snort-mysql
# zcat create_mysql.gz | mysql -u root -p snort
Verificando a base snort
# mysql –u root –p
> show databases;
> use snort;
> show tables;
> status;
> quit;
Verificando as configurações do snort-mysql
# cd /etc/snort
# vi snort.conf
// mudar:
// var HOME_NET p/ o ip da rede/24
// var EXTERNAL_NET p/ any
Validando configurações do Snort
# snort –vde –c /etc/snort/snort.conf
135
Segurança em Redes
//# No
vi acidlab
vi, em modo comando (sem dar insert) digite ":r /etc/acidlab/apache.conf".
Publicamos o novo site.
# a2ensite acidlab
Restartamos o Apache:
# /etc/init.d/./apache2 restart
Agora vamos configurar o ACIDLAB:
# vi /etc/acidlab/acid_conf.php
// no VI, digite :32 você vai direto para a linha 32 onde começamos a alterar o
seguinte trecho:
136
Segurança em Redes
Aplicação
Túneis virtuais habilitam o tráfego de dados criptografados pela Internet e esses
dispositivos, são capazes de entender os dados criptografados formando uma rede
virtual segura sobre a rede Internet.
A forma como esses dados serão codificados, quais os algoritmos de codificação e
autenticação serão utilizados, dependerá do protocolo sobre o qual o VPN está se
baseando. Assim como em qualquer meio de transmissão de dados, os dispositivos
responsáveis pelo gerenciamento da VPN devem ser capazes de garantir a
privacidade, integridade, autenticidade dos dados.
IPSEC
O IPSec é a melhoria do próprio protocolo TCP/IP, ao reduzir suas vulnerabilidades, e
especificar serviços como:
Controle de acesso;
Integridade de pacotes;
Autenticação de srcem;
Privacidade de pacotes;
Privacidade do fluxo de pacotes;
137
Segurança em Redes
Proteção de replays;
Desenvolvido pelo IETF, o IPSec possui o intuito de assegurar o tráfego dos dados sem
a necessidade de ferramentas feitas para a camada de aplicativos ou serviços, isto é,
sem mudanças em softwares já utilizados.
Havendo apenas a mudança na camada de rede facilitando o suporte das plataformas,
como Windows, Unix e Linux.
De forma geral,
procedimentos para garantir
utilizados a segurança, o IPSec criptografa o pacote IP. Os
são os seguintes:
O IPsec pode ser usado para codificar diretamente o tráfego entre dois hosts
(conhecido como Modo de transporte) ou ser agregado a uma VPN, o que permite
enviar dados independentemente da infra-estrutura utilizada (Modo de túnel).
A junção de uma VPN com IPSec provê integridade no controle, discrição e até
considerável imunidade o tráfego, desta forma, essa combinação tem sido amplamente
utilizada na prática como prevenção a ataques como o Man-inthe-middle, assegurando
os dados. A figura abaixo abaixo ilustra o protocolo IEEE 802.11 com mecanismos de
segurança até aqui comentados.
138
Segurança em Redes
139
Segurança em Redes
Criptografia
1. Definição
A criptografia tem como objetivo, proteger a confidencialidade, autenticidade e
integridade das informações. Técnicas e sistemas criptográficos devem ser usados para
a proteção das informações que são consideradas de risco e para aquelas que os
outros controles não fornecem proteção adequada.
Baseado na análise de risco, o nível apropriado de proteção deve ser identificado
levando-se em conta o tipo e a qualidade do algoritmo criptográfico usado e o tamanho
das chaves a serem utilizadas (ISO/IEC 17799:2000).
A criptografia é tão antiga quanto a própria escrita. Os romanos utilizavam códigos
secretos para comunicar planos de batalha. Contudo, somente depois da Segunda
Guerra Mundial, com a invenção do computador, o uso da criptografia tomou maior
impulso em seu desenvolvimento. O trabalho criptográfico formou a base para a ciência
da computação moderna.
Aplicação
Algo ritmos Criptográficos
Existem dois tipos básicos de algoritmos criptográficos que podem ser utilizados tanto
sozinhos como em combinação. Estes algoritmos, chave única e chave pública e
privada, são usados para diferentes aplicações e deve-se analisar qual é o melhor para
cada caso.
Para que uma mensagem seja cifrada utilizam-se uma ou mais chaves (seqüência de
caracteres) que serão embaralhadas com a mensagem srcinal. Estas chaves devem
ser mantidas em segredo, pois somente com o conhecimento delas é que se poderá
decifrar a mensagem.
O primeiro tipo de algoritmo que surgiu foi o de chave única, também chamado de
algoritmo de chave simétrica. Neste, o sistema usa a mesma chave tanto para a
cifragem como para a decifragem dos dados, e esta deve ser mantida em segredo.
140
Segurança em Redes
DES
dadosTriplo (Triple DES)
é criptografado três- vezes
O DEScom
triplo é uma evolução
diferentes chaves. do DES, no qual um bloco de
Vistos os anúncios da possibilidade do cálculo da chave secreta do DES por força bruta
estarem sendo cada vez mais viáveis economicamente em função inclusive do tamanho
desta chave (56 bits), a NIST (National Institute of Standards in Technology antiga NBS
- National Bureau of Standards) lançou em 1997 uma competição aberta para o
sucessor do DES, chamado AES – Advanced Encryption Standard. Nesta competição
foram apresentadas 18 propostas, sendo que das cinco finalistas foi escolhido, entre
duzentos, o algoritmo de criptografia Rijndael, produzido por dois Belgas.
Algumas das vantagens do AES são: poder usar chaves de 128, 192 e 256 bits ou
maiores e ser executado eficazmente em um grande número de ambientes, cartões
inteligentes, softwares de computador e browsers, enquanto o DES foi projetado
principalmente para hardware. Outro problema do DES foram as mudanças propostas
pela NSA nas S-Boxes do algoritmo srcinal, visto que alguns observadores temiam que
essa mudança poderia introduzir uma armadilha e poderia permitir que um atacante
decifrasse mensagens criptografadas pelo DES sem testar todas possíveis chaves.
Os S-boxes são tabelas não-lineares que determinam como o algoritmo de criptografia
substitui bytes por outros.
RC2 e RC4 - Ron Rivest da RSA DSI (Data Security Inc.) projetou essas cifras com
tamanho de chave variável para proporcionar uma criptografia em alto volume que
fosse muito rápida. Pode ser usado como substituto do DES, pois ambos são cifras de
bloco. Em softwares, o RC2 é aproximadamente 2 vezes mais rápido do que o DES, ao
passo que o RC4 é 10 vezes mais rápido que o DES.
O IDEA (International Data Encryption Algorithm) foi criado em 1991, sendo projetado
para ser facilmente calculado em softwares. É bastante forte e resistente a várias
141
Segurança em Redes
Criptografia Assimétrica
O problema da criptografia simétrica é que as partes na comunicação devem conhecer
a mesma chave, que deve ser divulgada entre as partes de forma sigilosa, pois se um
terceiro elemento
segurança não criptografia.
atribuída pela autorizado tiver acesso à chave poderá comprometer a
Como solução para tal situação temos o algoritmo de chaves assimétricas. Esta
solução é composta basicamente de um algoritmo de criptografia e de decriptografia (o
qual pode ser ou não de conhecimento público, mas deve ser conhecido pelas partes
de uma comunicação) e um par de chaves (conhecidas como chave privada e chave
pública) e que tem, basicamente, as seguintes premissas:
142
Segurança em Redes
143
Segurança em Redes
Definição
A identificação digital de um usuário é chamada de Certificado Digital o qual possui o
,
Aplicação.
Infraestrutura de Chave Pública (PKI)
Uma PKI (Public Key Infrastructure) é utilizada para prover a identificação de uma
entidade eletrônica (usuário, computador, etc.) na Internet.
Uma PKI é composta dos seguintes componentes:
CA - distribuir
criar, (Certificate Authorities
e revogar – Autoridade
certificados digitais.Certificadora): Responsável por
RA - (Registration Authorities - Autoridade Registradora): Registra novos
usuários.
Podemos citar ainda outros conceitos utilizados em PKI:
144
Segurança em Redes
O maior problema das CRLs é o fato de que muitos certificados são revogados por dia.
Uma empresa pode correr risco, pelo fato de possuir uma CRL desatualizada, de estar
confiando em um certificado que acabou de ser revogado.
Assinatura Digital
As assinaturas digitais fornecem os meios para proteção da autenticidade e integridade
de documentos eletrônicos (ISO/IEC 17799:2000).
Para criar uma assinatura digital para uma mensagem de e-mail, por exemplo, uma
cópia da mensagem é criptografada (algoritmo Hash) usando a chave privada
(assinatura digital), a qual é enviada, junto com a mensagem de e-mail e o certificado
digital do remetente para o destinatário, que cria a assinatura digital utilizando a chave
pública do remetente e compara com a assinatura recebida.
A assinatura digital somente pode ser decriptografada e verificada usando-se a chave
pública embutida no certificado digital do remetente, garantindo assim que uma
mensagem não foi falsificada por terceiros.
145
Segurança em Redes
Consiste de algoritmos que utilizam chaves privada e pública para, a partir de um texto
legível de tamanho m, gerar uma informação criptografada de tamanho n onde n é
muito menor que m.
Tal função em um algoritmo assimétrico é conhecida como função de Hash ou de
Espalhamento.
Os algoritmos mais conhecidos são o MD5 (Message Digest 5), que é um
aprimoramento do MD4, e o RSA, também usado para gerar assinaturas digitais de bits
para mensagens de qualquer tamanho.
O RSA é um algoritmo que gera assinaturas digitais de 160 bits para mensagens de
qualquer tamanho. É considerado mais seguro que o MD5, porém tem uma
performance em média 50% inferior, mas é considerado um algoritmo bastante rápido
além de seguro.
A segurança do RSA está baseada no problema de fatorar números grandes.
Um dos fatores que determinam a popularidade do RSA é o fato de ele também poder
ser usado para assinatura digital.
146
Segurança em Redes
Autenticação
Definição
Autenticação é um processo que busca verificar a identidade digital do usuário de um
sistema, normalmente, no momento em que ele requisita um log in (acesso) em um
programa ou computador. A autenticação normalmente depende de um ou mais
"fatores de autenticação".
O termo "autorização" é muitas vezes confundido com o termo autenticação, mas
apesar de serem relacionados, o significado de ambos é muito diferente. A autenticação
é o processo que verifica a identidade de uma pessoa, por sua vez, a autorização
verifica se esta pessoa possui permissão para executar determinadas operações. Por
este motivo, a autenticação sempre precede a autorização.
Aplicação
O controle de acesso é um exemplo comum de adoção de mecanismos de
autenticação. Um sistema computacional, cujo acesso é permitido apenas a usuários
autorizados, deve detectar e excluir os usuários não autorizados. O acesso é controlado
por um procedimento que estabelece a identidade do usuário com algum grau de
confiança (autenticação), e só então concede determinados privilégios (autorização) de
acordo com esta identidade.
147
Segurança em Redes
Autori zação
A autorização é a concessão de uso para determinados tipos de serviço, dada a um
usuário previamente autenticado, com base na sua identidade, nos serviços que
requisita e no estado atual do sistema. A autorização pode ser baseada em restrições,
que são definidas por um horário de permissão de acesso ou localização física do
usuário, por exemplo. A autorização determina a natureza do serviço cujo acesso é
permitido a um usuário. Como exemplos de tipos de serviços temos: filtragem de
endereço IP, atribuição de endereço, atribuição de rota, serviços diferenciados por QoS,
controle de endpoint
determinado banda/gerenciamento
e criptografia. de tráfego, tunelamento compulsório para
Account ing
Kerberos
Kerberos é o nome de um Protocolo de transporte de rede, que permite comunicações
individuais seguras e identificadas, em uma rede insegura. Para isso o Massachusetts
Institute of Technology (MIT) disponibiliza um pacote de aplicativos que implementam
esse protocolo. O protocolo Kerberos previne Eavesdropping e Replay attack, e ainda
garante a integridade dos dados. Seus projetores inicialmente o modelaram na
arquitetura cliente-servidor, e é possível a autenticação mutua entre o cliente e o
servidor, permitindo assim que ambos se autentiquem.
Kerberos utiliza Criptografia simétrica e necessita de um sistema de confiança tripla.
Kerberos é um protocolo de autenticação do Projeto Athena. Tem esse nome em
alusão ao Cão guarda de três cabeças (Cérbero) do deus Hades da Mitologia grega.
Diversas versões do protocolo já existiram, as versões 1 até a 3 foram utilizadas
somente dentro da MIT. Steve Miller e Clifford Neuman, foram os principais projetistas
da versão 4 do Kerberos, publicada nos anos 80, ainda com foco no Projeto Athena.
A versão 5 foi projetada por John Kohl e Clifford Neuman e publicada em 1993 no RFC
1510 (Ficou obsoleto ao RFC 4120 de 2005), e teve como intenção melhorar a
segurança e as limitações relativas a versão 4.
A MIT disponibilizou uma implementação livre sob licença BSD.
Autoridades Norte-americanas/Estadundenses proibiram o uso do Kerberos, pois esse
utiliza um algoritmo de criptografia com uma chave de 56-bit, chamado DES. Eles
consideraram que o protocolo prejudica a segurança nacional, porque impede que
mensagens interceptadas sejam entendidas (Assim como qualquer aplicativo que utilize
criptografia com chave maior que 40-bit). Uma implementação não americana do
Kerberos, KTH-KRB foi desenvolvida pela Royal Institute of Technology na Suécia,
tornando assim o sistema disponível fora dos EUA, até a mudança da regulamentação
148
Segurança em Redes
Uma nova
Generic edição de
Security especificação
Service do GSS-API
Application "TheInterface
Program Kerberos (GSS-API)
Version 5
Mechanism: Version 2." (RFC 4121).
RADIUS
RADIUS (Remote Authentication Dial In User Service), definido em RFC 2865, é um
protocolo proprietário de codificação de 128 bits reais para gerenciamento centralizado
de autenticação de usuários remotos.
Utiliza o algoritmo MD5 para a segurança de senhas e é o provedor do protocolo
802.11i. Diferente da TKIP, a chave para a comunicação entre um servidor RADIUS e
as STA permanece no servidor ao invés de se concatenar com os pacotes.
A centralização de senhas também aumenta segurança do meio, porém, ao tomar o
servidor, um usuário mal intencionado detém o controle do meio inteiro.
Por ser um recurso disponível apenas em alguns produtos e possuir uma camada extra
de codificação, torna o custo da instalação um pouco mais caro em relação aos outros.
TACACS
Terminal Access Controller Access-Control System (TACACS) é um protocolo de
autenticação remota usado para comunicação com servidores de autenticação,
comumente em redes UNIX. TACACS permite que um servidor de acesso remoto se
comunique com um servidor de autenticação para verificar se o usuário tem acesso à
rede.
149
Segurança em Redes
150
Segurança em Redes
Termo Significado
ABCP são as iniciais de Associated Business Continuity
Professional, que vem a ser o mais elementar dos três
ABCP níveis de reconhecimento de profissionais do DRI
(Disaster Recovery Institute International). Vide "CBCP" e
"MBCP".
Alerta É a notícia da ocorrência ou da iminência de um desastre.
Ameaça É um fator externo que pode vir a atacar um ativo
causando um desastre ou perda significativa.
Análise de impacto Vide "Business impact analysis".
de desastres
Análise de impacto
nos negócios Vide "Business impact analysis".
Conjunto de procedimentos cuja finalidade é a
Análise de risco identificação dos potenciais desastres, as potenciais
ameaças e as respectivas consequências.
São os conjuntos de dados e informações necessários
Arquivos críticos para a consecução dos processos críticos de trabalho ou
que devam ser submetidos a uma especial guarda em
função de exigências legais.
Diz-se da ativação dos procedimentos de contingência de
Ativação forma a se restabelecer as funções críticas numa situação
excepcional.
Ativo Todo item que uma organização possua e que tenha
algum valor tangível ou intangível.
São as informações na forma de documentos,
151
Segurança em Redes
152
Segurança em Redes
153
Segurança em Redes
154