Você está na página 1de 84

06/2007

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

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
e de multimdia.
que permitem a voc programar no ambiente paralelo como um especialista

Dentro de uma dca-

automticos de funcionalidades dos novos processadores.

que no pensar

O compilador e bibliotecas so pr-validados para trabalharem juntos:

paralelo, no ser

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.

um programador.

Bibliotecas Matemticas Intel MKL 9.1 oferecem funes matemticas para o ambien
te multi-thread com o melhor desempenho nas plataformas multi-core.

Evangelista Chefe de Software

James Reinders
da Intel Software Products

EXT4

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.

LPI

da, um programador

LOOKING GLASS

desde o primeiro dia. Estas bibliotecas so constantemente atualizadas para uso

GROUNDWORK

O Compilador Intel 10.0 Professional Edition possui bibliotecas de software

VIRTUALBOX

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.

Assinante

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

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.

WRITE BARRIERS

Strattus
(11) 3531-6550

VEJA TAMBM NESTA EDIO:


Curso LPI: ltima aula para LPI-1 p.47
Looking Glass, o inovador desktop 3D da Sun p.45
Ext4: Esse sistema de arquivos vale a pena?
p.57
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 p ro i b i d a
9 771806 942009

00031
exemplar
de

MONITORAMENTO
DE REDES

SQUID

TAKE THE NEXT STEP

MStech
(11) 5080-3838

Junho 2007

NAGIOS

otimizadas de rotinas multi-threading prontas, processamento matemtico

MONITORAMENTO DE REDES

ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional

Itautec
0800 121444

# 31

Agora oferecem a melhor alternativa para criar aplicaes multi-thread nos

Katalogo
0800 7729897
www.katalogo.com.br/intel

R$ 13,90
7,50

A REVISTA DO PROFISSIONAL DE TI

Novos Compiladores Intel C++ e Fortran 10.0 Professional Editions

Tech Digital
(11) 5181-1852
www.techdigital.com.br/intel

Linux Magazine

PENSE
PARALELO

# 31

#31 06/07

Expediente editorial

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

INSTITUTO VERIFICADOR DE CIRCULAO

em processo de filiao

Linux Magazine #31 | Junho de 2007

Enquanto durou

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

Prezados leitores da Linux Magazine,

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

NDICE

CAPA
O verdadeiro Grande Irmo

32

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

40

O Nagios possui uma interface web bastante bsica. O GroundWork uma interface mais amigvel e
com visual prossional para essa ferramenta.

PROGRAMAO
Plugando no Nagios

74

Veja como utilizar a verstil linguagem Perl


para criar plugins personalizados para o daemon de monitoramento de redes Nagios.

http://www.linuxmagazine.com.br

Linux Magazine 31 | NDICE

Tutorial

COLUNAS
Augusto Campos
Charly Khnast
Klaus Knopper
Zack Brown

08
10
12
14

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

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

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

60

NOTCIAS
Segurana
OpenOfce.org

16

XMMS
File
Libwpd
Biblioteca do KDE
Squid
Evolution
Firefox
NAS
Inkscape
Apache JK Tomcat Connector
Geral
Microsoft: Linux viola patentes

18

Notebooks para todos


Easy Linux est de volta
Gaim vira Pidgin
Debates sobre o formato ODF
De iniciante a power user em um livro

CORPORATE
Notcias
Virtualizao mudar cenrio de TI, diz Gartner

20

SYSADMIN

Insigne investe em relacionamento e busca novos parceiros


Ponto Frio economiza 20% com Linux
Linux em appliance da SanDisk

Acesso mais seguro


Use o sistema de autenticao por Digest no
Squid e evite a exposio de senhas.

64

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

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

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

45

SERVIOS
Editorial
Emails
Linux.local
Eventos
ndice de anunciantes
Preview

Linux Magazine #31 | Maio de 2007

03
06
78
80
80
82

Emails para o editor

u
c.h
ww
. sx

EMAILS

Permisso de Escrita

Moda do Vista

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.

LM31_cartas.indd 6

sa

nja

g je

ne

ro

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.

Linux PowerPC

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.

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

24.05.07 14:10:31

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

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.

Foto ilustrativa.

Foto ilustrativa.

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.

Servidor Itautec

LX201

PERFORMANCE E SEGURANA
PARA A SUA EMPRESA.

Itautec InfoWay
Minitorre
IDEAL PARA ENTRETENIMENTO
E ESTAO DE TRABALHO.

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****

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

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***

36
x R$ 155,28
pelo carto BNDES*
ou R$ 4.699,00 vista

ou R$ 1.099,00 vista

www.itautecshop.com.br
COMPRE

PRESENTE EM MAIS
DE 2.700 CIDADES.

DIRETAMENTE

DO

FABRICANTE

0800 121 444

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

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.

LM31_cartas.indd 7

24.05.07 14:10:36
Os: 610051

Form: 204x275

Operador: Cris

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.

COLUNA

CGI:IRC

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.

10

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.

