Você está na página 1de 91

1

FACULDADE SALESIANA DE VITRIA PS-GRADUAO EM SEGURANA DE REDES DE COMPUTADORES

CRSTIAN ALVES SILVA GLAUCO ALVES FONSECA

SISTEMA DE DETECO DE INTRUSOS PARA REDES LOCAIS

VITRIA 2007

CRSTIAN ALVES SILVA GLAUCO ALVES FONSECA

SISTEMA DE DETECO DE INTRUSOS PARA REDES LOCAIS

Monografia apresentada ao Curso de Psgraduao em Segurana de Redes de Computadores da Faculdade Salesiana de Vitria, como requisito parcial para obteno do ttulo de Especialista em Segurana de Redes de Computadores. Orientador: Prof. M. Sc. Srgio Teixeira

VITRIA 2007

Dados Internacionais de Catalogao-na-publicao (CIP) (Biblioteca da Faculdade Salesiana de Vitria, Esprito Santo, Brasil) Silva, Crstian, 1977 Sistema de Deteco de Intrusos para Redes Locais / Crstian Alves Silva, Glauco Alves Fonseca. 2007. 91 f. : il. Orientador: Srgio Teixeira. Monografia (ps-graduao em Segurana de Redes de Computadores) Faculdade Salesiana de Vitria. 1. Redes de Computadores Segurana. 2. Sistema de Deteco de intrusos. 3. Sofware livre. I. Fonseca, Glauco Alves. II. Teixeira, Srgio. III. Faculdade Salesiana de Vitria. IV. Ttulo. CDU: 004.7

S586s

CRSTIAN ALVES SILVA GLAUCO ALVES FONSECA

SISTEMA DE DETECO DE INTRUSOS PARA REDES LOCAIS

Monografia apresentada ao Curso de Ps-graduao em Segurana de Redes de Computadores da Faculdade Salesiana de Vitria, como requisito parcial para obteno do ttulo de Especialista em Segurana de Redes de Computadores. Aprovada em 9 de agosto de 2007.

COMISSO EXAMINADORA

______________________________________ Prof. M. Sc. Srgio Teixeira Orientador

______________________________________ Prof. D.Sc. Tnia Barbosa Salles Gava Co-orientador

______________________________________ Prof. M. Sc. drian Bonf Drago Faculdade Salesiana de Vitria

Dedico este trabalho primeiramente a Deus que me deu foras para chegar at aqui e a minha famlia que sempre me incentivou para que buscasse novos conhecimentos.

AGRADECIMENTOS

A minha famlia pela compreenso no perodo de ausncia, ao Grupo So Bernardo que patrocinou todo curso, aos meus amigos que me ajudaram nessa caminhada, enfim, a todos que direta ou indiretamente contriburam para que eu pudesse realizar mais esta etapa da minha vida.

As coisas que importam mais nunca devem ser colocadas merc das coisas que importam menos. (GOETHE)

RESUMO
Este trabalho apresenta uma proposta de um modelo de sistema de deteco de intrusos (IDS) para rede local (LAN) com software livre, que visa autenticar todas as mquinas ativas na rede, minimizando o risco de acesso indevido. Este sistema busca atingir um nvel mais elevado de segurana para as empresas, com um custo acessvel.

Palavras-chave: Redes de Computadores Segurana, Sistema de Deteco de intrusos e software livre.

ABSTRACT
This work presents a proposal of a model of Intrusion Detection System (IDS) for Local Area Network (LAN) with free software, that it aims at to legalize all the active machines in the net, minimizing the risk of improper access, offering a raised level more of security for companies, with an accessible cost thus allowing, the insertion in this context small business companies. Keywords: Computer networks - Security, Intrusion Detection System and free software.

10

LISTA DE FIGURAS
Figura 1: Classes de Endereos. ...............................................................................................27 Figura 2: Mecanismos de Controle de Acesso .........................................................................46 Figura 3: Mtodo de criptografia DES .....................................................................................51 Figura 4: Equao de criptografia RSA....................................................................................53 Figura 5: Representao do MD5............................................................................................. 54 Figura 6: Funcionamento ssh.................................................................................................... 56 Figura 7: Modelo de seqncia de fluxo do IDS......................................................................64

11

LISTA DE QUADROS

Quadro 1: O quadro Ethernet ................................................................................................... 23 Quadro 2: Pilha TCP/IP............................................................................................................ 25 Quadro 3: Classes de endereos IP...........................................................................................27 Quadro 4: Blocos de Endereos Reservados ............................................................................ 28 Quadro 5: Exemplo de um endereo de classe C .....................................................................30 Quadro 6: Apagar periodicamente arquivos mais velhos que 30 dias...................................... 36 Quadro 7: Funo em Shell Script para retornar a data anterior, levando em conta o ms e ano .................................................................................................................................................. 38 Quadro 8: Verificando se o servio sshd est rodando.............................................................65 Quadro 9: Verificando se o servio sshd est parado...............................................................66 Quadro 10: Iniciando o servio sshd ........................................................................................66 Quadro 11: Arquivo de configurao do servidor dhcp ...........................................................67 Quadro 12: Arquivo dhcp.lst ....................................................................................................68 Quadro 13: Script de gerao do arquivo dhcp.lst ...................................................................69 Quadro 14: Exemplo do arquivo temporrio com o quadro endereos IP ............................... 70 Quadro 15: Arquivo mquinas_ativas.conf..............................................................................70 Quadro 16: Exemplo do arquivo mquinas_ativas.conf com uma mquina desativada na rede .................................................................................................................................................. 70 Quadro 17: Exemplo do arquivo mquinas_ativas.conf com uma mquina ativa na rede.......71 Quadro 18: Sada do comando ping por broadcast...................................................................72 Quadro 19: Filtrando o contedo da tabela arp ........................................................................72 Quadro 20: Gerando um par de chaves publica/privada .......................................................... 73 Quadro 21: Copiando a chave pblica para o servidor............................................................. 74 Quadro 22: Exemplo de como mostrar a rota dos pacotes ICMP com o comando ping..........85 Quadro 23: Os tipos bsicos de ping ........................................................................................ 86 Quadro 24: Comando arp ......................................................................................................... 87 Quadro 25: Exemplo do comando arp -d.................................................................................. 87 Quadro 26: Exemplo do comando arp -s .................................................................................. 87 Quadro 27: Listar as interfaces e seus endereos .....................................................................88 Quadro 28: Configurar e levantar uma interface com um determinado IP ..............................88 Quadro 29: Desabilitar uma interface.......................................................................................88 Quadro 30: Configurar um "alias" em uma interface, juntamente com outro endereo IP...... 88

12 Quadro 31: Mudar a MTU de uma interface ............................................................................89 Quadro 32: Configurar placa com uma conexo ponto-a-ponto .............................................. 89 Quadro 33: Colocar e retirar uma interface do modo Promscuo.............................................89 Quadro 34: Alterar o endereo MAC da placa.........................................................................89 Quadro 35: Extrair a 4 linha de um ficheiro............................................................................90 Quadro 36: Substituies de texto (substituir as vrgulas [,] por hfens[-]) ............................. 90 Quadro 37: Pegar somente o endereo de retorno....................................................................90 Quadro 38: Comando cat.......................................................................................................... 90 Quadro 39: Procurar uma frase em todos os arquivos de um diretrio .................................... 91 Quadro 40: Outras variaes do comando grep .......................................................................91 Quadro 41: Procurar em um arquivo as linhas que contenham uma palavra OU outra palavra .................................................................................................................................................. 91 Quadro 42: Procurar em todo arquivo ......................................................................................91

13

SUMRIO 1 Introduo...................................................................................................... 16
1.1 Motivao .................................................................................................................... 17 1.2 Objetivos......................................................................................................................18 1.3 Metodologia ................................................................................................................. 18 1.4 Organizao do trabalho............................................................................................ 19

2 Tecnologias e servios de Redes Locais....................................................... 20


2.1 A evoluo da Ethernet............................................................................................... 20 2.2 Endereamento ........................................................................................................... 22 2.3 O quadro Ethernet ...................................................................................................... 23 2.4 Endereo MAC ............................................................................................................ 24 2.5 O Protocolo TCP/IP .................................................................................................... 24 2.5.1 A Camada de Aplicao.................................................................................... 26 2.5.2 Endereo IP....................................................................................................... 26 2.5.3 Classes de endereos......................................................................................... 27 2.5.4 Classes especiais ............................................................................................... 28 2.6 Subrede ........................................................................................................................29 2.6.1 Mscaras de subrede ......................................................................................... 29 2.6.2 Motivaes para criar subredes.........................................................................29 2.6.3 Exemplo de uma subrede .................................................................................. 30 2.7 Address Resolution Protocol ou ARP ....................................................................... 31 2.8 Reverse Address Resolution Protocol ou RARP...................................................... 31 2.9 Protocolo ICMP........................................................................................................... 32 2.10 SSH............................................................................................................................... 32 2.11 DHCP ...........................................................................................................................33 2.11.1 Critrios de atribuio de IPs............................................................................34 2.12 Shell Scripts................................................................................................................. 35 2.12.1 Caractersticas...................................................................................................36 2.12.2 Alguns exemplos de scripts ..............................................................................36

3 Ameaas segurana de redes locais ......................................................... 39


3.1 Engenharia Social ....................................................................................................... 41 3.1.1 As vtimas de Engenharia Social ......................................................................41 3.1.2 Tcnicas de Engenharia Social .........................................................................42

14 3.1.3 Qualificao dos Ataques ................................................................................. 43 3.1.4 Mtodos Utilizados pelo atacante .....................................................................43 3.1.5 Figuras da Engenharia Social ...........................................................................43

4 Solues de segurana em redes locais........................................................ 45


4.1 Autenticao................................................................................................................ 45 4.2 Integridade .................................................................................................................. 46 4.3 Disponibilidade ........................................................................................................... 47 4.4 No-repdio................................................................................................................. 47 4.5 Privacidade.................................................................................................................. 48 4.6 Access Control List ..................................................................................................... 49 4.7 Capabilities.................................................................................................................. 49 4.8 Access Control Matriz................................................................................................ 49 4.9 Criptografia................................................................................................................. 49 4.9.1 Criptografia Simtrica....................................................................................... 50 4.9.2 Criptografia Assimtrica...................................................................................52 4.10 Secure Hashes e Message Digests ..............................................................................53 4.11 Assinatura Digital ....................................................................................................... 54 4.12 SSH............................................................................................................................... 56 4.13 PGP .............................................................................................................................. 57 4.13.1 Como funciona.................................................................................................. 57 4.14 Kerberos ...................................................................................................................... 58 4.14.1 O que faz:.......................................................................................................... 58 4.15 Snort............................................................................................................................. 59 4.16 O que so sistemas de deteco de intrusos?............................................................59 4.16.1 Principais tipos de IDS...................................................................................... 60 4.16.2 IDS baseado em rede......................................................................................... 60 4.16.3 IDS baseado em host......................................................................................... 61

5 Uma proposta de deteco de intrusos para redes locais .......................... 63


5.1 Processo de Inicializao............................................................................................ 64 5.1.1 Preparao dos arquivos Globais......................................................................65 5.1.2 Detalhamento .................................................................................................... 65 5.1.3 Formatao do arquivo do servidor dhcp. ........................................................ 66 5.2 Processo de Varredura ............................................................................................... 70 5.3 Primeira Validao..................................................................................................... 71

15 5.4 Segunda validao ...................................................................................................... 73 5.4.1 Servidor de Varredura....................................................................................... 73 5.5 Resposta ....................................................................................................................... 75 5.6 Auditoria...................................................................................................................... 76

6 Consideraes Finais e Trabalhos Futuros................................................. 77 7 Referncias bibliogrficas ............................................................................ 78 8 APNDICE .................................................................................................... 81


8.1 Algumas ferramentas teis ........................................................................................ 81 8.2 Algumas Ferramentas de Administrao de Sistemas ............................................ 89

16

1 INTRODUO
Atualmente, as redes locais de computadores esto cada vez mais presentes no dia-a-dia das empresas, governos, faculdades e na vida dos cidados. O grande nmero de servios de armazenamento de informaes, e-mails, chats, discos virtuais, dentre outros disponveis, esto obrigando as empresas a buscarem alternativas de segurana da informao, pois o uso indevido das informaes contidas nesses servios pode causar prejuzos financeiros. Por meio das redes locais, os computadores tm acesso a informaes de outras redes ou equipamentos em todo o mundo. Caso essa comunicao no seja monitorada, poder ocorrer acesso indevido aos dados e sistemas das empresas. Por exemplo, o acesso a determinados scripts maliciosos em pginas da web poderia ocasionar danos e perdas de informao. O acesso ou a tentativa de acesso indevido originrio da Internet s redes locais j algo de preocupao por parte das empresas, entretanto, o acesso indevido originrio da prpria rede local algo que ainda requer uma maior ateno e cuidados por parte dos administradores das redes locais. Segurana de Rede de computadores um assunto em constante mudana, pois a todo momento surgem novas formas de invaso e tambm novas tecnologias para evitar o acesso indevido. Os administradores de rede precisam fazer com que a rede tenha o nvel de segurana necessrio para proteger os ativos vitais, permitindo ao mesmo tempo o funcionamento ininterrupto das atividades dirias. Voc pode at alcanar a proteo ideal ao planejar uma implementao segura ou ao proteger uma implementao existente, mas a segurana s pode ser garantida com o passar do tempo atravs da reviso de configuraes, diretivas e procedimentos. O estudo das melhores prticas deve ser analisado para se obter, em cada caso, a melhor utilizao dos recursos disponveis para prevenir possveis problemas de redes (arquitetura, firewalls, trfego e outros). Certas vezes um administrador precisa ser menos rgido com certos princpios de segurana para poder atender a necessidades comerciais, mas isso deve ser feito apenas com um entendimento claro das possveis vulnerabilidades, ameaas, ataques e riscos envolvidos nessa deciso.

17 Sendo assim, quais seriam as possveis solues para minimizar os problemas causados por falhas na segurana? Em ambientes heterogneos, em que o fluxo de dados e a quantidade de usurios conectados ao mesmo PC ou rede forem relativamente grandes, se faz necessria a elaborao de polticas de segurana. Na formalizao dessas polticas ficam claros os padres de comportamento a serem seguidos para se evitar a exposio a potenciais riscos. Com todos esses pontos observados, a rede estar com um nvel de segurana aceitvel para o uso, contribuindo para o bem-estar das pessoas e empresas que a utilizam (KUROSE / ROSS, 2006). ... a segurana de rede conseguida por meio de um ciclo contnuo de proteo, deteco e reao (STOLL, 1995)

1.1

MOTIVAO

No existe segurana sem proteo fsica. Um invasor que obtenha acesso fsico a uma rede pode, a partir desse acesso, tentar invadir outros computadores da rede. Todos os potenciais ataques fsicos devem ser considerados de alto risco e atenuados de modo apropriado. Proteger fisicamente uma rede de computadores no uma tarefa simples, pois geralmente os pontos de rede ficam expostos e acessveis aos usurios finais. Para atenuar esta ameaa, este trabalho apresenta uma proposta para restringir o acesso de mquinas no autorizadas rede. Segundo o Cert.br (Centro de Estudos, Respostas e Tratamento de Incidentes de Segurana no Brasil) o total de incidentes reportados ao rgo subiu de 68.000 no ano de 2005 para 197.892 no ano de 2006, o que indica cada vez mais a necessidade da preocupao com as ameaas em potencial com o meio das redes de computadores. O alto e constante crescimento de solues utilizando software livre vem conquistando o mercado, principalmente na rea de segurana da informao, permitindo elaborao de solues seguras a custos bem menores que as solues proprietrias existentes no mercado.

18 A alta disponibilidade das comunidades de software livre faz surgir solues de problemas que causam grande impacto em tempo hbil s necessidades das empresas trazendo alto ndice de satisfao para o usurio final.

1.2

OBJETIVOS

O objetivo deste trabalho elaborar um modelo de segurana de Sistema de Deteco de Intrusos (IDS) para rede local que auxilie o administrador a monitorar a autenticidade de todas as mquinas ativas na rede, utilizando software livre.

1.3

METODOLOGIA

