Você está na página 1de 84

1 LINUX PARK 2007 p.

22 O mercado brasileiro de Linux e SL

VIRTUALIZAO MUDAR TI p.20 Gartner prev crescentes mudanas no futuro

CEZAR TAURION p.30 Cdigo Aberto na idade da razo


#31 06/07

Junho 2007

A REVISTA DO PROFISSIONAL DE TI

MONITORAMENTO DE REDES
p.31

CONHEA EM PROFUNDIDADE O NAGIOS, A MAIS IMPORTANTE FERRAMENTA DE CDIGO ABERTO PARA MONITORAMENTO

Instale e congure o Nagios e seus plugins p.32 Interface prossional com o GroundWork p.40 Plugins personalizados usando Perl p.74

ACORDO NOVELL-MS p.26


CEO da Novell explica o signicado da parceria em entrevista exclusiva

VIRTUALBOX p.60
Competncia e velocidade no rival aberto do VMware

VEJA TAMBM NESTA EDIO:


Curso LPI: ltima aula para LPI-1 p.47 Looking Glass, o inovador desktop 3D da Sun p.45 p.57 Ext4: Esse sistema de arquivos vale a pena? Dados conveis com as barreiras de escrita p.69 Autenticao segura no Squid com Digest e OpenLDAP
WWW.LINUXMAGAZINE.COM.BR

p.64

ven d a 9 771806 942009 p ro i b i d a

# 31

Assinante

R$ 13,90 7,50

0 0 0 3 de exemplar 1

Expediente editorial
Diretor Geral Rafael Peregrino da Silva peregrino@linuxmagazine.com.br Editor-chefe Tadeu Carmona tcarmona@linuxmagazine.com.br Editor Pablo Hess phess@linuxmagazine.com.br Reviso Arali Lobo Gomes agomes@linuxmagazine.com.br Assistente de Arte Renan Herrera rherrera@linuxmagazine.com.br Centros de Competncia Centro de Competncia em Software: Oliver Frommel: ofrommel@linuxnewmedia.de Kristian Kiling: kkissling@linuxnewmedia.de Peter Kreussel: pkreussel@linuxnewmedia.de Marcel Hilzinger: hilzinger@linuxnewmedia.de Andrea Mller: amueller@linuxnewmedia.de Centro de Competncia em Redes e Segurana: Achim Leitner: aleitner@linuxnewmedia.de Jens-Christoph B.: jbrendel@linuxnewmedia.de Hans-Georg Eer: hgesser@linuxnewmedia.de Thomas L.: tleichtenstern@linuxnewmedia.de Max Werner: mwerner@linuxnewmedia.de Correspondentes & Colaboradores Augusto Campos, Cezar Taurion, Charly Khnast, Emanuel dos Reis Rodrigues, Fabrizio Ciacchi, James Mohr, Joe Casad, Julian Hein, Klaus Knopper, Luciano Siqueira, Marcel Hilzinger, Martin Steigerwald, Michael Schilli, Thomas Leichtenstern, Zack Brown Anncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 2161 5400 Fax: +55 (0)11 2161 5410 Osmund Schmidt (Alemanha, ustria e Sua) anzeigen@linux-magazine.com Brian Osborn (Outros pases) ads@linux-magazine.com Assinaturas: www.linuxnewmedia.com.br assinaturas@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br Brasil www.linux-magazin.de Alemanha www.linux-magazine.com Portal Mundial www.linuxmagazine.com.au Austrlia www.linux-magazine.ca Canad www.linux-magazine.es Espanha www.linux-magazine.pl Polnia www.linux-magazine.co.uk Reino Unido www.linux-magazin.ro Romnia Circulao Cludio Guilherme dos Santos csantos@linuxmagazine.com.br Apesar de todos os cuidados possveis terem sido tomados durante a produo desta revista, a editora no responsvel por eventuais imprecises nela contidas ou por conseqncias que advenham de seu uso. A utilizao de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permisso expressa da editora. Assume-se que qualquer correspondncia recebida, tal como cartas, emails, faxes, fotograas, artigos e desenhos, so fornecidos para publicao ou licenciamento a terceiros de forma mundial no exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux uma marca registrada de Linus Torvalds. Linux Magazine publicada mensalmente por: Linux New Media do Brasil Editora Ltda. Av. Fagundes Filho, 134 Conj. 53 Sade 04304-000 So Paulo SP Brasil Tel.: +55 (0)11 2161 5400 Fax: +55 (0)11 2161 5410 Direitos Autorais e Marcas Registradas 2004 - 2007: Linux New Media do Brasil Editora Ltda. Distribuio: Distmag Impresso e Acabamento: Parma ISSN 1806-9428 Impresso no Brasil

Enquanto durou
Prezados leitores da Linux Magazine,

EDITORIAL

Mahatma Gandhi versou sobre os resultados de seu protesto pacfico contra a tirania britnica: Primeiro eles o ignoram. Depois riem de voc. Depois o combatem. E ento voc vence. Embora essas palavras possuam um significado bem definido no espao a ndia e no tempo - a primeira metade do sculo XX , elas j foram muito usadas por vrias pessoas que se sentiram de alguma forma oprimidas. Uma das comunidades que mais abraou tais pensamentos como algo proftico a do Software Livre e de Cdigo Aberto (SL/CA), como se pode ver no inspiradssimo vdeo Truth happens criado pela Red Hat. O opressor referido, nesse caso, era a Microsoft, com suas prticas monopolistas j publicamente punidas. Durante alguns meses, certamente muitos integrantes da comunidade do SL/CA acreditaram que a profecia no se realizaria, pois a Microsoft teria parado de combater o Linux. Atravs do acordo com a Novell, especulava-se que a empresa de Bill Gates estaria disposta, nalmente, a colaborar com o SL/CA. Como se costuma dizer, essa crena foi boa enquanto durou. Na entrevista concedida por Ron Hovsepian a Rafael Peregrino, publicada pgina 26 desta edio, o CEO e Presidente da Novell arma que sua empresa e a Microsoft concordam que processar usurios no faz bem imagem da autora da ao. Redmond mostrou que essa colocao s se aplica quando h um acordo para tornar obrigatrio esse comportamento. At mesmo Bill Hilf, mentor do SL/CA dentro da Microsoft e coordenador do propalado laboratrio de interoperabilidade, mostrou um srio desconhecimento da afinidade entre a tecnologia do SL/CA e o mercado corporativo, afirmando que O Linux est morto. At Linus tem um emprego. A ofensiva da fabricante do Windows contra o Linux, incluindo sua postura aps o anncio inicial de que processaria os usurios do sistema operacional aberto, reforou a forte estratgia de FUD (medo, incerteza e dvida, na sigla em ingls) iniciada com sua nada memorvel campanha Get the facts. marcante o contraste com a Sun de Simon Phipps - tambm entrevistado nesta edio -, que mostra uma compreenso bem mais profunda dessa tecnologia. A fabricante do OpenSolaris e maior contribuidora do SL/CA em 2006 demonstra compromisso com seus consumidores e desenvolvedores ao criar uma licena livre para uso geral - e no apenas em favor de si mesma , e tambm um slido interesse nessa nova tecnologia, ao buscar formas de lucrar com softwares abertos. Se so essas as armas que se apresentam no combate contra o SL/CA, s nos resta esperar pela validao da concluso: E ento voc vence. Pablo Hess Editor Nota: A seo Preview da ltima edio da Linux Magazine informava que na edio atual seriam publicadas matrias sobre softwares de groupware e tambm sobre o Abaqus. Infelizmente, tivemos de reorganizar a pauta da Linux Magazine de junho, e publicaremos as matrias sobre esses assuntos na edio de julho (nmero 32).

INSTITUTO VERIFICADOR DE CIRCULAO

em processo de filiao

Linux Magazine #31 | Junho de 2007

NDICE

CAPA
O verdadeiro Grande Irmo O verstil Nagios monitora sua rede atravs de plugins, e emite alertas antes que haja problemas com mquinas e servios. Aprenda em profundidade como instalar, usar e gerenciar esse cone do monitoramento de redes. Trabalho de base O Nagios possui uma interface web bastante bsica. O GroundWork uma interface mais amigvel e com visual prossional para essa ferramenta. 40 32

PROGRAMAO
Plugando no Nagios Veja como utilizar a verstil linguagem Perl para criar plugins personalizados para o daemon de monitoramento de redes Nagios. 74

http://www.linuxmagazine.com.br

Linux Magazine 31 | NDICE

COLUNAS
Augusto Campos Charly Khnast Klaus Knopper Zack Brown 08 10 12 14

Tutorial
LPI nvel 1: Aula 6 Congure compartilhamentos de rede e aprenda a administrar a segurana do sistema na ltima aula da srie de preparao para a certicao LPI nvel 1. 47

NOTCIAS
Segurana OpenOfce.org XMMS File Libwpd Biblioteca do KDE Squid Evolution Firefox NAS Inkscape Apache JK Tomcat Connector Geral Microsoft: Linux viola patentes Notebooks para todos Easy Linux est de volta Gaim vira Pidgin Debates sobre o formato ODF De iniciante a power user em um livro Caixinha virtual Se voc quer fugir das ferramentas de virtualizao muito complexas ou caras, experimente o VirtualBox. 60 18 Pronto para o futuro O prximo sistema de arquivos da famlia Ext oferece melhor desempenho e sistemas de arquivo maiores. Voc est preparado para o Ext4? 57 16

CORPORATE
Notcias Virtualizao mudar cenrio de TI, diz Gartner Insigne investe em relacionamento e busca novos parceiros Ponto Frio economiza 20% com Linux Linux em appliance da SanDisk Novo VP da Novell para Amrica Latina Red Hat e IBM pelo mainframe Workstation HP com Linux a preos reduzidos Reportagem: Linux Park Entrevista: Ron Hovsepian Entrevista: Simon Phipps Coluna: Cezar Taurion 22 26 28 30 20

SYSADMIN
Acesso mais seguro Use o sistema de autenticao por Digest no Squid e evite a exposio de senhas. 64

ANLISE
Outra viso O ambiente desktop 3D Looking Glass oferece uma nova viso da rea de trabalho. 45

Organizando a la Um bom disco rgido e um sistema de arquivos com journal no eliminam totalmente a perda de dados. preciso ir alm.

69

SERVIOS
Editorial Emails Linux.local Eventos ndice de anunciantes Preview 03 06 78 80 80 82

Linux Magazine #31 | Maio de 2007

Emails para o editor

EMAILS

Se voc tem dvidas sobre o mundo Linux, crticas ou sugestes que possam ajudar a melhorar a nossa revista, escreva para o seguinte endereo: cartas@linuxmagazine.com.br. Devido ao volume de correspondncia, impossvel responder a todas as dvidas sobre aplicativos, conguraes e problemas de hardware que chegam Redao, mas garantimos que elas so lidas e analisadas. As mais interessantes so publicadas nesta seo.

Tenho comprado a revista nas bancas h alguns meses, e at pensei em fazer uma assinatura. Porm, me incomodam as vrias citaes a sistemas Microsoft nas matrias. Acho que vocs esto se afastando dos objetivos de seus leitores. No preciso de informaes sobre os produtos da Microsoft j existem muitas revistas sobre esse assunto. Estou mais interessado em artigos sobre o mundo do software Livre e em discusses teis sobre o Linux ou seus programas. Tambm tenho interesse em mais artigos sobre o ambiente TCP/IP, assim como funes de gerenciamento por SNMP. Vocs j esto falando sobre esses tpicos. Antonio Moura Gomes Salvador, BA Obrigado por seus comentrios. Temos abordado especialmente o Vista devido s questes que ele, enquanto novidade nos atuais ambientes de rede, pode levantar. Entendemos que h diversas revistas sobre os sistemas Microsoft, porm nossa percepo de que todas contam com informaes fornecidas e tpicos estimulados pela prpria fabricante do Windows. Enquanto isso, ns oferecemos uma viso real do Windows Vista, a partir da perspectiva do Linux. De resto, nossos autores citam o Windows quando julgam ser importante para a aplicao adequada das informaes contidas em seus artigos, pois muito comum o uso de ambos os sistemas numa mesma rede corporativa.

Moda do Vista

Tenho um servidor onde hospedo o site de uma instituio pblica. Aguardo ansiosamente sua revista todos os meses, e freqentemente releio nmeros antigos. Tento tambm baixar distribuies de todos os cantos, s para conhecer e brincar. Pelo que constatei, o Yellow Dog 3 funciona direito em PowerPCs G3, mas no nos G4. Agora estou esperando a verso 5, para o Playstation 3. Uso tanto sistemas x86 quando PowerPC, e vejo que todos os DVDs que a revista publica ou vende so exclusivos para mquinas x86. Ser que no possvel fazer pelo menos um DVD para PPC a cada ano? Roberto Gianpaolo So Paulo, SP J pensamos muitas vezes na possibilidade de oferecer alguma distribuio para PPC em nossos DVDs. O problema que a maioria dos nossos leitores no poderia us-la, j que preferem a arquitetura x86. Muitos observadores esto inclusive duvidosos quanto ao futuro do PPC na computao pessoal desde que a Apple decidiu adotar processadores x86 em seus sistemas. J publicamos artigos sobre PowerPC no passado, e continuaremos cobrindo essa arquitetura enquanto ela permanecer uma plataforma vivel para o Linux. No entanto, no momento um DVD para PowerPC no est em nossos planos.

Linux PowerPC

Errata
Na ltima edio, a gura 5 do artigo Insigne representante, pgina 47, possui um erro na legenda. O contedo correto da legenda Pacotes extras proprietrios so instalados com o Insigne Mgico.

http://www.linuxmagazine.com.br

sa

nja

g je

ne

ro

ww . sx

Permisso de Escrita

c.h

SEJA LIBRIX NA RUA, SEJA LIBRIX EM CASA, SEJA LIBRIX NO TRABALHO.


Agora, alm do Librix (Linux da Itautec), a sua empresa pode contar com o melhor e mais estvel pacote de hardware e software do mercado, testado e homologado pela Itautec. Toda a liberdade que voc precisa para trabalhar com mais mobilidade, usando a internet sem fio, e ainda operar com software livre. mais segurana, porque a Itautec oferece suporte tcnico especializado via internet ou pelo telefone, servios de tuning e configurao e ainda atendimento nacional on site. Tem alta tecnologia para os aplicativos como editor de textos, planilha eletrnica, editor de imagens e apresentaes. mais facilidade e maior flexibilidade no seu dia-a-dia. Na hora de trabalhar, no se sinta preso. Seja Librix.
DPZ

Foto ilustrativa.

Servidor Itautec

LX201

Itautec InfoWay Minitorre


IDEAL PARA ENTRETENIMENTO E ESTAO DE TRABALHO.

PERFORMANCE E SEGURANA PARA A SUA EMPRESA.

10x R$ 109,90 ou 36 x R$ 36,32 pelo carto BNDES*


ou R$ 1.099,00 vista
COMPRE DIRETAMENTE DO

Cdigo da oferta: IN-579 Processador Intel Celeron D 315 (256 KB L2 cache, 2.26 GHz, 533 MHz) Librix - Distribuio Linux Itautec 512 MB de memria Monitor de 17 HD de 40 GB Combo (gravador de CD + leitor de DVD) Floppy, teclado em portugus e mouse Placa de rede integrada Placa de udio e vdeo integrada Fax/Modem 56 Kbps 1 ano de garantia balco****

x R$ 36carto 155,28 pelo BNDES*


ou R$ 4.699,00 vista

Cdigo da oferta: SI-310 Processador Intel Xeon 5030 (2 x 2 MB L2 cache, 2.67 GHz, 667 MHz) Librix Server - Distribuio Linux Itautec** 1 GB de memria com ECC 2 HDs SATA de 200 GB CD-RW (gravador de CD) 2 interfaces de rede integradas Controladora 6 canais SATA integrada Teclado e mouse Gabinete-pedestal 3 anos de garantia on site***

www.itautecshop.com.br

PRESENTE EM MAIS DE 2.700 CIDADES.

De 2 a 6, das 8h s 20h. Sbado, das 9h s 18h.

0800 121 444

FABRICANTE

Ofertas vlidas at 7/6/2007 ou enquanto durarem os estoques. Celeron, Celeron Inside, Centrino, o logotipo Centrino, Core Inside, Intel, o logotipo Intel, Intel Core, Intel Inside, o logotipo Intel Inside, Intel Viiv, Intel vPro, Itanium, Itanium Inside, Pentium, Pentium Inside, Xeon e Xeon Inside so marcas comerciais ou marcas registradas da Intel Corporation ou de suas subsidirias nos Estados Unidos ou em outros pases. Consulte nossa Central de Atendimento para informaes sobre outras condies de nanciamento para pessoa fsica ou jurdica pelo telefone 0800-121-444. *Financiamento para pessoa jurdica atravs do carto BNDES, com taxa de 1,03% a.m. Necessrio possuir o carto de crdito citado, sujeito conrmao da disponibilidade da linha de crdito para as localidades e limite para operao. **Suporte telefnico para o Sistema Operacional Librix - 8 x 5, de segunda a sexta-feira, das 9h s 18h. ***Garantia de trs anos on site, de segunda a sexta-feira, das 8h30 s 18h, em um raio de 50 km do Centro de Servios Itautec mais prximo. ****Garantia balco de um ano para partes, peas e servios. A velocidade de comunicao de 56 Kbps depende e pode variar de acordo com o tipo e a qualidade da linha telefnica utilizada. Para possibilitar o acesso internet so necessrios uma linha telefnica ou banda larga e um provedor sua escolha. Preos com impostos inclusos para So Paulo. Frete no incluso. Demais caractersticas tcnicas e de comercializao esto disponveis em nosso site e no Televendas. Fica ressalvada eventual reticao das ofertas aqui veiculadas. Quantidade: 10 unidades de cada. Empresa/produto beneciado pela Lei de Informtica. Fotos meramente ilustrativas.

Foto ilustrativa.

www.baixebr.org
Certicao LPI

COLUNAS

Augusto Campos
Todo administrador de sistemas deve conhecer as certicaes disponveis e a sua importncia para a empregabilidade. por Augusto Campos

sta edio da Linux Magazine traz o ltimo artigo da srie que nos meses recentes deu uma interessante amostra dos temas abordados no exame da certicao LPI nvel 1, voltado para administradores de sistemas Linux nvel jnior. O LPI foi fundado em 1999, na forma de uma organizao sem ns lucrativos, dedicada certicao de prossionais do Linux, e tem como diferencial o posicionamento de ser independente de distribuio e fornecedor o que signica que na mesma prova voc pode ter de resolver questes sobre pacotes DEB e RPM, por exemplo. O posicionamento do LPI varia ao longo do tempo: originalmente, as certicaes valiam por prazo indenido. Em 2006 decidiu-se que elas passariam a valer por apenas cinco anos. Mesmo quem obteve cer-

Uma caracterstica persistiu: o LPI continua sendo uma certicao independente de fornecedores.
ticao antes da alterao passou a ter de se certicar novamente a cada cinco anos, caso queira continuar contando com o ttulo. Outra mudana ocorreu na gesto da operao brasileira do LPI, que at 2006 era responsabilidade do LPI Brasil, entidade integrada por uma srie de participantes da comunidade Linux brasileira (eu entre eles). A partir de agosto de 2006, por deciso do LPI mundial, passou a ser realizada pela empresa 4Linux. No processo, a ONG LPI Brasil foi extinta, emitindo um comunicado[1] em que divulgou no achar adequado aceitar outro papel que no permitisse manter a coordenao das aes da certicao LPI e nem as polticas existentes poca para os preos das provas no Brasil que, no fechamento desta coluna, esto na faixa dos US$ 130. Uma caracterstica persistiu: o LPI continua sendo uma certicao independente de fornecedores, com boa visibilidade no mercado, e contedo programtico cujo

estudo de fato est relacionado s habilidades e talentos exigidos de um administrador de sistemas Linux. Diversos brasileiros zeram e ainda fazem sua parte para apoiar os colegas que esto em busca de obter sua certicao. Merece destaque o exemplo de Bruno Gomes Pessanha, que, mesmo trabalhando como administrador de sistemas em uma empresa de grande porte (e numa rede com necessidades complexas), desde 2002 encontrou tempo e oportunidade para colaborar diretamente com o LPI especialmente nas atividades de traduo de material e mais recentemente foi co-autor do livro Linux Certication in a Nutshell, que cobre os nveis 1 e 2 do LPI, e foi escrito pensando em servir como guia de administrao, e no apenas para passar nos exames. O livro foi publicado internacionalmente pela prestigiada editora OReilly, e ganhou o prmio da escolha dos editores do Linux Journal em 2006, na categoria de livros de administrao de sistemas. Bruno certamente no o nico: Gleydson Mazioli, o autor do Guia Foca Linux[2] um dos mais conhecidos manuais livres sobre Linux em nosso idioma tambm adaptou sua documentao ao contedo programtico das provas do instituto, e coleciona relatos de leitores que o procuram para contar que passaram no exame graas ao seu excelente material. Obter uma certicao prossional importante para a sua empregabilidade, e o LPI pode ser uma opo digna do seu esforo. A comunidade Linux j se encarregou de disponibilizar uma srie de guias, livros, manuais e at provas simuladas para que voc possa se preparar adequadamente mas o prximo passo precisa ser seu.

Mais Informaes
[1] Comunicado da LPI Brasil: http://www.lpi.org.br/ [2] Guia Foca Linux: http://www.guiafoca.org/

O autor
Augusto Csar Campos administrador de TI e, desde 1996, mantm o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.

http://www.linuxmagazine.com.br

O blog do Open Source Software Lab da Microsoft est de cara nova.


Quem quer saber mais sobre open source no pode car de fora do Porta 25. Agora na verso 2.0, o site est ainda mais interativo e aberto sua participao. Ele tem novas funcionalidades e a navegao est mais completa, com mais espao para as iniciativas do mercado brasileiro. Entre agora mesmo: www.porta25.com.br

2007 Microsoft Corporation. Todos os direitos reservados. Microsoft e Seu potencial. Nossa Inspirao. so marcas comerciais, registradas ou no, da Microsoft Corporation nos Estados Unidos e/ou em outros pases.

www.baixebr.org
CGI:IRC

COLUNA

Charly Khnast
Seu rewall frustra suas tentativas de conexo ao IRC? Com o CGI:IRC, apenas um navegador web necessrio. por Charly Khnast

m algumas situaes, prero conversar online do que telefonar para as pessoas. Meu cliente IRC preferido o Irssi[1]. Ele roda em uma sesso de tela num servidor que consigo acessar por SSH de qualquer lugar. s vezes, SSH simplesmente no uma opo, como nos casos em que o rewall de um cliente est muito restrito, ou quando utilizo algum cybercaf nas frias. Uma ferramenta com o tipogracamente desaador nome de CGI:IRC[2] pode ser a soluo. O programa oferece uma interface web que passa a entrada recebida para o servidor IRC (gura 1). O que eu gosto no CGI:IRC sua instalao fcil e rpida, sem no entanto restringir as opes de congurao. Para a instalao, apenas necessrio um servidor web com CGI ativado, alm da verso 5 da linguagem Perl. Apenas faa o upload do script para o servidor, e coloque os arquivos de congurao no diretrio CGI deste. A pgina de instalao[3] d dicas teis a respeito desses passos. O CGI:IRC utiliza uma abordagem incomum, porm inteligente, em seus dois arquivos de congurao. Um deles contm as conguraes crticas, que podem ser feitas em poucos minutos para que voc j comece a us-lo imediatamente. O outro arquivo, cgiirc.config.full, contm exemplos de conguraes mais complexas. Comecei vericando a congurao bsica: o item default_server abriga o nome do meu servidor IRC, enquanto default_port guarda o nmero da porta. A porta padro 6667, apesar de servidores em portas diferentes estarem crescendo bastante devido ao bloqueio das portas de IRC Figura 1 Conversa com um diferencial o CGI: IRC fornece um cliente IRC acessvel de por parte de vrios provedores de hosqualquer local, atravs de um servidor web. pedagem.

A varivel default_channel contm uma lista de canais, separados por vrgulas, que o usurio do CGI: IRC tem permisso de usar. O usurio no pode acessar nenhum canal ausente nessa lista. Ao entrar no CGI:IRC, possvel escolher um apelido. Se o usurio preferir no escolher nenhum, o programa simplesmente atribui um nome com base no esquema especicado na varivel default_ nick. O padro, nesse caso, CGIxxx, onde xxx substitudo por um nmero, aps o login. O arquivo ipaccess lida com o controle de acesso. O CGI:IRC simplesmente ignora quem no possuir uma entrada nesse arquivo, da seguinte forma:
ip_acess_file = ipaccess

Controle de acesso

Para suportar qualquer nmero de conexes a partir do localhost, possvel apenas acrescentar uma entrada para 127.0.0.1 ao arquivo ipaccess. Para restringir a 50 o nmero de conexes simultneas, a entrada seria: 127.0.0.1 50 . Para impedir o acesso a partir de uma rede especca, como 10.0.0.0/8, por exemplo, a entrada seria simplesmente: 10.0.0.0/8 0 . Aps terminar a congurao, possvel conversar innitamente e de forma imediata, independente de onde se esteja.

Mais Informaes
[1] Irssi: http://www.irssi.org [2] CGI:IRC: http://cgiirc.sourceforge.net [3] Dicas de instalao (em ingls): http://cgiirc.sourceforge.net/docs/install.php

O autor
Charly Khnast administrador de sistemas Unix no datacenter Moers, perto do famoso rio Reno, na Alemanha. L ele cuida, principalmente, dos rewalls.

10

http://www.linuxmagazine.com.br

www.baixebr.org
Pergunte ao Klaus!

COLUNA

Klaus Knopper
Esta coluna baseada na seo Ask Klaus!, publicada na Linux Magazine International. por Klaus Knopper

Sou relativamente novo no uso do Linux. J experimentei muitas distribuies, e o Suse 10.2 me deu uma tima impresso. Finalmente consegui ativar os efeitos 3D (graas ao YaST). Tenho uma mquina com uma placa-me com chipset Nvidia, 1 GB de memria, placa de vdeo ATI X700 Pro e um Athlon64 3500+. Porm, acho que chegou a hora de trocar por um modelo mais novo. Comprei um Athlon64 X2 5200+ com 1 GB de memria e uma placa-me com chipset ATI com Crossre, mantendo a placa de vdeo antiga. Depois de atualizar meu hardware e colocar meus discos rgidos SATA no novo computador, o Suse 10.2 vai redectar a nova congurao e congurar tudo como for necessrio, ou eu precisarei reinstalar o sistema? Resposta Se voc modicar os itens de hardware necessrios durante a inicializao, provavelmente ser necessrio refazer o ramdisk inicial (initrd) que foi criado de forma personalizada para seu antigo sistema durante a instalao inicial. Nesse caso, seu novo sistema simplesmente no iniciar mais a partir do disco rgido, informandoo que no consegue encontrar nenhuma partio. Para contornar isso, talvez se possa incluir todos os drivers necessrios no initrd de seu sistema antigo, antes de trocar os discos rgidos de placa-me. Tambm deve ser possvel realizar Exemplo 1: xipw2100.sh uma instalao r01 #!/bin/bash pida em modo de 02 03 # Mude isso de acordo com sua placa WiFi recuperao, usan04 WIFIDEV=eth1 do o DVD de insta05 lao, apenas para 06 while true; do recriar o sistema 07 LANG=C iwconfig $WIFIDEV | grep -q unassociated de inicializao e 08 if [ $? = 0 ]; then preservar o conte09 echo `date`: Reconectando $WIFIDEV do das parties do 10 iwpriv $WIFIDEV reset 11 fi disco rgido. Lem12 sleep 10 bre-se que impor13 done tantssimo vericar

Redeteco

se voc possui algum backup funcional dos dados importantes contidos no disco rgido, antes de deixar o instalador ou o procedimento de recuperao fazerem algo nos discos. O chipset WLAN ipw2100 de meu notebook est funcionando com o driver contido no kernel 2.6.19. No entanto, aps algum tempo, principalmente sob trfego intenso, a conexo com o ponto de acesso falha, e eu recebo um status de unassociated no iwcong. Aps descarregar e recarregar o mdulo ipw2100 do kernel, a placa volta a funcionar, mas tenho que digitar novamente os parmetros do iwcong. Existe alguma falha no driver ipw2100 ou as minhas conguraes esto erradas? Resposta Creio que o problema possa ser tanto um bug no driver quanto no rmware que passado para a placa e reiniciado a cada recarregamento do mdulo. Parece que a placa se confunde quando o trfego muito grande ou a qualidade do sinal baixa por algum tempo. s vezes, nem se consegue identicar o motivo. Embora eu no possa dizer o que exatamente tem de errado com o driver ou rmware ipw2100, aqui est uma forma conveniente de contornar isso, que tenho usado com sucesso em vrios notebooks. Esse pequeno script, iniciado pelo usurio root e em segundo plano, ordena que a placa faa um reset interno sem voc precisar informar toda a congurao novamente. Ele apenas verica a visibilidade do ponto de acesso a cada dez segundos, e faz a reconexo em caso de queda, o que costuma levar dois segundos. O script do exemplo 1 pode ser executado com um ./fixipw2100.sh & depois de sua placa ter sido iniciada. Ele no sobrescreve nenhuma congurao j existente.

Conexo WLAN instvel

O autor
Klaus Knopper o criador do Knoppix e co-fundador do evento LinuxTag. Atualmente ele trabalha como professor, programador e consultor.

12

http://www.linuxmagazine.com.br

Plano Standard Plano SQL

Transferncia: 50GB Espao: 500MB

R$ R$

25, 0,

70

ILIMITADA A VANTAGEM DE CONTAR COM A PLUG IN.


Somente uma empresa como a PLUG IN, uma das lderes do mercado de webhosting no Brasil, pode oferecer aos profissionais de internet as melhores opes para hospedagem de sites com preos e franquias imbatveis. Oferece ainda Data Centers de ltima gerao e uma equipe 100% focada em atender as demandas do mercado digital.

Transferncia: 100GB Espao: 1GB

36,10 135,00 250,00

E-mail 1GB
Transferncia: 1TB Espao: 3GB

A partir de

R$ 90 R$ R$

Plano Terabyte Plano Ilimitado


Transferncia: ilimitada Espao: 5GB

Internet para Profissionais de Internet


Capitais e Regies Metropolitanas: 4003 1001 Outras Regies: 0800 881 1001

www.plugin.com.br

Gabarito

www.baixebr.org
Crnicas do kernel

COLUNA

Zack Brown
Maturidade de cdigo no sistema de congurao

Rtulos de maturidade do cdigo, JFFS e uma alternativa proposta de Syslets. Veja as ltimas invenes dos desenvolvedores do kernel. por Zack Brown

Robert P. J. Day sugeriu a adio de alguns novos nveis de maturidade de cdigo estrutura kbuild: DEPRECATED e OBSOLETE. Infelizmente, a discusso acabou se concentrando em determinar o signicado preciso de cada um desses termos. A idia de Day era que obsolete signica que o cdigo est completamente morto e sem suporte, enquanto deprecated vlido para aqueles cdigos que ainda funcionam, embora exista ao menos uma

... nesse sentido, podemos esperar mais nveis de maturidade na interface de congurao do kernel, no futuro.
alternativa completamente vivel. Outros desenvolvedores enxergavam a questo exatamente da forma oposta. Bartlomiej Zolnierkiewicz, por exemplo, considera deprecated como indicativo de que no h qualquer alternativa disponvel, mas que o cdigo ruim e deveria ser substitudo, enquanto obsolete signica que h uma alternativa, e portanto no mais necessrio usar o cdigo antigo. Tentativas de resolver a questo no tiveram sucesso algum havia grande margem para interpretao. Por um lado, parecia que todos concordavam que esses nveis de maturidade seriam teis; ento, nesse sentido, podemos esperar mais nveis de maturidade na interface de congurao do kernel, no futuro. Sam Ravnborg e Day tambm discutiram formas de indicar o nvel de maturidade no prprio nome da opo, durante a congurao. Atualmente, o nico nvel de maturidade disponvel EXPERIMENTAL, e a nica forma de identicarmos uma opo experimental procurando um grande EXPERIMENTAL ao nal do nome da opo.

A j anunciada remoo do sistema de arquivos JFFS, superado pelo JFFS2, nalmente aconteceu! O JFFS foi retirado da rvore principal do kernel, e Adrian Bunk postou um patch para retirar tambm a respectiva entrada em MAINTAINERS. David Brownell postou outro patch para marcar o cdigo da porta paralela como no-mantido no arquivo MAINTAINERS, pois nenhum dos quatro desenvolvedores listados nele parece estar mantendo-o ativamente. Jean Delvare e Randy Dunlap concordaram com isso, e Delvare pediu encarecidamente que Andrew Morton se encarregasse do patch. Joern Engel postou mais um patch para retirar completamente a entrada do DevFS do arquivo MAINTAINERS (ele j havia sido listado como obsoleto). O DevFS, mais do que qualquer outro recurso removido, j causou muitas dores para que os desenvolvedores o retirassem do kernel completamente.

Adeus, JFFS