Controle de acesso

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

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.

http://www.linuxmagazine.com.br

Pergunte ao Klaus!

COLUNA

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

Redeteco

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

12

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.

Conexo WLAN instvel

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.

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

http://www.linuxmagazine.com.br

Gabarito

Plano Standard

R$

25,

Plano SQL

R$

36,10

Transferncia: 50GB Espao: 500MB

Transferncia: 100GB Espao: 1GB

E-mail 1GB

A partir de

Plano Terabyte

Transferncia: 1TB Espao: 3GB

Plano Ilimitado

Transferncia: ilimitada Espao: 5GB

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.

0,

R$ 90
R$

135,00

R$

250,00

Internet para Profissionais de Internet


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

www.plugin.com.br

Crnicas do kernel

COLUNA

Zack Brown

Rtulos de maturidade do cdigo, JFFS e uma alternativa proposta de


Syslets. Veja as ltimas invenes dos desenvolvedores do kernel.
por Zack Brown

Maturidade de cdigo no
sistema de congurao
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.

14

Adeus, JFFS

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.

Syslets? Threadlets

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.

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.

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

XMMS

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

File

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

16

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

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

Libwpd

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

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

Referncia no Red Hat: RHSA-2007:0055-5


Referncia no Slackware: SSA:2007085-02
Referncia no Ubuntu: USN-437-1

Biblioteca do KDE

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

Squid

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

http://www.linuxmagazine.com.br

Segurana | NOTCIAS

para gerar um erro de assero.


(CVE-2007-1560)

2007:068

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 Ubuntu: USN-441-1

Referncia no Slackware: SSA:2007-

Evolution

066-03

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 Ubuntu: USN-443-1

Referncia no Mandriva: MDKSA-

Referncia no Gentoo: GLSA 20070327/squid


Referncia no Mandriva: MDKSA-

Um erro de formatao de cadeia de


caracteres na funo write_html() em
calendar/gui/e-cal-component-memopreview.c, ao exibir as categorias de

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

2007:069
Referncia no Ubuntu: USN-438-1

NAS

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

Firefox

Referncia no Ubuntu: USN-446-1

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

Inkscape

Foi descoberta uma falha no uso


que o Inkscape, um aplicativo de
desenho vetorial de cdigo aber-

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

Postura das principais distribuies Linux quanto segurana


Referncia de Segurana

Comentrios

Debian

Info: www.debian.org/security
Lista: lists.debian.org/debian-security-announce
Referncia: DSA- 1

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.

Gentoo

Info: www.gentoo.org/security/en/glsa
Frum: forums.gentoo.org
Lista: www.gentoo.org/main/en/lists.xml
Referncia: GLSA: 1

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.

Mandriva

Info: www.mandriva.com/security
Lista: www1.mandrdrivalinux.com/en/flists.php3#2security
Referncia: MDKSA- 1

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.

Red Hat

Info: www.redhat.com/errata
Lista: www.redhat.com/mailing-lists
Referncia: RHSA- 1

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.

Slackware

Info: www.slackware.com/security
Lista: www.slackware.com/lists (slackware-security)
Referncia: [slackware-security] 1

A pgina principal contm links para os arquivos da lista de discusso sobre segurana. Nenhuma informao adicional sobre segurana no Slackware est disponvel.

Suse

Info: www.novell.com/linux/security
Lista: www.novell.com/linux/download/updates
Referncia: suse-security-announce Referncia: SUSE-SA 1

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.

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

Notebooks para todos

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.

18

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.

Easy Linux est de volta

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.

Gaim vira Pidgin

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.

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

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.

20

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.

http://www.linuxmagazine.com.br

Notcias | CORPORATE

Linux em appliance da SanDisk

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.

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.

Red Hat e IBM pelo mainframe

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.

Linux Magazine #31 | Junho de 2007

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.

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.

22

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-

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

Figura 2

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.

Games

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

Linux Magazine #31 | Junho de 2007

Figura 3 Marco Fragni demonstrou os resultados


e a motivao para a migrao para Linux
no Ponto Frio.

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.

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.

Governo

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-

24

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.

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-

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

http://www.linuxmagazine.com.br

Linux Park | CORPORATE

to, e hoje j possui 4600 CPUs e 9


TB de memria, rodando Red Hat
Enterprise Linux e CentOS.

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.
Por ltimo, Alejandro Chocolat,
lidade executado pela primeira
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
blue nesse sentido.
aberto para documentos, a m de
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 inavncia das empresas.
tingveis, por estarem fechados com
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.

Painel sobre
interoperabilidade

Linux Magazine #31 | Junho de 2007

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.

Experincia

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.

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

25

Ron Hovsepian, CEO da Novell

CORPORATE

Cliente em foco

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

Linux Magazine Embora muito j tenha

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.

LM Quanto s indenizaes por pa-

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

Figura 1 Ron Hovsepian, CEO da


Novell.

26

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.

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.
LM A Microsoft no agiu sempre de

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

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?

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