A primeira fase deste trabalho foi buscar e avaliar o mximo possvel de material disponvel referente ao assunto em literaturas e busca eletrnica, desde os conceitos bsicos de redes at as ferramentas necessrias para que se tornasse possvel a implementao da proposta apresentada do Sistema de Deteco de Intrusos para Redes Locais. Aps a avaliao de todo material levantado, deu incio a fase de elaborao dos scripts para incio dos testes em laboratrio, avaliao das ferramentas disponveis para aliar a teoria prtica e verificar se realmente as pesquisas realizadas se aplicariam ao modelo apresentado. Durante este processo em que foram identificados todos os pontos a serem implementados no modelo a ser elaborado, surgiu a proposta de um modelo de sistemas de deteco de intrusos para redes locais. Foram detalhadas todas as etapas necessrias para que o modelo proposto pudesse atingir seu objetivo inicial. A cada obstculo ocorrido houve necessidade de buscas na web e novas pesquisas na literatura disponvel. A terceira e ltima fase foi a organizao das idias do modelo proposto, baseada na avaliao em laboratrio das ferramentas disponveis, fazendo as consideraes necessrias e agregando todo o material necessrio para embasamento da proposta, para que pudesse obter uma seqncia lgica das rotinas descritas.

19 1.4 ORGANIZAO DO TRABALHO

Este trabalho composto por sete captulos, cuja estrutura encontra-se segmentada da seguinte maneira: O captulo 1 faz uma pequena introduo ao mundo da segurana da informao colocando os pontos mais relevantes. subdivido em motivao, objetivos, metodologias e a organizao do trabalho. O captulo 2 mostra os servios e tecnologias que as Redes Locais podem oferecer para seus usurios. Apresenta os conceitos, evolues e aplicaes existentes atualmente no mercado. O captulo 3 mostra as principais ameaas segurana de uma rede local, explica alguns conceitos utilizados nesse submundo, principais tipos de ataques que podem ocorrer, engenharia social e suas caractersticas. O capitulo 4 mostra as principais solues em segurana em uma rede local. Apresenta as tecnologias e solues disponveis para segurana em redes locais. O capitulo 5 apresenta uma proposta de deteco de intrusos para redes locais, mostrando passo a passo cada detalhe de implementao, juntamente com propostas solues futuras que venham a acrescentar a proposta. O captulo 6 apresenta as consideraes finais e algumas sugestes de trabalhos futuros que possam vir a ser realizados dando continuidade e aperfeioamento proposta apresentada. O captulo 7 apresenta todas as referncias bibliogrficas utilizadas durante a realizao deste trabalho e que serviram como base para o desenvolvimento do trabalho proposto.

20

2 TECNOLOGIAS E SERVIOS DE REDES LOCAIS


Boa parte das redes locais existentes na atualidade utilizam a tecnologia Ethernet. Iniciamos a breve apresentao dessa tecnologia perguntando: qual o problema que a Ethernet tenta resolver? Em 1973, quando Bob Metcalfe da Xerox inventou a Ethernet, sua motivao era conectar estaes de trabalho avanadas entre si e com impressoras laser em alta velocidade. Nessa poca, conexes entre computadores eram possveis, mas utilizando apenas baixas taxas de transmisso. A revoluo proporcionada pela inveno de Metcalfe foi permitir a comunicao em alta velocidade, a um custo relativamente baixo. Por alta velocidade, entende-se uma taxa de transmisso maior que 1 Mbps, considerada alta na poca. Hoje, corriqueiro utilizar Ethernet a velocidades de 100 Mbps e 1 Gbps (1000 Mbps) e a verso com velocidade de 10 Gbps est em fase de concluso (SPURGEON, 2000). Por outro lado, o atributo de alta velocidade da tecnologia imps uma restrio de alcance: s seria possvel conectar equipamentos que estivessem distantes um do outro de, no mximo, algumas centenas de metros. Nesse momento, nascia ento o conceito de Rede Local.

2.1

A EVOLUO DA ETHERNET

Embora os princpios de operao sejam os mesmos, existem muitas variaes da tecnologia Ethernet. Trs necessidades levaram existncia dessas variaes: maior velocidade, melhor facilidade de uso e padronizao. Trs Mbps (a velocidade original da Ethernet de Metcalfe) era considerada uma velocidade alta em 1973, mas o crescimento do uso de redes fez com que velocidades cada vez maiores fossem necessrias para carregar o trfego de aplicaes modernas. Hoje em dia, usurios navegam na Internet, participam de videoconferncias, recebem fluxos de udio etc., necessitando de maior velocidade nas redes locais. Outro exemplo demonstra claramente a necessidade de redes locais de maior velocidade: a tecnologia de discos mudou muito de 1973 para c. H trinta anos, o acesso a um disco remoto teria como gargalo a velocidade do prprio disco. Hoje, os discos so muito mais rpidos e o acesso a um disco remoto satura uma rede de 10 Mbps, velocidade ainda largamente utilizada em redes locais. Ao longo das ltimas trs dcadas, a tecnologia Ethernet tem sido oferecida em velocidades de 1 Mbps, 3 Mbps, 10 Mbps, 100 Mbps e 1 Gbps (1000

21 Mbps). Parcialmente em conseqncia do aumento de velocidade, vrias mdias fsicas tm sido utilizadas para carregar trfego Ethernet: cabos coaxiais grossos, cabos coaxiais finos, vrios tipos de pares tranados e fibra tica. A segunda fora que impeliu mudanas na tecnologia Ethernet diz respeito facilidade de uso e custo. O Ethernet original usava um cabo coaxial grosso com duas desvantagens: primeiro, era de difcil instalao; segundo, o cabo coaxial corria de equipamento em equipamento, fazendo com que qualquer interrupo no cabo resultasse na parada total da rede inteira. Para mitigar esses efeitos outras mdias foram utilizadas. Primeiro o cabo coaxial fino, facilmente dobrvel, resolveu a questo de instalao. Segundo, para resolver a questo de interrupo na mdia, criou-se um equipamento chamado repetidor com o objetivo de interconectar equipamentos por meio de par tranado. Dessa forma, a interrupo de sinal em um par tranado s afetaria a comunicao com um equipamento e no na rede inteira. Para possibilitar velocidades mais altas, vrias categorias de pares tranados podem ser utilizadas. Finalmente, a mdia de fibra tica foi introduzida para permitir maiores distncias, maiores velocidades e devido a sua imunidade a rudos. A terceira fora motriz da mudana na tecnologia Ethernet a padronizao. A Xerox patenteou Ethernet em 1978. Porm, para promover seu uso mais massificado, a Xerox se aliou DEC e Intel em 1980 para formar o padro Ethernet de 10 Mbps chamado DIX. Num esforo paralelo, o IEEE estava, na mesma poca, padronizando tecnologias de redes locais e metropolitanas sob o nmero 802. A tecnologia Ethernet foi padronizada em 1985 pelo IEEE sob padro nmero 802.3. Infelizmente, o padro DIX e o padro IEEE 802.3 so ligeiramente diferentes. Com o tempo, outros padres foram criados para acomodar velocidades crescentes e mdias variadas. Numa seo posterior, discutiremos a questo das variaes do Ethernet mais detalhadamente.

22 2.2 ENDEREAMENTO

Pode-se dizer que Ethernet oferece a comunicao entre equipamentos de uma mesma rede fsica sem uso de conexes e com servios unicast 1 (um quadro vai para um destino nico), multicast2 (um quadro vai para mltiplos destinos) e difuso (um quadro vai para todos os destinos). Para concretizar esses servios cada entidade participante na comunicao possui um endereo nico chamado endereo MAC ou endereo fsico. O significado da abreviao MAC ser explicado adiante. Os endereos MAC possuem 48 bits e so nicos por construo; isso significa que, quando um fabricante constri uma placa de rede Ethernet, ela recebe um endereo nico determinado por hardware. O conjunto de endereos MAC forma um espao plano (flat address space). Em outras palavras, no se utilizam subcampos do endereo para determinar a localizao geogrfica ou para ajudar no encaminhamento da informao. A placa de rede de endereo 00-07-95-03-FA-89 (em hexadecinal) poderia estar no Brasil, enquanto a placa com o prximo endereo 00-07-95-03-FA-8A poderia estar em outra rede local, na China. No momento em que duas estaes conectadas rede querem conversar, a fonte conhece o endereo IP da estao destino, mas no seu endereo MAC; o mapeamento de endereos IP para endereos MAC feito com o protocolo ARP (Address Resolution Protocol). A Ethernet permite que quadros sejam enviados para endereos especiais. O endereo FF-FFFF-FF-FF-FF o endereo de difuso: o quadro enviado para tal endereo recebido por todas as estaes. Alm do mais, cada interface de rede (placa de rede) pode ser configurada para receber quadros pertencentes a um grupo multicast. Os endereos multicast iniciam com um bit igual a 1.

1 2

Unicast Endereamento para um pacote feito a um nico destino

Multicast entrega de informao para mltiplos destinatrios simultaneamente usando a estratgia mais eficiente onde as mensagens s passam por um link uma nica vez e somente so duplicadas quando o link para os destinatrios se divide em duas direes

23 2.3 O QUADRO ETHERNET

O quadro do protocolo Ethernet mostrado na Figura seguinte. 46 a 1500 bytes

64 bits

48 bits

48 bits

16 bits

32 bits Seqncia de

Endereo Prembulo destino

Endereo Tipo de origem


Quadro 1: O quadro Ethernet

Dados

verificao de quadro

O conhecimento da organizao do quadro no importante para o administrador de rede. Nosso objetivo destacar os seguintes pontos: O quadro contm os endereos fsicos (MAC) das estaes de origem e de destino do quadro. Portanto, Ethernet estabelece comunicao quadro-a-quadro, sem necessidade de estabelecer conexes prvias entre as estaes. Ao transportar pacotes IPv4, o campo Tipo receber o valor hexadecimal 0x0800; para IPv6, o tipo 0x86DD; para ARP, 0x0806. Outros valores possveis podem ser verificados em http://www.iana.org/assignments/ethernet-numbers. O tamanho mnimo do quadro (sem incluir o prembulo) de 64 bytes e o tamanho mximo de 1518 bytes. O quadro possui um campo de verificao (chamado Frame Check Sequence - FCS ou Cyclic Redundancy Check - CRC), que permite que a estao destino detecte erros na transmisso. Ethernet utiliza um protocolo (MAC) do tipo melhor esforo, o que significa que, embora detecte erros, sua recuperao deixada para protocolos de nveis superiores (TCP, por exemplo).

24 2.4 ENDEREO MAC

Conceitualmente, uma rede Ethernet simples consiste de um barramento nico que todas as estaes querem acessar para realizar suas transmisses. Como esse meio nico e compartilhado, apenas uma estao pode transmitir (a comunicao half-duplex). Deve, portanto, haver uma forma de organizar os acessos tal que cada estao possa, eventualmente, transmitir um quadro. O responsvel por esse controle chama-se Media Access Control (MAC). Ethernet usa um mecanismo bastante simples para realizar o acesso; esse mecanismo recebeu o nome de Carrier-Sense Multiple Access with Collision Detection (CSMA-CD) ou Acesso Mltiplo Usando Deteco de Portadora e Deteco de Coliso e funciona da seguinte maneira: quando uma estao quer transmitir informao no meio compartilhado, ela espera at verificar que a portadora do meio est ausente; isso indica que ningum est transmitindo neste momento. Ela ento inicia sua transmisso. Como outra estao pode ter tomada a mesma deciso, possvel que haja uma coliso, em que as transmisses interferem uma com a outra, embaralhando a informao no meio. Cada estao detecta a coliso e pra de transmitir. As estaes esperam, ento, certo tempo aleatrio antes de tentar novamente. Eventualmente, cada estao poder transmitir sem interferncia das demais. Colises so eventos absolutamente normais numa rede Ethernet, embora um excesso de colises possa diminuir sensivelmente o desempenho da rede.

2.5

O PROTOCOLO TCP/IP

Os protocolos para internet formam o grupo de protocolos de comunicao que implementam a pilha de protocolos sobre os quais a internet e a maioria das redes comerciais funcionam. Eles so algumas vezes chamados de "protocolos TCP/IP", j que os dois protocolos mais importantes desse modelo so: o protocolo TCP - Transmission Control Protocol (Protocolo de Controle de Transmisso) - e o IP - Internet Protocol (Protocolo Internet). Esses dois protocolos foram os primeiros a serem definidos.

25 O modelo OSI descreve um grupo fixo de sete camadas que alguns fornecedores preferem e que pode ser de certa forma comparado com o modelo TCP/IP. Essa comparao pode causar confuso ou trazer detalhes mais internos para o TCP/IP. O modelo TCP/IP de encapsulamento busca fornecer abstrao aos protocolos e servios para diferentes camadas de uma pilha de estruturas de dados (ou simplesmente pilha). Uma pilha consiste de quatro camadas: 4 Aplicao 3 Transporte 2 Rede 1 Fsica
Quadro 2: Pilha TCP/IP

As camadas mais prximas do topo esto logicamente mais perto do usurio, enquanto aquelas mais abaixo esto logicamente mais perto da transmisso fsica do dado. Cada camada tem um protocolo de camada acima e um protocolo de camada abaixo (exceto as camadas da ponta, obviamente) que podem usar servios de camadas anteriores ou fornecer um servio, respectivamente. Enxergar as camadas como fornecedores ou consumidores de servio um mtodo de abstrao para isolar protocolos de camadas acima dos pequenos detalhes de transmitir bits atravs de ethernet, e a deteco de coliso enquanto as camadas abaixo evitam ter de conhecer os detalhes de todas as aplicaes e seus protocolos. Essa abstrao tambm permite que as camadas de cima forneam servios que as camadas de baixo no podem fornecer. Por exemplo, o IP projetado para no ser confivel e um protocolo best effort delivery. Isso significa que toda a camada de transporte deve indicar se ir ou no fornecer confiabilidade e em qual nvel. O UDP fornece integridade de dados (via um checksum) mas no fornece entrega garantida; j o TCP fornece tanto integridade dos dados quanto garantia de entrega (retransmitindo at que o destinatrio receba o pacote).

26 2.5.1 A CAMADA DE APLICAO

A camada de aplicao a camada que a maioria dos programas de rede usa para se comunicar atravs de uma rede com outros programas. Processos que rodam nessa camada so especficos da aplicao; o dado passado do programa de rede, no formato usado internamente por essa aplicao, e codificado dentro do padro de um protocolo. Alguns programas especficos so levados em conta nessa camada. Eles provm servios que suportam diretamente aplicaes do usurio. Esses programas e seus correspondentes protocolos incluem o HTTP (navegao na World Wide Web), FTP (transporte de arquivos), SMTP (envio de e-mail), SSH (login remoto seguro), DNS (pesquisas nome <-> IP) e muitos outros. Uma vez que o dado de uma aplicao foi codificado dentro de um padro de um protocolo da camada de aplicao ele ser passado para a prxima camada da pilha IP. Na camada de transporte, aplicaes iro, em sua maioria, fazer uso de TCP ou UDP, e aplicaes servidoras so freqentemente associadas com um nmero de porta. Portas para aplicaes servidoras so oficialmente alocadas pela IANA (Internet Assigned Numbers Authority), mas desenvolvedores de novos protocolos hoje em dia freqentemente escolhem os nmeros de portas por eles mesmos. Uma vez que raro ter mais que alguns poucos programas servidores no mesmo sistema, problemas com conflito de portas so raros. Aplicaes tambm geralmente permitem que o usurio especifique nmeros de portas arbitrrios atravs de parmetros em tempo de execuo. Aplicaes cliente conectando para fora geralmente usam um nmero de porta aleatrio determinado pelo sistema operacional.

2.5.2

ENDEREO IP

O endereo IP, de forma genrica, pode ser considerado como um conjunto de nmeros que representa o local de um determinado equipamento (normalmente computadores) em uma rede privada ou pblica. Para um melhor uso dos endereos de equipamentos em rede pelas pessoas, utiliza-se a forma de endereos de domnio, tal como "www.salesiano.com.br". Cada endereo de domnio convertido em um endereo IP pelo DNS. Este processo de converso conhecido como resoluo de nomes de domnio.

27 2.5.3 CLASSES DE ENDEREOS

Originalmente, o espao do endereo IP foi dividido em poucas estruturas de tamanho fixo chamados de "classes de endereo". As trs principais so as classes A, B e C. Examinando os primeiros bits de um endereo, o software do IP consegue determinar rapidamente qual a classe, e logo, a estrutura do endereo. Classe A: Primeiro bit 0 (zero) Classe B: Primeiros dois bits so 10 (um, zero). Classe C: Primeiros trs bits so 110 (um, um, zero). Classe D: (endereo multicast): Primeiros quatro bits so: 1110 (um,um,um,zero) Classe E: (endereo especial reservado): Primeiros quatro bits so 1111 (um,um,um,um)

Figura 1: Classes de Endereos.

A tabela seguinte contm o intervalo das classes de endereos IPs Classe A B C D E Gama de Endereos 1.0.0.0 at 126.0.0.0 128.0.0.0 at 191.255.0.0 192.0.0.0 at 223.255.255.254 224.0.0.0 at 239.255.255.255 240.0.0.0 at 255.255.255.255 N.Endereos por Rede 16 777 216 65 536 256 multicast multicast reservado