Ms passado discuti o novo subsistema de Syslets de Ingo Molnar, que oferecia uma forma engenhosa de iniciar chamadas de sistema em segundo plano. Aps Linus Torvalds declarar que achou a interface complicada e difcil demais para o usurio comum, Molnar mostrou um sistema modicado, introduzindo a idia de threadlets. Elas so um complemento idia original de syslets, porm com uma interface muito mais simples. As threadlets so basicamente uma forma de iniciar funes arbitrrias em segundo plano com o recurso adicional de criar uma nova thread somente se a threadlet for bloqueada por algo; seno, o contexto permanece aquele do programa-pai. A desvantagem das threadlets que so bem mais lentas que as syslets.

Syslets? Threadlets

O autor
A lista de discusso Linux-kernel o ncleo das atividades de desenvolvimento do kernel. Zack Brown consegue se perder nesse oceano de mensagens e extrair signicado! Sua newsletter Kernel Trafc esteve em atividade de 1999 a 2005.

14

http://www.linuxmagazine.com.br

SEGURANA

OpenOfce.org
Vrios problemas de segurana foram descobertos no OpenOfce.org, um conjunto de aplicativos de escritrio livres. O parser do Calc contm um estouro de pilha facilmente explorvel por um documento especialmente criado para executar cdigo arbitrrio. (CVE-2007-0238) O Openofce.org no escapa metacaracteres de shell, e vulnervel execuo de comandos de shell

www.baixebr.org
arbitrrios atravs de um documento especialmente criado aps o usurio clicar em um link preparado. (CVE-2007-0239)
Referncia no Debian: DSA-1270-2 Referncia no Mandriva: MDKSA-2007:073 Referncia no Red Hat: RHSA-2007:0033-4 Referncia no Suse: SUSE-SA:2007:023 Referncia no Ubuntu: USN-444-1

Sven Krewitt, da Secunia Research, descobriu que o XMMS (X Multimedia System) no lidava corretamente com imagens BMP ao carregar skins para sua interface grfica. Um estouro de inteiros no XMMS 1.2.10, e possivelmente tambm em outras verses, permitia que agressores remotos, auxiliados por usurios locais, executassem cdigo arbitrrio atravs de informaes maliciosas em uma imagem bitmap de skin, a qual causava a corrupo da memria. (CVE-2007-0653)
Referncia no Mandriva: MDKSA2007:071 Referncia no Ubuntu: USN-445-1

XMMS

arquivos, como o amavisd-new. (CVE-2007-1536)


Referncia no Gentoo: GLSA 20070326/le Referncia no Mandriva: MDKSA2007:067 Referncia no Red Hat: RHSA-2007:0124-2 Referncia no Ubuntu: USN-439-1

O file um utilitrio que adivinha o formato de arquivos atravs de padres dos dados binrios. Um agressor remoto poderia convencer um usurio a executar o file em um arquivo especialmente criado, o que acionaria um estouro de buffer baseado em fila, possivelmente levando execuo de cdigo arbitrrio com os direitos do usurio que estivesse executando o file. Essa vulnerabilidade tambm poderia ser desencadeada atravs de um analisador automtico de

File

A Libwpd uma biblioteca para leitura e converso de documentos do WordPerfect. A iDefense relatou vrias falhas de estouro de inteiros na Libwpd. Agressores eram capazes de explor-las com arquivos WordPerfect especialmente criados, os quais poderiam fazer um aplicativo linkado biblioteca travar ou simplesmente executar cdigo arbitrrio. (CVE-20070002, CVE-2007-1466)
Referncia no Debian: DSA-1268-1 Referncia no Red Hat: RHSA-2007:0055-5 Referncia no Slackware: SSA:2007085-02 Referncia no Ubuntu: USN-437-1

Libwpd

contedo de uma iframe com uma URI ftp:// no atributo src, provavelmente devido a um dereferenciamento a um ponteiro nulo. Se um usurio for convencido a visitar um site malicioso, o Konqueror pode travar, resultando em uma negao de servio. (CVE2007-1308) Foi descoberta tambm uma falha na forma como o Konqueror lida com respostas PASV de FTP. Se um usurio for convencido a visitar um servidor FTP malicioso, um agressor remoto poderia realizar uma varredura das portas das mquinas localizadas na mesma rede que o usurio, levando divulgao de dados privados. (CVE-2007-1564)
Referncia no Mandriva: MDKSA2007:072 Referncia no Ubuntu: USN-447-1

O arquivo ecma/kjs_html.cpp, no KDEJavaScript (KJS), conforme usado no Konqueror do KDE 3.5.5, permite que agressores remotos causem uma negao de servio (travamento) ao acessarem o

Biblioteca do KDE

Foi descoberta uma vulnerabilidade no Squid, um servidor proxy multiprotocolo livre. A funo clientProcessRequest() em src/client_side.c no Squid 2.6 anterior ao 2.6.STABLE12 permite que agressores remotos causem uma negao de servio (fechamento do daemon) atravs de requisies TRACE especialmente criadas

Squid

16

http://www.linuxmagazine.com.br

Segurana | NOTCIAS

para gerar um erro de assero. (CVE-2007-1560)


Referncia no Gentoo: GLSA 20070327/squid Referncia no Mandriva: MDKSA2007:068 Referncia no Ubuntu: USN-441-1

malicioso, um agressor remoto poderia realizar uma varredura de portas nas mquinas da rede do usurio, levando divulgao de dados privados. ( CVE-20071562)
Referncia no Slackware: SSA:2007066-03 Referncia no Ubuntu: USN-443-1

Um erro de formatao de cadeia de caracteres na funo write_html() em uma nota, pode ser explorado para executar cdigo arbitrrio atravs de uma nota compartilhada especialmente criada contendo especicadores de formato. (CVE-20071002)
Referncia no Mandriva: MDKSA2007:070 Referncia no Ubuntu: USN-442-1

Evolution

to, faz de cadeias de caracteres de formato. Se um usurio for enganado de forma a abrir no Inkscape uma URI especialmente criada, um agressor remoto poderia executar cdigo arbitrrio com os privilgios desse usurio. (CVE2007-1463 )
Referncia no Mandriva: MDKSA2007:069 Referncia no Ubuntu: USN-438-1

calendar/gui/e-cal-component-memopreview.c, ao exibir as categorias de

Foram descobertos vrios problemas no daemon do NAS (Network Audio System). Agressores remotos podem enviar requisies de rede especialmente criadas, de forma a causar uma negao de servio ou a execuo de cdigo arbitrrio. (CVE-2007-1543, CVE-2007-1544, CVE-2007-1545, CVE-2007-1546, CVE2007-1547 )
Referncia no Mandriva: MDKSA2007:065 Referncia no Ubuntu: USN-446-1

NAS

Apache JK Tomcat Connector


O Apache Tomcat Connector (mod_ jk) contm uma vulnerabilidade de estouro de buffer que poderia resultar na execuo remota de cdigo arbitrrio. Um agressor remoto pode enviar uma requisio de URL longa para um servidor Apache, o que pode acionar a vulnerabilidade e levar a um estouro de inteiros baseado em pilha, resultando, assim, na execuo de cdigo arbitrrio. (CVE-20070774)
Referncia no Gentoo: GLSA 20070316/mod_jk

Uma falha foi descoberta na forma como o Firefox, um navegador web de cdigo aberto, lidava com respostas PASV de FTP. Se um usurio for enganado de forma a visitar um servidor FTP

Firefox

Inkscape

Foi descoberta uma falha no uso que o Inkscape, um aplicativo de desenho vetorial de cdigo aber-

Postura das principais distribuies Linux quanto segurana


Referncia de Segurana
Debian Info: www.debian.org/security Lista: lists.debian.org/debian-security-announce Referncia: DSA- 1 Info: www.gentoo.org/security/en/glsa Frum: forums.gentoo.org Lista: www.gentoo.org/main/en/lists.xml Referncia: GLSA: 1 Info: www.mandriva.com/security Lista: www1.mandrdrivalinux.com/en/flists.php3#2security Referncia: MDKSA- 1 Info: www.redhat.com/errata Lista: www.redhat.com/mailing-lists Referncia: RHSA- 1 Info: www.slackware.com/security Lista: www.slackware.com/lists (slackware-security) Referncia: [slackware-security] 1 Info: www.novell.com/linux/security Lista: www.novell.com/linux/download/updates Referncia: suse-security-announce Referncia: SUSE-SA 1

Comentrios
Alertas de segurana recentes so colocados na homepage e distribudos como arquivos HTML com links para os patches. O anncio tambm contm uma referncia lista de discusso. Os alertas de segurana so listados no site de segurana da distribuio, com link na homepage. So distribudos como pginas HTML e mostram os comandos necessrios para baixar verses corrigidas dos softwares afetados. A Mandriva tem seu prprio site sobre segurana. Entre outras coisas, inclui alertas e referncia a listas de discusso. Os alertas so arquivos HTML, mas no h links para os patches. A Red Hat classica os alertas de segurana como Erratas. Problemas com cada verso do Red Hat Linux so agrupados. Os alertas so distribudos na forma de pginas HTML com links para os patches. A pgina principal contm links para os arquivos da lista de discusso sobre segurana. Nenhuma informao adicional sobre segurana no Slackware est disponvel. Aps mudanas no site, no h mais um link para a pgina sobre segurana, contendo informaes sobre a lista de discusso e os alertas. Patches de segurana para cada verso do Suse so mostrados em vermelho na pgina de atualizaes. Uma curta descrio da vulnerabilidade corrigida pelo patch fornecida.

Gentoo

Mandriva

Red Hat

Slackware

Suse

1 Todas as distribuies indicam, no assunto da mensagem, que o tema segurana.

Linux Magazine #31 | Junho de 2007

17

NOTCIAS

Microsoft: Linux viola patentes


A gigante do software proprietrio anunciou em maio que h diversas patentes suas sendo violadas por softwares de Cdigo Aberto. Somente o kernel Linux, segundo reportagem publicada na revista Fortune, violaria 42 patentes, enquanto os ambientes desktop livres contariam com 65 violaes, e o OpenOfce.org com mais 45. Apesar da alegada seriedade das violaes, a empresa de Steve Ballmer informou que no pretende divulgar quais seriam essas patentes, assim como no disse o que far a respeito das contravenes. H que se ressaltar que, ainda que fosse divulgada a lista de patentes, a empresa de Redmond, EUA teria de provar sua validade nos tribunais. Como era de se esperar, os analistas foram velozes em caracterizar a acusao como ato de desespero da Microsoft, ou como estratgia de extorso para agregar mais parceiros

www.baixebr.org

em esquemas semelhantes ao acordo da empresa com a Novell, cobrando dos supostos contraventores a imunidade aos processos. Muitos apontaram ainda para o fato de que muitas das empresas a serem processadas so tambm clientes da prpria Microsoft, mostrando que a estratgia de acionar judicialmente os usurios realmente no seria positiva. Pouco depois, o vice-presidente para assuntos de propriedade intelectual e licenciamento da MS, Horacio Gutierrez, armou que o objetivo de sua empresa , de fato, angariar mais acordos como o rmado com a Novell no nal de 2006, embora ele arme no haver a inteno de processar usurios.

O Governo Federal ampliou no ms de maio seu programa de incluso digital. O programa Computador Para Todos, em vigor desde 2005, j foi responsvel por baixar significativamente os preos de computadores, alm de oferecer financiamento para facilitar a compra das mquinas por pessoas de menor poder aquisitivo. Como reflexo, diversas famlias finalmente puderam adquirir seu primeiro computador. Desde maio, a iseno tributria e a facilidade de concesso de linhas de crdito passou a valer tambm para computadores portteis. No entanto, enquanto a margem de preos dos desktops foi reduzida de R$ 1400 para R$ 1200, os laptops favorecidos pelo programa devem obrigatoriamente ter preo mximo de R$ 1800. A expectativa que sejam ofertados no mercado, assim como ocorreu com os desktops, diversos computadores portteis por preos ainda menores que o patamar estabelecido pelo governo.

Notebooks para todos

A revista Easy Linux, publicada pela Linux New Media do Brasil responsvel tambm pela Linux Magazine -, voltar a ser publicada a partir do ms de junho. Com periodicidade mensal, a Easy Linux destinada aos usurios iniciantes, domsticos e pequenas empresas. A revista esteve suspensa desde dezembro do ltimo ano, devido a uma importante reestruturao, e ter como tema de capa, na edio 9, que circular em junho, os jogos para Linux e aqueles executveis sob o tradutor de APIs Wine.

Easy Linux est de volta

Aps uma longa disputa judicial com a americana AOL, detentora da marca AIM, os desenvolvedores do mensageiro instantneo multi-protocolo Gaim viram-se obrigados a mudar o nome do software. A empresa alega que o antigo nome do mensageiro instantneo de cdigo aberto era demasiadamente semelhante ao nome de seu prprio programa de mensagens instantneas, o AIM (AOL Instant Messenger). Os novos nomes escolhidos para os componentes do software so Pidgin para o programa em si, Libpurple para a antiga Libgaim, e Finch para o ex-gaim-text (cliente do software em modo texto). O anncio da mudana nos nomes veio junto com o da nova verso do programa, 2.0, que trouxe marcantes mudanas visuais e algumas melhorias de usabilidade.

Gaim vira Pidgin

18

http://www.linuxmagazine.com.br

Gerais | NOTCIAS

Debates sobre o formato ODF


A Associao Brasileira de Normas Tcnicas, rgo responsvel pelo estabelecimento de regras e normas para diversos processos industriais e tecnolgicos e nico representante brasileiro na ISO (International Organization for Standardization), realizar ao longo do ms de junho algumas reunies para debater a respeito dos formatos de documentos ODF e OpenXML. A agenda dos encontros ainda no estava pronta no momento do fechamento desta edio, mas isso ocorrer at o incio do referido ms. Como os debates estaro sujeitos ao acompanhamento pblico, importante a participao de pessoas interessadas nesse processo, de forma a fazer valer sua opinio.

De iniciante a power user em um livro


Livros sobre Linux costumam sofrer de um problema dentre dois: ou so exageradamente superciais, para cobrir todos os assuntos pretendidos dentro dos limites de espao disponveis, ou focam-se em apenas alguns aspectos, deixando os outros, muitas vezes fundamentais, sem cobertura. Joo Eriberto Mota Filho, co-autor do IPS de camada 2 HLBR e mantenedor de alguns pacotes do projeto Debian, no entanto, mostra grande percia ao conseguir informar de forma consistente e ao mesmo tempo concisa, em aproximadamente 500 pginas, muito do que um usurio Linux iniciante necessita para se tornar um power user. Comeando pela histria do projeto GNU, Joo Eriberto discorre sobre todos os assuntos imprescindveis aos usurios iniciantes, como a escolha de uma distribuio, o particionamento de discos, sistemas de arquivo e runlevels. De forma leve e dinmica, sem no entanto ser supercial, o livro fornece uma maior compreenso dos fundamentos tcnicos do sistema. O leitor chega pgina 300 apto a gerenciar mltiplas verses de kernel instaladas no mesmo sistema. Nas pginas seguintes, Joo Eriberto acerta ao tocar no processo de compilao de programas, baseando-se em um exemplo real. Mais adiante, explica conceitos de redes ethernet antes de introduzir a configurao do GNU/Linux como cliente nessas redes, alm de ADSL, e Wi-Fi. Para nalizar, uma seo adicionada na segunda edio lembra que, quando passar a empolgao com as linhas de cdigo subindo na tela durante a compilao ou com o acompanhamento do MRTG, pode-se lanar mo dos diversos jogos disponveis para o GNU/Linux. Os melhores de cada estilo so mostrados com capturas de tela e um breve texto descritivo.

CORPORATE

www.baixebr.org Virtualizao mudar cenrio de TI, diz Gartner


Um estudo do grupo de pesquisas de mercado Gartner concluiu que a virtualizao ser responsvel por mudanas radicais na infra-estrutura de TI nos prximos anos. Segundo o estudo, no apenas o uso da tecnologia da informao sofrer alteraes, mas tambm a forma como os departamentos de TI gerenciam, compram, planejam e cobram por seus servios. At 2010, de acordo com o Gartner, a virtualizao ser a tecnologia mais importante na rea de infra-estrutura de TI. Thomas Bittman, vice-presidente e analista do grupo, armou durante uma conferncia em Sidnei, Austrlia, que a virtualizao requer mudanas mais culturais do que tecnolgicas dentro das empresas. Ainda segundo o analista, o nmero de mquinas virtuais instaladas no mundo todo, estimado em 540 mil ao nal de 2006, deve chegar a 4 milhes at 2009, representando, ainda assim, apenas uma frao do mercado potencial. Em relao s vendas de servidores, Bittman armou que cada servidor virtual tem o potencial de tirar do mercado mais um servidor fsico, pois atualmente, mais de 90% dos usurios de mquinas virtuais tm como motivao a reduo do nmero de servidores, do espao fsico e do custo energtico de mquinas x86 em suas empresas. Acreditamos que o mercado de servidores j diminuiu 4% em 2006 devido virtualizao, que ter um impacto bem maior em 2009. No mercado de virtualizao de desktops, que se encontra dois anos atrasado em relao ao de servidores, segundo o vice-presidente, mas ser ainda maior que este, a motivao outra: isolamento e criao de um ambiente de gerenciamento intangvel pelo usurio, com o potencial de mudar o paradigma de gerenciamento de desktops corporativos.

Insigne investe em relacionamento Ponto Frio economiza e busca novos parceiros 20% com Linux
A Insigne Free Software do Brasil, fabricante da distribuio Insigne Linux, que equipa diversos computadores includos no programa Computador Para Todos, est buscando fortalecer a conana do usurio no sistema operacional. Para isso, a empresa investiu, ao longo de todo o primeiro ano de implantao do programa do Governo, na capacitao dos vendedores e integradores de sistemas responsveis pelas vendas do Computador Para Todos. Segundo uma pesquisa realizada pela prpria Insigne, essas mquinas foram o primeiro computador da maioria dos compradores atendidos pelo programa de incluso digital. A criao de um departamento de ouvidoria na Insigne foi responsvel pelo estreitamento da relao entre o usurio e a fabricante do sistema operacional, mantendo o contato da empresa com o cliente e tambm recebendo sugestes e reclamaes acerca de todos os aspectos do sistema e da empresa. A participao em desktops domsticos e corporativos na Amrica Latina tambm est nos planos da empresa, que est em busca de novos parceiros comerciais e tcnicos no continente. O objetivo, de acordo com a Insigne, credenciar ao menos um parceiro em cada um dos pases vizinhos ao Brasil, de forma a garantir a distribuio e suporte aos usurios dessas localidades. A rede varejista Ponto Frio, segunda maior do Brasil, divulgou o resultado de sua adoo inicial do Librix, distribuio Linux da brasileira Itautec. Segundo a empresa, o diferencial da soluo adotada o alto ndice de estabilidade e a qualidade comprovada. Ao nal dessa primeira fase de adoo do Linux, mais de trs mil estaes de trabalho pelo Brasil foram substitudas por mquinas Linux, renovando-se tambm o parque. Segundo o diretor de tecnologia do Ponto Frio, Paulo Sanz, apenas o custo total de propriedade (TCO, na sigla em ingls) est includo no clculo dessa economia. Portanto, e tendo em conta os ganhos indiretos, como a segurana, por exemplo, pode-se chegar a uma economia ainda maior. A parceria entre as duas empresas envolve no apenas o fornecimento de software e hardware, mas tambm a consultoria tcnica, congurao de pacotes, implementao e homologao, alm do suporte tcnico.

20

http://www.linuxmagazine.com.br

Notcias | CORPORATE

A SanDisk, maior fornecedor mundial de dispositivos ash USB, anunciou o lanamento da appliance TrustWatch, para controle de drives ash. Segundo o anncio da empresa, com o TrustWatch os dispositivos ash mveis, como pen drives, por exemplo, deixam de ser uma ameaa s redes corporativas. A appliance realiza a criptograa e o controle das informaes contidas nos dispositivos ash em toda a rede, e com isso obtm maior segurana contra o vazamento de informaes condenciais da empresa.

Linux em appliance da SanDisk

Workstation HP com Linux a preos reduzidos


A HP do Brasil deseja mostrar aos consumidores que uma workstation pode ser mais valiosa que um desktop high-end. Para isso, reduziu o preo de sua workstation xw4400 de R$ 6000,00 para R$ 3900,00, que ser vendida, a partir do terceiro trimestre, com o sistema operacional Red Hat Enterprise Linux.

Novo VP da Novell para Amrica Latina

Camillo Speroni o novo vice-presidente e gerente geral da americana Novell para a Amrica Latina. Aps atuar na empresa por mais de quinze anos, nas reas de vendas e marketing ao redor do planeta, alm de ocupar cargos executivos regionais e globais, Speroni ter como responsabilidade focar os recursos da companhia e da regio para conquistar consumidores nos mercados de gerenciamento de identidade e Linux.

Notas
Novo servidor da Bull para HPC A Bull lanou recentemente o servidor NovaScale R422, capaz de atingir o dobro do desempenho de seu antecessor, ocupando o mesmo espao. Com um pico de processamento de 5,4 Tops (trilhes de operaes de ponto utuante por segundo), um dos diferenciais do lanamento sua fonte de alta ecincia, que chega a 92%. Comodo para RHEL e CentOS A Comodo, fornecedora de solues de certicao digital e gerenciamento de identidade, anunciou a nova verso de seu conjunto de aplicativos para gerenciamento completo de servidores Zero Touch Linux (ZTL). Como novidade, os aplicativos agora rodam tambm em sistemas operacionais Red Hat Enterprise e CentOS. O ZTL est disponvel gratuitamente, e pode ser baixado em http://ztl.comodo.com. Recuperao de dados em Linux A CBL Tech, empresa canadense especializada na recuperao de dados, est ampliando seu laboratrio em Curitiba. Com o nmero de pedidos crescendo rapidamente, o antigo laboratrio ter de ser ampliado, e est prevista uma rea dedicada exclusivamente a sistemas Linux, devido ao aumento da demanda especca nessa rea. SLED em estaes Sun A Sun divulgou a nova oferta de sistema operacional em suas workstations Ultra 20 e Ultra 40. As mquinas, equipadas com processadores AMD Opteron, j esto sendo comercializadas com o Suse Linux Enterprise Desktop 10, da Novell, alm das opes Solaris 10, Red Hat Enterprise Linux 3 e 4, e Windows XP.

As americanas Red Hat e IBM firmaram uma aliana relativa ao desenvolvimento e comercializao de aplicaes para mainframes. O Red Hat Linux Enterprise ser vendido pela big blue em sua poderosa linha de servidores System z, e as parceiras faro um esforo conjunto na identificao de aplicaes ainda no cobertas pelas ofertas j existentes. Considerada um ataque Novell, principal concorrente direta da Red Hat no mercado de sistemas Linux, a manobra impede que acordo semelhante seja realizado entre a IBM, maior fabricante de mainframes para esse mercado, e a dona do Suse Linux, embora tal parceria j tenha sido rmada no passado.

Red Hat e IBM pelo mainframe

Linux Magazine #31 | Junho de 2007

21

O mercado brasileiro de Software Livre e de Cdigo Aberto

CORPORATE

1 Seminrio Linux Park 2007


Pela primeira vez fora de So Paulo, o Linux Park 2007 reuniu no Rio de Janeiro os principais players do mercado nacional de SL/CA, alm de um pblico qualicado e participativo. por Pablo Hess

s seminrios Linux Park, organizados pela Linux New Media do Brasil, j se consagraram no cenrio corporativo nacional do Software Livre e de Cdigo Aberto (SL/CA). Nas ltimas edies do evento, ao todo centenas de executivos de TI reuniram-se para trocar experincias a respeito do uso do SL/CA em suas empresas. A primeira edio dos seminrios Linux Park 2007 ocorreu dia 26 de abril, pela primeira vez fora da cidade de So Paulo. A sala de convenes do Hotel Sotel, no movimentado bairro de Copacabana, no Rio de Janeiro, foi ocupada pelo pblico numeroso e altamente qualicado (gura 1). Novidade entre os participantes, instituies de ensino fundamental,

Figura 1 Como nas outras edies, o evento contou com a presena de um pblico altamente qualicado.

mdio e superior estiveram presentes, mobilizadas pela Abrasol (Associao Brasileira de Software Livre). Representantes de diversos setores tambm marcaram presena, como varejo, Telecomunicaes, Foras Armadas, Transportes, Indstria e Comrcio de petrleo, Administrao Municipal, Energia, Governo e, naturalmente, Tecnologia. s 9:00, Rafael Peregrino da Silva, Diretor Geral da Linux New Media do Brasil, iniciou seu keynote de abertura (gura 2) do primeiro Linux Park do ano. Aps explicar os benefcios que a tecnologia do Software Livre e de Cdigo Aberto (SL/CA) pode trazer s empresas, Rafael apresentou a Linux New Media, mencionando a atuao internacional da editora, que publica contedo especco sobre SL/CA em 67 pases. Em seguida, o Diretor Geral apresentou os resultados de uma pesquisa realizada pela Linux New Media do Brasil em parceria com a Intel, a respeito do mercado de Linux e SL/ CA no Brasil, reforando o conceito e a importncia do ecossistema no contexto do mercado de TI. Inicialmente, Rafael listou as inmeras plataformas em que o Linux est apto a rodar, incluindo o segmento de

dispositivos embarcados, no qual o sistema do pingim oferece maiores margens de lucro em comparao s solues proprietrias j existentes. Os modelos de distribuio de software tambm foram abordados, assim como as categorias de servios possibilitadas pelo modelo aberto de desenvolvimento. A ntegra da apresentao, incluindo os resultados da pesquisa sobre o mercado nacional de SL/CA, pode ser obtida em [1]. Finalizando o keynote, Rafael exibiu as estatsticas da empresa de pesquisas de mercado Chadwick Martin Bailey, obtidas a partir de questionrios respondidos por gerentes de TI, nas quais possvel constatar que o preo no mais o principal fator na aquisio de solues de TI. O pblico respondeu ao keynote com perguntas tambm de alto nvel. Ao ser questionado a respeito de quais necessidades ainda no esto supridas pelo SL/CA, Rafael foi rpido em citar os softwares de frente de caixa, automao comercial e outros dos quais as pequenas e mdias empresas ainda dependem, e que atualmente no possuem exemplares livres. Peregrino aproveitou para nomear algumas formas de se de-

22

http://www.linuxmagazine.com.br

Linux Park | CORPORATE

senvolver software multiplataforma, atravs do uso de compiladores livres para as linguagens mais usadas em plataformas Windows, e tambm com a adoo do Java, agora livre, que tende a aumentar.

Varejo

O primeiro case do evento foi apresentado por Marco Fragni, Gerente de Servios de TI da rede varejista Ponto Frio (gura 3). Aps corroborar as observaes expostas por Rafael Peregrino minutos antes, armando que o fator decisivo na escolha do Linux no Ponto Frio no foi a ideologia ou o preo, Fragni relatou a histria da segunda maior rede varejista do Brasil. Com 61 anos de existncia e R$ 3,8 bilhes de faturamento em 2006, os 3,2 milhes de clientes ativos da rede distribuem-se por todos os estados das regies Sul, Sudeste e Centro-Oeste, exceo do Mato Grosso do Sul. Listados pelo gerente, os motivos para a adoo do Linux nos 400 servidores e mais de 8 mil estaes

do parque de TI foram sua proteo contra vrus, estabilidade muito superior soluo proprietria anterior, portabilidade o sistema utilizado desde os PDAs at os mainframes e exibilidade. A distribuio empregada para essa herclea tarefa foi o Librix, de fabricao do prprio parceiro de tecnologia do Ponto Frio, a Itautec. Na realidade, segundo relatou Fragni, o conceito de single point of contact foi fundamental nesse aspecto, pois uma mesma empresa responsvel pelo hardware e software. Por enquanto, apenas as lojas com maior volume de vendas foram migradas, com tima aceitao por parte dos usurios; o restante ser migrado na segunda fase da operao, em 2008.

Figura 3 Marco Fragni demonstrou os resultados e a motivao para a migrao para Linux no Ponto Frio.

Figura 2

Se a oferta de jogos sosticados para Linux limitada, o uso da plataforma livre no desenvolvimento desses softwares ainda mais raro. A Hoplon, fabricante de jogos sediada em Florianpolis, SC, ousa desbravar esse terreno. Como mostrou Tarqunio Teles (gura 4), presidente da empresa, o maior desao enfrentado no desenvolvimento de seu primeiro game, o Taikodom, a infraestrutura de TI. Como ocorre com qualquer MMOG (massively multimedia on-line game), o Taikodom ser acessado por centenas, talvez dezenas de milhares de usurios; ao mesRafael Peregrino apresentou em seu keynote mo tempo. Como os resultados da pesquisa da Linux New Media a interatividade a do Brasil em parceria com a Intel, a respeito do mercado brasileiro de SL/CA. base do jogo, poder

Games

de processamento e latncia so os principais aspectos da operao da infra-estrutura. A soluo ideal, segundo o presidente, foi utilizar SOA (arquitetura orientada a servios), servindo o jogo atravs de mquinas virtuais Linux dentro de mainframes IBM, tambm rodando o sistema aberto. O desempenho sob demanda oferecido pela virtualizao fundamental, disse o empolgado Tarqunio. Por exemplo, um cinema superlotado representa reduo dos lucros para seus donos, pois h espectadores potenciais que no conseguem comprar suas entradas. Com o Taikodom, temos que estar preparados tanto para um estrondoso sucesso, com grande presena do pblico, quanto para uma sala praticamente vazia. Esperar um pblico de tamanho pr-denido certamente representaria perda nanceira. O executivo da Hoplon ainda discorreu brevemente sobre a capacidade de produo de softwares de qualidade internacional no Brasil. Segundo ele, um bom game requer quatro fatores (os quatro Cs): criatividade, computadores, competncia tcnica e capital. Felizmente, temos os trs primeiros no Brasil, e a Hoplon conseguiu o capital, armou Tarqunio. Os padres abertos tambm foram uma importante escolha da empresa, pois evitam o aprisionamento ao fornecedor de software.

Linux Magazine #31 | Junho de 2007

23

CORPORATE | Linux Park

Figura 4 Tarqunio Teles discorreu sobre as vantagens de desenvolver jogos extremamente exigentes sobre plataformas abertas.

As excelentes ferramentas livres utilizadas na criao do Taikodom compem mais um beneciado pela Hoplon, no mais puro esprito colaborativo. As melhorias IDE Eclipse, desenvolvidas pelos criadores do game para permitir a realizao de praticamente qualquer tarefa relacionada ao jogo a partir da prpria IDE, sero retornadas comunidade, incrementando assim a qualidade do Eclipse. Queremos que as universidades brasileiras disponham dessas tecnologias e facilidades, armou Teles.

grama de Software Livre do Serpro (PSSL). Depois disso, o uso do sistema operacional de cdigo-fonte aberto no parou de crescer, com a criao de um centro de especializao em SL/CA e a adoo do pingim nas estaes dos funcionrios. Nos servidores, o rgo emprega somente SL/CA, tanto como sistema operacional quanto nos servios oferecidos, que abrangem desde a autenticao at mensagens instantneas e backup. Nessa rea, h softwares de autoria do prprio Serpro que se destacam, como o Babassu, um cliente de mensagens instantneas para LANs, o Sagui, gerenciador de atualizao de estaes, e a Estao Mvel de Acesso (EMA), um liveCD personalizado para cada usurio da rede do rgo. O uso do Linux reduziu nossos custos, aumentou nosso controle de mudana de verses e aumentou a inteligncia dos funcionrios, relatou Campos. Como resultado, o Serpro vai licenciar sob a GPL todas as ferramentas que construmos.

Aps o almoo, o Serpro (Servio Federal de Processamento de Dados) marcou a presena do Governo Federal no primeiro Linux Park de 2007. Em sua apresentao, Mrcio Campos (gura 5) detalhou a relao e a histria do rgo com o SL/CA. Vinculado ao Ministrio da Fazenda, o Serpro tem nove mil usurios distribudos pelo Brasil. Por ser o responsvel pela declarao on-line do imposto de renda no pas, os computadores do rgo processam 3 bilhes de transaes anuais, alm de fornecer as solues de TI e comunicaes para a realizao de polticas pblicas. O Linux comeou a ser utilizado no Serpro em 1999, na unidade de Recife, PE, com a criao do Pro-

Governo

Como no podia faltar numa srie de seminrios no estado responsvel por mais de 70% da produo nacional de petrleo, a Petrobras tambm esteve presente ao evento, com Luiz Monnerat (gura 6) apresentando uma palestra sobre a computao de alto desempenho com clusters Linux na gigante nacional do petrleo. Primeiramente, o engenheiro de sistemas explicou o uso de HPC (high-performance computing) na Petrobras, predomi- Figura 5 Mrcio Campos anunciou que o Serpro vai lanar nantemente para proos softwares desenvolvidos internamente sob a licena livre GPL. cessamento ssmico e

Petrleo

geofsico, atividade da mais alta importncia na explorao petrolfera praticada pela companhia. Monnerat detalhou a histria do envolvimento da empresa com o SL/ CA, que, embora tenha sido atrasada pela reserva de mercado, conseguiu alcanar o patamar internacional j em 1997, quando foi desenvolvida, em parceria com a Unicamp, uma aplicao de simulao de reservatrios com emprego de 12 ns computacionais. Em 2000, a Petrobras j se adiantava s tendncias, armou Luiz. Desde o incio dependemos de nossa equipe interna, movida por entusiasmo e criatividade e tivemos sucesso. O interesse em clusters Beowulf de fato aumentou na empresa, com um cluster de 72 ns montado em 1999. J em 2004, 90% do processamento por HPC da Petrobras era realizado por Beowulfs, armou Luiz. No entanto, esse crescimento da HPC na empresa no foi sempre fcil. Houve um momento em que nosso edifcio atingiu seu limite de energia, e tivemos que alugar um CPD externo para nossos clusters, descreveu o palestrante. A soluo usou processamento remoto, realizado pelas CPUs do CPD, enquanto os dados permaneciam no edifcio original. Em 2004, esse CPD abrigava o maior supercomputador do Brasil, com 1300 ns de processamen-