LM Steve Ballmer, da Microsoft, ar-

mou que a empresa est disposta a

Linux Magazine #31 | Junho de 2007

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.
LM Como seus clientes mais impor-

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.

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.
LM O acordo possui cinco pilares,

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

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

27

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.
LM Qual o envolvimento da Sun com

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

comunidade de usurios?
SP Para responder a essa pergunta,
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.
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.
LM

Figura 1 Simon Phipps, Chief Open


Source Ofcer da Sun
Microsystems.

28

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

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

http://www.linuxmagazine.com.br

Cdigo Aberto na idade da razo

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.

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-

30

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.

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.

http://www.linuxmagazine.com.br

Monitoramento de redes com Nagios

CAPA

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

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

Comando de notificao
de mquina
Comando de notificao
de servio

Comandos

Perodos de tempo

de

Membro

Contatos

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.

32

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.

Instalao

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-

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:

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 }

#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

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:

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

#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 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

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.

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

34

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.

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.

Linux Magazine #31 | Junho de 2007

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

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>

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-

36

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.

Iniciando o daemon

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.

Interface web

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

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.

Plugins

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

http://www.linuxmagazine.com.br

Nagios | CAPA

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

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.

Linux Magazine #31 | Junho de 2007

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

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$
}

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

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.

Monitoramento remoto

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

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

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$

Figura 4

38

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

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$
}

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.

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

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

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

Contatos

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.

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.

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-

Linux Magazine #31 | Junho de 2007

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 }

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.

Concluses

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

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

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.

40

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-

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.

Fcil Instalao

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-

Linux Magazine #31 | Junho de 2007

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.

Rodando

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,

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-

42

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.

Administrao

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.

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

44

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.

til, mas imperfeito

Definitivamente, o custo (zero)


da verso de cdigo aberto do
GroundWork um importante

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/

http://www.linuxmagazine.com.br

Desktop 3D

O ambiente desktop 3D Looking Glass oferece


uma nova viso da rea de trabalho.
por Fabrizio Ciacchi

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.

Instalao

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.

Linux Magazine #31 | Junho de 2007

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:

Th

ais

Ro

ch

ANLISE

Outra viso

a-

ww

w.
sx

c.h

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

# ln -s /caminho/at/o/lg3d /usr/
share
/usr/share/lg3d/bin
./postinstall

Visual

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-

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.

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.

Figura 3 Os objetos parecem menores ou maiores


de acordo com sua posio no espao
tridimensional.

46

Aplicativos

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
Looking Glass permite a escrita de notas
uma camada de abstrao Figura 4 O
no 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

Concluses

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.

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

http://www.linuxmagazine.com.br

Sexta e ltima aula da preparao LPI

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.
por Luciano Siqueira

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/

Linux Magazine #31 | Junho de 2007

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


rc.d/rc.nfsd start|stop|restart.

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)

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

os compartilhamentos em /etc/exports, executa-se exportfs -ua.


No cliente, o prprio comando
mount usado para montar o diretrio 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

Esse exemplo presume ser

192.168.1.1 o IP do servidor do com-

partilhamento, e existir no cliente o


diretrio alvo /mnt/remoto.
O comando nfsstat mostra estatsticas de uso dos compartilhamentos
NFS no servidor.

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

TUTORIAL | LPI

Exemplo 1: arquivo smb.conf

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

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
localhost:901.
A opo credentials especica
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]
smbclient.
Um usurio comum poder moncomment = 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
bsicas no arquivo smb.conf:
nomes de mquinas para nmeros
[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
aos recursos etc;
ou
DNS
[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 Domain Name System que converte
restritivas e outras. Conseqenremotamente 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

48

http://www.linuxmagazine.com.br

LPI | TUTORIAL

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

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

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-

so (Exemplo: zone 0.0.127.in-addr.


arpa IN {...). O DNS reverso responsvel 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.

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


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
(...)

Linux Magazine #31 | Junho de 2007

A
A
A
A

128.8.10.90
198.41.0.4
128.63.2.53
192.33.4.12

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-

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.

50

Esse comando gerar as chaves

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

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

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

http://www.linuxmagazine.com.br

LPI | TUTORIAL

Exemplo 8: Encontrando
arquivos SUID e SGID com o nd

Exemplo 9: Detalhando a lista gerada


pelo exemplo 8

find / -perm -4000 -or -perm -2000


/bin/su
/bin/ping
/bin/mount
/bin/ping6
/bin/umount
(...)

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)

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

Essa sada mostra que o arquivo

/bin/ping mudou de tamanho em

relao ao registro anterior. Supese que tenha sido substitudo por


um programa malicioso, devendo

Linux Magazine #31 | Junho de 2007

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:

.sign (ocasionalmente esse arquivo


aparece com o suxo .asc). Para

# find / -path /dev -prune -perm 2 -not -type l

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:

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 \)

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

vericao, primeiro necessrio


importar a chave pblica referente
ao kernel:
# gpg --keyserver wwwkeys.pgp.net
--recv-keys 0x517D0F0E

# 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>

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

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.

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

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


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

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

LPI | TUTORIAL

atual, caso um usurio no seja especicado como argumento.

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

Linux Magazine #31 | Junho de 2007

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-

53

TUTORIAL | LPI

SHED (o pacote pertence a uma


conexo ativa), NEW (indicando

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):

# 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


Apagar todas as regras da tabela lter:
iptables -t filter -F
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

destination
anywhere
anywhere

Chain FORWARD (policy DROP 0 packets, 0 bytes)


pkts bytes target
prot opt in
out
source

destination

Chain OUTPUT (policy DROP 12 packets,


pkts bytes target
prot opt in
0
0 ACCEPT
all -- any
0
0 ACCEPT
all -- any

destination
anywhere
anywhere

54

816 bytes)
out
source
lo
anywhere
eth0
anywhere

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

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:

authpriv.*

/var/log/secure

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

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

(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

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

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

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
}

56

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

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

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.

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

http://www.linuxmagazine.com.br

Ext4 | TUTORIAL

O novo sistema de arquivos 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

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
A soluo proposta pelos de- testam uma nova rodada de meda) de sistemas de arquivo teve
um 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 que muda?

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.