Quadro 3: Classes de endereos IP

28 2.5.4 CLASSES ESPECIAIS

Existem classes especiais na Internet que no so consideradas pblicas, i.e., no so consideradas como endereveis, so reservadas, por exemplo, para a comunicao com uma rede privada ou com o computador local ("localhost"). Blocos de Endereos Reservados: CIDR Bloco de Endereos 0.0.0.0/8 10.0.0.0/8 14.0.0.0/8 39.0.0.0/8 127.0.0.0/8 128.0.0.0/16 169.254.0.0/16 172.16.0.0/12 191.255.0.0/16 192.0.0.0/24 192.0.2.0/24 192.88.99.0/24 192.168.0.0/16 198.18.0.0/15 223.255.255.0/24 224.0.0.0/4 240.0.0.0/4 255.255.255.255 Descrio Rede corrente (s funciona como endereo de origem) Rede Privada Rede Pblica Reservado Localhost Reservado (IANA) Zeroconf Rede Privada Reservado (IANA) Documentao IPv6 para IPv4 Rede Privada Teste de benchmark de redes Reservado Multicasts (antiga rede Classe D) Reservado (antiga rede Classe E) Broadcast
Quadro 4: Blocos de Endereos Reservados

Referncia RFC 1700 RFC 1918 RFC 1700 RFC 1797 RFC 3330 RFC 3330 RFC 3927 RFC 1918 RFC 3330 RFC 3330 RFC 3068 RFC 1918 RFC 2544 RFC 3330 RFC 3171 RFC 1700

29 2.6 SUBREDE

Uma subrede uma diviso de uma rede de computadores. A diviso de uma rede grande em redes menores resulta num trfego de rede reduzido, administrao simplificada e melhor performance de rede. Para criar subredes, qualquer mquina tem que ter uma mscara de subrede que define que parte do seu endereo IP ser usada como identificador da subrede e como identificador do host.

2.6.1

MSCARAS DE SUBREDE

Uma mscara de subrede tambm conhecida como subnet mask ou netmask, uma bitmask de 32 bits usada para informar os routers. Normalmente, as mscaras de subrede so representadas com quatro nmeros de 0 a 255 separados por trs pontos, ou, menos vulgar, como oito dgitos de um nmero hexadecimal. A mscara 255.255.255.0 (0xffffff00 ou 11111111111111111111111100000000), por exemplo, indica que o terceiro byte do endereo mostra o nmero de subrede e o quarto mostra o do sistema em questo. 255.255.255.255 (0xffffffff ou 11111111111111111111111111111111) usado como endereo para um sistema na parte de rede sem subredes; os ltimos dois bytes indicam apenas o sistema.

2.6.2

MOTIVAES PARA CRIAR SUBREDES

As subredes no so as nicas formas para ultrapassar problemas de topologia, mas uma forma eficaz para ultrapassar esses mesmos problemas ao nvel do software do TCP/IP. As razes topolgicas para criar subredes incluem: Ultrapassar limitaes de distncia. Algum hardware de rede tem limitaes de distncia rgidas. Como, por exemplo, o tamanho mximo de um cabo ethernet de

30 500 metros (cabo grosso) ou 300 metros (cabo fino). O comprimento total de uma ethernet de 2500 metros, para distncias maiores usamos routers de IP. Cada cabo uma ethernet separada. Interligar redes fsicas diferentes. Os routers podem ser usados para ligar tecnologias de redes fsicas diferentes e incompatveis. Filtrar trfego entre redes. O trfego local permanece na subrede. As subredes tambm servem outros propsitos organizacionais: Simplificar a administrao de redes. As subredes podem ser usadas para delegar gesto de endereos, problemas e outras responsabilidades. Reconhecer a estrutura organizacional. A estrutura de uma organizao (empresas, organismos pblicos, etc.) pode requerer gesto de rede independente para algumas divises da organizao. Isolar trfego por organizao. Acessvel apenas por membros da organizao, relevante quando questes de segurana so levantadas. Isolar potenciais problemas. Se um segmento pouco vivel, podemos fazer dele uma subrede.

2.6.3

EXEMPLO DE UMA SUBREDE

Tomemos como exemplo um endereo de classe C (sendo x 0 ou 1) e dois bits movidos para a direita para criar uma subrede: endereo C: mscara: classe xxxxxxxx.xxxxxxxx.xxxxxxxx.00000000 11111111.11111111.11111111.11000000
Quadro 5: Exemplo de um endereo de classe C

31 Porque acrescentamos dois bits a 1 (um), podemos criar 22 = 4 subredes. Sobram 6 zeros, logo esta subrede pode enderear 26 = 64 hosts (menos 2 endereos um para rede outro para broadcast). A mscara a aplicar 255.255.255.192, porque 256-64=192.

2.7

ADDRESS RESOLUTION PROTOCOL OU ARP

um protocolo usado para encontrar um endereo Ethernet (MAC) a partir do endereo IP. O emissor difunde em broadcast um pacote ARP contendo o endereo IP de outro host e espera uma resposta com um endereo MAC respectivo. Cada mquina mantm uma tabela de resoluo em cache para reduzir a latncia e carga na rede. O ARP permite que o endereo IP seja independente do endereo Ethernet, mas apenas funciona se todos os hosts o suportarem. O 'ARP' pode trabalhar com outras camadas de enlace, alm do Ethernet e outras camadas de rede, alm do Protocolo IP. A alternativa para as mquinas que no suportem ARP um pr-mapeamento (esttico) dos endereos. Ao processo inverso chama-se RARP (Reverse ARP). arp tambm o nome de um comando Unix que permite consultar e manipular a cache de ARP do kernel do sistema operativo.

2.8

REVERSE ADDRESS RESOLUTION PROTOCOL OU RARP

Reverse Address Resolution Protocol (RARP) ou Protocolo de Resoluo Reversa de Endereos associa um endereo MAC conhecido a um endereo IP. Permite que os dispositivos de rede encapsulem os dados antes de envi-los rede. Um dispositivo de rede, como uma estao de trabalho sem disco, por exemplo, pode conhecer seu endereo MAC, mas no seu endereo IP. O RARP permite que o dispositivo faa uma solicitao para saber seu endereo IP. Os dispositivos que usam o RARP exigem que haja um servidor RARP presente na rede para responder s solicitaes RARP.

32 2.9 PROTOCOLO ICMP

ICMP, sigla para o ingls Internet Control Message Protocol, um protocolo integrante do Protocolo IP, definido pelo RFC 792, e utilizado para fornecer relatrios de erros fonte original. Qualquer computador que utilize IP precisa aceitar as mensagens ICMP, e alterar o comportamento em resposta ao erro relatado. Os gateways devem estar programados para enviar mensagens ICMP quando receberem datagramas que provoquem algum erro. (SOARES/COLCHER,1995). As mensagens ICMP geralmente so enviadas automaticamente em uma das seguintes situaes: Um pacote IP no consegue chegar ao seu destino (i.e. Tempo de vida do pacote expirado) O Gateway no consegue retransmitir os pacotes na freqncia adequada (i.e. Gateway congestionado) O Roteador ou Encaminhador indica uma rota melhor para a maquina a enviar pacotes.

2.10 SSH Em informtica, o Secure Shell ou SSH , simultaneamente, um programa de computador e um protocolo de rede que permite a conexo com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexo entre o cliente e o servidor ser criptografada. Uma de suas mais utilizadas aplicaes o chamado Tunnelling, que oferece a capacidade de redirecionar pacotes de dados. Por exemplo, se algum se encontra dentro de uma instituio cuja conexo Internet protegida por um firewall que bloqueia determinadas portas de conexo, no ser possvel, por exemplo, acessar e-mails via POP3, o qual utiliza a porta 110, nem envi-los via SMTP, pela porta 25. As duas portas essenciais so a 80 para HTTP e a 443 para HTTPS. No h necessidade do administrador da rede deixar vrias portas abertas, uma

33 vez que conexes indesejadas e que comprometam a segurana da instituio possam ser estabelecidas pelas mesmas. Contudo, isso compromete a dinamicidade de aplicaes na Internet. Um funcionrio ou aluno que queira acessar painis de controle de sites, arquivos via FTP ou amigos via mensageiros instantneos no ter a capacidade de faz-lo, uma vez que suas respectivas portas esto bloqueadas. Para quebrar essa imposio rgida (mas necessria), o SSH oferece o recurso do Tnel. O processo se caracteriza por duas mquinas ligadas ao mesmo servidor SSH, que faz apenas o redirecionamento das requisies do computador que est sob firewall. O usurio envia para o servidor um pedido de acesso ao servidor pop.xxxxxxxx.com pela porta 443 (HTTPS), por exemplo. Ento, o servidor acessa o computador remoto e requisita a ele o acesso ao protocolo, retornando um conjunto de pacotes referentes aquisio. O servidor codifica a informao e a retorna ao usurio via porta 443. Sendo assim, o usurio tem acesso a toda a informao que necessita. Tal prtica no ilegal caso o fluxo de contedo esteja de acordo com as normas da instituio. O SSH faz parte da sute de protocolos TCP/IP que torna segura a administrao remota de um servidor Unix.

2.11 DHCP DHCP um conjunto de regras usadas por dispositivos de comunicao tais como um computador, router ou placa de rede permitindo a estes dispositivos pedir e obter endereos IP de um servidor contendo uma lista de endereos disponveis para atribuio. O DHCP, Dynamic Host Configuration Protocol, um protocolo de servio TCP/IP que oferece configurao dinmica de terminais, com concesso de endereos IP de host e outros parmetros de configurao para clientes de rede. Este protocolo o sucessor do BOOTP que, embora mais simples, tornou-se limitado para as exigncias atuais. O DHCP surgiu como standard em Outubro de 1993. O RFC 2131 contm as especificaes mais atuais (Maro de 1997). O ltimo standard para a especificao do DHCP sobre IPv6 (DHCPv6) foi publicado a Julho de 2003 como RFC 3315.

34 Resumidamente, o DHCP opera da seguinte forma: Um cliente envia um pacote broadcast (destinado a todas as mquinas) com um pedido DHCP. Os servidores DHCP que capturarem este pacote iro responder (se o cliente se enquadrar numa srie de critrios - ver na prxima seo) com um pacote com configuraes onde constar, pelo menos, um endereo IP, uma mscara de rede e outros dados opcionais, como o gateway, servidores de DNS, etc. O DHCP usa um modelo cliente-servidor, no qual o servidor DHCP mantm o gerenciamento centralizado dos endereos IP usados na rede.

2.11.1 CRITRIOS DE ATRIBUIO DE IPS O DHCP oferece trs tipos de alocao de endereos IP: Atribuio manual - Onde existe uma tabela de associao entre o Endereo MAC do cliente (que ser comparado atravs do pacote broadcast recebido) e o endereo IP (e restantes dados) a fornecer. Esta associao feita manualmente pelo administrador de rede; por conseguinte, apenas os clientes cujo MAC consta nesta lista podero receber configuraes desse servidor; Atribuio automtica - Onde o cliente obtm um endereo de um espao de endereos possveis, especificado pelo administrador. Geralmente no existe vnculo entre os vrios MAC's habilitados a esse espao de endereos; Atribuio dinmica - O nico mtodo que dispe a reutilizao dinmica dos endereos. O administrador disponibiliza um espao de endereos possveis, e cada cliente ter o software TCP/IP da sua interface de rede configurados para requisitar um endereo por DHCP assim que a mquina arranque. A alocao utiliza um mecanismo de aluguer do endereo, caracterizado por um tempo de vida. Aps a mquina se desligar, o tempo de vida naturalmente ir expirar, e da prxima vez que o cliente se ligue, o endereo provavelmente ser outro.

35 Algumas implementaes do software servidor de DHCP permitem ainda a atualizao dinmica dos servidores de DNS para que cada cliente disponha tambm de um DNS. Este mecanismo utiliza o protocolo de atualizao do DNS especificado no RFC 2136.

2.12 SHELL SCRIPTS Antes de saber o que um script em shell, importante saber o que um Shell. Na linha de comandos de um shell, podemos utilizar diversos comandos um aps o outro, ou mesmo combin-los numa mesma linha. Se colocarmos diversas linhas de comandos em um arquivo texto simples, teremos em mos um Shell Script, ou um script em shell, j que Script uma descrio geral de qualquer programa escrito em linguagem interpretada, ou seja, no compilada. Outros exemplos de linguagens para scripts so o php, perl, python, javascript e muitos outros. Podemos ento ter um script em php, um script perl e assim em diante. Uma vez criado, um ShellScript pode ser reutilizado quantas vezes for necessrio. Seu uso, portanto, indicado na automao de tarefas que sero realizadas mais de uma vez. Todo sistema Unix e similares so repletos de scripts em shell para a realizao das mais diversas atividades administrativas e de manuteno do sistema. Os arquivos de lote (batch - arquivos *.bat) do Windows so tambm exemplos de ShellScripts, j que so escritos em linguagem interpretada e executados por um Shell do Windows, em geral o command.com ou hoje em dia o cmd.exe. Os Shells do Unix, porm, so inmeras vezes mais poderosas que o interpretador de comandos do Windows, podendo executar tarefas muito mais complexas e elaboradas. Os scripts shell podem ser agendados para execuo atravs da tabela crontab, entre outras coisas. uma ferramenta indispensvel aos administradores de sistemas Unix. O Shell mais comum e provavelmente o que possui mais scripts escritos para ele tambm um dos mais antigos e simples, o sh. Este shell est presente em todo o sistema tipo Unix, includo o Linux, FreeBSD, AIX, HP-UX, OpenBSD, Solaris, NetBSD, Irix, etc. Por ser o shell nativo mais comum natural que se prefira escrever scripts para ele, tornando o script mais facilmente portvel para outro sistema.

36 Os Shells no esto diretamente associados a um ou outro tipo de Unix, embora vrias empresas comerciais tenham suas prprias verses de Shell. No software livre o Shell utilizado em um sistema em geral exatamente o mesmo utilizado em outro. Por exemplo, o bash encontrado no Linux o mesmo shell bash encontrado no FreeBSD e pode tambm facilmente ser instalado no Solaris ou outros sistemas Unix comerciais para passar a ser utilizado como interface direta de comandos ou como interpretador de scripts. O mesmo acontece com o tcsh e vrios outros shells desenvolvidos no modelo de Software Livre.

2.12.1 CARACTERSTICAS Os shell scripts podem conter estruturas de programao tais como: Estruturas de deciso (if) Estruturas de repetio (for) (while) Funes etc.

2.12.2 ALGUNS EXEMPLOS DE SCRIPTS #!/bin/sh cd /tmp find . -type f -mtime +30 delete
Quadro 6: Apagar periodicamente arquivos mais velhos que 30 dias

Este seria o contedo de um shell script que sempre que fosse executado apagaria arquivos com data de modificao maior que 30 dias a partir do diretrio /tmp do sistema de arquivos. Notem que ele nada mais do que uma associao de 2 comandos (cd e find) em um arquivo para facilitar a repetio da tarefa. Este poderia ser, por exemplo, o contedo do arquivo /bin/limpatmp.sh e poderamos chamar este script pela linha de comandos sempre que desejssemos repetir esta ao:

37 $ limpatmp.sh Onde o smbolo "$" representa o prompt de comandos. Do ponto de vista do usurio este seria mais um comando disponvel para uso. Os scripts em shell so tambm muito empregados junto inicializao do sistema (para autoiniciar tarefas) ou como mini-aplicativos, que facilitam tarefas dos usurios, tais como montagem de dispositivos, menus de ajuda, etc. Sua primeira linha obrigatoriamente comea com um "#!" (que no se deve confundir com um comentrio qualquer, pois realmente uma exceo), informando diretamente ao kernel qual interpretador ele dever usar, juntamente com seu caminho, de acordo com a necessidade de cada caso. Exemplo: #!/bin/bash Em seguida, so adicionados os comandos desejados, um por linha, ou separados por ponto e vrgula. Exemplo: $ mount -t reiserfs /dev/hda1 /mnt/hda1 $ ls /mnt/hda1 $ cp -r /mnt/hda1/* /home/user/backup $ umount /dev/hda1 Por fim, d-se a permisso de execuo a este arquivo de texto simples ("chmod +x arquivo"). Um outro exemplo de uso de scripts, s que desta vez um pouco mais avanado.

# Funo em Shell Script para retornar a data anterior, levando em conta o ms e ano. fn_data_anterior() {