24

http://www.linuxmagazine.com.br

Linux Park | CORPORATE

desenvolvimento de Cdigo Aberto da empresa surgiu em resposta demanda de seus clientes. A Novell, segundo seu Consultor Snior Ricardo Palandi, j se preocupa com interoperabilidade e padres abertos desde o m da dcada de 90, e ressurgiu no incio O nal do evento foi marcado pelo do sculo atual graas s aquisies memorvel painel de interoperabi- relacionadas ao SL/CA. lidade executado pela primeira Por ltimo, Alejandro Chocolat, vez na histria. Executivos dos mais Country Manager da Red Hat Brasil, importantes players do mercado na- levantou uma importante questo: cional de SL/CA debateram sobre o Como podemos saber como ser, assunto durante mais de uma hora no futuro, o uso dos dados gerados (gura 7), respondendo primeiro s hoje?. Segundo Chocolat, a adoo perguntas do moderador, Rafael Pere- de SL/CA e padres abertos levar grino, e em seguida dando respostas ao crescimento dos servios em TI, o que altamente positivo, na viso s perguntas do pblico. Respondendo primeira per- da Red Hat. gunta, O que a interoperabilidade Posteriormente, cada um dos representa para sua empra?, Cezar representantes respondeu a uma Taurion, Gerente de Novas Tecno- pergunta especca do moderador. logias Aplicadas da IBM, apontou as Falando sobre o formato ODF, a mltiplas formas de interoperabili- IBM reforou a idia de que imdade, ressaltando a atuao da big portante utilizarmos um formato aberto para documentos, a m de blue nesse sentido. A Itautec foi representada por garantir sua compatibilidade com Isabel Lopes, Gerente de Anlise leitores no futuro. A Microsoft foi e Suporte da empresa brasileira, e questionada a respeito do acordo acrescentou que a demanda pela com a Novell, respondendo que a interoperabilidade vem do mercado, parceria garantiu empresa uma tornando-a essencial para a sobrevi- aproximao de clientes antes inatingveis, por estarem fechados com vncia das empresas. O Gerente de Estratgias de Mer- o Linux, nas palavras de Prado, que cado da Microsoft Brasil, Roberto tambm apontou que o OpenXML h Prado, enfatizou que o centro de de se tornar um padro aberto aps aprovao pela ISO. A pergunta dirigida Novell fazia meno sua estratgia para virtualizao, defendida pela companhia como vantajosa econmica, ambiental e tecnicamente. O acordo Novell-Microsoft tambm foi tema da pergunta Red Hat, que armou que inteFigura 6 Luiz Monnerat demonstrou como a Petrobras grar todos os avanos se benecia, desde 1997, de clusters Beowulf com Linux. provenientes deste.

to, e hoje j possui 4600 CPUs e 9 TB de memria, rodando Red Hat Enterprise Linux e CentOS.

Painel sobre interoperabilidade

Figura 7 Pela primeira vez, representantes dos principais players do mercado de SL/CA reuniram-se para debater sobre a interoperabilidade.

Por ltimo, o ansioso pblico nalmente ps suas perguntas aos presentes. Interpelada por Julio Cezar Neves, professor universitrio e analista de suporte de sistemas da Dataprev, a representante da Itautec armou que, como fornecedora de solues proprietrias e livres, a empresa permite que o cliente dena a opo mais vantajosa para seu negcio. Em seguida, o executivo da Microsoft, ao ser questionado a respeito do uso futuro dos cdigos abertos que sua empresa vier a disponibilizar, conrmou que a licena Shared Source, semelhante BSD, ser respeitada em sua totalidade.

Ao trmino do evento, o pblico agraciou os palestrantes e organizadores com calorosos aplausos, rearmando a aceitao e a importncia do Linux Park para o cenrio do SL/CA nacional. Pode-se esperar, portanto, que a prxima edio do evento, dessa vez na capital mineira, tenha igual ou maior sucesso.

Experincia

Mais Informaes
[1] Apresentao de Rafael Peregrino, incluindo pesquisa realizada pela Linux New Media do Brasil: http://www.linuxpark.com. br/arquivos/LP07-1/Mercado_ Linux_e_SL_no_Brasil.pdf

Linux Magazine #31 | Junho de 2007

25

Ron Hovsepian, CEO da Novell

CORPORATE

Cliente em foco
sido dito a respeito do acordo entre a Novell e a Microsoft, muitas dvidas ainda persistem. Voc poderia explicar um pouco melhor como surgiu a idia desse acordo? Ron Hovsepian No incio de maio de 2006, telefonei para Kevin Turner, Chief Operating Ofcer da Microsoft e ex-CIO da rede Walmart, onde foi meu cliente. Falei sinceramente: Kevin, acho que a Microsoft deveria pensar seriamente em comercializar o Linux. Aps o choque inicial, expliquei a ele o motivo dessa colocao, do ponto de vista do cliente, especialmente em relao interoperabilidade, e ele compreendeu de verdade. No dia seguinte, recebi um telefonema de Kevin, extremamente interessado em formular um acordo para que esses planos se concretizassem. Ento, tudo foi pensado tendo em vista o favorecimento do cliente.
Linux Magazine Embora muito j tenha

Meses aps o polmico acordo entre a Novell e a Microsoft, muitos ainda tm dvidas quanto aos assuntos que este engloba. Ron Hovsepian est frente das negociaes, e pode explicar com clareza o que o acordo diz e no diz. por Rafael Peregrino da Silva

tentes, o que exatamente o acordo pretende cobrir? RH Novamente o foco o cliente. O acordo diz que, caso haja litgios legais quanto violao de patentes de alguma das empresas pela outra, nenhum cliente ser envolvido na disputa. As duas companhias ainda tm o direito de processar uma outra por qualquer motivo que seja, porm os clientes de cada uma no sero envolvidos. Esse no um acordo de troca de licenas. Isso o que eu mais desejo que os leitores compreendam. A Novell e a Microsoft no tm, e provavelmente jamais tero, um acordo de troca de patentes. Acreditamos que envolver nossos clientes em questes judiciais faz mal imagem de todas as empresas envolvidas na disputa. Um exemplo disso foi o que ocorreu SCO, que saiu extremamente prejudicada de suas batalhas contra clientes e fornecedores. Atualmente, as patentes de software so uma das maiores ameaas ao Software Livre e de Cdigo Aberto. Qual a posio da Novell a esse respeito? RH H dois aspectos nessa discusso. O primeiro a realidade de cada autoridade reguladora (governos, em ltima instncia), com importantes diferenas entre os diversos pases do globo. O segundo o que ns, como empresa, estamos fazendo.
LM

LM Quanto s indenizaes por pa-

Ns armamos, logo aps fechar o acordo, que usaramos em nossa defesa as patentes que possumos. Com o surgimento, logo em seguida, da Open Invention Network (OIN), ns inserimos nossas patentes nessa realidade, justamente com o objetivo de proteg-las. O acordo com a Microsoft simplesmente cria mais uma proteo, dessa vez para o cliente. Portanto, mais um motivo para o cliente no precisar se preocupar com questes de patentes. Em parte, por isso que a comunidade e o Linux no crescem mais rpido; as empresas e desenvolvedores envolvidos no conseguem por parte suas diferenas e trabalhar para o bem comum. muito mais fcil criar forks e dividir os desenvolvedores e usurios.
LM Concorrentes da Novell, no Brasil, armaram que a empresa vendeu sua alma Microsoft. Alm disso, especula-se bastante que a Novell esteja apenas atuando como um emissrio da Microsoft no mercado do SL/CA. Por ltimo, fala-se que a Microsoft cogitou adquirir sua empresa. Voc poderia esclarecer essas questes? RH A aquisio pela Microsoft completamente especulativa. No posso garantir que seja impossvel, pois ambas so empresas de capital aberto, com seus prprios conselhos diretores e estruturas administrativas. Mas posso dizer que acho muito improvvel. Quanto a vender a alma, volto a armar que busco representar os clientes.

Figura 1 Ron Hovsepian, CEO da Novell.

26

http://www.linuxmagazine.com.br

Entrevista Novell | CORPORATE

Meus clientes desejam uma melhor interoperabilidade, e querem ter apenas uma empresa qual recorrer para o fornecimento e suporte tanto ao Windows quanto ao Linux. O acordo a manifestao disso. Ns no vamos vender nossas almas a ningum. forma tica para eliminar a concorrncia, e a prpria Novell j foi prejudicada por isso. Isso no indicaria algum tipo de risco em acompanhar a empresa nesse tipo de acordo? RH A Microsoft vai competir honestamente em qualquer mercado. Portanto, eu enxergo essa questo como: possvel ter uma relao com uma empresa to competitiva?, e acho que a resposta sim. Creio que o desejo da Microsoft de entrar no mercado de Linux pequeno, se que existe. Porm, o que a motiva aumentar sua presena frente ao cliente. Ento, se ela puder unir-se a ns em favor do cliente, sua estratgia pode car melhor fundamentada. Alm disso, outra conseqncia a melhora da percepo da empresa por parte dos clientes.
LM Aparentemente, a GPLv3, ainda LM A Microsoft no agiu sempre de

Estamos obviamente bastante atentos a isso. Temos participado no Comit B da formulao da GPLv3. Estamos aguardando verses pblicas dos outros comits, para decidirmos como agir. Claro que h algumas opes tcnicas e de negcios das quais podemos lanar mo. O que podemos garantir que a Novell permanecer profundamente comprometida com o Linux e seu mercado.
RH

em formulao, incluir clusulas que impedem a distribuio de seus softwares mediante acordos como o da Novell com a Microsoft. Como a Novell pretende abordar essa limitao, especialmente em relao ao Samba, que provavelmente a adotar?

fazer com outras companhias acordos semelhantes ao que fez com a Novell. Entretanto, a Novell vinha tratando o acordo, ao menos no incio, como algo exclusivo. Houve erros de interpretao por alguma das partes? RH De minha parte, no vejo qualquer problema em acordos que envolvam afastar os clientes dos processos por violao de patentes. Realmente no me importo se a Microsoft quiser fazer acordos semelhantes com nossos concorrentes, ou at mesmo outros acordos, de troca de licenas, por exemplo. No caso da Novell, especicamente, ns possumos um grande arsenal de patentes de alta importncia, o que d um tom diferente s negociaes com a Microsoft. No entanto, ns jamais usaramos essas patentes contra nossos clientes, embora possamos uslas como mecanismo de defesa contra outras empresas. Na realidade, ns discordamos da Microsoft quanto proteo de direitos de propriedade intelectual, e j informamos a eles que no faremos qualquer tipo de reconhecimento de infrao de patentes no Linux. tantes reagiram ao acordo? E os novos clientes? RH Evidentemente estou muito feliz em ver a Novell adquirir novos clientes, que encararam o acordo como uma tima notcia. Como voc pde ver h pouco, eles esto muito satisfeitos com o fato de ns assumirmos a funo de buscar a interoperabilidade, em vez de eles prprios terem de se preocupar com isso. Em troca, eles j zeram pedidos de incluso de recursos de interoperabilidade, que no momento somam vinte itens. Essa proximidade com nossos clientes extremamente bem vinda.
LM Como seus clientes mais impor-

A prpria Microsoft, na minha viso, tem agido corretamente, ouvindo os pedidos de seus clientes e aproximando-se deles. Sua conversa conosco totalmente franca. Por exemplo, quando eles propuseram, h pouco, um acordo de patentes, ns educadamente negamos, pois isso no estrategicamente favorvel a ns. E esse fato no perturbou nosso relacionamento. bem denidos, de colaborao entre as duas companhias. Em cada um deles, quais partes j esto em andamento? RH Temos que pensar como se fossem trs acordos diferentes. Primeiramente, um acordo na rea de negcios, que engloba a participao
LM O acordo possui cinco pilares,

A Novell e a Microsoft no tm, e provavelmente jamais tero, um acordo de troca de patentes.


da Microsoft, com vrias dezenas de milhes de dlares e um esforo de vendas dedicado ao acordo (em Redmond), alm dos US$ 240 milhes em cupons de servios Novell que eles adquiriram e vm distribuindo. O segundo trata da cooperao tcnica, passando por virtualizao e ODF. J publicamos nosso planejamento nessa parte do acordo, e estamos nos primeiros estgios da colaborao. Construmos um tradutor do formato OpenXML para o OpenOfce.org, e vamos continuar avanando nesse campo. No tocante virtualizao, temos que esperar o Vista estabelecer-se e amadurecer para que possamos interagir com ele de forma slida. A terceira nuance do acordo a que trata das patentes, e creio que j falei demais sobre ela. (risos).

mou que a empresa est disposta a

LM Steve Ballmer, da Microsoft, ar-

Linux Magazine #31 | Junho de 2007

27

www.baixebr.org
Simon Phipps, Chief Open Source Officer da Sun Microsystems

CORPORATE

Abrindo e aprendendo
Veja o novo posicionamento da Sun no mercado do Software Livre e de Cdigo Aberto. por Pablo Hess

Como a Sun se envolveu com o Software Livre e de Cdigo Aberto? Simon Phipps Desde 1982, quando a Sun era a startup de Cdigo Aberto do momento, utilizamos o BSD Unix como base para nosso negcio workstations , mas acrescentamos muitos componentes proprietrios nele. Apenas em 2005, quando a Sun lanou o OpenSolaris, voltamos a ter um kernel livre. Em relao diferena entre esses termos, para mim, o Software Livre a base que os desenvolvedores usam para criar softwares que os fazem sentiremse no controle. E esse software precisa ser licenciado de forma a permitir que eles tenham direito de desenvolv-lo, e necessita tambm de regras que facilitem a contribuio por parte dos desenvolvedores. Esse conjunto de regras a respeito da licena e da contribuio o que eu entendo por Cdigo Aberto, que por sua vez como os desenvolvedores inteligentes usam o Software Livre.
Linux Magazine

Por esses motivos, creio que um erro lutar para separar os dois termos. as distribuies do OpenSolaris? SP Temos nossa prpria distribuio (Solaris Express), feita a partir das mesmas ferramentas abertas que os outros grupos usam. No entanto, achamos melhor no interferir na forma como a comunidade de usurios faz uso das ferramentas que disponibilizamos.
LM Como a Sun se relaciona com sua SP Para responder a essa pergunta, LM Qual o envolvimento da Sun com

E quero que os leitores tenham em mente que ns sabemos que vamos errar, mas vamos sempre corrigir nossos erros da melhor forma possvel. A CDDL foi lanada aps a GPLv2. Por que houve esse esforo de criao de mais uma licena livre? SP Costumo caracterizar nossa licena CDDL como a Mozilla Public License (MPL) com falhas corrigidas. Ela no uma nova licena maligna que faz as pessoas cederem direitos que no desejam, nem tampouco exclusiva da Sun. A CDDL uma licena de uso geral, que eu sugiro que se use no lugar da MPL. Antes de criarmos a CDDL, buscamos os motivos da intensa proliferao de licenas livres, e descobrimos que isso ocorre devido a falhas no intencionais na MPL. Quando advogados corporativos encontram uma dessas falhas, armam que necessrio corrigi-la. Porm, recorrentemente, a falha corrigida apenas para sua prpria empresa. Por isso, tivemos o cuidado de corrigir todas essas falhas da MPL para qualquer desenvolvedor ou usurio.
LM LM

comunidade de usurios?

necessrio deixar claro que no existe uma comunidade nica de usurios, pois cada um de nossos produtos tem sua prpria comunidade. Isso se reete na forma como lidamos com cada uma delas, incluindo as licenas e regras adotadas para seus respectivos softwares.
LM

Figura 1 Simon Phipps, Chief Open Source Ofcer da Sun Microsystems.

Quais so as maiores diculdades enfrentadas por vocs na abertura de cdigos? SP Como no existe experincia a esse respeito na indstria, temos que assegurar a qualidade de nosso software, ao mesmo tempo em que garantimos as vantagens e oportunidades que o Cdigo Aberto oferece. Talvez no parea, mas bem complicado (seno impossvel) percorrer esse caminho todo sem cometer erros. Ento, ns acabamos por avanar um tanto e recuar um pouco, tentando sempre assegurar a qualidade e a liberdade do cdigo.

Qual a relao da Sun com o kernel Linux? SP Ns sabemos que o Linux roda muito bem em nosso hardware, e muitas vezes ele o mais apropriado no contexto do usurio. Separar nossas comunidades estupidez, pois temos mais semelhanas do que diferenas. Sabemos que usurios de tecnologia tendem a tornar-se apaixonados pelo que usam, mas isso jamais deve ser transformado em raiva.

28

http://www.linuxmagazine.com.br

CORPORATE

Cezar Taurion
N
as ltimas semanas participei de alguns grandes eventos de Linux e Cdigo Aberto, como o Linux Park e FISL 8.0. E percebi que est cada vez mais latente o amadurecimento da comunidade de Cdigo Aberto. Mesmo no FISL, onde antes havia muito contedo ideolgico e emotividade, hoje a maioria das discusses e apresentaes j so muito pragmticas. Todos saem ganhando com isso. A maturidade do movimento de Cdigo Aberto pode ser simbolizada pelo crescimento e maturidade do Linux, que comeou sem maiores pretenses. O email de Linus Torvalds, em 25 de agosto de 1991, dizia que seu sistema operacional era apenas um hobby, e no se tornaria nada prossional. avam nos projetos de Cdigo Aberto eram 100% voluntrios, o processo de desenvolvimento era anrquico e sem um road map claro e nenhuma preocupao com datas para entrega. Havia tambm a percepo de que os fundamentos econmicos do Cdigo Aberto eram intangveis, a chamada gift economy. Hoje, sabe-se que nos projetos de maior sucesso, cerca de 90% dos desenvolvedores mais ativos esto na folha de pagamento da prpria indstria de software. Tambm existe uma organizao clara, com road map denido (os exemplos da Linux Foundation, Eclipse Foundation e Apache Software Foundation so prova disso) e est claro que existem, sim, modelos de negcio que podem ser construdos em cima do contexto de Cdigo Aberto. A sinergia entre a indstria e a comunidade positiva para todo mundo. Uma pesquisa, ainda em rascunho, em elaborao por pesquisadores da Universidade de Pisa, na Itlia, tem gerado dados muito interessantes. At o momento, ela est demonstrando que a sinergia indstria-comunidade altamente positiva. Os projetos que tm apoio da indstria tm, em mdia, 19 desenvolvedores ativos, contra cinco dos demais projetos. Tambm apresentam maior atividade e demonstram um vis mais focado na tecnologia Java que na famlia C (C e C++). A pesquisa tambm mostra um maior pragmatismo quanto escolha das opes de licenciamento: em 45% dos projetos em que empresas de software participam ativamente, a licena GPL a escolhida, contra quase 75% quando o projeto conduzido apenas pela comunidade. As outras licenas mais usadas so basicamente a BSD, Mozilla Public License e a Apache License. A concluso a que podemos chegar que est ocorrendo um maior amadurecimento da comunidade, com conseqente maior evoluo e aperfeioamento do modelo de Cdigo Aberto. Acredito que estamos no caminho certo.

Cdigo Aberto na idade da razo

A cada dia diminui o nmero de crticos que acham que Cdigo Aberto no srio.
Hoje, Cdigo Aberto uma realidade. Diversos softwares, como o prprio Linux, Apache, Firefox, Eclipse, JBoss, PostgreSQL, MySQL, Sendmail e PHP, para citar alguns, j fazem parte do portflio de software de muitas empresas. O movimento de Cdigo Aberto tem em seu contexto a inovao do processo de desenvolvimento. Existe uma frase emblemtica de Eric Raymond, em seu livro The Cathedral and the Bazaar, que diz: acredito que o golpe mais inteligente e de maior relevncia do Linux no foi a construo do prprio kernel Linux, mas a inveno do seu modelo de desenvolvimento. Este novo modelo de desenvolvimento colaborativo permitiu criar diversos novos e inovadores modelos de negcio que esto afetando e vo afetar ainda mais a indstria de software. A cada dia diminui o nmero de crticos que acham que Cdigo Aberto no srio. Alguns mitos dos seus tempos pioneiros e romnticos comeam a ser eliminados. Quando comeamos a debater Cdigo Aberto com mais intensidade, por volta de 2000 ou 2001, havia quase um consenso de que os desenvolvedores que atu-

O autor
Cezar Taurion gerente de novas tecnologias aplicadas da IBM Brasil. Seu blog est disponvel em http://www-03.ibm.com/de-

veloperworks/blogs/page/ctaurion.

30

http://www.linuxmagazine.com.br

Monitoramento de redes com Nagios

Vigiando os os
Mantenha-se frente dos problemas de rede com a verstil ferramenta de monitoramento Nagios. por Joe Casad e Pablo Hess

CAPA

e voc responsvel por mais de uns poucos PCs, provavelmente j percebeu que seria interessante monitorar o estado da sua rede automaticamente. Voc inclusive j deve ter implementado um sistema como esse. Os administradores prossionais j possuem suas prprias ferramentas de monitoramento preferidas, e os usurios domsticos no precisam se preocupar com isso. Ento, por que dedicar uma matria de capa ao Nagios? O mundo de TI j est cheio de ferramentas comerciais de monitoramento. Na verdade, grande parte do pavilho de exposies durante a Linux World dedicado a ferramentas como essas, que monitoram e gerenciam recursos de rede. Muitas delas so bastante ecientes, e no desencorajamos ningum de usar uma soluo comercial, caso ela seja a ferramenta certa para o trabalho. Entretanto, possvel ir bem longe com o Linux usando produtos livres e gratuitos, e o Nagios um exemplo de ferramenta extremamente eciente que no exige pagamento. Se voc estiver pensando em adquirir uma soluo comercial, voc precisa saber quais so as alternativas livres. Visitando os estandes na LinuxWorld, voc encontrar inmeros folhetos, white papers e documentos tcnicos a respeito de solues comerciais de monitoramento. Por isso, estamos oferecendo uma contrapartida igualmente tcnica a respeito do Nagios. Se voc acredita que no possui qualquer necessidade de usar o Nagios porque s usa o Linux em casa, melhor pensar novamente. Como mostra nosso especialista em Perl Michael Schilli, na seo de programao, possvel usar o Nagios em uma escala menor, com scripts caseiros para vericar temperaturas e enviar alertas com informaes de status. Inclumos tambm o GroundWork, um aplicativo GPL comercial que facilita a congurao do Nagios e oferece uma interface mais organizada para o usurio. Na seo de programao, nosso s do Perl Michael Schilli mostra como criar seus prprios plugins para o Nagios. Continue lendo e desbrave os detalhes do fabuloso Nagios.

ndice
O verdadeiro grande irmo p.32 Trabalho de base p.40

Linux Magazine #31 | Junho de 2007

31

CAPA
Vigilncia de sistemas

O verdadeiro grande irmo


O verstil Nagios monitora sua rede atravs de plugins, e emite alertas antes que haja problemas com mquinas e servios. Aprenda em profundidade como instalar, usar e gerenciar esse cone do monitoramento de redes. por Julian Hein

lgumas solues avanadas de monitoramento de redes so vendidas por milhares de reais, e valem o investimento caso sejam capazes de manter a rede de uma empresa funcionando sem interrupes. Porm, se o objetivo for uma ferramenta verstil e convel que informe o administrador sobre eventos na rede, sem no entanto estourar o oramento, a ferramenta livre de monitoramento Nagios pode ser a soluo. De acordo com o site do Nagios, a proposta desse programa ...informar ao administrador os problemas de rede antes que seus clientes,
Notificao de servio
Notificao de mquina

Contatos

Comando de notificao de mquina Comando de notificao de servio

Comandos

Perodos de tempo

Grupo de Contatos

Notificao

Notific ao de aces so

Grupos de mquinas

Membro de

Mquinas

Servios

Figura 1 Os arquivos de congurao do Nagios freqentemente referem-se a outros arquivos de congurao.

usurios nais ou chefes o faam. O programa monitora as mquinas da rede, vericando sintomas de possveis problemas. Pode-se us-lo para monitorar servios de rede, recursos das mquinas (como carga do processador e espao disponvel em disco) e fatores ambientais, como a temperatura na sala dos servidores. O Nagios facilmente extensvel pode-se faz-lo monitorar quase todos os problemas de rede potenciais. possvel exibir sua sada em um grco ou numa tabela HTML. At mesmo alertas podem ser enviados atravs dele, caso aparea algum problema. O Nagios no exatamente uma soluo de monitoramento completa, mas sim um daemon que gerencia o processo de monitoramento (gura 1). A congurao do programa dene as mquinas e servios que ele deve monitorar, e programas pequenos e independentes, conhecidos como plugins, obtm e retornam as informaes de status. Vrios plugins pr-denidos esto disponveis no site, e tambm possvel criar os seus prprios.

As mquinas e servios monitorados pelo Nagios so todos denidos atravs dos arquivos de congurao do software. Esses arquivos contm ainda conguraes do daemon do programa propriamente dito, assim como informaes sobre os contatos que recebero os alertas dele.

No momento da redao deste artigo, a verso estvel ideal para redes pequenas e mdias mais atual do Nagios era a 2.7. J para monitorar grandes redes, com 300 ou 400 mquinas, pode ser mais interessante experimentar a prxima verso, 3.0, que promete grandes avanos em desempenho, principalmente em ambientes avantajados. possvel baixar o Nagios a partir da pgina do projeto[1]. No entanto, muitas distribuies Linux, como Debian[2], Fedora, Red Hat Enterprise e Gentoo incluem uma verso do programa, e pode-se baixar os pacotes do Suse a partir dos populares mirrors FTP. Muitos usurios acham mais fcil compilar o progra-

Instalao

Membro

32

de

http://www.linuxmagazine.com.br

Nagios | CAPA

ma a partir do cdigo-fonte, pois isso permite uma instalao mais rpida de patches de segurana. Para compilar seu prprio Nagios, necessrio instalar os pacotes apache , apache2 , libgd , libjpegdevel e openssl-devel , incluindo suas dependncias. Os comandos a seguir preparam o servidor para a instalao:
#useradd nagios #groupadd nagios #mkdir /usr/local/nagios #chown nagios:nagios #/usr/local/nagios #useradd nagcmd #groupmod -A nagcmd www-data #groupmod -A nagcmd nagios

Exemplo 1: Congurao do objeto Timeperiod


01 define timeperiod { 02 timeperiod_name nonworkhours 03 alias outside working hours 04 monday 00:00-09:00,17:00-24:00 05 tuesday 00:00-09:00,17:00-24:00 06 wednesday 00:00-09:00,17:00-24:00 07 thursday 00:00-09:00,17:00-24:00 08 friday 00:00-09:00,17:00-24:00 09 saturday 00:00-24:00 10 sunday 00:00-24:00 11 }

localizados no subdiretrio contrib do pacote do plugin. Ser necessrio copiar esse tipo de plugin para /usr/local/nagios/libexec.

A etapa a seguir descompacta e instala o cdigo-fonte:


#tar zxvf nagios-2.7.tar.gz #cd nagios-2.7 #./configure --with-commandgroup=www-data #make all

O comando ./configure -help mostra um panorama dos parmetros disponveis para a compilao. Aps termin-la, pode-se instalar o aplicativo digitando-se make install. Outros comandos make instalam um script de inicializao, um exemplo de congurao e um pipe para comunicao entre as interfaces web e o daemon:
#make install-init #make install-config #make install-commandmode

O arquivo central de congurao, /usr/local/nagios/etc/nagios.conf, contm conguraes globais do daemon do programa. Um arquivo de congurao de exemplo gerado automaticamente quando se compila os binrios. Quando se utiliza uma verso empacotada do software, ou quando a verso foi prinstalada no sistema, o arquivo de congurao deve estar localizado nos diretrios do Nagios (veja a seo Arquivos de congurao, mais adiante, para mais informaes sobre arquivos de exemplo). O arquivo de congurao contm mais opes de congurao do que este artigo pode

Congurao

cobrir. A documentao completa do arquivo de congurao est disponvel em[3]. Uma das conguraes mais importantes nesse arquivo de conguraes globais uma referncia ao(s) arquivo(s) de denio de objetos que ser usado pelo programa:
cfg_file = nome_do_arquivo

O arquivo de denio de objetos contm a maioria das informaes especcas que descrevem as mquinas e servios a serem monitorados. Dependendo do tamanho e da complexidade da rede em questo, pode ser interessante espalhar essas informaes de objetos ao longo de diversos arquivos. Nesse caso, possvel usar a diretiva de congurao cfg_file mltiplas vezes, ou aplicar a diretiva cfg_dir

Quadro 1: Objetos do Nagios


O Nagios necessita de ao menos uma entrada de congurao para os seguintes objetos: Timeperiods: perodos de tempo para monitoramento e noticao; Commands: checagens de monitorao e noticao; Contacts: contatos e emails; Contactgroups: grupos de contatos; Hosts: dispositivos e suas conguraes; Hostgroups: grupos de hosts; Services: congurao de servios de monitoramento. Os seguintes objetos no so estritamente necessrios, mas so oferecidos como opes de congurao estendidas: Servicegroups: grupos de servios monitorados; Dependencies: denio de dependncias entre mquinas ou servios; Escalations: regras de escalao para noticaes; ExtendedInformation: conguraes estendidas para a interface web.

O pacote do Nagios propriamente dito no contm plugins, sendo necessrio instal-los separadamente. possvel baix-los a partir do site[1]. A verso 1.4.6 dos plugins a atual. Entretanto, vrios plugins no podero ser compilados, a menos que sejam especicados determinados arquivos de cabealho ou bibliotecas clientes instaladas no sistema. Alm disso, alguns plugins s esto disponveis como scripts Perl, ou esto

Linux Magazine #31 | Junho de 2007

33

CAPA | Nagios

Exemplo 2: Denio de comando


01 define command { 02 command_name check_smtp 03 command_line $USER1$/check_smtp -H $HOSTADDRESS$ -p $ARG1$ -w $ARG2$ -c $ARG3$ 04 }

Exemplo 3: Contatos no Nagios


01 define contact { 02 contact_name jdoe 03 alias Jon Doe 04 service_notification_period nonworkhours 05 host_notification_period nonworkhours 06 service_notification_options w,u,c,r 07 host_notification_options d,u,r 08 service_notification_commands notify-by-email 09 host_notification_commands host-notify-by-email 10 email jdoe@example.com 11 }

Exemplo 4: Denio de Host


01 define host { 02 host_name 03 alias 04 address 05 parents main-switch 06 check_command 07 max_check_attempts 08 check_period 09 contact_groups 10 notification_interval 11 notification_period 12 notification_options 13 } linux1 Linux Server 1 192.168.1.254 check-host-alive 5 always linux-admins 30 always d,u,r

Exemplo 5: Congurao de checagem de servio


01 define service { 02 service_description 03 host_name 04 check_command 05 max_check_attempts 06 normal_check_interval 07 retry_check_interval 08 check_period 09 notification_interval 10 notification_period 11 notification_options 12 contact_groups 13 } smtp check linux1 check_smtp!25!10!20 3 5 1 always 30 always w,c,r linux-admins

para especicar um diretrio com os arquivos de denio de objetos:


cfg_dir = nome_do_diretorio

Essencialmente, um objeto do Nagios qualquer elemento que o programa precise conhecer, como um servio que deva ser monitorado, um comando a ser executado, uma mquina em operao na rede ou um

contato selecionado para receber noticaes em caso de emergncias. O quadro 1 lista alguns dos possveis objetos no arquivo de denio de objetos. O site oferece uma descrio completa de objetos pr-denidos[4]. A seguir esto descritos alguns dos mais importantes. As conguraes de Timeperiod (perodo de tempo) denem quando monitorar ou noticar. O objeto Ti-

meperiod mostra as informaes de perodo de tempo (exemplo 1). A propriedade mais importante associada a ele timeperiod_name, que consultada por vrais outras funes de congurao do Nagios. A interface web utiliza o apelido estendido (extended alias name). Valores de tempo individuais sempre referemse a um dia da semana. prefervel usar um arquivo de configurao separado para perodos de tempo, como /usr/local/ nagios/etc/objects/timeperiods.cfg. Inicialmente, sero necessrias trs definies das situaes mais comuns, como por exemplo, always, workhours e nonworkhours. O Nagios refere-se a qualquer tipo de definio combinada que chame um programa ou script de shell como um comando. No exemplo 2 , o objeto de comando manda-o chamar o plugin check_ smtp com parmetros especficos. $HOSTADDRESS$ refere-se a uma macro que recebe os dados apropriados ao ser chamada. O parmetro de plugin -p significa o nmero da porta SMTP, e -w e -c introduzem os limites WARNING e CRITICAL. A informao passada para o plugin depende de qual esteja sendo usado. O monitoramento HTTP exige parmetros como o nome do servidor, caminho, nome do usurio e senha, enquanto uma verificao por ping apenas requer um endereo IP. A forma mais fcil de descobrir quais parmetros so necessrios para um plugin do Nagios executar o plugin com o parmetro --help. O programa define as pessoas e endereos de contato com o objeto Contacts (veja o exemplo 3 ). Os contatos so usados principalmente em caso de problemas, mas tambm so utilizados para atribuir privilgios de acesso interface web.