58

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.

Usando o Ext4

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-

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.
mount. importante lembrar que
Em nossos primeiros testes com excepcional de gravao desse
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
O Ext4 alcana velocidades de uso do Ext4. No entanto, o fato
futuro, eliminando assim a necessidade 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

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

Figura 1

60

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

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.

Recursos

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.

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.

Instalao

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

Linux Magazine #31 | Junho de 2007

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
com o argumento install.
instalar um kernel diferente, ou enA 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

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

Conguraes

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-

62

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.

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

Operaes e funes

Discos virtuais

Linux Magazine #31 | Junho de 2007

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.

Concluses

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.

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

63

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

Descrio

ntlm_auth

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.

external_acl

Qualquer mecanismo de autenticao externa que possa receber parmetros e retornar ERR ou OK, bastante utilizado para ACLs com grupos de usurios.

negotiate_auth

um negociador de autenticao nativo do Windows, que tambm utiliza informaes de usurios logados no domnio NT. Pouco utilizado.

digest_auth

Utiliza o protocolo HTTP, em um esquema de desao e resposta baseado no algoritmo HMAC.

basic_auth

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.

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.

Linux Magazine #31 | Junho de 2007

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)

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.

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

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

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)

e o compara com o valor de response calculado previamente, tendo


assim o resultado da autenticao
(gura 1).

Implementao

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.

65

SYSADMIN | Squid

Tabela 2: Chaves utilizadas durante a


transao Digest
Chave

Descrio

nonce

uma chave para a sesso gerada aleatoriamente pelo Squid; possui um tempo de vida denido.

nc

Request Counter um ID da requisio.

cnonce

uma chave gerada pelo cliente durante a transao, Client nonce.

qop

Cdigo de proteo, geralmente com o valor auth.

Uri

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.

realm

o reino da uma sesso Digest.

response

Hash completo da transao, que ser enviado ao Squid.

md5( )

No faz parte da transao, sendo apenas um smbolo para a demonstrao. Ele gera um hash MD5 do que est dentro dos parnteses.

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

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.

Instalao do
OpenLDAP

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:

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 squid

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:

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/

66

cp digest_ldap_auth /usr/lib/
squid/

# apt-get install slapd ldap-utils


apache-ssl phpldapadmin

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

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

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

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.

Integrando

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:

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:

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

Planeta Terra:{hha1}d7e7a8f04c18cc
1e0ad5ac83798d452c

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.

Congurao
do Squid

$ echo -n fulano:Planeta Terra:


senhadologin | md5sum | cut -b
0-32
d7e7a8f04c18cc1e0ad5ac83798d452c

A congurao do Squid realizada


no arquivo /etc/squid/squid.conf.
Nele, necessrio inserir os parmetros de autenticao:

importante guardar temporariamente esse hash, pois ele ser usado


em breve.

auth_param digest program /usr/


lib/squid/digest_ldap_auth -b ou
=usuarios,dc=linuxmagazine,dc=co

Linux Magazine #31 | Junho de 2007

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

Na seo de denio das ACLs,


no mesmo arquivo, a seguinte linha
deve ser inserida:
http_access allow all password

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

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-

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.

Problemas?

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

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

68

trada do login e realm incluindo


as aspas. Se correr tudo bem, ele
trar o hash:
"fulano": "Planeta Terra"
d7e7a8f04c18cc1e0ad5ac83798d452c

O exemplo 1 mostra um script


em PHP que pode ser usado
para adicionar o campo digest
ao LDAP.

Recomendaes

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.

Consideraes Finais

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.

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.

http://www.linuxmagazine.com.br

Barreiras de escrita

SYSADMIN

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

Stephanie - www.pixelio.de

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
Renomeia o arquivo
Adiciona mais dados
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 grava-

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