38 DIA=$D MES=$M ANO=$A # Dado DIA, MES e ANO numericos, obtem a data do dia anterior DIA=`expr $DIA - 1` if [ $DIA -eq 0 ]; then MES=`expr $MES - 1` if [ $MES -eq 0 ]; then MES=12 ANO=`expr $ANO - 1` fi DIA=`cal $MES $ANO` DIA=`echo $DIA | awk '{ print $NF }'` fi } ano=`date +%Y`; mes=`date +%m`; let dia=10\#`date +%d`; if (( $dia<10 )); then j=0$dia; else j=$dia; fi dia=$j; j=""; D=$dia M=$mes A=$ano fn_data_anterior echo $DIA $MES

Quadro 7: Funo em Shell Script para retornar a data anterior, levando em conta o ms e ano

39

3 AMEAAS SEGURANA DE REDES LOCAIS


Devido importncia que a informtica tem hoje dentro das organizaes pode-se dizer que ela se tornou um instrumento essencial para a realizao dos trabalhos de maneira mais rpida, fcil e eficiente. E o principal responsvel por isso so as redes, que tem por finalidade interligar os computadores e compartilhar recursos. Mas as informaes que os usurios acessam precisam ser confiveis, ntegras e disponveis quando forem necessrias. Para isso preciso proteg-las contra possveis ameaas como: Hackers: termo utilizado para identificar quem realiza ataques em um sistema computacional. Porm preciso dizer que existem diversas ramificaes, sendo o termo hacker melhor empregado queles que so especialistas em computao (fanticos) que gostam de mostrar seu poder de conhecimento invadindo sistemas (UCHA; ALVES, 2002). E os crackers, que so elementos que invadem sistemas para roubar informaes e causar danos s vtimas. Por acreditar que o assunto muito polmico e por gerar muita controversa, este texto no discutir este assunto. importante salientar que no s hackers so os causadores de problemas de segurana ao sistema de informao, muitos usurios autorizados ou no, podem causar danos aos servios de redes devido a seus erros ou sua prpria ignorncia. Cdigo Malicioso: software criado com finalidade de destruir dados sem a inteno do usurio. Podem ser citados os: Vrus: um programa capaz de infectar programas e arquivos em um computador. Diversos problemas podem ocorrer, desde travamentos na mquina perda total dos dados do usurio. Existem vrios tipos de vrus como: vrus de boot, vrus de arquivo, vrus de macro, vrus de e-mail. Vermes (worm): um programa capaz de se propagar automaticamente atravs de redes, enviando cpias de si mesmo de computador para computador. Diferente dos vrus, os worms no necessitam ser executados para se propagarem. Sua propagao se d atravs da explorao de vulnerabilidades existentes ou falhas existentes na configurao de software instalados em computadores.

40 Cavalo de Tria (Trojan Horse): um programa que alm de executar funes para as quais foi projetado, tambm executam outras funes normalmente maliciosas e sem conhecimento do usurio. Algumas de suas funes so: alterao ou destruio de arquivos, furtos de senhas e outras informaes como nmeros de cartes de crdito e incluso de backdoors para permitir que o atacante tenha controle sobre o computador. Para mais informaes sobre tipos de cdigos maliciosos o autor deste trabalho recomenda a leitura de Ucha (2003), NBSO (2003) e Cronkhite; Mccullough (2001). Backdoors: um programa que permite ao invasor retornar a um computador comprometido sem ser notado e sem ter que recorrer s tcnicas de invaso. A forma usual de incluso de um backdoor consiste na adio de um novo servio ou substituio de um determinado servio por uma verso alterada, normalmente incluindo recursos que permitam acesso remoto (atravs da Internet). Negao de Servios (DoS): nos ataques de negao de servio o atacante utiliza-se de um computador para tirar de operao um servio ou computador conectado Internet. Por exemplo, tirar servios importantes de um provedor do ar, impossibilitando o acesso dos usurios s suas caixas de correio no servidor de e-mail ou ao servidor web (SCHETINA; GREEN; CARLSON, 2002). Engenharia Social: O termo utilizado para descrever um mtodo de ataque, onde algum faz uso da persuaso, muitas vezes abusando da ingenuidade ou confiana do usurio, para obter informaes que podem ser utilizadas para ter acesso no autorizado a computadores ou informaes. Com isso, a proteo tem por objetivo manter o acesso s informaes que so disponibilizadas ao usurio, de forma que toda informao seja confivel. Para isso necessrio que todos os elementos envolvidos na transmisso da informao devem estar disponveis, e devem tambm preservar a integridade e sigilo das informaes. Entretanto, a segurana das informaes ou segurana de redes deve estar alm da proteo contra hackers ou outras ameaas, ela deve ser considerada como algo que permita que as organizaes busquem lucros, que seja o elemento habilitador dos negcios da organizao. Pesquisas comprovam que muitas pessoas j deixaram de realizar uma compra via Internet por no confiarem na segurana de um site, e para empresas que vivem do

41 comrcio eletrnico isso pode ser o fim de seus negcios (GEUS; NAKAMURA, 2003).

3.1

ENGENHARIA SOCIAL

Engenharia social consiste em tcnicas utilizadas por pessoas com o objetivo de obter acesso e informaes importantes e/ou sigilosas em organizaes ou sistemas por meio da iluso ou explorao da confiana das pessoas. Para isso, o Engenheiro Social (atacante), pode se passar por outra pessoa, assumir outra personalidade, fingir que um profissional de determinada rea, dentre outros. Esta uma forma de entrar em organizaes muito facilmente, pois no necessita da fora bruta ou de erros em mquinas. A engenharia social explora sofisticadamente as falhas humanas de segurana, que por falta de treinamento para esses ataques, podem ser facilmente manipuladas.

3.1.1

AS VTIMAS DE ENGENHARIA SOCIAL

importante ressaltar que, independentemente do hardware, software e plataforma utilizada, o elemento de maior vulnerabilidade em qualquer sistema o ser humano, por possuir traos comportamentais e psicolgicos que o torna susceptvel a ataques de engenharia social. Dentre essas caractersticas, pode-se destacar: Vontade de ser til: O ser humano, comumente, procura agir com cortesia, bem como ajudar outros quando necessrio. Busca por novas amizades: O ser humano costuma se agradar e sentir-se bem quando elogiado, ficando mais vulnervel e aberto a fornecer informaes. Propagao de responsabilidade: Trata-se da situao na qual o ser humano considera que ele no o nico responsvel por um conjunto de atividades. Persuaso: Compreende quase uma arte a capacidade de convencer pessoas, onde se busca obter respostas especficas. Isto possvel porque as pessoas tm caractersticas comportamentais que as tornam vulnerveis manipulao.

42 3.1.2 TCNICAS DE ENGENHARIA SOCIAL

Praticamente todas as tcnicas de engenharia social consistem em obter informaes privilegiadas, iludindo os usurios de um determinado sistema atravs de identificaes falsas, aquisio de carisma e confiana da vtima. Ao realizar o ataque, o atacante pode fazer uso de qualquer meio de comunicao. Tendo-se destaque para telefonemas, conversas diretas com a vtima, e-mail e WWW. Algumas dessas tcnicas so:

E-mails que contenham vrus Neste caso a engenharia social atua atravs do assunto contido nos e-mails, cuja funo iludir os receptores, o assunto pode estar relacionado amizade, sexo, amor, dentre outros. Quando a vtima recebe este e-mail ela torna-se vulnervel por acreditar que a mensagem realmente contenha algo sobre tal assunto, vindo assim a abrir e executar o anexo que ento contm o vrus. A funo do engenheiro social neste caso ser criar uma mensagem capaz de convencer o receptor sobre sua veracidade despertando assim sua curiosidade fazendo-o executar o anexo (vrus).

E-mails falsos Este tipo de ataque envolve a engenharia social, pois explora a confiana dos receptores de tais e-mails. Estes na maioria das vezes visam obter informaes financeiras, como por exemplo, senhas, nmeros de contas etc. O trabalho do engenheiro social neste caso como dito no exemplo acima, clonar um site de uma instituio financeira e fazer com que as pessoas receptoras digitem ali, as informaes que lhe so necessrias. Muitas vezes o engenheiro social faz uso de artifcios como, por exemplo, promoes, premiaes etc. que na verdade nunca vieram a existir. O atacante por meio de e-mail envia como contedo estes artifcios juntamente com um link direcionando pessoa atacada para um site falso, e ser neste site que ele obter as informaes desejadas, caso obtenha sucesso no seu ataque.

43 3.1.3 QUALIFICAO DOS ATAQUES

Abordaremos a seguir os tipos de ataques realizados pelo engenheiro social. Basicamente so dois os tipos de ataques desenvolvidos, os denominados ataques diretos e os ataques indiretos. Ataques diretos - O ataque direto caracterizado pelo contato pessoal. Este geralmente realizado por fax, telefone ou at mesmo pessoalmente, o que exige do atacante um plano antecipado e detalhado, um plano de emergncia, caso algo venha a dar errado, alm de um pouco de dom artstico, pois o engenheiro social deve acima de tudo ser bem articulado para evitar que seu plano seja desmascarado. Ataques Indiretos - Caracteriza-se ataque indireto aquele que se utiliza de ferramentas de invaso (trojans, vrus) e de impostura (spam, sites falsos) para obter as informaes necessrias.

3.1.4

MTODOS UTILIZADOS PELO ATACANTE

Os principais mtodos utilizados pelos engenheiros sociais para realizarem seus ataques so: pesquisa e impostura. Pesquisa - O mtodo pesquisa refere-se coleta de materiais, como relatrios, listas de pagamentos e etc. A finalidade deste mtodo descobrir quem guarda as informaes e quais so elas. Sabendo-se disso o prximo passo elaborar meios para extrair tais dados de tais pessoas, neste momento que surge a impostura. Impostura - Este mtodo visa realizar um ataque direto, fazendo-se passar por outras pessoas, como funcionrio da prpria empresa, clientes, fornecedores etc.

3.1.5

FIGURAS DA ENGENHARIA SOCIAL

So vrias as figuras encontradas em um ataque de engenharia social, algumas utilizadas apenas na fase de coleta de informaes, outras utilizadas apenas na fase de ataque direto e

44 por fim algumas que so utilizadas durante todo o processo de realizao do ataque. Dentre elas podemos destacar: Disfarces - Geralmente os disfarces so utilizados durante todo o processo de ataque, seja como faxineiro durante o processo de coleta das informaes ou como consultor em visita durante um ataque direto. Lixo - So poucas as empresas que se preocupam com o destino do lixo que gerado em seu ambiente, tornando-o assim uma fonte potencial de informaes para os engenheiros sociais, pois nele podem ser encontrados relatrios, anotaes de senhas, informaes sobre o patrimnio da empresa dentre outras. Funcionrios descontentes e redes de contatos - Por via das vezes essa uma das formas mais fceis de obter informaes dentro de uma empresa. Funcionrios insatisfeitos na maioria das vezes acabam por fornecer informaes importantes, as quais podem prejudicar seus superiores ou toda a organizao alm de possurem um rede de contatos dentro e fora (fornecedores) da organizao o que se torna vlido pois estes podem fornecer informaes valiosas sobre outras pessoas e sobre caminhos para chegar a mais dados. Apelo Sentimental - Muitas vezes realizado no mundo virtual (chats), pois o atacante pode, por exemplo, transformar-se em homem ou mulher para atrair e conquistar a confiana da pessoa atacada, subtraindo assim informaes importantes. Programao Neurolinguistica - Uma das tcnicas mais utilizadas nesta fase chamase acompanha-acompanha-acompanha-comanda, seu objetivo confundir a vtima. Neste mtodo, o atacante imita os trejeitos de seu interlocutor por um determinado tempo at que se forme um elo de intimidade e a vtima imagine estar no comando, baixando a guarda. Deste momento em diante o atacante comanda a conversa sem que a vtima perceba, sugando assim todas as informaes que ela detm. A utilizao da Internet - Vrios atacantes formulam sites a fim de obter dados pessoais, e noes sobre o comportamento de suas futuras vtimas. Para isso, oferecem para a realizao do cadastro brindes, participao em promoes etc. Desta forma conseguem obter, por exemplo, nmeros de CPF, RG e cartes de crdito.

45

4 SOLUES DE SEGURANA EM REDES LOCAIS


Os mecanismos de segurana so tcnicas utilizadas para assegurar as propriedades de Segurana do Sistema Computacional de tal forma que somente os usurios autorizados ou processos sob seu controle tero acesso s informaes devidas e nada alm do necessrio e so fundamentais na implementao de sua Poltica de Segurana. Discutiremos as principais tcnicas como, por exemplo: Autenticao, Integridade, Disponibilidade, No-Repdio, Privacidade, Mecanismos de Controle de Acesso, Criptografia, Assinatura Digital, Secure Hashes e Message Digests.

4.1

AUTENTICAO

A autenticao o mecanismo utilizado para se garantir que um usurio ou processo sob controle ou processos que trabalham de forma cooperativa esto se identificando de acordo com suas reais identidades. Existem trs formas bsicas de autenticao que devem ser utilizadas de acordo com situao especifica. A autenticao pode ser feita de forma unilateral, mtua ou com a mediao de terceiros. A autenticao unilateral acontece quando apenas um parceiro da comunicao autentica-se perante o outro, mas a recproca no verdadeira. Na autenticao mtua os parceiros da comunicao se autenticam um perante o outro. A autenticao com a mediao de terceiros utilizada quando os parceiros da comunicao no se conhecem e no podem se autenticar mutuamente, mas conhecem um terceiro com quem se autenticam e recebem credenciais para procederem assim a autenticao mtua. Abaixo esto os diagramas representando as trs formas bsicas de autenticao apresentadas.

46

Figura 2: Mecanismos de Controle de Acesso

Os Mecanismos de Controle de Acesso se propem a definir que usurios ou processos tm acesso a que recursos do Sistema Computacional e com que permisses. Estes mecanismos podem ser aplicados em qualquer nvel, desde a aplicao, definindo quais usurios tm acesso a determinados registros at aos sistemas bsicos, definindo quais processos tm acesso a determinadas pginas de memria. Veremos os principais modelos de mecanismos de controle de acesso, que so mecanismos para proteger contra acessos indevidos por usurios no autorizados.

4.2

INTEGRIDADE

A integridade consiste em proteger a informao contra modificao sem a permisso explcita do proprietrio daquela informao. A modificao inclui aes como escrita, alterao de contedo, alterao de status, remoo e criao de informaes. Deve-se considerar a proteo da informao nas suas mais variadas formas, como por exemplo, armazenada em discos ou fitas de backup. Integridade significa garantir que se o dado est l, ento no foi corrompido, encontra-se ntegro. Isto significa que aos dados originais nada foi acrescentado, retirado ou modificado.

47 A integridade assegurada evitando-se alterao no detectada de mensagens (ex. trfego bancrio) e o forjamento no detectado de mensagem (aliado a violao de autenticidade).

4.3

DISPONIBILIDADE

Ter as informaes acessveis e prontas para uso representa um objetivo crtico para muitas empresas. No entanto, existem ataques de negao de servios, onde o acesso a um sistema/aplicao interrompido ou impedido, deixando de estar disponvel; ou uma aplicao, cujo tempo de execuo crtico, atrasada ou abortada. Disponibilidade consiste na proteo dos servios prestados pelo sistema de forma que eles no sejam degradados ou se tornem indisponveis sem autorizao, assegurando ao usurio o acesso aos dados sempre que deles precisar. Isto pode ser chamado tambm de continuidade dos servios. Um sistema indisponvel, quando um usurio autorizado necessita dele, pode resultar em perdas to graves quanto as causadas pela remoo das informaes daquele sistema. Atacar a disponibilidade significa realizar aes que visem a negao do acesso a um servio ou informao, como por exemplo: bloqueamento do canal de comunicao ou do acesso a servidores de dados.

4.4

NO-REPDIO

Uma tcnica usada para garantir que algum realizando uma ao em um computador no possa falsamente negar que ele realizou aquela ao. O no-repdio fornece prova inegvel que um usurio realizou uma ao especfica como transferir dinheiro, autorizar uma compra ou enviar uma mensagem.

48 4.5 PRIVACIDADE