34

http://www.linuxmagazine.com.br

Nagios | CAPA

Quadro 2: Monitoramento de servidores Windows com o Nagios


Obviamente o Nagios oferece vrias solues para monitorar servidores Windows. Alm do NRPE, que possui uma verso para Windows, o NsClient faz referncia ao nome NetSaint, que era como o Nagios se chamava at 2001. O NsClient++ um sucessor que combina as funcionalidades das duas alternativas em um nico agente. A instalao extremamente simples: aps descompactar o arquivo ZIP, s necessrio copiar os arquivos para um local adequado no servidor Windows, como C:\Arquivos de Programas\NsClient, e modicar as conguraes presentes em @NSC.ini para reetirem as exigncias locais. Em particular, necessrio ativar os mdulos individuais no incio do arquivo de congurao. Feito isso, o administrador do Windows precisa reiniciar o servio atravs do Iniciar | Executar, digitando C:\Arquivos de Programas\NsClient++ /install e, em seguida, net start nsclient++. Como o agente contm ambos seus antecessores, possvel utilizar qualquer um dos dois plugins no servidor Nagios, ou seja, check_nt ou check_nrpe. O primeiro possui valores para os parmetros CLIENTVERSION, CPULOAD, UPTIME, MEM-USE, USEDDISKSPACE, SERVICE-STATE e PROCSTATE, alm de todos os contadores PerfMon do Windows. Uma chamada para consultar o status de um servio do Windows assim: ./check_nt -H <endereo_da_mquina> -p <porta> -s <senha> -v SERVICESTATE -l <servio> A forma mais fcil de se descobrir o nome dos servios consultados no Windows atravs das propriedades do gerenciador de servios do Windows, que ca em Iniciar | Administrao | Servios. Enquanto a maioria dos outros parmetros auto-explicativa, os contadores de performance, ou performance counters, precisam de alguma explicao. O monitor de desempenho do Windows uma interface central para valores de desempenho. Os administradores podem us-lo tanto para consultar dados internos de desempenho do Windows quanto para dados de vrias outras aplicaes do servidor, como o Exchange Server ou o SQL Server. Para isso, a sintaxe : #./check_nt -H <endereo_da_mquina> -p <porta> -v COUNTER -l \\Performanceobject(Instance)\\Indicador O valor de retorno pode ser reformatado para a sada no plugin.

O exemplo 3 o primeiro relacionado a um objeto denido com outro objeto: por exemplo, nonworkhours denido no objeto Timeperiods (exemplo 1). notify-by-email e host-notify-by-email representam comandos que o Nagios utiliza para passar mensagens. Para evitar a necessidade de listar grandes nmeros de contatos

individuais, pode-se acrescentar os contatos aos grupos:


define contactgroup { contactgroup_name linux-admins alias Linux administrators members jdoe,mtestmann,wadmin }

Qualquer dispositivo que deva ser monitorado precisa ser denido como uma mquina (exemplo 4).

As propriedades mais importantes de uma mquina so seu nome e endereo IP. A varivel max_check_ attempts dene com que freqncia se deve repetir uma vericao antes de o Nagios considerar uma falha e noticar o administrador. Enquanto isso, contact_groups especica grupos a noticar em caso de falha. Nosso exemplo utiliza um grupo de contato que conguramos antes. Mquinas individuais podem ser coletadas em grupos arbitrrios de mquinas para um gerenciamento facilitado:
define hostgroup { hostgroup_name linux-servers alias Linux Server members linux1,linux2,tux,webse rver,mybox }

Figura 2 O Nagios fornece resumos detalhados das informaes de status.

Assim que tiverem sido definidas as configuraes de tempo, mquinas e contatos, j ser possvel definir os servios. Uma definio de servios especifica os recursos a serem monitorados. a que tudo que especificamos comea a se unir (exemplo 5).

Linux Magazine #31 | Junho de 2007

35

CAPA | Nagios

Exemplo 6: Congurao da interface web do Nagios


01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory /usr/local/nagios/sbin> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName Nagios Access AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory> Alias /nagios /usr/local/nagios/share <Directory /usr/local/nagios/share> Options None AllowOverride None Order allow,deny Allow from all AuthName Nagios Access AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd.users Require valid-user </Directory>

Em controles normais e, acima de tudo, para verificar o status atual de todos os servidores monitorados, o Nagios traz uma interface web (figuras 2 e 3)integrada, que deve ser integrada instalao local do Apache. Se o Apache2 estiver sendo utilizado, a melhor forma criar um arquivo chamado /etc/ apache2/conf.d/nagios com as entradas mostradas no exemplo 6. Para permitir que os usurios entrem na interface web do programa, necessrio denir entradas de conta em htpasswd.users. Se esse arquivo no existir, ser necessrio cri-lo utilizando o htpasswd:
touch /usr/local/nagios/etc/ htpasswd.users htpasswd /usr/local/nagios/etc/ htpasswd.users jdoe

Interface web

O exemplo 5 tambm demonstra como passar parmetros para um comando de verificao. importante notar que os parmetros ficam separados por !. Isso passa os valores para as macros $ARG1$ , $ARG2$ e assim por diante, que em seguida so passados para o plugin. Em operaes normais, faz sentido distribuir a configurao do Nagios atravs de mltiplos arquivos individuais e, dependendo dos requisitos do projeto, organizar os arquivos em vrios subdiretrios. Por enquanto, provavelmente um arquivo nico deve ser suficiente. As fontes do Nagios incluem um arquivo chamado localhost.cfg ou minimal.cfg, que perfeito para seus primeiros passos. Aps criar ou modificar os arquivos de configurao do programa, possvel realizar uma verificao da configurao. A opo -v o faz verificar a configurao completa para erros de sintaxe e, sobretudo, certificar-se de que as referncias a outros objetos possam ser resolvidas da forma cor-

reta. Como argumento, o Nagios espera apenas o nome do arquivo de configurao principal:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Em caso de sucesso, a vericao da congurao exibe uma mensagem: Things look okay. No serious problems were detected during the pre-ight check. possvel iniciar o daemon com o seguinte comando: /etc/init.d/nagios start. Se o daemon j estiver rodando, pode-se simplesmente mand-lo recarregar-se, para que ele utilize a nova congurao /etc/init.d/nagios reload. Presumindo que o Nagios no exiba mensagens de erro, agora o daemon foi iniciado para monitorar as mquinas e servios que foram congurados. Para descobrir quais etapas o programa est realizando no momento, pode-se vericar o arquivo de log tail -f /usr/local/ nagios/var/nagios.log.

Os nomes de usurios precisam estar de acordo com os contatos criados anteriormente, para que a interface web possa identicar os usurios corretos e mostrar-lhes apenas as mquinas atribudas a eles. O arquivo cgi.cfg lida com outras funes da interface web e conguraes de privilgio.

Iniciando o daemon

Um plugin do Nagios essencialmente um pequeno utilitrio que obtm informaes do sistema. Como mencionado antes, h toda uma coleo de plugins disponveis para download no site. Num site do SourceForge dedicado ao desenvolvimento de novos plugins [5], existem links para plugins de terceiros e informaes sobre a criao de seus prprios plugins. Como os plugins so programas independentes, pode-se simplesmente rodar um plugin na linha de comando para test-lo. bom trabalhar sob a conta de usurio

Plugins

36

http://www.linuxmagazine.com.br

www.baixebr.org
do servidor do Nagios, j que ser ela a executar os plugins. A linha de comando diferente para cada plugin, como cada tipo de vericao pode demandar parmetros diferentes. Dito isso, todos os plugins devem possuir uma opo -h ou --help implementada. Chamar a ajuda oferece um breve resumo das vrias opes. Considerando o plugin check_disk:
nagios# ./check_disk -w 50% -c 20% -p /$$ DISK OK - free space: / 45256 MB (64% inode=98%); | /=25137MB;37080 ;59328;0;74160

Nagios | CAPA

Figura 3 O Nagios mantm um resumo dos eventos de noticao.

Os plugins fornecem um valor de cdigo de retorno que no fica diretamente visvel por padro. Pode-se mostrar o cdigo de retorno digitando-se echo $?. Os cdigos de retorno numricos representam os seguintes resultados: 0 para OK, 1 para WARNING, 2 para CRITICAL e 3 para UNKNOWN. A segunda parte da sada do plugin so os resultados visveis exibidos na interface web. Vrios plugins traduzem o valor de retorno para uma mensagem clara, como a DISK OK mostrada acima. Entretanto, no se deve confiar cegamente nisso em caso de dvida, importante verificar o cdigo de retorno. A terceira parte dos resultados ca separada do resto por um pipe (|). O Nagios chama essa seo de dados de performance. Os plugins processam esses valores, convertendo-os em tabelas ou grcos que demonstram as mudanas. Se o programa no conseguir encontrar o plugin, ou se este no for executvel, ou ainda se o plugin no retornar a resposta correta para o daemon, a interface web exibe um status de UNKNOWN (desconhecido) e uma mensagem de erro Return Code of 127 is out of bounds.

Os parmetros listados anteriormente, -w e -c, esto denidos para a maioria dos plugins, pois tambm estabelecem os limites para WARNING e CRITICAL. Nosso exemplo especica o limite de espao livre em disco em 50 ou 20%. Ao testar um plugin na linha de comando, necessrio escolher um limite bem baixo, exatamente para vericar se o plugin realmente retorna o status esperado. Se os resultados da preparao e das checagens estiverem a contento, pode-se acrescentar uma entrada referente ao plugin na configurao do Nagios:
define command { command_name check_disk command_line $USER1$/check_disk w $ARG1$ -c $ARG2$ -p $ARG3$ }

macros, que so cadeias de caracteres iniciadas pelo smbolo $; a cadeia substituda pelos dados em tempo de execuo do programa. Macros do tipo $ARGx$ so mais importantes, pois so utilizadas para armazenar parmetros de definies de servio.

Ao monitorar recursos remotos, o Nagios diferencia as checagens diretas das indiretas. As diretas so iniciadas localmente no servidor Nagios. Quase todas as vericaes relacionadas a protocolos de rede, como ping, DNS, SMTP e HTTP, so feitas como checagens diretas que simulam o acesso como qualquer cliente normal:
nagios# ./check_http -H linuxmagazine.com.br -w 5 -c 10 HTTP OK HTTP/1.1 200 OK - 78673 bytes in 0.366 seconds

Monitoramento remoto

No tpico xar os limites de valores de alerta ou os nomes das parties no arquivo de congurao; em vez disso, normalmente recomendvel especicar esses valores ao denir o servio. Para preservar o mximo possvel de flexibilidade, o Nagios utiliza

Checagens indiretas so usadas caso o plugin precise requisitar dados de uma mquina remota. Ento, o programa precisa conectar-se mquina antes de exe-

Exemplo 7: Exemplos do NRPE


01 02 03 04 command[check_users]=@libexecdir@/check_users -w 5 -c 10 command[check_load]=@libexecdir@/check_load -w 15,10,5 -c 30,25,20 command[check_disk1]=@libexecdir@/check_disk -w 20 -c 10 -p /dev/hda1 command[check_disk2]=@libexecdir@/check_disk -w 20 -c 10 -p /dev/hdb1

Linux Magazine #31 | Junho de 2007

37

CAPA | Nagios

cutar o plugin diretamente nela. Para isso, a forma mais fcil criar conexes SSH entre o servidor Nagios e os clientes, sem atribuir senhas, e usar o SSH para chamar os plugins. O pacote de plugins fornece um plugin chamado check_by_ssh para esse propsito. Para iniciar o plugin check_disk remotamente em outro servidor, necessrio encapsul-lo no check_by_ssh. A denio na linha de comando ca assim:
define command { command_name check_ssh_disk command_line $USER1$/check_by_ ssh -t 60 -H $HOSTADDRESS$ -C $USER2$/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

os plugins nos servidores a serem monitorados. O NRPE consiste em um daemon para os clientes Nagios e um plugin de checagem para o servidor. interessante compilar o plugin diretamente no servidor Nagios. Aps descompact-lo, digite simplesmente ./configure && make all. Isso cria o arquivo check_nrpe, que depois pode ser copiado para o diretrio local com os outros plugins, antes de se prosseguir congurao de um comando respectivo:
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }

do programa, a linha de comando para isso nagios# ./check_snmp -H


<endereo_ip> -o <OID> -w warning -c critical -m :. O ltimo argumento, -m :, importante, mas

Figura 4

O comando check_by_ssh iniciado localmente. Ele estabelece uma conexo com o servidor, e em seguida executa o plugin check_disk, que se encontra instalado no servidor. O caminho dos plugins em servidores remotos guardado na varivel $USER2$, para que no seja necessrio especic-lo. Outra opo o Nagios Remote Plugin Executor (NRPE), um programa clienteservidor para o Nagios que executa plugins remotos. Para us-lo A interface WAP do Nagios capaz de necessrio enviar um alerta para instalar o sertelefones celulares vidor NRPE, aptos a acessar a Internet. assim como

Para economizar esforo, pode-se instalar o servio NRPE nos clientes a partir dos pacotes, ou copi-lo do servidor Nagios. Recomenda-se executar o NRPE com o inetd ou xinetd, e usar um TCP wrapper. O arquivo README do pacote NRPE contm instrues. Ao nal, deve-se informar as checagens que se deseja que o NRPE faa remotamente, em nrpe.cfg (exemplo 7). O arquivo sample contm exemplos (veja o exemplo 6). Embora o NRPE seja a ferramenta ocial para checagens remotas, ele possui algumas desvantagens em comparao com o SSH; por exemplo, ele necessita de um daemon adicional, e tambm exige a abertura de mais uma porta.

mal documentado. Ele impede que o plugin tente carregar MIBs instalados localmente. Isso ocasiona mensagens de erro com todas as verses do plugin. Entretanto, necessrio encontrar os OIDs certos manualmente, seja verificando os MIBs do vendedor ou por tentativa e erro com o snmpwalk. Todo esse monitoramento de rede intil se o administrador no for noticado em caso de problemas. Mais uma vez, o Nagios possui uma coleo de sosticadas funes de alerta. A cada vez que um erro detectado em algum local do sistema, ele inicia um complexo processo de anlise. O software comea vericando se algum est ciente do erro (veja max_check_attempts), se a parada do servio foi planejada pela interface web e se o alerta est ativado para a hora atual do dia (veja notication_interval).

SNMP

O SNMP a ferramenta ideal para coletar informaes de hardware remoto. Existe um pacote de plugin para o Nagios que fornece o check_snmp. Pode-se usar o check_snmp para se obter valores atravs do OID do MIB do vendedor. Seguindo o padro familiar de outros plugins

Aps fazer isso, o Nagios descobre os contatos atribudos mquina, e confere suas conguraes de noticao para saber se os contatos devem ser noticados; em caso positivo, que tipo de noticao esperado (veja notication_options). Finalmente, o programa verica se o contato deseja ser avisado imediatamente (veja notication_period). Graas a esse esquema, ele suporta um controle altamente granular das noticaes. Dependendo da mquina, hora e contato, pode-se enviar diferentes mensagens atravs de canais distintos. Para enfocar esse mecanismo ainda mais, as escalas oferecem aos administradores a possibilidade de alterar a forma como os alertas subseqentes para programas j existentes sero feitos.

Contatos

38

http://www.linuxmagazine.com.br

Nagios | CAPA

Para enviar de fato um alerta, o Nagios manda um comando similar aos de checagem. Em outras palavras, as noticaes no esto xadas no Nagios. Em vez disso, o programa executa um comando ou script de shell (exemplo 8). A parte importante da configurao do alerta so os dados enviados ao programa de email. Mais uma vez so usadas macros para transmitir os dados. A documentao do Nagios inclui uma lista completa de macros disponveis.

Exemplo 8: Congurao de noticao


01 define command { 02 command_name notify-by-email 03 command_line /usr/bin/printf %b $$ 04 ***** Nagios 1.0 *****\n\n $$ 05 Notification Type: $NOTIFICATIONTYPE$\n\n $$ 06 Service: $SERVICEDESC$\n $$ 07 Host: $HOSTALIAS$\n $$ 08 Address: $HOSTADDRESS$\n $$ 09 State: $SERVICESTATE$\n\n $$ 10 Date/Time: $DATETIME$\n\n $$ 11 Additional Info:\n\n $$ 12 $OUTPUT$ | /usr/bin/mail -s $$ 13 ** $NOTIFICATIONTYPE$ alert -$HOSTALIAS$/$SERVICEDESC$ $$ 14 is $SERVICESTATE$ ** $CONTACTEMAIL$ 15 }

Arquivos de congurao
Como ponto de partida para nossos experimentos, o Nagios inclui vrios arquivos de exemplo. O arquivo minimal. cfg simplesmente implementa algumas checagens para o localhost, enquanto bigger.cfg possui exemplos mais sosticados. Entretanto, mesmo que s se queira monitorar uma pequena rede, faz sentido dedicar-se organizao de sua congurao de objetos. Distribuir os objetos ao longo de arquivos separados de acordo com o tipo de objeto altamente recomendvel. Por exemplo, pode-se usar os arquivos maquinas.cfg, servicos.cfg, contatos.cfg. Todavia, at mesmo essa abordagem pode rapidamente tornarse difcil de acompanhar, e no h motivos reais para se manter tipos de objetos individuais separados. O Nagios encontra os objetos independentemente de quantos arquivos (ou at diretrios) separados estejam em uso, contanto que seu arquivo nagios. cfg aponte para os locais corretos. interessante usar subdiretrios para estruturar logicamente uma con-

gurao. Por exemplo, guardar as conguraes globais e de rede nos nveis mais altos. O nvel seguinte conteria, ento, subdiretrios individuais para cada cliente, departamento ou tipo de dispositivo. Ento, pode-se incluir no arquivo de congurao os objetos relacionados, como uma mquina, junto com os servios e contatos associados a ela. O melhor mtodo organizar os objetos de forma a facilitar sua procura.

adequado para elas, ou ao menos um que possa ser usado como ponto de partida para a criao da sua prpria soluo personalizada. No se esquea, claro, de compartilhar seu novo plugin com a comunidade.

Mais Informaes
[1] Pgina do Nagios: http://www.nagios.org [2] Repositrio do Debian com pacotes do Nagios: http://www.backports.org [3] Documentao do arquivo de configurao do Nagios: http://nagios.sourceforge. net/docs/2_0/configmain.html [4] Objetos do Nagios: http:// nagios.sourceforge.net/ docs/2_0/xodtemplate.html [5] Plugins do Nagios: http:// nagiosplug.sourceforge.net/ [6] Plugins e add-ons: http:// www.nagiosexchange.org

O Nagios oferece muito mais do que se pode descrever em um artigo. Inmeros recursos e projetos adicionais oferecem aos administradores a possibilidade de acrescentar funes de monitoramento para qualquer cenrio plausvel. Ele tambm suporta sistemas de noticao alternativos que usem SMS, e pode at realizar chamadas telefnicas (gura 4). O portal de programas adicionais (add-ons)[3] o melhor lugar para se procurar extenses e plugins do programa. No importa quo incomuns sejam suas necessidades, h um plugin

Concluses