Linux Magazine #31 | Junho de 2007

de 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-

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.

Como funciona
o journal

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-

70

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.

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.

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

grava

Kernel

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

Ext3

ReiserFS

Reiser 4

XFS

Barreira de escrita

barrier=1

barrier=flush

Padro

Padro desde
o kernel 2.6.17

Sem barreira

barrier=0

barrier=none

nobarrier

Journal de dados

ordered=journal

ordered=journal

Padro (wandering logs)

ordered=data

Padro

Padro

Dados antes dos metadados ordered=data


Modo Writeback

Linux Magazine #31 | Junho de 2007

orered=writeback ordered=writeback

JFS

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.

72

Aplicaes prticas

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-

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.

http://www.linuxmagazine.com.br

Barreiras de escrita | SYSADMIN

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.

Suporte do sistema

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

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.

Concluso

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.

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

O exemplo 1 mostra o script agente


iostat.cgi, que pode ser inserido
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;
}
}

74

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.

http://www.linuxmagazine.com.br

Plugins de Nagios | PROGRAMAO

Exemplo 2: check_iostat

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

Carga mxima

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);

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

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:

na sada padro. Note que o Nagios::


Clientstatus exige a verso 2.35 ou
mais recente do Getopt::Long.

nice 0.00 sys 0.00 iowait 0.00 idle


96.52. O chamado termo de largura zero, \G (linha 20), evita que o

IOSTAT OK - user 2.99 nice 0.00


sys 0.00
iowait 0.00 idle 96.52

Integrao do plugin

mecanismo de regex volte ao incio


do texto a cada vez, e ordena que
ele continue a busca aps a ltima
coincidncia.

Linux Magazine #31 | Junho de 2007

O Nagios chama o plugin dessa


mesma forma, interpreta o valor de
sada e depois exibe a sada de texto

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);

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/

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 ;

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.

76

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);

Servidor solitrio

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.

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-

http://www.linuxmagazine.com.br

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 check_command verifica_tempera
tura!25!30!Interior passa os
parmetros 25, 30 e Interior
para o script. A entrada de command

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.

Figura 3 Congurao do Nagios para o novo


plugin iostat.

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.

Quente?

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

aciona um alerta se a temperatura


interior ultrapassar 30 graus Cel-

Linux Magazine #31 | Junho de 2007

correspondente ca assim:

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

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

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

Uma estratgia de monitoramento bem planejada e realizada

77

Linux.local

SERVIOS

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

Empresa

Cidade

Endereo

Telefone

Web

85 3252-3836

www.f13.com.br

1 2 3 4 5 6

Cear
F13 Tecnologia

Fortaleza

Rua Coronel Solon, 480 Bairro de Ftima


Fortaleza - CE - CEP 60040-270

Linux Shopp

Vila Velha

Rua So Simo (Correspondncia), 18 CEP: 29113-120

27 3082-0932

www.linuxshopp.com.br

Megawork Consultoria e Sistemas

Vitria

Rua Chapot Presvot, 389 Praia do Canto CEP: 29055-410 sl 201, 202

27 3315-2370

www.megawork.com.br

Spirit Linux

Vitria

Rua Marins Alvarino, 150 CEP: 29047-660

27 3227-5543

www.spiritlinux.com.br

Esprito Santo

Minas Gerais
Instituto Online

Belo Horizonte

Av. Bias Fortes, 932, Sala 204 CEP: 30170-011

31 3224-7920

www.institutoonline.com.br

Linux Place

Belo Horizonte

Rua do Ouro, 136, Sala 301 Serra CEP: 30220-000

31 3284-0575

corporate.linuxplace.com.br

Microhard

Belo Horizonte

Rua Repblica da Argentina, 520 Sion CEP: 30315-490

31 3281-5522

TurboSite

Belo Horizonte

Rua Paraba, 966, Sala 303 Savassi CEP: 30130-141

0800 702-9004

www.microhard.com.br

www.turbosite.com.br

Paran
iSolve

Curitiba

Av. Cndido de Abreu, 526, Cj. 1206B CEP: 80530-000

41 252-2977

www.isolve.com.br

Mandriva Conectiva

Curitiba

Rua Tocantins, 89 Cristo Rei CEP: 80050-430

41 3360-2600

www.mandriva.com.br

NSI Training

Rio de Janeiro

Rua Arajo Porto Alegre, 71, 4andar Centro CEP: 20030-012 21 2220-7055

www.nsi.com.br

Open IT

Rio de Janeiro

Rua do Mercado, 34, Sl, 402 Centro CEP: 20010-120

21 2508-9103

www.openit.com.br

Unipi Tecnologias

Campos dos
Goytacazes

Av. Alberto Torres, 303, 1andar - Centro CEP 28035-581

22 2725-1041

www.unipi.com.br

Solis

Lajeado

Rua Comandante Wagner, 12 So Cristvo CEP: 95900-000

51 3714-6653

www.solis.coop.br