Privacidade um conceito abstrato cujo valor e extenso varia de pessoa para pessoa. Podemos comparar a viso que cada pessoa tem de sua privacidade a uma bolha que a envolve. Essa bolha que cada um determina como sendo o seu limite de privacidade ter tamanhos diferenciados para cada pessoa. O que uma pessoa considera invaso de privacidade, outra pessoa pode considerar como algo completamente normal e aceitvel. Elgesem [20] recomenda abandonar a dicotomia rgida entre o que privado e o que publico, pois, em geral, as situaes privadas ocorrem dentro de um escopo maior que so as situaes publicas. Por exemplo, uma mulher conversando de forma privada em um telefone pblico poder ser vista por todas as pessoas que passarem por ela. Para Elgesem, a privacidade est fortemente conectada com a idia de que existem algumas coisas que outras pessoas no deveriam ver ou saber. Um conceito de privacidade amplamente difundido o discutido por Warren & Brandeis no famoso artigo The Right to Privacy da Harvard Law Review, de 1890 [61]: privacidade o direito de estar sozinho. Nesse mesmo artigo, encontramos tambm a seguinte regra: O direito a privacidade termina com a divulgao de fatos pelo indvduo ou com o seu consentimento. A partir dessa regra, identificamos um cuidado que cada um deve ter em proteger sua privacidade, pois uma vez que algum divulgue ou autorize a divulgao de um fato ou informao pessoal, no h como voltar atrs. Com os avanos tecnolgicos, as pessoas tm rapidamente perdido a sua privacidade e essa situao tende a se agravar: filmagens em lojas e estacionamentos, eletrodomsticos conectados Internet, bancos de dados armazenando grande volume de dados pessoais e aes (compras efetuadas, ligaes telefnicas, depsitos e retiradas de contas bancarias etc.). Nesse novo contexto, surge um novo sentido de privacidade, que a coloca como uma propriedade - a propriedade de ter controle sobre o seu fluxo de informao pessoal [20]. Fried [24] afirma que privacidade no simplesmente a ausncia de informao a nosso respeito na cabea de outros, mas tambm, o controle que temos sobre estas informaes.

49 4.6 ACCESS CONTROL LIST

A Access Control List, ou simplesmente ACL, o mecanismo onde criada uma lista para cada objeto, recurso do Sistema, com a identificao do usurio ou processo e suas permisses para aquele objeto especifico. A ACL mecanismo dito como orientado a objeto. As ACLs tornam-se sobrecarregadas de forma gradativa medida que a quantidade de recursos compartilhados de um Sistema aumenta. Por isso, comum o agrupamento de usurios de acordo com o seu perfil funcional, mas isto representa uma flexibilizao perigosa no mecanismo de controle de acesso.

4.7

CAPABILITIES

Este mecanismo, ao contrrio da ACL, cria uma lista para cada usurio ou processo com a identificao do objeto e as permisses que o usurio ou processo possui sobre este objeto especifico. Este mecanismo conhecido como orientado a usurio. Este mecanismo resolve o problema da sobrecarga das ACLs, tendo em vista que cada usurio ou processo possui uma lista com as Capabilities somente para os objetos compartilhados aos quais tm algum tipo de permisso de acesso.

4.8

ACCESS CONTROL MATRIZ

A Access Control Matriz, ou ACM, o somatrio dos dois mecanismos anteriores formando uma estrutura equivalente a uma matriz, onde as linhas so compostas pelos usurios, as colunas por objetos e os elementos so listas de permisses. Cada coluna de uma ACM uma ACL e cada linha uma Capability.

4.9

CRIPTOGRAFIA

A criptografia a tcnica de trocar o contedo de uma mensagem compreensvel, texto em claro ou texto plano, dentro de um domnio de onde fazem parte os membros da comunicao por um contedo incompreensvel, texto criptografado, atravs de uma funo de

50 transformao, mtodo de criptografia. A criptografia um mecanismo fundamental para se garantir a confidencialidade na troca de mensagens, principalmente quando ocorre atravs de canais de comunicao no confiveis. Os primeiros mtodos de criptografia garantiam a confidencialidade da mensagem atravs do segredo do prprio mtodo, porm esta tcnica evoluiu para a criptografia com o uso de chaves. Um texto em claro para ser transformado num texto criptografado, ou vice-versa, faz-se necessrio o uso de um mtodo e de uma chave de tal forma que a partir de um mesmo texto em claro e usando-se o mesmo mtodo de criptografia chega-se a textos criptografados diferentes se as chaves forem diferentes. O mtodo de criptografia considerado confivel e seguro quando ele de domnio pblico, podendo ser exaustivamente testado por todos. Vamos, a partir de agora, representar a operao de criptografar uma mensagem com texto em claro M gerando a mensagem criptografada C usando a chave K.

impossvel para um usurio mal intencionado, hacker, que conhea o mtodo de criptografia e a mensagem C descobrir qual a mensagem M. O termo impossvel aqui no texto e a partir de agora significa que o tempo e os recursos computacionais necessrios para a realizao da tarefa so grandes suficientes para torn-la impraticvel. Outro aspecto importante mesmo que um hacker conhea as mensagens M e C e o mtodo de criptografia no conseguir deduzir qual foi a chave K utilizada. Existem dois tipos de mtodos de criptografia em funo das chaves usadas para criptografar e descriptografar um texto que descreveremos na seqncia [Verssimo 01].

4.9.1

CRIPTOGRAFIA SIMTRICA

Na criptografia simtrica a chave utilizada para criptografar um texto em claro a mesma chave para descriptograf-lo, assim podemos deduzir:

51 A criptografia simtrica tem uma performance muito melhor do que a assimtrica porm possui dois problemas intrnsecos ao prprio mtodo: Uma chave secreta nova deve ser divulgada para os membros da comunicao e isto representa um risco real. Normalmente usada uma chave para cada dois membros da comunicao por isto o nmero de chaves cresce muito com o aumento do nmero de participantes da comunicao. Para cinco (5) participantes na comunicao so necessrias dez (10) chaves, mas se o nmero de participantes cresce para vinte (20) sero necessrias cento e noventa (190) chaves. Um dos principais mtodos de criptografia simtrica foi desenvolvido pela IBM e adotado pelo governo dos EUA como padro o Data Encryption Standard (DES) (VERISSIMO,2001). O DES um algoritmo de codificao de blocos de 64 bits e com chave de 56 bits e tem 19 estgios diferentes como indicado na figura abaixo. No primeiro estgio feita uma transposio de bits do bloco de dados da mensagem, depois o algoritmo da figura seguinte repetido dezesseis (16) vezes sendo que a chave alterada de um estgio para outro, em seguida feita a permutao dos 32 bits mais significativos pelos 32 bits menos significativos e finalmente feita uma transposio dos bits no sentido inverso ao primeiro estgio. C = K(M) M = K(C) M = K(K(M)) Mtodo de criptografia DES

Figura 3: Mtodo de criptografia DES

52 4.9.2 CRIPTOGRAFIA ASSIMTRICA

Na criptografia assimtrica a chave usada para criptografar uma mensagem diferente da chave usada para descriptograf-la. O mtodo baseia-se no fato das chaves serem distintas e com isto cada usurio deve possuir um par de chaves, uma pblica usada para criptografar as mensagens e uma outra privada para descriptografar as mensagens recebidas. Este mtodo tambm conhecido como Criptografia com Chave Pblica e tem que atender a algumas caractersticas bsicas: Dado um par de chaves de criptografia e descriptografia Kp (pblica) e Ks (secreta ou privada), se C = Kp(M), ento M = Ks(C) e M = Ks(Kp(M)); Dado Kp(M) sem Ks, impossvel recuperar a mensagem M; Dado M e Kp(M) impossvel recuperar Kp; Dado Kp, impossvel recuperar Ks e vice-versa; Se as chaves forem iguais, Kp = Ks = K, as trs primeiras caractersticas continuam vlidas. Apesar dos mtodos de criptografia assimtricos possurem uma performance muito inferior em relao aos mtodos de criptografia simtricos, eles resolvem os dois principais problemas dos mtodos simtricos. Cada membro da comunicao deve possuir duas chaves, uma privada e outra pblica, sendo que a chave pblica pode e deve ser divulgada para todos os outros membros da comunicao sem que isto represente algum risco para a confidencialidade. Para um grupo com vinte (20) membros participantes de uma comunicao sero necessrias apenas vinte (20) pares de chaves. O uso combinado dos dois mtodos produz excelente resultado. Usar um mtodo assimtrico para negociar uma chave simtrica para cada sesso da comunicao e um mtodo simtrico para troca de mensagens, sendo que a chave simtrica deve ser renegociada para sesso. Em 1976 Diffe e Hellman propuseram pela primeira vez um mtodo revolucionrio de criptografia assimtrico (VERISSIMO,2001). Em 1978 Rivest, Shamir e Adleman propuseram um mtodo de criptografia assimtrico baseado no mesmo principio do algoritmo de Diffe-Hellman, que se baseia na extrema

53 dificuldade de se fatorar o produto de nmeros primos muito grandes, por exemplo nmeros primos de 512 bits. Este algoritmo conhecido pelas iniciais dos seus criadores, RSA. O algoritmo RSA parte inicialmente da escolha de dois nmeros primos a e b, usualmente com 1024 bits de comprimento. Em seguida deve-se escolher um nmero p tal que p e (a1)x(b-1) sejam primos entre si e um nmero s tal que o resto da diviso de (s)x(p) por (a1)x(b-1) seja igual a 1. Finalmente calcular n = (a)x(b) e com isto teremos a chave pblica Kp = (p,n) e a chave secreta Ks = (s,n). A mensagem M pode criptografada para a mensagem C e vice-versa de acordo com as equaes abaixo:

Figura 4: Equao de criptografia RSA

4.10 SECURE HASHES E MESSAGE DIGESTS As funes Hashes so funes de compresso e quando estas so irreversveis so chamadas de Secure Hashes ou algoritmos de Message Digest (MD). Um algoritmo de Message Digest comprime um texto em um bloco de tamanho fixo que normalmente tem 128 bits e passaremos a representar a funo que gera o valor hash hm a partir da mensagem M por hm = H(M). As propriedades bsicas de uma funo de Secure Hash so: Dado hm, impossvel determinar uma mensagem M tal que hm =H(M); Dada uma mensagem M, impossvel determinar uma mensagem M tal que H(M) = H(M); impossvel determinar um par de mensagens (M,M) tal que H(M) =H(M).

A primeira propriedade determina que o valor hash representa a mensagem sem revelar seu contedo enquanto que a segunda e terceira propriedades determinam que o Secure Hash um mecanismo apropriado para garantir sua integridade tendo em vista que o valor hash nico e ningum produzir outra mensagem que gere o mesmo valor hash.

54 O MD5 uma funo de Message Digest criada por Rivest em 1992 que mais segura e com performance ligeiramente inferior em relao ao seu predecessor MD4 (VERISSIMO,2001). O MD5 opera sua funo sobre a mensagem dividindo-a em blocos de 512 bits e gera uma sada de 128 bits, executando o C = M p (mod n) M = C s (mod n) algoritmo quatro (4) vezes em cada bloco e usa a sada de cada etapa como entrada da prxima. O MD5 est representado na figura abaixo:

Figura 5: Representao do MD5

4.11 ASSINATURA DIGITAL A assinatura digital um mecanismo que envolve duas etapas, a assinatura da mensagem M propriamente dita SKs(M) e a verificao da referida assinatura VKp(M). Este mecanismo tem por objetivo garantir a autenticidade e a integridade de uma mensagem de tal forma que ningum possa alter-la ou reutiliz-la como um todo ou mesmo parcialmente e que seu remetente possa posteriormente negar que a tenha enviado, ou seja, garantir a no-repudiao da mensagem. O mecanismo da assinatura digital baseia-se na criptografia assimtrica, onde o usurio que queira assinar uma mensagem usa sua chave privada para criptografar a mensagem e o receptor poder verificar a autenticidade da assinatura descriptografando a mensagem com a chave pblica do remetente e com isto ter a certeza da autenticidade e integridade da mensagem. Vejamos o exemplo de um usurio A que envia uma mensagem assinada M para um usurio B. Usurio A assina a mensagem M e a envia para B: SKs A(M) = KsA(M) Usurio B recebe a mensagem KsA(M) e verifica a assinatura de A: VKp A(M) = KpA(KsA(M)) = M

55 importante salientar que no exemplo anterior no h confidencialidade porque qualquer pessoa poder descriptografar a mensagem com a chave pblica do remetente, como j foi dito. Caso queira-se garantir a confidencialidade na comunicao, o remetente aps assinar a mensagem dever criptograf-la com a chave pblica do destinatrio e este ao receb-la deve primeiramente descriptografar a referida mensagem com sua chave secreta e ento verificar a autenticidade da assinatura descriptografando o resultado anterior com a chave pblica do remetente e finalmente obtendo a mensagem original M. Vejamos um exemplo onde o usurio A envia uma mensagem assinada M de forma confidencial para B. Usurio A assina a mensagem M: SKs A(M) = KsA(M) Usurio A criptografa a mensagem assinada M e a envia para B: KpB(SKs A(M)) = KpB(KsA(M)) = C Usurio B recebe a mensagem C e a descriptografa com sua chave secreta: KsB(C) = KsB(KpB(KsA(M))) = KsA(M) = SKs A(M) Usurio B verifica a assinatura de A e obtm a mensagem M: VKp A(M) = KpA(KsA(M)) = M Apesar de o mtodo apresentado atender a todos os requisitos necessrios, ele pode apresentar baixa performance medida que a mensagem aumente de tamanho. A soluo para este problema combinar as tcnicas de Secure Hash com a Assinatura Digital. Inicialmente calcula-se o valor hash da mensagem M e em seguida o remetente deve aplicar as tcnicas de Assinatura Digital somente sobre o valor hash e enviar tanto a mensagem quanto a sua assinatura que ser verificada pelo destinatrio. 1 Usurio A calcula o valor hash da mensagem M: hm = H(M) 2 Usurio A assina o valor hash: SKs A(hm) = KsA(hm) = sm 3 Usurio A envia a mensagem M e a assinatura sm para B: (M, sm) 4 Usurio B recebe a mensagem (M, sm) supostamente assinada pelo usurio A 5 Usurio B calcula o valor hash da mensagem M recebida: hm = H(M) 6 Usurio B calcula o valor hash hm da assinatura sm recebida: VKp A(sm) = KpA(sm) = KpA(KsA(hm)) = hm

56 7 Usurio B compara o valor hash hm calculado a partir de M com o valor hm calculado a partir de sm para verificar a autenticidade da assinatura: Se hm = hm ento assinatura autntica.

4.12 SSH SSH (Secure Shell) um programa para login remoto, execuo de comandos remotamente e cpia de arquivos de uma mquina para a outra; com autenticao forte e comunicao segura.

Figura 6: Funcionamento ssh

O SSH ( Secure Shell )[5.75] possui atualmente vrias implementaes cliente e servidora, entre elas podemos destacar: ssh , openssh, ossh, sftp (Secure FTP) e outras. Os clientes so distribudos para quase todas as plataformas existentes e possuem interface grfica ou trabalham em modo texto. A grande vantagem do SSH (Secure Shell )[5.75] o grande suporte que possui: em listas de discusso[5.54.1], profissionais, documentaes, News Group[5.58] e diversas implementaes. Basicamente o software SSH[5.75] gratuito implementado para suportar os protocolos[5.65] SSH1[5.75] e SSH2[5.75], sendo que algumas implementaes suportam os dois protocolos[5.65] simultneos, como o caso do openssh na verso 2.3.0 que ser apresentada em seguida. As implementaes de SSH usam

57 como padro a porta 22/tcp do TCP/IP, possuem suporte para kerberos, autenticao TIS e socks. Outro ponto positivo que alguns equipamentos como os roteadores cisco tambm possuem suporte para ssh[5.75] ou kerberos. Entre os pontos responsveis pela popularidade do SSH[5.75] podemos destacar : a sua instalao e configurao so muito simples, grande suporte tcnico em listas de discusso[5.54.1], estabilidade, escalabilidade, segurana quando bem configurado, suportado por diversos sistemas operacionais (Linux, *BSD, Solaris, IRIX, Digital UNIX, AIX, IBM OS/2, SCO UNIX, HPUX, MAC/OS, Palm, Windows CE, VAX/OPENVMS, BeOS, MS-DOS e outros ). O SSH (www.ssh.fi) escrito em C[5.13] ANSI[5.4], tambm possui implementaes em java[5.52], um software open source livremente distribudo. No site do SSH[5.75] (www.ssh.fi) podemos encontrar diversas informaes como: relaes e correes de Bugs[5.12], listas de discusso [5.54.1], novas implementaes, acessos aos diversos mirros pela internet [5.45], como comprar clientes SSH [5.75] com recursos extras e etc.

4.13 PGP O PGP [Pretty Good Privacy ou Privacidade Muito Boa] o nome de um programa que possibilita a criptografia de arquivos. Com o PGP, possvel que voc criptografe arquivos e s a pessoa correta vai poder ler os dados presentes no arquivo. A popularidade do PGP fez com que seu sistema e design se tornassem um padro aberto, chamado de OpenPGP. Programas gratuitos como o GnuPG e at mesmo webmails como o Hushmail utilizam esse padro nas suas mensagens.