O autor
Julian Hein o fundador e CEO da empresa alem NETWAYS (http://www.netways. de), que atua na implementao e operao de redes complexas h mais de dez anos.

Linux Magazine #31 | Junho de 2007

39

CAPA

GroundWork

Afonso Lima - www.sxc.hu

Trabalho de base
O Nagios possui uma interface web bastante bsica. O GroundWork uma interface mais amigvel e com visual prossional para essa ferramenta. por James Mohr

o instalar um sistema Nagios[1], uma soluo para facilitar o trabalho de congurao usar um script para adicionar as mquinas e servios aos arquivos responsveis por isso. Esse mtodo rpido e fcil para administradores experientes que preferem trabalhar com o vi do que clicar em uma interface grca. Porm, se a nica necessidade for realizar uma pequena mudana, pode ser deveras incmoda a obrigatoriedade de se fazer login na mquina e caminhar pelos diretrios at encontrar um arquivo de congurao especco. Nesses casos, uma interface grca muito til, principalmente quando depende apenas de um navegador web.

Vrios projetos j tentaram criar uma interface assim para o Nagios, com variados graus de sucesso. Infelizmente, alguns desses projetos perderam fora e no conseguiram acompanhar o desenvolvimento dessa grande ferramenta de monitoramento. Uma interface para o Nagios que ainda est em desenvolvimento ativo o GroundWork[2]. Esse software , ao mesmo tempo, uma empresa e um projeto de software de cdigo aberto. Como empresa comercial, a GroundWork naturalmente tem como meta o lucro. Eles oferecem duas verses comerciais de seu produto, alm da verso de cdigo aberto disponvel para download a partir do SourceForge[3].

Leitores cautelosos devem estar cticos quanto a um projeto de cdigo aberto que tambm est disponvel como produto comercial, pois, nesses casos, a verso livre costuma ser apenas uma amostra da verso comercial, com funcionalidade bastante reduzida. Porm, felizmente o GroundWork Monitor no se enquadra nessa descrio. Ele oferece toda a funcionalidade necessria para configurar e gerenciar a sua instalao do Nagios. No ncleo do sistema fica a plataforma de aplicao Guava, que suporta a interao com usurios atravs de AJAX. Isso significa que as pginas so atualizadas sem a necessidade de serem comple-

40

http://www.linuxmagazine.com.br

GroundWork | CAPA

tamente recarregadas. O Guava tambm fornece os aspectos de apresentao do sistema, assim como os recursos relacionados segurana do usurio. O Guava propriamente dito um projeto de cdigo aberto disponvel no SourceForge[4]. A verso atual do GroundWork baseia-se no Nagios 2.5. Alm de oferecer uma interface de usurio, o GroundWork traz um banco de dados MySQL para informaes sobre eventos, em contraste com a soluo baseada em texto puro oferecida pelo Nagios pelado. Alm disso, o GroundWork inclui o pacote de plugins do Nagios, que costuma exigir o download em separado.

As vrias fontes de documentao do GroundWork listam requisitos mnimos de hardware diferentes, e muitas vezes at contraditrios. Por exemplo, um local informa que a verso de cdigo aberto exige apenas um nico processador de 2,8 GHz, enquanto outro afirma que so necessrios dois desse. Naturalmente, a quantidade de memria e CPUs exigida depende do nmero de dispositivos que se deseja monitorar, e com que freqncia. Entretanto, seria interessante ter orientaes mais consistentes. A verso aberta do programa est disponvel em [3] como um pacote RPM normal, uma imagem ISO de CD, ou uma appliance do VMware. A verso baixada para nossos testes foi a 5.0.5, tanto da imagem ISO quanto dos pacotes RPM. Iniciando a partir do CD, o usurio precisar informar sua configurao de rede, e logo em seguida j poder utilizar o GroundWork. A verso em pacote RPM s compatvel com o Red Hat Enter-

Fcil Instalao

Figura 1 Janela de denio de servio no GroundWork.

prise, o Suse Linux Enterprise e o CentOS 4. Em nossos testes, a instalao pareceu transcorrer direito, porm, como a verso do Suse usada no era a Enterprise, no foi possvel iniciar o GroundWork devido a vrios problemas com bibliotecas. incmodo o fato de at mesmo a verso de cdigo aberto exigir um produto comercial, com apenas uma nica distribuio no comercial sendo suportada. O GroundWork instala sua prpria verso do Apache. Caso se possua um servidor Apache em execuo, ele ser parado e desativado pelo GroundWork mas nada ser apagado ou alterado. A documentao diz que todo o contedo exibido ser servido pela verso do Apache includa no GroundWork. O processo no automtico, e ao nal necessrio realizar algumas conguraes manuais para disponibilizar seu contedo. Alm disso, no possvel atualizar o Apache pelos meios

normais, pois qualquer mecanismo de atualizao instalar a verso original do Apache. Para evitar tais complicaes, a documentao sugere que se instale o GroundWork em um sistema independente. Quando conseguimos execut-lo, o programa exibiu uma aparncia bastante prossional. A estrutura do menu lgica, e a navegao atravs deste fcil especialmente para usurios experientes no uso do Nagios. Pode-se baixar um guia de avaliao que leva o usurio, passo a passo, atravs diversas conguraes bsicas do GroundWork. O guia de avaliao no presume muito a respeito dos conhecimentos do leitor, e no tivemos problemas para instalar o produto e fazlo funcionar com ajuda do guia. Ser necessria uma verso funcional do MySQL. O guia de avaliao inclui algumas informaes bsicas sobre a conexo com o banco de dados. Quando o usurio entrar pela primeira vez,

Rodando

Linux Magazine #31 | Junho de 2007

41

CAPA | GroundWork

ver uma animao na pgina inicial apontando para o Configuration EZ , que oferece uma forma facilitada de acrescentar mquinas rede rapidamente, atravs da descoberta automtica de servios e mquinas. possvel atribuir ns a grupos de ns existentes, ou deix-los sem atribuio ( unassigned ). O Configuration EZ bloqueia as configuraes mais detalhadas, mostrando apenas as opes mais bsicas. Com algumas excees, fica-se limitado a atribuir configuraes pr-existentes (como verificaes de servios) a novas mquinas. Em redes onde se deseja somente acrescentar novos ns ou outros dispositivos, e no um novo servio ou monitor, essa interface espartana muito til. Embora a configurao do monitoramento bsico seja bem fcil com o GroundWork, deve-se estar ciente de que a tecnologia subjacente ainda o Nagios. Administradores experientes compreendero o modo de operao do GroundWork com bastante facilidade. Entretanto, os iniciantes devem dedicar algum tempo a adquirir uma maior familiaridade com o Nagios antes de usar o GroundWork de forma eficiente. O GroundWork opera por uma interface web. O frame esquerdo da janela abriga o menu de navegao, e a rea de trabalho propriamente dita ca direita (gura 1). No alto da janela ca a barra de navegao (chamada de menu em vrios pontos). Ela se modica de acordo com a parte do sistema que estiver sendo visualizada. Ao entrar no sistema, o administrador comea na pgina identificada como Home no canto superior esquerdo da tela. Ao clicar no logo do GroundWork, um menu se abre, mostrando as principais reas, como Administra-

tion e Configuration, por exemplo. Quando se seleciona um item, o painel esquerdo de navegao muda de acordo. Para inserir dados no sistema GroundWork, pode-se iniciar do zero ou carregar uma instalao pr-existente do Nagios. Em nossa mquina de testes, ainda no havamos instalado o Nagios, ento escolhemos uma instalao do zero (fresh install); mas tambm testamos a instalao em uma mquina j com o Nagios. No encontramos problemas ao carregar os arquivos de configurao pr-existentes. Apesar de a verso do GroundWork testada ser baseada na verso 2.5 do daemon de monitoramento, ainda possvel utilizar arquivos da verso 1.x a partir da interface do GroundWork. Se alguma diretiva estiver faltando no Nagios 2.x, a vericao inicial mostrar o problema, possibilitando a adio dessas diretivas a partir da interface grca. Se for prefervel carregar uma instalao pr-existente do Nagios, pode-se atualizar a configurao atual do GroundWork com objetos de sua configurao do Nagios, ou limpar (ou dar um purge) nas informaes relacionadas ao Nagios no banco de dados do GroundWork, substituindo todo o contedo do arquivo de configurao do Nagios. Ao adicionar ns pela descoberta automtica, pode-se selecionar uma rede inteira, ou simplesmente um bloco de endereos IP. Como a rede usada no teste era relativamente pequena, configuramos o GroundWork para varrer apenas os primeiros 50 endereos IP, o que foi completado em menos de um minuto. Cada n encontrado pelo GroundWork listado na interface grfica; depois, possvel se-

lecionar os ns e adicion-los ao sistema (ou no). Caso seja necessrio, pode-se carregar ns a partir de um arquivo externo, em vez de passar pela potencialmente demorada descoberta automtica. Um dos maiores problemas da interface aparece ao se adicionar ns. A lista de ns no atualizada automaticamente. Em vez disso, parece ser necessrio fech-la e depois abri-la novamente para que sejam mostrados os novos ns. O GroundWork alega fazer uso de AJAX para efetuar a atualizao automtica das pginas sem interao com o usurio, o que torna esse comportamento ainda mais decepcionante. Aps executarmos a descoberta automtica, todas as mquinas Linux foram corretamente identificadas. Apesar de o GroundWork ter reconhecido as estaes Windows, ele foi incapaz de identificar seus sistemas operacionais, o que rendeu, ao final, apenas um grupo: Linux Servers. Todavia, pode-se acrescentar grupos de mquinas literalmente em alguns segundos, o que reduz bastante esse problema.

O GroundWork foi feito para administrao. possvel criar grupos de usurios, o que d acesso ao sistema. Os privilgios depois so determinados pelos papis. Para cada papel, so definidas subscriptions. Embora os papis sejam cumulativos, eles definem somente as aplicaes (pores do sistema) que o usurio pode acessar. Por exemplo, pode-se conceder a um papel acesso interface do Nagios, permitindo que ele veja o status das mquinas e servios, mas impedindo que ele faa alteraes.

Administrao

42

http://www.linuxmagazine.com.br

CAPA | GroundWork

Figura 2 Interface do Nagios no GroundWork.

Na seo de administrao, pode-se instalar pacotes e, em alguns casos, congur-los. Os pacotes podem ser acrescentados ao sistema atravs do item de menu chamado Wrappit. Esse recurso de gerenciamento de pacotes permite a integrao de aplicaes web pr-existentes estrutura de menu do GroundWork. O menu Conguration fornece acesso a todas as conguraes que normalmente o Nagios ofereceria. As conguraes primrias do Nagios so acessveis pela barra de menu (gura 1). A opo Control representa a configurao geral do Nagios. Nela, possvel definir vrios diretrios, alm do usurio sob o qual o GroundWork ser executado, e o comportamento padro do Nagios. As opes em Control so os valores que normalmente seriam encontrados no arquivo de configurao do Nagios ( nagios.cfg, normalmente). Como h opes demais, o GroundWork as divide em mltiplas telas, obrigando o administrador a salvar cada tela

antes de prosseguir prxima. Isso significa que, se houver algo que se deseje acessar na ltima tela, ser necessrio carregar e salvar cada uma das anteriores. A opo Tools possibilita que se apague mquinas ou servios com base em caracteres curinga. No possvel denir seu prprio curinga. Em vez disso, o GroundWork j traz uma lista de padres que parecem cobrir todas as possveis combinaes iniciais. Alm de oferecer seu prprio conjunto de dilogos de configurao, o GroundWork oferece acesso interface tradicional do Nagios ( figura 2). Nela, pode-se visualizar os servios, agendar tarefas e perodos de manuteno, desativar verificaes e tudo o que for possvel fazer com a interface grfica do Nagios.

fator, difcil de ser ignorado ou superado. Mesmo sem os recursos extra da verso comercial, a facilidade de uso do programa merece reconhecimento. Infelizmente, o GroundWork no se comportou como esperado em vrias ocasies. Em algumas situaes, o programa no nos permitiu realizar nada ao fazer selees. Por exemplo, ao clicar nos links da barra de ferramentas ou selecionar valores dos menus drop-down, com freqncia o programa simplesmente pra. Entretanto, atualizar a pgina ou ir para outra rea do programa corrige o problema, quando ocorre. O GroundWork parece ter problemas ao se usar mltiplas abas no Firefox. Aparentemente, ele guarda a pgina na ltima aba que tiver sido aberta e, se recarregarmos alguma das abas anteriores, ela carregar a pgina mais nova naquela onde se estava trabalhando. Parece-nos que o GroundWork est tentando em demasia ter um visual avanado atraente para administradores sem familiaridade com o Nagios ou com o monitoramento de sistemas. O site do produto e a documentao so cheios de hiprboles de marketing que desviam a ateno em relao real funcionalidade do produto. Ainda assim, a verso de cdigo aberto do software um produto slido e recomendvel.

Mais Informaes
[1] Nagios: http://www.nagios.org [2] Verso de cdigo aberto do GroundWork: http://www. groundworkopensource.com [3] Download do GroundWork: http://www.groundworkopensource. com/downloads/full_download.html [4] GroundWork Guava: http://guava.sourceforge.net/

til, mas imperfeito

Definitivamente, o custo (zero) da verso de cdigo aberto do GroundWork um importante

44

http://www.linuxmagazine.com.br

www.baixebr.org
Desktop 3D

Outra viso
s ambientes desktop 3D, como Compiz[1] e Beryl[2], so um novo tpico popular na comunidade Linux. Porm, esses dois softwares apenas comearam a explorar as possibilidades de uso da terceira dimenso para exibir e organizar informaes. Um dos primeiros e mais sosticados projetos de desktop 3D o Looking Glass[3] (LG3d), criado por um programador da Sun, Hideya Kawahara. Aps mostrar seu passatempo a seus superiores, Hideya foi agraciado com uma equipe de desenvolvedores para auxili-lo na criao do LG3D. O Looking Glass teve sua primeira verso estvel (1.0) liberada recentemente. Vamos analisar alguns de seus recursos mais interessantes.

ANLISE

O ambiente desktop 3D Looking Glass oferece uma nova viso da rea de trabalho. por Fabrizio Ciacchi

Th

ais

Ro

ch

a-

ww

w. sx

c.h

Usurios do Ubuntu tm pacotes individuais para cada componente disponvel no mesmo site, e outros usurios podem usar o pacote genrico para Linux. Aps instalar o Looking Glass atravs do script de instalao contido no pacote baixado, possvel execut-lo de trs formas diferentes. A primeira requer que j haja um gerenciador de janelas em execuo, e abrir o LG3D com o comando lg3d-app, digitado em um terminal. A segunda forma semelhante, porm abre o gerenciador da Sun em tela cheia, com o comando lg3d-app-full. Por ltimo, para incluir no GDM ou KDM a opo de iniciar o LG3D, so necessrios os comandos:
# ln -s /caminho/at/o/lg3d /usr/ share /usr/share/lg3d/bin ./postinstall

as de trabalho podem habitar regies de uma nica imagem panormica (gura 2). Clicando-se com o boto esquerdo no lado direito ou esquerdo da rea de trabalho, o usurio levado parte adjacente da imagem. Um clique direito na barra de tarefas mostra a imagem inteira, a partir da qual possvel escolher uma rea de trabalho (como mostra a gura 2). O uso da perspectiva mais um recurso interessante do LG3D. No apenas os objetos possuem profundidade, como tambm a prpria rea de trabalho. O eixo Z acrescentado rea de trabalho

Por ser inteiramente feito em Java, o LG3D pode rodar em Linux, Windows e Solaris. Para apenas conhecer o ambiente, possvel utilizar o LiveCD disponvel em [4]. Os nada modestos requisitos mnimos de instalao incluem um processador de 1.4 GHz, 512 MB de memria e uma placa aceleradora 3D com 128 MB de memria, alm de um driver de vdeo (no Linux) com suporte a OpenGL 1.2 (sendo a verso 1.3 a recomendada). Tambm possvel baixar o Mega Bundle[5], um pacote espaoso (aproximadamente 150 MB) que inclui a JDK, as bibliotecas java3d e o LG3D, e deve funcionar em qualquer distribuio.

Instalao

Na parte de baixo da tela do Looking Glass ca a barra de tarefas (gura 1). esquerda localiza-se o menu do LG3D, oferecendo o acesso a aplicativos da mesma forma que qualquer ambiente desktop. Ao lado do menu h cones para as ferramentas mais usadas, seguidos dos cones dos aplicativos abertos. No canto direito da barra ca a bandeira pirata usada para sair do LG3D. Um recurso muito interessante desse ambiente desktop o suporte ao papel de parede panormico. Mltiplas re-

Visual

Figura 1 A barra de tarefas ca localizada no centro do ambiente do Looking Glass.

Figura 2 possvel selecionar uma rea de trabalho movendo-se entre as regies de uma nica imagem panormica.

Linux Magazine #31 | Junho de 2007

45

ANLISE | Looking Glass

(gura 3) permite que o tamanho dos objetos varie conforme sua distncia do usurio. As janelas geralmente so abertas em uma distncia padro. Com a tecla [Ctrl] pressionada, basta usar a rodinha do mouse, com o cursor localizado em sua barra de ttulo, para aproximar e afastar a janela. Uma das possibilidades mais inovadoras oferecidas pelo desktop 3D da Sun a escrita de notas no verso das janelas (gura 4). Pode-se usar isso para registrar uma observao sobre o contedo da janela, por exemplo. Para criar uma nota, basta clicar com o boto direito na barra de ttulo, o que faz a janela girar 180 horizontalmente. Todas as janelas j possuem automaticamente uma rea para notas no verso, e basta digitar nela a nota. At mesmo as bordas das janelas so usadas pelo LG3D: ao rotacionar as janelas, o ttulo de cada uma mostrado nelas (gura 5), o que facilita a organizao das janelas, especialmente quando h muitas delas abertas. Os cones das janelas abertas, na barra de tarefas, tambm no so estticos como nos outros ambientes desktop, mas miniaturas das janelas. Um lme reproduzido em uma janela minimizada, nesse caso, continua sendo mostrado, porm em miniatura, na barra de tarefas. Na realidade, toda a rea de trabalho pode ser rotacionada. Clicando-se com o boto esquerdo sobre o logo do Java, no canto superior direito da rea de trabalho, o arrastar do mouse faz a rea de trabalho girar de.

O Looking Glass pode executar tanto aplicativos do Linux quanto programas em Java nativos. Essas ltimas empregam as bibliotecas 3D em Java e classes especializadas do LG3D. Todos os aplicativos 2D do Linux so renderizados em trs dimenses por O uma camada de abstrao Figura 4 noLooking Glass permite a escrita de notas verso das janelas. oferecida pelo X11[6]. A verso 1.0 do desktop da Sun conseguiu eliminar os problemas que o impediam de funcionar em harmonia com alguns programas populares do Linux, como Firefox e Evolution. Evidentemente, os aplicativos escritos especicamente para o Looking Glass, como o reprodutor de msicas Trumplayer, o Figura 5 possvel alinhar as janelas do Looking Glass como livros em uma prateleira. visualizador de fotos Zoetrope e o gerenciador de fotos LgScope 3D apresentam o melhor O autor visual, pois fazem uso dos atraentes Fabrizio Ciacchi (http://fabrizio. recursos visuais desse desktop. ciacchi.it) estudante de Cincias

Aplicativos

Figura 3 Os objetos parecem menores ou maiores de acordo com sua posio no espao tridimensional.

O Looking Glass um projeto impressionante e inovador, mas talvez ainda no esteja pronto para o uso dirio. Apesar de o sistema j estar bastante estvel, ele mostrou problemas com a atualizao da imagem no monitor, em nossos testes. Os grcos so realmente impressionantes, mas eventualmente uma imagem simples, ou at mesmo alguns papis de parede, mostraram resolues inesperadamente baixas. Talvez essas simplicaes melhorem o desempenho, mas alguns usurios podem car muito frustrados com elas. Apessar disso tudo, o Looking Glass um projeto muito importante e com uma nova abordagem para o desktop 3D.

Concluses

da Computao na Universidade de Pisa. Trabalha como consultor para diferentes companhias e escreve artigos para a edio italiana da Linux Magazine (www.linux-magazine.it).

Mais Informaes
[1] Compiz: http://www.go-compiz.org [2] Beryl: http://www.beryl-project.org [3] Looking Glass: http://www.sun. com/software/looking_glass/ [4] LiveCD do Looking Glass: http://lg3d-livecd. dev.java.net [5] Pacotes binrios do Looking Glass: http://lg3d-core.dev. java.net/binary-builds.html [6] Panorama do LG3D (ingls): http://lg3d-core.dev.java.net/ files/documents/1834/30923/ LG3D-Overview.pdf

46

http://www.linuxmagazine.com.br

LPI nvel 1: Aula 6


Congure compartilhamentos de rede e aprenda a administrar a segurana do sistema na ltima aula da srie de preparao para a certicao LPI nvel 1. por Luciano Siqueira

Sexta e ltima aula da preparao LPI

TUTORIAL

Objetivo 1.113.4: Administrao Apropriada dos Daemons NFS e SAMBA


NFS Atravs do NFS Network File System possvel montar diretrios compartilhados remotos como se fossem dispositivos locais. O NFS precisa estar habilitado no kernel, seja nativo ou carregado como mdulo, tanto no servidor quanto na mquina cliente. Para montar dispositivos remotos, necessrio que o daemon /sbin/rpc. portmap esteja ativo no cliente e no servidor. Sua execuo controlada atravs do script /etc/init.d/portmap start|stop|restart ou /etc/rc.d/ rc.portmap start|stop|restart. Para que um host possa servir diretrios atravs do NFS, necessrio ativar os daemons: /usr/sbin/rpc.rquotad /usr/sbin/rpc.nfsd /usr/sbin/rpc.mountd /usr/sbin/rpc.lockd /usr/sbin/rpc.statd A execuo de todos esses daemons unicada atravs do script /etc/rc.d/

Os compartilhamentos so congurados atravs do arquivo /etc/exports. Cada linha contm um diretrio compartilhado seguido de uma lista, separada por espaos, dos hosts que podero mont-los. Cada host pode estar acompanhado de parnteses imediatamente a sua direita, sem que haja espao depois dele, contendo opes de acesso para o mesmo. Exemplo de compartilhamento em /etc/exports:
/mnt/hdb1 192.168.1.0/26(ro)

init.d/nfs start|stop|restart ou /etc/ rc.d/rc.nfsd start|stop|restart.

os compartilhamentos em /etc/exports, executa-se exportfs -ua. rio remoto. Por exemplo, montar o diretrio compartilhado no exemplo anterior num host da subrede local 192.168.1.0/26:
# mount -t nfs 192.168.1.1:/mnt/ hdb1 /mnt/remoto mount usado para montar o diret-

No cliente, o prprio comando

O diretrio local /mnt/hdb1 poder ser montado por todos os hosts da subrede local 192.168.1.0/26, apenas em modo somente leitura (ro, de read only). Uma opo de acesso importante no_root_squash, que permite que o usurio remoto de ID 0 (root) monte o compartilhamento. Essa opo especialmente til quando o diretrio local compartilhado o diretrio raiz no cliente remoto. H vrias opes de controle de acesso que podem ser consultadas atravs de man 5 exports. Para atualizar as alteraes feitas ao arquivo /etc/exports no servidor NFS ativo, necessrio executar o comando exportfs -a. Para desativar

partilhamento, e existir no cliente o diretrio alvo /mnt/remoto. O comando nfsstat mostra estatsticas de uso dos compartilhamentos NFS no servidor.

192.168.1.1 o IP do servidor do com-

Esse exemplo presume ser

SAMBA Mquinas rodando Linux podem acessar e fornecer recursos compartilhados a mquinas rodando MS-Windows, como arquivos e impressoras. Os daemons responsveis so /usr/ sbin/smbd (cliente/servidor SMB) e /usr/sbin/nmbd (cliente/servidor NetBIOS). Ambos so geralmente disparados pelos scripts de inicializao do sistema. As conguraes de acesso e compartilhamento do SAMBA so feitas no arquivo smb.conf, geralmente em /etc/samba/ ou em /etc.
47

Linux Magazine #31 | Junho de 2007

TUTORIAL | LPI

a 901. Para acess-lo, smbfs credentials=/etc/passwd-pc[global] portanto, basta apon- w2k 0 0 server string = Slackware Samba Server tar um navegador, no log file = /var/log/samba.%m servidor, para http:// max log size = 50 A opo credentials especica localhost:901. dns proxy = No Os recursos com- um arquivo protegido contendo o [homes] partilhados numa m- usurio e a senha para montar o dicomment = Home Directories quina MS Windows retrio compartilhado. Dessa forma, read only = No podem ser acessados evita-se deixar a senha mostra em browseable = No usando-se o comando /etc/fstab. [printers] Um usurio comum poder monsmbclient. comment = All Printers O exemplo 2 mostra tar recursos remotos com smbclient path = /var/spool/samba printable = Yes como listar recursos ou mount, se esses comandos tiverem browseable = No disponveis ao usurio as permisses adequadas (SUID: administrador numa 1000,1000). [Montados] mquina MS-Wincomment = Dispositivos Montados no servidor path = /mnt dows 2000, atravs do Objetivo 1.113.5: Congurar um Servio Bsico de DNS smbclient. O exemplo 1 demonstra o contedo Montar o diretrio compartilhado Em redes pequenas, possvel que do arquivo smb.conf. H trs sees pela mquina pc-w2k: os hosts resolvam (convertam) os nomes de mquinas para nmeros bsicas no arquivo smb.conf: [global]: Dene o comporta- # mount -t smbfs //pc-w2k/fonts / IP e vice-versa, apenas atravs do usr/share/fonts -o mento geral do samba, como username=administrador arquivo /etc/hosts, demonstrado o nome do grupo de trabalho, no exemplo 3. redes permitidas, tipo de acesso DNS aos recursos etc; ou [homes]: Permite que cada usuPara grandes redes, no entanto, rio acesse seu diretrio pessoal # smbmount //pc-w2k/fonts /usr/ muito mais prtico, e at necessrio, share/fonts -o no servidor. Pode conter opes username=administrador o uso de um servidor DNS Dorestritivas e outras. Conseqenmain Name System que converte remotamente nomes de mquinas temente, este compartilhamento pressupe que o usurio logado A entrada em /etc/fstab para essa para seus respectivos nmeros IP e vice-versa. A correspondncia entre no cliente tenha uma conta no montagem poderia ser: servidor; [printers]: Compartilha as imExemplo 2: Listar recursos disponveis para o pressoras instaladas no servidor com os clientes. O funcionausurio administrador com o smbclient mento da impressora no servidor $ smbclient -L pc-w2k -U administrador no depende de congurao Domain=[PC-W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] no samba. Sharename Type Comment Outros compartilhamentos podem -----------------ser criados por meio de de sees esIPC$ IPC IPC remoto Fonts Disk Fontes True Type peccas para cada um. Diretrios e DOCS Disk Meus Documentos impressoras podem ser compartilhaADMIN$ Disk Administrao remota dos e congurados individualmente C$ Disk Recurso compartilhado padro dessa forma. Domain=[PC-W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] O SAMBA pode ser congurado atravs de uma interface web chaServer Comment mada swat. Para poder usar o swat, -----------Workgroup Master necessrio que o daemon inetd/ -------------xinetd esteja ativo e o swat liberado em /etc/services. A porta do swat

Exemplo 1: arquivo smb.conf

//pc-w2k/fonts /usr/share/fonts

48

http://www.linuxmagazine.com.br

www.baixebr.org
Exemplo 3: /etc/hosts
127.0.0.1 192.168.1.1 192.168.1.6 192.168.1.20 localhost slack102 debian pc-w2k

LPI | TUTORIAL

Exemplo 4: /etc/named.conf
options { directory /var/named; }; zone . IN { type hint; file root.hints; };

o nome e o nmero IP chamada mapeamento, e organizada de forma hierrquica. Em outras palavras, um domnio como howtos.linux.com ser quebrado e resolvido comeando por com, depois linux, e nalmente howtos, itens chamados respectivamente top-level domain, second-level domain e third-level domain. nessa ordem que o endereo IP para howtos.linux.com ser obtido. Os toplevel domains mais comuns so .com, .org e .net, mas h outros.

Servidor DNS O programa servidor responsvel pelo mapeamento o /usr/sbin/named, que parte do pacote chamado BIND, cujas especicaes so denidas pelo Internet Systems Consortium. Seu arquivo de congurao /etc/ named.conf. Em verses anteriores ao BIND 8, o arquivo de congurao chama-se /etc/named.boot. O exemplo 4 mostra as conguraes para um servidor cache de DNS. Com essa congurao, o servidor local propriamente no mapear nenhum nome, mas resgatar os
Trecho de /var/named/root.hints: (...) D.ROOT-SERVERS.NET. 3600000 IN A.ROOT-SERVERS.NET. 3600000 IN H.ROOT-SERVERS.NET. 3600000 IN C.ROOT-SERVERS.NET. 3600000 IN (...)

ponsvel por converter nmeros IP para seus respectivos nomes. Voltando ao exemplo 4, na seo options indicado onde esto os arquivos de mapeamento (directory /var/named;). Est denido apenas o mapeamento para ., que ser consultado caso nenhum outro mapeamento seja encontrado ( esse o caso do exemplo). No arquivo /var/named/root.hints (exemplo 5) est uma lista com os servidores de nomes principais da internet, obtidos atravs do comando dig. Aps alterar os arquivos de congurao, ser necessrio reiniciar o daemon named.

so (Exemplo: zone 0.0.127.in-addr. arpa IN {...). O DNS reverso res-

pedidos de servidores principais e os armazenar temporariamente, para que seus clientes os acessem mais rapidamente. Zonas convencionais tm sees denidas de forma semelhante, como por exemplo, zone localhost IN {..., e importante que, para cada uma delas, haja uma zona para DNS rever-

Exemplo 6: arquivo nsswitch.conf


hosts: networks: services: protocols: files dns files files files

termos que sucedem o : indicam de que forma o tipo de nome em questo dever ser resolvido. O termo les determina o uso de arquivos locais (como o /etc/hosts ou /etc/networks) enquanto dns determina o uso de um servidor DNS. O servidor DNS a ser utilizado especicado atravs do arquivo /etc/resolv.conf (exemplo 7). A entrada fundamental nameserver, que dene o servidor DNS. Outros nameserver podem ser especicados para serem servidores DNS secundrios.

Registro de Domnios Um nome de domnio registrado para uso na internet atravs de autoridades competentes, como a Internic[1] e a Fapesp[2]. Aps o registro, necessrio fornecer os endereos DNS para onde sero direcionadas as solicitaes para o domnio em questo.

Objetivo 1.113.7: Utilizao do Shell Seguro (OpenSSH)


O OpenSSH o substituto para ferramentas de acesso remoto, como telnet, rlogin, rsh e rcp. No host de destino (que aceitar conexes externas), o daemon /usr/sbin/sshd dever estar ativo para possibilitar que clientes se conectem. O sshd geralmente disparado por um script de inicializao do sistema, situado em /etc/rc.d/rc.sshd ou /etc/init. d/sshd. O daemon sshd utiliza a porta 22 para aguardar pedidos de conexo. O comando usado pelo cliente para se conectar ssh. O comportamento do sshd pode ser modicado atravs do arquivo de congurao /etc/ssh/sshd_config. Personalizaes do comando ssh podem ser feitas nos arquivos /etc/ssh/ssh_con-

Cliente DNS O arquivo /etc/nsswitch.conf (exemplo 6) determina de que maneiras, e em que ordem, o host local tentar resolver os nomes de endereos. Os termos que precedem o caractere : especicam o tipo dos nomes procurados (hosts, networks etc.). Os

Exemplo 5: arquivo root.hints


A A A A 128.8.10.90 198.41.0.4 128.63.2.53 192.33.4.12

Linux Magazine #31 | Junho de 2007

49

TUTORIAL | LPI

Exemplo 7: arquivo /etc/resolv.conf


nameserver 200.230.1.1 nameserver 200.230.1.2 fig, /etc/sshrc ou apenas por usurio, em ~/.ssh/config. Outros comandos teis do ssh so scp (copiar atravs de ssh), sftp-server (servidor FTP por ssh) e sftp (cliente FTP por ssh).

Conectar-se como usurio root no host 192.168.1.1:


$ ssh root@192.168.1.1

Para evitar a necessidade de digitao da senha a cada login, pode-se criar um arquivo chamado authorized_keys, para que o ssh realize a autenticao de usurio via chave, no lugar de senha. O arquivo authorized_keys deve existir no host de destino, e pode conter uma ou mais chaves que foram criadas no host de origem atravs do comando ssh-keygen. Para gerar uma chave DSA de 1024 bits:
$ ssh-keygen -t dsa -b 1024

Como outros servios de rede, o ssh est sujeito ao controle via tcpwrappers, atravs dos arquivos /etc/hosts.allow e /etc/hosts.deny. E, por tratar-se de uma forma de login de usurio na mquina em questo, respeitado o bloqueio a usurios comuns imposto pelo arquivo /etc/nologin. Se o arquivo /etc/nologin existir, apenas o root pode entrar no sistema; aos demais usurios, vetado o login, e apenas mostrado o contedo de /etc/nologin. Existem dois protocolos de chaves criptogrcas usados pelo ssh, o RSA (protocolo 1) e DSA (protocolo 2). Dependendo do protocolo usado, os arquivos de chaves recebero o nome de ssh_host_rsa_key ou ssh_host_dsa_key. Para cada chave, h uma chave pblica usada para autenticao por terceiros, armazenada num arquivo de mesmo nome, seguido do suxo .pub. Por padro, os arquivos ssh_host_rsa_key e ssh_host_dsa_key tero permisso -rw------, e seus respectivos arquivos .pub tero permisso -rw-r--r--. Na primeira vez que o cliente ssh conecta-se a um host, ele questionado sobre aceitar uma chave pblica. Se for aceita, ela ser armazenada em ~/.ssh/ know_hosts e garantir a conabilidade da conexo entre os dois hosts. O contedo desse arquivo pode ser includo em /etc/ ssh_know_hosts, para que a chave passe a valer para os demais usurios. Ainda assim ser necessrio que o usurio fornea sua senha ao host de destino.

usurio especco no host de destino. Supondo que o host de destino tenha IP 192.168.1.1 e uma conta para o usurio com o mesmo nome, o arquivo pode ser copiado atravs do comando:
$ scp ~/.ssh/id_dsa.pub 192.168.1.1:~/.ssh/authorized_keys

id_dsa e id_dsa.pub em ~/.ssh/ no host de origem. O contedo de id_ dsa.pub poder ento ser includo em ~/.ssh/authorized_keys para o

Esse comando gerar as chaves

Por questo de segurana, importante que todos os arquivos contendo chaves em /etc/ssh/ e ~/.ssh/ tenham permisso 600 escrita e leitura apenas para o dono do arquivo.

Tpico 114: Segurana


Objetivo 1.114.1: Tarefas Administrativas de Segurana
TCP wrappers Daemons de servios de rede compilados com suporte biblioteca Libwrap podem utilizar-se do mecanismo chamado TCP wrappers para controlar o acesso por hosts na rede. Esse controle estabelecido atravs de regras criadas nos arquivos /etc/ hosts.allow e /etc/hosts.deny.

O arquivo /etc/hosts.allow contm as regras para os hosts que podero acessar a mquina local. Se um host corresponder a uma regra em /etc/hosts.allow, o mesmo ser liberado, e o arquivo /etc/hosts.deny no ser consultado. O arquivo /etc/hosts.deny contm as regras para os hosts que no podero acessar a mquina local. Se um host no constar em /etc/hosts.allow nem em /etc/hosts.deny, o mesmo ser liberado. Cada regra escrita em uma linha, com o mesmo formato (servio: host:comando) para /etc/hosts.allow e /etc/hosts.deny: , onde: servio um ou mais nomes de daemons de servio, ou instrues especiais; host um ou mais endereos, ou instrues especiais, e; comando um comando opcional a ser executado no caso de cumprimento da regra. Hosts podem vir na forma de domnios, IPs de rede ou IPs incompletos. Caracteres curinga ? e * podem ser utilizados. Instrues especiais so ALL, LOCAL, KNOW, UNKNOWN e PARANOID. O operador EXCEPT exclui um host ou grupo hosts de uma determinada regra. Em /etc/hosts.allow, liberar todos os servios a todos os hosts da rede 192.168.1.0, com exceo do 192.168.1.20:
ALL: 192.168.1.* EXCEPT 192.168.1.20

Bloquear todos os servios a todo host que no constar em regra de /etc/ hosts.allow, em /etc/hosts.deny:
ALL: ALL

A documentao completa para a criao de regras do tcpwrappers pode ser encontrada na pgina manual hosts_access(5).

50

http://www.linuxmagazine.com.br

LPI | TUTORIAL

Exemplo 8: Encontrando arquivos SUID e SGID com o nd


find / -perm -4000 -or -perm -2000 /bin/su /bin/ping /bin/mount /bin/ping6 /bin/umount (...)

Exemplo 9: Detalhando a lista gerada pelo exemplo 8


find / \( -perm -4000 -or -perm -2000 \) -exec ls -l {} \; -rws--xx 1 root bin 35780 2004-06-21 16:20 /bin/su -rws--xx 1 root bin 29364 2005-09-07 17:46 /bin/ping -rwsr-xr-x 1 root bin 61308 2005-09-13 01:42 /bin/mount -rws--xx 1 root bin 26764 2005-09-07 17:46 /bin/ping6 -rwsr-xr-x 1 root bin 32212 2005-09-13 01:42 /bin/umount (...)

SUID/SGID Arquivos com permisso SUID e SGID garantem privilgios especiais a quem os executa. Portanto, importante monitorar quais arquivos detm essas permisses, para evitar que programas estranhos ou alteraes nos programas conhecidos com essa permisso possam possibilitar a invaso ou dano ao sistema. O exemplo 8 demonstra como encontrar arquivos SUID e SGID com o nd, enquanto o exemplo 9 apresenta uma forma de se gerar uma lista detalhada no mesmo comando. Essa lista pode ser salva diariamente (provavelmente por um agendamento no crontab) atravs do comando:
# find / \( -perm -4000 -or -perm -2000 \) \ <del>exec ls -l {} \; > /var/ log/setuid</del>$(date +%F)

ser excludo e reinstalado adequadamente. importante rastrear os logs do sistema atrs de possveis origens dessa alterao. Outras buscas por brechas no sistema podem ser realizadas pelos seguintes comandos:
# find / -path /dev -prune -perm 2 -not -type l

vericao, primeiro necessrio importar a chave pblica referente ao kernel:


# gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517D0F0E

.sign (ocasionalmente esse arquivo aparece com o suxo .asc). Para

Esse comando procura arquivos com permisso de escrita para todos os usurios, com exceo do diretrio /dev. Arquivos de congurao do sistema poderiam ser alterados com intuito de viabilizar invases ou danos ao sistema. Para procurar arquivos sem dono ou sem grupo, que sugerem que o sistema tenha sido invadido, o comando apropriado seria:
# find / \( -nouser -o -nogroup \)

Esse procedimento necessrio somente uma vez. A chave pblica deve ser obtida somente de fonte convel, especicada pelo prprio desenvolvedor do programa. Informaes sobre obteno da chave pblica do kernel podem ser consultadas em http://www.kernel.org/ signature.html. Agora, a vericao do arquivo propriamente dito:
# gpg --verify linux-2.6.16.13. tar.bz2.sign linux-2.6.16.13. tar.bz2 gpg: Signature made Ter 02 Mai 2006 19:15:20 BRT using DSA key ID 517D0F0E gpg: Assinatura correta de Linux Kernel Archives Verification Key <ftpadmin@kernel.org>

Esse comando gerar um arquivo de nome setuid-ano-ms-dia, que poder ser comparado ao arquivo do dia anterior atravs do comando diff:
# diff /var/log/setuid-2006-05-02 /var/log/setuid-2006-05-03 2c2 < <del>rws</del>-x--x 1 root bin 29364 2005-09-07 17:46 /bin/ping --> <del>rws</del>-x--x 1 root bin 29974 2005-09-07 17:46 /bin/ping

relao ao registro anterior. Supese que tenha sido substitudo por um programa malicioso, devendo

/bin/ping mudou de tamanho em

Essa sada mostra que o arquivo

Vericao de pacotes Semelhantemente vericao nativa de pacotes .deb e .rpm, possvel vericar a maioria dos pacotes compilados ou de cdigos-fonte fornecidos por um desenvolvedor. As maneiras mais comuns de vericao so a soma MD5 e as assinaturas PGP, cujas ferramentas esto disponveis na maioria das distribuies. Praticamente todos os pacotes de programas tradicionais oferecem assinaturas de vericao PGP, como o cdigo-fonte do kernel do Linux, disponvel em ftp://ftp.kernel.org/ pub/. Alm do arquivo .tar.gz ou .bz2, deve ser copiado um arquivo de mesmo nome, acrescido do suxo

Essa sada informa que o referido arquivo autntico. De maneira mais simples agem as vericaes MD5. Um arquivo com suxo .md5 correspondente ao arquivo .tar.gz ou .bz2 contm um nmero referente ao resultado de clculo envolvendo os bytes contidos no pacote. Para vericar a soma MD5 do pacote copiado bluefish-1.0.5.tar.bz2, atravs do seu arquivo MD5 correspondente bluefish-1.0.5.tar.bz2.md5:
# md5sum -c bluefish-1.0.5.tar. bz2.md5

Linux Magazine #31 | Junho de 2007

51

TUTORIAL | LPI

bluefish-1.0.5.tar.bz2: A soma coincide

Como no caso das assinaturas PGP, fundamental que o arquivo MD5 tenha sido copiado de fonte segura, indicada pelo prprio desenvolvedor do programa.

Por exemplo, para alterar as validades de senha para a conta ataliba:


# passwd -x 30 -n 1 -w 7 -i 7 ataliba

Senhas As denies sobre a vida til de senhas e aspectos relacionados so armazenadas no arquivo /etc/shadow (quando usado o sistema de senhas shadow). Cada linha corresponde a uma conta, em campos separados por :, representando: Nome de acesso; Senha criptografada; Dias decorridos entre 1 de janeiro de 1970 e a ltima alterao da senha,; Nmero de dias at que a senha deva ser alterada; Nmero de dias aps o qual a senha deve ser alterada; Nmero de dias antes da expirao da senha quando o usurio ser avisado; Nmero de dias aps a expirao da senha quando a conta deve ser bloqueada; Dias decorridos entre 1 de janeiro de 1970 e a data em que a conta foi bloqueada; Campo reservado. Alm de alterar senhas, o comando passwd tambm pode alterar essas denies, atravs das opes: -x dias: Nmero mximo de dias que a senha permanecer vlida; -n dias: Mnimo de dias at que o usurio possa trocar uma senha modicada; -w dias: Dias anteriores ao m da validade da senha, nas quais ser emitido um aviso a respeito da expirao de senha; -i dias: Inatividade, tolerncia de dias aps a senha ter expirado at que a conta seja bloqueada.
52

A opo -e provoca a expirao imediata da senha e -d apaga a senha para a conta especicada. Quando a opo -g usada, a senha do grupo especicado alterada; seguido de -r, remove a senha e, de -R, restringe o acesso a todos usurios. Essa tarefa s pode ser realizada pelo superusurio ou pelo administrador do grupo. A conta especicada pode ser bloqueada atravs da opo -l e liberada pela opo -u. O estado da conta pode ser vericado fornecendo-se a opo -S:
# passwd -S ataliba ataliba P 05/03/2006 1 30 7 7

Essa sada representa: ataliba: Login referente conta; P: Um P signica que o usurio possui uma senha utilizvel; NP signica que ele no possui qualquer senha; L representa uma conta bloqueada; 05/03/2006: Data da ltima mudana de senha; 1: Limite mnimo de dias da senha; 30: Limite mximo de dias da senha; 7: Dias de aviso 7: Limite de dias de inatividade aps a senha ter expirado at a conta ser bloqueada.

Os atributos da senha tambm podem ser alterados atravs do comando chage, atravs dos argumentos: -m: Mnimo de dias at que o usurio possa trocar uma senha modicada; -M: Nmero mximo de dias que a senha permanecer vlida; -d: Nmero de dias decorridos em relao a 01/01/1970 em que a senha foi mudada. Tambm pode ser expresso no formato de data local (dia/ms/ano).; -E: Nmero de dias decorridos em relao a 01/01/1970 a partir do qual a conta no estar mais disponvel. Tambm pode ser expresso no formato de data local (dia/ms/ano); -I: Inatividade, tolerncia de dias aps a senha ter expirado at que a conta seja bloqueada; -W: Dias anteriores ao m da validade da senha nos quais ser emitido um aviso a respeito. Por exemplo, para determinarmos a data de bloqueio de uma conta, o comando adequado seria:
# chage -E 04/05/2006 ataliba

O uso do chage restrito ao superusurio (root). Porm, usurios comuns podem usar o chage com a opo -l para checar as denies de suas respectivas contas, como mostra o exemplo 10. Tanto passwd quanto chage entram em modo de congurao interativa se no forem passadas opes. O usurio assumido ser sempre o

Exemplo 10: Vericao das denies de conta por um usurio comum


$ chage -l ataliba Maximum: 30 Minimum: 1 Warning: 7 Inactive: 1 Last Change: Password Expires: Password Inactive: Account Expires:

Mai Jun Jun Abr

03, 02, 03, 05,

2006 2006 2006 2006

http://www.linuxmagazine.com.br

www.baixebr.org
atual, caso um usurio no seja especicado como argumento.

LPI | TUTORIAL

Atualizao de programas Como nenhum programa imune a falhas, recomendado instalar todas as correes disponibilizadas pelos desenvolvedores. Programas desatualizados com falhas conhecidas so alvos fceis para invaso e possvel dano ao sistema. Todas as principais distribuies mantm atualizaes para seus programas compilados. O anncio das atualizaes geralmente feito atravs de email, recebido mediante cadastro no site da distribuio. Grupos especializados em segurana tambm informam sobre falhas e procedimentos necessrios para correo. O CERT (Computer Emergency Response Team)[3] e o BUGTRAQ[4] divulgam questes pertinentes a falhas e correes de sistemas. Filtragem de Pacotes iptables A ltragem de pacotes de dados em rede permite controlar o uxo das transmisses atravs de regras especcas. Dessa forma, possvel criar um rewall ou um redirecionamento do tipo NAT (Network Address Translation). O programa utilizado para criao dessas regras o iptables. necessrio que o kernel em uso seja capaz de trabalhar com ltragem de pacotes, o que regra nos kernels recentes. O item de congurao do kernel para ltragem de pacotes Network Packet Filtering. Para cada tipo de operao h uma tabela especca. Cada tabela contm chains (correntes), onde so denidos targets (aes) para os pacotes que corresponderem a determinada regra na corrente. So as tabelas naturais lter, nat e mangle: lter: a tabela padro. Contm as chains embutidas INPUT (para pacotes que chegam ao

host local), FORWARD (para pacotes sendo roteados pelo host local) e OUTPUT (para pacotes gerados no host local). Essa a tabela utilizada para construo de rewalls; nat: Para pacotes que criam novas conexes. Contm as chains embutidas PREROUTING, OUTPUT e POSTROUTING; mangle: Para alteraes especializadas de pacotes. Contm as chains INPUT, OUTPUT, PREROUTING, FORWARD e POSTROUTING. A tabela de atuao indicada atravs da opo -t do comando iptables. Se nenhuma tabela for especicada, a tabela assumida ser a lter. As operaes dentro de uma chain so determinadas atravs dos seguintes argumentos-comando: -A: Adicionar regra na chain; -I: Inserir regra numa posio especca dentro da chain; -R: Substituir regra na chain; -D: Apagar chain; -N: Criar chain personalizada; -X: Apagar chain vazia; -P: Denir poltica para uma chain embutida; -L: Listar a(s) regra(s) inscritas em uma chain; -F: Apagar todas as regras em uma chain; -Z: Zerar os contadores de pacotes. em todas as regras de uma chain Especicaes de regras (interceptam os pacotes que corresponderem a descrio dada): -s <endereo> ou --source <endereo>: Endereo de origem do pacote. Pode ser um nome de rede, nome de host, IP de rede/mscara de rede ou simplesmente um endereo IP. Se um endereo for precedido de !, a regra intercepta os pacotes que no corresponderem condio; -d <endereo> ou --destination <endereo>: Endereo de destino do pacote. Mesmo formato de -s. Se o endereo for precedido de !,

a regra intercepta os pacotes que no corresponderem condio; -p <protocolo> ou --protocol <protocolo>: Dene o protocolo. Pode ser tcp, udp, icmp ou all. Se o protocolo for precedido de !, a regra intercepta os pacotes que no corresponderem condio; -i <interface> ou --in-interface <interface>: Interface atravs da qual o pacote chegou. Se o nome da interface for seguido do sinal + (interface+) aplicar a todas interfaces cujos nomes comecem por interface. Se o nome da interface for precedido de !, a regra intercepta os pacotes que no corresponderem condio. Se -i interface no existir, todas as interfaces sero assumidas; -o <interface> ou --out-interface <interface>: Interface atravs da qual o pacote ser enviado. Se o nome da interface for seguido do sinal + (interface+) aplicar a todas interfaces cujos nomes comecem por interface. Se o nome da interface for precedido de !, a regra intercepta os pacotes que no corresponderem condio. Se -i interface no existir, todas as interfaces sero assumidas; -j <ao> ou --jump <ao>: Targets (aes) para o(s) pacote(s) interceptados. Targets comuns para rewalls so: ACCEPT: Permite a passagem normal do pacote; DROP: Descarta o pacote; -m <mdulo> ou --match <mdulo>: Usar mdulo estendido mdulo. H muitos tipos de mdulos de controle adicionais e opes extras para cada um deles. Um muito usado para rewalls o mdulo state, cuja opo --state <estado> permite determinar qual a relao de um pacote com as conexes existentes. Possveis valores para estado so INVALID (o estado no pode ser determinado), ESTABLI-

Linux Magazine #31 | Junho de 2007

53

TUTORIAL | LPI

que o pacote inicia nova conexo) e RELATED (o pacote inicia outra conexo, porm relacionada a uma conexo existente). O exemplo 11 demonstra o uso de algumas dessas opes do comando iptables, para a criao de um rewall simples. O rewall criado ir descartar qualquer tentativa de conexo por programas remotos, inclusive compartilhadores de arquivos e programas de mensagens instantneas. Para voltar congurao padro, aceitando indiscriminadamente todas as conexes, o conjunto de comandos a seguir deve ser empregado (respeitando-se as letras maisculas e minsculas nas opes):
Apagar todas as regras da tabela lter: iptables -t filter -F

SHED (o pacote pertence a uma conexo ativa), NEW (indicando

# iptables -t filter -F INPUT iptables iptables iptables ACCEPT iptables iptables ACCEPT -t filter -P INPUT ACCEPT -t filter -F FORWARD -t filter -P FORWARD -t filter -F OUTPUT -t filter -P OUTPUT

Vericando portas abertas no sistema O programa nmap utilizado para rastrear sistemas em busca de portas de servios ativas. Seu uso mais simples sem argumentos, especicando apenas um nome ou endereo de host a ser rastreado, como mostra o exemplo 12. A sada mostra que as portas 631/tcp (Servio de impresso do CUPS) e 6000/tcp (servidor de janelas X) esto abertas a conexes. Portanto, funda-

mental estabelecer restries ao seu uso atravs da congurao do tcpwrapper, ou atravs da congurao do prprio daemon do servio. O nmap possui muitas opes de rastreamento que podem ser consultadas atravs de sua pgina manual (man nmap). possvel, por exemplo, fazer um rastreamento para tentar descobrir as portas passveis de conexo e qual o sistema operacional do host em questo, conforme mostra o exemplo 13. Um programa que desempenha funo semelhante o netstat. Entre outras funes, com o netstat possvel monitorar as conexes ativas. Algumas opes do netstat: -t: Mostra todas as conexes TCP ativas;

Exemplo 11: Criao de um rewall simples

Estabelecer poltica de descartar todos os pacotes em todas as chains da tabela lters: iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP Liberar todos os pacotes (saindo e entrando) da interface local: iptables -t filter -A INPUT -i lo -s 0/0 -d 0/0 -j ACCEPT iptables -t filter -A OUTPUT -o lo -s 0/0 -d 0/0 -j ACCEPT Liberar todos os pacotes saindo atravs da interface eth0: iptables -t filter -A OUTPUT -o eth0 -s 0/0 -d 0/0 -j ACCEPT Liberar para entrar pela interface eth0 somente os pacote pertencentes (ESTABLISHED) ou relacionados (RELATED) a uma conexo existente: iptables -t filter -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \ -s 0/0 -d 0/0 -j ACCEPT Listando as novas conguraes de ltros: iptables -t filter -L -v Chain INPUT (policy DROP 39 packets, 12431 bytes) pkts bytes target prot opt in out source 0 0 ACCEPT all -- lo any anywhere 0 0 ACCEPT all -- eth0 any anywhere state RELATED,ESTABLISHED Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source Chain OUTPUT (policy DROP 12 packets, pkts bytes target prot opt in 0 0 ACCEPT all -- any 0 0 ACCEPT all -- any 816 bytes) out source lo anywhere eth0 anywhere

destination anywhere anywhere

destination destination anywhere anywhere

54

http://www.linuxmagazine.com.br

LPI | TUTORIAL

-l: Mostra todas as portas abertas a conexes; -c: Execuo contnua, renova as informaes a cada segundo. O netstat capaz de obter e mostrar vrias outras informaes (tabelas de rotas, estatsticas de interface etc.). Mais detalhes sobre sua operao podem ser consultados na pgina manual (man netstat).

authpriv.*

/var/log/secure

Objetivo 1.114.2: Segurana do Host


syslog Em geral, todas as mensagens do servio de sistema syslog so importantes para checar e garantir o bom funcionamento do sistema. Porm, a facilidade authpriv especialmente importante, pois responsvel por informar questes relativas mudana e autenticao de usurios. Congurao de authpriv no arquivo /etc/syslog.conf:

Essa entrada far com que todas as mensagens relativas a authpriv sejam armazenadas no arquivo /var/log/secure . importante que os arquivos de log crticos em /var/log/* no possam ser lidos ou escritos por usurios comuns. Portanto, devem ter a permisso octal 600 (-rw-------). Algumas mensagens mais graves so enviadas por email para o usurio root. Para que outro usurio tambm receba essas mensagens de segurana, basta acrescent-lo como um alias de root em /etc/ aliases (ou /etc/mail/aliases):
root: ataliba, palimercio

(que devem ser nomes de contas de usurios existentes no sistema).

Sistema de senhas shadow O uso do sistema de senhas shadow proporciona maior segurana, visto que o arquivo onde as senhas so armazenadas (/etc/shadow) no oferece leitura para usurios comuns (-rw-r-----) e essas esto sob forte criptograa. O uso de senhas shadow vericado pela letra x no campo de senha do usurio em /etc/passwd. Caso o sistema no use senhas shadow, necessrio instalar o pacote shadow password suite (j presente na grande maioria das distribuies) e executar o comando pwconv para converter as senhas antigas para o novo formato. Desativando servios de rede Daemons de servios de rede que no esto sendo utilizados representam um risco adicional de invases que pode ser evitado. Uma das maneiras de desativar servidores desnecessrios

Para que o redirecionamento tenha efeito, deve ser executado o comando newaliases. No exemplo, as mensagens de segurana destinadas a root sero enviadas para os usurios ataliba e palimercio

TUTORIAL | LPI

Exemplo 12: Sada do comando nmap


$ nmap localhost Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-05-08 01:39 BRT Interesting ports on localhost (127.0.0.1): (The 1666 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 631/tcp open ipp 6000/tcp open X11

Exemplo 13: Uso detalhado do nmap


# nmap -sS -O localhost Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-05-08 01:50 BRT Interesting ports on localhost (127.0.0.1): (The 1666 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 631/tcp open ipp 6000/tcp open X11 Device type: general purpose Running: Linux 2.4.X|2.5.X|2.6.X OS details: Linux 2.4.0 - 2.5.20, Linux 2.6.3 - 2.6.7 (X86) Nmap finished: 1 IP address (1 host up) scanned in 3.240 seconds

aumentado at o limite hard. Se no for especicado -S ou -H, o limite indicado ser denido para ambos. Opes comuns de ulimit: -a: Mostra os limites atuais; -f: Especica o nmero mximo de arquivos que podero ser criados pelo shell; -u: O nmero mximo de processos disponveis ao usurio; -v: O montante mximo de memria virtual disponvel ao shell Para se estabelecer em 100 o limite mximo de processos:
ulimit -Su 100

Permitir que o usurio acresa esse limite at o mximo de 200:


ulimit -Hu 200

tirar a permisso de execuo do script que os inicia. Primeiro, o servio deve ser terminado, e depois executado o comando chmod -x script. Para servios disparados pelo servidor inetd, basta comentar (acrescentar o caractere #) linha referente ao servio em /etc/inetd.conf. Por exemplo, para desativar o servidor telnet em /etc/inetd.conf:
#telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

Objetivo 1.114.3: Segurana a Nvel de Usurio


Alm do cuidado com as permisses e senhas do usurio, controlados com as ferramentas passwd, usermod, umask etc., outras medidas podem ser tomadas para aumentar a disponibilidade da mquina, seja ela uma estao ou servidor. Usurios comuns podem provocar lentido e at panes no sistema se utilizarem exageradamente os recursos da mquina. Semelhante ao controle de espao em disco exercido atravs do uso de cotas, os limites de memria, a criao de arquivos e os processos tambm podem ser limitados atravs do comando ulimit. O ulimit um comando embutido no bash. Os limites so vlidos para a sesso do shell atual, assim como para sesses e processos disparados a partir dela. Geralmente, os limites so estabelecidos no login, atravs do arquivo /etc/profile. Para cada recurso, pode ser estipulado um limite soft e um limite hard, especicados pelas opes -S e -H, respectivamente. O limite hard no poder ser aumentado, e o limite soft poder ser

Se nenhuma opo for fornecida, o recurso assumido ser -f (limite de arquivos criados). Sem um valor de limite, ulimit mostrar o limite soft atual para a opo fornecida.

De forma semelhante, os servios controlados pelo servidor xinetd podem ser desativados no arquivo de congurao /etc/xinetd.conf, na opo disable correspondente ao servio. Para desativar o servidor FTP em /etc/xinetd.conf, a entrada correspondente no arquivo seria:
ftp { disable = yes socket_type = stream protocol = tcp wait = no user = root server = /usr/sbin/vsftpd }

Consideraes nais Apenas as conguraes mais fundamentais do Samba sero exigidas para a prova, como compartilhar o diretrio do usurio e impressoras. Quanto ao NFS, necessrio conhecer a sintaxe do arquivo /etc/exports e a utilizao do comando exportfs. Em relao a segurana, aparecero na prova questes como bloqueio de servios e inspeo de pacotes instalados. Alguns comandos pouco conhecidos tambm so abordados, como chage e ulimit.

Mais Informaes
[1] Internic: http://www.internic.net/ [2] Fapesp, Registro-BR: http://www.registro.br/ [3] CERT: http://www.cert.org [4] BUGTRAQ: http://www.securityfocus.com

56

http://www.linuxmagazine.com.br

www.baixebr.org

Ext4 | TUTORIAL

Pronto para o futuro


O prximo sistema de arquivos da famlia Ext oferece melhor desempenho e sistemas de arquivo maiores. Voc est preparado para o Ext4? por Marcel Hilzinger

O novo sistema de arquivos Ext4

TUTORIAL

Daniel Jaeger Vendruscolo - www.sxc.hu

Linux ganhou muito com Enquanto isso, diversas iniciativas um fork do cdigo, com a consea introduo do Ext2, e o ofereciam a esse sistema de arqui- qente criao do Ext4. Essa esExt3 foi o primeiro sistema vos avanos fundamentais demais tratgia permite que os usurios de arquivos com journal a entrar para serem facilmente integrados por todo o mundo continuem no kernel. Ao longo dos anos, a ao cdigo, porm importantes de- usando o Ext3 estvel, enquanto famlia Ext (Extended, estendi- mais para serem ignorados. os desenvolvedores integram e da) de sistemas de arquivo teve A soluo proposta pelos de- testam uma nova rodada de meum importante lugar no Linux, e senvolvedores foi a realizao de lhorias. O Ext4, prxima gerao continua sendo uma escolha bastante popular por parte dos usurios ao redor do mundo. Porm a venervel base de cdigo por trs do Ext est mostrando sinais da idade. Vrios meses atrs, desenvolvedores comearam a debater o problema de acrescentar novos recursos ao Ext3, mantendo sua estabilidade e a compatibilidade com cdi- Figura 1 O Ext4 grava um arquivo de 1 GB mais rpido que o ReiserFS em uma operao de gravao em bloco. O Ext4 bem mais veloz que o Ext3. gos mais antigos[1].

Linux Magazine #31 | Junho de 2007

57

TUTORIAL | Ext4

Figura 2 Um teste de resistncia do Bonnie++ avalia quantos arquivos o sistema de arquivos consegue criar ou apagar em um segundo. O Ext4 alcana as melhores marcas.

do Extended filesystem, agora j est disponvel para os usurios. Ns avaliamos como ele se compara a outras opes populares de sistemas de arquivos.

O Ext4 se encaminha a um melhor suporte a ambientes de 64 bits, o que leva a vrias outras melhorias. Um importante benefcio mostrado por ele o aumento no tamanho mximo de arquivo. No Ext3, esse valor era de 8 TB (com um tamanho de bloco padro, com 4 KB), que um dia j foi considerado gigantesco. No entanto, o hardware atual aceita maiores valores com folga. O Ext4 agora suporta sistemas de arquivos com at 1024 PB (petabytes). Outra importante mudana no Ext4 seu uso de extents, reas contguas de espao de disco adicional que contm arquivos. O propsito de um extent garantir que alteraes subseqentes ao arquivo sejam armazenadas na mesma localizao que o arquivo original. Os extents reduzem a fragmentao e melhoram a velocidade de gravao. Vrios outros sistemas de arquivos populares, como Reiser4, NTFS e o HFS da Apple j oferecem esse suporte.

O que muda?

A retrocompatibilidade tambm foi um dos objetivos dos desenvolvedores do Ext4: possvel montar parties Ext4 como Ext3, e tambm se pode montar uma Ext3 como Ext4 (com ext4dev como sistema de arquivos). Infelizmente, para atingir esse nvel de compatibilidade, necessrio desativar o recurso de extents do Ext4, que um de seus maiores benefcios de desempenho. Os interessados em testar o novo sistema de arquivos necessitaro de um kernel atual e das ferramentas de desenvolvimento comuns: make, GCC e glibc-devel. Em nosso laboratrio, usamos o kernel 2.6.20. Alm do suporte ao ext4dev, recomenda-se congurar no kernel o suporte a recursos como ACLs e atributos estendidos (Extended attributes ou XATTR). Em relao opo por compilar essas opes embutidas no kernel ou como mdulos, isso ca a cargo do usurio. Para incluir o suporte ao SElinux, ser necessrio acrescentar tambm o suporte a rtulos de segurana (Security labels). O suporte depurao de JBD2 torna o sistema de arquivos sensivelmente mais lento; portanto, uma boa idia excluir esse recurso do seu kernel.

Aps compilar o novo kernel (no se esquea da opo -j, caso possua uma mquina multiprocessada) e configurar adequadamente o gerenciador de inicializao, vamos comear os testes em uma partio real. Para criar uma partio Ext4, necessria uma verso recente do pacote e2fsprogs[2]. Se sua distribuio no disponibilizar uma verso suficientemente nova, possvel baixar o cdigo-fonte do pacote em [2] e realizar a compilao com os tradicionais ./configure && make && make install. Se algum erro ocorrer na etapa do make, provavelmente isso significa que necessrio instalar o pacote texinfo no sistema antes de tentar novamente essa compilao. A criao de uma nova partio Ext4 feita com mke2fs -j <partio>, obviamente substituindo <partio> pelo arquivo de dispositivo pertinente. Tambm possvel usar uma interface grca para criar uma nova partio Ext3. Depois disso, basta montar a partio com mount -t ext4dev <partio> <ponto de montagem>. O kernel deve carregar o mdulo ext4dev automaticamente. Se o objetivo for utilizar o recurso de extents do sistema de ar-

Usando o Ext4

58

http://www.linuxmagazine.com.br

Ext4 | TUTORIAL

para os prprios extents. Esse trabalho adicional no necessrio ao se apagar arquivos, o que fica evidente quando o Ext4 ultrapassa tanto o ReiserFS quanto o Ext3, como mostram os stress tests do Bonnie++. A figura 3 finalmente mostra a velocidade do Ext4 sem extents, no benchFigura 3 Sem extents, o Ext4 ca muito mais lento nas gravaes, descendo ao mesmo nvel que o Ext3. mark Slow.c com quivos, necessrio passar o par- velaram diferenas significativas um arquivo de 1 GB. Os resultados mostram que o desempenho metro -o extents para o comando entre commit=5 e commit=60. Em nossos primeiros testes com excepcional de gravao desse mount. importante lembrar que uma partio montada com extents a verso de desenvolvimento do sistema de arquivos resultado no poder ser montada como Ext4, medimos seu desempenho principalmente dos extents. Ext3 posteriormente. Por isso, com os benchmarks Bonnie++ [3] fundamental no montar uma e Slow.c [4]. A distribuio utilizapartio Ext3 pr-existente com da foi o OpenSuse 10.2, com um -o extents. Caso voc cometa esse kernel personalizado e o ext4dev O Ext4 um sistema de arquierro, a nica forma de no causar como mdulo. Nos testes, foi uti- vos veloz que ainda se encontra problemas desmontar a partio lizada a opo de montagem -o em estgio inicial de desenvolvisem realizar alteraes nela. extents , a menos que esteja es- mento. Apesar de a retrocompaOs desenvolvedores tm planos pecificado o contrrio. Todos os tibilidade apenas parcial poder de migrar o suporte a extents para outros sistemas de arquivos utili- causar certa confuso, ela no as ferramentas mke2fs e tune2fs no zaram parmetros padro. representa motivo para evitar o futuro, eliminando assim a necesO Ext4 alcana velocidades de uso do Ext4. No entanto, o fato sidade da opo no momento da gravao muito maiores que seus de ainda chamarem o sistema de montagem de parties. antecessores, e de fato ultrapassa, ext4dev provavelmente significa Alm dessas opes, o Ext4 pela primeira vez, seu concorren- que faz sentido permanecer um suporta parmetros de monta- te direto ReiserFS ( figura 1) em pouco mais com o Ext3. gem mais familiares para siste- operaes de gravao por blocos. mas de arquivos com journal. Dito isso, o ReiserFS ainda um No caso de laptops, a opo -o pouco mais veloz que o Ext4 na Mais Informaes commit=<segundos> tambm pode leitura. Para criao e apagamen[1] Proposta do Ext4: ser interessante. O intervalo es- to seqenciais de arquivos, o novo http://lkml.org/ pecificado em <segundos> determi- sistema de arquivos no muito lkml/2006/6/28/454 na a freqncia com que o Ext4 mais rpido que seu antecessor [2] E2fsprogs: gravar dados no disco. O valor Ext3 (figura 2). ftp://ftp.kernel.org/ padro a cada cinco segundos. Os efeitos dos extents quanto pub/linux/kernel/people/ tytso/e2fsprogs-interim/ Valores maiores aumentam o ao desempenho so claramente desempenho e tambm podem demonstrados pelos resultados [3] Bonnie++: http://www.coker.com.au/ economizar energia. Entretan- do teste de Criao aleatria. bonnie++/ to, note que isso compromete a compreensvel o Ext4 perder [4] Slow.c: segurana de qualquer dado que para o Ext3 nessa rodada, pois ele http://www.jburgess.uklinux. ainda no tenha sido salvo. Dito necessita de tempo extra para renet/slow.c isso, nossos benchmarks no re- servar espao de armazenamento

Concluses

Linux Magazine #31 | Junho de 2007

59

Virtualizao com o VirtualBox

TUTORIAL

Caixinha virtual
Se voc quer fugir das ferramentas de virtualizao muito complexas ou caras, experimente o VirtualBox. por Thomas Leichtenstern

Figura 1

algumas verses do VMware [1], ou difceis de usar, como o Xen. Alternativas como o Qemu geralmente no conseguem oferecer desempenho adequado em ambientes de produo. A empresa alem Innotek[2] recentemente deu um passo frente no preenchimento desse nicho, lanando seu sistema de virtualizao VirtualBox[3] sob a GPL (veja tambm o quadro 1). A empresa descreve o VirtualBox como uma ferramenta gratuita e amigvel, que oferece suporte a uma grande variedade de sistemas hspedes e hospedeiros. Podem ser hspedes do VirtualBox todas as distribuies Linux populaO VirtualBox abre mquinas virtuais como instncias independentes em janelas separadas, permitindo que o usurio res, alm dos BSDs, rode diferentes sistemas operacionais ao mesmo tempo. o OS/2 e qualquer

virtualizao vem ganhando popularidade como tcnica para simplicar a administrao de sistemas. As ferramentas de virtualizao simulam uma mquina autnoma independente do sistema hospedeiro. Infelizmente, vrios programas de virtualizao so caros, como

sistema Windows (incluindo o Vista). Os sistemas hospedeiros incluem o Windows XP e distribuies Linux com kernel 2.4 ou posterior, mas apenas em plataformas de 32 bits (aparentemente, h uma verso para 64 bits em desenvolvimento). Testamos a verso 1.3.8 do VirtualBox (a mais recente at o fechamento deste artigo), para verificar se o programa corresponde aos ambiciosos objetivos de seus desenvolvedores.

Diferentemente do VMware Workstation , o VirtualBox no gerencia mquinas virtuais como abas dentro de uma janela; em vez disso, ele mostra os sistemas hspedes em mltiplas janelas independentes ( figura 1). Mas h semelhanas entre as duas ferramentas: assim como o VMware, o VirtualBox trata os sistemas virtuais como instncias independentes.

Recursos

60

http://www.linuxmagazine.com.br

VirtualBox | TUTORIAL

O VirtualBox emula um computador com chipset Intel 440FX (Natoma), placa de rede AMD 79C973 (PCnet-II), chip de som Intel AC97 e um adaptador VGA com memria de vdeo congurvel at 32 MB. Os desenvolvedores pretendem integrar uma placa de rede Gigabit virtual da Intel. Uma barra permite o ajuste da quantidade de memria at o limite da memria fsica. Como as mquinas virtuais rodam como processos normais no sistema hospedeiro, o escalonador deste fica responsvel por alocar ciclos de CPU. No momento, o VirtualBox ainda no possui gerenciamento centralizado de processos para as mquinas virtuais, mas o objetivo inclu-lo por volta do meio do ano. O suporte nativo a imagens do VMware est planejado para antes do meio do ano. Assim como o VMware, o VirtualBox tambm possui um gerenciador de snapshots que permite que o usurio paralise e recupere o status de um sistema ativo, a qualquer momento. H um servidor RDP que pode ser ativado individualmente para qualquer sistema hspede para suportar o acesso grco atravs de redes.

A pgina de download na homepage do VirtualBox possui pacotes com os binrios do Debian (3.1 e 4.0), Ubuntu (6.06 LTS at 7.04), OpenSuse 10.2, Mandriva 2007.1 e RHEL 4. Os usurios de outras distribuies podem usar o script genrico de instalao, que tambm inclui os binrios. Como o VirtualBox requer um mdulo do kernel, ser necessrio o cdigo-fonte do kernel e seus cabealhos, alm do make e do GCC. O VirtualBox compila o mdulo a partir dos fontes, a menos que o usurio

Instalao

j possua um mdulo adequado disponvel. O software tambm necessita da verso 3.3.5 ou mais recente das bibliotecas Qt, assim como da biblioteca multimdia SDL 1.2.7 ou mais nova. Os usurios das distribuies atendidas pelos pacotes nativos podem utilizar seu gerenciador de pacotes Figura 2 A interface grca do VirtualBox simples e limpa. preferido para realizar a instalao do VirtualBox. J a insta- possui suporte a esse sistema de arlao genrica requer que o usurio quivos por motivos de segurana, os root execute o script de instalao usurios dessa distribuio precisam instalar um kernel diferente, ou encom o argumento install. A rotina de instalao cria um to simplesmente no utilizar USB grupo chamado vboxusers. Em nos sistemas virtuais. sistemas Ubuntu e Debian neOs usurios de outras distribuies cessrio acrescentar a eles, ma- precisaro modicar os pontos de nualmente, os usurios aptos a montagem em /etc/fstab para ter utilizar o VirtualBox, com um certeza de que o software possui os usermod -G vboxusers -a <usurio>. direitos de acesso necessrios para o Em sistemas como o Suse ou o USBFS. Para fazer isso, abra o /etc/ Mandriva, o comando usermod fstab como root e procure a entrada -A vboxusers <usurios>. Note que que monta o USBFS, como: usurios logados precisam sair e entrar novamente para aplicar as usbfs /proc/bus/usb usbfs noauto 0 0 novas configuraes de grupos. O script de instalao cria auAcrescente a seguinte linha a tomaticamente uma entrada para essa entrada: iniciar o servio do vboxdrv em /etc/init. d/, eliminando a necessidade de iniciar o servio ao iniciar a mquina hospedeira. Pode-se controlar o servio com o script de inicializao /etc/ init.d/vboxdrv, passando-lhe argumentos como start, stop e restart. O suporte a USB baseado no sistema de arquivos virtual USBFS. Como Figura 3 O VirtualBox exibe os nomes dos dispositivos USB do hospedeiro, e permite seu uso na mquina virtual. o OpenSuse 10.2 no

Linux Magazine #31 | Junho de 2007

61

TUTORIAL | VirtualBox

Quadro 1: Questes de licenciamento


A Innotek oferece dois sabores do VirtualBox: a Open Source Edition (OSE), com cdigo-fonte sob a GPL, e a verso binria de cdigo fechado, lanada sob a VirtualBox Personal Use and Evaluation License. A empresa permite que se use essa variante com propsitos pessoais e acadmicos, gratuitamente; todos os outros usos esto sujeitos ao pagamento de uma licena, aps um razovel perodo de avaliao de algumas semanas. A vantagem da variante paga que ela oferece recursos valiosos, como diretrios compartilhados e suporte a USB, RDP e iSCSI. usbfs /proc/bus/usb usbfs devgid= <GID_do_grupo_vboxusers>,de vmode=664,noauto 0 0

Aps um mount usbfs, os preparativos j esto terminados, e possvel rodar o VirtualBox. Porm, no caso do OpenSuse 10.0, que ignora as instrues para o sistema de arquivos USBFS presentes em /etc/fstab, necessrio remontar o USBFS com um pequeno script que pode ser executado na inicializao:
#!/bin/bash /bin/umount usbfs /bin/mount usbfs exit 0

Salve o script como usbfsstart. sh em /etc/init.d/, e crie um link

simblico para o diretrio de runlevel adequado (normalmente, /etc/init. d/rc5.d/).

shots, ou Hostkey para deixar a mquina virtual (que por padro a tecla [Ctrl] direita) esto disponveis no menu File | Global Settings. Para criar uma nova mquina virtual, clique no menu VM e em seguida no boto New. Isso inicia o Virtual Machine Wizard, um assistente para congurar parmetros como o nome da mquina virtual, o espao em disco que ela poder utilizar e a alocao de memria, alm de se especicar o sistema operacional hspede. Como o VirtualBox no verica o espao disponvel na partio fsica ao criar discos dinmicos, necessrio certicar-se de que h espao fsico suciente antes de informar um tamanho de disco virtual para a criao de uma nova mquina. Ao se congurar a memria, tambm necessrio tomar cuidado, pois o software de cada mquina virtual vai usar sua memria alocada de forma exclusiva. Se forem iniciadas mltiplas mquinas virtuais que, em conjunto, ultrapassem o espao de memria disponvel, uma das mquinas pode vir a travar ou fechar, e at mesmo os processos do hospedeiro podem vir a ser terminados. Clicar em Finish informa o Virtual Machine Wizard para acrescentar a nova mquina virtual com os parmetros bsicos especicados para a lista de mquinas virtuais de-

nidas (gura 2). No lado direito da janela, h mais conguraes para a mquina virtual, na aba Details. possvel ativar mais funes, como o suporte a udio (as opes so ALSA e OSS), a quantidade de memria de vdeo (congurvel at 32 MB), e compartilhamentos RDP. O software possui uma abordagem muito interessante para o gerenciamento de dispositivos USB (gura 3). Para listar todos os dispositivos USB ligados mquina, junto com seus descritores de fabricante e produto, apenas clique no cone Add from, na barra de ferramentas do lado direito. Para usar o dispositivo necessrio na mquina virtual, basta clicar nele. O menu Remote permite aos usurios especicar se desejam compartilhar o dispositivo para uso remoto (via USB sobre RDP). Se essa opo for ativada, possvel plugar um dispositivo, como um pendrive, por exemplo, ao computador remoto em uma sesso RDP, e acessar o dispositivo pela mquina hspede. Em nosso laboratrio, o suporte a USB causou alguns efeitos colaterais incomuns. Em um dos casos, o mouse USB do sistema hspede parou de funcionar aps iniciarmos uma mquina virtual, voltando apenas aps desligarmos o sistema hspede e recarregarmos

Para iniciar a interface grfica do VirtualBox ( figura 2), possvel selecionar tanto Sistema | Innotek | VirtualBox no menu do seu ambiente desktop, quanto digitar VirtualBox (virtualbox, no Gentoo) na linha de comando; no so necessrios privilgios de root. As conguraes globais (Global Settings), como os diretrios padro (Default Folders) de imagens e snap-

Conguraes

Figura 4 A funo de redimensionamento automtico do desktop modica automaticamente o tamanho da janela do sistema hspede, de acordo com o tamanho da janela.

62

http://www.linuxmagazine.com.br

VirtualBox | TUTORIAL

a imagem, com essas ferramentas, como um CD no sistema hspede, pode-se clicar em Devices | Install Guest Addins. Para instal-los, basta clicar em VBox GuestAdditions.exe (como usurio privilegiado) ou chamar VBoxGuestAdditions. Figura 5 O Virtual Disk Manager responsvel pelo run como root. gerenciamento de discos e imagens de discos Para mquinas virusados pelo VirtualBox. tuais Linux, necesos mdulos do kernel responsveis srio configurar os fontes e cabepelos controladores USB. Em outro, alhos do kernel manualmente. o sistema hspede recusou-se a cola- Os add-ins tambm habilitam o borar com pendrives que o sistema cursor do mouse automtico ao operacional normalmente detectaria alternar entre as mquinas virtuais sem qualquer problema. e o sistema hospedeiro. O VirtualBox no suporta cpias do tipo arrastar-e-soltar entre o hspede e seu hospedeiro. A interface grfica do VirtualDiferente do que acontece no VMware, as mquinas virtuais no Box simplesmente uma forma VirtualBox no tm uma BIOS se- conveniente de se controlar a base parada, em vez disso, necessrio da ferramenta de virtualizao, em usar a interface de congurao modo texto. Algumas configuraes para algumas operaes, como al- como os diretrios compartilhados terar a ordem de inicializao dos para todas as mquinas virtuais, s discos. Na parte inferior da janela esto disponveis atravs da linha da mquina virtual, alguns cones de comando. mostram o status dos dispositivos O comando VBoxManage, sem qualativos, assim como o da rede e das quer parmetro, lista os comandos unidades removveis e xas. Um disponveis. Para congurar um clique direito no cone de CD ou compartilhamento, basta digitar VBoUSB mostra um menu de contexto xManage sharedfolder add <hspede> que permite a montagem ou de- -name <nome do compartilhamento> sativao de unidades de disco e path <caminho/at/o/diretrio>. Para dispositivos, dinamicamente. isso, novamente sero necessrios os O redimensionamento automtico guest add-ins. do hspede modica o tamanho de sua respectiva janela, para adequarse resoluo da tela (gura 4). A seta verde no cone do desktop da O VirtualBox gerencia discos inbarra de ferramentas informa se dependentemente das mquinas essa funo est ativa, e um clique virtuais, atravs do Virtual Disk com o boto direito pode ativ-la ou Manager ( figura 5), acessvel atradesativ-la. Para us-la, necessrio vs do menu File, na janela prininstalar os recursos extras para hs- cipal. O programa exibe discos pedes (guest add-ins). Para montar virtuais na aba Hard Disks, sem

importar em que diretrios eles estejam fisicamente. Para usar discos em mquinas virtuais s quais eles estejam vinculados, basta clicar no boto Release. Com isso, o disco aparecer no menu de seleo de discos das outras mquinas virtuais. Para criar um novo disco independente, para car disponvel a todas as mquinas virtuais, pode-se clicar no boto New. A aba CD/DVD Images lista as imagens ISO que tenham sido montadas em alguma mquina virtual, em algum momento.

Operaes e funes

Apesar de alguns bugs pouco importantes, o VirtualBox cria uma impresso favorvel e oferece bom desempenho. A nica crtica importante o suporte falho a USB, mas para compensar isso, essa ferramenta possui uma excelente soluo de gerenciamento de discos virtuais e imagens de CD-ROM. O suporte a RDP e iSCSI, alm da funo de USB sobre RDP, por exemplo, ainda esto ausentes nos concorrentes. Os desenvolvedores prometem melhorias impressionantes para a prxima verso. Alm do controle de processos de uma funo de importao para imagens do VMware, as mudanas incluiro uma interface grfica para gerenciar compartilhamentos virtuais. Considerando que uma licena do VMware para uso domstico custa US$ 189,00, o gratuito VirtualBox uma boa escolha em muitas situaes.

Concluses

Discos virtuais

Mais Informaes
[1] VMware: http://www.vmware.com [2] Innotek: http://www.innotek.de [3] VirtualBox: http://www.virtualbox.org

Linux Magazine #31 | Junho de 2007

63

www.baixebr.org
Squid e OpenLDAP

SYSADMIN

Acesso mais seguro


Use o sistema de autenticao por Digest no Squid e evite a exposio de senhas. por Emanuel dos Reis Rodrigues

uando se fala no aumento de segurana em redes, j nos vm mente switches, SSL, TLS ou algum mecanismo baseado em criptograa pesada. Infelizmente, nem sempre conseguimos implementar SSL em tudo. Em redes grandes, onde o gerenciamento no centralizado, isso se torna ainda mais complicado, pois h sempre algum usando um hub velho numa sala desconhecida. Os switches esto cada vez melhores, mais robustos e bem mais conveis, e os hubs esto tentando car mais inteligentes, mantendo seu baixo custo para continuar no mercado. Uma tcnica muito utilizada por invasores o snifng, que captura dados da rede, geralmente originrios

de e destinados a outros usurios. Essa tcnica parcialmente bloqueada por vrios switches; porm, os hubs, assim como os switches mais antigos, ainda permitem a captura do trfego. Esse trfego pode conter senhas de FTP, HTTP, SMTP, POP3 e qualquer outro servio que se utilize de senhas para garantir a autenticidade dos usurios sem o uso de uma camada segura.

Centralizando informaes

Com o aumento signicativo das estruturas e sistemas integrados, o servio de diretrios cada vez mais utilizado no ambiente corporativo, fornecendo informaes e centralizando a autenticao para diversos outros servios.

Em uma empresa onde existem vrios servios que solicitam autenticao, sendo necessria uma senha para cada um, os usurios tornariam essa estrutura extremamente complicada. Utilizando o servio de diretrio, o usurio passa a usar apenas uma senha para todos os servios da empresa. Com isso, cada usurio assume total responsabilidade pelas atividades envolvidas com seu login na rede. O OpenLDAP um software livre que oferece um servio de diretrios baseado no protocolo LDAP, e perfeito para esse tipo de soluo. Dentre os servios existentes em uma rede, o acesso Internet pode ser destacado pelo uso intenso; utilizando o servio de diretrios, possvel controlar o acesso dos usurios

Tabela 1: Alguns Mecanismos de Autenticao suportados pelo Squid


Categoria ntlm_auth external_acl negotiate_auth digest_auth basic_auth Descrio Normalmente utilizado para atender clientes Windows, que ao fazerem logon na rede passam automaticamente suas credenciais ao Squid, que autoriza ou no o acesso internet. Qualquer mecanismo de autenticao externa que possa receber parmetros e retornar ERR ou OK, bastante utilizado para ACLs com grupos de usurios. um negociador de autenticao nativo do Windows, que tambm utiliza informaes de usurios logados no domnio NT. Pouco utilizado. Utiliza o protocolo HTTP em um esquema de desao e resposta baseado no algoritmo HMAC. , Utiliza o protocolo HTTP aplicando base64 para o trfego das senhas. ,

64

http://www.linuxmagazine.com.br

Squid | SYSADMIN

rede mundial de computadores, garantindo a transparncia sobre o uso da Internet corporativa.

Servio de acesso Internet


Para servir Internet aos usurios de uma rede, o software livre mais utilizado o Squid. Esse proxy web capaz de prover acesso Internet sem que os usurios precisem buscar diretamente o contedo das pginas, permitindo com isso o armazenamento das pginas num cache com a conseqente acelerao do acesso s mesmas e o controle de acesso dos usurios, com ltros e mecanismos de autenticao. A tabela 1 mostra as categorias de autenticao disponveis para o Squid. importante lembrar que cada uma dessas categorias possui vrios mdulos de autenticao.

Em termos de segurana, a autenticao por Digest no substitui a criptograa por SSL/TLS, pois esses ltimos so muito mais conveis. O Digest no capaz de resolver todos os problemas de insegurana na autenticao do Squid, mas aumenta-a signicativamente, com baixo custo e pouca sobrecarga.

Funcionamento do Digest com Squid


O Digest um sistema de autenticao baseado em desao e resposta (gura 1). No caso do Squid, que no diferente das demais implementaes de Digest, o usurio, utilizando um navegador, faz uma requisio ao proxy para uma pgina, www.linuxmagazine.com.br/faq/, por exemplo, que retorna o desao: Proxy Authentication Required tipo Digest, o realm, o nonce e o qop (tabela 2). Aps receber o desao, o navegador solicita ao usurio seu login e senha, e emprega o seguinte algoritmo:
A1 = login:realm:senha A2 = GET:/faq/ hashA1 = md5(A1) hashA2 = md5(A2) reponse = md5(hashA1:nonce:nc: cnonce:qop:hashA2)

dos vrios formatos: crypt, md5, sha, blowsh, clear e outros. Contudo, nenhum desses compatvel com o hash do mtodo Digest. O Squid ir pesquisar o login na base LDAP, solicitando o retorno de um campo para comparao com a resposta enviada pelo Digest. Esse campo simplesmente um atributo do usurio que possa armazenar uma cadeia de caracteres com o tamanho mnimo de REALM:{hha1} mais os 32 caracteres do hash. Esse campo passado para o squid_ldap_digest, e deve conter o seguinte formato: realm:{hha1}hash, como por exemplo:
Planeta Terra:{hha1}253a0909ab7dbb dba534f46b8d52d5e7

O problema e a escolha do mecanismo


A maioria das implementaes do Squid com OpenLDAP so feitas usando o mtodo basic de autenticao HTTP (basic_auth). Apesar de manterem a conexo entre o Squid e o LDAP em SSL ou loopback, o trfego de senhas entre o navegador e o proxy ocorre em Base64, permitindo que invasores consigam capturar e reverter as senhas para uso indevido. Somado presena dos inseguros hubs, esse cenrio pode se tornar altamente perigoso. O mtodo de autenticao NTLM possui a vantagem da facilidade de integrao com mquinas Windows, porm, em redes heterogneas, com mquinas Linux e Windows, esse modelo pode comprometer as mquinas Linux. Uma boa alternativa aos dois mtodos citados o Digest. O Digest utiliza o algoritmo HMAC, que faz uso de hashes MD5 da combinao de informaes dinmicas com a senha e o login do usurio, para transportar seus dados na rede.

Ao obter uma resposta, o Squid compara os realms; se forem diferentes, ele informa que a senha invlida, e se forem iguais, o restante testado em seguida. O segmento {hha1} necessrio, mas o squid_ldap_digest o elimina, mantendo apenas o hash, que md5(login:realm:senha), ou a senha em texto puro, no caso do uso sem criptograa (no recomendado). De posse do hash do valor A1 vindo do servidor LDAP, o Squid calcula novamente o valor:
md5(hashA1_vindo_do_LDAP:nonce:nc: cnonce:qop:hashA2)

Isso signica que o mecanismo Digest gera um hash MD5 do valor especicado em A1 e outro daquele de A2. Em seguida, gera um terceiro hash, dessa vez com os valores do primeiro hash de A1, nonce, nc, cnonce qop e o segundo hash, de A2. Esse terceiro hash a resposta (response) que ser enviada ao Squid, que o que realmente lhe interessa.

e o compara com o valor de response calculado previamente, tendo assim o resultado da autenticao (gura 1). Vamos agora implementar esse mtodo de autenticao para o proxy Squid. Como o digest do Squid 2.5 no suporta LDAP, e o mais recente no momento da escrita deste artigo, demonstraremos como implementar essa soluo usando partes do cdigo da verso 3 do proxy web, ainda em desenvolvimento.

Implementao

Integrao com OpenLDAP


A senha do usurio no OpenLDAP costuma ser guardada em um campo chamado userPassword, em um

Linux Magazine #31 | Junho de 2007

65

SYSADMIN | Squid

Tabela 2: Chaves utilizadas durante a transao Digest


Chave nonce nc cnonce qop Uri Descrio uma chave para a sesso gerada aleatoriamente pelo Squid; possui um tempo de vida denido. Request Counter um ID da requisio. uma chave gerada pelo cliente durante a transao, Client nonce. Cdigo de proteo, geralmente com o valor auth. Quando se acessa um site, por exemplo www.linuxmagazine.com.br, seu URI GET:/, pois nesse caso est sendo solicitado o acesso raiz do site. No acesso a www. linuxmagazine.com.br/faq, o URI GET:/faq. o reino da uma sesso Digest. Hash completo da transao, que ser enviado ao Squid. No faz parte da transao, sendo apenas um smbolo para a demonstrao. Ele gera um hash MD5 do que est dentro dos parnteses.

realm response md5( )

Aps baixar o cdigo-fonte do Squid 3 em [1], necessrio descompact-lo e executar as etapas de congurao e compilao:
$ tar -zxvf squid3-XX.tar.gz $ cd squid3-XX $ ./configure --enable-digesthelpers=ldap $ make

cp digest_ldap_auth /usr/lib/ squid/

Habilitar suExec: No Gerar as chaves SSL. Novamente, o pacote phpldapadmin tambm pedir o preenchimento de alguns valores: Tipo de Autenticao: Sesso Daemons do servidor Web para congurar: Todos Reiniciar servidores Web: Sim O OpenLDAP no possui necessidades especiais de instalao ou compilao; tanto o slapd do Debian quanto a congurao (./configure) dos fontes funcionam sem problemas. Devido a limitaes de espao, no possvel cobrir aqui a administrao de uma base LDAP. Para mais informaes a esse respeito, h bastante documentao na pgina do OpenLDAP, em [2].

necessrio que o Squid 2.5 que instalamos pelo gerenciador de pacotes tenha sido compilado com suporte ao helper digest, como o caso no Debian.

Congurao do OpenLdap
Para ter acesso base LDAP atravs do utilitrio phpldapadmin, ser necessria a congurao dos arquivos sob /usr/share/phpldapadmin/. Se o OpenLDAP tiver sido compilado manualmente, o diretrio phpldapadmin/ estar localizado no mesmo diretrio onde foi feita a instalao. No arquivo config.php, informe a localizao da base LDAP, seu nome e seu domnio. Algumas informaes podem ser obtidas no arquivo /etc/ ldap/slapd.conf.
$servers[$i][host]=localhost $servers[$i][base]=dc=linuxmaga zine,dc=com,dc=br $servers[$i][login_dn]=cn=admin ,dc=linuxmagazine,dc=com,dc=br

Instalao do OpenLDAP
Se ainda no houver um servidor OpenLDAP em execuo, ser necessrio instalar um. No Debian, o comando a seguir instalar os pacotes necessrios:
# apt-get install slapd ldap-utils apache-ssl phpldapadmin

No ser necessrio o make install, pois no iremos usar o proxy Squid 3, e sim o 2.5, que estvel e est pronto para o uso em produo. Em seguida, pode-se instalar o Squid a partir dos binrios empacotados pela sua distribuio. No caso dos usurios de Debian e derivados:
# apt-get install squid

O momento mais importante vem agora. Vamos utilizar no Squid 2.5 recm instalado o binrio da autenticao Digest gerado com o cdigo-fonte do Squid 3 na etapa anterior. Para isso, precisamos apenas copiar o binrio gerado para o local onde se encontram os binrios que vieram no pacote da distribuio:
# cd squid3-XX/helpers/digest_ auth/ldap/

A instalao do pacote slapd exigir o fornecimento de algumas informaes. Para exemplicar, mostraremos a congurao para o domnio linuxmagazine.com.br: Domnio LDAP: linuxmagazine. com.br Organizao: linuxmagazine Senha do administrador da base: suasenha Habilitar acesso base usando o protocolo ldapV2: Sim O apache-ssl tambm demanda algumas informaes:

Em seguida, podemos acessar o phpldapadmin pelo navegador web, no endereo https://ip_da_mquina_local/phpldapadmin/. Sero solicitados um login e uma senha:
Login DN: cn=admin,dc=linuxmagazin

66

http://www.linuxmagazine.com.br

Squid | SYSADMIN

e,dc=com,dc=br Senha: suasenha

Se forem fornecidas as informaes corretas, o sistema far o login do usurio, mostrando no canto esquerdo da tela o nome da base LDAP - no caso, dc=linuxmagazin e,dc=com,dc=br. Criaremos agora um novo usurio, clicando no smbolo + esquerda do nome da base e, na lista que se abre, clicando em Organizational Unit | OU Name | Create. Agora, clicando em ou=usurios | User Account (posixAccount), pode-se preencher as informaes a respeito do primeiro usurio. importante lembrar que o campo User Name ser o login do usurio criado. No necessrio informar o tipo de criptografia, e a shell de login deve ser /bin/ false . bom no alterar o valor de Container. Clicando em Continue | New User Account | Create Account, o novo usurio ser criado na base LDAP. Entretanto, a configurao feita at o momento no leva em conta a integrao com outros servios da rede. Para comear a realizar a integrao do OpenLDAP com os outros servios, precisamos primeiro gerar o contedo a ser usado no prximo passo, isso , o primeiro hash necessrio para a autenticao Digest. Para tanto, deve-se realizar essa operao num terminal:
$ echo -n fulano:Planeta Terra: senhadologin | md5sum | cut -b 0-32 d7e7a8f04c18cc1e0ad5ac83798d452c

Figura 1 Esquema da autenticao por Digest no Squid com OpenLDAP.

Depois de criado o usurio e o hash Digest, precisamos de um atributo para guard-los. Como visto anteriormente, esse atributo pode ser qualquer um, desde que caiba nele a informao do tipo string com o tamanho necessrio. Em nosso exemplo, vamos utilizar o atributo gecos do nis.schema, que tem outra finalidade, mas pode ser adequado de maneira genrica para guardar nossa cadeia de caracteres. Voltando ao phpldapadmin, deve-se clicar em uid=fulano dentro de ou=usurios e, na parte superior, inserir um novo atributo, selecionando gecos e inserindo o valor:
Planeta Terra:{hha1}d7e7a8f04c18cc 1e0ad5ac83798d452c

m,dc=br -F uid=%s -D cn=admin, dc=linuxmagazine,dc=com,dc=br -W /etc/secret -h localhost -v 3 A gecos -e auth_param digest children 5 auth_param digest realm Planeta Terra

Ao inserir o realm Planeta Terra, deve-se vericar se no h um espao em branco aps o termo, pois um simples caractere a mais pode acarretar problemas na autenticao, uma vez que causar a gerao de um hash distinto. Para obrigar o uso de senha para o acesso Internet, descomenta-se a linha:
acl password proxy_auth REQUIRED

Integrando

fundamental lembrar-se de substituir o hash acima pelo que foi copiado da etapa anterior. Agora o usurio fulano est pronto para utilizar a internet.

Na seo de denio das ACLs, no mesmo arquivo, a seguinte linha deve ser inserida:
http_access allow all password

Congurao do Squid
A congurao do Squid realizada no arquivo /etc/squid/squid.conf. Nele, necessrio inserir os parmetros de autenticao:
auth_param digest program /usr/ lib/squid/digest_ldap_auth -b ou =usuarios,dc=linuxmagazine,dc=co

Aps salvar o arquivo squid.conf, deve-se inserir a senha do administrador da base no arquivo /etc/secret e reiniciar o Squid:
# echo suasenha > /etc/secret # /etc/init.d/squid restart

importante guardar temporariamente esse hash, pois ele ser usado em breve.

Configurando-se o proxy do navegador para o endereo e a porta do proxy (em nosso caso, 10.0.0.1 e porta 3128), podemos tentar entrar em alguma pgina, e a auten-

Linux Magazine #31 | Junho de 2007

67

SYSADMIN | Squid

Exemplo 1: Script para adicionar o campo digest ao LDAP


<? /// Pr-requisito: PHP com suporte LDAP $base = dc=linuxmagazine,dc=com,dc=br; $dn = uid=fulano,ou=usuarios,dc=linuxmagazine,dc=com,dc=br; $server = localhost; $dn_admin = cn=admin,dc=linuxmagazine,dc=com,dc=br; $senha_admin = suasenha; $realm = Planeta Terra; $user = fulano; $senha = senhalogin; $ds=ldap_connect($server) or die (Nao foi possivel estabelecer conexao com $server !); ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3); $r=ldap_bind($ds,$dn_admin,$senha_admin) or (Erro ao autenticar: Credenciais invalidas); // Gerando o hash MD5 $hash = md5($user:$realm:$senha); $dados[gecos]=$realm . : . {hha1} . $hash; // Inserindo o attributo do Digest no ldap $r=ldap_modify($ds,$dn,$dados); if ($r) { echo Inclusao do Digest executada com sucesso para o usuario $user : ; echo $realm . : . {hha1} . $hash; } else { echo erro ao incluir Attributo Digest!; } ?>

ticao ser solicitada: Fornea a senha para o proxy: Planeta Terra em 10.0.0.1:3128 Evidentemente, o nome e a senha do usurio devem ser aqueles que criamos nos passos anteriores. O script digest_ldap_auth precisa receber como parmetro o login e a realm. possvel testar seu funcionamento na linha de comando, com o comando:
# /usr/lib/squid/digest_ldap_auth -b ou=usuarios,dc=linuxmagazine ,dc=com,dc=br -F uid=%s -D c n=admin,dc=linuxmagazine,dc=com, dc=br -W /etc/secret -h localhost -v 3 -A gecos -e

trada do login e realm incluindo as aspas. Se correr tudo bem, ele trar o hash:
"fulano": "Planeta Terra" d7e7a8f04c18cc1e0ad5ac83798d452c

Consideraes Finais

Problemas?

O exemplo 1 mostra um script em PHP que pode ser usado para adicionar o campo digest ao LDAP. Toda estrutura deve possuir suas polticas. Seria interessante agregar a possibilidade de implantao de um mecanismo para troca de senhas dentro de um tempo determinado, garantindo que os usurios troquem suas senhas e, se possvel, que elas sejam testadas por outro mecanismo, como a Cracklib, por exemplo, para garantir sua segurana.

A principal inteno deste artigo exemplificar o modelo de autenticao Digest, suportado por um grande nmero de servios, e capaz de proporcionar uma maior segurana na validao de senhas em trnsito pelas redes. Em caso de problemas durante os procedimentos, o autor deste artigo ficar feliz em ajudar.

Recomendaes

Mais Informaes
[1] Squid: http://www. squid-cache.org/ [2] OpenLDAP: http:// www.openldap.org/

O autor
Emanuel dos Reis Rodrigues assessor de TI no Centro de Tecnologia da Informao do Governo do Estado de Roraima.

Logo aps entrar com o comando, o script ir esperar a en-

68

http://www.linuxmagazine.com.br

www.baixebr.org
Barreiras de escrita

Organizando a la
Um bom disco rgido e um sistema de arquivos com journal no eliminam totalmente a perda de dados. preciso ir alm. por Martin Steigerwald

SYSADMIN

Stephanie - www.pixelio.de

istemas de arquivos com journal oferecem alguns importantes benefcios aos usurios, mas tambm pem alguns problemas sutis, como a necessidade do sistema de arquivos manter um registro que reflita o estado das operaes de escrita no dispositivo

dos podem no estar to seguros quanto se imagina. Os desenvolvedores de sistemas de arquivos e os fabricantes de discos rgidos esto cientes desse problema, e vrias solues e ajustes j foram empregados. Uma soluo no estilo fora bruta consiste simplesmente em esvaziar o cache de Transao 3 Transao 2 Transao 1 escrita antes e depois Muda entrada no diretrio Aloca espao de memria Adiciona entrada no diretrio de cada operao de Grava dados Aumenta espao na memria gravao, o que efetivamente elimina Adiciona arquivo Adiciona mais dados Renomeia o arquivo o cache sem desativ-lo na camada de INICIA APLICA INICIA APLICA INICIA APLICA hardware. Uma soluo melhor e mais veloz, e que vem recebendo bastante ateno dos desenvolvedores, Figura 1 O sistema de arquivos grava transaes individuais, como a criao de um arquivo, de forma garantir que as resucessiva no journal. As transaes podem ter o estado de completadas ou no iniciadas. As completadas so marcadas por uma operao de gravao contgua. quisies de gravade armazenamento, enquanto o dispositivo pode fazer alteraes na ordem das requisies de escrita de forma a otimizar o desempenho. Se o sistema falhar em um ponto em que o journal no esteja em compasso com a seqncia real das operaes de gravao, os da-

Linux Magazine #31 | Junho de 2007

69

SYSADMIN | Barreiras de escrita

o sejam efetivadas no disco em uma ordem previsvel, usando requisies do tipo write barrier (barreira de escrita). Apesar de o suporte a barreiras de escrita estar se tornando muito mais comum, a questo a respeito de se usar ou no essas barreiras e se o sistema de arquivos utilizado j est empregando-as depende do sistema de arquivos, verso do kernel e dispositivo de armazenamento. J passei por trs problemas graves com sistemas de arquivos em uma semana, em meu IBM ThinkPad T23 com XFS e kernel 2.6.16 com buffer de gravao ativado[1]. Os problemas pararam quando desativei o cache de gravao, muito embora verses anteriores do kernel fossem estveis com ele. Com um kernel 2.6.17, ao nal, a estabilidade com barreiras de escrita voltou ao nvel anterior. O rpido desenvolvimento e a integrao das barreiras de escrita s verses do kernel, drivers de sistema de arquivos e dispositivos de armazenamento significam que, se voc pretende fazer troubleshooting de um sistema de arquivos, melhor comear com ao menos um conhecimento bsico desse recurso.

Quadro 1: Journal de dados


Sistemas de arquivos com journal que escrevem apenas metadados nesse journal possuem uma desvantagem. Se as operaes de gravao forem interrompidas, os arquivos podem car ilegveis devido a operaes incompletas. O sistema de arquivos talvez tenha alocado outros blocos de dados para o arquivo antes de completar as operaes de escrita nesses blocos, ou ento uma operao de gravao destinada a sobrescrever dados em um arquivo pode no ter sido completada. Um sistema de arquivos com journal de dados soluciona isso gravando os dados primeiro no journal. Se ocorrer uma queda, o sistema de arquivos utiliza o journal para recuperar o estado em que os metadados estavam de acordo com os dados nos arquivos, e ento, ou as operaes de gravao individuais so completadas, ou no ocorrem. Os sistemas Ext3, ReiserFS 3 e Reiser 4 suportam o journal de dados, diferentemente do XFS e do JFS, que, na escrita deste artigo, ainda no o faziam. As operaes de escrita so muito mais lentas se o journal de dados estiver ativo, o que compreensvel, j que todas as operaes de gravao tero que ocorrer duas vezes: uma no journal e outra no disco propriamente dito. O Reiser 4 o nico sistema de arquivos que grava os dados em sua localizao nal e sobrepe um wandering journal nos dados. Os sistemas Ext3 e ReiserFS 3 oferecem uma soluo temporria para evitar o uso do journal de dados: o sistema grava os blocos de dados de uma transao de metadados antes de registrar a transao no journal. Essa soluo garante que novos blocos de dados alocados em um arquivo tenham sempre dados vlidos. Entretanto, operaes parcialmente terminadas que sobrescrevam dados em um arquivo sempre levaro a um estado inconsistente. O journal de dados no garante a integridade dos dados de sua aplicao caso um processo de escrita termine de forma anormal. por isso que muitos bancos de dados e programas servidores, como de email, por exemplo, possuem seus prprios mecanismos de assegurar a integridade dos dados em caso de interrupes inesperadas. Esse tipo de journal especco por aplicativo geralmente se baseia na gravao de dados em uma ordem especca, e costuma depender de operaes de escrita atmicas. Outros programas, como as aplicaes PIM do KDE (KAddressBook, Korganizer e Akkregator), criam backups dos arquivo crticos.

Um sistema de arquivos com journal oferece um seguro de vida aos dados, pois registra cada alterao realizada neles. Sistemas de arquivos com journal dos dados (ou journal completo full journalling) garante a consistncia do contedo de arquivos (veja o quadro 1). Essa abordagem bastante segura, porm, geralmente tem como custo de queda da desempenho. Uma tcnica mais rpida, conhecida como journal de meta-

Como funciona o journal

dados, garante a consistncia da estrutura do sistema de arquivos simplesmente monitorando as informaes dos metadados, como nomes de arquivos e diretrios, tamanhos de arquivos, permisses e localizaes de armazenamento. O sistema de arquivos guarda essa informao em blocos especiais para informaes administrativas, os inodes. Caso o sistema de arquivos seja interrompido enquanto modifica os metadados, estes podem tornar-se inconsistentes, pois a maioria das alteraes envolve mltiplas etapas, das quais talvez apenas a metade tenha sido realizada. Por exemplo, quanto o sistema de arquivos cria um novo arquivo, ele precisa criar

uma entrada no diretrio onde esse arquivo ser armazenado, alocar espao em disco, gravar os dados e lembrar-se de onde o arquivo foi gravado. Se ocorrer uma interrupo, o espao de armazenamento do arquivo pode ser ocupado, embora o sistema de arquivos talvez no tenha criado uma entrada at o momento da interrupo. Um sistema de arquivos sem journal sabe apenas que no foi corretamente desligado, e mostra isso na prxima inicializao. Um programa especial, como o fsck, deve verificar se os metadados esto intactos, e se houver um sistema de arquivos muito populoso, esse processo pode ser bem demorado.

70

http://www.linuxmagazine.com.br

Barreiras de escrita | SYSADMIN

Em contraste, sistemas de arquivos com journal gravam no journal as alteraes necessrias para uma operao completa, como a criao de um arquivo, na forma de transaes ( figura 1). As transaes so atmicas, isso , operaes contguas com um ou dois estados possveis: ou a transao ocorre por completo, ou simplesmente no ocorre. Supondo que a transao tenha sido completada, o sistema de arquivos atribui a ela um rtulo numa operao de gravao invisvel. Sistemas de arquivos com journal possuem um de dois formatos de armazenamento: journal fsico ou lgico. Um journal fsico, como o usado pelo Ext3, preenche blocos completos com metadados. O Ext3 utiliza para isso o Journal Block Device [2] (JBD). O XFS possui um journal lgico, assim como o ReiserFS 3 e o JFS. Esse journal guarda os metadados de uma forma independente dos arquivos, e mais compacta. Ao montar novamente um sistema com journal aps uma interrupo inesperada, ele tentar avaliar as informaes do journal para recuperar um estado consistente. Se alguma transao ainda estiver marcada como incompleta no journal, o sistema a descartar. O sistema de arquivos processar as transaes completadas passo a passo, vericando quais mudanas foram gravadas no disco e gravando aque-

Disco

Kernel

grava

Buffer

Meio fsico
Figura 2 No existe controle sobre a ordem de gravao se existir um buffer de escrita.

las que ainda no tenham ocorrido. Ele no rotula uma transao como completa at que todas as mudanas estejam gravadas no disco, e ento o espao do journal liberado. Como o sistema com journal apenas precisa verificar as entradas armazenadas no journal, no h necessidade de checar toda a estrutura de metadados, o que significa que o processo de recuperao no levar mais de alguns segundos sob circunstncias normais. Se o sistema for novamente interrompido durante o processo de recuperao, ele simplesmente continuar a partir da ltima transao incompleta quando tudo voltar ao normal. Essa tcnica no garante que todas as alteraes realizadas nos arquivo vo sobreviver a um desligamento repentino; no entanto, assegura que a estrutura do sistema de arquivos permanecer consistente caso todas as operaes de escrita ocorram na ordem correta. O sistema de arquivos comea gravando a transao no journal, e

ento aplica as mudanas nos metadados, marcando-as como completadas. Se essas mudanas chegarem ao disco antes da entrada do journal e o processo for interrompido, o sistema de arquivos ser incapaz de localizar no journal as entradas referentes a essas alteraes, durante o processo de recuperao. Nesse caso, o sistema obviamente adquire um estado inconsistente. As transaes marcadas como completadas antes das mudanas de metadados terem sido gravadas no disco podem causar problemas semelhantes. Portanto, o sistema de arquivos precisa assegurar que as alteraes sempre sejam gravadas em uma ordem especfica. No h garantia de que isso ocorra em discos rgidos dotados de cache. Esse tipo de disco primeiro faz um cache dos dados que precisa gravar, em um buffer de memria temporrio que se localiza entre a veloz memria RAM e os morosos mecanismos de gravao fsica do disco. O firmware ento decide em que ordem ir realizar

Tabela 1: Opes de montagem


Funcionalidade Barreira de escrita Sem barreira Journal de dados Ext3 barrier=1 barrier=0 ordered=journal ReiserFS barrier=flush barrier=none ordered=journal ordered=data Reiser 4 Padro Padro (wandering logs) XFS Padro desde o kernel 2.6.17 nobarrier Padro Padro JFS

Dados antes dos metadados ordered=data Modo Writeback

orered=writeback ordered=writeback

Linux Magazine #31 | Junho de 2007

71

SYSADMIN | Barreiras de escrita

a gravao do contedo do buffer de escrita ( figura 2 ). Uma tcnica para garantir que seja obedecida uma ordem de gravao especfica envolve o sistema de arquivos informar ao driver para esvaziar o cache antes e depois de uma transao de escrita. A segunda tcnica consiste em fazer o sistema de arquivos utilizar a funcionalidade de barreiras de escrita do kernel para ordenar as operaes de escrita em uma ordem especfica [3]. Uma requisio de barreira faz a camada de blocos do Linux manter a seguinte ordem nas operaes de gravao: todas as requisies de escrita anteriores requisio de barreira so processadas normalmente; em seguida, vem a requisio de barreira; depois disso, todas as requisies de gravao voltam a ser processadas normalmente. Essa abordagem possui duas vantagens. Em primeiro lugar, no h necessidade de um esvaziamento imediato do cache de gravao, pois ele pode ocorrer logo antes da requisio de barreira. Alm disso, o driver pode deixar a ordem de requisies parcial ou inteiramente nas mos dos inteligentes dispositivos de armazenamento. A camada de blocos do kernel faz distino entre dispositivos, com base em dois critrios: a ordem de requisio e o tipo de buffer de escrita ( quadro 2). Por exemplo, unidades do tipo Forced Unit Access no necessitam de um esvaziamento do cache aps a requisio de barreira. Ativar as barreiras de escrita em sistemas com journal pode aumentar tanto a estabilidade quanto o desempenho contanto que sua verso do kernel, seu disco e seu sistema de arquivos ofeream o suporte a esse recurso.

Para usar barreiras de escrita, primeiro necessrio um kernel que as suporte. Os diferentes sistemas de arquivos incluram esse recurso em verses distintas do kernel. Para o XFS, necessria a verso 2.6.17.7 do kernel, ou posterior. J no ReiserFS 3, as barreiras esto presentes desde o kernel 2.6.9, com muitas mudanas tendo sido efetuadas no 2.6.16. Independente dos nmeros, o que decide se as barreiras podem ser usadas com a sua combinao de componentes so os testes prticos. O RAID por software tambm funciona com barreiras de escri-

Aplicaes prticas

ta, contanto que o controlador e todos os dispositivos suportem o esvaziamento de cache (cache flushing). No entanto, nem todos os tipos de RAID so compatveis com o recurso. O suporte a barreiras de escrita est evoluindo muito rapidamente. Em caso de dvida quanto compatibilidade de um sistema com as barreiras, deve-se usar uma das opes de montagem mostradas na tabela 1 at ser possvel determinar o comportamento padro. Conferindo os registros do sistema, possvel identificar sucessos e fracassos no suporte ao recurso. O XFS, por exemplo, exibe nos

Quadro 2: Classes de dispositivos


A funcionalidade de write barriers na camada de blocos garante uma ordem especca no processamento de requisies de I/O. Requisies de barreira, portanto, necessitam de duas propriedades: Ordem de requisio So possveis as seguintes variantes: Dispositivos com suporte a mltiplas requisies enleiradas e a requisies seqenciais (dispositivos TCQ Tagged Command Queueing) tais como cotroladoras e dispositivos SCSI modernos. A camada de dados passa a requisio de barreira para o dispositivo como uma requisio seqencial. Os drivers de baixo nvel, controladoras e dispositivos so responsveis por manter a seqncia correta. Essa opo ainda no est ativada no Linux, pois a funo de dispatch do subsistema SCSI dos kernels at 2.6.17 no passa requisies atomicamente para a controladora SCSI, o que signica que a ordem de requisies pode mudar. Dispositivos com suporte a mltiplas requisies enleiradas, mas no s seqenciais tpico de controladoras e discos SCSI mais antigos, assim como de unidades SATA: a camada de blocos assegura a ordem correta. Dispositivos que lidam seqencialmente com requisies dispositivos SCSI muito antigos e discos IDE: novamente, a camada de blocos garante a ordem correta. Cache de escrita H quatro modalidades de cache de escrita: Sem cache: suciente para organizar as requisies na ordem correta. Cache writeback sem esvaziamento: impossvel garantir a ordem correta de escrita, e no h suporte s barreiras de escrita. necessrio desativar o cache de gravao, nos discos desse tipo, para oferecer suporte estvel a interrupes sbitas em sistemas de arquivos com journal. Cache de escrita com esvaziamento, sem Forced Unit Access (FUA): o subsistema de blocos aciona um esvaziamento de cache antes e aps a requisio. Cache de escrita com esvaziamento e FUA: a camada de blocos aciona o esvaziamento antes da requisio de barreira, a qual passa o esvaziamento como requisio FUA. Essa requisio informa o disco para grav-la imediatamente e no usar o cache de escrita para isso.

72

http://www.linuxmagazine.com.br

www.baixebr.org
logs trs possveis mensagens quando ocorre algum erro [4]. J o JBD, usado pelo Ext3, d uma mensagem clara e direta. O comando hdparm -I /dev/hda pode mostrar se o cache de gravao est ativado. hdparm -W0 /dev/hda desativa esse cache, e hdparm -W1 / dev/hda ativa-o. journal s so capazes de conservar sua integridade, aps interrupes inesperadas, caso o cache de escrita esteja desligado, ou se o sistema de arquivos gravar transaes de forma sncrona. Dispositivos com buffers de gravao que no suportem o esvaziamento do cache so, por projeto, incapazes de suportar uma ordem especfica para as requisies de escrit a. Nesse caso, a nica forma de os usurios obterem segurana para seus dados desativando o buffer de gravao. Controladores e dispositivos com buffers de gravao persistentes (NVRAM) no costumam suportar barreiras, pois conseguem gravar dados no disco at mesmo aps uma falta de energia. Na realidade, o suporte ao buffer de escrita s vezes pode interferir sobre o dispositivo NVRAM.

Barreiras de escrita | SYSADMIN

Ativar as barreiras de escrita resolveu os problemas de instabilidade no meu caso. A desativao do cache de gravao tambm foi til, mas, ao menos em teoria, as barreiras oferecem melhor desempenho principalmente em operaes de gravao complexas.

Concluso

Em alguns sistemas, possvel testar se as barreiras de escrita so suportadas montando-se o sistema de arquivos como um dispositivo de loop. Como esses dispositivos no suportam as barreiras, a presena de uma mensagem de erro ao se tentar montar um sistema com barreiras como loop indicam que as barreiras esto sendo usadas por padro. Sem a funcionalidade das barreiras, os sistemas de arquivos com

Suporte do sistema

Mais Informaes
[1] Kernel bug #6380: htttp://bugzilla.kernel. org/show_bug.cgi?id=6380 [2] Journalling Block Device: http://kerneltrap.org/ node/6741 [3] Documentao interna sobre barreiras no kernel 2.6.17.1: block/barriers.txt [4] FAQ do XFS: Como resolver o problema do cache de gravao?: http://oss.sgi.com/projects/ xfs/faq.html#wcache_fix

Plugins

PROGRAMAO

Plugando no Nagios
Veja como utilizar a verstil linguagem Perl para criar plugins personalizados para o daemon de monitoramento de redes Nagios. por Michael Schilli
Levi Szekeres - www.scx.hu

uitos administradores de redes j experimentaram aquela situao em que o colega no tcnico na sala ao lado de repente grita: Minha Internet caiu!. Evidentemente, uma possvel soluo para isso seria vericar se o roteador realmente est se comunicando com o provedor de acesso, e se os servidores DNS esto respondendo. Porm, usar o Nagios para monitorar esses fatores (gura 1) muito mais racional e eciente.

Na maioria dos casos, a instalao de um agente do Nagios no servidor a ser monitorado requer acesso a sua shell. Entretanto, se desejarmos monitorar a atividade de um servidor web contratado que no permite acesso por SSH, ainda h uma sada.

Estatsticas de I/O

iostat.cgi, que pode ser inserido

O exemplo 1 mostra o script agente no diretrio CGI do servidor web.

Ao ser ativado por uma requisio HTTP, o script chama o comando iostat do Linux, enviando parte da sada gerada de volta para o cliente, que no caso o plugin do Nagios. O plugin examina essa sada e utiliza o cdigo de sada para informar ao Nagios se h ou no um problema. O script CGI iostat.cgi utiliza a funo tap para chamar o comando iostat com os valores 1 e 2 (linha 8). Devido aos valores de intervalo (1) e

Exemplo 1: iostat.cgi
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #!/usr/bin/perl -w use strict; use Sysadm::Install qw(:all); use CGI qw(:all); use Regexp::Common; my ($saida, $erro, $rc) = tap iostat, 1, 2; $saida =~ /avg-cpu.*?avg-cpu/gs; print header(); for my $chave ( qw(user nice sys iowait idle) ) { if ($saida =~ /\G.*?($RE{num}{real})/gs) { printf %s %s , $saida, $1; } }

Figura 1 A pgina de visualizao geral do Nagios mostra que os testes locais foram completados com sucesso, mas o roteador e tudo alm dele encontram-se incomunicveis.

74

http://www.linuxmagazine.com.br

Plugins de Nagios | PROGRAMAO

Exemplo 2: check_iostat
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #!/usr/bin/perl use strict; use LWP::Simple; use Log::Log4perl qw(:easy); use Nagios::Clientstatus; my $versao = 0.01; my $cliente = Nagios::Clientstatus->new( help_subref => sub { print Uso: $0 , url\n; }, version => $versao, mandatory_args => [url], ); my $url = $cliente->get_given_arg( url); my $dados = get $url; if (! $dados) { print Falha ao obter $url\n; exit $cliente->exitvalue( unknown); } my %valores = split , $dados; my $status = $valores{idle} < 50 ? critical : $valores{idle} < 70 ? warning : $valores{iowait} > 20 ? critical : $valores{iowait} > 10 ? warning : ok; print IOSTAT , uc($status), - $dados\n; exit $cliente->exitvalue( $status);

Figura 2 O iostat mostra quanto tempo a CPU esteve ociosa, e com que freqncia foi necessrio esperar o disco rgido.

do contador (2), ele mede o desempenho da CPU e de I/O do disco rgido duas vezes a cada segundo, criando a sada mostrada na gura 3. O primeiro teste retorna o valor mdio desde a ltima reinicializao da mquina, enquanto o segundo mais interessante para o Nagios, pois coleta dados de desempenho por um segundo, enquanto o comando est em execuo. A coluna %ocioso mostra por quanto tempo a CPU permaneceu disponvel, e %esperaIO mede quanto tempo a CPU precisou esperar pelo disco rgido. Do ponto de vista do usurio, altos valores em %ocioso e baixos valores em %esperaIO so o melhor cenrio possvel. O script do exemplo 1 l a sada do comando iostat e descarta o primeiro conjunto de valores. Para isso, ele usa a expresso regular $RE{num}{real} do repositrio Regexp::Common para examinar os valores numricos. Aps o cabealho HTTP obrigatrio, ele retorna uma cadeia como user 2.99
nice 0.00 sys 0.00 iowait 0.00 idle 96.52. O chamado termo de largura zero, \G (linha 20), evita que o

No lado do Nagios, o plugin do exemplo 2 usa o LWP::Simple para chamar o script CGI do servidor mencionado acima, captura a linha de sada e executa um split para separ-la em campos, que ento so guardados na hash valores. Se a disponibilidade da CPU estiver abaixo de 50, o plugin retorna um estado crtico, enquanto valores at 80% retornam apenas um alerta. O mesmo princpio pode ser aplicado ao valor de iowait, mas os valores limite so 10 e 20 porcento. O mdulo do CPAN Nagios:: Clientstatus elimina parte da carga sobre o plugin, vericando se ele recebeu todos os parmetros necessrios. O mtodo exitvalue() tambm entende cadeias de caracteres, como warning, e no apenas os valores numricos que o Nagios exige. Se o plugin for executado na linha de comando, com check_iostat -url=http://servidor/cgi/iostat.cgi, ele retorna as seguintes linhas:
IOSTAT OK - user 2.99 nice 0.00 sys 0.00 iowait 0.00 idle 96.52

Carga mxima

na sada padro. Note que o Nagios:: Clientstatus exige a verso 2.35 ou mais recente do Getopt::Long.

mecanismo de regex volte ao incio do texto a cada vez, e ordena que ele continue a busca aps a ltima coincidncia.

O Nagios chama o plugin dessa mesma forma, interpreta o valor de sada e depois exibe a sada de texto

Para adicionar o novo plugin a uma instalao pr-existente do Nagios, o usurio administrador precisa copiar o script check_iostat para o diretrio /usr/local/

Integrao do plugin

Linux Magazine #31 | Junho de 2007

75

PROGRAMAO | Plugins de Nagios

Exemplo 3: verica_temperatura
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #!/usr/bin/perl -w use strict; use RRDTool::OO; use Getopt::Std; use Pod::Usage; use Nagios::Clientstatus; my $N = TEMPERATURA; my $cliente = Nagios::Clientstatus->new( help_subref => sub { pod2usage() }, mandatory_args => [ qw( crit warn dsname) ], ); my $rrd = RRDTool::OO->new(file => /tmp/temperature.rrd); my $dsnames = $rrd->meta_data(dsnames); $rrd->fetch_start( start => time() - 6 * 60, end => time() ); my $temp; if (my ($hora, @valores) = $rrd->fetch_next()) { for ( my $i = 0 ; $i < @$dsnames ; 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 $i++ ) { if ( $dsnames->[$i] eq $cliente->get_given_arg( dsname) ) { $temp = $valores[$i]; last; } }

my $status = ok; if (!defined $temp) { $status = unknown; } elsif ($temp >= $cliente->get_given_arg(crit)) { $status = critical; } elsif ($temp >= $cliente->get_given_arg(warn)) { $status = warning; } printf $N %s - %s: %s\n, uc($status), $cliente->get_given_arg( dsname), defined $temp ? sprintf(%.1f, $temp) : NODATA; exit $nc->exitvalue($status);

nagios/libexec e tornar o script executvel. A gura 3 acrescenta um modelo intitulado ez-service congurao do Nagios; ele facilita a adio futura de outros servios. Nas conguraes do Nagios, comum denir modelos, facilmente identicveis por suas entradas register 0. As denies de servios podem ser usadas depois para acrescentar entradas especiais aos modelos. A congurao dene service na gura 3 dene o novo servio iostat. Ela feita sobre o modelo do ez-service que denimos antes e aceita vrios parmetros para rodadas de teste, noticao por email e outros. Essas conguraes de modelos depois so herdadas pela denio do servio e podem ser sobrescritas caso necessrio.

Se o servidor Nagios for separado do resto do mundo devido a uma falha de rede, no ser possvel ele enviar alertas por email. Nesse caso, o administrador recebe ao menos um email de aviso quando o problema for resolvido. O sistema pode solucionar alguns problemas sem interveno humana. Com o Nagios 2.0, um servio sempre mapeado para uma mquina cuja disponibilidade testada independentemente. A especicao da mquina requer entradas no arquivo de congurao. A linha host_name = maquinax na congurao de exemplo dene o nome da mquina a ser exibido na pgina do Nagios.

Servidor solitrio

O parmetro check_command da denio de servios especica como chamar o novo plugin check_iostat. Entretanto, a chamada no feita diretamente na denio do servio; em vez disso, usado um comando congurado antes em define command para especicar a linha de comando a ser executada. A linha check_command pode usar argumentos opcionais, passados em seguida para a denio do comando. Separada por um ponto de exclamao, a URL da linha check_command passada para a denio de comando do iostat e substitui o termo $ARG1$. O valor 24x7 para check_period e notification_period requer conguraes para denir o email e a disponibi-

76

http://www.linuxmagazine.com.br

www.baixebr.org

Plugins de Nagios | PROGRAMAO

Figura 4 Sada e valores de retorno do plugin de temperatura com vrios parmetros de linha de comando.

sius. O limite crtico 35 graus. A figura 4 mostra os vrios valores de sada e a prpria sada do plugin para diferentes configuraes de parmetros. De forma semelhante ao plugin iostat que zemos antes, a linha de servio cheFigura 3 Congurao do Nagios para o novo plugin iostat.

de forma confivel pelo Nagios garante uma boa noite de sono, a menos que seja disparado um alerta, evidentemente. No entanto, ser acordado pelo Nagios apitando em seu celular ou pager definitivamente melhor do que ser arrancado da cama por um usurio irado no meio da noite.

lidade do administrador. Pode-se usar um arquivo de exemplo com nome de eznagios.cfg em [1] e acrescentar ao arquivo de congurao nagios.cfg a linha cfg_file=/usr/local/nagios/etc/ eznagios.cfg. Ao mesmo tempo, o eznagios.cfg dene os testes do Nagios que informaro quanto espao em disco est ocupado, e se seu roteador e DNS do provedor esto funcionando. O plugin verifica_temperatura mais um bom exemplo de contribuio caseira para o Nagios. O script ( exemplo 3) contacta o banco de dados round-robin para verificar a temperatura, alertando o servidor caso as temperaturas internas e externas mais recentes excederem valores especficos. No estilo tpico dos plugins de Nagios, ele aceita parmetros de linha de comando para valores de limites. Chamar verifica_temperatura warn=30 -crit=35 -dsname=Interior

ck_command verifica_tempera tura!25!30!Interior passa os parmetros 25, 30 e Interior para o script. A entrada de command

Mais Informaes
[1] Exemplos de arquivo de congurao: http://www. linuxmagazine.com.br/ arquivos/LM31/ezconfig.cfg

correspondente ca assim:

define command { command_name verifica_ temperatura command_line $USER1$/ verifica_temperatura -warn=$ARG1$ -crit=$ARG2$ -dsname=$ARG3$ }

Quente?

A parte central da colorida tabela da gura 1 mostra que os dois valores de temperatura esto bem normais: 18,8 graus (internos) e 15,9 graus (externos). Pelo menos meu apartamento no est em chamas!

E boa noite

Depois de todas essas alteraes aos arquivos de congurao, pode ser uma boa idia vericar novamente se no h erros de congurao, antes de tentar reiniciar o daemon. Para isso, execute:
#cd /usr/local/nagios #bin/nagios -v etc/nagios.cfg

aciona um alerta se a temperatura interior ultrapassar 30 graus Cel-

Uma estratgia de monitoramento bem planejada e realizada

Linux Magazine #31 | Junho de 2007

77

SERVIOS

Linux.local
Empresa
F13 Tecnologia

O maior diretrio de empresas que oferecem produtos, solues e servios em Linux e Software Livre, organizado por Estado. Sentiu falta do nome de sua empresa aqui? Entre em contato com a gente: 11 2161-5400 ou anuncios@linuxmagazine.com.br

Fornecedor de Hardware = 1 Redes e Telefonia / PBX = 2 Integrador de Solues = 3 Literatura / Editora = 4 Fornecedor de Software = 5 Consultoria / Treinamento = 6

Cidade
Fortaleza

Endereo Cear
Rua Coronel Solon, 480 Bairro de Ftima Fortaleza - CE - CEP 60040-270

Telefone
85 3252-3836

Web
www.f13.com.br

1 2 3 4 5 6

Esprito Santo
Linux Shopp Megawork Consultoria e Sistemas Spirit Linux Instituto Online Linux Place Microhard TurboSite iSolve Mandriva Conectiva NSI Training Open IT Unipi Tecnologias Vila Velha Vitria Vitria Belo Horizonte Belo Horizonte Belo Horizonte Belo Horizonte Curitiba Curitiba Rio de Janeiro Rio de Janeiro Campos dos Goytacazes Lajeado Novo Hamburgo Porto Alegre Porto Alegre Rua So Simo (Correspondncia), 18 CEP: 29113-120 Rua Chapot Presvot, 389 Praia do Canto CEP: 29055-410 sl 201, 202 Rua Marins Alvarino, 150 CEP: 29047-660 27 3082-0932 27 3315-2370 27 3227-5543 31 3224-7920 31 3284-0575 31 3281-5522 0800 702-9004 41 252-2977 41 3360-2600 www.linuxshopp.com.br www.megawork.com.br www.spiritlinux.com.br www.institutoonline.com.br corporate.linuxplace.com.br www.microhard.com.br www.turbosite.com.br www.isolve.com.br www.mandriva.com.br www.nsi.com.br www.openit.com.br www.unipi.com.br

Minas Gerais
Av. Bias Fortes, 932, Sala 204 CEP: 30170-011 Rua do Ouro, 136, Sala 301 Serra CEP: 30220-000 Rua Repblica da Argentina, 520 Sion CEP: 30315-490 Rua Paraba, 966, Sala 303 Savassi CEP: 30130-141

Paran
Av. Cndido de Abreu, 526, Cj. 1206B CEP: 80530-000 Rua Tocantins, 89 Cristo Rei CEP: 80050-430

Rio de Janeiro
Rua Arajo Porto Alegre, 71, 4andar Centro CEP: 20030-012 21 2220-7055 Rua do Mercado, 34, Sl, 402 Centro CEP: 20010-120 Av. Alberto Torres, 303, 1andar - Centro CEP 28035-581 21 2508-9103 22 2725-1041

Rio Grande do Sul


Solis DualCon Datarecover LM2 Consulting Rua Comandante Wagner, 12 So Cristvo CEP: 95900-000 Rua Joaquim Pedro Soares, 1099, Sl. 305 Centro Av. Carlos Gomes, 403, Sala 908, Centro Comercial Atrium Center Bela Vista CEP: 90480-003 Rua Germano Petersen Junior, 101-Sl 202 Higienpolis CEP: 90540-140 Av. Venncio Aires, 1137 Rio Branco CEP: 90.040.193 Rua dos Andradas, 1234/610 Centro CEP: 90020-008 51 3714-6653 51 3593-5437 51 3018-1200 51 3018-1007 51 3331-1446 51 3286-3799 19 3846-1137 11 4195-2557 19 3256-6722 19 3213-2100 19 3236-1915 11 3213-6388 11 5034-4199 14 3413-1137 11 2106-9392 11 2173-4211 11 4990-0065 16 3376-0125 11 4062-9889 www.solis.coop.br www.dualcon.com.br www.datarecover.com.br www.lm2.com.br www.lnx-it.inf.br www.plugin.com.br www.tehospedo.com.br www.wshost.com.br www.digivoice.com.br www.dextra.com.br www.insignesoftware.com www.microcamp.com.br www.pc2consultoria.com www.savant.com.br www.epopeia.com.br www.redentor.ind.br www.go-global.com.br www.aw2net.com.br www.async.com.br www.delixhosting.com.br

Lnx-IT Informao e Tecnologia Porto Alegre Plugin TeHospedo Ws Host DigiVoice Dextra Sistemas Porto Alegre Porto Alegre Arthur Nogueira Barueri Campinas

Av. Jlio de Castilhos, 132, 11 andar Centro CEP: 90030-130 51 4003-1001

So Paulo
Rua Jerere, 36 Vista Alegre CEP: 13280-000 Al. Juru, 159, Trreo Alphaville CEP: 06455-010 Rua Antnio Paioli, 320 Pq. das Universidades CEP: 13086-045 Av. Andrades Neves, 1579 Castelo CEP: 13070-001 Av. Thomaz Alves, 20 Centro CEP: 13010-160 Rua Edeia, 500 - 06350-080 Av. Senador Vitorino Freire, 465 CEP: 09910-550 Rua Gois, 392 Bairro Cascata CEP 17509-140 Rua Costante Piovan, 150 Jd. Trs Montanhas CEP: 06263-270

Insigne Free Software do Brasil Campinas Microcamp PC2 Consultoria em Software Livre Savant Tecnologia Epopia Informtica Redentor Go-Global AW2NET Async Open Source Delix Internet Campinas Carapicuiba Diadema Marlia Osasco

Santana de Parnaba Av. Yojiro Takaoca, 4384, Ed. Shopping Service, Cj. 1013 CEP: 06541-038 Santo Andr So Carlos So Jos do Rio Preto Rua Edson Soares, 59 CEP: 09760-350 Rua Orlando Damiano, 2212 CEP 13560-450 Rua Voluntrio de So Paulo, 3066 9 Centro CEP: 15015-909

78

http://www.linuxmagazine.com.br

Linux.local | SERVIOS

Empresa
4Linux A Casa do Linux Accenture do Brasil Ltda. ACR Informtica Agit Informtica Altbit - Informtica Comrcio e Servios LTDA. AS2M -WPC Consultoria Big Host Blanes Commlogik do Brasil Ltda. Computer Consulting Projeto e Consultoria Ltda. Consist Consultoria, Sistemas e Representaes Ltda. Domnio Tecnologia EDS do Brasil tica Tecnologia Getronics ICT Solutions and Services Hewlett-Packard Brasil Ltda. IBM Brasil Ltda. iFractal Integral Itautec S.A. Linux Komputer Informtica Linux Mall Livraria Tempo Real Locasite Internet Service Microsiga Novatec Editora Ltda. Novell Amrica Latina

Cidade
So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo

Endereo So Paulo (continuao)


Rua Teixeira da Silva, 660, 6 andar CEP: 04002-031 Al. Ja, 490 Jd. Paulista CEP 01420-000 Rua Alexandre Dumas, 2051 Chcara Santo Antnio CEP: 04717-004 Rua Lincoln de Albuquerque, 65 Perdizes CEP: 05004-010 Rua Major Quedinho, 111, 5 andar, Cj. 508 Centro CEP: 01050-030 Av. Francisco Matarazzo, 229, Cj. 57 gua Branca CEP 05001-000 Av. Tiradentes, 615, Ed. Santiago, 2 andar Bom Retiro CEP: 01101-010 Rua Dr. Miguel Couto, 58 Centro CEP: 01008-010 Rua Andr Ampre, 153 9 andar Conj. 91 CEP: 04562-907 (prx. Av. L. C. Berrini) Av. das Naes Unidas, 13.797, Bloco II, 6 andar Morumbi CEP: 04794-000

Telefone
11 2125-4747 11 3549-5151 11 5188-3000 11 3873-1515 11 3255-4945 11 3879-9390 11 3228-3709 11 3033-4000 11 5506-9677 11 5503-1011

Web
www.4linux.com.br www.acasadolinux.com.br www.accenture.com.br www.acrinformatica.com.br www.agit.com.br www.altbit.com.br www.wpc.com.br www.bighost.com.br www.blanes.com.br www.commlogik.com.br www.computerconsulting.com.br www.consist.com.br www.dominiotecnologia.com.br www.eds.com www.etica.net www.getronics.com/br www.hp.com.br www.br.ibm.com www.ifractal.com.br www.integral.com.br www.itautec.com.br www.komputer.com.br www.linuxmall.com.br www.temporeal.com.br www.locasite.com.br www.microsiga.com.br www.novateceditora.com.br www.novell.com/brasil www.oracle.com.br www.proelbra.com.br www.e-provider.com.br www.redhat.com.br www.samurai.com.br www.sap.com.br www.simplesconsultoria.com.br www.smart-tec.com.br www.snapit.com.br www.stefanini.com.br www.sun.com.br www.sybase.com.br www.thesource.com.br www.unisys.com.br www.utah.com.br www.visuelles.com.br www.webnow.com.br www.wrl.com.br www.systech-ltd.com.br

1 2 3 4 5 6

Rua Vergueiro, 6455, Cj. 06 Alto do Ipiranga CEP: 04273-100 11 5062-3927 Av. das Naes Unidas, 20.727 CEP: 04795-100 Rua das Carnaubeiras, 98 Metr Conceio CEP: 04343-080 Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5 andar Rua Nova York, 945 Brooklin CEP:04560-002 Rua Verbo Divino, 1207 CEP: 04719-002 Av. das Naes Unidas, 12.901, 25 andar CEP: 04578-000 Rua Tutia, 1157 CEP: 04007-900 Rua Dr. Gentil Leite Martins, 295, 2 andar Jd. Prudncia CEP: 04648-001 Rua Santa Catarina, 1 Tatuap CEP: 03086-025 Av. Dr. Lino de Moraes Leme, 185 CEP: 04360-001 Rua Machado Bittencourt, 190, Cj. 2087 CEP: 04044-001 Al. Santos, 1202 Cerqueira Csar CEP: 01418-100 Av. Brigadeiro Luiz Antonio, 2482, 3 andar Centro CEP: 01402-000 Av. Braz Leme, 1631 CEP: 02511-000 Rua Luis Antonio dos Santos, 110 Santana 02460-000 Rua Funchal, 418 Vila Olmpia Av. Alfredo Egdio de Souza Aranha, 100 Bloco B 5 andar CEP: 04726-170 11 5693-7210 11 5017-0040 11 3707-4100 11 5093-3025 11 5187-2700 11 5502-5000 0800-7074 837 11 5545-2600 11 6097-3000 11 5034-4191 11 5087-9441 11 3266-2988 11 2121-4555 11 3981-7200 11 6979-0071 11 3345-3900 11 5189-3000

Rua Fiao da Sade, 145, Conj. 66 Sade CEP: 04144-020 11 5078-6618

Oracle do Brasil Sistemas Ltda. So Paulo Proelbra Tecnologia Eletrnica Ltda. Provider Red Hat Brasil Samurai Projetos Especiais SAP Brasil Simples Consultoria Smart Solutions Snap IT Stefanini IT Solutions Sun Microsystems Sybase Brasil The Source Unisys Brasil Ltda. Utah Visuelles Webnow WRL Informtica Ltda. Systech So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo So Paulo Taquaritinga

Av. Rouxinol, 1.041, Cj. 204, 2 andar Moema CEP: 04516-001 11 5052- 8044 Av. Cardoso de Melo, 1450, 6 andar Vila Olmpia CEP: 04548-005 Av. Anglica, 2503, 8 andar Consolao CEP: 01227-200 Rua Baro do Triunfo, 550, 6 andar CEP: 04602-002 Av. das Naes Unidas, 11.541, 16 andar CEP: 04578-000 Rua Mourato Coelho, 299, Cj. 02 Pinheiros CEP: 05417-010 Av. Jabaquara, 2940 cj 56 e 57 Rua Joo Gomes Junior, 131 Jd. Bonglioli CEP: 05299-000 Av. Brig. Faria Lima, 1355, 19 Pinheiros CEP: 01452-919 Rua Alexandre Dumas, 2016 CEP: 04717-004 Av. Juscelino Kubitschek, 510, 9 andar Itaim Bibi CEP: 04543-000 Rua Marqus de Abrantes, 203 Chcara Tatuap CEP: 03060-020 R. Alexandre Dumas 1658 6, 7 e 8 andares Chcara Santo Antnio CEP: 04717-004 Av. Paulista, 925, 13 andar Cerqueira Csar CEP: 01311-916 Rua Eng. Domicio Diele Pacheco e Silva, 585 Interlagos CEP 04455-310 Av. Naes Unidas, 12.995, 10 andar, Ed. Plaza Centenrio Chcara Itaim CEP: 04578-000 Rua So Jos, 1126 Centro - Caixa Postal 71 CEP: 15.900-000 11 2165-6500 11 3124-6000 11 5097-3014 11 5503-2400 11 3898-2121 11 5052-5958 11 3731-8008 11 3039-2000 11 5187-2100 11 3046-7388 11 6698-5090 11 3305-7000 11 3145-5888 11 5614-1010 11 5503-6510

Rua Santa Ignia, 211/213, Box 02 Centro CEP: 01207-001 11 3362-1334 16 3252-7308

Linux Magazine #31 | Junho de 2007

79

www.baixebr.org
Calendrio de eventos
Evento Data 22 e 23 de maio 25 e 26 de maio 30 de maio a 2 de junho 6 a 9 de junho 11 a 14 de junho 23 de junho 13 e 14 de novembro Local San Francisco, EUA Manaus, AM Berlim, Alemanha Fortaleza, CE Limerick, Irlanda So Paulo, SP Foz do Iguau, PR Website osbc.com www.eslam.comunidadesol.org www.linuxtag.org www.sesol.ufc.br oss2007.dti.unimi.it www.ti.com.br www.latinoware.org

SERVIOS

Open Source Business Conference IV Encontro de Software Livre do Amazonas Linux Tag 2007 3 Semana do Software Livre da Universidade Federal do Cear OSS 2007 Linux Day Latinoware 2007

ndice de anunciantes
Empresa Celepar Dextra Easy Linux Fracto Intel Itautec Linux New Media Linux Park Linux Solutions Linux World LPI Microsoft Plugin Xandros Pg. 15 39 43 02 84 07 11 83 77 81 55 09 13 29

80

http://www.linuxmagazine.com.br

PREVIEW

Na Linux Magazine #32


DESTAQUE ANLISE

Groupware

Um groupware um sistema baseado em computador que auxilia grupos de pessoas envolvidas em tarefas ou objetivos comuns, e que prov interface para um ambiente compartilhado. O principal mote para a adoo do groupware nas empresas a sua capacidade de tornar o trabalho em grupo mais eciente, diminuir o tempo gasto nas atividades conjuntas e diminuir o custo de realizao das atividades que devam ter mais de um executante. O Linux e o Cdigo Aberto marcam pontos nesse mercado competitivo, mostrando que os sistemas livres sabem entrar no ritmo da sua empresa quando a palavra-chave colaborar, inclusive interagindo com solues proprietrias ou transferindo informaes, de maneira segura, via Internet.

Amigo do pingim

Software prossional dedicado a anlises avanadas, tanto lineares quanto no-lineares, de processos e projetos de Engenharia, o Abaqus famoso em todo mundo como sinnimo de ferramenta tcnica de alta produtividade. O que pouca gente sabe, todavia, que o Abaqus compatvel com sistemas Linux de longa data... e poderamos at dizer que eles so amigos e trabalham juntos, colaborando em projetos como o desenvolvimento de modelos de carros de luxo para a Audi alem!.

TUTORIAL

O Wireshark (antigo Ethereal) o capturador grfico de pacotes mais usado em sistemas Linux. Porm, o roubo de informaes no sua nica aplicao. Mostramos mltiplas utilidades do Wireshark em situaes comuns em ambientes de rede corporativos.

Wireshark

Na EasyLinux #09
Games no Linux
Nem s de trabalho duro vive o Linux. O sistema do Pingim tambm surpreende quando o tema games e faz rodar alguns dos jogos mais emocionantes da atualidade, feitos nos moldes dos sistemas proprietrios. Como isso possvel? Atravs do Cedega software pago ou do virtuoso Wine. Com algumas conguraes e entradas bsicas na linha de comando, voc vai aprender a instalar jogos como o famoso City of Heroes, dentre outros. No perca a srie de artigos completa, com passo-a-passo, screenshots e solues, especialmente preparada para a sua diverso!
DESTAQUE

Tudo sob controle

LABORATRIO

Voc quer saber qual o uso que seu computador faz da CPU, memria e outros recursos, alm de vericar o recebimento de emails? Delegue essa tarefa ao GKrellM, um programa enxuto, que oferece plugins adicionais, especialista em monitorar o sistema na forma de ecientes grcos.

82

http://www.linuxmagazine.com.br

PENSE PARALELO
Novos Compiladores Intel C++ e Fortran 10.0 Professional Editions
Agora oferecem a melhor alternativa para criar aplicaes multi-thread nos ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional Edition da Intel oferecem recursos de otimizao avanado de cdigo e potencialidades multi-threading que incluem vetorizao, auto-paralelizao, OpenMP*, prefetching de dados, desmembramento de loops e bibliotecas altamente otimizadas de rotinas multi-threading prontas, processamento matemtico e de multimdia. O Compilador Intel 10.0 Professional Edition possui bibliotecas de software que permitem a voc programar no ambiente paralelo como um especialista desde o primeiro dia. Estas bibliotecas so constantemente atualizadas para uso automticos de funcionalidades dos novos processadores. O compilador e bibliotecas so pr-validados para trabalharem juntos:
Compiladores Intel C++ e Fortran automaticamente paralelizam e otimizam seu cdigo para melhor desempenho, para tirar mximo proveito dos processadores multi-core, com o mnimo esforo. Bibliotecas Matemticas Intel MKL 9.1 oferecem funes matemticas para o ambien te multi-thread com o melhor desempenho nas plataformas multi-core. Intel Integrated Performance Primitives 5.2 (somente para C++) so funes paralelas altamente otimizadas que aceleram o desenvolvimento de aplicaes multimdia, de criptografia e de processamento de sinais. Intel Threading Building Blocks 1.1 (somente para C++) consiste de rotinas otimizadas e testadas para simplificar o desenvolvimento de aplicaes escalveis e robustas com a utilizao de recursos multi-thread.

Dentro de uma dcada, um programador que no pensar paralelo, no ser um programador. James Reinders
Evangelista Chefe de Software da Intel Software Products

TAKE THE NEXT STEP


Tech Digital (11) 5181-1852 www.techdigital.com.br/intel Itautec 0800 121444 Katalogo 0800 7729897 www.katalogo.com.br/intel MStech (11) 5080-3838 Strattus (11) 3531-6550
Copyright 2007 Intel Corporation. Intel, the Intel logo, Intel. Leap ahead. and the Intel. Leap ahead. logo are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries. All rights reserved.

Você também pode gostar