DualCon

Novo Hamburgo

Rua Joaquim Pedro Soares, 1099, Sl. 305 Centro

51 3593-5437

www.dualcon.com.br

Datarecover

Porto Alegre

Av. Carlos Gomes, 403, Sala 908, Centro Comercial Atrium Center Bela Vista CEP: 90480-003

51 3018-1200

www.datarecover.com.br

LM2 Consulting

Porto Alegre

Rua Germano Petersen Junior, 101-Sl 202 Higienpolis CEP: 90540-140

51 3018-1007

www.lm2.com.br

Lnx-IT Informao e Tecnologia Porto Alegre

Av. Venncio Aires, 1137 Rio Branco CEP: 90.040.193

51 3331-1446

www.lnx-it.inf.br

Plugin

Porto Alegre

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

www.plugin.com.br

TeHospedo

Porto Alegre

Rua dos Andradas, 1234/610 Centro CEP: 90020-008

51 3286-3799

www.tehospedo.com.br

Ws Host

Arthur Nogueira

Rua Jerere, 36 Vista Alegre CEP: 13280-000

19 3846-1137

www.wshost.com.br

DigiVoice

Barueri

Al. Juru, 159, Trreo Alphaville CEP: 06455-010

11 4195-2557

www.digivoice.com.br

Dextra Sistemas

Campinas

Rua Antnio Paioli, 320 Pq. das Universidades CEP: 13086-045

19 3256-6722

www.dextra.com.br

Insigne Free Software do Brasil Campinas

Av. Andrades Neves, 1579 Castelo CEP: 13070-001

19 3213-2100

www.insignesoftware.com

Microcamp

Campinas

Av. Thomaz Alves, 20 Centro CEP: 13010-160

19 3236-1915

www.microcamp.com.br

PC2 Consultoria em
Software Livre

Carapicuiba

Rua Edeia, 500 - 06350-080

11 3213-6388

www.pc2consultoria.com

Savant Tecnologia

Diadema

Av. Senador Vitorino Freire, 465 CEP: 09910-550

11 5034-4199

www.savant.com.br

Epopia Informtica

Marlia

Rua Gois, 392 Bairro Cascata CEP 17509-140

14 3413-1137

www.epopeia.com.br

Redentor

Osasco

Rua Costante Piovan, 150 Jd. Trs Montanhas CEP: 06263-270

11 2106-9392

www.redentor.ind.br

Go-Global

Santana de Parnaba Av. Yojiro Takaoca, 4384, Ed. Shopping Service, Cj. 1013 CEP: 06541-038

11 2173-4211

www.go-global.com.br

AW2NET

Santo Andr

Rua Edson Soares, 59 CEP: 09760-350

11 4990-0065

www.aw2net.com.br

Async Open Source

So Carlos

Rua Orlando Damiano, 2212 CEP 13560-450

16 3376-0125

www.async.com.br

Delix Internet

So Jos do
Rio Preto

Rua Voluntrio de So Paulo, 3066 9


Centro CEP: 15015-909

11 4062-9889

www.delixhosting.com.br

Rio de Janeiro

Rio Grande do Sul

So Paulo

78

http://www.linuxmagazine.com.br

Linux.local | SERVIOS

Empresa

Cidade

Endereo

Telefone

Web

1 2 3 4 5 6

So Paulo (continuao)
4Linux

So Paulo

Rua Teixeira da Silva, 660, 6 andar CEP: 04002-031

11 2125-4747

www.4linux.com.br

A Casa do Linux

So Paulo

Al. Ja, 490 Jd. Paulista CEP 01420-000

11 3549-5151

www.acasadolinux.com.br

Accenture do Brasil Ltda.

So Paulo

Rua Alexandre Dumas, 2051 Chcara Santo Antnio CEP: 04717-004

11 5188-3000

www.accenture.com.br

ACR Informtica

So Paulo

Rua Lincoln de Albuquerque, 65 Perdizes CEP: 05004-010

11 3873-1515

www.acrinformatica.com.br

Agit Informtica

So Paulo

Rua Major Quedinho, 111, 5 andar, Cj.


508 Centro CEP: 01050-030

11 3255-4945

www.agit.com.br

Altbit - Informtica Comrcio e Servios LTDA.

So Paulo

Av. Francisco Matarazzo, 229, Cj. 57


gua Branca CEP 05001-000

11 3879-9390

www.altbit.com.br

AS2M -WPC Consultoria

So Paulo

Av. Tiradentes, 615, Ed. Santiago, 2 andar Bom Retiro CEP: 01101-010

11 3228-3709

www.wpc.com.br

Big Host

So Paulo

Rua Dr. Miguel Couto, 58 Centro CEP: 01008-010

11 3033-4000

www.bighost.com.br

Blanes

So Paulo

Rua Andr Ampre, 153 9 andar Conj. 91


CEP: 04562-907 (prx. Av. L. C. Berrini)

11 5506-9677

www.blanes.com.br