4.13.1 COMO FUNCIONA No PGP, todos os usurios possuem uma chave pblica e uma privada. A chave pblica pode ser enviada para qualquer pessoa. Ela utilizada para que um indivduo possa encriptar documentos. Os documentos encriptados com sua chave pblica s podem ser decifrados com a sua chave privada (a qual voc deve manter de forma secreta). As chaves pblicas podem ser obtidas nos sites das empresas ou organizaes. Tambm existem os chamados Key Servers que disponibilizam essas chaves (quando as pessoas enviaram as mesmas para eles).

58 O PGP tambm pode ser usado para assinar mensagens de e-mail, ou seja, certificar que as mesmas no foram modificadas desde que foram enviadas, utilizando um hash baseado na chave privada. Implicitamente o PGP tambm gera uma chave de sesso, de modo que toda mensagem criptografada com PGP est criptografada duas vezes. Isso torna o PGP o melhor sistema de criptografia existente na atualidade.

4.14 KERBEROS Kerberos um protocolo desenvolvido para fornecer poderosa autenticao em aplicaes usurio/servidor, onde ele funciona como a terceira parte neste processo, oferecendo autenticao ao usurio. Para garantir a segurana, ele usa criptografia de chave simtrica, com o DES. O Kerberos foi desenvolvido como parte do Project Athena, do Massachussets Institute of Technology (MIT). Seu nome vem da mitologia, onde Cerberus (Kerberus para os gregos) um co com trs cabeas que tem por misso proteger a entrada do inferno de Hades.

4.14.1 O QUE FAZ: Para explicar o que faz o Kerberos, vamos usar algumas analogias baseadas The Moron's Guide to Kerberos, Version 1.2.2. Na vida real, usamos rotineiramente uma autenticao, na forma de (por exemplo) uma carteira de motorista. A carteira de motorista fornecida por uma agncia, na qual podemos supor confivel, e contm dados pessoais da pessoa como nome, endereo e data de nascimento. Alm disto, pode conter algumas restries, como necessidade de culos para dirigir, e mesmo algumas restries implcitas (a data de nascimento pode ser usada para comprovar maioridade). Finalmente, a identificao tem um prazo de validade, a partir do qual considerada invlida. Para ser aceita como autenticao, algumas regras devem ser observadas: ao apresentar a carteira, no se pode ocultar parte dela (como foto ou data de nascimento). Alm disto, quem verifica a autenticao deve reconhecer a agncia que forneceu a autenticao como vlida (uma carteira de motorista emitida no Brasil pode no ser aceita fora do territrio nacional). Kerberos trabalha basicamente da mesma maneira. Ele tipicamente usado quando um usurio em uma rede tenta fazer uso de

59 um determinado servio da rede e o servio quer se assegurar de que o usurio realmente quem ele diz que . Para isto, o usurio apresenta um ticket, fornecido pelo Kerberos authenticator server (AS), assim como a carteira de motorista fornecida pelo DETRAN. O servio ento examina o ticket para verificar a identidade do usurio. Se tudo estiver certo o usurio aceito. O ticket deve conter informaes que garantam a identidade do usurio. Como usurio e servio no ficam face-a-face uma foto no se aplica. O ticket deve demonstrar que o portador sabe alguma coisa que somente o verdadeiro usurio saberia, como uma senha. Alm disto, deve existir mecanismo de segurana contra um atacante que "pegue" um ticket e use mais tarde.

4.15 SNORT um sistema de deteco de intrusos ativo que tem como pontos positivos ter o maior cadastro de assinaturas, ser leve, pequeno, de fcil instalao, j vir configurado, fazer escaneamento do micro e verificar anomalias dentro de toda a rede ao qual seu computador pertence. O Snort um filtro de pacotes baseado em libcap, um sniffer e registrador em log que fornece deteco de invaso de rede bsica. Ele uma ferramenta de deteco de invaso baseada em regras que adota tanto a abordagem preemptiva como a reacionria. Ele ouve trfego de rede em tempo real e corresponde esse trfego com regras predefinidas (ANONYMOUS,1999). Voc pode usar o Snort para implementar funes sensoriais e de anlise em um sistema de deteco de intruso: pode registrar pacotes, analisar pacotes ou as duas coisas. O registro pode consistir de pacotes brutos ou de informaes de pacotes decodificadas e convenientemente armazenadas. Usando o segundo mtodo, o Snort decodifica os pacotes e os classifica por IP remoto em subdiretrios do diretrio de registro (NORTHCUTT, NOVAK, MCLACHLAN, 2000). Como comentado em (ANONYMOUS, 1999):

4.16 O QUE SO SISTEMAS DE DETECO DE INTRUSOS? Sistemas de Deteco de Intrusos so programas (softwares independentes ou embutidos em hardware proprietrio) que monitoram uma rede ou um host a procura de sinais padres de

60 comportamento que sejam considerados maliciosos, ou seja, que podem constituir um ataque ou uma outra atividade no permitida.

4.16.1 PRINCIPAIS TIPOS DE IDS Existem vrios tipos de IDSs disponveis atualmente, caracterizados por diferentes mtodos de monitorao e anlise. Cada mtodo possui vantagens e desvantagens distintas. Entretanto, todos os mtodos podem ser descritos em termos de um modelo de processo genrico para IDSs. Modelo de processo para IDSs. A maioria dos IDSs pode ser descrita em termos de 3 componentes fundamentais: Fonte de Informaes: As diferentes fontes de informaes sobre eventos usados para determinar quando uma intruso ocorre. As fontes mais comuns so um host* ou um segmento de rede*. Anlise: a parte do sistema de deteco de intrusos que efetivamente organiza e d sentido aos eventos derivados da fonte de informaes, decidindo quando estes eventos indicam que uma intruso est ocorrendo ou j foi realizada. Os mtodos de anlise mais comuns so deteco baseada em assinaturas e deteco baseada em anomalias. Resposta: o conjunto de aes que o sistema faz quando detecta uma intruso. Estas so tipicamente agrupadas em medidas ativas e passivas, com medidas ativas envolvendo interveno automatizada em parte do sistema e medidas passivas envolvendo a gerao de relatrios para posterior interpretao e interveno humana. De acordo com a fonte de informaes podemos classificar os IDSs em: baseado em rede baseado em host.

4.16.2 IDS BASEADO EM REDE A maioria dos IDSs comerciais baseada em rede. Estes IDSs detectam ataques pela anlise dos pacotes da rede* atravs de uma escuta em um segmento de rede. Com isso um IDS tem a

61 capacidade de monitorar o trfego de todos os hosts que esto conectados neste segmento, protegendo-os. IDSs baseados em rede geralmente consistem de um conjunto de sensores colocados em vrios pontos da rede. Estas unidades monitoram o trfego, realizando uma anlise local do mesmo e relatando ataques a um console central de gerenciamento. Como os sensores so limitados a executarem somente o IDS, eles podem ser mais facilmente protegidos contra ataques. Muitas vezes estes sensores ficam rodando em uma bridge, para tornar mais difcil a localizao de um sensor por um atacante. Vantagens dos IDSs baseados em rede Poucos IDSs instalados, mas bem posicionados podem monitorar uma grande rede. A instalao provoca um pequeno impacto na rede, pois eles so dispositivos passivos que escutam a rede sem interferirem no seu funcionamento. Logo, geralmente simples adicionar esse tipo de IDS a uma rede. Podem ser bem seguros contra ataques e ainda podem ser invisveis a muitos atacantes. Desvantagens dos IDSs baseados em rede. Podem ter dificuldades em processar todos os pacotes em uma rede grande e sobrecarregada, logo, eles podem falhar no reconhecimento de um ataque lanado durante perodos de trfego intenso. Muitas das vantagens dos IDSs baseados em rede no se aplicam as redes mais modernas baseadas em switches, pois estes subdividem a rede em muitos segmentos e proporcionam links dedicados entre hosts servidos pelo mesmo switch. IDSs baseados em rede no podem analisar informaes criptografadas. Este problema crescente visto que mais organizaes (e atacantes) usam VPNs (Virtual Private Networks) e outros meios de conexo. A maioria no pode informar quando um ataque foi bem sucedido. Eles s podem alertar que um ataque foi iniciado, e cabe ao administrador investigar cada host atacado para determinar de fato quais destes foram violados.

4.16.3 IDS BASEADO EM HOST IDSs baseados em host operam sobre informaes coletadas de um nico host. Eles podem analisar atividades com grande preciso, determinando exatamente que processos e usurios

62 esto envolvidos em um ataque, pois eles podem diretamente acessar e monitorar os dados e processos do sistema que so geralmente alvo de ataques. Vantagens dos IDSs baseados em host. Com sua habilidade de monitorar eventos localmente num host, podem detectar ataques que no so detectados por um IDS baseado em rede. Podem operar em ambientes onde o trfego seja criptografado, quando os dados so encriptados no host antes do envio e decriptados no host aps a recepo. IDSs baseados em host no so afetados por switches. Desvantagens dos IDSs baseados em host. So difceis de gerenciar, pois para cada host monitorado deve ser instalado e configurado um IDS. Desde que ao menos as fontes de informaes (e algumas vezes parte do mecanismo de anlise) residam no host monitorado, o IDS pode ser atacado e desativado mascarando assim um ataque. No so apropriados para detectar scans de rede. Podem ser desativados por certos tipos de ataques de negao de servio. Consomem recursos computacionais dos hosts que esto monitorando, diminuindo a performance dos mesmos. De acordo com o mtodo de anlise os IDSs podem usar deteco baseada em assinaturas, deteco baseada em anomalias ou uma mistura dos dois.

63

5 UMA PROPOSTA DE DETECO DE INTRUSOS PARA REDES LOCAIS


Confidencialidade, autenticao, integridade e no-repudiao de mensagem vm sendo considerados componentes fundamentais da comunicao segura h bastante tempo (MCCUMBER, 1991). Disponibilidade e controle de acesso so extenses mais recentes da noo de comunicaes seguras (MACONACHY, 2001; BISHOP, 2003), sem dvidas motivadas pelas preocupaes muito reais com a segurana da infra-estrutura de rede contra um potencial ataque violento dos bandidos (KUROSE, 2006; ROSS, 2006). Neste trabalho vamos focar a autenticao, uma das propriedades desejveis da comunicao segura que tem como finalidade confirmar que a outra parte realmente quem alega ser. A comunicao pessoal entre seres humanos resolve facilmente esse problema por reconhecimento visual. Quando entidades comunicantes trocam mensagens por um meio pelo qual no podem ver a outra parte, a autenticao no e to simples. (KUROSE,2006; ROSS, 2006). A ferramenta utilizada foi desenvolvida em laboratrio durante a elaborao do trabalho com objetivo de simplificar a utilizao e a implantao de Sistemas de Deteco de Intrusos. composto por mdulos, conforme mostrado na figura seguinte. Cada mdulo, explicados no decorrer do trabalho, tem o seu papel bem definido e suas sadas so complementos paras as atividades do mdulo seguinte, seguindo um fluxo de sentido nico. Inicializao: inicializa as parametrizaes iniciais do script, como lista de ACKs e variveis globais; Varredura: fica varrendo a rede a procura de conexes de novos hosts ou a desconexo de um host antigo; 1 Validao: faz a verifica co do MAC do IP host de acordo com a lista de ACKs; 2 Validao: faz uma autenticao da conexo tentando uma conexo de confiana entre o host e o servidor; Resposta: toma uma ao ativa ou passiva para uma validao que no foi bem sucedida; Auditoria: gera logs para posterior interpretao de um administrador.

64

Figura 7: Modelo de seqncia de fluxo do IDS

5.1

PROCESSO DE INICIALIZAO

O processo de inicializao marca o incio da execuo do script e responsvel pelo carregamento das listas iniciais de ACKs e variveis globais que sero utilizadas nos outros mdulos e termina com uma autorizao para incio de execuo de varreduras na rede.

65 5.1.1 PREPARAO DOS ARQUIVOS GLOBAIS

Nesta etapa feita a customizao de um arquivo de configurao contendo informaes de path de arquivos de configurao do DHCP, path das listagens de broacast, path das listagens de MAC e IP homologados e tempo de varredura da rede por maquinas ativas. Ser gerada uma listagem dos MAC e IP que esto homologados no servidor DHCP. Alm desta lista ser gerada uma outra lista com os IP's de BROADCAST de todas as subredes do servidor de DHCP. Estes arquivos devero ser atualizados toda vez que houver alteraes nas subredes e ou no arquivo de configurao do DHCP.

5.1.2

DETALHAMENTO

Pr-requisitos: ser instalado no servidor de dhcp, estar logado como root. Este mdulo responsvel pela inicializao do SSH, das variveis e listagens prconfiguradas no arquivo de configurao MONO_CONFIG do IDS. O primeiro passo verificar se existe realmente um servio de SSH executando nesta mquina. Esta verificao pode ser feita de vrias maneiras no Linux. A soluo adotada neste trabalho foi a verificao do servio atravs do comando /etc/init.d/sshd status. Esse mtodo funciona porque todos os scripts em /etc/init.d/ aceitam um argumento que pode ser "start" (iniciar), "stop" (parar), "reload" (recarregar), "restart" (reiniciar) ou "force-reload" (forar-recarregar) e iro portanto cumprir a tarefa indicada pelo argumento. Esses scripts podem ser usados mesmo depois que um sistema tenha sido iniciado para controlar vrios processos. Veja exemplo na figura abaixo: # /etc/init.d/sshd status sshd (pid 1915) est rodando... #
Quadro 8: Verificando se o servio sshd est rodando

66 Se o servio estiver ativo a mensagem retornada dever ser parecida com a da figura acima. Onde sshd servio que esta ativo, (pid 1915) o nmero de identificao do processo no sistema operacional e a mensagem est rodando... indica que o servio esta ativo no momento. # /etc/init.d/sshd status sshd est parado #
Quadro 9: Verificando se o servio sshd est parado

Se o servio estiver parado a mensagem retornada dever ser parecida com a da figura acima, onde a mensagem sshd est parado indica que o servio esta parado no momento. Ento deve ser iniciado o servio de SSH executando o comando /etc/init.d/sshd start para inicia-lo. # /etc/init.d/sshd start Iniciando sshd: #
Quadro 10: Iniciando o servio sshd

[ OK ]

Se o servio for levantado normalmente o a mensagem Iniciando sshd: com o status de [OK] dever estar aparecendo. Caso contrrio vai aparecer a mesma mensagem mas com o status de [FAIL], ento uma resposta deve ser dada (ver modulo 4).

5.1.3

FORMATAO DO ARQUIVO DO SERVIDOR DHCP.

O arquivo de configurao do servidor dhcp por padro ele possui um formato que no facilita este trabalho nas validaes que sero necessrias, como exemplo a seguir:

67 Ex: host lab01-01 { option subnet-mask255.255.255.0; option domain-name-servers10.0.1.2; option routers 10.0.1.1; hardware ethernet00:B0:D0:50:87:06; fixed-address 10.0.1.11; } host lab01-02 { option subnet-mask255.255.255.0; option domain-name-servers10.0.1.2; option routers 10.0.1.1; hardware ethernet00:B0:D0:50:88:E6; fixed-address 10.0.1.12; }

Quadro 11: Arquivo de configurao do servidor dhcp

Sendo assim este trabalho sugere uma formatao padro da seguinte maneira, gerar um arquivo a partir do dhcpd.conf para uma formatao que venha facilitar o momento da autenticao. Este processo de formatao ser efetuado todas as vezes que ser necessrio utilizar o arquivo dhcp.lst, pois caso haja alguma alterao no arquivo dhcp.conf, automaticamente o dhcpl.lst estar atualizado. O processo de formatao funcionar da seguinte forma: efetuar uma leitura do arquivo de configurao do dhcp.conf e identificar todos os MAC's e IP's neste arquivo e ir coloc-los em um arquivo dhcp.lst formatado da seguinte maneira:

68 HW address 00:11:25:7F:81:22 00:0D:9D:CC:F4:75 00:11:25:AA:AA:C1 00:13:72:5F:7B:1B Ip address 10.0.1.107 10.0.1.184 10.0.1.12 10.0.1.9
Quadro 12: Arquivo dhcp.lst

