_____________________________________________________________________________ _/_/_/_/ _/ _/ _/_/_/_/ _/ _/ _/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ N E W S G E N E R A T I O N _____________________________________________________________________________ 30 de maio de 1997 | Volume 1, Numero 1 _____________________________________________________________________________ -------- Prefacio --------------------- Jose' Luiz E' com grande satisfacao que apresentamos o primeiro numero da "RNP News Generation". Esta publicacao eletronica e' parte de um conjunto de acoes que comecamos a desenvolver na RNP cujo principal objetivo e' valori- zar nosso maior "asset", nosso pessoal. Pretendemos que a RNP News Generation torne-se um dos meios de integracao do pessoal da RNP, bem como dos POPs, complementando outras iniciativas como seminarios internos de ca- pacitacao e participacao em cursos e treinamentos externos. Embora com conteudo principalmente tecnico, a RNP News Generation devera' atrair tambem a atencao de gerentes e administradores de redes que poderao encontrar aqui artigos introdutorios e informacoes sobre tendencias tecnologicas. Com um olho no grande desafio que temos pela frente com a im- plantacao da RNP Fase 3, a RNP News Generation sera' um valioso meio para atualizacao do pessoal tecnico da RNP e dos POPs. Para melhor compreender a dimensao do que representa para a RNP o projeto e a implantacao do novo backbone, apresentamos, a seguir, uma breve retrospectiva das duas fases por que a RNP ja' passou. No primeiro momento, o maior desafio foi a compreensao da tecnologia de rede escolhida para o backbone. Naquela epoca, mal comecavamos a introduzir as tecnologias de re- des locais nas universidades. Recordo-me da dificuldade em convencer varios gerentes de projetos na UFRJ que, ao especificar os PCs a serem adquiridos, deveriam ser incluidas interfaces de rede. Era tambem o tempo das lutas re- ligiosas entre os seguidores do modelo OSI/ISO e aqueles que defendiam (e implantavam) o TCP/IP. Nessa era jurassica da historia de redes no Brasil, surge um japones com a ideia de fazer uma conexao entre Rio e Sao Paulo (na epoca LNCC e FAPESP ja' tinham alguma experiencia com links de longa dis- tancia), e o pior era que o tal Tadao Takahashi queria TCP/IP. Ora, se nao sabiamos fazer funcionar direito nem uma rede local, como poderiamos operar enlaces de longa distancia, ainda mais com complicadores como servidores de nomes de dominio, gateways e roteadores? Mas isso ainda nao era o pior. Du- ro mesmo era preencher os tais formularios de solicitacao de IPs e nomes de dominio. Aquilo parecia grego! E acho que, justamente por isso, a FAPESP acabou saindo na frente. Eles tinham o Demi Getschko em seu time; alguem que literalmente entendia grego. Resumindo uma historia de aventuras, o maior desafio que tinhamos entao era adquirir a cultura de redes, princi- palmente no que se referia `a sua implantacao, manutencao e administracao. Na fase seguinte, deparamo-nos com um problema interessante. Depois que aprendemos a montar o brinquedo, o que fazer com ele? Tinhamos certeza que deveria servir para alguma coisa importante pois nao era por acaso que a Internet havia sido financiada pelo departamento de defesa americano, e vinha se tornando cada vez mais popular nos meios academicos no exterior. Na verdade, faltava-nos conteudo! A Internet nao tinha muita utilidade para nos pois ainda nao tinha uma minima fracao do volume de informacoes que possui hoje. O melhor que podiamos encontrar eram programas de dominio pu- blico que, diga-se de passagem, levavam horas (para nao dizer dias quando a rede saia do ar) para "baixar" via FTP, e so' serviam mesmo para a comuni- dade academica de computacao. Criar a cultura de uso da rede, populariza-la e alimenta-la com informacoes foi o grande desafio da epoca. Felizmente, em 1993, algue'm percebeu que somente com FTP a Internet nao iria muito alem do estagio em que estava, e tratou de inventar o HTTP e a HTML. Junto com este novo protocolo e linguagem veio o conceito da Web e a grande aplicacao que consagraria de vez a Internet, o Web browser! Com essas ferramentas e um bando de gente de varias areas que o tal japones conseguiu convencer so- bre a importancia de introduzir conteudo na nossa rede, concluiu-se com su- cesso mais esta etapa. Quando, entao, achavamos que todos os problemas estavam resolvidos, apos a implantacao de infra-estrutura, servicos, aplicacoes e finalmente informacoes, descobrimos que este estagio era apenas a "ponta do iceberg". Agora temos uma enxurrada de informacao, e com ela aplicacoes que utilizam desde textos puramente representados em ASCII ate' complexas aplicacoes utilizando todo tipo de recursos multimidia, para nao falar em realidade virtual. Temos neste momento, diante de nos, um duplo desafio: compreender e implantar as novas tecnologias que estao sendo criadas (ATM, IPv6, etc.) para atender a crescente demanda ocasionada pelo uso de tais aplicacoes, e promover seu uso para aumentar ainda mais o volume de informacoes ja dispo- nivel, porem com maior qualidade. Este veiculo e' assim, uma das formas que encontramos para ajudar- nos a obter a capacitacao necessaria para atacarmos com sucesso mais este desafio. Pretendemos que a RNP News Generation contenha um conjunto de co- lunas fixas tratando de temas como problemas rotineiros de operacao e admi- nistracao de sistemas e redes, seguranca, sistemas de informacoes e topicos avancados em tecnologias de redes, incluindo desde alternativas para o pro- blema da "ultima milha", ate' o estado-da-arte em sistemas de roteamen- to/comutacao, satelites e sistemas opticos, invadindo inclusive o dominio das telecomunicacoes. Alem das colunas fixas, esperamos contar com contribuicoes de nos- sos te'cnicos, incluindo o pessoal dos POPs que, certamente, tem vasta ex- periencia nos mais variados aspectos da operacao e administracao de redes, bem como da solucao daqueles problemas que nao estao descritas em nenhum livro. Decidimos comecar a RNP News Generation de forma modesta, utilizan- do apenas texto corrido e distribuicao via correio eletronico, restrita `a RNP e POPs. Entretanto, nossos planos incluem a evolucao gradual ate' che- garmos a uma versao em Web com recursos mais sofisticados e acesso irres- trito. Nao descartamos tambem uma versao em papel. Finalmente, gostariamos de expressar aqui os nossos agradecimento ao colega Ari por ter aceito esta empreitada, bem como aos colaboradores desta edicao. E' nossa intencao contribuir periodicamente, trazendo infor- macoes sobre acoes da coordenacao, planos futuros, parcerias da RNP, ten- dencias e noticias sobre redes academicas em outras partes do mundo. Esperamos que todos apreciem esta iniciativa e enviem criticas, su- gestoes e principalmente artigos para que possamos transformar nossa RNP News Generation em mais um instrumento de apoio ao nosso trabalho. --------------- Roteamento: O Que E' Importante Saber ------------------------------------- Alex Soares O objetivo deste artigo e' fornecer informacoes basicas sobre roteamento e servir como introducao para futuros artigos que tratarao dos protocolos de roteamento mais utilizados na Internet na atualidade. Introducao A Internet e' uma colecao de redes interconectadas, e os pontos de ligacao sao os roteadores. Estes, por sua vez, estao organizados de forma hierarquica, onde alguns roteadores sao utilizados apenas para trocar dados entre grupos de redes controlados pela mesma autoridade administrativa; enquanto outros roteadores fazem tambem a comunicacao entre as autoridades administrativas. A entidade que controla e administra um grupo de redes e roteadores chama se Sistema Autonomo [RFC 1930]. O Roteamento e Seus Componentes O roteamento e' a principal forma utilizada na Internet para a entrega de pacotes de dados entre hosts (equipamentos de rede de uma forma geral, incluindo computadores, roteadores etc.). O modelo de roteamento utilizado e' o do salto-por-salto (hop-by-hop), onde cada roteador que recebe um pacote de dados, abre-o, verifica o endereco de destino no cabecalho IP, calcula o proximo salto que vai deixar o pacote um passo mais proximo de seu destino e entrega o pacote neste proximo salto. Este proces- so se repete e assim segue ate' a entrega do pacote ao seu destinatario. No entanto, para que este funcione, sao necessarios dois elementos: tabelas de roteamento e protocolos de roteamento. Tabelas de roteamento sao registros de enderecos de destino associ- ados ao numero de saltos ate' ele, podendo conter varias outras informa- coes. Protocolos de roteamento determinam o conteudo das tabelas de rote- amento, ou seja, sao eles que ditam a forma como a tabela e' montada e de quais informacoes ela e' composta. Existem dois tipos de algoritmo atual- mente em uso pelos protocolos de roteamento: o algoritmo baseado em Vetor de Distancia (Distance-Vector Routing Protocols) e o algoritmo baseado no Estado de Enlace (Link State Routing Protocols). Roteamento Interno Os roteadores utilizados para trocar informacoes dentro de Sistemas Autonomos sao chamados roteadores internos (interior routers) e podem uti- lizar uma variedade de protocolos de roteamento interno (Interior Gateway Protocols - IGPs). Dentre eles estao: RIP, IGRP, EIGRP, OSPF e Integrated IS-IS. Roteamento Externo Roteadores que trocam dados entre Sistemas Autonomos sao chamados de roteadores externos (exterior routers), e estes utilizam o Exterior Gateway Protocol (EGP) ou o BGP (Border Gateway Protocol). Para este tipo de roteamento sao considerados basicamente colecoes de prefixos CIDR (Classless Inter Domain Routing) identificados pelo numero de um Sistema Autonomo. Protocolos de Roteamento Interno (Interior Routing Protocols) RIP (Routing Information Protocol) [RFC 1058] O RIP foi desenvolvido pela Xerox Corporation no inicio dos anos 80 para ser utilizado nas redes Xerox Network Systems (XNS), e, hoje em dia, e' o protocolo intradominio mais comum, sendo suportado por praticamente todos os fabricantes de roteadores e disponivel na grande maioria das versoes mais atuais do sistema operacional UNIX. Um de seus beneficios e' a facilidade de configuracao. Alem disso, seu algoritmo nao necessita grande poder de computacao e capacidade de memoria em roteadores ou computadores. O protocolo RIP funciona bem em pequenos ambientes, porem apresenta serias limitacoes quando utilizado em redes grandes. Ele limita o numero de saltos (hops) entre hosts a 15 (16 e' considerado infinito). Outra defici- encia do RIP e' a lenta convergencia, ou seja, leva relativamente muito tempo para que alteracoes na rede fiquem sendo conhecidas por todos os ro- teadores. Esta lentidao pode causar loops de roteamento, por causa da falta de sincronia nas informacoes dos roteadores. O protocolo RIP e' tambem um grande consumidor de largura de banda, pois, a cada 30 segundos, ele faz um broadcast de sua tabela de roteamento, com informacoes sobre as redes e sub-redes que alcanca. Por fim, o RIP determina o melhor caminho entre dois pontos, levan- do em conta somente o numero de saltos (hops) entre eles. Esta tecnica ignora outros fatores que fazem diferenca nas linhas entre os dois pontos, como: velocidade, utilizacao das mesmas (trafego) e toda as outras metricas que podem fazer diferenca na hora de se determinar o melhor caminho entre dois pontos. IGRP (Interior Gateway Protocol) O IGRP tambem foi criado no inicio dos anos 80 pela Cisco Systems Inc., detentora de sua patente. O IGRP resolveu grande parte dos problemas associados ao uso do RIP para roteamento interno. O algoritmo utilizado pelo IGRP determina o melhor caminho entre dois pontos dentro de uma rede examinando a largura de banda e o atraso das redes entre roteadores. O IGRP converge mais rapidamente que o RIP, evitan- do loops de roteamento, e nao tem a limitacao de saltos entre roteadores. Com estas caracteristicas, o IGRP viabilizou a implementacao de re- des grandes, complexas e com diversas topologias. EIGRP (Enhanced IGRP) A Cisco aprimorou ainda mais o protocolo IGRP para suportar redes grandes, complexas e criticas, e criou o Enhanced IGRP. O EIGRP combina protocolos de roteamento baseados em Vetor de Dis- tancia (Distance-Vector Routing Protocols) com os mais recentes protocolos baseados no algoritmo de Estado de Enlace (Link-State). Ele tambem propor- ciona economia de trafego por limitar a troca de informacoes de roteamento `aquelas que foram alteradas. Uma desvantagem do EIGRP, assim como do IGRP, e' que ambos sao de propriedade da Cisco Systems, nao sendo amplamente disponiveis fora dos equipamentos deste fabricante. OSPF (Open Shortest Path First) [RFC 1583] Foi desenvolvido pelo IETF (Internet Engineering Task Force) como substituto para o protocolo RIP. Caracteriza-se por ser um protocolo intra- dominio, hierarquico, baseado no algoritmo de Estado de Enlace (Link-State) e foi especificamente projetado para operar com redes grandes. Outras ca- racteristicas do protocolo OSPF sao: - A inclusao de roteamento por tipo de servico (TOS - type of service routing). Por exemplo, um acesso FTP poderia ser feito por um link de satelite, enquanto que um acesso a terminal poderia evi- tar este link, que tem grande tempo de retardo, e ser feito atraves de um outro enlace; - O fornecimento de balanceamento de carga, que permite ao admi- nistrador especificar multiplas rotas com o mesmo custo para um mesmo destino. O OSPF distribui o trafego igualmente por todas as rotas; - O suporte `a rotas para hosts, sub-redes e redes especificas; - A possibilidade de configuracao de uma topologia virtual de rede, independente da topologia das conexoes fisicas. Por exemplo, um administrador pode configurar um link virtual entre dois rotea- dores mesmo que a conexao fisica entre eles passe atraves de uma outra rede; - A utilizacao de pequenos "hello packets" para verificar a opera- cao dos links sem ter que transferir grandes tabelas. Em redes es- taveis, as maiores atualizacoes ocorrem uma vez a cada 30 minutos. O protocolo ainda especifica que todas os anuncios entre roteadores sejam autenticados (isto nao quer dizer que necessariamente reflita a rea- lidade das implementacoes). Permite mais de uma variedade de esquema de au- tenticacao e que diferentes areas de roteamento (ver abaixo) utilizem es- quemas diferentes de autenticacao; Duas desvantagens deste protocolo sao a sua complexidade, e maior necessidade por memoria e poder computacional, caracteristica inerente aos protocolos que usam o algoritmo de Estado de Enlace (Link-State). O OSPF suporta, ainda, roteamento hierarquico de dois niveis dentro de um Sistema Autonomo, possibilitando a divisao do mesmo em areas de ro- teamento. Uma area de roteamento e' tipicamente uma colecao de uma ou mais sub-redes intimamente relacionadas. Todas as areas de roteamento precisam estar conectadas ao backbone do Sistema Autonomo, no caso, a Area 0. Se o trafego precisar viajar entre duas areas, os pacotes sao primeiramente ro- teados para a Area 0 (o backbone). Isto pode nao ser bom, uma vez que nao ha' roteamento inter-areas enquanto os pacotes nao alcancam o backbone. Chegando `a Area 0, os pacotes sao roteados para a Area de Destino, que e' responsavel pela entrega final. Esta hierarquia permite a consolidacao dos enderecos por area, reduzindo o tamanho das tabelas de roteamento. Redes pequenas, no entanto, podem operar utilizando uma unica area OSPF. Integrated IS-IS (Intermediate System to Intermediate System Routing Exchange Protocol) O IS-IS [OSI 10589], assim como o OSPF, e' um protocolo intra- dominio, hierarquico e que utiliza o algoritmo de Estado de Enlace. Pode trabalhar sobre varias sub-redes, inclusive fazendo broadcasting para LANs, WANs e links ponto-a-ponto. O Integrated IS-IS e' uma implementacao do IS-IS que, alem dos pro- tocolos OSI, atualmente tambem suporta o IP. Como outros protocolos inte- grados de roteamento, o IS-IS convoca todos os roteadores a utilizar um unico algoritmo de roteamento. Para rodar o Integrated IS-IS, os roteadores tambem precisam supor- tar protocolos como ARP, ICMP e End System-to-Intermediate System (ES-IS). Protocolo de Roteamento Externo (Exterior Routing Protocol) BGP (Border Gateway Protocol) O BGP [RFCs 1771,1772,1773,1774,1657] assim como o EGP, e' um protocolo de roteamento interdominios, criado para uso nos roteadores principais da Internet. O BGP foi projetado para evitar loops de roteamento em topologias arbitrarias, o mais serio problema de seu antecessor, o EGP (Exterior Gate- way Protocol). Outro problema que o EGP nao resolve - e e' abordado pelo BGP - e' o do Roteamento Baseado em Politica (policy-based routing), um ro- teamento com base em um conjunto de regras nao-tecnicas, definidas pelos Sistemas Autonomos. A ultima versao do BGP, o BGP4, foi projetado para suportar os pro- blemas causados pelo grande crescimento da Internet. Maiores detalhes sobre este importante protocolo de roteamento se- rao vistos nas proximas edicoes deste boletim. Mais Informacoes Livros - Internetworking With TCP/IP, 3rd. Ed. Douglas Comer Ed. Prentice Hall Paginas Web - Routing Protocols: http://www.cisco.com/warp/public/732/Tech/rtrp_pc.htm - TCP/IP: http://www.cisco.com/warp/public/535/4.html - Dynamic Routing: http://www.cs.oswego.edu/~tymann/classes/445/notes/06Dec96/1.html ------------------- DHCP: Por que Usar? --------------------------------------- Gorgonio Araujo Este artigo introduz o leitor interessado no servico provido pelo Dynamic Host Configuration Protocol (DHCP), apresentando-o, quanto ao seu funcionamento e funcionalidade, bem como discutindo seus problemas. Indica, ainda, boas referencias sobre o DHCP, e lo- cais onde pode-se encontrar uma lista de clientes e servidores. Introducao Apresentam-se aqui os principais conceitos do DHCP, sem entrar em detalhes sobre nenhuma implementacao especifica. O dominio dos conceitos basicos de um servico de rede e' um forte aliado na sua administracao. Este texto presta-se como uma introducao ao servico provido pelo protocolo DHCP, voltado para administradores de redes interessado no tema. O que E' o DHCP? A configuracao automatica e dinamica de computadores ligados a uma rede TCP/IP, no que tange aos inumeros parametros de rede, ja' e' possivel utilizando-se o Dynamic Host Configuration Protocol (DHCP) ([RFC2131]). O DHCP, que e' hoje um protocolo recomendado, em vias de ser padronizado pelo Internet Activities Board (IAB), facilita, e ate' mesmo viabiliza, a gerencia de grandes redes IPs, assim como a vida dos usuarios itinerantes com seus computadores portateis. Para o perfeito funcionamento de um computador ligado a uma rede Internet, nao apenas precisa-se configurar o seu endereco IP, mas tambem uma serie de outros parametros de rede. Um cliente DHCP busca encontrar um ou mais servidores DHCP que possam fornecer os parametros desejados, para que sua maquina possa ser automaticamente configurada. Embora nao seja o unico parametro indispensavel, o endereco IP e', sem duvida, o mais importante deles, assim como o mais peculiar, posto que um determinado endereco nao deve ser utilizado por mais de um cliente ao mesmo tempo. O DCHP possibilita a implementacao uma politica de alocacao dinamica de enderecos IPs, que possibilita a reutilizacao de enderecos disponiveis ao longo do tempo. Como Funciona? Um servidor DHCP, respondendo a uma solicitacao de parametros de um cliente, oferece uma opcao, dentre as que tiver disponivel, para o solicitante, informando-lhe o tempo de arrendamento (leasing) dos parametros oferecidos. Em resposta aos oferecimentos dos diversos servidores, o cliente podera' optar por aceitar, ou nao, uma das proposta, indicando o fato ao servidor da proposta eleita, ou optando por fazer nova requisicao. Recebendo o aceite do cliente, o servidor reserva o endereco IP (se ainda estiver disponivel) e indica o fato ao cliente, que, a partir de entao, podera' fazer a correta e almejada configuracao do seu computador. E' facultado ao cliente, solicitar um re-arrendamento dos parame- tros obtidos ao servidor. Tal solicitacao devera' ser feita quando atingido a metade do tempo de arrendamento combinado, minorando assim a possibilida- de de ocorrencia de problemas com eventuais descompassos entre os relogios dos dois equipamentos. Espera-se tambem que o cliente informe ao servidor quando nao for mais utilizar os recursos alocados - por exemplo, quando estiver sendo des- ligado. Porem, esta atitude cordial do cliente, se nao ocorrer, nao fara' com que o endereco seja indefinidamente inutilizado, posto que, ao final do tempo de arrendamento, o servidor assumira' que tal endereco podera' ser re-alocado sem problemas. E' possivel que o servidor DHCP nao esteja no mesmo enlace do cli- ente e que entre eles haja algum roteador que nao faca o roteamento dos pacotes DHCP. Deve-se lembrar que o cliente DHCP, por nao saber inicialmen- te quem e' o servidor DHCP, utiliza o broadcast para procura-lo, e que o mesmo pode ser feito pelo servidor ate' que o cliente tenha um endereco IP fixo. No caso entao de, entre o servidor e o cliente, haver um roteador que nao encaminhe devidamente pacotes DHCP, ha' a necessidade de um elemen- to intermediario: o relay DHCP. O relay DHCP e' uma maquina capaz de rece- ber pacotes dos clientes DHCP de sua rede, por exemplo, e encaminhar essas solicitacoes a um ou mais servidores em outras redes. O Passado do DHCP O DHCP e' uma evolucao do Bootstrap Protocol - BOOTP ([RFC951]), protocolo padronizado pelo IAB, que permite a configuracao automatica de parametros de redes de um sistema, porem sem a capacidade de alocar dina- micamente estes parametros, como faz o DHCP. Nao apenas em termos de servi- co, o DHCP e' um "superset" do BOOTP, mas tambem em termos de protocolo. E' possivel e desejado, embora isso nem sempre ocorra, que um servidor DHCP seja capaz de atender a um cliente BOOTP e que um cliente DHCP seja atendi- do por um servidor BOOTP. Para que Serve? Ao oferecer um endereco IP a um cliente solicitante, o servidor DHCP envia-lhe outros parametros opcionais, chamados "opcoes do DHCP". Ha' dezenas deles, como mascara de rede, endereco(s) de roteador(es), enderecos de servidores de DNS, nome do cliente, nome do dominio DNS, rotas estati- cas, dentre outros. Todas as opcoes disponiveis podem ser encontradas em [RFC2132]. Um servidor DHCP pode implementar politicas de alocacao de endere- cos e opcoes DHCP de forma manual, automatica e dinamica. Na alocacao manu- al, o administrador do servidor DHCP estabelece um endereco IP para cada endereco Medium Access Control (MAC). Por exemplo, dado o endereco Ethernet 00:20:35:b1:49:4f, a ele sera' associado o endereco IP 192.168.0.33. Na alocacao automatica, disponibiliza-se um conjunto de enderecos IPs, de tal forma que, quando um endereco e' solicitado, um dos elementos do conjunto disponivel e' alocado de forma permanente e automatica para o solicitante. A alocacao dinamica ocorre como a automatica, exceto que o endereco e' arrendado apenas por um periodo de tempo determinado. Em funcao dos recurso de configuracao do servidor utilizado, e' possivel a um administrador utilizar o DHCP para gerenciar a politica de distribuicao de enderecos apropriada para a sua rede. Maquinas como rotea- dores ou servidores devem, preferencialmente, utilizar enderecos configura- dos manualmente, ja' maquinas clientes fixas podem utilizar enderecos alo- cados automaticamente, e maquinas moveis devem adquirir enderecos de forma dinamica, por exemplo. Uma outra aplicacao interessante e' utilizar o DHCP, em conjunto com o PPP, nos servidores de comunicacao para alocacao de enderecos e para- metros de rede para clientes temporarios que utilizam o acesso discado. O PPP tem seu proprio jeito de alocar a um cliente um endereco IP: o IP Control Protocol - IPCP ([RFC1332]), que possibilita ao servidor de comuni- cacao (servidor PPP) passar para o cliente um endereco IP. Onde, entao, en- traria o DHCP? Alguns servidores de comunicacao ([Wobus97]) podem solicitar via DHCP um determinado IP antes de passa-lo para o cliente, via IPCP. Onde Encontrar? O DHCP (cliente, servidor e relay) e' hoje encontrado para uma va- riada gama de plataformas como o UNIX, o Windows NT, o Windows 95, etc. Al- guns ja' sao distribuidos em conjunto com os sistemas operacionais, e.g. o Windows 95 suporta o DHCP, o NT-4.0 vem com um servidor. Encontramos tambem implementacoes "freeware" e comerciais. Jonh Wobus lista em [Wobus97] uma serie delas. Nao encontramos problemas para instalar o Internet Software Consortium (ISC) DHCP/BOOTP Server ([ISC]) no UNIX (FreeBSD). Problemas A alocacao dinamica de enderecos nem sempre e' conveniente para to- das as maquinas de uma rede. Maquinas que sao referenciadas pelos seus en- derecos IPs, e nao por seus nomes, como os roteadores, por exemplo, devem ter um endereco IP fixo. Ha' casos em que um determinado recurso e' associ- ado a um determinado endereco IP definido pelo DNS, e.g. e' comum associar um endereco IP a um servidor Web. Dessa forma, nao e' conveniente utilizar uma busca dinamica do endereco IP deste servidor. Pode-se utilizar alocacao manual, associando no servidor DHCP o endereco de MAC do servidor Web a seu endereco IP. A alocacao dinamica pode tambem inviabilizar os esquemas de segu- ranca que baseiam-se em permitir ou coibir o acesso a determinados recursos atraves da identificacao do endereco IP ou do nome da maquina do solicitan- te (e.g. os comandos r's do UNIX ou os esquemas de controle de acesso por nome/enderecos IP do apache). Em redes onde este tipo de controle e' feito a nivel de maquina, e' necessario restringir o uso do DHCP dinamico. O uso do DHCP dinamico pode vir a comprometer seriamente a seguran- ca de uma rede cujos pontos de acesso nao sao controlados, ou sao utiliza- dos por usuarios nao confiaveis. Um usuario mal intencionado ou desavisado pode causar grandes transtornos, configurando um servidor DHCP nao oficial, por exemplo. O DHCP e' construido sobre o protocolo UDP, que e' um protocolo in- seguro, herdando, portanto, as suas falhas de seguranca. Conclusoes A automacao da configuracao de maquinas ligadas a uma rede IP pode ser implantada utilizando-se o DHCP. Aqui, como em qualquer outro processo de automacao, e' preciso que a configuracao desse servico seja feita de forma apropriada `a rede em questao, e que nao leve a comprometer seu funcionamento e sua seguranca. Conhecendo-se o DHCP, seus recursos e suas falhas, assim como os recursos do servidor utilizado, pode-se utiliza-lo como um aliado na administracao de uma rede. Mais Informacoes Indicacoes de Leitura [TNTM95] reflete a experiencia dos autores com o DHCP na implementacao do servidor WIDE. Possui uma didatica explicacao sobre o protocolo. Muitas questoes interessantes que nao foram abordadas nesse documento podem ser encontradas na FAQ do DHCP ([Wobus97]). Em [Droms], o leitor interessado encontra apontadores para referencias sobre o DHCP. Listas Uma lista recomendada para administradores de servidores DHCP e' a dhcp-v4@bucknell.edu, servida por um listserv (listserv@bucknell.edu) e e' arquivada em ftp://ftp.bucknell.edu/pub/dhcp/. Indicacoes de outras listas mais especificas pode ser encontradas em [Droms]. Padroes Detalhes sobre a especificacao do DHCP podem ser encontrados em [RFC2131]. Sobre a interoperabilidade entre BOOTP e DCHP em [RFC1534] e sobre as opcoes do DHCP (outros parametros de rede), em [RFC2132]. Referencias [Droms] Droms, Ralph. "DHCP - Dynamic Host Configuration Protocol". http://www.bucknell.edu/~droms/dhcp/ em 25/mai/1997. [ISC] "Internet Software Consortium". http://www.isc.org/isc/ em 25/mai/1997. [RFC951] Croft, Bill; Gilmore, John. "Bootstrap Protocol (BOOTP)". Set/1985. http://ds.internic.net/rfc/rfc951.txt em 25/mai/1997. [RFC1332] McGregor, G. "The PPP Internet Protocol Control Protocol (IPCP)". Mai/1992. http://ds.internic.net/rfc/rfc1332.txt em 25/mai/1997. [RFC1534] R. Droms, "Interoperation Between DHCP and BOOTP", 10/08/1993. http://ds.internice.net/ds/dspglintdoc.html em 17/mai/1997. [RFC2131] Droms, R. "Dynamic Host Configuration Protocol". Mai/1997. Sobrepoe a RFC 1541 e RFC 1531. http://ds.internice.net/ds/dspglintdoc.html em 17/mai/1997. [RFC2132] S. Alexander, R. Droms, "DHCP Options and BOOTP Vendor Extensions", 3/97. Sobrepoe RFC 1533. http://ds.internice.net/ds/dspglintdoc.html em 17/mai/1997. [TNTM95] A. Tominaga, O. Nakamura, F. Teraoka, J. Murai. "Problems and Solutions of DHCP: Experiences with DHCP implementation and Operation". 10/mai/1995. http://info.isoc.org/HMP/PAPER/127/html/paper.html em 25/mai/1997. [Wobus97] Wobus, Jonh. "DHCP FAQ". http://web.syr.edu/~jmwobus/comfaqs/dhcp.faq.html em 17/mai/1997. --------------- Seguranca: Voce se Preocupa com Isso? ------------------------------------- Carlos Campana Normalmente a vida de um administrador de sistemas e' bastante atribulada. Instalacao de novas maquinas, configuracao de novos servicos, administracao de con- tas de usuarios, novos sistemas, relatorios, etc. Nessa correria constante, sobrara' algum tempo para cuidar de seguranca? Administrar seguranca quase sempre e' um grande problema. Seguranca nao acarreta novos programas, novas facilidades e, principalmente, nao e' um topico importante para a gerencia das empresas (seguranca nao gera re- ceita). Entao, por que se preocupar com ela? Nao seria melhor ignora-la? Assim todos os esforcos seriam canalizados para atividades "produtivas", com resultados visiveis. Essa pode ser uma opcao, desde que os riscos envolvidos sejam con- siderados. Podemos encarar seguranca como uma especie de seguro. Recursos sao empregados com a finalidade de tentar assegurar a continuidade do que se tem funcionando hoje. Uma rede pode perfeitamente operar sem esse "segu- ro", agora se algum "imprevisto" (ou incidente) acontecer, qual sera' o custo? Assim como no mundo "real", e' melhor ter seguro. Mas que incidentes poderiam causar danos tao grandes? Ou entao, por que alguem atacaria logo o "meu" site? Considerar essas questoes faz parte da avaliacao do risco envolvido. Basear a protecao na ideia de que sua rede nao e' interessante, ou nao tem nenhum atrativo, e' um grande erro. Estao se tornando cada vez mais frequentes ataques do tipo "hit-and-run". Alguma coisa proxima do vandalis- mo, onde atacantes simplesmente interrompem algum tipo de servico. Ha', ainda, aqueles que tem como objetivo conseguir pontos para camuflar ataques posteriores, algo como roubar o seu carro para praticar um assalto. Se o negocio da sua empresa envolver dinheiro ou assuntos confidenciais, entao nao ha' o que questionar. Que danos poderiam ser infligidos? Os piores possiveis, variando desde brincadeiras de mal gosto, com paginas web sendo mudadas, ate' a des- truicao completa do software instalado nos seus sistemas (algumas ferramen- tas permitem destruir o hardware tambem). Talvez o pior dos ataques seja aquele que fica acontecendo durante anos, sem que ninguem note. O custo disso pode ser enorme. Alguns danos podem ser irreparaveis. Uma vez decidido que e' preciso ter algum tipo de seguranca, inume- ras opcoes e caminhos diferentes podem ser escolhidos. Como o assunto e' muito extenso, somente alguns topicos serao apresentados nesse momento. Politica de Seguranca A implantacao de algum nivel de seguranca comeca com a definicao de uma politica de seguranca para o site, um documento com as linhas mestras de atuacao nessa area. Deverao ser considerados: - O que a empresa ou seus usuarios esperam em termos de seguranca; - Qual e' o historico de problemas de segunca do site; - Se existem informacoes confidenciais on-line; - Se existem diferentes niveis de seguranca dentro da organizacao; - Qual o risco e probabilidade de um ataque interno; - Qual a importancia da confiabilidade, integridade e disponibili- dade do sistema como um todo. Esses topicos ajudarao a delinear as necessidades da sua organiza- cao e definir quais os procedimentos que deverao ser adotados para alcancar a seguranca desejada. Procedimentos que englobam, por exemplo: - O que e' proibido; - O que e' permitido; - Que tipos de ferramentas serao necessarias; - Qual devera' ser o treinamento e preparacao dos administradores; - O que fazer em um caso de invasao. Possiveis Formas de Ataque A cada dia novos problemas, que afetam a seguranca, sao descober- tos. Podemos dividi-los basicamente nas seguintes categorias: 1 - Roubo de Passwords Explorando alguma falha do sistema, tentando por acaso, encontrando passwords anotadas em algum lugar ou monitorando os pacotes da rede, o hacker tenta descobrir um par username/password valido para o sistema, e com ele invadir a rede. Por mais tola que possa parecer, essa continua sendo a forma mais comum de ataques. E' impressionante observar como os usuarios tem pouco cuidado na escolha das suas senhas. Com as ferramentas amplamente divulga- das na rede, senhas baseadas em nomes de pessoas, cidades, lugares ou pa- lavras existentes em dicionarios de portugues, ingles, frances, alemao, es- panhol ou italiano sao facilmente descobertas. Deve fazer parte da seguranca do site, com muita enfase, uma boa politica de escolha e utilizacao de senhas. Referencias: crack, shadow passwords, nis, one-time-passwords, ssh, s/key, sniffers 2 - Erros de Software E' muito dificil encontrar softwares livres de erros. Explorando falhas, muitas vezes aparentemente inocentes, os invasores tentam gravar arquivos, pegar arquivos ou executar programas em servidores do seu siste- ma. Uma vez conseguindo seu intento, nao e' dificil iniciar uma invasao completa. Referencias: ftpd, httpd, phf. 3 - Falhas na Autenticacao Muitos procedimentos de controle em uma rede sao baseados em infor- macoes como o nome de uma maquina, o numero IP do sistema e senhas de aces- so. O invasor pode tentar falsificar uma identidade, por exemplo, se pas- sando por outra maquina, para conseguir acesso ao servico. Referencias: spoofing, dns. 4 - Falha na Configuracao do Servico Muitas vezes, configuracoes erradas comprometem toda a seguranca de uma rede, permitindo que o invasor plante armadilhas, capture o arquivo de senhas, etc. Referencias: ftpd, tftpd. 5 - Erros no Protocolo Assim como os softwares, os protocolos podem apresentar "bugs", nao observando detalhes minimos, mas que podem ser usados para abrir falhas na seguranca. Referencias: connection hijacking, nfs. 6 - Vazamento de Informacoes As vezes, o sistema pode estar fornecendo pistas para o invasor, que pode estar pensando em atacar determinada maquina com um sistema opera- cional antigo, ou um grande mainframe, com base nestas informacoes. Referencias: sendmail (vrfy, expn), dns. 7 - Interrupcao no Servico Usando comandos para o envio de pacotes (ping), tentando adulterar as informacoes de roteamento e esgotando a capacidade de discos, por exem- plo, o hacker pode tentar parar o funcionamento de uma rede ou de um siste- ma. Referencias: ping-of-death, syn attack, mailbombing. 8 - Engenharia Social Explorando a ingenuidade de alguns usuarios e falsificando a sua identidade, um hacker pode tentar obter acesso a um sistema. Nao e' dificil forjar um email como administrador do sistema, solicitando a um grupo de usuarios a alteracao de suas passwords para uma determinada sequencia de caracteres, a titulo de teste de seguranca, por exemplo. Ainda pode acontecer o contrario: o hacker entra em contato com o administrador do sistema (via email ou telefone) e, alegando ter esquecido sua password, pede para que este a altere provisoriamente. Perfil de uma Invasao E' dificil descrever um "modus-operandi" padrao dos hackers durante uma invasao. Isso dependera' dos seus objetivos, da seguranca existente, do sistema atacado, etc. Utilizando as formas descritas anteriormente, um in- vasor tentara' conseguir um acesso shell no sistema. Uma das coisas que um invasor tentara' fazer, apos entrar no siste- ma, e' passar desapercebido, apagando seus rastros dos arquivos de log e dos registros de usuarios. Existem alguns programas prontos para isso, como o zap (e suas diversas versoes) que alteram o arquivo utmp do UNIX. Com is- so, comandos who, w e finger nao mostram o invasor atuando. Ao mesmo tempo, os atacantes tentarao esconder todos os arquivos e programas colocados no sistema, criando diretorios escondidos ("...", ".. ", "...^H^H^H") em areas como o /tmp, /var/tmp/, /var/spool/mail, etc. Depois disso, em muitos casos os hackers tentarao conseguir obter privilegios de administrador do sistema (root, sysadmin, manager). Em sis- temas UNIX, eles tentarao explorar vulnerabilidades conhecidas. Se patches nao foram aplicados, fatalmente eles serao bem sucedidos. Dentre as vulnerabilidades mais exploradas estao: - Diversos problemas com rdist, sendmail, mail, lp, cron; - Usando variaveis de ambiente, em funcoes como popen() - Usando race-conditions, em funcoes como access() - Buffer overflow (em varios programas, como talkd, fingerd, elm); - Criacao de uma entrada invalida no passwd (usando o chfn). Uma vez conseguindo esse privilegio, o invasor tera' livre acesso a todos os recursos do sistema. Normalmente, os hackers tentarao substituir os seguintes programas do sistema: - ps, ls, netstat, ifconfig e df (para esconderem sua presenca e seus arquivos); - telnetd e ftpd (para criarem entradas alternativas, caso sejam descobertos), e - login (para capturarem senhas de outros usuarios). Alem de instalarem sniffers, para obter senhas de outros usuarios em maquinas na mesma rede ou de fora, cujos pacotes passem pelo mesmo bar- ramento. Todos estes programas estao disponiveis nos chamados rootkits. Fontes de Informacao Indicacoes de Leitura Alguns livros trazem informacoes valiosas para o estabelecimento de seguranca em redes de computadores. - Firewalls And Internet Security: Repelling the Wily Hacker Bill Cheswick e Steve Bellovin Ed. Addison Wesley Um classico da area. Esta' ficando um pouco desatualizado, devido a grande quantidade de novos tipos de ataque. A segunda edicao devera' estar disponivel no final deste ano. - Building Internet Firewalls D. Brent Chapman e Elizabeth Zwicky Ed. O'Reilly Um excelente livro para quem busca informacoes e dicas de como es- tabelecer firewalls. - Practical UNIX Security Garfinkel, Simson e Spafford Ed. O'Reilly A referencia mais completa sobre o assunto ate' o momento. Indis- pensavel. Paginas WWW - Indice dos principais recursos da area: http://www.cs.purdue.edu/homes/spaf/hotlists/csec-top.html http://www.usenix.org/events/sec98/sites.html - Ferramentas: http://www.cs.purdue.edu/coast/coast.html - Organizacoes de respostas a emergencias: FIRST: http://www.first.org/ CIAC: http://ciac.llnl.gov/ CERT: http://www.cert.org/ AUSCERT: http://www.auscert.org.au/ - Criptografia: Chyperpunks: ftp://ftp.csua.berkeley.edu/pub/cypherpunks/Home.html - Hackers: http://underground.org http://www.2600.com/ http://underground.org/ http://www.l0pht.com/ Listas Uma relacao atualizada das principais listas internacionais pode ser encontrada em http://iss.net/iss/maillist.html Em um proximo artigo, falaremos de como responder a um ataque e das ferramentas disponiveis na area. --------------------------------------------------------------------------- Este boletim contem 100% de eletrons reciclaveis