Commlogik do Brasil Ltda.

So Paulo

Av. das Naes Unidas, 13.797, Bloco II, 6 andar Morumbi CEP: 04794-000

11 5503-1011

www.commlogik.com.br

Computer Consulting Projeto e Consultoria Ltda.

So Paulo

Rua Vergueiro, 6455, Cj. 06 Alto do Ipiranga CEP: 04273-100 11 5062-3927

www.computerconsulting.com.br

Consist Consultoria, Sistemas e Representaes Ltda.

So Paulo

Av. das Naes Unidas, 20.727 CEP: 04795-100

11 5693-7210

www.consist.com.br

Domnio Tecnologia

So Paulo

Rua das Carnaubeiras, 98 Metr Conceio CEP: 04343-080

11 5017-0040

www.dominiotecnologia.com.br

EDS do Brasil

So Paulo

Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5 andar

11 3707-4100

www.eds.com

tica Tecnologia

So Paulo

Rua Nova York, 945 Brooklin CEP:04560-002

11 5093-3025

www.etica.net

Getronics ICT Solutions and Services

So Paulo

Rua Verbo Divino, 1207 CEP: 04719-002

11 5187-2700

www.getronics.com/br

Hewlett-Packard Brasil Ltda.

So Paulo

Av. das Naes Unidas, 12.901, 25 andar CEP: 04578-000

11 5502-5000

www.hp.com.br

IBM Brasil Ltda.

So Paulo

Rua Tutia, 1157 CEP: 04007-900

0800-7074 837

www.br.ibm.com

iFractal

So Paulo

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

www.ifractal.com.br

Integral

So Paulo

Rua Dr. Gentil Leite Martins, 295, 2 andar Jd. Prudncia CEP: 04648-001

11 5545-2600

www.integral.com.br

Itautec S.A.

So Paulo

Rua Santa Catarina, 1 Tatuap CEP: 03086-025

11 6097-3000

www.itautec.com.br

Linux Komputer Informtica

So Paulo

Av. Dr. Lino de Moraes Leme, 185 CEP: 04360-001

11 5034-4191

www.komputer.com.br

Linux Mall

So Paulo

Rua Machado Bittencourt, 190, Cj. 2087 CEP: 04044-001

11 5087-9441

www.linuxmall.com.br

Livraria Tempo Real

So Paulo

Al. Santos, 1202 Cerqueira Csar CEP: 01418-100

11 3266-2988

www.temporeal.com.br

Locasite Internet Service

So Paulo

Av. Brigadeiro Luiz Antonio, 2482, 3 andar Centro CEP: 01402-000

11 2121-4555

www.locasite.com.br

Microsiga

So Paulo

Av. Braz Leme, 1631 CEP: 02511-000

11 3981-7200

www.microsiga.com.br

Novatec Editora Ltda.

So Paulo

Rua Luis Antonio dos Santos, 110 Santana 02460-000

11 6979-0071

www.novateceditora.com.br

Novell Amrica Latina

So Paulo

Rua Funchal, 418 Vila Olmpia

11 3345-3900

www.novell.com/brasil

Av. Alfredo Egdio de Souza Aranha, 100 Bloco B 5


andar CEP: 04726-170

11 5189-3000

www.oracle.com.br

Oracle do Brasil Sistemas Ltda. So Paulo


Proelbra Tecnologia Eletrnica Ltda.

So Paulo

Av. Rouxinol, 1.041, Cj. 204, 2 andar Moema CEP: 04516-001 11 5052- 8044

www.proelbra.com.br

Provider

So Paulo

Av. Cardoso de Melo, 1450, 6 andar Vila Olmpia CEP: 04548-005

11 2165-6500

Red Hat Brasil

So Paulo

Av. Anglica, 2503, 8 andar


Consolao CEP: 01227-200

Samurai Projetos Especiais

So Paulo

SAP Brasil

So Paulo

Simples Consultoria

www.e-provider.com.br

11 3124-6000

www.redhat.com.br

Rua Baro do Triunfo, 550, 6 andar CEP: 04602-002

11 5097-3014

www.samurai.com.br

Av. das Naes Unidas, 11.541, 16 andar CEP: 04578-000

11 5503-2400

www.sap.com.br

So Paulo

Rua Mourato Coelho, 299, Cj. 02 Pinheiros CEP: 05417-010

11 3898-2121

www.simplesconsultoria.com.br

Smart Solutions

So Paulo

Av. Jabaquara, 2940 cj 56 e 57

11 5052-5958

www.smart-tec.com.br

Snap IT

So Paulo

Rua Joo Gomes Junior, 131 Jd. Bonglioli CEP: 05299-000

11 3731-8008

www.snapit.com.br

Stefanini IT Solutions

So Paulo

Av. Brig. Faria Lima, 1355, 19 Pinheiros CEP: 01452-919

11 3039-2000

www.stefanini.com.br

Sun Microsystems

So Paulo

Rua Alexandre Dumas, 2016 CEP: 04717-004