Este arquivo que ficar todos os MAC's e IP's teoricamente vlidos da rede, para que o prximo mdulo possa fazer a autenticao com a tabela ARP. Cabe lembrar a importncia deste arquivo, pois ele ser um dos pontos chave para o cruzamento de MAC's e IP's com tabela ARP, dada a importncia seria um boa prtica de segurana efetuar uma boa configurao do servidor para evitar acesso indevido e possveis alteraes onde ficar armazenado. O arquivo alterado para este formato facilitar significativamente o trabalho de validao, visto que ser validado o mac e o ip que constam no mesmo. Para efetuar esta alterao no formato do arquivo ser necessrio a utilizao do SED, que vem do ingls Stream Editor, ou seja editor de fluxos, um editor de texto no interativo muito utilizado para esses trabalhos de manipulao de arquivos texto. A seguir os comandos necessrios para gerao de um novo arquivo formatado a partir do dhcpd.conf:

69 Ex: #! /bin/bash # sed ':a;$!N;s/\n/ /g;ta' dhcpd.txt > teste.txt cat teste.txt sed 's/}/}\n/g' teste.txt > teste1.txt cat teste1.txt #sed 's/ //g' teste1.txt > teste2.txt #cat teste2.txt while read LINHA; do echo $LINHA > teste3.txt sed 's/;/\n/g' teste3.txt > teste4.txt sed 's/^ //g' teste4.txt > teste5.txt cat teste5.txt grep 'fixed-address' teste5.txt | cut -d" " -f2 > linha_hw.txt grep 'hardware ethernet' teste5.txt | cut -d" " -f3 >> linha_hw.txt cat linha_hw.txt sed ':a;$!N;s/\n/ /g;ta' linha_hw.txt >> final.txt echo "$x $y" done < teste1.txt cat final.txt

Quadro 13: Script de gerao do arquivo dhcp.lst

A partir desse momento, estamos com o arquivo dhcp.lst gerado a partir do arquivo dhcp.conf preparado para efetuar a autenticao das mquinas que se encontrarem ativas na rede.

70 5.2 PROCESSO DE VARREDURA

Inicialmente o processo de varredura necessita de alguns pr-requisitos para o correto funcionamento. O primeiro deles e a criao de um arquivo com nome de maquinas_ativas.conf que ser o local onde ficar armazenado todas as mquinas ativas da rede. As linhas contidas nesse arquivo devero estar no seguinte formato: As 17 primeiras posies devem conter o endereo MAC da mquina. Ex: 00-0E-A6-38-A0DC. A prxima posio ficar o status da validao da mquina, inicialmente ficar F=False que indicar que a mquina esta ligada, porm no autenticada na rede. A seguir, exemplos dos arquivos que iro efetuar a troca de informaes: IP address 10.0.1.184 10.0.1.107 10.0.1.112 10.0.1.21 HW 0x1 0x1 0x1 0x1 type Flags HW address Mask Device 0x2 00:11:25:7F:81:22 * eth0 0x2 00:0D:9D:CC:F4:75 * eth0 0x2 00:11:25:AA:AA:C1 * eth0 0x2 00:13:72:5F:7B:1B * eth0

Quadro 14: Exemplo do arquivo temporrio com o quadro endereos IP

HW address Status 00:11:25:7F:81:22 F 00:0D:9D:CC:F4:75 F 00:11:25:AA:AA:C1 F 00:13:72:5F:7B:1B F


Quadro 15: Arquivo mquinas_ativas.conf

Processo de varredura do arquivo de mquinas ativas ir funcionar em duas etapas. A primeira ser verificando quais mquinas esto na tabela ARP (que geralmente fica no diretrio /etc/init.d) que ainda no esto no arquivo de mquinas ativas para posteriormente serem adicionados no mesmo caso no seja encontrado. Na prtica ser efetuado um loop no arquivo da tabela ARP, verificando linha a linha se existe no arquivo de mquinas ativas, caso no exista adicionar a linha corrente no arquivo mquinas_ativas.conf como segue o exemplo seguinte. Ex: Endereo MAC 00-0E-A6-38-A0-DC Status F

Quadro 16: Exemplo do arquivo mquinas_ativas.conf com uma mquina desativada na rede

71 A segunda etapa verificar quais mquinas esto no arquivo de mquinas ativas que no esto mais na tabela ARP, o que significa que a mquina foi desligada, sendo assim ser retirada do arquivo de mquinas ativas. A segunda etapa ser efetuada o inverso da primeira etapa, dar um loop no arquivo de mquinas ativas e verificar se existe a linha corrente no arquivo ARP, caso a linha no exista, remov-la do arquivo de mquinas ativas. Endereo MAC 00-0E-A6-38-A0-DC Status T

Quadro 17: Exemplo do arquivo mquinas_ativas.conf com uma mquina ativa na rede

Este processo se faz necessrio devido a constante dinmica que uma rede possui, so mquinas ligando e desligando a todo o momento, cabendo assim ao ids identific-las e com esta medida evita-se tambm a autenticao desnecessria de mquinas j autenticadas na rede, pois, somente as mquinas que esto no arquivo maquinas_ativas.conf com o status F=False sero autenticadas e tendo sua flag status ativada para T=True, sendo necessrio somente uma nova autenticao aps a mquina ser desligada e ligada novamente.

5.3

PRIMEIRA VALIDAO

O processo da primeira validao tem como pr-requisito o arquivo de dhcp.lst devidamente criado e formatado juntamente com o arquivo de maquinas-ativas.lst e o carregamento da tabela arp da mquina utilizando o programa ping do protocolo icmp que envia e recebe pacotes pela rede com a opo -b que indica que o comando est sendo executado para um endereo de broadcast, que foi extrado previamente do arquivo broadcast.lst gerado pelo mdulo anterior onde ficar todas as subredes existentes configuradas no servidor DHCP.

72 Ex: # ping 10.0.4.255 -b 64 bytes from 10.0.4.3: icmp_seq=1 ttl=64 time=1.62 ms 64 bytes from 10.0.4.4: icmp_seq=2 ttl=64 time=0.129 ms 64 bytes from 10.0.4.5: icmp_seq=3 ttl=64 time=0.129 ms 64 bytes from 10.0.4.6: icmp_seq=4 ttl=64 time=0.128 ms 64 bytes from 10.0.4.7: icmp_seq=5 ttl=64 time=0.127 ms 64 bytes from 10.0.4.8: icmp_seq=6 ttl=64 time=0.131 ms 64 bytes from 10.0.4.9: icmp_seq=7 ttl=64 time=0.131 ms 64 bytes from 10.0.4.10: icmp_seq=8 ttl=64 time=0.129 ms 64 bytes from 10.0.4.11: icmp_seq=9 ttl=64 time=0.128 ms 64 bytes from 10.0.4.12: icmp_seq=10 ttl=64 time=0.126 ms 64 bytes from 10.0.4.13: icmp_seq=11 ttl=64 time=0.130 ms
Quadro 18: Sada do comando ping por broadcast

Aps a execuo desse comando, a tabela arp da mquina onde foi executado o comando em questo encontra-se carregada com todos os endereos de ip e mac ativos na rede naquele determinado momento. A partir desse momento a primeira autenticao ocorrer da seguinte forma: verificar no arquivo maquinas-ativas.lst a lista de mac e ip ativos com o status de autenticao igual a F=False para fazer o cruzamento desta informao com a lista de mac e ip do arquivo dhcp.lst. Este procedimento ser executado com o seguinte comando. Ex: # cat arp |cut -d " " -f1 IP 10.0.4.11
Quadro 19: Filtrando o contedo da tabela arp

Ser efetuado um loop no arquivo maquinas-ativas.lst, para cada registro deste arquivo ser verificado se ele existe no arquivo dhcp.lst, caso no seja localizado no arquivo dhpc.lst ser gerado uma resposta que ser armazenada como log para posterior anlise e enviado um email para o administrador de redes para posterior anlise mais detalhada. Este procedimento ser efetuado para cada maquina que se encontra ativa na rede, caso seja autenticado o mac e ip o processo chama o mdulo para segunda validao que ser explicada mais adiante.

73 5.4 SEGUNDA VALIDAO

O processo de segunda validao ir ocorrer com uma relao de confiana previamente criada entre o servidor dhcp e as mquinas ativas na rede via SSH. Aps esta configurao o servidor ir fazer uma tentativa de conexo com a mquina cliente, a conexo sendo estabelecida a mquina automaticamente ser autenticada, caso contrrio ser gerada uma resposta imediatamente que ser explicada detalhadamente mais adiante. A seguir alguns conceitos e como funciona a configurao deste processo em linux.

5.4.1

SERVIDOR DE VARREDURA

O par de chaves gerado no cliente. A chave Privada no deve ser divulgada em hiptese nenhuma e a chave Pblica pode e deve ser replicada entre todas as outras maquinas da rede. Nota, este procedimento voltado inteiramente para conexes SSH (existem outras aplicaes de chaves Pblicas/Privadas). Gerando o par de chaves no servidor de varredura No computador cliente execute o seguinte comando: # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
Quadro 20: Gerando um par de chaves publica/privada

Quando perguntado para entrar com uma "passphrase", apenas tecle "Enter" duas vezes para que fique em branco, caso contrrio esta frase precisar ser digitada posteriormente.

74 Agora as duas chaves foram geradas. A chave Privada est em "/root/.ssh/id_rsa" e a Pblica em "/root/.ssh/id_rsa.pub". Configurando o servidor Para que seja possvel uma conexo SSH sem senha entre cliente e servidor, preciso divulgar para o servidor a chave pblica gerada pelo cliente. possvel fazer esta cpia remotamente executando os comandos descritos no quadro 21. # scp /root/.ssh/id_rsa.pub root@servidor:/root/ (digitar senha) # ssh root@servidor (digitar senha) # cat /root/id_rsa.pub >> /root/.ssh/authorized_keys
Quadro 21: Copiando a chave pblica para o servidor

O Quadro 21 apresenta o procedimento de cpia do arquivo "id_rsa.pub" do cliente para o servidor. Em seguida, feita a cpia do contedo arquivo "id_rsa.pub" adicionando dentro do arquivo "authorized_keys" do servidor. Caso o diretrio "/root/.ssh" no exista, preciso cri-lo no servidor. importante que a chave pblica (id_rsa.pub) seja adicionada (usando o sinal de maior maior ">>") dentro do arquivo "authorized_keys", pois pode existir outros clientes registrados neste mesmo arquivo. Agora as conexes SSH iniciadas pelo cliente para o servidor sero efetuadas sem a necessidade de digitar a senha e so de confiana.

75 5.5 RESPOSTA

O mdulo de resposta ser responsvel pela ao a ser tomada mediante ao resultado das autenticaes efetuadas. A ao a ser tomada pode ser aplicada em duas formas: a ao ativa ou passiva. A ao ativa o ponto que se deve dar bastante ateno, pois toda a elaborao do modelo fica dependente desta ao, pois ela determina o sucesso ou no de toda rotina implantada. Esta ao vai desde o bloqueio do ip da mquina em questo na rede via iptables at um aviso sonoro para o administrador de redes. A partir desse momento que o administrador da rede deve definir o nvel de segurana de acordo com a necessidade de cada rede. A ao passiva ser uma ao que visa alertar o administrador de redes para que posteriormente aps uma anlise da situao, tome as medidas necessrias para cada alerta. uma ao que fica dependente de outra ao para se concluir, por exemplo quando uma mquina estranha se conectar a rede ser emitido um sinal sonoro na mquina do administrador de redes. Caso o administrador no tome nenhuma atitude diante desta ao, automaticamente esta ao fica anulada, pois est diretamente dependente do administrador de redes. Neste trabalho a ao passiva implementada foi o envio de um e-mail de um possvel risco de ataque em eminncia. Todas essas medidas devem ser avaliadas e executadas de acordo com a especificidade de cada rede, visando atender de forma plena cada necessidade individual. para conta do

administrador com o ip e mac da mquina que no foi autenticada na rede que visa alert-lo

76 5.6 AUDITORIA

O processo de auditoria o mdulo responsvel por armazenar todos os eventos que ocorrem no sistema proposto. Sero armazenadas informaes tais como: data e hora de ocorrncia de um evento, que mdulo originou, qual foi o evento, o que ocorreu durante o evento, houve falha, dentre outros. O objetivo desse mdulo auxiliar e direcionar o administrador da rede nas medidas de segurana que devem ser adotadas de acordo com o que foi reportado pelo sistema. O armazenamento dos arquivos de log um ponto muito importante no que diz respeito ao mdulo de auditoria, pois eles sero os responsveis pelo sucesso ou no do resultado de uma boa auditoria. A seguir esto alguns pontos a serem observados na implantao de uma boa auditoria: O primeiro ponto o momento da guarda das informaes. A informao deve ser protegida e de fcil acesso. O segundo ponto referente ao volume dessas informaes a serem armazenadas. Por se tratarem de logs de eventos a tendncia desses arquivos crescerem rapidamente comprometendo a gravao e leitura. A sugesto gerar um arquivo para cada dia. Dessa forma, fica mais fcil recuperar as informaes e o arquivo no ficar grande. O terceiro ponto a definio do nome desses arquivos, tambm um fator muito importante devido ao tempo de localizao de um log em caso de uma auditoria. Os arquivos se chamaro logs_ids_data_hora.txt que sero monitorados com auxlio do agendador de tarefas cron e o Shell script.

77

6 CONSIDERAES FINAIS E TRABALHOS FUTUROS


Este trabalho apresentou tcnicas de deteco de intrusos que visam identificar ataques a uma rede local e acionar mtodos de interveno contra o invasor. Existe pouco material disponvel sobre sistemas de deteco de intrusos em redes locais. Portanto, o trabalho proposto busca ser uma guia para auxiliar administradores de rede que tm interesse nessa rea especfica. Aps as pesquisas e testes com o prottipo proposto foi possvel constatar que esse trabalho apresenta uma soluo eficaz e de baixo custo para auxiliar na deteco de intrusos em redes locais. A soluo apresentada tambm pode ser aplicada em redes com sistemas operacionais proprietrios. Essa seria uma alternativa de continuao desse trabalho. Uma alternativa ser desenvolver ou pesquisar ferramentas, que funcionem em ambiente de sistema proprietrio, equivalentes as que foram utilizadas na proposta apresentada. Foi constatado que os administradores de rede precisam se preocupar mais com a segurana da rede local, pois em determinadas circunstncia o perigo est nos ataques originrios da prpria rede local.

78

7 REFERNCIAS BIBLIOGRFICAS
1 [unicamp] Disponvel em <http://www.dca.fee.unicamp.br/pgp/pgp.shtml>. Acesso em: 6 de maio de 2007. 2 [linhadefensiva] Disponvel em <http://linh adefensiva.uol.com.br/ infzormativos/definicoes /pgp/>. Acesso em: 6 de maio de 2007. 3 [ufrj] Disponvel em <http://www.gta.ufrj.br/grad/99_2/marcos/kerberos.htm>. Acesso em: 9 de maio de 2007. 4 [unicamp] Disponvel em <http:// www. dca.fee.unicamp.br/ courses/IA368F/ 1s1998/M onografias/luciana.html#Introduo>. Acesso em: 9 de abril de 2007. 5 [istf] Disponvel em <http://www.istf.com.br/vb/archive/index.php?f-113.html>. Acesso em: 3 de maio de 2007. 6 [geocities] Disponvel em <http://br.geocities.com/cesarakg/deteccao_de_invasao.html>. Acesso em: 2 de maio de 2007. 7 [unicamp] Disponvel em <http://www.las.ic.unicamp.br/paulo/papers/>. Acesso em: 1 de maio de 2007. 8 [insecure] Disponvel em <http://insecure.org/nmap/man/pt-br/index.html#man-

description>. Acesso em 1 de maio de 2007. 9 [uff] Disponvel em <http://www.midiacom.uff.br/~debora/redes1/index.html>. Acesso em: 16 de maio de 2007. 10 [cert] Disponvel em <http://www.cert.br/stats/incidentes/>. Acesso em: 21 de maio de 2007. 11 [10gea] 10 Gigabit Ethernet Alliance. Disponvel em <http://www.10gea.org/>. Acesso em: 15 de maio de 2007.

79 12 [ufrgs] Disponvel em <http://penta.ufrgs.br/uel/douglas/dotrab1.html>. Acesso em 9 de maio de 2007. 13 [gr952] Disponvel em <http://penta.ufrgs.br/gr952/trab1/noc.html>. Acesso em: 9 de maio de 2007. 14 [liane] Disponvel em <http://penta.ufrgs.br/liane/2arp.html>. Acesso em 9 de maio de 2007. 15 [maix] Manual On-Line do AIX/UNIX MAN. Acesso em: 9 de maio de 2007. 16 [rnp] Disponvel em <http://www.pop-pr.rnp.br/tiki-index.php?page= Roteadores%20Co mandos%20Basicos>. Acesso em: 9 de maio de 2007. 17 [wikipedia] Disponvel em <http://pt.wikipedia.org>. Acesso em 9 de maio de 2007. 18 [aurelio] Disponvel em <http://aurelio.net/sed/sed-HOWTO.html>. Acesso em: 9 de maio de 2007. 19 [geocities] Disponvel em <http://br.geocities.com/cesarakg/sed-1.html>. Acesso em: 9 de maio de 2007. 20 [zago] Disponvel em <http://www.zago.eti.br/script/grep.html#toc3>. Acesso em: 09 de maio de 2007. 21 [linuxmagazine] Disponvel em <http://www.linuxmagazine.com.br/issue/02/papo_ botequim.pdf>. Acesso em: 9 de maio de 2007. 22 [Guia-Ethernet] Spurgeon, C. E. Ethernet O Guia Definitivo. Campus, 2000.

