monografia pos seguranca sistema deteccao de intrusos para redes locais

Upload: cesario-neto

Post on 07-Jul-2015

428 views

Category:

Documents


0 download

TRANSCRIPT

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

2

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

3

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

4

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

5

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.

6

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.

7

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

8

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

9

ABSTRACTThis 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 FIGURASFigura 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...................................................................................................... 161.1 Motivao .................................................................................................................... 17 1.2 Objetivos......................................................................................................................18 1.3 Metodologia ................................................................................................................. 18 1.4 Organizao do trabalho............................................................................................ 19

2 Tecnologias e servios de Redes Locais....................................................... 202.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 ......................................................... 393.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........................................................ 454.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 .......................... 635.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 .................................................................................................... 818.1 Algumas ferramentas teis ........................................................................................ 81 8.2 Algumas Ferramentas de Administrao de Sistemas ............................................ 89

16

1 INTRODUOAtualmente, 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 LOCAISBoa 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 origemQuadro 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 FsicaQuadro 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) BroadcastQuadro 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.11000000Quadro 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 deleteQuadro 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 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 FQuadro 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 msQuadro 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.11Quadro 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:xxQuadro 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_keysQuadro 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 FUTUROSEste 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 BIBLIOGRFICAS1 [unicamp] Disponvel em . Acesso em: 6 de maio de 2007. 2 [linhadefensiva] Disponvel em . Acesso em: 6 de maio de 2007. 3 [ufrj] Disponvel em . Acesso em: 9 de maio de 2007. 4 [unicamp] Disponvel em . Acesso em: 9 de abril de 2007. 5 [istf] Disponvel em . Acesso em: 3 de maio de 2007. 6 [geocities] Disponvel em . Acesso em: 2 de maio de 2007. 7 [unicamp] Disponvel em . Acesso em: 1 de maio de 2007. 8 [insecure] Disponvel em . Acesso em 1 de maio de 2007. 9 [uff] Disponvel em . Acesso em: 16 de maio de 2007. 10 [cert] Disponvel em . Acesso em: 21 de maio de 2007. 11 [10gea] 10 Gigabit Ethernet Alliance. Disponvel em . Acesso em: 15 de maio de 2007.

79 12 [ufrgs] Disponvel em . Acesso em 9 de maio de 2007. 13 [gr952] Disponvel em . Acesso em: 9 de maio de 2007. 14 [liane] Disponvel em . 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 . Acesso em: 9 de maio de 2007. 17 [wikipedia] Disponvel em . Acesso em 9 de maio de 2007. 18 [aurelio] Disponvel em . Acesso em: 9 de maio de 2007. 19 [geocities] Disponvel em . Acesso em: 9 de maio de 2007. 20 [zago] Disponvel em . Acesso em: 09 de maio de 2007. 21 [linuxmagazine] Disponvel em . 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 APNDICE8.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 msQuadro 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 eth0Quadro 24: Comando arp

Para remover uma entrada da tabela utilize opo "-d host".exemplo: # arp -d maquina2.testeQuadro 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 pubQuadro 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 upQuadro 28: Configurar e levantar uma interface com um determinado IP

Para desabilitar uma interface: # ifconfig eth0 downQuadro 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.0Quadro 30: Configurar um "alias" em uma interface, juntamente com outro endereo IP

89 Para mudar a MTU de uma interface: # ifconfig eth0 mtu 1440Quadro 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.2Quadro 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 -promiscQuadro 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 upQuadro 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.txtQuadro 35: Extrair a 4 linha de um ficheiro

cat ficheiro.txt | sed 's/,/-/g' ou sed 's/,/-/g' ficheiro.txtQuadro 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 arquivoQuadro 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.txtQuadro 39: Procurar uma frase em todos os arquivos de um diretrio

grep -i "frase que procuro" /home/zago/guiaz/* -RQuadro 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