11 5187-2100

www.sun.com.br

Sybase Brasil

So Paulo

Av. Juscelino Kubitschek, 510, 9 andar Itaim Bibi CEP: 04543-000

11 3046-7388

www.sybase.com.br

The Source

So Paulo

Rua Marqus de Abrantes, 203 Chcara Tatuap CEP: 03060-020

11 6698-5090

www.thesource.com.br

Unisys Brasil Ltda.

So Paulo

R. Alexandre Dumas 1658 6, 7 e 8 andares Chcara Santo Antnio CEP: 04717-004

11 3305-7000

www.unisys.com.br

Utah

So Paulo

Av. Paulista, 925, 13 andar Cerqueira Csar CEP: 01311-916

11 3145-5888

Visuelles

So Paulo

Rua Eng. Domicio Diele Pacheco e Silva, 585 Interlagos CEP 04455-310

Webnow

So Paulo

Av. Naes Unidas, 12.995, 10 andar, Ed. Plaza Centenrio Chcara Itaim CEP: 04578-000

WRL Informtica Ltda.

So Paulo

Systech

Taquaritinga

Linux Magazine #31 | Junho de 2007

www.utah.com.br

11 5614-1010

www.visuelles.com.br

11 5503-6510

www.webnow.com.br

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

www.wrl.com.br

Rua So Jos, 1126 Centro - Caixa Postal 71 CEP: 15.900-000

www.systech-ltd.com.br

16 3252-7308

79

SERVIOS

Calendrio de eventos
Evento

Data

Local

Website

Open Source Business Conference

22 e 23 de maio

San Francisco, EUA

osbc.com

IV Encontro de Software Livre do Amazonas

25 e 26 de maio

Manaus, AM

www.eslam.comunidadesol.org

Linux Tag 2007

30 de maio a 2 de junho

Berlim, Alemanha

www.linuxtag.org

3 Semana do Software Livre da Universidade Federal do Cear

6 a 9 de junho

Fortaleza, CE

www.sesol.ufc.br

OSS 2007

11 a 14 de junho

Limerick, Irlanda

oss2007.dti.unimi.it

Linux Day

23 de junho

So Paulo, SP

www.ti.com.br

Latinoware 2007

13 e 14 de novembro

Foz do Iguau, PR

www.latinoware.org

ndice de anunciantes

80

Empresa

Pg.

Celepar

15

Dextra

39

Easy Linux

43

Fracto

02

Intel

84

Itautec

07

Linux New Media

11

Linux Park

83

Linux Solutions

77

Linux World

81

LPI

55

Microsoft

09

Plugin

13

Xandros

29

http://www.linuxmagazine.com.br

PREVIEW

Na Linux Magazine #32


DESTAQUE

ANLISE

Groupware

Amigo do pingim

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.

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

Wireshark

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.

Na EasyLinux #09
DESTAQUE

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!

82

LABORATRIO

Tudo sob
controle

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.

http://www.linuxmagazine.com.br

06/2007

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

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
e de multimdia.
que permitem a voc programar no ambiente paralelo como um especialista

Dentro de uma dca-

automticos de funcionalidades dos novos processadores.

que no pensar

O compilador e bibliotecas so pr-validados para trabalharem juntos:

paralelo, no ser

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.

um programador.

Bibliotecas Matemticas Intel MKL 9.1 oferecem funes matemticas para o ambien
te multi-thread com o melhor desempenho nas plataformas multi-core.

Evangelista Chefe de Software

James Reinders
da Intel Software Products

EXT4

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.

LPI

da, um programador

LOOKING GLASS

desde o primeiro dia. Estas bibliotecas so constantemente atualizadas para uso

GROUNDWORK

O Compilador Intel 10.0 Professional Edition possui bibliotecas de software

VIRTUALBOX

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.

Assinante

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

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.

WRITE BARRIERS

Strattus
(11) 3531-6550

VEJA TAMBM NESTA EDIO:


Curso LPI: ltima aula para LPI-1 p.47
Looking Glass, o inovador desktop 3D da Sun p.45
Ext4: Esse sistema de arquivos vale a pena?
p.57
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 p ro i b i d a
9 771806 942009

00031
exemplar
de

MONITORAMENTO
DE REDES

SQUID

TAKE THE NEXT STEP

MStech
(11) 5080-3838

Junho 2007

NAGIOS

otimizadas de rotinas multi-threading prontas, processamento matemtico

MONITORAMENTO DE REDES

ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional

Itautec
0800 121444

# 31

Agora oferecem a melhor alternativa para criar aplicaes multi-thread nos

Katalogo
0800 7729897
www.katalogo.com.br/intel

R$ 13,90
7,50

A REVISTA DO PROFISSIONAL DE TI

Novos Compiladores Intel C++ e Fortran 10.0 Professional Editions

Tech Digital
(11) 5181-1852
www.techdigital.com.br/intel

Linux Magazine

PENSE
PARALELO

# 31

#31 06/07

Você também pode gostar