23 SOARES, Luiz F; COLCHER, Srgio; SOUZA. G. Redes de Computadores - Das LANs, MANs e WANs s redes ATM. Editora Campus, 1995. 24 BARRETT, Daniel J; RICHARD, E. Silverman. SSH the Secure Shell The Definitive Guide.

80 25 OREILLY & ASSOCIATES, Inc., 101 Morris Street, Sebastopol, CA 95472. March 13, 2001. 26 KUROSE, James F; ROSS, Keith W. Redes de Computadores e a Internet: uma abordagem top-down/ James F. Kurose, Keith W.Ross. 3. ed. Editora Pearson Addison Wesley, 2006.

81

8 APNDICE
8.1 ALGUMAS FERRAMENTAS TEIS

A linha de comando do sistema operacional Linux permite a realizao de inmeras tarefas atravs de seus comandos, de manipulao de arquivos a verificao do trfego em rede. Para exibir uma descrio detalhada de cada comando abra uma console ou xterm e digite man comando, onde comando o comando em questo. Outro detalhe muito importante! Pratique cada comando muitas vezes at que se torne algo natural. Comandos de manipulao de diretrio mkdir: cria um diretrio. Exemplo: mkdir docs; rmdir: exclui um diretrio (se estiver vazio); rm -rf: exclui um diretrio e todo o seu contedo (cuidado com este comando); cd: entra num diretrio (exemplo: cd docs) ou retorna para HOME; cd ~: vai direto para o diretrio home do usurio logado; cd -: volta ao ltimo diretrio acessado; pwd: exibe o local do diretrio atual; ls: listar o contedo do diretrio; ls alh: mostra o contedo detalhado do diretrio; ls ltr: mostra os arquivos no formado longo(l) em ordem inversa(r) de data (t); du msh: mostra o tamanho do diretrio em Megabytes; whereis: mostra onde se encontra determinado arquivo (binrios). Exemplo: whereis samba.

82 Comandos para manipulao de arquivos cat: mostra o contedo de um arquivo binrio ou texto; tac: semelhante ao cat mas inverte a ordem; tail: mostra as ltimas 10 linhas de um arquivo (til para ler logs); head: mostra as primeiras 10 linhas de um arquivo; less: mostra o contedo de um arquivo de texto com controle; vi: editor de ficheiros de texto; vim: verso melhorada do editor supracitado; rm: remoo de arquivos (tambm remove diretrios); cp: copia diretrios 'cp -r' copia recursivamente; mv: move ou renomeia arquivos e diretrios; chmod: altera as permisses de arquivos ou diretrios; chown: altera o dono de arquivos ou diretrios; cmd>txt: cria um novo arquivo(txt) com o resultado do comando(cmd); cmd>>txt: adiciona o resultado do comando(cmd) ao fim do arquivo(txt); touch: touch foo.txt - cria um arquivo foo.txt vazio; tambm altera data e hora de modificao para agora; > arquivo.txt: mais rpido que o touch para criao de arquivos; split: divide um arquivo; recode: recodifica um arquivo ex: recode iso-8859-15..utf8 file_to_change.txt.

Comandos para administrao man: mostra informaes sobre um comando; adduser: adiciona usurios;

83 addgroup: adiciona grupos; apropos: realiza pesquisa por palavra ou string; dmesg: exibe as mensagens da inicializao(log); df: exibe estado de ocupao dos discos/parties; find: comando de busca ex: find ~/ -cmin -3; userdel: remove usurios; chfn: altera informao relativa a um utilizador; who: informa quem est logado no sistema; whoami: informa com qual usurio voc est logado; passwd: modifica senha (password) de usurios; umask: define padres de criao de arquivos e diretrios; ps: mostra os processos correntes; ps -aux: mostra todos os processos correntes no sistema; kill: mata um processo; killall: mata todos os processos com o nome informado; su: troca para o super-usurio root ( exigida a senha); su user: troca para o usurio especificado em 'user' ( exigida a senha); chown: altera a propriedade de arquivos e pastas (dono);

Comandos para administrao de rede ifconfig: mostra as interfaces de redes ativas e as informaes relacionadas a cada uma delas; route: mostra as informaes referentes as rotas; mtr: mostra rota at determinado IP;

84 nmap: lista as portas de sistemas remotos/locais atrs de portas abertas. Pode checar sistema operacional em execuo no host remoto; netstat: exibe as portas e protocolos abertos no sistema; iptraf: analisador de trafego da rede com interface grfica baseada em dilogos; tcpdump: sniffer muito popular. Sniffer uma ferramenta que "ouve" os pacotes que esto passando pela rede; Traceroute: traa uma rota do host local at o destino mostrando os roteadores intermedirios; nslookup: consultas a servios DNS; dig: consultas a servios DNS.

As ferramentas de gerncia de redes o brao direito (s vezes, o esquerdo tambm) no dia-adia de nossas atividades de gerncia. So elas que nos ajudam a detectar problemas quando eles ocorrem, ou antes, mesmo de ocorrerem (gerncia de rede pro ativa). Gerenciar uma rede sem o auxlio de instrumentao adequada uma tarefa bastante rdua e que muito provavelmente no oferecer uma boa qualidade de gerncia. Gerenciar uma rede sem ferramenta alguma, ou com ferramentas inadequadas que, por exemplo, no nos dem uma boa viso dos principais elementos da rede o mesmo que ir para a guerra, cego e sem armas. Quando no estamos bem instrumentados, no somos capazes de descobrir problemas e por conseqncia, no seremos capazes de solucion-los. Isso nos afastar substancialmente de nosso objetivo, que manter o bom funcionamento da rede. Existem ferramentas de gerncia para todos os gostos e finalidades. Com ferramentas mais simples de gerncia, ou seja, ferramentas que no nos do uma viso geral da rede, mas que muitas vezes nos ajudam a descobrir caractersticas mais internas de determinados elementos da rede. Essas ferramentas so geralmente oferecidas junto com o sistema operacional de rede dos prprios hospedeiros. So essas ferramentas que utilizaremos para desenvolver a proposta deste trabalho.

85 Exemplos de ferramentas mais simples so traceroute, ping, route, netstat, ifconfig, arp, rarp e outras. Falaremos apenas das ferramentas que ns auxiliaram neste trabalho, deixando as outras como proposta de trabalhos futuros.

ping O ping j deve ser um velho conhecido de todos que trabalham com redes de computadores. Ele serve para enviar requisies ICMP de "echo request" e fica escutando pelos pacotes ICMP de "echo reply". No entanto, o ping serve tambm para mostrar a rota que os pacotes ICMP fazem, tanto na "ida" quanto na "volta". Para tanto, basta utilizar a opo "-R" do ping, como no exemplo abaixo: # ping -c 1 -R 200.Z.Z.21 PING 200.X.X.21 (200.X.X.21) 56(124) bytes of data. 64 bytes from 200.X.X.21: icmp_seq=1 ttl=254 time=5.16 ms RR: 200.X.X.36 200.X.Y.21 200.Z.Z.20 200.Z.Z.21 200.Z.Z.21 200.X.Y.22 200.X.X.41 200.X.X.36 --- 200.Z.Z.21 ping statistics --1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 5.165/5.165/5.165/0.000 ms
Quadro 22: Exemplo de como mostrar a rota dos pacotes ICMP com o comando ping

A opo "-c N" serve para especificar quantos "pings" queremos enviar. Os tipos bsicos de ping so:

86 Type Name Reference 0 Echo Reply [RFC792] 1 Unassigned [JBP] 2 Unassigned [JBP] 3 Destination Unreachable [RFC792] 4 Source Quench [RFC792] 5 Redirect [RFC792] 6 Alternate Host Address [JBP] 7 Unassigned [JBP] 8 Echo [RFC792] 9 Router Advertisement [RFC1256] 10 Router Solicitation [RFC1256] 11 Time Exceeded [RFC792] 12 Parameter Problem [RFC792] 13 Timestamp [RFC792] 14 Timestamp Reply [RFC792] 15 Information Request [RFC792] 16 Information Reply [RFC792] 17 Address Mask Request [RFC950] 18 Address Mask Reply [RFC950] 19 Reserved (for Security) [Solo] 20-29 Reserved (for Robustness Experiment) [ZSu] 30 Traceroute [RFC1393] 31 Datagram Conversion Error [RFC1475] 32 Mobile Host Redirect [David Johnson] 33 IPv6 Where-Are-You [Bill Simpson] 34 IPv6 I-Am-Here [Bill Simpson] 35 Mobile Registration Request [Bill Simpson] 36 Mobile Registration Reply [Bill Simpson] 37 Domain Name Request [RFC1788] 38 Domain Name Reply [RFC1788] 39 SKIP [Markson] 40 Photuris [RFC2521] 41 ICMP messages utilized by experimental [RFC4065] mobility protocols such as Seamoby 42-255 Reserved [JBP]
Quadro 23: Os tipos bsicos de ping

arp O comando arp serve para listar e modificar a tabela arp do kernel. A tabela arp associa endereos IP a endereos de "hardware", (no caso do ethernet, aos MAC address). Na sua forma mais bsica, sem parmetros, o comando arp simplesmente lista a tabela arp (utilize a opo -n para no resolver nomes), exemplo:

87 #arp Address HWtype ))HWaddress(( Flags Mask Iface maquina1.teste ether 00:00:0C:95:0B:00 C eth0 maquina2.teste ether 00:60:08:A1:48:A6 C eth0
Quadro 24: Comando arp

Para remover uma entrada da tabela utilize opo "-d host".exemplo: # arp -d maquina2.teste
Quadro 25: Exemplo do comando arp -d

O comando arp permite tambm que entradas sejam adicionadas manualmente na tabela. Normalmente isso no necessrio mas em algumas situaes poder ser, por exemplo, quando configuramos uma conexo ponto-a-ponto, ou dial-up. Nesse caso preciso que a mquina roteadora seja capaz de aceitar pacotes que tenham como destino a outra mquina da conexo. Para adicionarmos uma entrada usamos a opo "-s host hw_address" ou para forarmos que uma interface responda a requisies arp utilizando o endereo de outra (ou dela mesmo) interface, podemos usar as opes "-i", para definir a interface, e a opo "-D", para dizer de qual interface queremos "copiar" o endereo de hardware. Exemplo: # arp -s 192.168.0.3 -i eth0 -D eth0 pub
Quadro 26: Exemplo do comando arp -s

O exemplo acima faria com que a interface eth0 respondesse a requisies de arp para o endereo 192.168.0.3 utilizando o seu prprio endereo de hardware. A opo pub faz com que a interface passe a "divulgar" esse endereo (e no apenas a aceitar pacotes para ele).

ifconfig O ifconfig o principal comando para configurarmos interfaces no Linux. A sua forma geral "ifconfig opes | endereo". Consulte a pgina do manual para ver todas as opes (man ifconfig). Veremos a seguir alguns exemplos:

88 Para listar as interfaces e seus endereos: # ifconfig eth1 Link encap:Ethernet HWaddr 02:60:8C:F1:EB:CF inet addr:10.10.10.1 Bcast:10.255.255.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:11 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:858 (858.0 b) TX bytes:0 (0.0 b) Interrupt:5 Base address:0x2440 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:55870 errors:0 dropped:0 overruns:0 frame:0 TX packets:55870 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:124540531 (118.7 ))MiB(() TX bytes:124540531 (118.7 ))MiB(()
Quadro 27: Listar as interfaces e seus endereos

Para configurar e levantar uma interface com um determinado IP: # ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
Quadro 28: Configurar e levantar uma interface com um determinado IP

Para desabilitar uma interface: # ifconfig eth0 down


Quadro 29: Desabilitar uma interface

Para configurar um "alias" em uma interface, juntamente com outro endereo IP: # ifconfig eth0:1 192.168.1.1 netmask 255.255.255.0
Quadro 30: Configurar um "alias" em uma interface, juntamente com outro endereo IP

89 Para mudar a MTU de uma interface: # ifconfig eth0 mtu 1440


Quadro 31: Mudar a MTU de uma interface

Para configurar placa com uma conexo ponto-a-ponto: # ifconfig eth0 192.168.2.1 netmask 255.255.255.255 pointopoint 192.168.2.2
Quadro 32: Configurar placa com uma conexo ponto-a-ponto

Para colocar e retirar uma interface do modo "Promscuo" (a interface aceita pacotes destinados a qualquer IP): # intertace eth0 promisc # interface eth0 -promisc
Quadro 33: Colocar e retirar uma interface do modo Promscuo

O ifconfig tambm pode ser utilizado para se alterar o endereo MAC da placa! Para alterar esse endereo necessrio que a placa esteja inativa. Exemplo: # ifconfig eth0 down # ifconfig eth0 hw ether 00:11:22:33:44:55 # ifconfig eth0 up
Quadro 34: Alterar o endereo MAC da placa

8.2 Sed

ALGUMAS FERRAMENTAS DE ADMINISTRAO DE SISTEMAS

sed o mesmo que Stream EDitor ou editor de fluxo. Muito utilizado nos sistems Unix e derivados. Ao contrrio dos editores convencionais, o sed atua em linha de comandos ou em Shell script. Pode, por exemplo, editar a terceira linha de 1000 arquivos com um s comando. Geralmente, o sed recebe como entrada, atravs de um pipe, os dados sobre os quais ir atuar. Aceita Expresses regulares, o que lhe confere maior poder, convertendo-se em uma excelente ferramenta para administradores de sistemas.

90 Alguns exemplos: cat ficheiro.txt | sed '4q;d' #ou sed '4q;d' ficheiro.txt
Quadro 35: Extrair a 4 linha de um ficheiro

cat ficheiro.txt | sed 's/,/-/g' ou sed 's/,/-/g' ficheiro.txt


Quadro 36: Substituies de texto (substituir as vrgulas [,] por hfens[-])

nslookup a.root-servers.net | tail -n 1 | sed s/Address:\ \ \ \ //


Quadro 37: Pegar somente o endereo de retorno

Cat O comando cat usado para unir e exibir arquivos. O nome uma forma abreviada de se referir a concatenate (concatenar, unir). Em geral usado desta maneira para exibir o contedo de um arquivo na sada padro: cat arquivo
Quadro 38: Comando cat

Onde arquivo o nome de um arquivo do diretrio atual ou o nome e caminho para um arquivo. Para cumprir o real propsito de unir arquivos, arquivo aceita caracteres curinga, exibindo na sada padro o contedo de todos os arquivos que se encaixam na expresso. H alguns argumentos teis para cat, como o -n que numera todas as linhas da sada gerada ou -b que numera apenas as linhas no brancas. O argumento -s remove linhas em brancas repetidas e -s faz cat exibir tambm caracteres no imprimveis exceto por quebra de linha e tabulao. grep e egrep grep um aplicativo para linha de comando de sistemas Unix/Linux que faz buscas no contedo dos arquivos.

91 O egrep , digamos, uma verso do grep que aceita a sintaxe moderna de expresses regulares. As buscas efetuadas pelos aplicativos grep e egrep atuam sobre o contedo dos arquivos, podendo usar um modo de busca binria. Combinados com expresses regulares fornecem uma ferramenta muito poderosa, considerando que nos dias atuais o tamanho dos discos rgidos cada vez maior e as buscas envolvendo somente extenses de arquivos so precrias. Alguns exemplos: grep "frase que procuro em minusculas" -r /home/xxx grep -i "frase que procuro com maiusculas e minusculas" -r /home/xxx grep "frase que procuro para salvar o resultado em arqfrase.txt" -r /home/xxx > arqfrase.txt
Quadro 39: Procurar uma frase em todos os arquivos de um diretrio

grep -i "frase que procuro" /home/zago/guiaz/* -R


Quadro 40: Outras variaes do comando grep

egrep '(umapalavra|outrapalavra)'
Quadro 41: Procurar em um arquivo as linhas que contenham uma palavra OU outra palavra

cat /var/log/squid/access.log | egrep '(extreme|gator)' cat /var/log/squid/access.log | egrep -i '(extreme|gator)'


Quadro 42: Procurar em todo arquivo

Você também pode gostar