Você está na página 1de 84

06/2007

1º LINUX PARK 2007 p.22 VIRTUALIZAÇÃO MUDARÁ TI p.20 CEZAR TAURION p.30
O mercado brasileiro Gartner prevê crescentes Código Aberto na
de Linux e SL mudanças no futuro idade da razão

#31 06/07

Linux Magazine

Junho 2007
R$ 13,90

Assinante
€ 7,50

00031 de

ven d a p ro i b i d a
exemplar
PENSE

9 771806 942009
PARALELO

# 31
# 31
A REVISTA DO PROFISSIONAL DE TI

Novos Compiladores Intel® C++ e Fortran 10.0 Professional Editions

MONITORAMENTO DE REDES
MONITORAMENTO
Agora oferecem a melhor alternativa para criar aplicações multi-thread nos
ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional
Edition da Intel oferecem recursos de otimização avançado de código e potenciali-
dades multi-threading que incluem vetorização, auto-paralelização, OpenMP*,

DE REDES
prefetching de dados, desmembramento de loops e bibliotecas altamente
otimizadas de rotinas multi-threading prontas, processamento matemático

NAGIOS
p.31
e de multimídia.
CONHEÇA EM PROFUNDIDADE O NAGIOS, A MAIS IMPORTANTE
O Compilador Intel 10.0 Professional Edition possui bibliotecas de software

GROUNDWORK
FERRAMENTA DE CÓDIGO ABERTO PARA MONITORAMENTO
que permitem a você programar no ambiente paralelo como um especialista “Dentro de uma déca-
desde o primeiro dia. Estas bibliotecas são constantemente atualizadas para uso da, um programador
» Instale e configure o Nagios e seus plugins p.32
automáticos de funcionalidades dos novos processadores. que não pensar » Interface profissional com o GroundWork p.40
“paralelo”, não será

LOOKING GLASS
O compilador e bibliotecas são pré-validados para trabalharem juntos: » Plugins personalizados usando Perl p.74
• Compiladores Intel® C++ e Fortran automaticamente paralelizam e otimizam seu código um programador.”
para melhor desempenho, para tirar máximo proveito dos processadores multi-core,
com o mínimo esforço. James Reinders
• Bibliotecas Matemáticas Intel® MKL 9.1 oferecem funções matemáticas para o ambien Evangelista Chefe de Software ACORDO NOVELL-MS p.26

LPI
te multi-thread com o melhor desempenho nas plataformas multi-core. da Intel Software Products CEO da Novell explica o significado da
• Intel® Integrated Performance Primitives 5.2 (somente para C++) são funções paralelas
parceria em entrevista exclusiva

EXT4
altamente otimizadas que aceleram o desenvolvimento de aplicações multimídia, de
criptografia e de processamento de sinais. VIRTUALBOX
VIRTUALBOX p.60
Competência e velocidade no
• Intel® Threading Building Blocks 1.1 (somente para C++) consiste de rotinas otimizadas
rival aberto do VMware
e testadas para simplificar o desenvolvimento de aplicações escaláveis e robustas com
a utilização de recursos multi-thread.

TAKE THE NEXT STEP—


SQUID

Tech Digital Katalogo Strattus


VEJA TAMBÉM NESTA EDIÇÃO:
WRITE BARRIERS

(11) 5181-1852 0800 7729897 (11) 3531-6550


www.techdigital.com.br/intel www.katalogo.com.br/intel » Curso LPI: Última aula para LPI-1 p.47
» Looking Glass, o inovador desktop 3D da Sun p.45
Itautec MStech Copyright © 2007 Intel Corporation. Intel, the
» Ext4: Esse sistema de arquivos vale a pena? p.57
0800 121444 (11) 5080-3838 Intel logo, Intel. Leap ahead. and the Intel.
Leap ahead. logo are trademarks or registered » Dados confiáveis com as barreiras de escrita p.69
trademarks of Intel Corporation or its sub-
sidiaries in the United States and other coun- » Autenticação segura no Squid com Digest e OpenLDAP p.64
tries. All rights reserved.

WWW.LINUXMAGAZINE.COM.BR
Enquanto durou
Expediente editorial
Diretor Geral
Rafael Peregrino da Silva
peregrino@linuxmagazine.com.br
Editor-chefe
Tadeu Carmona

EDITORIAL
tcarmona@linuxmagazine.com.br
Editor
Pablo Hess
phess@linuxmagazine.com.br Prezados leitores da Linux Magazine,
Revisão Mahatma Gandhi versou sobre os resultados de seu pro-
Arali Lobo Gomes
agomes@linuxmagazine.com.br testo pacífico contra a tirania britânica: “Primeiro eles o ig-
Assistente de Arte noram. Depois riem de você. Depois o combatem. E então
Renan Herrera
rherrera@linuxmagazine.com.br você vence”. Embora essas palavras possuam um significado
Centros de Competência bem definido no espaço – a Índia – e no tempo - a primeira
Centro de Competência em Software:
Oliver Frommel: ofrommel@linuxnewmedia.de metade do século XX –, elas já foram muito usadas por várias
Kristian Kißling: kkissling@linuxnewmedia.de
Peter Kreussel: pkreussel@linuxnewmedia.de pessoas que se sentiram de alguma forma oprimidas.
Marcel Hilzinger: hilzinger@linuxnewmedia.de
Andrea Müller: amueller@linuxnewmedia.de
Uma das comunidades que mais abraçou tais pensamentos como
algo profético é a do Software Livre e de Código Aberto (SL/CA),
Centro de Competência em Redes e Segurança:
Achim Leitner: aleitner@linuxnewmedia.de como se pode ver no inspiradíssimo vídeo “Truth happens” criado
Jens-Christoph B.: jbrendel@linuxnewmedia.de
Hans-Georg Eßer: hgesser@linuxnewmedia.de pela Red Hat. O opressor referido, nesse caso, era a Microsoft, com
Thomas L.: tleichtenstern@linuxnewmedia.de
Max Werner: mwerner@linuxnewmedia.de suas práticas monopolistas já publicamente punidas.
Correspondentes & Colaboradores
Durante alguns meses, certamente muitos integrantes da comu-
Augusto Campos, Cezar Taurion, Charly nidade do SL/CA acreditaram que a “profecia” não se realizaria,
Kühnast, Emanuel dos Reis Rodrigues, Fa-
brizio Ciacchi, James Mohr, Joe Casad, Julian pois a Microsoft teria parado de combater o Linux. Através do
Hein, Klaus Knopper, Luciano Siqueira, Mar-
cel Hilzinger, Martin Steigerwald, Michael acordo com a Novell, especulava-se que a empresa de Bill Gates
Schilli, Thomas Leichtenstern, Zack Brown
estaria disposta, finalmente, a colaborar com o SL/CA. Como se
Anúncios:
Rafael Peregrino da Silva (Brasil) costuma dizer, essa crença foi boa enquanto durou.
anuncios@linuxmagazine.com.br
Tel.: +55 (0)11 2161 5400 Na entrevista concedida por Ron Hovsepian a Rafael Pere-
Fax: +55 (0)11 2161 5410 grino, publicada à página 26 desta edição, o CEO e Presidente
Osmund Schmidt (Alemanha, Áustria e Suíça)
anzeigen@linux-magazine.com da Novell afirma que sua empresa e a Microsoft concordam que
Brian Osborn (Outros países) processar usuários não faz bem à imagem da autora da ação.
ads@linux-magazine.com
Assinaturas:
Redmond mostrou que essa colocação só se aplica quando há
www.linuxnewmedia.com.br um acordo para tornar obrigatório esse comportamento.
assinaturas@linuxmagazine.com.br
Na Internet:
Até mesmo Bill Hilf, mentor do SL/CA dentro da Microsoft
www.linuxmagazine.com.br – Brasil
www.linux-magazin.de – Alemanha
e coordenador do propalado laboratório de interoperabilida-
www.linux-magazine.com – Portal Mundial de, mostrou um sério desconhecimento da afinidade entre a
www.linuxmagazine.com.au – Austrália
www.linux-magazine.ca – Canadá tecnologia do SL/CA e o mercado corporativo, afirmando que
www.linux-magazine.es – Espanha
www.linux-magazine.pl – Polônia “O Linux está morto. Até Linus tem um emprego.”
www.linux-magazine.co.uk – Reino Unido
www.linux-magazin.ro – Romênia
A ofensiva da fabricante do Windows contra o Linux, in-
Circulação cluindo sua postura após o anúncio inicial de que processaria
Cláudio Guilherme dos Santos os usuários do sistema operacional aberto, reforçou a forte es-
csantos@linuxmagazine.com.br
tratégia de FUD (medo, incerteza e dúvida, na sigla em inglês)
Apesar de todos os cuidados possíveis terem
sido tomados durante a produção desta revista, a iniciada com sua nada memorável campanha “Get the facts”.
editora não é responsável por eventuais impre-
cisões nela contidas ou por conseqüências que
É marcante o contraste com a Sun de Simon Phipps - tam-
advenham de seu uso. A utilização de qualquer bém entrevistado nesta edição -, que mostra uma compreensão
material da revista ocorre por conta e risco do leitor.
Nenhum material pode ser reproduzido em qual- bem mais profunda dessa tecnologia. A fabricante do Open-
quer meio, em parte ou no todo, sem permissão
expressa da editora. Assume-se que qualquer
Solaris e maior contribuidora do SL/CA em 2006 demonstra
correspondência recebida, tal como cartas, emails, compromisso com seus consumidores e desenvolvedores ao
faxes, fotografias, artigos e desenhos, são forneci-
dos para publicação ou licenciamento a terceiros de criar uma licença livre para uso geral - e não apenas em favor
forma mundial não exclusiva pela Linux New Media
do Brasil, a menos que explicitamente indicado. de si mesma –, e também um sólido interesse nessa nova tec-
Linux é uma marca registrada de Linus Torvalds. nologia, ao buscar formas de lucrar com softwares abertos.
Linux Magazine é publicada mensalmente por: Se são essas as armas que se apresentam no combate contra
Linux New Media do Brasil Editora Ltda.
Av. Fagundes Filho, 134 o SL/CA, só nos resta esperar pela validação da conclusão:
Conj. 53 – Saúde
04304-000 – São Paulo – SP – Brasil
“E então você vence”.
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.
Distribuição: Distmag
Pablo Hess
Impressão e Acabamento: Parma Editor
ISSN 1806-9428 Impresso no Brasil
Nota: A seção Preview da última edição da Linux Magazine infor-
mava que na edição atual seriam publicadas matérias sobre softwares
de groupware e também sobre o Abaqus. Infelizmente, tivemos de
INSTITUTO VERIFICADOR DE CIRCULAÇÃO
reorganizar a pauta da Linux Magazine de junho, e publicaremos
em processo de filiação as matérias sobre esses assuntos na edição de julho (número 32).

Linux Magazine #31 | Junho de 2007 3


ÍNDICE

CAPA
O verdadeiro Grande Irmão 32
O versátil Nagios monitora sua rede através de plugins,
e emite alertas antes que haja problemas com máqui-
nas e serviços. 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 bási-
ca. O GroundWork é uma interface mais amigável e
com visual profissional para essa ferramenta.

PROGRAMAÇÃO
Plugando no Nagios 74
Veja como utilizar a versátil linguagem Perl
para criar plugins personalizados para o dae-
mon de monitoramento de redes Nagios.

4 http://www.linuxmagazine.com.br
Linux Magazine 31 | ÍNDICE

COLUNAS Tutorial
Augusto Campos 08 LPI nível 1: Aula 6 47
Charly Kühnast 10 Configure compartilhamentos de rede e aprenda a ad-
Klaus Knopper 12 ministrar a segurança do sistema na última aula da sé-
Zack Brown 14 rie de preparação para a certificação LPI nível 1.

NOTÍCIAS
Segurança 16
➧ OpenOffice.org

➧ XMMS

➧ File

➧ Libwpd

➧ Biblioteca do KDE
Pronto para o futuro 57
➧ Squid O próximo sistema de arquivos da família Ext ofe-
rece melhor desempenho e sistemas de arqui-
➧ Evolution vo maiores. Você está preparado para o Ext4?
➧ Firefox

➧ NAS

➧ Inkscape

➧ Apache JK Tomcat Connector

Geral 18
➧ Microsoft: Linux viola patentes

➧ Notebooks para todos


Caixinha virtual 60
➧ Easy Linux está de volta
Se você quer fugir das ferramentas de virtualização mui-
➧ Gaim vira Pidgin to complexas ou caras, experimente o VirtualBox.

➧ Debates sobre o formato ODF

➧ De iniciante a “power user” em um livro

CORPORATE
Notícias 20
➧ Virtualização mudará cenário de TI, diz Gartner

➧ Insigne investe em relacionamento e busca novos parceiros SYSADMIN


➧ Ponto Frio economiza 20% com Linux Acesso mais seguro 64
Use o sistema de autenticação por Digest no
➧ Linux em appliance da SanDisk
Squid e evite a exposição de senhas.
➧ Novo VP da Novell para América Latina

➧ Red Hat e IBM pelo mainframe

➧ Workstation HP com Linux a preços reduzidos

Reportagem: Linux Park 22


Entrevista: Ron Hovsepian 26
Entrevista: Simon Phipps 28
Coluna: Cezar Taurion 30
Organizando a fila 69
ANÁLISE Um bom disco rígido e um sistema de arquivos com journal
não eliminam totalmente a perda de dados. É preciso ir além.
Outra visão 45
O ambiente desktop 3D Looking Glass ofere-
ce uma nova visão da área de trabalho. SERVIÇOS
Editorial 03
Emails 06
Linux.local 78
Eventos 80
Índice de anunciantes 80
Preview 82

Linux Magazine #31 | Maio de 2007 5


Emails para o editor

Permissão de Escrita

u
c.h
. sx
EMAILS

ww
Se você tem dúvidas sobre o mundo Linux, críticas ou sugestões

–w
que possam ajudar a melhorar a nossa revista, escreva para o

ro
ne
seguinte endereço: cartas@linuxmagazine.com.br. Devido ao

g je
nja
volume de correspondência, é impossível responder a todas as

sa
dúvidas sobre aplicativos, configurações e problemas de hardware
que chegam à Redação, mas garantimos que elas são lidas e
analisadas. As mais interessantes são publicadas nesta seção.

✎ Moda do Vista ✎ Linux PowerPC


Tenho comprado a revista nas bancas há alguns me- Tenho um servidor onde hospedo o site de uma ins-
ses, e até pensei em fazer uma assinatura. Porém, me tituição pública. Aguardo ansiosamente sua revista
incomodam as várias citações a sistemas Microsoft todos os meses, e freqüentemente releio números
nas matérias. antigos. Tento também baixar distribuições de todos
Acho que vocês estão se afastando dos obje- os cantos, só para conhecer e “brincar”.
tivos de seus leitores. Não preciso de informa- Pelo que constatei, o Yellow Dog 3 funciona direi-
ções sobre os produtos da Microsoft – já existem to em PowerPCs G3, mas não nos G4. Agora estou
muitas revistas sobre esse assunto. Estou mais esperando a versão 5, para o Playstation 3.
interessado em artigos sobre o mundo do soft- Uso tanto sistemas x86 quando PowerPC, e vejo
ware Livre e em discussões úteis sobre o Linux que todos os DVDs que a revista publica ou vende são
ou seus programas. exclusivos para máquinas x86. Será que não é possível
Também tenho interesse em mais artigos sobre fazer pelo menos um DVD para PPC a cada ano?
o ambiente TCP/IP, assim como funções de geren- Roberto Gianpaolo
ciamento por SNMP. Vocês já estão falando sobre São Paulo, SP
esses tópicos. Já pensamos muitas vezes na possibilidade de ofere-
Antonio Moura Gomes cer alguma distribuição para PPC em nossos DVDs.
Salvador, BA O problema é que a maioria dos nossos leitores não
Obrigado por seus comentários. Temos abordado poderia usá-la, já que preferem a arquitetura x86.
especialmente o Vista devido às questões que ele, Muitos observadores estão inclusive duvidosos quan-
enquanto novidade nos atuais ambientes de rede, to ao futuro do PPC na computação pessoal desde
pode levantar. Entendemos que há diversas revistas que a Apple decidiu adotar processadores x86 em
sobre os sistemas Microsoft, porém nossa percepção seus sistemas.
é de que todas contam com informações fornecidas Já publicamos artigos sobre PowerPC no passado, e
e tópicos estimulados pela própria fabricante do continuaremos cobrindo essa arquitetura enquanto
Windows. Enquanto isso, nós oferecemos uma vi- ela permanecer uma plataforma viável para o Linux.
são real do Windows Vista, a partir da perspectiva No entanto, no momento um DVD para PowerPC
do Linux. não está em nossos planos. ■
De resto, nossos autores citam o Windows quan-
do julgam ser importante para a aplicação adequa- Errata
da das informações contidas em seus artigos, pois Na última edição, a figura 5 do artigo Insigne representante, à pági-
é muito comum o uso de ambos os sistemas numa na 47, possui um erro na legenda. O conteúdo correto da legenda é
“Pacotes extras proprietários são instalados com o Insigne Mágico”.
mesma rede corporativa. ■

6 http://www.linuxmagazine.com.br

LM31_cartas.indd 6 24.05.07 14:10:31


SEJA LIBRIX NA RUA, SEJA LIBRIX EM CASA,
SEJA LIBRIX NO TRABALHO.
Agora, além do Librix (Linux da Itautec), a sua empresa pode
contar com o melhor e mais estável pacote de hardware
e software do mercado, testado e homologado pela Itautec.
Toda a liberdade que você precisa para trabalhar com mais
mobilidade, usando a internet sem fio, e ainda operar com
software livre.
É mais segurança, porque a Itautec oferece suporte técnico

DPZ
especializado via internet ou pelo telefone, serviços de tuning
e configuração e ainda atendimento nacional on site.
Tem alta tecnologia para os aplicativos como editor de textos,
planilha eletrônica, editor de imagens e apresentações. É mais
facilidade e maior flexibilidade no seu dia-a-dia. Na hora de
trabalhar, não se sinta preso. Seja Librix.
Foto ilustrativa.

Foto ilustrativa.
Servidor Itautec
LX201
PERFORMANCE E SEGURANÇA
PARA A SUA EMPRESA.
Itautec InfoWay
Minitorre Código da oferta: SI-310
IDEAL PARA ENTRETENIMENTO • Processador Intel® Xeon® 5030
(2 x 2 MB L2 cache, 2.67 GHz, 667 MHz)
E ESTAÇÃO DE TRABALHO.
• Librix Server - Distribuição Linux Itautec**
Código da oferta: IN-579 • 1 GB de memória com ECC
• Processador Intel® Celeron® D 315 • 2 HDs SATA de 200 GB
(256 KB L2 cache, 2.26 GHz, 533 MHz) • CD-RW (gravador de CD)
• Librix - Distribuição Linux Itautec • 2 interfaces de rede integradas
• 512 MB de memória • Monitor de 17” • HD de 40 GB • Controladora 6 canais SATA integrada
• Combo (gravador de CD + leitor de DVD) • Teclado e mouse
• Floppy, teclado em português e mouse • Gabinete-pedestal
• Placa de rede integrada • 3 anos de garantia on site***

x R$ 155,28
• Placa de áudio e vídeo integrada
• Fax/Modem 56 Kbps
• 1 ano de garantia balcão**** 36
pelo cartão BNDES*
10x R$ 109,90 ou R$ 4.699,00 à vista

ou 36 x R$ 36,32
pelo cartão BNDES*
ou R$ 1.099,00 à vista

www.itautecshop.com.br
COMPRE DIRETAMENTE DO FABRICANTE

PRESENTE EM MAIS
DE 2.700 CIDADES.
0800 121 444
De 2ª a 6ª, das 8h às 20h. Sábado, das 9h às 18h.

Ofertas válidas 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 são marcas comerciais ou marcas registradas da Intel Corporation ou de suas subsidiárias nos Estados Unidos ou em outros países. Consulte nossa Central de Atendimento para informações sobre outras
condições de financiamento para pessoa física ou jurídica pelo telefone 0800-121-444. *Financiamento para pessoa jurídica através do cartão BNDES, com taxa de 1,03% a.m. Necessário possuir o cartão de crédito citado, sujeito à confirmação da
disponibilidade da linha de crédito para as localidades e limite para operação. **Suporte telefônico para o Sistema Operacional Librix - 8 x 5, de segunda a sexta-feira, das 9h às 18h. ***Garantia de três anos on site, de segunda a sexta-feira, das
8h30 às 18h, em um raio de 50 km do Centro de Serviços Itautec mais próximo. ****Garantia balcão de um ano para partes, peças e serviços. A velocidade de comunicação de 56 Kbps depende e pode variar de acordo com o tipo e a qualidade da
linha telefônica utilizada. Para possibilitar o acesso à internet são necessários uma linha telefônica ou banda larga e um provedor à sua escolha. Preços com impostos inclusos para São Paulo. Frete não incluso. Demais características técnicas e de
comercialização estão disponíveis em nosso site e no Televendas. Fica ressalvada eventual retificação das ofertas aqui veiculadas. Quantidade: 10 unidades de cada. Empresa/produto beneficiado pela Lei de Informática. Fotos meramente ilustrativas.

LM31_cartas.indd 7 24.05.07 14:10:36

Os: 610051 Form: 204x275 Operador: Cris


www.baixebr.org
Certificação LPI

Augusto Campos
COLUNAS

Todo administrador de sistemas deve conhecer as certificações


disponíveis e a sua importância para a empregabilidade.
por Augusto Campos

E
sta edição da Linux Magazine traz o último ar- estudo de fato está relacionado às habilidades e talentos
tigo da série que nos meses recentes deu uma exigidos de um administrador de sistemas Linux.
interessante amostra dos temas abordados no Diversos brasileiros fizeram e ainda fazem sua parte
exame da certificação LPI nível 1, voltado para admi- para apoiar os colegas que estão em busca de obter sua
nistradores de sistemas Linux nível júnior. O LPI foi certificação. Merece destaque o exemplo de Bruno Go-
fundado em 1999, na forma de uma organização sem mes Pessanha, que, mesmo trabalhando como adminis-
fins lucrativos, dedicada à certificação de profissionais trador de sistemas em uma empresa de grande porte (e
do Linux, e tem como diferencial o posicionamento de numa rede com necessidades complexas), desde 2002
ser independente de distribuição e fornecedor – o que encontrou tempo e oportunidade para colaborar dire-
significa que na mesma prova você pode ter de resolver tamente com o LPI – especialmente nas atividades de
questões sobre pacotes DEB e RPM, por exemplo. tradução de material – e mais recentemente foi co-autor
O posicionamento do LPI varia ao longo do tem- do livro “Linux Certification in a Nutshell”, que cobre
po: originalmente, as certificações valiam por prazo os níveis 1 e 2 do LPI, e foi escrito pensando em servir
indefinido. Em 2006 decidiu-se que elas passariam a como guia de administração, e não apenas para passar
valer por apenas cinco anos. Mesmo quem obteve cer- nos exames. O livro foi publicado internacionalmente
pela prestigiada editora O’Reilly, e ganhou o prêmio
da escolha dos editores do Linux Journal em 2006, na
Uma característica persistiu: categoria de livros de administração de sistemas.
o LPI continua sendo uma Bruno certamente não é o único: Gleydson Mazioli, o
certificação independente autor do Guia Foca Linux[2] – um dos mais conhecidos
manuais livres sobre Linux em nosso idioma – também
de fornecedores. adaptou sua documentação ao conteúdo programático
das provas do instituto, e coleciona relatos de leitores
que o procuram para contar que passaram no exame
tificação antes da alteração passou a ter de se certificar graças ao seu excelente material.
novamente a cada cinco anos, caso queira continuar Obter uma certificação profissional é importante
contando com o título. para a sua empregabilidade, e o LPI pode ser uma op-
Outra mudança ocorreu na gestão da operação bra- ção digna do seu esforço. A comunidade Linux já se
sileira do LPI, que até 2006 era responsabilidade do LPI encarregou de disponibilizar uma série de guias, livros,
Brasil, entidade integrada por uma série de participantes manuais e até provas simuladas para que você possa se
da comunidade Linux brasileira (eu entre eles). A partir preparar adequadamente – mas o próximo passo pre-
de agosto de 2006, por decisão do LPI mundial, passou a cisa ser seu. ■
ser realizada pela empresa 4Linux. No processo, a ONG
LPI Brasil foi extinta, emitindo um comunicado[1] em
Mais Informações
que divulgou não achar adequado aceitar outro papel [1] Comunicado da LPI Brasil: http://www.lpi.org.br/
que não permitisse manter a coordenação das ações da [2] Guia Foca Linux: http://www.guiafoca.org/
certificação LPI e nem as políticas existentes à época
para os preços das provas no Brasil – que, no fechamento O autor
desta coluna, estão na faixa dos US$ 130. Augusto César Campos é administrador
Uma característica persistiu: o LPI continua sendo de TI e, desde 1996, mantém o site
uma certificação independente de fornecedores, com boa BR-linux.org, que cobre a cena
do Software Livre no Brasil e no mundo.
visibilidade no mercado, e conteúdo programático cujo

8 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 não pode ficar de fora do Porta 25. Agora na versão 2.0, o site está
ainda mais interativo e aberto à sua participação. Ele tem novas funcionalidades e a navegação está mais
completa, com mais espaço 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 Inspiração.” são
marcas comerciais, registradas ou não, da Microsoft Corporation nos Estados Unidos e/ou em outros países.
www.baixebr.org
CGI:IRC

Charly Kühnast
COLUNA

Seu firewall frustra suas tentativas de conexão ao IRC? Com o CGI:IRC,


apenas um navegador web é necessário.
por Charly Kühnast

E
m algumas situações, prefiro conversar on- A variável default_channel contém uma lista de
line do que telefonar para as pessoas. Meu canais, separados por vírgulas, que o usuário do CGI:
cliente IRC preferido é o Irssi[1]. Ele roda IRC tem permissão de usar. O usuário não pode
em uma sessão de tela num servidor que consigo acessar nenhum canal ausente nessa lista.
acessar por SSH de qualquer lugar. Ao entrar no CGI:IRC, é possível escolher um
Às vezes, SSH simplesmente não é uma opção, apelido. Se o usuário preferir não escolher nenhum,
como nos casos em que o firewall de um cliente está o programa simplesmente atribui um nome com
muito restrito, ou quando utilizo algum cybercafé base no esquema especificado na variável default_
nas férias. Uma ferramenta com o tipograficamente nick. O padrão, nesse caso, é CGIxxx, onde xxx é
desafiador nome de CGI:IRC[2] pode ser a solução. substituído por um número, após o login.
O programa oferece uma interface web que passa a
entrada recebida para o servidor IRC (figura 1). Controle de acesso
O que eu gosto no CGI:IRC é sua instalação fá- O arquivo ipaccess lida com o controle de acesso.
cil e rápida, sem no entanto restringir as opções de O CGI:IRC simplesmente ignora quem não possuir
configuração. Para a instalação, apenas é necessário uma entrada nesse arquivo, da seguinte forma:
um servidor web com CGI ativado, além da versão
5 da linguagem Perl. ip_acess_file = ipaccess
Apenas faça o upload do script para o servidor,
e coloque os arquivos de configuração no diretório Para suportar qualquer número de conexões a
CGI deste. A página de instalação[3] dá dicas úteis partir do localhost, é possível apenas acrescentar
a respeito desses passos. uma entrada para 127.0.0.1 ao arquivo ipaccess. Para
O CGI:IRC utiliza uma abordagem incomum, restringir a 50 o número de conexões simultâneas,
porém inteligente, em seus dois arquivos de confi- a entrada seria: 127.0.0.1 50 .
guração. Um deles contém as configurações críticas, Para impedir o acesso a partir de uma rede es-
que podem ser feitas em poucos minutos para que pecífica, como 10.0.0.0/8, por exemplo, a entrada
você já comece a usá-lo imediatamente. O outro seria simplesmente: 10.0.0.0/8 0 .
arquivo, cgiirc.config.full, contém exemplos de Após terminar a configuração, é possível conversar
configurações mais complexas. infinitamente e de forma imediata, independente
Comecei verificando a configuração básica: o de onde se esteja. ■
item default_server abriga o nome do meu servi-
dor IRC, enquanto
default_port guarda o Mais Informações
número da porta. [1] Irssi: http://www.irssi.org
A porta padrão é
[2] CGI:IRC: http://cgiirc.sourceforge.net
6667, apesar de ser-
vidores em portas [3] Dicas de instalação (em inglês):
http://cgiirc.sourceforge.net/docs/install.php
diferentes estarem
crescendo bastante
devido ao bloqueio O autor
das portas de IRC Charly Kühnast é administrador de sis-
Figura 1 Conversa com um diferencial – o CGI:
IRC fornece um cliente IRC acessível de por parte de vários temas Unix no datacenter Moers, per-
qualquer local, através de um servidor provedores de hos- to do famoso rio Reno, na Alemanha. Lá
web. ele cuida, principalmente, dos firewalls.
pedagem.

10 http://www.linuxmagazine.com.br
��������������������������������

����������������������������������������
�����������������������������

��������������������������������������
������������������������������������������������
��������������������������������������������������
���������������������������������������
�����������������������������
����������������������������������
����������������������������������������������
��������������������������
���������������������������������������������������������������
��������������������������������������������
����������������������������

���������������������������������������������������������������������������������

����������������������������������������������������������
www.baixebr.org
Pergunte ao Klaus!

Klaus Knopper
COLUNA

Esta coluna é baseada na seção “Ask Klaus!”, publicada na Linux Magazine International.
por Klaus Knopper

Redetecção se você possui algum backup funcional dos dados


Sou relativamente novo no uso do Linux. Já expe- importantes contidos no disco rígido, antes de dei-
rimentei muitas distribuições, e o Suse 10.2 me deu xar o instalador ou o procedimento de recuperação
uma ótima impressão. Finalmente consegui ativar fazerem algo nos discos.
os efeitos 3D (graças ao YaST).
Tenho uma máquina com uma placa-mãe com chip- Conexão WLAN instável
set Nvidia, 1 GB de memória, placa de vídeo ATI X700 O chipset WLAN ipw2100 de meu notebook está funcio-
Pro e um Athlon64 3500+. Porém, acho que chegou nando com o driver contido no kernel 2.6.19. No entanto,
a hora de trocar por um modelo mais novo. após algum tempo, principalmente sob tráfego intenso,
Comprei um Athlon64 X2 5200+ com 1 GB de me- a conexão com o ponto de acesso falha, e eu recebo um
mória e uma placa-mãe com chipset ATI com Crossfire, status de unassociated no iwconfig. Após descarregar e
mantendo a placa de vídeo antiga. recarregar o módulo ipw2100 do kernel, a placa volta a
Depois de atualizar meu hardware e colocar meus funcionar, mas tenho que digitar novamente os parâme-
discos rígidos SATA no novo computador, o Suse 10.2 tros do iwconfig. Existe alguma falha no driver ipw2100
vai redectar a nova configuração e configurar tudo como ou as minhas configurações estão erradas?
for necessário, ou eu precisarei reinstalar o sistema?
Resposta
Resposta Creio que o problema possa ser tanto um bug no driver
Se você modificar os itens de hardware necessários quanto no firmware que é passado para a placa e reini-
durante a inicialização, provavelmente será neces- ciado a cada recarregamento do módulo. Parece que
sário refazer o ramdisk inicial (initrd) que foi cria- a placa se confunde quando o tráfego é muito grande
do de forma personalizada para seu antigo sistema ou a qualidade do sinal é baixa por algum tempo. Às
durante a instalação inicial. vezes, nem se consegue identificar o motivo.
Nesse caso, seu novo sistema simplesmente não Embora eu não possa dizer o que exatamente tem
iniciará mais a partir do disco rígido, informando- de errado com o driver ou firmware ipw2100, aqui
o que não consegue encontrar nenhuma partição. está uma forma conveniente de contornar isso, que
Para contornar isso, talvez se possa incluir todos os tenho usado com sucesso em vários notebooks.
drivers necessários no initrd de seu sistema antigo, Esse pequeno script, iniciado pelo usuário root e em
antes de trocar os discos rígidos de placa-mãe. segundo plano, ordena que a placa faça um reset interno
Também deve sem você precisar informar toda a configuração nova-
Exemplo 1: fixipw2100.sh ser possível realizar mente. Ele apenas verifica a visibilidade do ponto de
01 #!/bin/bash
uma “instalação rá- acesso a cada dez segundos, e faz a reconexão em caso
02 pida” em modo de de queda, o que costuma levar dois segundos.
03 # Mude isso de acordo com sua placa WiFi recuperação, usan- O script do exemplo 1 pode ser executado com
04 WIFIDEV=”eth1” do o DVD de insta- um ./fixipw2100.sh & depois de sua placa ter sido
05
06 while true; do lação, apenas para iniciada. Ele não sobrescreve nenhuma configura-
07 LANG=C iwconfig “$WIFIDEV” | grep -q recriar o sistema ção já existente. ■
➥unassociated de inicialização e
08 if [ “$?” = “0” ]; then
preservar o conteú-
09 echo “`date`: Reconectando $WIFIDEV”
10 iwpriv “$WIFIDEV” reset do das partições do O autor
11 fi disco rígido. Lem- Klaus Knopper é o criador do Knoppix e co-fun-
12 sleep 10 bre-se que é impor- dador do evento LinuxTag. Atualmente ele traba-
13 done lha como professor, programador e consultor.
tantíssimo verificar

12 http://www.linuxmagazine.com.br
Gabarito
ILIMITADA É A VANTAGEM DE CONTAR COM A PLUG IN.
Plano Standard
Transferência: 50GB • Espaço: 500MB R$ 25, 70 Somente uma empresa como a PLUG IN, uma das líderes do mercado de webhosting no
Brasil, pode oferecer aos profissionais de internet as melhores opções para hospedagem
de sites com preços e franquias imbatíveis. Oferece ainda Data Centers de última
Plano SQL R$ 36,10 geração e uma equipe 100% focada em atender as demandas do mercado digital.
Transferência: 100GB • Espaço: 1GB

0,
A partir de
E-mail 1GB R$ 90

Plano Terabyte Internet para Profissionais de Internet


Transferência: 1TB • Espaço: 3GB R$ 135,00
Capitais e Regiões Metropolitanas: 4003 1001
Plano Ilimitado R$ 250,00 Outras Regiões: 0800 881 1001
Transferência: ilimitada • Espaço: 5GB
www.plugin.com.br
www.baixebr.org
Crônicas do kernel

Zack Brown
COLUNA

Rótulos de maturidade do código, JFFS e uma alternativa à proposta de


Syslets. Veja as últimas invenções dos desenvolvedores do kernel.
por Zack Brown

Maturidade de código no Adeus, JFFS


sistema de configuração A já anunciada remoção do sistema de arquivos
JFFS, superado pelo JFFS2, finalmente aconteceu!
Robert P. J. Day sugeriu a adição de alguns novos O JFFS foi retirado da árvore principal do kernel, e
níveis de maturidade de código à estrutura kbuild: Adrian Bunk postou um patch para retirar também
DEPRECATED e OBSOLETE. Infelizmente, a a respectiva entrada em MAINTAINERS.
discussão acabou se concentrando em determinar David Brownell postou outro patch para marcar
o significado preciso de cada um desses termos. A o código da porta paralela como não-mantido no
idéia de Day era que “obsolete” significa que o có- arquivo MAINTAINERS, pois nenhum dos quatro desen-
digo está completamente morto e sem suporte, en- volvedores listados nele parece estar mantendo-o
quanto “deprecated” é válido para aqueles códigos ativamente. Jean Delvare e Randy Dunlap concor-
que ainda funcionam, embora exista ao menos uma daram com isso, e Delvare pediu encarecidamente
que Andrew Morton se encarregasse do patch.
... nesse sentido, podemos esperar Joern Engel postou mais um patch para retirar
completamente a entrada do DevFS do arquivo MAIN-
mais níveis de maturidade TAINERS (ele já havia sido listado como obsoleto).
O DevFS, mais do que qualquer outro recurso
na interface de configuração removido, já causou muitas dores para que os desen-
do kernel, no futuro. volvedores o retirassem do kernel completamente.

alternativa completamente viável. Outros desenvol- Syslets? Threadlets


vedores enxergavam a questão exatamente da forma Mês passado discuti o novo subsistema de Syslets de
oposta. Bartlomiej Zolnierkiewicz, por exemplo, con- Ingo Molnar, que oferecia uma forma engenhosa
sidera “deprecated” como indicativo de que não há de iniciar chamadas de sistema em segundo plano.
qualquer alternativa disponível, mas que o código é Após Linus Torvalds declarar que achou a interface
ruim e deveria ser substituído, enquanto “obsolete” complicada e difícil demais para o usuário comum,
significa que há uma alternativa, e portanto não é Molnar mostrou um sistema modificado, introduzin-
mais necessário usar o código antigo. do a idéia de threadlets. Elas são um complemento
Tentativas de resolver a questão não tiveram à idéia original de syslets, porém com uma interface
sucesso algum – havia grande margem para in- muito mais simples. As threadlets são basicamente
terpretação. Por um lado, parecia que todos con- uma forma de iniciar funções arbitrárias em se-
cordavam que esses níveis de maturidade seriam gundo plano com o recurso adicional de criar uma
úteis; então, nesse sentido, podemos esperar mais nova thread somente se a threadlet for bloqueada
níveis de maturidade na interface de configura- por algo; senão, o contexto permanece aquele do
ção do kernel, no futuro. Sam Ravnborg e Day programa-pai. A desvantagem das threadlets é que
também discutiram formas de indicar o nível de são bem mais lentas que as syslets. ■
maturidade no próprio nome da opção, durante a O autor
configuração. Atualmente, o único nível de matu-
A lista de discussão Linux-kernel é o núcleo das
ridade disponível é EXPERIMENTAL, e a única atividades de desenvolvimento do kernel. Zack
forma de identificarmos uma opção experimental Brown consegue se perder nesse oceano de
é procurando um grande “EXPERIMENTAL” ao mensagens e extrair significado! Sua newsletter
Kernel Traffic esteve em atividade de 1999 a 2005.
final do nome da opção.

14 http://www.linuxmagazine.com.br
www.baixebr.org
➧ OpenOffice.org
SEGURANÇA

Vários problemas de segurança foram descobertos no arbitrários através de um documento especialmente


OpenOffice.org, um conjunto de aplicativos de escri- criado após o usuário clicar em um link preparado.
tório livres. (CVE-2007-0239) ■
O parser do Calc contém um estouro de pilha facilmen- Referência no Debian: DSA-1270-2
te explorável por um documento especialmente criado Referência no Mandriva: MDKSA-2007:073
para executar código arbitrário. (CVE-2007-0238) Referência no Red Hat: RHSA-2007:0033-4
O Openoffice.org não escapa metacaracteres de Referência no Suse: SUSE-SA:2007:023
shell, e é vulnerável à execução de comandos de shell Referência no Ubuntu: USN-444-1

➧ XMMS arquivos, como o amavisd-new. conteúdo de uma iframe com


Sven Krewitt, da Secunia Rese- (CVE-2007-1536) ■ uma URI ftp:// no atributo src,
arch, descobriu que o XMMS (X Referência no Gentoo: GLSA 200703- provavelmente devido a um de-
Multimedia System) não lidava 26/file referenciamento a um ponteiro
corretamente com imagens BMP Referência no Mandriva: MDKSA- nulo. Se um usuário for conven-
ao carregar skins para sua interfa- 2007:067 cido a visitar um site malicioso, o
ce gráfica. Um estouro de inteiros Referência no Red Hat: RHSA-2007:0124-2 Konqueror pode travar, resultando
no XMMS 1.2.10, e possivelmente Referência no Ubuntu: USN-439-1 em uma negação de serviço. (CVE-
também em outras versões, permi- 2007-1308)
tia que agressores remotos, auxi- Foi descoberta também uma
liados por usuários locais, execu- ➧ Libwpd falha na forma como o Konqueror
tassem código arbitrário através de A Libwpd é uma biblioteca para lida com respostas PASV de FTP.
informações maliciosas em uma leitura e conversão de documentos Se um usuário for convencido a
imagem bitmap de skin, a qual do WordPerfect. A iDefense relatou visitar um servidor FTP malicio-
causava a corrupção da memória. várias falhas de estouro de inteiros na so, um agressor remoto poderia
(CVE-2007-0653) ■ Libwpd. Agressores eram capazes de realizar uma varredura das portas
Referência no Mandriva: MDKSA- explorá-las com arquivos WordPerfect das máquinas localizadas na mes-
2007:071 especialmente criados, os quais po- ma rede que o usuário, levando
Referência no Ubuntu: USN-445-1 deriam fazer um aplicativo linkado à divulgação de dados privados.
à biblioteca travar ou simplesmente (CVE-2007-1564) ■
executar código arbitrário. (CVE-2007- Referência no Mandriva: MDKSA-
➧ File 0002, CVE-2007-1466) ■ 2007:072
O file é um utilitário que adivinha Referência no Debian: DSA-1268-1 Referência no Ubuntu: USN-447-1
o formato de arquivos através de Referência no Red Hat: RHSA-2007:0055-5
padrões dos dados binários. Um Referência no Slackware: SSA:2007-
agressor remoto poderia convencer 085-02 ➧ Squid
um usuário a executar o file em Referência no Ubuntu: USN-437-1 Foi descoberta uma vulnerabilidade
um arquivo especialmente cria- no Squid, um servidor proxy multi-
do, o que acionaria um estouro protocolo livre.
de buffer baseado em fila, possi- ➧ Biblioteca do KDE A função clientProcessRequest()
velmente levando à execução de O arquivo ecma/kjs_html.cpp, no em src/client_side.c no Squid 2.6
código arbitrário com os direitos do KDEJavaScript (KJS), conforme anterior ao 2.6.STABLE12 permite
usuário que estivesse executando o usado no Konqueror do KDE 3.5.5, que agressores remotos causem uma
file. Essa vulnerabilidade também permite que agressores remotos negação de serviço (fechamento
poderia ser desencadeada através causem uma negação de servi- do daemon) através de requisições
de um analisador automático de ço (travamento) ao acessarem o TRACE especialmente criadas

16 http://www.linuxmagazine.com.br
Segurança | NOTÍCIAS

para gerar um erro de asserção. malicioso, um agressor remoto to, faz de cadeias de caracteres
(CVE-2007-1560) ■ poderia realizar uma varredura de formato. Se um usuário for
Referência no Gentoo: GLSA 200703- de portas nas máquinas da rede enganado de forma a abrir no
27/squid do usuário, levando à divulga- Inkscape uma URI especialmente
Referência no Mandriva: MDKSA- ção de dados privados. ( CVE-2007- criada, um agressor remoto pode-
2007:068 1562) ■ ria executar código arbitrário com
Referência no Ubuntu: USN-441-1 Referência no Slackware: SSA:2007- os privilégios desse usuário. (CVE-
066-03 2007-1463 ) ■
➧ Evolution Referência no Ubuntu: USN-443-1 Referência no Mandriva: MDKSA-
Um erro de formatação de cadeia de 2007:069
caracteres na função write_html() em Referência no Ubuntu: USN-438-1
calendar/gui/e-cal-component-memo- ➧ NAS
preview.c, ao exibir as categorias de Foram descobertos vários proble-
uma nota, pode ser explorado para mas no daemon do NAS (Network ➧ Apache JK Tomcat
executar código arbitrário através
de uma nota compartilhada espe-
Audio System). Agressores remotos
podem enviar requisições de rede
Connector
cialmente criada contendo espe- especialmente criadas, de forma O Apache Tomcat Connector (mod_
cificadores de formato. (CVE-2007- a causar uma negação de serviço jk) contém uma vulnerabilidade de
1002) ■ ou a execução de código arbitrá- estouro de buffer que poderia resul-
Referência no Mandriva: MDKSA- rio. (CVE-2007-1543, CVE-2007-1544, tar na execução remota de código
2007:070 CVE-2007-1545, CVE-2007-1546, CVE- arbitrário.
Referência no Ubuntu: USN-442-1 2007-1547 ) ■ Um agressor remoto pode enviar
Referência no Mandriva: MDKSA- uma requisição de URL longa para
2007:065 um servidor Apache, o que pode
➧ Firefox Referência no Ubuntu: USN-446-1 acionar a vulnerabilidade e levar a
Uma falha foi descoberta na forma um estouro de inteiros baseado em
como o Firefox, um navegador web pilha, resultando, assim, na execu-
de código aberto, lidava com respos- ➧ Inkscape ção de código arbitrário. (CVE-2007-
tas PASV de FTP. Foi descoberta uma falha no uso 0774) ■
Se um usuário for enganado de que o Inkscape, um aplicativo de Referência no Gentoo: GLSA 200703-
forma a visitar um servidor FTP desenho vetorial de código aber- 16/mod_jk

Postura das principais distribuições Linux quanto à segurança


Referência de Segurança Comentários
Debian Info: www.debian.org/security Alertas de segurança recentes são colocados na homepage e dis-
Lista: lists.debian.org/debian-security-announce tribuídos como arquivos HTML com links para os patches. O anún-
Referência: DSA-… 1 cio também contém uma referência à lista de discussão.
Gentoo Info: www.gentoo.org/security/en/glsa Os alertas de segurança são listados no site de segurança da distribuição, com
Fórum: forums.gentoo.org link na homepage. São distribuídos como páginas HTML e mostram os co-
Lista: www.gentoo.org/main/en/lists.xml mandos necessários para baixar versões corrigidas dos softwares afetados.
Referência: GLSA: … 1
Mandriva Info: www.mandriva.com/security A Mandriva tem seu próprio site sobre segurança. Entre ou-
Lista: www1.mandrdrivalinux.com/en/flists.php3#2security tras coisas, inclui alertas e referência a listas de discussão. Os aler-
Referência: MDKSA-… 1 tas são arquivos HTML, mas não há links para os patches.
Red Hat Info: www.redhat.com/errata A Red Hat classifica os alertas de segurança como “Erratas”. Proble-
Lista: www.redhat.com/mailing-lists mas com cada versão do Red Hat Linux são agrupados. Os alertas são
Referência: RHSA-… 1 distribuídos na forma de páginas HTML com links para os patches.
Slackware Info: www.slackware.com/security A página principal contém links para os arquivos da lis-
Lista: www.slackware.com/lists (slackware-security) ta de discussão sobre segurança. Nenhuma informação adi-
Referência: [slackware-security] … 1 cional sobre segurança no Slackware está disponível.
Suse Info: www.novell.com/linux/security Após mudanças no site, não há mais um link para a página sobre segurança, con-
Lista: www.novell.com/linux/download/updates tendo informações sobre a lista de discussão e os alertas. Patches de segurança
Referência: suse-security-announce Referência: SUSE-SA … 1 para cada versão do Suse são mostrados em vermelho na página de atualiza-
ções. Uma curta descrição da vulnerabilidade corrigida pelo patch é fornecida.
1 Todas as distribuições indicam, no assunto da mensagem, que o tema é segurança.

Linux Magazine #31 | Junho de 2007 17


www.baixebr.org
➧ Microsoft: Linux
viola patentes
NOTÍCIAS

A gigante do software proprietário anunciou em maio que em esquemas seme-


há diversas patentes suas sendo violadas por softwares de Có- lhantes ao acordo da
digo Aberto. Somente o kernel Linux, segundo reportagem empresa com a Novell,
publicada na revista Fortune, violaria 42 patentes, enquanto cobrando dos supostos contra-
os ambientes desktop livres contariam com 65 violações, e ventores a imunidade aos processos. Muitos
o OpenOffice.org com mais 45. apontaram ainda para o fato de que muitas das empresas a
Apesar da alegada seriedade das violações, a empresa de serem processadas são também clientes da própria Micro-
Steve Ballmer informou que não pretende divulgar quais soft, mostrando que a estratégia de acionar judicialmente
seriam essas patentes, assim como não disse o que fará a res- os usuários realmente não seria positiva.
peito das “contravenções”. Há que se ressaltar que, ainda que Pouco depois, o vice-presidente para assuntos de pro-
fosse divulgada a lista de patentes, a empresa de Redmond, priedade intelectual e licenciamento da MS, Horacio Gu-
EUA teria de provar sua validade nos tribunais. tierrez, afirmou que o objetivo de sua empresa é, de fato,
Como era de se esperar, os analistas foram velozes em angariar mais acordos como o firmado com a Novell no
caracterizar a acusação como ato de desespero da Microsoft, final de 2006, embora ele afirme não haver a intenção de
ou como estratégia de extorsão para agregar mais parceiros processar usuários. ■

➧ Notebooks para todos ➧ Easy Linux está de volta


O Governo Federal ampliou no mês de maio A revista Easy Linux, publicada pela Linux New Media do
seu programa de inclusão digital. O programa Brasil – responsável também pela Linux Magazine -, voltará a
Computador Para Todos, em vigor desde 2005, ser publicada a partir do mês de junho.
já foi responsável por baixar significativamente Com periodicidade mensal, a Easy Linux é destinada aos
os preços de computadores, além de oferecer usuários iniciantes, domésticos e pequenas empresas. A revista
financiamento para facilitar a compra das má- esteve suspensa desde dezembro do último ano, devido a uma
quinas por pessoas de menor poder aquisitivo. importante reestruturação, e terá como tema de capa, na edi-
Como reflexo, diversas famílias finalmente pu- ção 9, que circulará em junho, os jogos para Linux e aqueles
deram adquirir seu primeiro computador. executáveis sob o tradutor de APIs Wine. ■
Desde maio, a isenção tributária e a facili-
dade de concessão de linhas de crédito passou
a valer também para computadores portáteis. ➧ Gaim vira Pidgin
No entanto, enquanto a margem de preços dos Após uma longa disputa judicial com a americana AOL, de-
desktops foi reduzida de R$ 1400 para R$ 1200, tentora da marca “AIM”, os desenvolvedores do mensageiro
os laptops favorecidos pelo programa devem obri- instantâneo multi-protocolo Gaim viram-se obrigados a mudar
gatoriamente ter preço máximo o nome do software. A empresa alega que o antigo nome do
de R$ 1800. mensageiro instantâneo de código aberto era demasiadamente
A expectativa é que sejam semelhante ao nome de seu próprio programa de mensagens
ofertados no mercado, as- instantâneas, o AIM (AOL Instant Messenger).
sim como ocorreu com os Os novos nomes escolhidos para os componentes do
desktops, diversos com- software são Pidgin para o programa em si, Libpurple para
putadores portáteis a antiga Libgaim, e Finch para o ex-gaim-text (cliente do
por preços ainda me- software em modo texto).
nores que o patamar O anúncio da mudança nos nomes veio junto com o da
estabelecido pelo nova versão do programa, 2.0, que trouxe marcantes mudan-
governo. ■ ças visuais e algumas melhorias de usabilidade. ■

18 http://www.linuxmagazine.com.br
Gerais | NOTÍCIAS

➧ Debates sobre o De iniciante a “power user” em um livro


formato ODF Livros sobre Linux costumam sofrer de um problema dentre dois: ou são exage-
radamente superficiais, para cobrir todos os assuntos pretendidos dentro dos
limites de espaço disponíveis, ou focam-se em apenas alguns aspectos, deixan-
A Associação Brasileira de Normas Técnicas, do os outros, muitas vezes fundamentais, sem cobertura.
órgão responsável pelo estabelecimento de João Eriberto Mota Filho, co-autor do IPS de camada 2 HLBR
regras e normas para diversos processos in- e mantenedor de alguns pacotes do projeto Debian, no en-
dustriais e tecnológicos e único representante tanto, mostra grande perícia ao conseguir informar de for-
ma consistente e ao mesmo tempo concisa, em aproxi-
brasileiro na ISO (International Organization madamente 500 páginas, muito do que um usuário Linux
for Standardization), realizará ao longo do iniciante necessita para se tornar um power user.
mês de junho algumas reuniões para deba- Começando pela história do projeto GNU, João Eriberto dis-
ter a respeito dos formatos de documentos corre sobre todos os assuntos imprescindíveis aos usuários
ODF e OpenXML. iniciantes, como a escolha de uma distribuição, o particiona-
mento de discos, sistemas de arquivo e runlevels.
A agenda dos encontros ainda não es-
tava pronta no momento do fechamen- De forma leve e dinâmica, sem no entanto ser superficial,
o livro fornece uma maior compreensão dos fundamentos técnicos do sistema.
to desta edição, mas isso ocorrerá até o O leitor chega à página 300 apto a gerenciar múltiplas versões de kernel insta-
início do referido mês. ladas no mesmo sistema.
Como os debates estarão Nas páginas seguintes, João Eriberto acerta ao tocar no processo de com-
sujeitos ao acompanha- pilação de programas, baseando-se em um exemplo real. Mais adiante,
explica conceitos de redes ethernet antes de introduzir a configuração do
mento público, é im- GNU/Linux como cliente nessas redes, além de ADSL, e Wi-Fi.
portante a participação
Para finalizar, uma seção adicionada na segunda edição lembra que, quando passar a
de pessoas interessa- empolgação com as linhas de código subindo na tela durante a compilação ou com
das nesse processo, de o acompanhamento do MRTG, pode-se lançar mão dos diversos jogos disponíveis
forma a fazer valer sua para o GNU/Linux. Os melhores de cada estilo são mostrados com capturas de tela e
um breve texto descritivo.
opinião. ■
www.baixebr.org
➧ Virtualização mudará
cenário de TI, diz Gartner
CORPORATE

Um estudo do grupo de pesquisas de mercado Gartner Em relação às vendas de servidores, Bittman afir-
concluiu que a virtualização será responsável por mu- mou que “cada servidor virtual tem o potencial de
danças radicais na infra-estrutura de TI nos próximos tirar do mercado mais um servidor físico”, pois “atu-
anos. Segundo o estudo, não apenas o uso da tecnologia almente, mais de 90% dos usuários de máquinas vir-
da informação sofrerá alterações, mas também a forma tuais têm como motivação a redução do número de
como os departamentos de TI gerenciam, compram, servidores, do espaço físico e do custo energético de
planejam e cobram por seus serviços. Até 2010, de acordo máquinas x86 em suas empresas. Acreditamos que
com o Gartner, a virtualização será a tecnologia mais o mercado de servidores já diminuiu 4% em 2006
importante na área de infra-estrutura de TI. devido à virtualização, que terá um impacto bem
Thomas Bittman, vice-presidente e analista do grupo, maior em 2009”.
afirmou durante uma conferência em Sidnei, Austrália, No mercado de virtualização de desktops, que se en-
que a virtualização requer mudanças mais culturais do contra “dois anos atrasado em relação ao de servidores”,
que tecnológicas dentro das empresas. Ainda segundo segundo o vice-presidente, “mas será ainda maior que
o analista, o número de máquinas virtuais instaladas este”, a motivação é outra: isolamento e criação de um
no mundo todo, estimado em 540 mil ao final de 2006, ambiente de gerenciamento intangível pelo usuário,
deve chegar a 4 milhões até 2009, representando, ainda com o potencial de “mudar o paradigma de gerencia-
assim, apenas uma fração do mercado potencial. mento 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 distribuição A rede varejista Ponto Frio, segunda maior do Brasil,
Insigne Linux, que equipa diversos computadores incluídos no divulgou o resultado de sua adoção inicial do Librix,
programa Computador Para Todos, está buscando fortalecer a distribuição Linux da brasileira Itautec.
confiança do usuário no sistema operacional. Para isso, a empre- Segundo a empresa, o diferencial da solução adotada
sa investiu, ao longo de todo o primeiro ano de implantação do é o alto índice de estabilidade e a qualidade comprovada.
programa do Governo, na capacitação dos vendedores e integra- Ao final dessa primeira fase de adoção do Linux, mais de
dores de sistemas responsáveis pelas vendas do Computador Para três mil estações de trabalho pelo Brasil foram substituídas
Todos. Segundo uma pesquisa realizada pela própria Insigne, por máquinas Linux, renovando-se também o parque.
essas máquinas foram o primeiro computador da maioria dos Segundo o diretor de tecnologia do Ponto Frio,
compradores atendidos pelo programa de inclusão digital. Paulo Sanz, apenas o custo total de propriedade
A criação de um departamento de ouvidoria na Insigne foi (TCO, na sigla em inglês) está incluído no cálcu-
responsável pelo estreitamento da relação entre o usuário e a fa- lo dessa economia. Portanto, e tendo em conta os
bricante do sistema operacional, mantendo o contato da empresa ganhos indiretos, como a segurança, por exemplo,
com o cliente e também recebendo sugestões e reclamações pode-se chegar a uma economia ainda maior.
acerca de todos os aspectos do sistema e da empresa. A parceria entre as duas empresas envolve não apenas
A participação em desktops domésticos e corporativos na o fornecimento de software e hardware, mas também a
América Latina também está nos planos da empresa, que está consultoria técnica, configuração de pacotes, implemen-
em busca de novos parceiros comerciais e técnicos no continen- tação e homologação, além do suporte técnico. ■
te. O objetivo, de acordo com a Insigne,
é credenciar ao menos um parceiro em
cada um dos países vizinhos ao Brasil, de
forma a garantir a distribuição e suporte
aos usuários dessas localidades. ■

20 http://www.linuxmagazine.com.br
Notícias | CORPORATE

➧ Linux em appliance da SanDisk ➧ Workstation HP


A SanDisk, maior fornecedor mundial de dispositivos flash USB, anun-
ciou o lançamento da appliance TrustWatch, para controle de drives flash.
com Linux a
Segundo o anúncio da empresa, com o TrustWatch os dispositivos flash preços reduzidos
móveis, como pen drives, por exemplo, deixam de ser uma ameaça às re- A HP do Brasil deseja mostrar aos
des corporativas. consumidores que uma worksta-
A appliance realiza a criptografia e o controle das informações contidas tion pode ser mais valiosa que
nos dispositivos flash em toda a rede, e com isso obtém maior segurança um desktop high-end. Para isso,
contra o vazamento de informações confidenciais da empresa. ■ reduziu o preço de sua worksta-
tion 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 América Latina


Camillo Speroni é o novo vice-presidente e gerente geral da americana
Novell para a América Latina. Após atuar na empresa por mais de quinze
anos, nas áreas de vendas e marketing ao redor do planeta, além de ocupar
cargos executivos regionais e globais, Speroni terá como responsabilidade Notas
focar os recursos da companhia e da região para conquistar consumidores Novo servidor da Bull para HPC
nos mercados de gerenciamento de identidade e Linux. ■ A Bull lançou recentemente o servidor No-
vaScale R422, capaz de atingir o dobro do
desempenho de seu antecessor, ocupando
o mesmo espaço. Com um pico de proces-
samento de 5,4 Tflops (trilhões de opera-
ções de ponto flutuante por segundo), um
dos diferenciais do lançamento é sua fon-
te de alta eficiência, que chega a 92%.
Comodo para RHEL e CentOS
A Comodo, fornecedora de soluções de
certificação digital e gerenciamento de
identidade, anunciou a nova versão de seu
➧ Red Hat e IBM pelo mainframe conjunto de aplicativos para gerenciamen-
to completo de servidores Zero Touch Li-
As americanas Red Hat e IBM firmaram uma aliança relativa ao de- nux (ZTL). Como novidade, os aplicativos
senvolvimento e comercialização de aplicações para mainframes. agora rodam também em sistemas ope-
racionais Red Hat Enterprise e CentOS. O
O Red Hat Linux Enterprise será vendido pela big blue em sua po- ZTL está disponível gratuitamente, e pode
derosa linha de servidores System z, e as parceiras farão um esforço ser baixado em http://ztl.comodo.com.
conjunto na identificação de aplicações ainda não cobertas pelas Recuperação de dados em Linux
ofertas já existentes. A CBL Tech, empresa canadense especia-
Considerada um ataque lizada na recuperação de dados, está am-
pliando seu laboratório em Curitiba. Com o
à Novell, principal concor- número de pedidos crescendo rapidamen-
rente direta da Red Hat no te, o antigo laboratório terá de ser ampliado,
mercado de sistemas Linux, e está prevista uma área dedicada exclu-
sivamente a sistemas Linux, devido ao au-
a manobra impede que acor- mento da demanda específica nessa área.
do semelhante seja realizado SLED em estações Sun
entre a IBM, maior fabri- A Sun divulgou a nova oferta de sistema ope-
cante de mainframes para racional em suas workstations Ultra 20 e Ultra
40. As máquinas, equipadas com processado-
esse mercado, e a dona do res AMD Opteron, já estão sendo comercia-
Suse Linux, embora tal par- lizadas com o Suse Linux Enterprise Desktop
ceria já tenha sido firmada 10, da Novell, além das opções Solaris 10, Red
Hat Enterprise Linux 3 e 4, e Windows XP.
no passado. ■

Linux Magazine #31 | Junho de 2007 21


O mercado brasileiro de Software Livre e de Código Aberto

1º Seminário Linux
CORPORATE

Park 2007
Pela primeira vez fora de São Paulo, o Linux Park 2007 reuniu
no Rio de Janeiro os principais players do mercado nacional
de SL/CA, além de um público qualificado e participativo.
por Pablo Hess

O
s seminários Linux Park, or- médio e superior estiveram presentes, dispositivos embarcados, no qual o
ganizados pela Linux New mobilizadas pela Abrasol (Associa- sistema do pingüim oferece maiores
Media do Brasil, já se con- ção Brasileira de Software Livre). margens de lucro em comparação
sagraram no cenário corporativo Representantes de diversos setores às soluções proprietárias já existen-
nacional do Software Livre e de também marcaram presença, como tes. Os modelos de distribuição de
Código Aberto (SL/CA). Nas últimas varejo, Telecomunicações, Forças software também foram abordados,
edições do evento, ao todo centenas Armadas, Transportes, Indústria e assim como as categorias de serviços
de executivos de TI reuniram-se para Comércio de petróleo, Administra- possibilitadas pelo modelo aberto de
trocar experiências a respeito do uso ção Municipal, Energia, Governo desenvolvimento. A íntegra da apre-
do SL/CA em suas empresas. e, naturalmente, Tecnologia. sentação, incluindo os resultados da
A primeira edição dos seminários Às 9:00, Rafael Peregrino da Silva, pesquisa sobre o mercado nacional de
Linux Park 2007 ocorreu dia 26 de Diretor Geral da Linux New Media SL/CA, pode ser obtida em [1].
abril, pela primeira vez fora da cidade do Brasil, iniciou seu keynote de aber- Finalizando o keynote, Rafael
de São Paulo. A sala de convenções do tura (figura 2) do primeiro Linux Park exibiu as estatísticas da empresa de
Hotel Sofitel, no movimentado bairro do ano. Após explicar os benefícios pesquisas de mercado Chadwick
de Copacabana, no Rio de Janeiro, que a tecnologia do Software Livre Martin Bailey, obtidas a partir de
foi ocupada pelo público numeroso e e de Código Aberto (SL/CA) pode questionários respondidos por ge-
altamente qualificado (figura 1). trazer às empresas, Rafael apresentou rentes de TI, nas quais é possível
Novidade entre os participantes, a Linux New Media, mencionando constatar que o preço não é mais o
instituições de ensino fundamental, a atuação internacional da editora, principal fator na aquisição de so-
que publica conteúdo específico luções de TI.
sobre SL/CA em 67 países. O público respondeu ao keynote
Em seguida, o Diretor Geral apre- com perguntas também de alto ní-
sentou os resultados de uma pesqui- vel. Ao ser questionado a respeito de
sa realizada pela Linux New Media quais necessidades ainda não estão
do Brasil em parceria com a Intel, a supridas pelo SL/CA, Rafael foi rá-
respeito do mercado de Linux e SL/ pido em citar os softwares de frente
CA no Brasil, reforçando o conceito de caixa, automação comercial e ou-
e a importância do ecossistema no tros dos quais as pequenas e médias
contexto do mercado de TI. Inicial- empresas ainda dependem, e que
Figura 1 Como nas outras edições, o evento mente, Rafael listou as inúmeras pla- atualmente não possuem exempla-
contou com a presença de um público taformas em que o Linux está apto res livres. Peregrino aproveitou para
altamente qualificado. a rodar, incluindo o segmento de nomear algumas formas de se de-

22 http://www.linuxmagazine.com.br
Linux Park | CORPORATE

senvolver software multiplataforma, do parque de TI foram sua proteção


através do uso de compiladores livres contra vírus, estabilidade muito supe-
para as linguagens mais usadas em rior à solução proprietária anterior,
plataformas Windows®, e também portabilidade – o sistema é utilizado
com a adoção do Java, agora livre, desde os PDAs até os mainframes – e
que tende a aumentar. flexibilidade.
A distribuição empregada para
essa hercúlea tarefa foi o Librix, de
Varejo fabricação do próprio parceiro de
O primeiro case do evento foi apre- tecnologia do Ponto Frio, a Itautec.
Figura 3 Marco Fragni demonstrou os resultados
sentado por Marco Fragni, Gerente Na realidade, segundo relatou Fragni, e a motivação para a migração para Linux
de Serviços de TI da rede varejista o conceito de single point of contact no Ponto Frio.
Ponto Frio (figura 3). Após corroborar foi fundamental nesse aspecto, pois
as observações expostas por Rafael uma mesma empresa é responsável de processamento e latência são os
Peregrino minutos antes, afirmando pelo hardware e software. principais aspectos da operação da
que o fator decisivo na escolha do Li- Por enquanto, apenas as lojas infra-estrutura.
nux no Ponto Frio não foi a ideologia com maior volume de vendas foram A solução ideal, segundo o presi-
ou o preço, Fragni relatou a história migradas, com ótima aceitação por dente, foi utilizar SOA (arquitetura
da segunda maior rede varejista do parte dos usuários; o restante será orientada a serviços), servindo o jogo
Brasil. Com 61 anos de existência e migrado na segunda fase da opera- através de máquinas virtuais Linux
R$ 3,8 bilhões de faturamento em ção, em 2008. dentro de mainframes IBM, também
2006, os 3,2 milhões de clientes ati- rodando o sistema aberto.
vos da rede distribuem-se por todos “O desempenho sob demanda ofe-
os estados das regiões Sul, Sudeste Games recido pela virtualização é fundamen-
e Centro-Oeste, à exceção do Mato Se a oferta de jogos sofisticados para tal”, disse o empolgado Tarquínio.
Grosso do Sul. Linux é limitada, o uso da platafor- “Por exemplo, um cinema superlo-
Listados pelo gerente, os moti- ma livre no desenvolvimento desses tado representa redução dos lucros
vos para a adoção do Linux nos 400 softwares é ainda mais raro. A Ho- para seus donos, pois há espectado-
servidores e mais de 8 mil estações plon, fabricante de jogos sediada res potenciais que não conseguem
em Florianópolis, SC, comprar suas entradas. Com o Tai-
ousa desbravar esse kodom, temos que estar preparados
terreno. tanto para um estrondoso sucesso,
Como mostrou com grande presença do público,
Tarquínio Teles (fi- quanto para uma sala praticamente
gura 4), presidente da vazia. Esperar um público de tama-
empresa, o maior de- nho pré-definido certamente repre-
safio enfrentado no sentaria perda financeira.”
desenvolvimento de O executivo da Hoplon ainda
seu primeiro game, discorreu brevemente sobre a capa-
o Taikodom, é a infra- cidade de produção de softwares de
estrutura de TI. qualidade internacional no Brasil.
Como ocorre com Segundo ele, um bom game requer
qualquer MMOG quatro fatores (os quatro Cs): criati-
(massively multimedia vidade, computadores, competên-
on-line game), o Tai- cia técnica e capital. “Felizmente,
kodom será acessado temos os três primeiros no Brasil,
por centenas, talvez e a Hoplon conseguiu o capital”,
dezenas de milhares afirmou Tarquínio.
de usuários; ao mes- Os padrões abertos também foram
Figura 2 Rafael Peregrino apresentou em seu keynote
os resultados da pesquisa da Linux New Media mo tempo. Como uma importante escolha da empre-
do Brasil em parceria com a Intel, a respeito do a interatividade é a sa, pois evitam o aprisionamento ao
mercado brasileiro de SL/CA. base do jogo, poder fornecedor de software.

Linux Magazine #31 | Junho de 2007 23


CORPORATE | Linux Park

grama de Software Livre do Serpro geofísico, atividade da mais alta im-


(PSSL). Depois disso, o uso do sistema portância na exploração petrolífera
operacional de código-fonte aberto praticada pela companhia.
não parou de crescer, com a criação Monnerat detalhou a história do
de um centro de especialização em envolvimento da empresa com o SL/
SL/CA e a adoção do pingüim nas CA, que, embora tenha sido atrasada
estações dos funcionários. pela reserva de mercado, conseguiu
Nos servidores, o órgão emprega alcançar o patamar internacional já
somente SL/CA, tanto como siste- em 1997, quando foi desenvolvida,
ma operacional quanto nos serviços em parceria com a Unicamp, uma
Figura 4 Tarquínio Teles discorreu sobre as vanta-
gens de desenvolver jogos extremamente oferecidos, que abrangem desde a aplicação de simulação de reservató-
exigentes sobre plataformas abertas. autenticação até mensagens instan- rios com emprego de 12 nós compu-
tâneas e backup. tacionais. “Em 2000, a Petrobras já
As excelentes ferramentas livres Nessa área, há softwares de autoria se adiantava às tendências”, afirmou
utilizadas na criação do Taikodom do próprio Serpro que se destacam, Luiz. “Desde o início dependemos
compõem mais um beneficiado como o Babassu, um cliente de de nossa equipe interna, movida
pela Hoplon, no mais puro espírito mensagens instantâneas para LANs, por entusiasmo e criatividade – e
colaborativo. As melhorias à IDE o Sagui, gerenciador de atualização tivemos sucesso”.
Eclipse, desenvolvidas pelos cria- de estações, e a Estação Móvel de O interesse em clusters Beowulf de
dores do game para permitir a re- Acesso (EMA), um liveCD perso- fato aumentou na empresa, com um
alização de praticamente qualquer nalizado para cada usuário da rede cluster de 72 nós montado em 1999.
tarefa relacionada ao jogo a partir do órgão. “Já em 2004, 90% do processamento
da própria IDE, serão retornadas à “O uso do Linux reduziu nossos por HPC da Petrobras era realizado
comunidade, incrementando assim custos, aumentou nosso controle de por Beowulfs”, afirmou Luiz.
a qualidade do Eclipse. “Queremos mudança de versões e aumentou a No entanto, esse crescimento da
que as universidades brasileiras dis- inteligência dos funcionários”, relatou HPC na empresa não foi sempre fá-
ponham dessas tecnologias e facili- Campos. Como resultado, “o Serpro cil. “Houve um momento em que
dades”, afirmou Teles. vai licenciar sob a GPL todas as fer- nosso edifício atingiu seu limite de
ramentas que construímos”. energia, e tivemos que alugar um
CPD externo para nossos clusters”,
Governo descreveu o palestrante. “A solução
Após o almoço, o Serpro (Serviço Petróleo usou processamento remoto, reali-
Federal de Processamento de Da- Como não podia faltar numa série de zado pelas CPUs do CPD, enquanto
dos) marcou a presença do Governo seminários no estado responsável por os dados permaneciam no edifício
Federal no primeiro Linux Park de mais de 70% da produção nacional de original”. Em 2004, esse CPD abri-
2007. Em sua apresentação, Már- petróleo, a Petrobras também esteve gava o maior supercomputador do
cio Campos (figura 5) detalhou a presente ao evento, com Luiz Mon- Brasil, com 1300 nós de processamen-
relação e a história do órgão com nerat (figura 6) apre-
o SL/CA. sentando uma palestra
Vinculado ao Ministério da Fa- sobre a computação
zenda, o Serpro tem nove mil usu- de alto desempenho
ários distribuídos pelo Brasil. Por com clusters Linux
ser o responsável pela declaração na gigante nacional
on-line do imposto de renda no país, do petróleo.
os computadores do órgão proces- Primeiramente, o
sam 3 bilhões de transações anuais, engenheiro de siste-
além de fornecer as soluções de TI mas explicou o uso
e comunicações para a realização de HPC (high-perfor-
de políticas públicas. mance computing) na
O Linux começou a ser utilizado Petrobras, predomi- Figura 5 Márcio Campos anunciou que o Serpro vai lançar
no Serpro em 1999, na unidade de nantemente para pro- os softwares desenvolvidos internamente sob a
Recife, PE, com a criação do Pro- cessamento sísmico e licença livre GPL.

24 http://www.linuxmagazine.com.br
Linux Park | CORPORATE

to, e hoje já possui 4600 CPUs e 9 desenvolvimento de Código Aber-


TB de memória, rodando Red Hat to da empresa surgiu em resposta à
Enterprise Linux e CentOS. demanda de seus clientes.
A Novell, segundo seu Consul-
tor Sênior Ricardo Palandi, já se
Painel sobre preocupa com interoperabilidade
interoperabilidade e padrões abertos desde o fim da
década de 90, e ressurgiu no início
O final do evento foi marcado pelo do século atual graças às aquisições
memorável painel de interoperabi- relacionadas ao SL/CA.
Figura 7 Pela primeira vez, representantes dos
lidade – executado pela primeira Por último, Alejandro Chocolat, principais players do mercado de SL/CA
vez na história. Executivos dos mais Country Manager da Red Hat Brasil, reuniram-se para debater sobre a
importantes players do mercado na- levantou uma importante questão: interoperabilidade.
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 Por último, o ansioso público final-
(figura 7), respondendo primeiro às hoje?”. Segundo Chocolat, a adoção mente pôs suas perguntas aos presen-
perguntas do moderador, Rafael Pere- de SL/CA e padrões abertos levará tes. Interpelada por Julio Cezar Neves,
grino, e em seguida dando respostas ao crescimento dos serviços em TI, professor universitário e analista de su-
às perguntas do público. o que é altamente positivo, na visão porte de sistemas da Dataprev, a repre-
Respondendo à primeira per- da Red Hat. sentante da Itautec afirmou que, como
gunta, “O que a interoperabilidade Posteriormente, cada um dos fornecedora de soluções proprietárias e
representa para sua empra?”, Cezar representantes respondeu a uma livres, a empresa permite que o cliente
Taurion, Gerente de Novas Tecno- pergunta específica do moderador. defina a opção mais vantajosa para seu
logias Aplicadas da IBM, apontou as Falando sobre o formato ODF, a negócio. Em seguida, o executivo da
múltiplas formas de interoperabili- IBM reforçou a idéia de que é im- Microsoft, ao ser questionado a respeito
dade, ressaltando a atuação da big portante utilizarmos um formato do uso futuro dos códigos abertos que
blue nesse sentido. aberto para documentos, a fim de sua empresa vier a disponibilizar, con-
A Itautec foi representada por garantir sua compatibilidade com firmou que a licença Shared Source,
Isabel Lopes, Gerente de Análise leitores no futuro. A Microsoft foi semelhante à BSD, será respeitada em
e Suporte da empresa brasileira, e questionada a respeito do acordo sua totalidade.
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- aproximação de clientes antes ina- Experiência
vência das empresas. tingíveis, por estarem “fechados com Ao término do evento, o público
O Gerente de Estratégias de Mer- o Linux”, nas palavras de Prado, que agraciou os palestrantes e organi-
cado da Microsoft Brasil, Roberto também apontou que o OpenXML há zadores com calorosos aplausos,
Prado, enfatizou que o centro de de se tornar um padrão aberto após reafirmando a aceitação e a impor-
aprovação pela ISO. tância do Linux Park para o cenário
A pergunta dirigida à do SL/CA nacional.
Novell fazia menção Pode-se esperar, portanto, que a
à sua estratégia para próxima edição do evento, dessa vez
virtualização, defen- na capital mineira, tenha igual ou
dida pela companhia maior sucesso. ■
como vantajosa eco-
nômica, ambiental e
tecnicamente. O acor- Mais Informações
do Novell-Microsoft [1] Apresentação de Rafael
também foi tema da Peregrino, incluindo pesquisa
realizada pela Linux New Media
pergunta à Red Hat, do Brasil:
Figura 6 Luiz Monnerat demonstrou como a Petrobras que afirmou que inte- http://www.linuxpark.com.
se beneficia, desde 1997, de clusters Beowulf grará todos os avanços br/arquivos/LP07-1/Mercado_
com Linux. Linux_e_SL_no_Brasil.pdf
provenientes deste.

Linux Magazine #31 | Junho de 2007 25


Ron Hovsepian, CEO da Novell

Cliente em foco
CORPORATE

Meses após o polêmico acordo entre a Novell e a Microsoft,


muitos ainda têm dúvidas quanto aos assuntos que este
engloba. Ron Hovsepian está à frente das negociações, e
pode explicar com clareza o que o acordo diz e não diz.
por Rafael Peregrino da Silva

Linux Magazine» Embora muito já tenha LM» Quanto às indenizações por pa- Nós afirmamos, logo após fechar
sido dito a respeito do acordo entre a tentes, o que exatamente o acordo o acordo, que usaríamos em nossa
Novell e a Microsoft, muitas dúvidas pretende cobrir? defesa as patentes que possuímos.
ainda persistem. Você poderia expli- RH» Novamente o foco é o cliente. Com o surgimento, logo em seguida,
car um pouco melhor como surgiu a O acordo diz que, caso haja litígios da Open Invention Network (OIN),
idéia desse acordo? legais quanto à violação de patentes nós inserimos nossas patentes nessa
Ron Hovsepian» No início de maio de de alguma das empresas pela outra, realidade, justamente com o obje-
2006, telefonei para Kevin Turner, Chief nenhum cliente será envolvido na tivo de protegê-las.
Operating Officer da Microsoft e ex-CIO disputa. As duas companhias ainda O acordo com a Microsoft simples-
da rede Walmart, onde foi meu cliente. têm o direito de processar uma à mente cria mais uma proteção, dessa
Falei sinceramente: “Kevin, acho que outra por qualquer motivo que seja, vez para o cliente. Portanto, é mais um
a Microsoft deveria pensar seriamen- porém os clientes de cada uma não motivo para o cliente não precisar se
te em comercializar o Linux”. Após o serão envolvidos. preocupar com questões de patentes.
choque inicial, expliquei a ele o moti- Esse não é um acordo de troca de Em parte, é por isso que a comu-
vo dessa colocação, do ponto de vista licenças. Isso é o que eu mais desejo nidade e o Linux não crescem mais
do cliente, especialmente em relação que os leitores compreendam. A No- rápido; as empresas e desenvolvedores
à interoperabilidade, e ele compreen- vell e a Microsoft não têm, e prova- envolvidos não conseguem por à parte
deu de verdade. velmente jamais terão, um acordo de suas diferenças e trabalhar para o bem
No dia seguinte, recebi um telefone- troca de patentes. comum. É muito mais fácil criar forks e
ma de Kevin, extremamente interessado Acreditamos que envolver nossos dividir os desenvolvedores e usuários.
em formular um acordo para que esses clientes em questões judiciais faz mal
planos se concretizassem. à imagem de todas as empresas envol- LM» Concorrentes da Novell, no Bra-
Então, tudo foi pensado tendo em vidas na disputa. Um exemplo disso foi sil, afirmaram que a empresa vendeu
vista o favorecimento do cliente. o que ocorreu à SCO, que saiu extre- sua alma à Microsoft. Além disso, es-
mamente prejudicada de suas batalhas pecula-se bastante que a Novell esteja
contra clientes e fornecedores. apenas atuando como um “emissário”
da Microsoft no mercado do SL/CA.
LM» Atualmente, as patentes de Por último, fala-se que a Microsoft
software são uma das maiores ame- cogitou adquirir sua empresa. Você
aças ao Software Livre e de Código poderia esclarecer essas questões?
Aberto. Qual a posição da Novell RH» A aquisição pela Microsoft é com-
a esse respeito? pletamente especulativa. Não posso ga-
RH» Há dois aspectos nessa discussão. rantir que seja impossível, pois ambas
O primeiro é a realidade de cada auto- são empresas de capital aberto, com
ridade reguladora (governos, em última seus próprios conselhos diretores e es-
instância), com importantes diferenças truturas administrativas. Mas posso dizer
entre os diversos países do globo. O que acho muito improvável.
Figura 1 Ron Hovsepian, CEO da segundo é o que nós, como empresa, Quanto a vender a alma, volto a afir-
Novell. estamos fazendo. mar que busco representar os clientes.

26 http://www.linuxmagazine.com.br
Entrevista Novell | CORPORATE

Meus clientes desejam uma melhor fazer com outras companhias acordos A própria Microsoft, na minha visão,
interoperabilidade, e querem ter ape- semelhantes ao que fez com a Novell. tem agido corretamente, ouvindo os
nas uma empresa à qual recorrer para Entretanto, a Novell vinha tratando o pedidos de seus clientes e aproximan-
o fornecimento e suporte tanto ao acordo, ao menos no início, como algo do-se deles. Sua conversa conosco é to-
Windows quanto ao Linux. O acordo exclusivo. Houve erros de interpretação talmente franca. Por exemplo, quando
é a manifestação disso. Nós não vamos por alguma das partes? eles propuseram, há pouco, um acordo
vender nossas almas a ninguém. RH» De minha parte, não vejo qual- de patentes, nós educadamente nega-
quer problema em acordos que envol- mos, pois isso não é estrategicamente
LM» A Microsoft não agiu sempre de vam afastar os clientes dos processos favorável a nós. E esse fato não pertur-
forma ética para eliminar a concor- por violação de patentes. Realmente bou nosso relacionamento.
rência, e a própria Novell já foi pre- não me importo se a Microsoft qui-
judicada por isso. Isso não indicaria ser fazer acordos semelhantes com LM» O acordo possui cinco pilares,
algum tipo de risco em acompanhar nossos concorrentes, ou até mesmo bem definidos, de colaboração en-
a empresa nesse tipo de acordo? outros acordos, de troca de licenças, tre as duas companhias. Em cada
RH» A Microsoft vai competir hones- por exemplo. um deles, quais partes já estão em
tamente em qualquer mercado. Por- No caso da Novell, especificamente, andamento?
tanto, eu enxergo essa questão como: nós possuímos um grande arsenal de RH» Temos que pensar como se
“é possível ter uma relação com uma patentes de alta importância, o que dá fossem três acordos diferentes. Pri-
empresa tão competitiva?”, e acho que um tom diferente às negociações com meiramente, um acordo na área de
a resposta é “sim”. a Microsoft. No entanto, nós jamais negócios, que engloba a participação
Creio que o desejo da Microsoft de usaríamos essas patentes
entrar no mercado de Linux é pequeno,
se é que existe. Porém, o que a motiva é
contra nossos clientes,
embora possamos usá-
A Novell e a
aumentar sua presença frente ao cliente. las como mecanismo Microsoft não têm,
Então, se ela puder unir-se a nós em fa- de defesa contra outras e provavelmente
vor do cliente, sua estratégia pode ficar empresas.
melhor fundamentada. Além disso, outra Na realidade, nós jamais terão, um
conseqüência é a melhora da percepção discordamos da Micro- acordo de troca
da empresa por parte dos clientes. soft quanto à proteção
de direitos de proprie-
de patentes.
LM» Aparentemente, a GPLv3, ainda dade intelectual, e já
em formulação, incluirá cláusulas informamos a eles que não faremos da Microsoft, com várias dezenas de
que impedem a distribuição de seus qualquer tipo de reconhecimento de milhões de dólares e um esforço de
softwares mediante acordos como o da infração de patentes no Linux. vendas dedicado ao acordo (em Re-
Novell com a Microsoft. Como a No- dmond), além dos US$ 240 milhões
vell pretende abordar essa limitação, LM» Como seus clientes mais impor- em cupons de serviços Novell que eles
especialmente em relação ao Samba, tantes reagiram ao acordo? E os no- adquiriram e vêm distribuindo.
que provavelmente a adotará? vos clientes? O segundo trata da cooperação
RH» Estamos obviamente bastante RH» Evidentemente estou muito feliz técnica, passando por virtualização e
atentos a isso. Temos participado no em ver a Novell adquirir novos clientes, ODF. Já publicamos nosso planeja-
Comitê B da formulação da GPLv3. que encararam o acordo como uma mento nessa parte do acordo, e estamos
Estamos aguardando versões públicas ótima notícia. Como você pôde ver há nos primeiros estágios da colaboração.
dos outros comitês, para decidirmos pouco, eles estão muito satisfeitos com Construímos um tradutor do formato
como agir. Claro que há algumas op- o fato de nós assumirmos a função de OpenXML para o OpenOffice.org, e va-
ções técnicas e de negócios das quais buscar a interoperabilidade, em vez mos continuar avançando nesse campo.
podemos lançar mão. O que podemos de eles próprios terem de se preocu- No tocante à virtualização, temos que
garantir é que a Novell permanecerá par com isso. Em troca, eles já fizeram esperar o Vista estabelecer-se e amadu-
profundamente comprometida com o pedidos de inclusão de recursos de recer para que possamos interagir com
Linux e seu mercado. interoperabilidade, que no momento ele de forma sólida.
somam vinte itens. Essa proximidade A terceira nuance do acordo é a que
LM» Steve Ballmer, da Microsoft, afir- com nossos clientes é extremamente trata das patentes, e creio que já falei
mou que a empresa está disposta a bem vinda. demais sobre ela. (risos). ■

Linux Magazine #31 | Junho de 2007 27


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

Abrindo e aprendendo
CORPORATE

Veja o novo posicionamento da Sun no mercado


do Software Livre e de Código Aberto.
por Pablo Hess

Linux Magazine» Como a Sun se en- Por esses motivos, creio que é um erro E quero que os leitores tenham em
volveu com o Software Livre e de lutar para separar os dois termos. mente que nós sabemos que vamos er-
Código Aberto? rar, mas vamos sempre corrigir nossos
Simon Phipps» Desde 1982, quando a LM» Qual é o envolvimento da Sun com erros da melhor forma possível.
Sun era a startup de Código Aberto do as distribuições do OpenSolaris?
momento, utilizamos o BSD Unix como SP» Temos nossa própria distribui- LM» A CDDL foi lançada após a
base para nosso negócio – workstations –, ção (Solaris Express), feita a partir GPLv2. Por que houve esse esforço de
mas acrescentamos muitos componen- das mesmas ferramentas abertas criação de mais uma licença livre?
tes proprietários nele. Apenas em 2005, que os outros grupos usam. No en- SP» Costumo caracterizar nossa licença
quando a Sun lançou o OpenSolaris, tanto, achamos melhor não inter- CDDL como a Mozilla Public License
voltamos a ter um kernel livre. ferir na forma como a comunidade (MPL) com falhas corrigidas. Ela não
Em relação à diferença entre esses de usuários faz uso das ferramentas é uma nova licença maligna que faz
termos, para mim, o Software Livre é a que disponibilizamos. as pessoas cederem direitos que não
base que os desenvolvedores usam para desejam, nem tampouco é exclusiva
criar softwares que os fazem sentirem- LM» Como a Sun se relaciona com sua da Sun. A CDDL é uma licença de
se no controle. E esse software precisa comunidade de usuários? uso geral, que eu sugiro que se use no
ser licenciado de forma a permitir que SP» Para responder a essa pergunta, é lugar da MPL.
eles tenham direito de desenvolvê-lo, necessário deixar claro que não existe Antes de criarmos a CDDL, busca-
e necessita também de regras que fa- uma comunidade única de usuários, mos os motivos da intensa proliferação
cilitem a contribuição por parte dos pois cada um de nossos produtos de licenças livres, e descobrimos que isso
desenvolvedores. Esse conjunto de tem sua própria comunidade. Isso ocorre devido a falhas não intencionais
regras a respeito da licença e da con- se reflete na forma como lidamos na MPL. Quando advogados corpo-
tribuição é o que eu entendo por Có- com cada uma delas, incluindo as rativos encontram uma dessas falhas,
digo Aberto, que por sua vez é como licenças e regras adotadas para seus afirmam que é necessário corrigi-la.
os desenvolvedores inteligentes usam respectivos softwares. Porém, recorrentemente, a falha é cor-
o Software Livre. rigida apenas para sua própria empresa.
LM» Quais são as maiores dificulda- Por isso, tivemos o cuidado de corrigir
des enfrentadas por vocês na abertura todas essas falhas da MPL para qualquer
de códigos? desenvolvedor ou usuário.
SP» Como não existe experiência a esse
respeito na indústria, temos que asse- LM» Qual a relação da Sun com o
gurar a qualidade de nosso software, ao kernel Linux?
mesmo tempo em que garantimos as SP» Nós sabemos que o Linux roda mui-
vantagens e oportunidades que o Có- to bem em nosso hardware, e muitas
digo Aberto oferece. vezes ele é o mais apropriado no con-
Talvez não pareça, mas é bem com- texto do usuário.
plicado (senão impossível) percorrer Separar nossas comunidades é estu-
esse caminho todo sem cometer erros. pidez, pois temos mais semelhanças do
Então, nós acabamos por avançar um que diferenças. Sabemos que usuários
Figura 1 Simon Phipps, Chief Open tanto e recuar um pouco, tentando de tecnologia tendem a tornar-se apai-
Source Officer da Sun sempre assegurar a qualidade e a xonados pelo que usam, mas isso jamais
Microsystems. liberdade do código. deve ser transformado em raiva. ■

28 http://www.linuxmagazine.com.br
��������������������������
�� ��������� ����� �� ��� ����������� ������� ��� ��������� ��������� ���
���������������������������������������������������������������
��������� ��� ������� �� ��� �������� ������� ���� ��������� ��� �������
����������������������������������������������������������������
�������������������������������������������������

��������������������������������������������
�����������
���������������������������������������
���������������������������������������������������������������������
���������������������������������������������������������
�������������������������������������������������������
����������������������������������������������������
����������������������������������
�����������������������������������
�������������������������������
����������������������������
�����������������
����������

�����������������������������������������������������������������
������������������������������������
���������������
Código Aberto na idade da razão

Cezar Taurion
CORPORATE

N
as últimas semanas participei de alguns gran- avam nos projetos de Código Aberto eram 100% volun-
des eventos de Linux e Código Aberto, como tários, o processo de desenvolvimento era anárquico e
o Linux Park e FISL 8.0. E percebi que está sem um road map claro e nenhuma preocupação com
cada vez mais latente o amadurecimento da comuni- datas para entrega. Havia também a percepção de que
dade de Código Aberto. Mesmo no FISL, onde antes os fundamentos econômicos do Código Aberto eram
havia muito conteúdo ideológico e emotividade, hoje intangíveis, a chamada gift economy.
a maioria das discussões e apresentações já são muito Hoje, sabe-se que nos projetos de maior sucesso,
pragmáticas. Todos saem ganhando com isso. cerca de 90% dos desenvolvedores mais ativos estão na
A maturidade do movimento de Código Aberto pode folha de pagamento da própria indústria de software.
ser simbolizada pelo crescimento e maturidade do Li- Também existe uma organização clara, com road map
nux, que começou sem maiores pretensões. O email definido (os exemplos da Linux Foundation, Eclipse
de Linus Torvalds, em 25 de agosto de 1991, dizia que Foundation e Apache Software Foundation são prova
seu sistema operacional era apenas um hobby, e não disso) e está claro que existem, sim, modelos de negó-
se tornaria nada profissional. cio que podem ser construídos em cima do contexto
de Código Aberto.
A cada dia diminui o A sinergia entre a indústria e a comunidade é positiva
para todo mundo. Uma pesquisa, ainda em rascunho,
número de críticos que em elaboração por pesquisadores da Universidade de
acham que Código Pisa, na Itália, tem gerado dados muito interessantes.
Até o momento, ela está demonstrando que a sinergia
Aberto não é sério. indústria-comunidade é altamente positiva. Os proje-
tos que têm apoio da indústria têm, em média, 19 de-
Hoje, Código Aberto é uma realidade. Diversos soft- senvolvedores ativos, contra cinco dos demais projetos.
wares, como o próprio Linux, Apache, Firefox, Eclipse, Também apresentam maior atividade e demonstram
JBoss, PostgreSQL, MySQL, Sendmail e PHP, para um viés mais focado na tecnologia Java que na família
citar alguns, já fazem parte do portfólio de software de C (C e C++). A pesquisa também mostra um maior
muitas empresas. pragmatismo quanto à escolha das opções de licen-
O movimento de Código Aberto tem em seu con- ciamento: em 45% dos projetos em que empresas de
texto a inovação do processo de desenvolvimento. Exis- software participam ativamente, a licença GPL é a es-
te uma frase emblemática de Eric Raymond, em seu colhida, contra quase 75% quando o projeto é condu-
livro The Cathedral and the Bazaar, que diz: “acredito zido apenas pela comunidade. As outras licenças mais
que o golpe mais inteligente e de maior relevância do usadas são basicamente a BSD, Mozilla Public License
Linux não foi a construção do próprio kernel Linux, e a Apache License.
mas a invenção do seu modelo de desenvolvimento”. A conclusão a que podemos chegar é que está ocor-
Este novo modelo de desenvolvimento colaborativo rendo um maior amadurecimento da comunidade,
permitiu criar diversos novos e inovadores modelos de com conseqüente maior evolução e aperfeiçoamento
negócio que estão afetando e vão afetar ainda mais a do modelo de Código Aberto. Acredito que estamos no
indústria de software. caminho certo. ■
A cada dia diminui o número de críticos que acham
que Código Aberto não é sério. Alguns mitos dos seus O autor
tempos pioneiros e românticos começam a ser elimi- Cezar Taurion é gerente de novas tecno-
nados. Quando começamos a debater Código Aberto logias aplicadas da IBM Brasil. Seu blog está
com mais intensidade, por volta de 2000 ou 2001, havia disponível em http://www-03.ibm.com/de-
veloperworks/blogs/page/ctaurion.
quase um consenso de que os desenvolvedores que atu-

30 http://www.linuxmagazine.com.br
Monitoramento de redes com Nagios

Vigiando os fios

CAPA
Mantenha-se à frente dos problemas de rede com a
versátil ferramenta de monitoramento Nagios.
por Joe Casad e Pablo Hess

S
e você é responsável por mais de uns poucos PCs, provavelmente já
percebeu que seria interessante monitorar o estado da sua rede automa-
ticamente. Você inclusive já deve ter implementado um sistema como
esse. Os administradores profissionais já possuem suas próprias ferramentas
de monitoramento preferidas, e os usuários domésticos não precisam se pre-
ocupar com isso. Então, por que dedicar uma matéria de capa ao Nagios?
O mundo de TI já está cheio de ferramentas comerciais de monitora-
mento. Na verdade, grande parte do pavilhão de exposições durante a Linux
World é dedicado a ferramentas como essas, que monitoram e gerenciam
recursos de rede. Muitas delas são bastante eficientes, e não desencorajamos
ninguém de usar uma solução comercial, caso ela seja a ferramenta certa
para o trabalho.
Entretanto, é possível ir bem longe com o Linux usando produtos livres e
gratuitos, e o Nagios é um exemplo de ferramenta extremamente eficiente
que não exige pagamento. Se você estiver pensando em adquirir uma solu-
ção comercial, você precisa saber quais são as alternativas livres. Visitando os
estandes na LinuxWorld, você encontrará inúmeros folhetos, white papers e
documentos técnicos a respeito de soluções comerciais de monitoramento.
Por isso, estamos oferecendo uma contrapartida igualmente técnica a res-
peito do Nagios.
Se você acredita que não 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 seção de programação, é pos-
sível usar o Nagios em uma escala menor, com scripts caseiros para verificar
temperaturas e enviar alertas com informações de status.
Incluímos também o GroundWork, um aplicativo GPL comercial que
facilita a configuração do Nagios e oferece uma interface mais organizada
para o usuário.
Na seção de programação, nosso ás do Perl Michael Schilli mostra como
criar seus próprios plugins para o Nagios.
Continue lendo e desbrave os detalhes do fabuloso Nagios. ■

Índice
O verdadeiro grande irmão p.32

Trabalho de base p.40

Linux Magazine #31 | Junho de 2007 31


CAPA

Vigilância de sistemas

O verdadeiro grande irmão


O versátil Nagios monitora sua rede através de plugins, e emite alertas antes
que haja problemas com máquinas e serviços. Aprenda em profundidade como
instalar, usar e gerenciar esse ícone do monitoramento de redes.
por Julian Hein

A
lgumas soluções avançadas de usuários finais ou chefes o façam”. As máquinas e serviços monitora-
monitoramento de redes são O programa monitora as máquinas dos pelo Nagios são todos definidos
vendidas por milhares de reais, da rede, verificando sintomas de através dos arquivos de configuração
e valem o investimento caso sejam possíveis problemas. Pode-se usá-lo do software. Esses arquivos contêm
capazes de manter a rede de uma em- para monitorar serviços de rede, re- ainda configurações do daemon do
presa funcionando sem interrupções. cursos das máquinas (como carga do programa propriamente dito, assim
Porém, se o objetivo for uma ferramen- processador e espaço disponível em como informações sobre os contatos
ta versátil e confiável que informe o disco) e fatores ambientais, como a que receberão os alertas dele.
administrador sobre eventos na rede, temperatura na sala dos servidores.
sem no entanto estourar o orçamento, O Nagios é facilmente extensível
a ferramenta livre de monitoramento – pode-se fazê-lo monitorar quase Instalação
Nagios pode ser a solução. todos os problemas de rede poten- No momento da redação deste arti-
De acordo com o site do Nagios, ciais. É possível exibir sua saída em go, a versão estável ideal para redes
a proposta desse programa é “...in- um gráfico ou numa tabela HTML. pequenas e médias mais atual do
formar ao administrador os proble- Até mesmo alertas podem ser en- Nagios era a 2.7. Já para monitorar
mas de rede antes que seus clientes, viados através dele, caso apareça grandes redes, com 300 ou 400 má-
Notificação de serviço
algum problema. quinas, pode ser mais interessante
Notificação de máquina
O Nagios não é exatamente uma experimentar a próxima versão, 3.0,
Comando de notificação solução de monitoramento completa, que promete grandes avanços em
de máquina
Contatos
Comando de notificação
de serviço
Comandos Períodos de tempo
mas sim um daemon que gerencia o desempenho, principalmente em
processo de monitoramento (figura 1). ambientes avantajados.
Membro

A configuração do programa define É possível baixar o Nagios a partir


de

Grupo de
as máquinas e serviços que ele deve da página do projeto[1]. No entanto,
Contatos
Notific
ação
monitorar, e programas pequenos e muitas distribuições Linux, como
Notificação

independentes, conhecidos como Debian[2], Fedora, Red Hat Enter-


de aces
so

Grupos de
máquinas
Membro
Máquinas Serviços plugins, obtêm e retornam as in- prise e Gentoo incluem uma versão
de
formações de status. Vários plugins do programa, e pode-se baixar os
Figura 1 Os arquivos de configuração do Nagios pré-definidos estão disponíveis no pacotes do Suse a partir dos popu-
freqüentemente referem-se a outros site, e também é possível criar os lares mirrors FTP. Muitos usuários
arquivos de configuração. seus próprios. acham mais fácil compilar o progra-

32 http://www.linuxmagazine.com.br
Nagios | CAPA

ma a partir do código-fonte, pois isso Exemplo 1: Configuração do objeto Timeperiod


permite uma instalação mais rápida 01 define timeperiod {
de patches de segurança. 02 timeperiod_name nonworkhours
03 alias outside working hours
Para compilar seu próprio Na- 04 monday 00:00-09:00,17:00-24:00
gios, é necessário instalar os pacotes 05 tuesday 00:00-09:00,17:00-24:00
apache , apache2 , libgd , libjpeg- 06 wednesday 00:00-09:00,17:00-24:00
devel e openssl-devel , incluindo 07 thursday 00:00-09:00,17:00-24:00
08 friday 00:00-09:00,17:00-24:00
suas dependências. Os comandos 09 saturday 00:00-24:00
a seguir preparam o servidor para 10 sunday 00:00-24:00
a instalação: 11 }

#useradd nagios localizados no subdiretório contrib cobrir. A documentação completa


#groupadd nagios
#mkdir /usr/local/nagios do pacote do plugin. Será necessá- do arquivo de configuração está dis-
#chown nagios:nagios rio copiar esse tipo de plugin para ponível em[3].
#/usr/local/nagios /usr/local/nagios/libexec. Uma das configurações mais im-
#useradd nagcmd portantes nesse arquivo de configu-
#groupmod -A nagcmd www-data
#groupmod -A nagcmd nagios rações globais é uma referência ao(s)
Configuração arquivo(s) de definição de objetos
A etapa a seguir descompacta e O arquivo central de configuração, que será usado pelo programa:
instala o código-fonte: /usr/local/nagios/etc/nagios.conf,
contém configurações globais do cfg_file = nome_do_arquivo
#tar zxvf nagios-2.7.tar.gz daemon do programa. Um arqui-
#cd nagios-2.7
#./configure --with-command- vo de configuração de exemplo é O arquivo de definição de objetos
➥group=www-data gerado automaticamente quando contém a maioria das informações
#make all se compila os binários. Quando se específicas que descrevem as má-
utiliza uma versão empacotada do quinas e serviços a serem monitora-
O comando ./configure -help software, ou quando a versão foi pré- dos. Dependendo do tamanho e da
mostra um panorama dos parâme- instalada no sistema, o arquivo de complexidade da rede em questão,
tros disponíveis para a compilação. configuração deve estar localizado pode ser interessante espalhar essas
Após terminá-la, pode-se instalar o nos diretórios do Nagios (veja a se- informações de objetos ao longo de
aplicativo digitando-se make install. ção Arquivos de configuração, mais diversos arquivos.
Outros comandos make instalam um adiante, para mais informações sobre Nesse caso, é possível usar a diretiva
script de inicialização, um exemplo arquivos de exemplo). O arquivo de de configuração cfg_file múltiplas
de configuração e um pipe para co- configuração contém mais opções de vezes, ou aplicar a diretiva cfg_dir
municação entre as interfaces web configuração do que este artigo pode
e o daemon:
Quadro 1: Objetos do Nagios
#make install-init
#make install-config O Nagios necessita de ao menos uma entrada de configuração para os seguintes objetos:
#make install-commandmode
➧ Timeperiods: períodos de tempo para monitoramento e notificação;
O pacote do Nagios propriamente ➧ Commands: checagens de monitoração e notificação;
dito não contém plugins, sendo ne- ➧ Contacts: contatos e emails;
cessário instalá-los separadamente. É ➧ Contactgroups: grupos de contatos;
➧ Hosts: dispositivos e suas configurações;
possível baixá-los a partir do site[1].
➧ Hostgroups: grupos de hosts;
A versão 1.4.6 dos plugins é a atual.
➧ Services: configuração de serviços de monitoramento.
Entretanto, vários plugins não po-
derão ser compilados, a menos que Os seguintes objetos não são estritamente necessários, mas são oferecidos como
opções de configuração estendidas:
sejam especificados determinados
arquivos de cabeçalho ou bibliotecas ➧ Servicegroups: grupos de serviços monitorados;
clientes instaladas no sistema. Além ➧ Dependencies: definição de dependências entre máquinas ou serviços;
disso, alguns plugins só estão dispo- ➧ Escalations: regras de escalação para notificações;
➧ ExtendedInformation: configurações estendidas para a interface web.
níveis como scripts Perl, ou estão

Linux Magazine #31 | Junho de 2007 33


CAPA | Nagios

Exemplo 2: Definição de comando meperiod mostra as informações de


01 define command { período de tempo (exemplo 1).
02 command_name check_smtp A propriedade mais importante as-
03 command_line $USER1$/check_smtp -H $HOSTADDRESS$ -p $ARG1$ -w
➥$ARG2$ -c $ARG3$ sociada a ele é timeperiod_name, que é
04 } consultada por várais outras funções
de configuração do Nagios. A inter-
Exemplo 3: Contatos no Nagios face web utiliza o apelido estendido
01 define contact { (extended alias name). Valores de
02 contact_name jdoe tempo individuais sempre referem-
03 alias Jon Doe
04 service_notification_period nonworkhours se a um dia da semana.
05 host_notification_period nonworkhours É preferível usar um arquivo de
06 service_notification_options w,u,c,r configuração separado para perí-
07 host_notification_options d,u,r odos de tempo, como /usr/local/
08 service_notification_commands notify-by-email
09 host_notification_commands host-notify-by-email nagios/etc/objects/timeperiods.cfg.
10 email jdoe@example.com Inicialmente, serão necessárias três
11 } definições das situações mais co-
Exemplo 4: Definição de Host muns, como por exemplo, always,
workhours e nonworkhours.
01 define host {
02 host_name linux1
O Nagios refere-se a qualquer
03 alias Linux Server 1 tipo de definição combinada que
04 address 192.168.1.254 chame um programa ou script
05 parents main-switch de shell como um comando. No
06 check_command check-host-alive
exemplo 2 , o objeto de comando
07 max_check_attempts 5
08 check_period always manda-o chamar o plugin check_
09 contact_groups linux-admins smtp com parâmetros específicos.
10 notification_interval 30 $HOSTADDRESS$ refere-se a uma macro
11 notification_period always
12 notification_options d,u,r que recebe os dados apropriados
13 } ao ser chamada. O parâmetro de
plugin -p significa o número da
Exemplo 5: Configuração de checagem de serviço porta SMTP, e -w e -c introduzem
01 define service { os limites WARNING e CRITICAL.
02 service_description smtp check A informação passada para o
03 host_name linux1
04 check_command check_smtp!25!10!20 plugin depende de qual esteja
05 max_check_attempts 3 sendo usado. O monitoramento
06 normal_check_interval 5 HTTP exige parâmetros como o
07 retry_check_interval 1 nome do servidor, caminho, nome
08 check_period always
09 notification_interval 30 do usuário e senha, enquanto uma
10 notification_period always verificação por ping apenas requer
11 notification_options w,c,r um endereço IP. A forma mais fá-
12 contact_groups linux-admins
13 }
cil de descobrir quais parâmetros
são necessários para um plugin do
para especificar um diretório com os contato selecionado para receber no- Nagios é executar o plugin com o
arquivos de definição de objetos: tificações em caso de emergências. parâmetro --help.
O quadro 1 lista alguns dos possíveis O programa define as pessoas
cfg_dir = nome_do_diretorio objetos no arquivo de definição de e endereços de contato com o
objetos. O site oferece uma descrição objeto Contacts (veja o exemplo
Essencialmente, um objeto do completa de objetos pré-definidos[4]. 3 ). Os contatos são usados princi-
Nagios é qualquer elemento que o A seguir estão descritos alguns dos palmente em caso de problemas,
programa precise conhecer, como mais importantes. mas também são utilizados para
um serviço que deva ser monitorado, As configurações de Timeperiod atribuir privilégios de acesso à
um comando a ser executado, uma (período de tempo) definem quando interface web.
máquina em operação na rede ou um monitorar ou notificar. O objeto Ti-

34 http://www.linuxmagazine.com.br
Nagios | CAPA

Quadro 2: Monitoramento de servidores Windows com o Nagios


Obviamente o Nagios oferece várias soluções para monitorar servidores Windows. Além do NRPE, que possui uma versão para
Windows, o NsClient faz referência 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 instalação é extremamente simples: após descompactar o arquivo ZIP, só é necessário copiar os arquivos para um local ade-
quado no servidor Windows, como C:\Arquivos de Programas\NsClient, e modificar as configurações presentes em @NSC.ini
para refletirem as exigências locais. Em particular, é necessário ativar os módulos individuais no início do arquivo de configura-
ção. Feito isso, o administrador do Windows precisa reiniciar o serviço através do Iniciar | Executar, digitando C:\Arquivos de
Programas\NsClient++ /install e, em seguida, net start nsclient++.
Como o agente contém ambos seus antecessores, é possível utilizar qualquer um dos dois plugins no servidor Nagios, ou seja,
check_nt ou check_nrpe. O primeiro possui valores para os parâmetros CLIENTVERSION, CPULOAD, UPTIME, MEM-USE, USE-
DDISKSPACE, SERVICE-STATE e PROCSTATE, além de todos os contadores PerfMon do Windows. Uma chamada para consultar o
status de um serviço do Windows é assim:
./check_nt -H <endereço_da_máquina> -p <porta> -s <senha> -v SERVICESTATE -l <serviço>
A forma mais fácil de se descobrir o nome dos serviços consultados no Windows é através das propriedades do gerenciador de
serviços do Windows, que fica em Iniciar | Administração | Serviços. Enquanto a maioria dos outros parâmetros é auto-explica-
tiva, os contadores de performance, ou performance counters, precisam de alguma explicação. 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 várias outras aplicações do servidor, como o Exchange Server ou o
SQL Server. Para isso, a sintaxe é:
#./check_nt -H <endereço_da_máquina> -p <porta> -v COUNTER -l “\\Performanceobject(Instance)\\Indicador”

O valor de retorno pode ser reformatado para a saída no plugin.

O exemplo 3 é o primeiro relacio- individuais, pode-se acrescentar As propriedades mais importantes


nado a um objeto definido com outro os contatos aos grupos: de uma máquina são seu nome e
objeto: por exemplo, nonworkhours endereço IP. A variável max_check_
é definido no objeto Timeperio- define contactgroup { attempts define com que freqüên-
contactgroup_name linux-admins
ds (exemplo 1). notify-by-email e alias Linux administrators cia se deve repetir uma verificação
host-notify-by-email representam members jdoe,mtestmann,wadmin antes de o Nagios considerar uma
comandos que o Nagios utiliza para } falha e notificar o administrador.
passar mensagens. Qualquer dispositivo que deva ser Enquanto isso, contact_groups es-
Para evitar a necessidade de lis- monitorado precisa ser definido como pecifica grupos a notificar em caso
tar grandes números de contatos uma máquina (exemplo 4). de falha. Nosso exemplo utiliza um
grupo de contato que configura-
mos antes. Máquinas individuais
podem ser coletadas em grupos
arbitrários de máquinas para um
gerenciamento facilitado:

define hostgroup {
hostgroup_name linux-servers
alias Linux Server
members linux1,linux2,tux,webse
➥rver,mybox
}
Assim que tiverem sido definidas
as configurações de tempo, má-
quinas e contatos, já será possível
definir os serviços. Uma definição
de serviços especifica os recursos
a serem monitorados. É aí que
tudo que especificamos começa
Figura 2 O Nagios fornece resumos detalhados das informações de status. a se unir (exemplo 5).

Linux Magazine #31 | Junho de 2007 35


CAPA | Nagios

Exemplo 6: Configuração da interface web do Nagios Interface web


01 ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin Em controles normais e, acima de
02 tudo, para verificar o status atual
03 <Directory “/usr/local/nagios/sbin”>
04 Options ExecCGI de todos os servidores monitorados,
05 AllowOverride None o Nagios traz uma interface web
06 Order allow,deny (figuras 2 e 3)integrada, que deve
07 Allow from all ser integrada à instalação local
08 AuthName “Nagios Access”
09 AuthType Basic do Apache. Se o Apache2 estiver
10 AuthUserFile /usr/local/nagios/etc/htpasswd.users sendo utilizado, a melhor forma
11 Require valid-user é criar um arquivo chamado /etc/
12 </Directory>
apache2/conf.d/nagios com as entra-
13
14 Alias /nagios /usr/local/nagios/share das mostradas no exemplo 6.
15 Para permitir que os usuários en-
16 <Directory “/usr/local/nagios/share”> trem na interface web do programa,
17 Options None
18 AllowOverride None é necessário definir entradas de conta
19 Order allow,deny em htpasswd.users. Se esse arquivo
20 Allow from all não existir, será necessário criá-lo
21 AuthName “Nagios Access”
utilizando o htpasswd:
22 AuthType Basic
23 AuthUserFile /usr/local/nagios/etc/htpasswd.users
24 Require valid-user touch /usr/local/nagios/etc/
25 </Directory> ➥htpasswd.users
htpasswd /usr/local/nagios/etc/
➥htpasswd.users jdoe
O exemplo 5 também demons- reta. Como argumento, o Nagios
tra como passar parâmetros para espera apenas o nome do arquivo
um comando de verificação. É de configuração principal: Os nomes de usuários precisam
importante notar que os parâme- estar de acordo com os contatos
tros ficam separados por !. Isso /usr/local/nagios/bin/nagios -v criados anteriormente, para que a
➥ /usr/local/nagios/etc/nagios.cfg
passa os valores para as macros interface web possa identificar os
$ARG1$ , $ARG2$ e assim por dian- usuários corretos e mostrar-lhes ape-
te, que em seguida são passados Em caso de sucesso, a verificação nas as máquinas atribuídas a eles.
para o plugin. da configuração exibe uma mensa- O arquivo cgi.cfg lida com outras
Em operações normais, faz sen- gem: Things look okay. No serious funções da interface web e confi-
tido distribuir a configuração do problems were detected during the gurações de privilégio.
Nagios através de múltiplos arqui- pre-flight check.
vos individuais e, dependendo dos
requisitos do projeto, organizar os Iniciando o daemon Plugins
arquivos em vários subdiretórios. É possível iniciar o daemon com o Um plugin do Nagios é essencial-
Por enquanto, provavelmente um seguinte comando: /etc/init.d/nagios mente um pequeno utilitário que
arquivo único deve ser suficiente. start. Se o daemon já estiver rodan- obtém informações do sistema.
As fontes do Nagios incluem um do, pode-se simplesmente mandá-lo Como mencionado antes, há toda
arquivo chamado localhost.cfg ou recarregar-se, para que ele utilize a uma coleção de plugins disponíveis
minimal.cfg, que é perfeito para nova configuração /etc/init.d/na- para download no site. Num site
seus primeiros passos. gios reload. do SourceForge dedicado ao desen-
Após criar ou modificar os ar- Presumindo que o Nagios não volvimento de novos plugins [5],
quivos de configuração do progra- exiba mensagens de erro, agora o existem links para plugins de tercei-
ma, é possível realizar uma veri- daemon foi iniciado para monitorar ros e informações sobre a criação
ficação da configuração. A opção as máquinas e serviços que foram de seus próprios plugins.
-v o faz verificar a configuração configurados. Para descobrir quais Como os plugins são programas
completa para erros de sintaxe e, etapas o programa está realizando independentes, pode-se simples-
sobretudo, certificar-se de que as no momento, pode-se verificar o mente rodar um plugin na linha
referências a outros objetos pos- arquivo de log tail -f /usr/local/ de comando para testá-lo. É bom
sam ser resolvidas da forma cor- nagios/var/nagios.log. trabalhar sob a conta de usuário

36 http://www.linuxmagazine.com.br
www.baixebr.org 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 verifi-
cação pode demandar parâmetros
diferentes. Dito isso, todos os plu-
gins devem possuir uma opção -h
ou --help implementada. Chamar
a ajuda oferece um breve resumo
das várias opções.
Considerando o plugin check_disk:

nagios# ./check_disk -w 50% -c


➥20% -p /$$ Figura 3 O Nagios mantém um resumo dos eventos de notificação.
DISK OK - free space: / 45256 MB
➥ (64% inode=98%); | /=25137MB;37080 Os parâmetros listados ante- macros, que são cadeias de carac-
➥ ;59328;0;74160 riormente, -w e -c, estão definidos teres iniciadas pelo símbolo $; a
para a maioria dos plugins, pois cadeia é substituída pelos dados
Os plugins fornecem um valor também estabelecem os limites em tempo de execução do pro-
de código de retorno que não fica para WARNING e CRITICAL. grama. Macros do tipo $ARGx$ são
diretamente visível por padrão. Nosso exemplo especifica o limite mais importantes, pois são utili-
Pode-se mostrar o código de retorno de espaço livre em disco em 50 ou zadas para armazenar parâmetros
digitando-se echo $?. Os códigos 20%. Ao testar um plugin na linha de definições de serviço.
de retorno numéricos representam de comando, é necessário escolher
os seguintes resultados: 0 para OK, um limite bem baixo, exatamente
1 para WARNING, 2 para CRITICAL e 3 para verificar se o plugin realmente Monitoramento remoto
para UNKNOWN. retorna o status esperado. Ao monitorar recursos remotos, o
A segunda parte da saída do Se os resultados da preparação Nagios diferencia as checagens di-
plugin são os resultados visíveis e das checagens estiverem a con- retas das indiretas. As diretas são
exibidos na interface web. Vários tento, pode-se acrescentar uma iniciadas localmente no servidor
plugins traduzem o valor de re- entrada referente ao plugin na Nagios. Quase todas as verificações
torno para uma mensagem clara, configuração do Nagios: relacionadas a protocolos de rede,
como a DISK OK mostrada acima. como ping, DNS, SMTP e HTTP,
Entretanto, não se deve confiar define command { são feitas como checagens diretas
command_name check_disk
cegamente nisso – em caso de command_line $USER1$/check_disk - que simulam o acesso como qual-
dúvida, é importante verificar o ➥w $ARG1$ -c $ARG2$ -p $ARG3$ quer cliente normal:
código de retorno. }
A terceira parte dos resultados nagios# ./check_http -H
➥ linuxmagazine.com.br -w 5 -c 10
fica separada do resto por um pipe Não é típico fixar os limites de HTTP OK HTTP/1.1 200 OK - 78673
(|). O Nagios chama essa seção de valores de alerta ou os nomes das ➥ bytes in 0.366 seconds
“dados de performance”. Os plugins partições no arquivo de configura-
processam esses valores, converten- ção; em vez disso, normalmente é Checagens indiretas são usadas
do-os em tabelas ou gráficos que recomendável especificar esses va- caso o plugin precise requisitar dados
demonstram as mudanças. lores ao definir o serviço. de uma máquina remota.
Se o programa não conseguir Para preservar o máximo possível Então, o programa precisa co-
encontrar o plugin, ou se este não de flexibilidade, o Nagios utiliza nectar-se à máquina antes de exe-
for executável, ou ainda se o plugin
não retornar a resposta correta para Exemplo 7: Exemplos do NRPE
o daemon, a interface web exibe um 01 command[check_users]=@libexecdir@/check_users -w 5 -c 10
status de UNKNOWN (desconheci- 02 command[check_load]=@libexecdir@/check_load -w 15,10,5 -c 30,25,20
do) e uma mensagem de erro Return 03 command[check_disk1]=@libexecdir@/check_disk -w 20 -c 10 -p /dev/hda1
04 command[check_disk2]=@libexecdir@/check_disk -w 20 -c 10 -p /dev/hdb1
Code of 127 is out of bounds.

Linux Magazine #31 | Junho de 2007 37


CAPA | Nagios

cutar o plugin diretamente nela. os plugins nos servidores a serem do programa, a linha de comando
Para isso, a forma mais fácil é criar monitorados. O NRPE consiste para isso é nagios# ./check_snmp -H
conexões SSH entre o servidor em um daemon para os clientes <endereço_ip> -o <OID> -w warning
Nagios e os clientes, sem atribuir Nagios e um plugin de checagem -c critical -m :. O último argu-
senhas, e usar o SSH para chamar para o servidor. mento, -m :, é importante, mas
os plugins. O pacote de plugins É interessante compilar o plugin mal documentado. Ele impede
fornece um plugin chamado che- diretamente no servidor Nagios. Após que o plugin tente carregar MIBs
ck_by_ssh para esse propósito. descompactá-lo, digite simplesmente instalados localmente. Isso ocasio-
Para iniciar o plugin check_disk ./configure && make all. Isso cria o na mensagens de erro com todas
remotamente em outro servidor, arquivo check_nrpe, que depois pode as versões do plugin. Entretanto, é
é necessário encapsulá-lo no che- ser copiado para o diretório local necessário encontrar os OIDs certos
ck_by_ssh. A definição na linha de com os outros plugins, antes de se manualmente, seja verificando os
comando fica assim: prosseguir à configuração de um MIBs do vendedor ou por tentativa
comando respectivo: e erro com o snmpwalk.
define command { Todo esse monitoramento de rede
command_name check_ssh_disk define command{
command_line $USER1$/check_by_ é inútil se o administrador não for no-
command_name check_nrpe
➥ ssh -t 60 -H $HOSTADDRESS$ -C command_line $USER1$/check_nrpe tificado em caso de problemas. Mais
➥ “$USER2$/check_disk -w $ARG1$ -c ➥-H $HOSTADDRESS$ -c $ARG1$ uma vez, o Nagios possui uma cole-
➥ $ARG2$ -p $ARG3$” } ção de sofisticadas funções de alerta.
A cada vez que um erro é detectado
O comando check_by_ssh é iniciado Para economizar esforço, pode-se em algum local do sistema, ele inicia
localmente. Ele estabelece uma co- instalar o serviço NRPE nos clientes um complexo processo de análise. O
nexão com o servidor, e em seguida a partir dos pacotes, ou copiá-lo do software começa verificando se alguém
executa o plugin check_disk, que servidor Nagios. está ciente do erro (veja max_check_at-
se encontra instalado no servidor. Recomenda-se executar o NRPE tempts), se a parada do serviço foi pla-
O caminho com o inetd ou xinetd, e usar um TCP nejada pela interface web e se o alerta
dos plugins wrapper. O arquivo README do pacote está ativado para a hora atual do dia
em servido- NRPE contém instruções. (veja notification_interval).
res remotos Ao final, deve-se informar as checa-
é guardado gens que se deseja que o NRPE faça
na variável remotamente, em nrpe.cfg (exemplo Contatos
$USER2$, para 7). O arquivo sample contém exem- Após fazer isso, o Nagios descobre
que não seja plos (veja o exemplo 6). os contatos atribuídos à máquina, e
necessário es- Embora o NRPE seja a ferramen- confere suas configurações de notifi-
pecificá-lo. ta oficial para checagens remotas, cação para saber se os contatos devem
Outra ele possui algumas desvantagens ser notificados; em caso positivo, que
opção é o em comparação com o SSH; por tipo de notificação é esperado (veja
Nagios Re- exemplo, ele necessita de um da- notification_options).
mote Plu- emon adicional, e também exige a Finalmente, o programa verifica
gin Execu- abertura de mais uma porta. se o contato deseja ser avisado ime-
tor (NRPE), diatamente (veja notification_period).
um progra- Graças a esse esquema, ele suporta
ma cliente- SNMP um controle altamente granular das
servidor para O SNMP é a ferramenta ideal para notificações.
o Nagios que coletar informações de hardware Dependendo da máquina, hora e
executa plu- remoto. Existe um pacote de plu- contato, pode-se enviar diferentes men-
gins remotos. gin para o Nagios que fornece o sagens através de canais distintos. Para
Figura 4 A interface WAP do Para usá-lo check_snmp. enfocar esse mecanismo ainda mais, as
Nagios é capaz de é necessário Pode-se usar o check_snmp para escalas oferecem aos administradores a
enviar um alerta para
telefones celulares instalar o ser- se obter valores através do OID possibilidade de alterar a forma como
aptos a acessar a vidor NRPE, do MIB do vendedor. Seguindo o os alertas subseqüentes para programas
Internet. assim como padrão familiar de outros plugins já existentes serão feitos.

38 http://www.linuxmagazine.com.br
Nagios | CAPA

Para enviar de fato um alerta, o Exemplo 8: Configuração de notificação


Nagios manda um comando similar 01 define command {
aos de checagem. Em outras palavras, 02 command_name notify-by-email
03 command_line /usr/bin/printf “%b” $$
as notificações não estão fixadas no 04 “***** Nagios 1.0 *****\n\n $$
Nagios. Em vez disso, o programa 05 Notification Type: $NOTIFICATIONTYPE$\n\n $$
executa um comando ou script de 06 Service: $SERVICEDESC$\n $$
shell (exemplo 8). 07 Host: $HOSTALIAS$\n $$
08 Address: $HOSTADDRESS$\n $$
A parte importante da configura- 09 State: $SERVICESTATE$\n\n $$
ção do alerta são os dados enviados 10 Date/Time: $DATETIME$\n\n $$
ao programa de email. Mais uma 11 Additional Info:\n\n $$
12 $OUTPUT$” | /usr/bin/mail -s $$
vez são usadas macros para trans- 13 “** $NOTIFICATIONTYPE$ alert -$HOSTALIAS$/$SERVICEDESC$ $$
mitir os dados. A documentação do 14 is $SERVICESTATE$ **” $CONTACTEMAIL$
Nagios inclui uma lista completa 15 }
de macros disponíveis.
figuração. Por exemplo, guardar as adequado para elas, ou ao menos um
configurações globais e de rede nos que possa ser usado como ponto de
Arquivos de níveis mais altos. O nível seguinte partida para a criação da sua própria
configuração conteria, então, subdiretórios indi-
viduais para cada cliente, departa-
solução personalizada. Não se esque-
ça, é claro, de compartilhar seu novo
Como ponto de partida para nossos mento ou tipo de dispositivo. plugin com a comunidade. ■
experimentos, o Nagios inclui vários Então, pode-se incluir no arquivo
arquivos de exemplo. O arquivo minimal. de configuração os objetos relacio-
cfg simplesmente implementa algumas nados, como uma máquina, junto Mais Informações
checagens para o localhost, enquanto com os serviços e contatos associa- [1] Página do Nagios:
bigger.cfg possui exemplos mais sofis- dos a ela. O melhor método é orga- http://www.nagios.org
ticados. Entretanto, mesmo que só se nizar os objetos de forma a facilitar [2] Repositório do Debian com
queira monitorar uma pequena rede, sua procura. pacotes do Nagios:
faz sentido dedicar-se à organização de http://www.backports.org
sua configuração de objetos. [3] Documentação do arquivo
Distribuir os objetos ao longo de Conclusões de configuração do Nagios:
http://nagios.sourceforge.
arquivos separados de acordo com o O Nagios oferece muito mais do net/docs/2_0/configmain.html
tipo de objeto é altamente recomen- que se pode descrever em um artigo.
[4] Objetos do Nagios: http://
dável. Por exemplo, pode-se usar os Inúmeros recursos e projetos adicio- nagios.sourceforge.net/
arquivos maquinas.cfg, servicos.cfg, nais oferecem aos administradores a docs/2_0/xodtemplate.html
contatos.cfg. Todavia, até mesmo essa possibilidade de acrescentar funções [5] Plugins do Nagios: http://
abordagem pode rapidamente tornar- de monitoramento para qualquer nagiosplug.sourceforge.net/
se difícil de acompanhar, e não há cenário plausível. Ele também su- [6] Plugins e add-ons: http://
motivos reais para se manter tipos de porta sistemas de notificação alter- www.nagiosexchange.org
objetos individuais separados. nativos que usem SMS, e pode até
O Nagios encontra os objetos inde- realizar chamadas telefônicas (figura
pendentemente de quantos arquivos 4). O portal de programas adicionais
(ou até diretórios) separados estejam em (add-ons)[3] é o melhor lugar para O autor
uso, contanto que seu arquivo nagios. se procurar extensões e plugins do Julian Hein é o fundador e CEO da empresa
cfg aponte para os locais corretos. programa. alemã NETWAYS (http://www.netways.
É interessante usar subdiretórios Não importa quão incomuns se- de), que atua na implementação e operação
de redes complexas há mais de dez anos.
para estruturar logicamente uma con- jam suas necessidades, há um plugin

Linux Magazine #31 | Junho de 2007 39


CAPA

Afonso Lima - www.sxc.hu


GroundWork

Trabalho de base
O Nagios possui uma interface web bastante básica. O GroundWork é uma
interface mais amigável e com visual profissional para essa ferramenta.
por James Mohr

A
o instalar um sistema Na- Vários projetos já tentaram Leitores cautelosos devem estar
gios[1], uma solução para criar uma interface assim para céticos quanto a um projeto de
facilitar o trabalho de configu- o Nagios, com variados graus de código aberto que também está
ração é usar um script para adicionar sucesso. Infelizmente, alguns disponível como produto comer-
as máquinas e serviços aos arquivos desses projetos perderam força cial, pois, nesses casos, a versão
responsáveis por isso. Esse método e não conseguiram acompanhar livre costuma ser apenas uma
é rápido e fácil para administradores o desenvolvimento dessa grande amostra da versão comercial, com
experientes que preferem trabalhar ferramenta de monitoramento. funcionalidade bastante reduzida.
com o vi do que clicar em uma in- Uma interface para o Nagios que Porém, felizmente o GroundWork
terface gráfica. ainda está em desenvolvimento ativo Monitor não se enquadra nessa
Porém, se a única necessidade for é o GroundWork[2]. Esse software descrição. Ele oferece toda a fun-
realizar uma pequena mudança, pode é, ao mesmo tempo, uma empresa cionalidade necessária para confi-
ser deveras incômoda a obrigatorie- e um projeto de software de código gurar e gerenciar a sua instalação
dade de se fazer login na máquina aberto. Como empresa comercial, do Nagios.
e caminhar pelos diretórios até en- a GroundWork naturalmente tem No núcleo do sistema fica a pla-
contrar um arquivo de configuração como meta o lucro. Eles oferecem taforma de aplicação Guava, que
específico. Nesses casos, uma inter- duas versões comerciais de seu pro- suporta a interação com usuários
face gráfica é muito útil, principal- duto, além da versão de código aberto através de AJAX. Isso significa que
mente quando depende apenas de disponível para download a partir do as páginas são atualizadas sem a
é um navegador web. SourceForge[3]. necessidade de serem comple-

40 http://www.linuxmagazine.com.br
GroundWork | CAPA

tamente recarregadas. O Guava


também fornece os aspectos de
apresentação do sistema, assim
como os recursos relacionados à
segurança do usuário. O Guava
propriamente dito é um projeto
de código aberto disponível no
SourceForge[4].
A versão atual do GroundWork
baseia-se no Nagios 2.5. Além de
oferecer uma interface de usuário,
o GroundWork traz um banco de
dados MySQL para informações
sobre eventos, em contraste com a
solução baseada em texto puro ofe-
recida pelo Nagios “pelado”. Além
disso, o GroundWork inclui o pacote
de plugins do Nagios, que costuma
exigir o download em separado.

Fácil Instalação Figura 1 Janela de definição de serviço no GroundWork.

As várias fontes de documentação


do GroundWork listam requisitos prise, o Suse Linux Enterprise e o normais, pois qualquer meca-
mínimos de hardware diferentes, CentOS 4. nismo de atualização instalará a
e muitas vezes até contraditórios. Em nossos testes, a instalação versão original do Apache. Para
Por exemplo, um local informa pareceu transcorrer direito, porém, evitar tais complicações, a docu-
que a versão de código aberto como a versão do Suse usada não era mentação sugere que se instale
exige apenas um único processa- a Enterprise, não foi possível iniciar o GroundWork em um sistema
dor de 2,8 GHz, enquanto outro o GroundWork devido a vários pro- independente.
afirma que são necessários dois blemas com bibliotecas.
desse. Naturalmente, a quantida- É incômodo o fato de até mesmo Rodando
de de memória e CPUs exigida a versão de código aberto exigir um Quando conseguimos executá-lo, o
depende do número de disposi- produto comercial, com apenas uma programa exibiu uma aparência bas-
tivos que se deseja monitorar, e única distribuição não comercial tante profissional. A estrutura do menu
com que freqüência. Entretanto, sendo suportada. é lógica, e a navegação através deste
seria interessante ter orientações O GroundWork instala sua pró- é fácil – especialmente para usuários
mais consistentes. pria versão do Apache. Caso se experientes no uso do Nagios.
A versão aberta do programa possua um servidor Apache em Pode-se baixar um guia de avalia-
está disponível em [3] como um execução, ele será parado e desa- ção que leva o usuário, passo a passo,
pacote RPM normal, uma imagem tivado pelo GroundWork – mas através diversas configurações básicas
ISO de CD, ou uma “appliance” nada será apagado ou alterado. do GroundWork. O guia de avaliação
do VMware. A versão baixada para A documentação diz que “todo não presume muito a respeito dos co-
nossos testes foi a 5.0.5, tanto da o conteúdo exibido será servido nhecimentos do leitor, e não tivemos
imagem ISO quanto dos pacotes pela versão do Apache incluída problemas para instalar o produto e fazê-
RPM. Iniciando a partir do CD, no GroundWork”. lo funcionar com ajuda do guia.
o usuário precisará informar sua O processo não é automático, e ao Será necessária uma versão
configuração de rede, e logo final é necessário realizar algumas funcional do MySQL. O guia de
em seguida já poderá utilizar o configurações manuais para dispo- avaliação inclui algumas infor-
GroundWork. nibilizar seu conteúdo. mações básicas sobre a conexão
A versão em pacote RPM só é Além disso, não é possível com o banco de dados. Quando o
compatível com o Red Hat Enter- atualizar o Apache pelos meios usuário entrar pela primeira vez,

Linux Magazine #31 | Junho de 2007 41


CAPA | GroundWork

verá uma animação na página tion e Configuration, por exemplo. lecionar os nós e adicioná-los ao
inicial apontando para o Con- Quando se seleciona um item, sistema (ou não). Caso seja neces-
figuration EZ , que oferece uma o painel esquerdo de navegação sário, pode-se carregar nós a partir
forma facilitada de acrescentar muda de acordo. de um arquivo externo, em vez de
máquinas à rede rapidamente, Para inserir dados no sistema passar pela potencialmente demo-
através da descoberta automá- GroundWork, pode-se iniciar do rada descoberta automática.
tica de serviços e máquinas. É zero ou carregar uma instalação Um dos maiores problemas
possível atribuir nós a grupos de pré-existente do Nagios. Em nossa da interface aparece ao se adi-
nós existentes, ou deixá-los sem máquina de testes, ainda não ha- cionar nós. A lista de nós não é
atribuição (“ unassigned ”). víamos instalado o Nagios, então atualizada automaticamente. Em
O Configuration EZ bloqueia escolhemos uma instalação do vez disso, parece ser necessário
as configurações mais detalhadas, zero (fresh install); mas também fechá-la e depois abri-la nova-
mostrando apenas as opções mais testamos a instalação em uma má- mente para que sejam mostrados
básicas. Com algumas exceções, quina já com o Nagios. os novos nós.
fica-se limitado a atribuir con- Não encontramos problemas O GroundWork alega fazer uso
figurações pré-existentes (como ao carregar os arquivos de con- de AJAX para efetuar a atualização
verificações de serviços) a novas figuração pré-existentes. Apesar automática das páginas sem inte-
máquinas. Em redes onde se deseja de a versão do GroundWork tes- ração com o usuário, o que torna
somente acrescentar novos nós ou tada ser baseada na versão 2.5 esse comportamento ainda mais
outros dispositivos, e não um novo do daemon de monitoramento, decepcionante.
serviço ou monitor, essa interface ainda é possível utilizar arquivos Após executarmos a descober-
espartana é muito útil. da versão 1.x a partir da interface ta automática, todas as máquinas
Embora a configuração do mo- do GroundWork. Linux foram corretamente identi-
nitoramento básico seja bem fácil Se alguma diretiva estiver faltando ficadas. Apesar de o GroundWork
com o GroundWork, deve-se estar no Nagios 2.x, a verificação inicial ter reconhecido as estações Win-
ciente de que a tecnologia subja- mostrará o problema, possibilitando dows, ele foi incapaz de identifi-
cente ainda é o Nagios. Administra- a adição dessas diretivas a partir da car seus sistemas operacionais, o
dores experientes compreenderão interface gráfica. que rendeu, ao final, apenas um
o modo de operação do Ground- Se for preferível carregar uma grupo: “Linux Servers”. Todavia,
Work com bastante facilidade. instalação pré-existente do Na- pode-se acrescentar grupos de
Entretanto, os iniciantes devem gios, pode-se atualizar a configu- máquinas literalmente em alguns
dedicar algum tempo a adquirir ração atual do GroundWork com segundos, o que reduz bastante
uma maior familiaridade com o objetos de sua configuração do esse problema.
Nagios antes de usar o Ground- Nagios, ou limpar (ou dar um pur-
Work de forma eficiente. ge) nas informações relacionadas
O GroundWork opera por uma ao Nagios no banco de dados do Administração
interface web. O frame esquerdo da GroundWork, substituindo todo O GroundWork foi feito para ad-
janela abriga o menu de navegação, o conteúdo do arquivo de confi- ministração. É possível criar gru-
e a área de trabalho propriamente guração do Nagios. pos de usuários, o que dá acesso
dita fica à direita (figura 1). Ao adicionar nós pela descober- ao sistema. Os privilégios depois
No alto da janela fica a barra de ta automática, pode-se selecionar são determinados pelos papéis.
navegação (chamada de menu em uma rede inteira, ou simplesmente Para cada papel, são definidas
vários pontos). Ela se modifica de um bloco de endereços IP. Como subscriptions. Embora os papéis
acordo com a parte do sistema que a rede usada no teste era relativa- sejam cumulativos, eles definem
estiver sendo visualizada. mente pequena, configuramos o somente as aplicações (porções
Ao entrar no sistema, o ad- GroundWork para varrer apenas do sistema) que o usuário pode
ministrador começa na página os primeiros 50 endereços IP, o acessar. Por exemplo, pode-se
identificada como Home no can- que foi completado em menos de conceder a um papel acesso à in-
to superior esquerdo da tela. Ao um minuto. terface do Nagios, permitindo que
clicar no logo do GroundWork, Cada nó encontrado pelo ele veja o status das máquinas e
um menu se abre, mostrando as GroundWork é listado na inter- serviços, mas impedindo que ele
principais áreas, como Administra- face gráfica; depois, é possível se- faça alterações.

42 http://www.linuxmagazine.com.br
�������������������
���������������������

���������������������������������������������������������������������������������
���������������������������������������������������������������������������������
�����������������������������������������������������������
��������������������������������������������������������

���������������������������

�����������������������������������������
��������������������������������
CAPA | GroundWork

fator, difícil de ser ignorado ou


superado. Mesmo sem os recur-
sos extra da versão comercial, a
facilidade de uso do programa
merece reconhecimento.
Infelizmente, o GroundWork
não se comportou como esperado
em várias ocasiões. Em algumas
situações, o programa não nos
permitiu realizar nada ao fazer
seleções. Por exemplo, ao clicar
nos links da barra de ferramentas
ou selecionar valores dos menus
drop-down, com freqüência o pro-
grama simplesmente pára. Entre-
tanto, atualizar a página ou ir para
outra área do programa corrige o
problema, quando ocorre.
O GroundWork parece ter pro-
blemas ao se usar múltiplas abas no
Firefox. Aparentemente, ele guarda
Figura 2 Interface do Nagios no GroundWork.
a página na última aba que tiver sido
aberta e, se recarregarmos alguma
Na seção de administração, pode-se antes de prosseguir à próxima. Isso das abas anteriores, ela carregará a
instalar pacotes e, em alguns casos, significa que, se houver algo que página mais nova naquela onde se
configurá-los. Os pacotes podem ser se deseje acessar na última tela, estava trabalhando.
acrescentados ao sistema através do será necessário carregar e salvar Parece-nos que o GroundWork
item de menu chamado Wrappit. cada uma das anteriores. está tentando em demasia ter um
Esse recurso de gerenciamento de A opção Tools possibilita que se visual “avançado” atraente para
pacotes permite a integração de apli- apague máquinas ou serviços com administradores sem familiarida-
cações web pré-existentes à estrutura base em caracteres curinga. Não é de com o Nagios ou com o moni-
de menu do GroundWork. possível definir seu próprio curinga. toramento de sistemas. O site do
O menu Configuration fornece Em vez disso, o GroundWork já traz produto e a documentação são
acesso a todas as configurações uma lista de padrões que parecem cheios de hipérboles de marketing
que normalmente o Nagios ofere- cobrir todas as possíveis combina- que desviam a atenção em relação
ceria. As configurações primárias ções iniciais. à real funcionalidade do produto.
do Nagios são acessíveis pela barra Além de oferecer seu próprio Ainda assim, a versão de código
de menu (figura 1). conjunto de diálogos de confi- aberto do software é um produto
A opção Control representa guração, o GroundWork oferece sólido e recomendável. ■
a configuração geral do Nagios. acesso à interface tradicional do
Nela, é possível definir vários dire- Nagios ( figura 2). Nela, pode-se
tórios, além do usuário sob o qual visualizar os serviços, agendar ta- Mais Informações
o GroundWork será executado, e refas e períodos de manutenção, [1] Nagios:
o comportamento padrão do Na- desativar verificações e tudo o que http://www.nagios.org
gios. As opções em Control são os for possível fazer com a interface [2] Versão de código aberto do
valores que normalmente seriam gráfica do Nagios. GroundWork: http://www.
encontrados no arquivo de con- groundworkopensource.com
figuração do Nagios ( nagios.cfg, [3] Download do GroundWork:
normalmente). Como há opções Útil, mas imperfeito http://www.groundworkopensource.
com/downloads/full_download.html
demais, o GroundWork as divide Definitivamente, o custo (zero)
em múltiplas telas, obrigando o da versão de código aberto do [4] GroundWork Guava:
http://guava.sourceforge.net/
administrador a salvar cada tela GroundWork é um importante

44 http://www.linuxmagazine.com.br
www.baixebr.org
Desktop 3D

Outra visão

ANÁLISE
O ambiente desktop 3D Looking Glass oferece
uma nova visão da área de trabalho.
por Fabrizio Ciacchi Th
ais
Ro
ch
a-
ww
w.
sx
c.h
u

O
s ambientes desktop 3D, como Usuários do Ubuntu têm pacotes indivi- as de trabalho podem habitar regiões
Compiz[1] e Beryl[2], são um duais para cada componente disponível de uma única imagem panorâmica
novo tópico popular na comu- no mesmo site, e outros usuários podem (figura 2). Clicando-se com o botão
nidade Linux. Porém, esses dois softwares usar o pacote genérico para Linux. esquerdo no lado direito ou esquer-
apenas começaram a explorar as possibi- Após instalar o Looking Glass atra- do da área de trabalho, o usuário é
lidades de uso da terceira dimensão para vés do script de instalação contido no levado à parte adjacente da imagem.
exibir e organizar informações. pacote baixado, é possível executá-lo Um clique direito na barra de tarefas
Um dos primeiros – e mais sofistica- de três formas diferentes. A primeira mostra a imagem inteira, a partir da
dos – projetos de desktop 3D é o Looking requer que já haja um gerenciador qual é possível escolher uma área de
Glass[3] (LG3d), criado por um pro- de janelas em execução, e abrirá o trabalho (como mostra a figura 2).
gramador da Sun, Hideya Kawahara. LG3D com o comando lg3d-app, di- O uso da perspectiva é mais um re-
Após mostrar seu passatempo a seus gitado em um terminal. A segunda curso interessante do LG3D. Não apenas
superiores, Hideya foi agraciado com forma é semelhante, porém abre o os objetos possuem profundidade, como
uma equipe de desenvolvedores para gerenciador da Sun em tela cheia, também a própria área de trabalho. O
auxiliá-lo na criação do LG3D. com o comando lg3d-app-full. Por eixo Z acrescentado à área de trabalho
O Looking Glass teve sua primeira último, para incluir no GDM ou
versão estável (1.0) liberada recente- KDM a opção de iniciar o LG3D,
mente. Vamos analisar alguns de seus são necessários os comandos:
recursos mais interessantes.
# ln -s /caminho/até/o/lg3d /usr/
➥ share

Instalação /usr/share/lg3d/bin
Por ser inteiramente feito em Java, o ./postinstall
LG3D pode rodar em Linux, Windows
e Solaris. Para apenas conhecer o am-
biente, é possível utilizar o LiveCD Visual Figura 1 A barra de tarefas fica localizada no
disponível em [4]. Os nada modes- Na parte de baixo da tela do Looking centro do ambiente do Looking Glass.
tos requisitos mínimos de instalação Glass fica a barra de tarefas (figura 1). À
incluem um processador de 1.4 GHz, esquerda localiza-se o menu do LG3D,
512 MB de memória e uma placa ace- oferecendo o acesso a aplicativos da
leradora 3D com 128 MB de memória, mesma forma que qualquer ambiente
além de um driver de vídeo (no Linux) desktop. Ao lado do menu há ícones para
com suporte a OpenGL 1.2 (sendo a as ferramentas mais usadas, seguidos
versão 1.3 a recomendada). dos ícones dos aplicativos abertos. No
Também é possível baixar o Mega canto direito da barra fica a bandeira
Bundle[5], um pacote espaçoso (aproxi- pirata usada para sair do LG3D.
madamente 150 MB) que inclui a JDK, Um recurso muito interessante desse Figura 2 É possível selecionar uma área de traba-
as bibliotecas java3d e o LG3D, e deve ambiente desktop é o suporte ao papel lho movendo-se entre as regiões de uma
funcionar em qualquer distribuição. de parede panorâmico. Múltiplas áre- única imagem panorâmica.

Linux Magazine #31 | Junho de 2007 45


ANÁLISE | Looking Glass

(figura 3) permite que o tamanho dos Aplicativos


objetos varie conforme sua “distância” O Looking Glass pode exe-
do usuário. As janelas geralmente são cutar tanto aplicativos do
abertas em uma distância padrão. Com Linux quanto programas
a tecla [Ctrl] pressionada, basta usar a rodi- em Java nativos. Essas úl-
nha do mouse, com o cursor localizado timas empregam as biblio-
em sua barra de título, para aproximar tecas 3D em Java e classes
e afastar a janela. especializadas do LG3D.
Uma das possibilidades mais inova- Todos os aplicativos 2D
doras oferecidas pelo desktop 3D da Sun do Linux são renderiza-
é a escrita de notas no verso das janelas dos em três dimensões por
(figura 4). Pode-se usar isso para registrar uma camada de abstração Figura 4 no O Looking Glass permite a escrita de notas
verso das janelas.
uma observação sobre o conteúdo da oferecida pelo X11[6]. A
janela, por exemplo. Para criar uma versão 1.0 do desktop da
nota, basta clicar com o botão direito Sun conseguiu eliminar os
na barra de título, o que faz a janela problemas que o impediam
girar 180° horizontalmente. Todas as de funcionar em harmonia
janelas já possuem automaticamente com alguns programas po-
uma área para notas no verso, e basta pulares do Linux, como
digitar nela a nota. Firefox e Evolution.
Até mesmo as bordas das janelas são Evidentemente, os apli-
usadas pelo LG3D: ao rotacionar as ja- cativos escritos especifi-
nelas, o título de cada uma é mostrado camente para o Looking
nelas (figura 5), o que facilita a organiza- Glass, como o reprodutor
ção das janelas, especialmente quando de músicas Trumplayer, o Figura 5 É possível alinhar as janelas do Looking
há muitas delas abertas. visualizador de fotos Zoetro- Glass como livros em uma prateleira.
Os ícones das janelas abertas, na pe e o gerenciador de fotos
barra de tarefas, também não são es- LgScope 3D apresentam o melhor O autor
táticos como nos outros ambientes visual, pois fazem uso dos atraentes
Fabrizio Ciacchi (http://fabrizio.
desktop, mas miniaturas das janelas. recursos visuais desse desktop. ciacchi.it) é estudante de Ciências
Um filme reproduzido em uma janela da Computação na Universidade de
minimizada, nesse caso, continua sen- Pisa. Trabalha como consultor para
do mostrado, porém em miniatura, na Conclusões diferentes companhias e escreve ar-
tigos para a edição italiana da Linux
barra de tarefas. O Looking Glass é um projeto im- Magazine (www.linux-magazine.it).
Na realidade, toda a área de traba- pressionante e inovador, mas talvez
lho pode ser rotacionada. Clicando-se ainda não esteja pronto para o uso Mais Informações
com o botão esquerdo sobre o logo do diário. Apesar de o sistema já estar
[1] Compiz:
Java, no canto superior direito da área bastante estável, ele mostrou proble- http://www.go-compiz.org
de trabalho, o arrastar do mouse faz a mas com a atualização da imagem
[2] Beryl:
área de trabalho girar de. no monitor, em nossos testes. http://www.beryl-project.org
Os gráficos são realmente impres-
[3] Looking Glass: http://www.sun.
sionantes, mas eventualmente uma com/software/looking_glass/
imagem simples, ou até mesmo al-
[4] LiveCD do Looking Glass:
guns papéis de parede, mostraram http://lg3d-livecd.
resoluções inesperadamente baixas. dev.java.net
Talvez essas simplificações melhorem [5] Pacotes binários do Looking
o desempenho, mas alguns usuários Glass: http://lg3d-core.dev.
podem ficar muito frustrados com java.net/binary-builds.html
elas. Apessar disso tudo, o Looking [6] Panorama do LG3D (inglês):
Figura 3 Os objetos parecem menores ou maiores Glass é um projeto muito importante http://lg3d-core.dev.java.net/
de acordo com sua posição no espaço e com uma nova abordagem para o files/documents/1834/30923/
tridimensional. LG3D-Overview.pdf
desktop 3D. ■

46 http://www.linuxmagazine.com.br
Sexta e última aula da preparação LPI

LPI nível 1: Aula 6

TUTORIAL
Configure compartilhamentos de rede e aprenda a
administrar a segurança do sistema na última aula da
série de preparação para a certificação LPI nível 1.
por Luciano Siqueira

Objetivo 1.113.4: init.d/nfs start|stop|restart ou /etc/ os compartilhamentos em /etc/ex-


Administração rc.d/rc.nfsd start|stop|restart.
Os compartilhamentos são confi-
ports, executa-se exportfs -ua.
No cliente, o próprio comando
Apropriada dos gurados através do arquivo /etc/ex- mount é usado para montar o diretó-
Daemons NFS ports. Cada linha contém um diretório rio remoto. Por exemplo, montar o
compartilhado seguido de uma lista, diretório compartilhado no exemplo
e SAMBA separada por espaços, dos hosts que anterior num host da subrede local
poderão montá-los. Cada host pode 192.168.1.0/26:
NFS estar acompanhado de parênteses ime-
Através do NFS – Network File Sys- diatamente a sua direita, sem que haja # mount -t nfs 192.168.1.1:/mnt/
➥ hdb1 /mnt/remoto
tem – é possível montar diretórios espaço depois dele, contendo opções
compartilhados remotos como se de acesso para o mesmo.
fossem dispositivos locais. O NFS Exemplo de compartilhamento Esse exemplo presume ser
precisa estar habilitado no kernel, em /etc/exports: 192.168.1.1 o IP do servidor do com-
seja nativo ou carregado como mó- partilhamento, e existir no cliente o
dulo, tanto no servidor quanto na /mnt/hdb1 192.168.1.0/26(ro) diretório alvo /mnt/remoto.
máquina cliente. O comando nfsstat mostra estatís-
Para montar dispositivos remotos, O diretório local /mnt/hdb1 poderá ser ticas de uso dos compartilhamentos
é necessário que o daemon /sbin/rpc. montado por todos os hosts da subre- NFS no servidor.
portmap esteja ativo no cliente e no de local 192.168.1.0/26, apenas em
servidor. Sua execução é controlada modo somente leitura (ro, de read SAMBA
através do script /etc/init.d/portmap only). Uma opção de acesso importan- Máquinas rodando Linux podem aces-
start|stop|restart ou /etc/rc.d/ te é no_root_squash, que permite que o sar e fornecer recursos compartilhados
rc.portmap start|stop|restart. usuário remoto de ID 0 (root) monte a máquinas rodando MS-Windows®,
Para que um host possa servir di- o compartilhamento. Essa opção é como arquivos e impressoras.
retórios através do NFS, é necessário especialmente útil quando o diretório Os daemons responsáveis são /usr/
ativar os daemons: local compartilhado é o diretório raiz sbin/smbd (cliente/servidor SMB) e
➧ /usr/sbin/rpc.rquotad no cliente remoto. Há várias opções de /usr/sbin/nmbd (cliente/servidor Net-
➧ /usr/sbin/rpc.nfsd controle de acesso que podem ser con- BIOS). Ambos são geralmente dispa-
➧ /usr/sbin/rpc.mountd sultadas através de man 5 exports. rados pelos scripts de inicialização do
➧ /usr/sbin/rpc.lockd Para atualizar as alterações feitas sistema. As configurações de acesso
➧ /usr/sbin/rpc.statd ao arquivo /etc/exports no servidor e compartilhamento do SAMBA são
A execução de todos esses daemons NFS ativo, é necessário executar o feitas no arquivo smb.conf, geralmente
é unificada através do script /etc/rc.d/ comando exportfs -a. Para desativar em /etc/samba/ ou em /etc.

Linux Magazine #31 | Junho de 2007 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
max log size = 50 servidor, para http://
dns proxy = No localhost:901. A opção credentials especifica
Os recursos com- um arquivo protegido contendo o
[homes] partilhados numa má- usuário e a senha para montar o di-
comment = Home Directories
read only = No quina MS Windows retório compartilhado. Dessa forma,
browseable = No podem ser acessados evita-se deixar a senha à mostra em
usando-se o comando /etc/fstab.
[printers]
smbclient. Um usuário comum poderá mon-
comment = All Printers
path = /var/spool/samba O exemplo 2 mostra tar recursos remotos com smbclient
printable = Yes como listar recursos ou mount, se esses comandos tiverem
browseable = No disponíveis ao usuário as permissões adequadas (SUID:
[Montados] administrador numa 1000,1000).
comment = Dispositivos Montados no servidor máquina MS-Win-
path = /mnt dows 2000, através do Objetivo 1.113.5: Configurar
smbclient. um Serviço Básico de DNS
O exemplo 1 demonstra o conteúdo Montar o diretório compartilhado Em redes pequenas, é possível que
do arquivo smb.conf. Há três seções pela máquina pc-w2k: os hosts resolvam (convertam) os
básicas no arquivo smb.conf: nomes de máquinas para números
➧ [global]: Define o comporta- # mount -t smbfs //pc-w2k/fonts / IP e vice-versa, apenas através 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 usu- Para grandes redes, no entanto, é
ário acesse seu diretório pessoal # smbmount //pc-w2k/fonts /usr/ muito mais prático, e até necessário,
➥share/fonts -o
no servidor. Pode conter opções ➥username=administrador o uso de um servidor DNS – Do-
restritivas e outras. Conseqüen- main Name System – que converte
temente, este compartilhamento remotamente nomes de máquinas
pressupõe que o usuário logado A entrada em /etc/fstab para essa para seus respectivos números IP e
no cliente tenha uma conta no montagem poderia ser: vice-versa. A correspondência entre
servidor;
➧ [printers]: Compartilha as im-
pressoras instaladas no servidor Exemplo 2: Listar recursos disponíveis para o
com os clientes. O funciona- usuário administrador com o smbclient
mento da impressora no servidor $ smbclient -L pc-w2k -U administrador
não depende de configuração 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 seções es- IPC$ IPC IPC remoto
pecíficas para cada um. Diretórios e Fonts Disk Fontes True Type
impressoras podem ser compartilha- DOCS Disk Meus Documentos
ADMIN$ Disk Administração remota
dos e configurados individualmente C$ Disk Recurso compartilhado padrão
dessa forma.
O SAMBA pode ser configurado Domain=[PC-W2K] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
através de uma interface web cha-
Server Comment
mada swat. Para poder usar o swat, ------ -------
é necessário que o daemon inetd/ Workgroup Master
xinetd esteja ativo e o swat liberado --------- ------
em /etc/services. A porta do swat é

48 http://www.linuxmagazine.com.br
www.baixebr.org LPI | TUTORIAL

Exemplo 3: /etc/hosts pedidos de servidores Exemplo 6: arquivo


127.0.0.1 localhost principais e os arma- nsswitch.conf
192.168.1.1 slack102 zenará temporaria- hosts: files dns
192.168.1.6 debian
192.168.1.20 pc-w2k mente, para que seus networks: files
clientes os acessem services: files
protocols: files
mais rapidamente.
Exemplo 4: /etc/named.conf Zonas convencionais
options { têm seções definidas termos que sucedem o : indicam de
directory ”/var/named”; de forma semelhan- que forma o tipo de nome em ques-
};
te, como por exem- tão deverá ser resolvido. O termo files
zone ”.” IN { plo, zone “localhost determina o uso de arquivos locais
type hint; IN {...”, e é impor- (como o /etc/hosts ou /etc/networks)
file “root.hints”; tante que, para cada enquanto dns determina o uso de um
};
uma delas, haja uma servidor DNS.
zona para DNS rever- O servidor DNS a ser utilizado
o nome e o número IP é chamada so (Exemplo: zone “0.0.127.in-addr. é especificado através do arquivo
mapeamento, e é organizada de for- arpa IN {...”). O DNS reverso é res- /etc/resolv.conf (exemplo 7).
ma hierárquica. ponsável por converter números IP A entrada fundamental é name-
Em outras palavras, um domínio para seus respectivos nomes. server, que define o servidor DNS.
como howtos.linux.com será quebrado Voltando ao exemplo 4, na seção Outros nameserver podem ser especi-
e resolvido começando por com, depois options é indicado onde estão os ficados para serem servidores DNS
linux, e finalmente howtos, itens chama- arquivos de mapeamento (direc- secundários.
dos respectivamente top-level domain, tory “/var/named”;). Está definido
second-level domain e third-level domain. apenas o mapeamento para ., que Registro de Domínios
É nessa ordem que o endereço IP para será consultado caso nenhum outro Um nome de domínio é registra-
howtos.linux.com será obtido. Os top- mapeamento seja encontrado (é esse do para uso na internet através de
level domains mais comuns são .com, o caso do exemplo). autoridades competentes, como a
.org e .net, mas há outros. No arquivo /var/named/root.hints Internic[1] e a Fapesp[2]. Após o
(exemplo 5) está uma lista com os registro, é necessário fornecer os
Servidor DNS servidores de nomes principais da endereços DNS para onde serão
O programa servidor responsável pelo internet, obtidos através do coman- direcionadas as solicitações para o
mapeamento é o /usr/sbin/named, que do dig. domínio em questão.
é parte do pacote chamado BIND, Após alterar os arquivos de confi-
cujas especificações são definidas guração, será necessário reiniciar o Objetivo 1.113.7: Utilização do
pelo Internet Systems Consortium. daemon named. Shell Seguro (OpenSSH)
Seu arquivo de configuração é /etc/ O OpenSSH é o substituto para ferra-
named.conf. Em versões anteriores ao Cliente DNS mentas de acesso remoto, como telnet,
BIND 8, o arquivo de configuração O arquivo /etc/nsswitch.conf (exem- rlogin, rsh e rcp. No host de destino (que
chama-se /etc/named.boot. O exemplo plo 6) determina de que maneiras, e aceitará conexões externas), o daemon
4 mostra as configurações para um em que ordem, o host local tentará /usr/sbin/sshd deverá estar ativo para
servidor cache de DNS. resolver os nomes de endereços. possibilitar que clientes se conectem.
Com essa configuração, o servi- Os termos que precedem o carac- O sshd geralmente é disparado por um
dor local propriamente não mapea- tere : especificam o tipo dos nomes script de inicialização do sistema, situa-
rá nenhum nome, mas resgatará os procurados (hosts, networks etc.). Os do em /etc/rc.d/rc.sshd ou /etc/init.
d/sshd. O daemon sshd utiliza a porta
Exemplo 5: arquivo root.hints 22 para aguardar pedidos de conexão. O
Trecho de /var/named/root.hints: comando usado pelo cliente para se co-
(...)
nectar é ssh. O comportamento do sshd
D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90
A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4 pode ser modificado através do arquivo
H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53 de configuração /etc/ssh/sshd_config.
C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12 Personalizações do comando ssh podem
(...)
ser feitas nos arquivos /etc/ssh/ssh_con-

Linux Magazine #31 | Junho de 2007 49


TUTORIAL | LPI

Exemplo 7: arquivo Para evitar a necessidade de digi- O arquivo /etc/hosts.allow con-


/etc/resolv.conf tação da senha a cada login, pode-se tém as regras para os hosts que po-
nameserver 200.230.1.1 criar um arquivo chamado autho- derão acessar a máquina local. Se
nameserver 200.230.1.2 rized_keys, para que o ssh realize a um host corresponder a uma regra
autenticação de usuário via chave, em /etc/hosts.allow, o mesmo será
fig, /etc/sshrc ou apenas por usuário, no lugar de senha. O arquivo au- liberado, e o arquivo /etc/hosts.deny
em ~/.ssh/config. Outros comandos thorized_keys deve existir no host não será consultado.
úteis do ssh são scp (copiar através de de destino, e pode conter uma ou O arquivo /etc/hosts.deny contém
ssh), sftp-server (servidor FTP por ssh) mais chaves que foram criadas no as regras para os hosts que não pode-
e sftp (cliente FTP por ssh). host de origem através do comando rão acessar a máquina local. Se um
Conectar-se como usuário root ssh-keygen. host não constar em /etc/hosts.allow
no host 192.168.1.1: Para gerar uma chave DSA de nem em /etc/hosts.deny, o mesmo
1024 bits: será liberado.
$ ssh root@192.168.1.1 Cada regra é escrita em uma li-
$ ssh-keygen -t dsa -b 1024 nha, com o mesmo formato (serviço:
Como outros serviços de rede, o ssh host:comando) para /etc/hosts.allow
está sujeito ao controle via tcpwrappers, Esse comando gerará as chaves e /etc/hosts.deny: , onde:
através dos arquivos /etc/hosts.allow e id_dsa e id_dsa.pub em ~/.ssh/ no ➧ serviço é um ou mais nomes de
/etc/hosts.deny. E, por tratar-se de uma host de origem. O conteúdo de id_ daemons de serviço, ou instru-
forma de login de usuário na máquina dsa.pub poderá então ser incluído ções especiais;
em questão, é respeitado o bloqueio a em ~/.ssh/authorized_keys para o ➧ host é um ou mais endereços,
usuários comuns imposto pelo arquivo usuário específico no host de desti- ou instruções especiais, e;
/etc/nologin. Se o arquivo /etc/nologin no. Supondo que o host de destino ➧ comando é um comando opcio-
existir, apenas o root pode entrar no sis- tenha IP 192.168.1.1 e uma conta nal a ser executado no caso de
tema; aos demais usuários, é vetado o para o usuário com o mesmo nome, cumprimento da regra.
login, e apenas mostrado o conteúdo o arquivo pode ser copiado através Hosts podem vir na forma de do-
de /etc/nologin. do comando: mínios, IPs de rede ou IPs incomple-
Existem dois protocolos de chaves tos. Caracteres curinga ? e * podem
criptográficas usados pelo ssh, o RSA $ scp ~/.ssh/id_dsa.pub ser utilizados.
➥ 192.168.1.1:~/.ssh/authorized_keys
(protocolo 1) e DSA (protocolo 2). De- Instruções especiais são ALL,
pendendo do protocolo usado, os ar- LOCAL, KNOW, UNKNOWN e
quivos de chaves receberão o nome de Por questão de segurança, é impor- PARANOID. O operador EXCEPT
ssh_host_rsa_key ou ssh_host_dsa_key. tante que todos os arquivos contendo exclui um host ou grupo hosts de
Para cada chave, há uma chave pública chaves em /etc/ssh/ e ~/.ssh/ tenham uma determinada regra.
usada para autenticação por terceiros, permissão 600 – escrita e leitura ape- Em /etc/hosts.allow, liberar to-
armazenada num arquivo de mesmo nas para o dono do arquivo. dos os serviços a todos os hosts da
nome, seguido do sufixo .pub. Por pa- rede 192.168.1.0, com exceção do
drão, os arquivos ssh_host_rsa_key e 192.168.1.20:
ssh_host_dsa_key terão permissão -rw- Tópico 114: Segurança
------, e seus respectivos arquivos .pub ALL: 192.168.1.* EXCEPT
➥ 192.168.1.20
terão permissão -rw-r--r--. Objetivo 1.114.1: Tarefas
Na primeira vez que o cliente ssh Administrativas de Segurança
conecta-se a um host, ele é questionado Bloquear todos os serviços a todo
sobre aceitar uma chave pública. Se for TCP wrappers host que não constar em regra de /etc/
aceita, ela será armazenada em ~/.ssh/ Daemons de serviços de rede com- hosts.allow, em /etc/hosts.deny:
know_hosts e garantirá a confiabilidade da pilados com suporte à biblioteca
conexão entre os dois hosts. O conteúdo Libwrap podem utilizar-se do meca- ALL: ALL
desse arquivo pode ser incluído em /etc/ nismo chamado TCP wrappers para
ssh_know_hosts, para que a chave passe controlar o acesso por hosts na rede. A documentação completa para
a valer para os demais usuários. Ainda Esse controle é estabelecido através a criação de regras do tcpwrappers
assim será necessário que o usuário for- de regras criadas nos arquivos /etc/ pode ser encontrada na página
neça sua senha ao host de destino. hosts.allow e /etc/hosts.deny. manual hosts_access(5).

50 http://www.linuxmagazine.com.br
LPI | TUTORIAL

Exemplo 8: Encontrando Exemplo 9: Detalhando a lista gerada


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

SUID/SGID ser excluído e reinstalado adequada- .sign (ocasionalmente esse arquivo


Arquivos com permissão SUID e mente. É importante rastrear os logs aparece com o sufixo .asc). Para
SGID garantem privilégios especiais do sistema atrás de possíveis origens verificação, primeiro é necessário
a quem os executa. Portanto, é im- dessa alteração. importar a chave pública referente
portante monitorar quais arquivos Outras buscas por brechas no ao kernel:
detêm essas permissões, para evitar sistema podem ser realizadas pelos
que programas estranhos ou altera- seguintes comandos: # gpg --keyserver wwwkeys.pgp.net
➥--recv-keys 0x517D0F0E
ções nos programas conhecidos com
essa permissão possam possibilitar a # find / -path /dev -prune -perm - Esse procedimento é necessário
➥ 2 -not -type l
invasão ou dano ao sistema. somente uma vez. A chave pública
O exemplo 8 demonstra como deve ser obtida somente de fonte
encontrar arquivos SUID e SGID Esse comando procura arquivos confiável, especificada pelo próprio
com o find, enquanto o exemplo com permissão de escrita para todos desenvolvedor do programa. Infor-
9 apresenta uma forma de se ge- os usuários, com exceção do diretó- mações sobre obtenção da chave
rar uma lista detalhada no mesmo rio /dev. Arquivos de configuração pública do kernel podem ser con-
comando. Essa lista pode ser salva do sistema poderiam ser alterados sultadas em http://www.kernel.org/
diariamente (provavelmente por um com intuito de viabilizar invasões signature.html.
agendamento no crontab) através ou danos ao sistema. Agora, a verificação do arquivo
do comando: Para procurar arquivos sem dono propriamente dito:
ou sem grupo, que sugerem que o
# find / \( -perm -4000 -or -perm sistema tenha sido invadido, o co- # gpg --verify linux-2.6.16.13.
➥-2000 \) \ ➥ tar.bz2.sign linux-2.6.16.13.
<del>exec ls -l ‘{}’ \; > /var/ mando apropriado seria: ➥ tar.bz2
➥log/setuid</del>$(date +%F) gpg: Signature made Ter 02 Mai
# find / \( -nouser -o -nogroup \) ➥ 2006 19:15:20 BRT using DSA key ID
517D0F0E
gpg: Assinatura correta de “Linux
Esse comando gerará um arquivo Verificação de pacotes ➥ Kernel Archives Verification Key
de nome setuid-ano-mês-dia, que po- Semelhantemente à verificação na- ➥ <ftpadmin@kernel.org>”
derá ser comparado ao arquivo do dia tiva de pacotes .deb e .rpm, é possível
anterior através do comando diff: verificar a maioria dos pacotes compi- Essa saída informa que o referido
lados ou de códigos-fonte fornecidos arquivo é autêntico.
# diff /var/log/setuid-2006-05-02 por um desenvolvedor. As maneiras De maneira mais simples agem as
➥ /var/log/setuid-2006-05-03
2c2 mais comuns de verificação são a verificações MD5. Um arquivo com
< <del>rws</del>-x--x 1 root bin soma MD5 e as assinaturas PGP, sufixo .md5 correspondente ao arquivo
➥ 29364 2005-09-07 17:46 /bin/ping cujas ferramentas estão disponíveis .tar.gz ou .bz2 contém um número
--- na maioria das distribuições. referente ao resultado de cálculo en-
> <del>rws</del>-x--x 1 root bin
➥ 29974 2005-09-07 17:46 /bin/ping Praticamente todos os pacotes volvendo os bytes contidos no pacote.
de programas tradicionais oferecem Para verificar a soma MD5 do pacote
assinaturas de verificação PGP, como copiado bluefish-1.0.5.tar.bz2, através
Essa saída mostra que o arquivo o código-fonte do kernel do Linux, do seu arquivo MD5 correspondente
/bin/ping mudou de tamanho em disponível em ftp://ftp.kernel.org/ bluefish-1.0.5.tar.bz2.md5:
relação ao registro anterior. Supõe- pub/. Além do arquivo .tar.gz ou
se que tenha sido substituído por .bz2, deve ser copiado um arquivo # md5sum -c bluefish-1.0.5.tar.
➥ bz2.md5
um programa malicioso, devendo de mesmo nome, acrescido do sufixo

Linux Magazine #31 | Junho de 2007 51


TUTORIAL | LPI

bluefish-1.0.5.tar.bz2: A soma
➥ coincide Por exemplo, para alterar as valida- Os atributos da senha também po-
des de senha para a conta “ataliba”: dem ser alterados através do comando
Como no caso das assinaturas PGP, chage, através dos argumentos:
é fundamental que o arquivo MD5 # passwd -x 30 -n 1 -w 7 -i 7 ➧ -m: Mínimo de dias até que o
➥ ataliba
tenha sido copiado de fonte segura, usuário possa trocar uma senha
indicada pelo próprio desenvolvedor modificada;
do programa. A opção -e provoca a expiração ➧ -M: Número máximo de dias que
imediata da senha e -d apaga a senha a senha permanecerá válida;
Senhas para a conta especificada. ➧ -d: Número de dias decorridos
As definições sobre a vida útil de Quando a opção -g é usada, a em relação a 01/01/1970 em que
senhas e aspectos relacionados são senha do grupo especificado é alte- a senha foi mudada. Também
armazenadas no arquivo /etc/shadow rada; seguido de -r, remove a senha pode ser expresso no formato
(quando usado o sistema de senhas e, de -R, restringe o acesso a todos de data local (dia/mês/ano).;
shadow). Cada linha corresponde a usuários. Essa tarefa só pode ser re- ➧ -E: Número de dias decorridos
uma conta, em campos separados alizada pelo superusuário ou pelo em relação a 01/01/1970 a partir
por :, representando: administrador do grupo. do qual a conta não estará mais
➧ Nome de acesso; A conta especificada pode ser disponível. Também pode ser
➧ Senha criptografada; bloqueada através da opção -l e li- expresso no formato de data
➧ Dias decorridos entre 1º de janei- berada pela opção -u. O estado da local (dia/mês/ano);
ro de 1970 e a última alteração conta pode ser verificado fornecen- ➧ -I: Inatividade, tolerância de
da senha,; do-se a opção -S: dias após a senha ter expirado até
➧ Número de dias até que a senha que a conta seja bloqueada;
deva ser alterada; # passwd -S ataliba ➧ -W: Dias anteriores ao fim da va-
ataliba P 05/03/2006 1 30 7 7
➧ Número de dias após o qual a lidade da senha nos quais será
senha deve ser alterada; Essa saída representa: emitido um aviso a respeito.
➧ Número de dias antes da expira- ➧ ataliba: Login referente à conta; Por exemplo, para determinarmos
ção da senha quando o usuário ➧ P: Um P significa que o usuário a data de bloqueio de uma conta, o
será avisado; possui uma senha utilizável; NP comando adequado seria:
➧ Número de dias após a expiração significa que ele não possui qual-
da senha quando a conta deve quer senha; L representa uma # chage -E 04/05/2006 ataliba
ser bloqueada; conta bloqueada;
➧ Dias decorridos entre 1 de ja- ➧ 05/03/2006: Data da última mu- O uso do chage é restrito ao super-
neiro de 1970 e a data em que dança de senha; usuário (root). Porém, usuários co-
a conta foi bloqueada; ➧ 1: Limite mínimo de dias da muns podem usar o chage com a
➧ Campo reservado. senha; opção -l para checar as definições
Além de alterar senhas, o coman- ➧ 30: Limite máximo de dias da de suas respectivas contas, como
do passwd também pode alterar essas senha; mostra o exemplo 10.
definições, através das opções: ➧ 7: Dias de aviso Tanto passwd quanto chage entram
➧ -x dias: Número máximo de ➧ 7: Limite de dias de inatividade em modo de configuração interati-
dias que a senha permanecerá após a senha ter expirado até a va se não forem passadas opções.
válida; conta ser bloqueada. O usuário assumido será sempre o
➧ -n dias: Mínimo de dias até que
o usuário possa trocar uma se- Exemplo 10: Verificação das definições
nha modificada; de conta por um usuário comum
➧ -w dias: Dias anteriores ao fim $ chage -l ataliba
da validade da senha, nas quais Maximum: 30
será emitido um aviso a respeito Minimum: 1
Warning: 7
da expiração de senha;
Inactive: 1
➧ -i dias: Inatividade, tolerân- Last Change: Mai 03, 2006
cia de dias após a senha ter Password Expires: Jun 02, 2006
expirado até que a conta seja Password Inactive: Jun 03, 2006
Account Expires: Abr 05, 2006
bloqueada.

52 http://www.linuxmagazine.com.br
www.baixebr.org LPI | TUTORIAL

atual, caso um usuário não seja es- host local), FORWARD (para pa- a regra intercepta os pacotes que
pecificado como argumento. cotes sendo roteados pelo host não corresponderem à condição;
local) e OUTPUT (para pacotes ➧ -p <protocolo> ou --protocol
Atualização de programas gerados no host local). Essa é <protocolo>: Define o protocolo.
Como nenhum programa é imune a a tabela utilizada para cons- Pode ser tcp, udp, icmp ou all. Se
falhas, é recomendado instalar todas trução de firewalls; o protocolo for precedido de !, a
as correções disponibilizadas pelos ➧ nat: Para pacotes que criam no- regra intercepta os pacotes que não
desenvolvedores. Programas desatu- vas conexões. Contém as chains corresponderem à condição;
alizados com falhas conhecidas são embutidas PREROUTING, OUTPUT e ➧ -i <interface> ou --in-interface
alvos fáceis para invasão e possível POSTROUTING; <interface>: Interface através da
dano ao sistema. ➧ mangle: Para alterações especia- qual o pacote chegou. Se o nome
Todas as principais distribui- lizadas de pacotes. Contém as da interface for seguido do sinal
ções mantêm atualizações para chains INPUT, OUTPUT, PREROUTING, + (interface+) aplicará a todas
seus programas compilados. O FORWARD e POSTROUTING. interfaces cujos nomes come-
anúncio das atualizações geral- A tabela de atuação é indicada cem por interface. Se o nome
mente é feito através de email, através da opção -t do comando da interface for precedido de !,
recebido mediante cadastro no iptables. Se nenhuma tabela for a regra intercepta os pacotes que
site da distribuição. especificada, a tabela assumida será não corresponderem à condição.
Grupos especializados em se- a filter. As operações dentro de uma Se -i interface não existir, todas
gurança também informam sobre chain são determinadas através dos as interfaces serão assumidas;
falhas e procedimentos necessários seguintes argumentos-comando: ➧ -o <interface> ou --out-interface
para correção. O CERT (Computer ➧ -A: Adicionar regra na chain; <interface>: Interface através da
Emergency Response Team)[3] e o ➧ -I: Inserir regra numa posição qual o pacote será enviado. Se o
BUGTRAQ[4] divulgam questões específica dentro da chain; nome da interface for seguido
pertinentes a falhas e correções ➧ -R: Substituir regra na chain; do sinal + (interface+) aplicará a
de sistemas. ➧ -D: Apagar chain; todas interfaces cujos nomes co-
➧ -N: Criar chain personalizada; mecem por interface. Se o nome
Filtragem de Pacotes – iptables ➧ -X: Apagar chain vazia; da interface for precedido de !, a
A filtragem de pacotes de dados em rede ➧ -P: Definir política para uma regra intercepta os pacotes que
permite controlar o fluxo das transmis- chain embutida; não corresponderem à condição.
sões através de regras específicas. Dessa ➧ -L: Listar a(s) regra(s) inscritas Se -i interface não existir, todas
forma, é possível criar um firewall ou em uma chain; as interfaces serão assumidas;
um redirecionamento do tipo NAT ➧ -F: Apagar todas as regras em ➧ -j <ação> ou --jump <ação>: Tar-
(Network Address Translation). uma chain; gets (ações) para o(s) pacote(s)
O programa utilizado para criação ➧ -Z: Zerar os contadores de pacotes. interceptados.
dessas regras é o iptables. É necessá- em todas as regras de uma chain Targets comuns para firewalls
rio que o kernel em uso seja capaz de Especificações de regras (intercep- são:
trabalhar com filtragem de pacotes, tam os pacotes que corresponderem ➧ ACCEPT: Permite a passagem
o que é regra nos kernels recentes. a descrição dada): normal do pacote;
O item de configuração do kernel ➧ -s <endereço> ou --source <ende- ➧ DROP: Descarta o pacote;
para filtragem de pacotes é Network reço>: Endereço de origem do pa- ➧ -m <módulo> ou --match <módulo>:
Packet Filtering. cote. Pode ser um nome de rede, Usar módulo estendido módulo.
Para cada tipo de operação há uma nome de host, IP de rede/másca- Há muitos tipos de módulos de
tabela específica. Cada tabela contém ra de rede ou simplesmente um controle adicionais e opções extras
chains (correntes), onde são definidos endereço IP. Se um endereço for para cada um deles. Um muito
targets (ações) para os pacotes que precedido de !, a regra intercepta usado para firewalls é o módulo
corresponderem a determinada regra os pacotes que não corresponde- state, cuja opção --state <estado>
na corrente. São as tabelas naturais rem à condição; permite determinar qual a relação
filter, nat e mangle: ➧ -d <endereço> ou --destination de um pacote com as conexões
➧ filter: É a tabela padrão. Con- <endereço>: Endereço de destino existentes. Possíveis valores para
tém as chains embutidas INPUT do pacote. Mesmo formato de -s. estado são INVALID (o estado não
(para pacotes que chegam ao Se o endereço for precedido de !, pode ser determinado), ESTABLI-

Linux Magazine #31 | Junho de 2007 53


TUTORIAL | LPI

# iptables -t filter -F INPUT


SHED (o pacote pertence a uma mental estabelecer restrições ao seu
conexão ativa), NEW (indicando iptables -t filter -P INPUT ACCEPT uso através da configuração do tcpwra-
que o pacote inicia nova conexão) iptables -t filter -F FORWARD pper, ou através da configuração do
e RELATED (o pacote inicia outra iptables -t filter -P FORWARD próprio daemon do serviço.
➥ ACCEPT
conexão, porém relacionada a iptables -t filter -F OUTPUT O nmap possui muitas opções de
uma conexão existente). iptables -t filter -P OUTPUT rastreamento que podem ser consul-
O exemplo 11 demonstra o uso de ➥ ACCEPT tadas através de sua página manual
algumas dessas opções do comando (man nmap). É possível, por exemplo,
iptables, para a criação de um firewall Verificando portas fazer um rastreamento para tentar
simples. O firewall criado irá descar- abertas no sistema descobrir as portas passíveis de cone-
tar qualquer tentativa de conexão por O programa nmap é utilizado para xão e qual o sistema operacional do
programas remotos, inclusive compar- rastrear sistemas em busca de portas de host em questão, conforme mostra
tilhadores de arquivos e programas de serviços ativas. Seu uso mais simples é o exemplo 13.
mensagens instantâneas. sem argumentos, especificando apenas Um programa que desempenha
Para voltar à configuração padrão, um nome ou endereço de host a ser ras- função semelhante é o netstat. En-
aceitando indiscriminadamente to- treado, como mostra o exemplo 12. tre outras funções, com o netstat é
das as conexões, o conjunto de co- A saída mostra que as portas 631/tcp possível monitorar as conexões ativas.
mandos a seguir deve ser empregado (Serviço de impressão do CUPS) e Algumas opções do netstat:
(respeitando-se as letras maiúsculas 6000/tcp (servidor de janelas X) estão ➧ -t: Mostra todas as conexões
e minúsculas nas opções): abertas a conexões. Portanto, é funda- TCP ativas;

Exemplo 11: Criação de um firewall simples


Apagar todas as regras da tabela filter:
iptables -t filter -F

Estabelecer política de descartar todos os pacotes em todas as chains da tabela filters:


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 através 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 conexão existente:
iptables -t filter -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED \
-s 0/0 -d 0/0 -j ACCEPT

Listando as novas configurações de filtros:


iptables -t filter -L -v
Chain INPUT (policy DROP 39 packets, 12431 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo any anywhere anywhere
0 0 ACCEPT all -- eth0 any anywhere anywhere
➥state RELATED,ESTABLISHED

Chain FORWARD (policy DROP 0 packets, 0 bytes)


pkts bytes target prot opt in out source destination

Chain OUTPUT (policy DROP 12 packets, 816 bytes)


pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any lo anywhere anywhere
0 0 ACCEPT all -- any eth0 anywhere anywhere

54 http://www.linuxmagazine.com.br
LPI | TUTORIAL

authpriv.* /var/log/secure
➧ -l: Mostra todas as portas abertas (que devem ser nomes de contas de
a conexões; Essa entrada fará com que todas usuários existentes no sistema).
➧ -c: Execução contínua, renova as as mensagens relativas a authpriv
informações a cada segundo. sejam armazenadas no arquivo Sistema de senhas shadow
O netstat é capaz de obter e /var/log/secure . O uso do sistema de senhas shadow
mostrar várias outras informações É importante que os arquivos de proporciona maior segurança, visto que
(tabelas de rotas, estatísticas de log críticos em /var/log/* não pos- o arquivo onde as senhas são armaze-
interface etc.). Mais detalhes so- sam ser lidos ou escritos por usuários nadas (/etc/shadow) não oferece leitura
bre sua operação podem ser con- comuns. Portanto, devem ter a per- para usuários comuns (-rw-r-----) e
sultados na página manual (man missão octal 600 (-rw-------). essas estão sob forte criptografia.
netstat). Algumas mensagens mais graves O uso de senhas shadow é verifi-
são enviadas por email para o usu- cado pela letra x no campo de senha
Objetivo 1.114.2: ário root. Para que outro usuário do usuário em /etc/passwd. Caso o
Segurança do Host também receba essas mensagens sistema não use senhas shadow, é
de segurança, basta acrescentá-lo necessário instalar o pacote shadow
syslog como um alias de root em /etc/ password suite (já presente na grande
Em geral, todas as mensagens do aliases (ou /etc/mail/aliases): maioria das distribuições) e executar
serviço de sistema syslog são impor- o comando pwconv para converter as
tantes para checar e garantir o bom root: ataliba, palimercio senhas antigas para o novo formato.
funcionamento do sistema. Porém,
a facilidade authpriv é especialmen- Para que o redirecionamento tenha Desativando serviços de rede
te importante, pois é responsável efeito, deve ser executado o coman- Daemons de serviços de rede que não
por informar questões relativas à do newaliases. estão sendo utilizados representam
mudança e autenticação de usuá- No exemplo, as mensagens de segu- um risco adicional de invasões que
rios. Configuração de authpriv no rança destinadas a root serão enviadas pode ser evitado. Uma das maneiras
arquivo /etc/syslog.conf: para os usuários ataliba e palimercio de desativar servidores desnecessários é

�����

������
�������������
���������
TUTORIAL | LPI

Exemplo 12: Saída do comando nmap aumentado até o limite hard. Se não for
$ nmap localhost especificado -S ou -H, o limite indicado
será definido para ambos.
Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-05-08 01:39 BRT
Interesting ports on localhost (127.0.0.1): Opções comuns de ulimit:
(The 1666 ports scanned but not shown below are in state: closed) ➧ -a: Mostra os limites atuais;
PORT STATE SERVICE ➧ -f: Especifica o número máxi-
631/tcp open ipp mo de arquivos que poderão ser
6000/tcp open X11
criados pelo shell;
➧ -u: O número máximo de pro-
Exemplo 13: Uso detalhado do nmap cessos disponíveis ao usuário;
# nmap -sS -O localhost ➧ -v: O montante máximo de me-
mória virtual disponível ao shell
Starting nmap 3.93 ( http://www.insecure.org/nmap/ ) at 2006-05-08 01:50 BRT Para se estabelecer em 100 o limite
Interesting ports on localhost (127.0.0.1):
(The 1666 ports scanned but not shown below are in state: closed) máximo de processos:
PORT STATE SERVICE
631/tcp open ipp ulimit -Su 100
6000/tcp open X11
Device type: general purpose
Running: Linux 2.4.X|2.5.X|2.6.X Permitir que o usuário acresça esse
OS details: Linux 2.4.0 - 2.5.20, Linux 2.6.3 - 2.6.7 (X86) limite até o máximo de 200:
Nmap finished: 1 IP address (1 host up) scanned in 3.240 seconds ulimit -Hu 200

tirar a permissão de execução do script Objetivo 1.114.3: Segurança Se nenhuma opção for fornecida,
que os inicia. Primeiro, o serviço deve a Nível de Usuário o recurso assumido será -f (limite de
ser terminado, e depois executado o Além do cuidado com as permissões arquivos criados). Sem um valor de
comando chmod -x script. e senhas do usuário, controlados limite, ulimit mostrará o limite soft
Para serviços disparados pelo servi- com as ferramentas passwd, usermod, atual para a opção fornecida.
dor inetd, basta comentar (acrescen- umask etc., outras medidas podem
tar o caractere #) à linha referente ao ser tomadas para aumentar a dispo- Considerações finais
serviço em /etc/inetd.conf. nibilidade da máquina, seja ela uma Apenas as configurações mais funda-
Por exemplo, para desativar o ser- estação ou servidor. mentais do Samba serão exigidas para
vidor telnet em /etc/inetd.conf: Usuários comuns podem provo- a prova, como compartilhar o diretório
car lentidão e até panes no sistema do usuário e impressoras. Quanto ao
#telnet stream tcp nowait se utilizarem exageradamente os re- NFS, é necessário conhecer a sintaxe
➥ root /usr/sbin/tcpd in.telnetd
cursos da máquina. Semelhante ao do arquivo /etc/exports e a utilização
controle de espaço em disco exercido do comando exportfs.
De forma semelhante, os serviços através do uso de cotas, os limites de Em relação a segurança, aparece-
controlados pelo servidor xinetd podem memória, a criação de arquivos e os rão na prova questões como bloqueio
ser desativados no arquivo de configura- processos também podem ser limita- de serviços e inspeção de pacotes
ção /etc/xinetd.conf, na opção disable dos através do comando ulimit. instalados. Alguns comandos pouco
correspondente ao serviço. O ulimit é um comando embutido conhecidos também são abordados,
Para desativar o servidor FTP em no bash. Os limites são válidos para como chage e ulimit. ■
/etc/xinetd.conf, a entrada corres- a sessão do shell atual, assim como
pondente no arquivo seria: para sessões e processos disparados Mais Informações
a partir dela. Geralmente, os limites
ftp { [1] Internic:
são estabelecidos no login, através http://www.internic.net/
disable = yes
socket_type = stream do arquivo /etc/profile.
[2] Fapesp, Registro-BR:
protocol = tcp Para cada recurso, pode ser estipu- http://www.registro.br/
wait = no lado um limite soft e um limite hard,
user = root [3] CERT: http://www.cert.org
especificados pelas opções -S e -H, res-
server = /usr/sbin/vsftpd [4] BUGTRAQ:
} pectivamente. O limite hard não poderá
http://www.securityfocus.com
ser aumentado, e o limite soft poderá ser

56 http://www.linuxmagazine.com.br
www.baixebr.org Ext4 | TUTORIAL

O novo sistema de arquivos Ext4

Pronto para o futuro

TUTORIAL
O próximo sistema de arquivos da família Ext oferece melhor desempenho
e sistemas de arquivo maiores. Você está preparado para o Ext4?
por Marcel Hilzinger

Daniel Jaeger Vendruscolo - www.sxc.hu

O
Linux ganhou muito com Enquanto isso, diversas iniciativas um fork do código, com a conse-
a introdução do Ext2, e o ofereciam a esse sistema de arqui- qüente criação do Ext4. Essa es-
Ext3 foi o primeiro sistema vos avanços fundamentais demais tratégia permite que os usuários
de arquivos com journal a entrar para serem facilmente integrados por todo o mundo continuem
no kernel. Ao longo dos anos, a ao código, porém importantes de- usando o Ext3 estável, enquanto
família Ext (Extended, estendi- mais para serem ignorados. os desenvolvedores integram e
da) de sistemas de arquivo teve A solução proposta pelos de- testam uma nova rodada de me-
um importante lugar no Linux, e senvolvedores foi a realização de lhorias. O Ext4, próxima geração
continua sendo uma
escolha bastante po-
pular por parte dos
usuários ao redor do
mundo. Porém a ve-
nerável base de có-
digo por trás do Ext
está mostrando sinais
da idade. Vários me-
ses atrás, desenvolve-
dores começaram a
debater o problema
de acrescentar no-
vos recursos ao Ext3,
mantendo sua esta-
bilidade e a compa-
tibilidade com códi- Figura 1 O Ext4 grava um arquivo de 1 GB mais rápido que o ReiserFS em uma operação de gravação
gos mais antigos[1]. em bloco. O Ext4 é bem mais veloz que o Ext3.

Linux Magazine #31 | Junho de 2007 57


TUTORIAL | Ext4

Figura 2 Um teste de resistência do Bonnie++ avalia quantos arquivos o sistema de arquivos consegue criar ou apagar em um
segundo. O Ext4 alcança as melhores marcas.

do Extended filesystem, agora já A retrocompatibilidade também Usando o Ext4


está disponível para os usuários. foi um dos objetivos dos desenvol- Após compilar o novo kernel (não
Nós avaliamos como ele se com- vedores do Ext4: é possível montar se esqueça da opção -j, caso pos-
para a outras opções populares de partições Ext4 como Ext3, e tam- sua uma máquina multiprocessa-
sistemas de arquivos. bém se pode montar uma Ext3 da) e configurar adequadamente
como Ext4 (com ext4dev como o gerenciador de inicialização,
sistema de arquivos). Infelizmente, vamos começar os testes em uma
O que muda? para atingir esse nível de compa- partição real.
O Ext4 se encaminha a um melhor tibilidade, é necessário desativar Para criar uma partição Ext4,
suporte a ambientes de 64 bits, o que o recurso de extents do Ext4, que é necessária uma versão recente
leva a várias outras melhorias. Um é um de seus maiores benefícios do pacote e2fsprogs[2]. Se sua dis-
importante benefício mostrado por de desempenho. tribuição não disponibilizar uma
ele é o aumento no tamanho máxi- Os interessados em testar o versão suficientemente nova, é
mo de arquivo. No Ext3, esse valor novo sistema de arquivos neces- possível baixar o código-fonte do
era de 8 TB (com um tamanho de sitarão de um kernel atual e das pacote em [2] e realizar a compi-
bloco padrão, com 4 KB), que um ferramentas de desenvolvimento lação com os tradicionais ./confi-
dia já foi considerado gigantesco. comuns: make, GCC e glibc-devel. gure && make && make install. Se
No entanto, o hardware atual aceita Em nosso laboratório, usamos o algum erro ocorrer na etapa do
maiores valores com folga. O Ext4 kernel 2.6.20. make, provavelmente isso significa
agora suporta sistemas de arquivos Além do suporte ao ext4dev, re- que é necessário instalar o pacote
com até 1024 PB (petabytes). comenda-se configurar no kernel o texinfo no sistema antes de tentar
Outra importante mudança no suporte a recursos como ACLs e atri- novamente essa compilação.
Ext4 é seu uso de extents, áreas con- butos estendidos (Extended attributes A criação de uma nova partição
tíguas de espaço de disco adicional ou XATTR). Em relação à opção por Ext4 é feita com mke2fs -j <partição>,
que contêm arquivos. O propósito compilar essas opções embutidas no obviamente substituindo <partição>
de um extent é garantir que alte- kernel ou como módulos, isso fica a pelo arquivo de dispositivo pertinente.
rações subseqüentes ao arquivo cargo do usuário. Para incluir o supor- Também é possível usar uma interface
sejam armazenadas na mesma lo- te ao SElinux, será necessário acres- gráfica para criar uma nova partição
calização que o arquivo original. centar também o suporte a rótulos de Ext3. Depois disso, basta montar a
Os extents reduzem a fragmenta- segurança (Security labels). partição com mount -t ext4dev <par-
ção e melhoram a velocidade de O suporte à depuração de JBD2 tição> <ponto de montagem>. O ker-
gravação. Vários outros sistemas torna o sistema de arquivos sensi- nel deve carregar o módulo ext4dev
de arquivos populares, como Rei- velmente mais lento; portanto, é automaticamente.
ser4, NTFS e o HFS da Apple já uma boa idéia excluir esse recurso Se o objetivo for utilizar o re-
oferecem esse suporte. do seu kernel. curso de extents do sistema de ar-

58 http://www.linuxmagazine.com.br
Ext4 | TUTORIAL

para os próprios ex-


tents. Esse trabalho
adicional não é ne-
cessário ao se apagar
arquivos, o que fica
evidente quando o
Ext4 ultrapassa tanto
o ReiserFS quanto
o Ext3, como mos-
tram os stress tests
do Bonnie++.
A figura 3 final-
mente mostra a velo-
cidade do Ext4 sem
extents, no bench-
Figura 3 Sem extents, o Ext4 fica muito mais lento nas gravações, descendo ao mesmo nível que o Ext3.
mark Slow.c com
quivos, é necessário passar o parâ- velaram diferenças significativas um arquivo de 1 GB. Os resulta-
metro -o extents para o comando entre commit=5 e commit=60. dos mostram que o desempenho
mount. É importante lembrar que Em nossos primeiros testes com excepcional de gravação desse
uma partição montada com extents a versão de desenvolvimento do sistema de arquivos é resultado
não poderá ser montada como Ext4, medimos seu desempenho principalmente dos extents.
Ext3 posteriormente. Por isso, é com os benchmarks Bonnie++ [3]
fundamental não montar uma e Slow.c [4]. A distribuição utiliza-
partição Ext3 pré-existente com da foi o OpenSuse 10.2, com um Conclusões
-o extents. Caso você cometa esse kernel personalizado e o ext4dev O Ext4 é um sistema de arqui-
erro, a única forma de não causar como módulo. Nos testes, foi uti- vos veloz que ainda se encontra
problemas é desmontar a partição lizada a opção de montagem -o em estágio inicial de desenvolvi-
sem realizar alterações nela. extents , a menos que esteja es- mento. Apesar de a retrocompa-
Os desenvolvedores têm planos pecificado o contrário. Todos os tibilidade apenas parcial poder
de migrar o suporte a extents para outros sistemas de arquivos utili- causar certa confusão, ela não
as ferramentas mke2fs e tune2fs no zaram parâmetros padrão. representa motivo para evitar o
futuro, eliminando assim a neces- O Ext4 alcança velocidades de uso do Ext4. No entanto, o fato
sidade da opção no momento da gravação muito maiores que seus de ainda chamarem o sistema de
montagem de partições. antecessores, e de fato ultrapassa, ext4dev provavelmente significa
Além dessas opções, o Ext4 pela primeira vez, seu concorren- que faz sentido permanecer um
suporta parâmetros de monta- te direto ReiserFS ( figura 1) em pouco mais com o Ext3. ■
gem mais familiares para siste- operações de gravação por blocos.
mas de arquivos com journal. Dito isso, o ReiserFS ainda é um
No caso de laptops, a opção -o pouco mais veloz que o Ext4 na
commit=<segundos> também pode leitura. Para criação e apagamen-
Mais Informações
ser interessante. O intervalo es- to seqüenciais de arquivos, o novo [1] Proposta do Ext4:
http://lkml.org/
pecificado em <segundos> determi- sistema de arquivos não é muito lkml/2006/6/28/454
na a freqüência com que o Ext4 mais rápido que seu antecessor
[2] E2fsprogs:
gravará dados no disco. O valor Ext3 (figura 2). ftp://ftp.kernel.org/
padrão é a cada cinco segundos. Os efeitos dos extents quanto pub/linux/kernel/people/
Valores maiores aumentam o ao desempenho são claramente tytso/e2fsprogs-interim/
desempenho e também podem demonstrados pelos resultados [3] Bonnie++:
economizar energia. Entretan- do teste de “Criação aleatória”. http://www.coker.com.au/
to, note que isso compromete a É compreensível o Ext4 perder bonnie++/
segurança de qualquer dado que para o Ext3 nessa rodada, pois ele [4] Slow.c:
ainda não tenha sido salvo. Dito necessita de tempo extra para re- http://www.jburgess.uklinux.
net/slow.c
isso, nossos benchmarks não re- servar espaço de armazenamento

Linux Magazine #31 | Junho de 2007 59


Virtualização com o VirtualBox

Caixinha virtual
TUTORIAL

Se você quer fugir das ferramentas de virtualização muito


complexas ou caras, experimente o VirtualBox.
por Thomas Leichtenstern

A
virtualização vem ganhando algumas versões do VMware [1], sistema Windows® (incluindo o
popularidade como técnica para ou difíceis de usar, como o Xen. Vista). Os sistemas hospedeiros
simplificar a administração de Alternativas como o Qemu geral- incluem o Windows XP e distribui-
sistemas. As ferramentas de virtualiza- mente não conseguem oferecer ções Linux com kernel 2.4 ou pos-
ção simulam uma máquina autônoma desempenho adequado em am- terior, mas apenas em plataformas
independente do sistema hospedeiro. bientes de produção. de 32 bits (aparentemente, há uma
Infelizmente, vários programas A empresa alemã Innotek[2] re- versão para 64 bits em desenvolvi-
de virtualização são caros, como centemente deu um passo à frente no mento). Testamos a versão 1.3.8 do
preenchimento desse VirtualBox (a mais recente até o
nicho, lançando seu fechamento deste artigo), para ve-
sistema de virtualiza- rificar se o programa corresponde
ção VirtualBox[3] sob aos ambiciosos objetivos de seus
a GPL (veja também desenvolvedores.
o quadro 1). A empresa
descreve o VirtualBox
como uma ferramenta Recursos
gratuita e amigável, Diferentemente do VMware Works-
que oferece suporte a tation , o VirtualBox não gerencia
uma grande variedade máquinas virtuais como abas dentro
de sistemas hóspedes de uma janela; em vez disso, ele
e hospedeiros. mostra os sistemas hóspedes em
Podem ser hóspe- múltiplas janelas independentes
des do VirtualBox ( figura 1). Mas há semelhanças
todas as distribui- entre as duas ferramentas: assim
Figura 1 O VirtualBox abre máquinas virtuais como instâncias inde- ções Linux popula- como o VMware, o VirtualBox
pendentes em janelas separadas, permitindo que o usuário res, além dos BSD’s, trata os sistemas virtuais como
rode diferentes sistemas operacionais ao mesmo tempo. o OS/2 e qualquer instâncias independentes.

60 http://www.linuxmagazine.com.br
VirtualBox | TUTORIAL

O VirtualBox emula um compu- já possua um módulo


tador com chipset Intel 440FX (“Na- adequado disponível.
toma”), placa de rede AMD 79C973 O software também
(PCnet-II), chip de som Intel AC97 necessita da versão
e um adaptador VGA com memória 3.3.5 ou mais recen-
de vídeo configurável até 32 MB. Os te das bibliotecas Qt,
desenvolvedores pretendem integrar assim como da biblio-
uma placa de rede Gigabit virtual teca multimídia SDL
da Intel. 1.2.7 ou mais nova.
Uma barra permite o ajuste da Os usuários das dis-
quantidade de memória até o li- tribuições atendidas
mite da memória física. Como as pelos pacotes nativos
máquinas virtuais rodam como podem utilizar seu ge-
processos normais no sistema hos- renciador de pacotes Figura 2 A interface gráfica do VirtualBox é simples e limpa.
pedeiro, o escalonador deste fica preferido para realizar
responsável por alocar ciclos de a instalação do VirtualBox. Já a insta- possui suporte a esse sistema de ar-
CPU. No momento, o VirtualBox lação genérica requer que o usuário quivos por motivos de segurança, os
ainda não possui gerenciamento root execute o script de instalação usuários dessa distribuição precisam
centralizado de processos para as com o argumento install. instalar um kernel diferente, ou en-
máquinas virtuais, mas o objetivo A rotina de instalação cria um tão simplesmente não utilizar USB
é incluí-lo por volta do meio do grupo chamado vboxusers. Em nos sistemas virtuais.
ano. O suporte nativo a imagens sistemas Ubuntu e Debian é ne- Os usuários de outras distribuições
do VMware está planejado para cessário acrescentar a eles, ma- precisarão modificar os pontos de
antes do meio do ano. nualmente, os usuários aptos a montagem em /etc/fstab para ter
Assim como o VMware, o Vir- utilizar o VirtualBox, com um certeza de que o software possui os
tualBox também possui um geren- usermod -G vboxusers -a <usuário>. direitos de acesso necessários para o
ciador de snapshots que permite Em sistemas como o Suse ou o USBFS. Para fazer isso, abra o /etc/
que o usuário paralise e recupe- Mandriva, o comando é usermod fstab como root e procure a entrada
re o status de um sistema ativo, a -A vboxusers <usuários>. Note que que monta o USBFS, como:
qualquer momento. usuários logados precisam sair e
Há um servidor RDP que pode ser entrar novamente para aplicar as usbfs /proc/bus/usb usbfs noauto 0 0
ativado individualmente para qual- novas configurações de grupos.
quer sistema hóspede para suportar O script de instalação cria au- Acrescente a seguinte linha a
o acesso gráfico através de redes. tomaticamente uma entrada para essa entrada:
iniciar o serviço do
vboxdrv em /etc/init.
Instalação d/, eliminando a ne-
A página de download na home- cessidade de iniciar
page do VirtualBox possui pacotes o serviço ao iniciar a
com os binários do Debian (3.1 e máquina hospedeira.
4.0), Ubuntu (6.06 LTS até 7.04), Pode-se controlar o
OpenSuse 10.2, Mandriva 2007.1 serviço com o script
e RHEL 4. Os usuários de outras de inicialização /etc/
distribuições podem usar o script init.d/vboxdrv, pas-
genérico de instalação, que também sando-lhe argumen-
inclui os binários. tos como start, stop
Como o VirtualBox requer um e restart.
módulo do kernel, será necessário o O suporte a USB
código-fonte do kernel e seus cabe- é baseado no siste-
çalhos, além do make e do GCC. O ma de arquivos vir-
VirtualBox compila o módulo a partir tual USBFS. Como Figura 3 O VirtualBox exibe os nomes dos dispositivos USB do
dos fontes, a menos que o usuário o OpenSuse 10.2 não hospedeiro, e permite seu uso na máquina virtual.

Linux Magazine #31 | Junho de 2007 61


TUTORIAL | VirtualBox

Quadro 1: Questões de shots, ou Hostkey para deixar a má- finidas (figura 2). No lado direito da
licenciamento quina virtual (que por padrão é a janela, há mais configurações para
A Innotek oferece dois “sabores” do Virtu- tecla [Ctrl] direita) estão disponíveis a máquina virtual, na aba Details. É
alBox: a Open Source Edition (OSE), com no menu File | Global Settings. possível ativar mais funções, como o
código-fonte sob a GPL, e a versão binária Para criar uma nova máquina suporte a áudio (as opções são ALSA
de código fechado, lançada sob a VirtualBox
Personal Use and Evaluation License. virtual, clique no menu VM e em e OSS), a quantidade de memória
seguida no botão New. Isso inicia de vídeo (configurável até 32 MB),
A empresa permite que se use essa variante
com propósitos pessoais e acadêmicos, o Virtual Machine Wizard, um as- e compartilhamentos RDP.
gratuitamente; todos os outros usos estão sistente para configurar parâmetros O software possui uma abordagem
sujeitos ao pagamento de uma licença, como o nome da máquina virtual, muito interessante para o gerencia-
após um “razoável” período de avaliação o espaço em disco que ela poderá mento de dispositivos USB (figura
de “algumas semanas”. A vantagem da
variante paga é que ela oferece recursos utilizar e a alocação de memória, 3). Para listar todos os dispositivos
valiosos, como diretórios compartilha- além de se especificar o sistema USB ligados à máquina, junto com
dos e suporte a USB, RDP e iSCSI. operacional hóspede. seus descritores de fabricante e pro-
Como o VirtualBox não verifica o duto, apenas clique no ícone Add
usbfs /proc/bus/usb usbfs devgid=
➥<GID_do_grupo_vboxusers>,de espaço disponível na partição física from, na barra de ferramentas do
➥vmode=664,noauto 0 0 ao criar discos dinâmicos, é neces- lado direito.
sário certificar-se de que há espaço Para usar o dispositivo necessá-
Após um mount usbfs, os pre- físico suficiente antes de informar rio na máquina virtual, basta cli-
parativos já estão terminados, e um tamanho de disco virtual para a car nele. O menu Remote permite
é possível rodar o VirtualBox. Po- criação de uma nova máquina. aos usuários especificar se desejam
rém, no caso do OpenSuse 10.0, Ao se configurar a memória, tam- compartilhar o dispositivo para uso
que ignora as instruções para o bém é necessário tomar cuidado, pois remoto (via USB sobre RDP). Se
sistema de arquivos USBFS pre- o software de cada máquina virtual essa opção for ativada, é possível
sentes em /etc/fstab, é necessá- vai usar sua memória alocada de plugar um dispositivo, como um
rio remontar o USBFS com um forma exclusiva. Se forem iniciadas pendrive, por exemplo, ao com-
pequeno script que pode ser exe- múltiplas máquinas virtuais que, em putador remoto em uma sessão
cutado na inicialização: conjunto, ultrapassem o espaço de RDP, e acessar o dispositivo pela
memória disponível, uma das máqui- máquina hóspede.
#!/bin/bash nas pode vir a travar ou fechar, e até Em nosso laboratório, o supor-
/bin/umount usbfs
/bin/mount usbfs mesmo os processos do hospedeiro te a USB causou alguns efeitos
exit 0 podem vir a ser terminados. colaterais incomuns. Em um dos
Clicar em Finish informa o Vir- casos, o mouse USB do sistema
Salve o script como usbfsstart. tual Machine Wizard para acres- hóspede parou de funcionar após
sh em /etc/init.d/, e crie um link centar a nova máquina virtual com iniciarmos uma máquina virtual,
simbólico para o diretório de runlevel os parâmetros básicos especificados voltando apenas após desligarmos
adequado (normalmente, /etc/init. para a lista de máquinas virtuais de- o sistema hóspede e recarregarmos
d/rc5.d/).

Configurações
Para iniciar a interface gráfica do
VirtualBox ( figura 2), é possível
selecionar tanto Sistema | Inno-
tek | VirtualBox no menu do seu
ambiente desktop, quanto digitar
VirtualBox (virtualbox, no Gentoo)
na linha de comando; não são ne-
cessários privilégios de root.
As configurações globais (Global Figura 4 A função de redimensionamento automático do desktop modifica auto-
Settings), como os diretórios padrão maticamente o tamanho da janela do sistema hóspede, de acordo com o
(Default Folders) de imagens e snap- tamanho da janela.

62 http://www.linuxmagazine.com.br
VirtualBox | TUTORIAL

a imagem, com essas importar em que diretórios eles


ferramentas, como estejam fisicamente.
um CD no sistema Para usar discos em máquinas
hóspede, pode-se virtuais às quais eles estejam vin-
clicar em Devices | culados, basta clicar no botão Re-
Install Guest Addins. lease. Com isso, o disco aparecerá
Para instalá-los, bas- no menu de seleção de discos das
ta clicar em VBox outras máquinas virtuais. Para criar
GuestAdditions.exe um novo disco independente, para
(como usuário privi- ficar disponível a todas as máquinas
legiado) ou chamar virtuais, pode-se clicar no botão
VBoxGuestAdditions. New. A aba CD/DVD Images lista
Figura 5 O Virtual Disk Manager é responsável pelo
run como root. as imagens ISO que tenham sido
gerenciamento de discos e imagens de discos
usados pelo VirtualBox. Para máquinas vir- montadas em alguma máquina vir-
tuais Linux, é neces- tual, em algum momento.
os módulos do kernel responsáveis sário configurar os fontes e cabe-
pelos controladores USB. Em outro, çalhos do kernel manualmente.
o sistema hóspede recusou-se a cola- Os add-ins também habilitam o Conclusões
borar com pendrives que o sistema cursor do mouse automático ao Apesar de alguns bugs pouco im-
operacional normalmente detectaria alternar entre as máquinas virtuais portantes, o VirtualBox cria uma
sem qualquer problema. e o sistema hospedeiro. O Virtu- impressão favorável e oferece bom
alBox não suporta cópias do tipo desempenho. A única crítica impor-
arrastar-e-soltar entre o hóspede tante é o suporte falho a USB, mas
Operações e funções e seu hospedeiro. para compensar isso, essa ferramen-
Diferente do que acontece no A interface gráfica do Virtual- ta possui uma excelente solução de
VMware, as máquinas virtuais no Box é simplesmente uma forma gerenciamento de discos virtuais e
VirtualBox não têm uma BIOS se- conveniente de se controlar a base imagens de CD-ROM. O suporte
parada, em vez disso, é necessário da ferramenta de virtualização, em a RDP e iSCSI, além da função de
usar a interface de configuração modo texto. Algumas configurações USB sobre RDP, por exemplo, ainda
para algumas operações, como al- como os diretórios compartilhados estão ausentes nos concorrentes.
terar a ordem de inicialização dos para todas as máquinas virtuais, só Os desenvolvedores prometem
discos. Na parte inferior da janela estão disponíveis através da linha melhorias impressionantes para a
da máquina virtual, alguns ícones de comando. próxima versão. Além do contro-
mostram o status dos dispositivos O comando VBoxManage, sem qual- le de processos de uma função
ativos, assim como o da rede e das quer parâmetro, lista os comandos de importação para imagens do
unidades removíveis e fixas. Um disponíveis. Para configurar um VMware, as mudanças incluirão
clique direito no ícone de CD ou compartilhamento, basta digitar VBo- uma interface gráfica para geren-
USB mostra um menu de contexto xManage sharedfolder add <hóspede> ciar compartilhamentos virtuais.
que permite a montagem ou de- -name <nome do compartilhamento> - Considerando que uma licença
sativação de unidades de disco e path <caminho/até/o/diretório>. Para do VMware para uso doméstico
dispositivos, dinamicamente. isso, novamente serão necessários os custa US$ 189,00, o gratuito Vir-
O redimensionamento automático guest add-ins. tualBox é uma boa escolha em
do hóspede modifica o tamanho de muitas situações. ■
sua respectiva janela, para adequar-
se à resolução da tela (figura 4). A Discos virtuais Mais Informações
seta verde no ícone do desktop da O VirtualBox gerencia discos in-
barra de ferramentas informa se dependentemente das máquinas [1] VMware:
http://www.vmware.com
essa função está ativa, e um clique virtuais, através do Virtual Disk
com o botão direito pode ativá-la ou Manager ( figura 5), acessível atra- [2] Innotek:
http://www.innotek.de
desativá-la. Para usá-la, é necessário vés do menu File, na janela prin-
instalar os recursos extras para hós- cipal. O programa exibe discos [3] VirtualBox:
http://www.virtualbox.org
pedes (guest add-ins). Para montar virtuais na aba Hard Disks, sem

Linux Magazine #31 | Junho de 2007 63


www.baixebr.org
Squid e OpenLDAP

Acesso mais
SYSADMIN

seguro
Use o sistema de autenticação por Digest no
Squid e evite a exposição de senhas.
por Emanuel dos Reis Rodrigues

Q uando se fala no aumento


de segurança em redes, já
nos vêm à mente switches,
SSL, TLS ou algum mecanismo ba-
de e destinados a outros usuários.
Essa técnica é parcialmente bloque-
ada por vários switches; porém, os
hubs, assim como os switches mais
Em uma empresa onde existem
vários serviços que solicitam auten-
ticação, sendo necessária uma senha
para cada um, os usuários tornariam
seado em criptografia pesada. Infe- antigos, ainda permitem a captura essa estrutura extremamente compli-
lizmente, nem sempre conseguimos do tráfego. Esse tráfego pode con- cada. Utilizando o serviço de dire-
implementar SSL em tudo. Em redes ter senhas de FTP, HTTP, SMTP, tório, o usuário passa a usar apenas
grandes, onde o gerenciamento não POP3 e qualquer outro serviço que uma senha para todos os serviços
é centralizado, isso se torna ainda se utilize de senhas para garantir a da empresa. Com isso, cada usuá-
mais complicado, pois há sempre autenticidade dos usuários sem o uso rio assume total responsabilidade
alguém usando um hub velho numa de uma camada segura. pelas atividades envolvidas com seu
sala desconhecida. login na rede.
Os switches estão cada vez me- Centralizando O OpenLDAP é um software livre
lhores, mais robustos e bem mais
confiáveis, e os hubs estão tentando
informações que oferece um serviço de diretórios
baseado no protocolo LDAP, e é per-
Com o aumento significativo das es-
ficar mais inteligentes, mantendo feito para esse tipo de solução.
seu baixo custo para continuar no truturas e sistemas integrados, o serviço Dentre os serviços existentes em
mercado. de diretórios é cada vez mais utilizado uma rede, o acesso à Internet pode
Uma técnica muito utilizada por no ambiente corporativo, fornecendo ser destacado pelo uso intenso; utili-
invasores é o sniffing, que captura da- informações e centralizando a autenti- zando o serviço de diretórios, é pos-
dos da rede, geralmente originários cação para diversos outros serviços. sível controlar o acesso dos usuários
Tabela 1: Alguns Mecanismos de Autenticação suportados pelo Squid
Categoria Descrição
ntlm_auth Normalmente utilizado para atender clientes Windows, que ao fazerem logon na rede pas-
sam automaticamente suas credenciais ao Squid, que autoriza ou não o acesso à internet.
external_acl Qualquer mecanismo de autenticação externa que possa receber parâmetros e re-
tornar ERR ou OK, bastante utilizado para ACLs com grupos de usuários.
negotiate_auth É um negociador de autenticação nativo do Windows, que também utiliza in-
formações de usuários logados no domínio NT. Pouco utilizado.
digest_auth Utiliza o protocolo HTTP, em um esquema de desafio e resposta baseado no algoritmo HMAC.
basic_auth Utiliza o protocolo HTTP, aplicando base64 para o tráfego das senhas.

64 http://www.linuxmagazine.com.br
Squid | SYSADMIN

à rede mundial de computadores, Em termos de segurança, a au- dos vários formatos: crypt, md5, sha,
garantindo a transparência sobre o tenticação por Digest não substitui a blowfish, clear e outros. Contudo,
uso da Internet corporativa. criptografia por SSL/TLS, pois esses nenhum desses é compatível com
últimos são muito mais confiáveis. O o hash do método Digest. O Squid
Serviço de acesso Digest não é capaz de resolver todos
os problemas de insegurança na au-
irá pesquisar o login na base LDAP,
solicitando o retorno de um campo
à Internet tenticação do Squid, mas aumenta-a para comparação com a resposta
Para servir Internet aos usuários de uma significativamente, com baixo custo enviada pelo Digest. Esse campo é
rede, o software livre mais utilizado é e pouca sobrecarga. simplesmente um atributo do usuário
o Squid. Esse proxy web é capaz de que possa armazenar uma cadeia de
prover acesso à Internet sem que os
usuários precisem buscar diretamente
Funcionamento do caracteres com o tamanho mínimo
de REALM:{hha1} mais os 32 caracteres
o conteúdo das páginas, permitindo Digest com Squid do hash. Esse campo é passado para
com isso o armazenamento das pági- O Digest é um sistema de autenti- o squid_ldap_digest, e deve conter o
nas num cache – com a conseqüente cação baseado em desafio e resposta seguinte formato: realm:{hha1}hash,
aceleração do acesso às mesmas – e o (figura 1). No caso do Squid, que não como por exemplo:
controle de acesso dos usuários, com é diferente das demais implementa-
filtros e mecanismos de autenticação. ções de Digest, o usuário, utilizando Planeta Terra:{hha1}253a0909ab7dbb
A tabela 1 mostra as categorias de au- um navegador, faz uma requisição ➥dba534f46b8d52d5e7
tenticação disponíveis para o Squid. ao proxy para uma página, www.linu-
É importante lembrar que cada uma xmagazine.com.br/faq/, por exemplo, Ao obter uma resposta, o Squid
dessas categorias possui vários módu- que retorna o desafio: Proxy Authenti- compara os realms; se forem diferen-
los de autenticação. cation Required tipo Digest, o realm, tes, ele informa que a senha é inválida,
o nonce e o qop (tabela 2). e se forem iguais, o restante é testa-
O problema e a Após receber o desafio, o navegador
solicita ao usuário seu login e senha,
do em seguida. O segmento {hha1}
é necessário, mas o squid_ldap_di-
escolha do mecanismo e emprega o seguinte algoritmo: gest o elimina, mantendo apenas o
A maioria das implementações do hash, que é md5(login:realm:senha),
Squid com OpenLDAP são feitas A1 = login:realm:senha ou a senha em texto puro, no caso
A2 = GET:/faq/
usando o método basic de autentica- do uso sem criptografia (não reco-
ção HTTP (basic_auth). Apesar de hashA1 = md5(A1) mendado).
manterem a conexão entre o Squid hashA2 = md5(A2) De posse do hash do valor A1 vindo
e o LDAP em SSL ou loopback, o do servidor LDAP, o Squid calcula
reponse = md5(hashA1:nonce:nc:
tráfego de senhas entre o navegador ➥cnonce:qop:hashA2) novamente o valor:
e o proxy ocorre em Base64, permi-
tindo que invasores consigam cap- Isso significa que o mecanismo md5(hashA1_vindo_do_LDAP:nonce:nc:
turar e reverter as senhas para uso Digest gera um hash MD5 do valor ➥cnonce:qop:hashA2)
indevido. Somado à presença dos especificado em A1 e outro daquele
inseguros hubs, esse cenário pode de A2. Em seguida, gera um terceiro e o compara com o valor de respon-
se tornar altamente perigoso. hash, dessa vez com os valores do se calculado previamente, tendo
O método de autenticação NTLM primeiro hash de A1, nonce, nc, cnon- assim o resultado da autenticação
possui a vantagem da facilidade de inte- ce qop e o segundo hash, de A2. Esse (figura 1).
gração com máquinas Windows, porém, terceiro hash é a resposta (response)
em redes heterogêneas, com máquinas que será enviada ao Squid, que é o Implementação
Linux e Windows, esse modelo pode que realmente lhe interessa. Vamos agora implementar esse méto-
comprometer as máquinas Linux. Uma do de autenticação para o proxy Squid.
boa alternativa aos dois métodos citados
é o Digest. O Digest utiliza o algoritmo
Integração com Como o digest do Squid 2.5 não suporta
LDAP, e é o mais recente no momento
HMAC, que faz uso de hashes MD5 da OpenLDAP da escrita deste artigo, demonstraremos
combinação de informações dinâmicas A senha do usuário no OpenLDAP como implementar essa solução usando
com a senha e o login do usuário, para costuma ser guardada em um cam- partes do código da versão 3 do proxy
transportar seus dados na rede. po chamado userPassword, em um web, ainda em desenvolvimento.

Linux Magazine #31 | Junho de 2007 65


SYSADMIN | Squid

Tabela 2: Chaves utilizadas durante a ➧ Habilitar suExec: Não


transação Digest ➧ Gerar as chaves SSL.
Novamente, o pacote phpldapad-
Chave Descrição
min também pedirá o preenchimento
nonce É uma chave para a sessão gerada aleatoriamen- de alguns valores:
te pelo Squid; possui um tempo de vida definido.
➧ Tipo de Autenticação: Sessão
nc Request Counter – um ID da requisição. ➧ Daemons do servidor Web para
cnonce É uma chave gerada pelo cliente durante a transação, Client nonce. configurar: Todos
qop Código de proteção, geralmente com o valor auth. ➧ Reiniciar servidores Web: Sim
Uri Quando se acessa um site, por exemplo www.linuxmaga- O OpenLDAP não possui necessi-
zine.com.br, seu URI é GET:/, pois nesse caso está sen- dades especiais de instalação ou compi-
do solicitado o acesso à raiz do site. No acesso a www. lação; tanto o slapd do Debian quanto
linuxmagazine.com.br/faq, o URI é GET:/faq.
a configuração (./configure) dos fontes
realm É o “reino” da uma sessão Digest. funcionam sem problemas.
response Hash completo da transação, que será enviado ao Squid. Devido a limitações de espaço,
md5( ) Não faz parte da transação, sendo apenas um símbolo para a demons- não é possível cobrir aqui a admi-
tração. Ele gera um hash MD5 do que está dentro dos parênteses. nistração de uma base LDAP. Para
mais informações a esse respeito, há
Após baixar o código-fonte do cp digest_ldap_auth /usr/lib/ bastante documentação na página
Squid 3 em [1], é necessário des- ➥squid/ do OpenLDAP, em [2].
compactá-lo e executar as etapas de
configuração e compilação: É necessário que o Squid 2.5 que insta-
lamos pelo gerenciador de pacotes tenha
Configuração do
$ tar -zxvf squid3-XX.tar.gz sido compilado com suporte ao helper OpenLdap
$ cd squid3-XX digest, como é o caso no Debian. Para ter acesso à base LDAP através
$ ./configure --enable-digest- do utilitário phpldapadmin, será ne-
➥helpers=ldap Instalação do cessária a configuração dos arquivos
$ make
OpenLDAP sob /usr/share/phpldapadmin/.
Se o OpenLDAP tiver sido compi-
Não será necessário o make install, Se ainda não houver um servidor lado manualmente, o diretório phpl-
pois não iremos usar o proxy Squid OpenLDAP em execução, será ne- dapadmin/ estará localizado no mesmo
3, e sim o 2.5, que é estável e está cessário instalar um. No Debian, o diretório onde foi feita a instalação.
pronto para o uso em produção. comando a seguir instalará os paco- No arquivo config.php, informe a
Em seguida, pode-se instalar o tes necessários: localização da base LDAP, seu nome
Squid a partir dos binários empacota- e seu domínio. Algumas informações
dos pela sua distribuição. No caso dos # apt-get install slapd ldap-utils podem ser obtidas no arquivo /etc/
➥apache-ssl phpldapadmin
usuários de Debian e derivados: ldap/slapd.conf.

# apt-get install squid A instalação do pacote slapd exigirá $servers[$i][‘host’]=’localhost’


o fornecimento de algumas informa- $servers[$i][‘base’]=’dc=linuxmaga
O momento mais importante vem ções. Para exemplificar, mostraremos ➥zine,dc=com,dc=br’
agora. Vamos utilizar no Squid 2.5 re- a configuração para o domínio linu- $servers[$i][‘login_dn’]=’cn=admin
cém instalado o binário da autentica- xmagazine.com.br: ➥,dc=linuxmagazine,dc=com,dc=br’
ção Digest gerado com o código-fonte ➧ Domínio LDAP: linuxmagazine.
do Squid 3 na etapa anterior. com.br Em seguida, podemos acessar o
Para isso, precisamos apenas copiar ➧ Organização: linuxmagazine phpldapadmin pelo navegador web,
o binário gerado para o local onde ➧ Senha do administrador da base: no endereço https://ip_da_máqui-
se encontram os binários que vieram suasenha na_local/phpldapadmin/.
no pacote da distribuição: ➧ Habilitar acesso à base usando Serão solicitados um login e uma
o protocolo ldapV2: Sim senha:
# cd squid3-XX/helpers/digest_ O apache-ssl também demanda
➥auth/ldap/ algumas informações: Login DN: cn=admin,dc=linuxmagazin

66 http://www.linuxmagazine.com.br
Squid | SYSADMIN

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

Se forem fornecidas as informa-


ções corretas, o sistema fará o login
do usuário, mostrando no canto
esquerdo da tela o nome da base
LDAP - no caso, dc=linuxmagazin
e,dc=com,dc=br.
Criaremos agora um novo usuário,
clicando no símbolo + à esquerda do Figura 1 Esquema da autenticação por Digest no Squid com OpenLDAP.
nome da base e, na lista que se abre,
clicando em Organizational Unit | Depois de criado o usuário e o ➥m,dc=br -F “uid=%s” -D cn=admin,
OU Name | Create. hash Digest, precisamos de um atri- ➥dc=linuxmagazine,dc=com,dc=br -W
Agora, clicando em ou=usuários buto para guardá-los. Como visto an- ➥/etc/secret -h localhost -v 3 -
| User Account (posixAccount), teriormente, esse atributo pode ser ➥A gecos -e
pode-se preencher as informações qualquer um, desde que caiba nele auth_param digest children 5
a respeito do primeiro usuário. É a informação do tipo string com o auth_param digest realm Planeta
importante lembrar que o cam- tamanho necessário. ➥Terra
po User Name será o login do Em nosso exemplo, vamos uti-
usuário criado. Não é necessário lizar o atributo gecos do nis.sche- Ao inserir o realm Planeta Terra,
informar o tipo de criptografia, ma, que tem outra finalidade, mas deve-se verificar se não há um es-
e a shell de login deve ser /bin/ pode ser adequado de maneira ge- paço em branco após o termo, pois
false . É bom não alterar o valor nérica para guardar nossa cadeia um simples caractere a mais pode
de Container. de caracteres. acarretar problemas na autenticação,
Clicando em Continue | New Voltando ao phpldapadmin, uma vez que causará a geração de
User Account | Create Account, o deve-se clicar em uid=fulano den- um hash distinto.
novo usuário será criado na base tro de ou=usuários e, na parte su- Para obrigar o uso de senha para
LDAP. Entretanto, a configuração perior, inserir um novo atributo, o acesso à Internet, descomenta-se
feita até o momento não leva em selecionando gecos e inserindo a linha:
conta a integração com outros o valor:
serviços da rede. acl password proxy_auth REQUIRED
Planeta Terra:{hha1}d7e7a8f04c18cc
Integrando ➥1e0ad5ac83798d452c Na seção de definição das ACLs,
Para começar a realizar a inte- no mesmo arquivo, a seguinte linha
gração do OpenLDAP com os É fundamental lembrar-se de deve ser inserida:
outros serviços, precisamos pri- substituir o hash acima pelo que foi
meiro gerar o conteúdo a ser copiado da etapa anterior. http_access allow all password
usado no próximo passo, isso é, Agora o usuário fulano está pronto
o primeiro hash necessário para para utilizar a internet. Após salvar o arquivo squid.conf,
a autenticação Digest. Para tan- deve-se inserir a senha do adminis-
to, deve-se realizar essa operação
num terminal:
Configuração trador da base no arquivo /etc/secret
e reiniciar o Squid:
do Squid
$ echo -n “fulano:Planeta Terra: A configuração do Squid é realizada # echo “suasenha” > /etc/secret
➥senhadologin” | md5sum | cut -b no arquivo /etc/squid/squid.conf. # /etc/init.d/squid restart
➥0-32 Nele, é necessário inserir os parâ-
d7e7a8f04c18cc1e0ad5ac83798d452c metros de autenticação: Configurando-se o proxy do na-
vegador para o endereço e a porta
É importante guardar temporaria- auth_param digest program /usr/ do proxy (em nosso caso, 10.0.0.1
mente esse hash, pois ele será usado ➥lib/squid/digest_ldap_auth -b ou e porta 3128), podemos tentar en-
em breve. ➥=usuarios,dc=linuxmagazine,dc=co trar em alguma página, e a auten-

Linux Magazine #31 | Junho de 2007 67


SYSADMIN | Squid

Exemplo 1: Script para adicionar o campo digest ao LDAP


<?
/// Pré-requisito: PHP com suporte à LDAP

$base = “dc=linuxmagazine,dc=com,dc=br”;
$dn = “uid=fulano,ou=usuarios,dc=linuxmagazine,dc=com,dc=br”;
$server = “localhost”;
$dn_admin = “cn=admin,dc=linuxmagazine,dc=com,dc=br”;
$senha_admin = “suasenha”;
$realm = “Planeta Terra”;
$user = “fulano”;
$senha = “senhalogin”;

$ds=ldap_connect($server) or die (“Nao foi possivel estabelecer conexao com $server !”);

ldap_set_option($ds,LDAP_OPT_PROTOCOL_VERSION,3);

$r=ldap_bind($ds,$dn_admin,$senha_admin) or (“Erro ao autenticar: Credenciais invalidas”);

// Gerando o hash MD5


$hash = md5(“$user:$realm:$senha”);
$dados[“gecos”]=$realm . “:” . “{hha1}” . $hash;

// Inserindo o attributo do Digest no ldap


$r=ldap_modify($ds,$dn,$dados);

if ($r) {
echo “Inclusao do Digest executada com sucesso para o usuario $user : “;
echo $realm . “:” . “{hha1}” . $hash;
} else {
echo “erro ao incluir Attributo Digest!”;
}
?>

ticação será solicitada: Forneça a trada do login e realm incluindo Considerações Finais
senha para o proxy: Planeta Terra as aspas. Se correr tudo bem, ele A principal intenção deste artigo
em 10.0.0.1:3128 trará o hash: é exemplificar o modelo de au-
Evidentemente, o nome e tenticação Digest, suportado por
a senha do usuário devem ser "fulano": "Planeta Terra" um grande número de serviços, e
aqueles que criamos nos passos d7e7a8f04c18cc1e0ad5ac83798d452c capaz de proporcionar uma maior
anteriores. segurança na validação de senhas
O exemplo 1 mostra um script em trânsito pelas redes. Em caso
Problemas? em PHP que pode ser usado de problemas durante os procedi-
O script digest_ldap_auth precisa para adicionar o campo digest mentos, o autor deste artigo ficará
receber como parâmetro o login e ao LDAP. feliz em ajudar. ■
a realm. É possível testar seu fun-
cionamento na linha de comando, Recomendações
com o comando: Toda estrutura deve possuir suas Mais Informações
políticas. Seria interessante agre- [1] Squid: http://www.
# /usr/lib/squid/digest_ldap_auth gar a possibilidade de implanta- squid-cache.org/
➥-b “ou=usuarios,dc=linuxmagazine ção de um mecanismo para troca [2] OpenLDAP: http://
➥,dc=com,dc=br” -F “uid=%s” -D “c de senhas dentro de um tempo www.openldap.org/
➥n=admin,dc=linuxmagazine,dc=com, determinado, garantindo que os
➥dc=br” -W /etc/secret -h usuários troquem suas senhas e,
➥localhost -v 3 -A gecos -e se possível, que elas sejam testa- O autor
das por outro mecanismo, como Emanuel dos Reis Rodrigues é assessor
Logo após entrar com o co- a Cracklib, por exemplo, para ga- de TI no Centro de Tecnologia da Informa-
ção do Governo do Estado de Roraima.
mando, o script irá esperar a en- rantir sua segurança.

68 http://www.linuxmagazine.com.br
www.baixebr.org
Barreiras de escrita

Organizando a fila

SYSADMIN
Um bom disco rígido e um sistema de arquivos com journal não
eliminam totalmente a perda de dados. É preciso ir além.
por Martin Steigerwald

Stephanie - www.pixelio.de

S
istemas de arquivos com de armazenamento, enquanto o dos podem não estar tão seguros
journal oferecem alguns dispositivo pode fazer alterações quanto se imagina.
importantes benefícios aos na ordem das requisições de escrita Os desenvolvedores de sistemas
usuários, mas também põem alguns de forma a otimizar o desempenho. de arquivos e os fabricantes de dis-
problemas sutis, como a necessida- Se o sistema falhar em um ponto cos rígidos estão cientes desse pro-
de do sistema de arquivos manter em que o journal não esteja em blema, e várias soluções e ajustes
um registro que reflita o estado das compasso com a seqüência real já foram empregados. Uma solução
operações de escrita no dispositivo das operações de gravação, os da- no estilo “força bruta” consiste
simplesmente em
Transação 1 Transação 2 Transação 3 esvaziar o cache de
escrita antes e depois
Adiciona entrada no diretório Aloca espaço de memória Muda entrada no diretório
Aumenta espaço na memória Grava dados de cada operação de
gravação, o que efe-
tivamente elimina
Adiciona arquivo Adiciona mais dados Renomeia o arquivo o cache sem desati-
INICIA APLICA INICIA APLICA INICIA APLICA vá-lo na camada de
hardware.
Uma solução me-
lhor e mais veloz, e
que vem recebendo
bastante atenção dos
Figura 1 O sistema de arquivos grava transações individuais, como a criação de um arquivo, de forma
desenvolvedores, é
sucessiva no journal. As transações podem ter o estado de completadas ou não iniciadas. As garantir que as re-
completadas são marcadas por uma operação de gravação contígua. quisições de grava-

Linux Magazine #31 | Junho de 2007 69


SYSADMIN | Barreiras de escrita

ção sejam efetivadas no disco em Quadro 1: Journal de dados


uma ordem previsível, usando Sistemas de arquivos com journal que escrevem apenas metadados nes-
requisições do tipo write barrier se journal possuem uma desvantagem. Se as operações de gravação
forem interrompidas, os arquivos podem ficar ilegíveis devido a opera-
(barreira de escrita). ções incompletas. O sistema de arquivos talvez tenha alocado outros
Apesar de o suporte a barreiras blocos de dados para o arquivo antes de completar as operações de es-
de escrita estar se tornando muito crita nesses blocos, ou então uma operação de gravação destinada a
sobrescrever dados em um arquivo pode não ter sido completada.
mais comum, a questão a respeito
de se usar ou não essas barreiras – e Um sistema de arquivos com journal de dados soluciona isso gravan-
do os dados primeiro no journal. Se ocorrer uma queda, o sistema de
se o sistema de arquivos utilizado arquivos utiliza o journal para recuperar o estado em que os metada-
já está empregando-as – depende dos estavam de acordo com os dados nos arquivos, e então, ou as ope-
do sistema de arquivos, versão do rações de gravação individuais são completadas, ou não ocorrem.
kernel e dispositivo de armaze- Os sistemas Ext3, ReiserFS 3 e Reiser 4 suportam o journal de dados, dife-
rentemente do XFS e do JFS, que, na escrita deste artigo, ainda não o faziam.
namento.
Já passei por três problemas graves As operações de escrita são muito mais lentas se o journal de dados esti-
ver ativo, o que é compreensível, já que todas as operações de gravação
com sistemas de arquivos em uma terão que ocorrer duas vezes: uma no journal e outra no disco propria-
semana, em meu IBM ThinkPad mente dito. O Reiser 4 é o único sistema de arquivos que grava os dados
T23 com XFS e kernel 2.6.16 com em sua localização final e sobrepõe um wandering journal nos dados.
buffer de gravação ativado[1]. Os Os sistemas Ext3 e ReiserFS 3 oferecem uma solução temporá-
problemas pararam quando desa- ria para evitar o uso do journal de dados: o sistema grava os blo-
cos de dados de uma transação de metadados antes de registrar a
tivei o cache de gravação, muito transação no journal. Essa solução garante que novos blocos de da-
embora versões anteriores do ker- dos alocados em um arquivo tenham sempre dados válidos. Entre-
nel fossem estáveis com ele. Com tanto, operações parcialmente terminadas que sobrescrevam da-
dos em um arquivo sempre levarão a um estado inconsistente.
um kernel 2.6.17, ao final, a esta-
O journal de dados não garante a integridade dos dados de sua aplica-
bilidade com barreiras de escrita ção caso um processo de escrita termine de forma anormal. É por isso
voltou ao nível anterior. que muitos bancos de dados e programas servidores, como de email, por
O rápido desenvolvimento e a exemplo, possuem seus próprios mecanismos de assegurar a integrida-
de dos dados em caso de interrupções inesperadas. Esse tipo de jour-
integração das barreiras de escri- nal específico por aplicativo geralmente se baseia na gravação de dados
ta às versões do kernel, drivers de em uma ordem específica, e costuma depender de operações de escrita
sistema de arquivos e dispositivos atômicas. Outros programas, como as aplicações PIM do KDE (KAddress-
Book, Korganizer e Akkregator), criam backups dos arquivo críticos.
de armazenamento significam
que, se você pretende fazer trou-
bleshooting de um sistema de ar- dados, garante a consistência da uma entrada no diretório onde
quivos, é melhor começar com ao estrutura do sistema de arquivos esse arquivo será armazenado,
menos um conhecimento básico simplesmente monitorando as in- alocar espaço em disco, gravar
desse recurso. formações dos metadados, como os dados e lembrar-se de onde o
nomes de arquivos e diretórios, arquivo foi gravado. Se ocorrer
Como funciona tamanhos de arquivos, permissões
e localizações de armazenamento.
uma interrupção, o espaço de
armazenamento do arquivo pode
o journal O sistema de arquivos guarda essa ser ocupado, embora o sistema de
Um sistema de arquivos com jour- informação em blocos especiais arquivos talvez não tenha criado
nal oferece um seguro de vida aos para informações administrativas, uma entrada até o momento da
dados, pois registra cada alteração os inodes. interrupção.
realizada neles. Sistemas de ar- Caso o sistema de arquivos seja Um sistema de arquivos sem
quivos com journal dos dados (ou interrompido enquanto modifi- journal sabe apenas que não foi
journal completo – full journalling) ca os metadados, estes podem corretamente desligado, e mos-
garante a consistência do conteúdo tornar-se inconsistentes, pois a tra isso na próxima inicialização.
de arquivos (veja o quadro 1). Essa maioria das alterações envolve Um programa especial, como o
abordagem é bastante segura, po- múltiplas etapas, das quais tal- fsck, deve verificar se os metada-
rém, geralmente tem como custo vez apenas a metade tenha sido dos estão intactos, e se houver
de queda da desempenho. realizada. Por exemplo, quanto um sistema de arquivos muito
Uma técnica mais rápida, co- o sistema de arquivos cria um populoso, esse processo pode ser
nhecida como journal de meta- novo arquivo, ele precisa criar bem demorado.

70 http://www.linuxmagazine.com.br
Barreiras de escrita | SYSADMIN

Em contraste, sistemas de arqui-


vos com journal gravam no jour- Disco
nal as alterações necessárias para
uma operação completa, como a Kernel grava Buffer
criação de um arquivo, na forma
de transações ( figura 1). As tran-
sações são atômicas, isso é, ope-
rações contíguas com um ou dois Meio físico
estados possíveis: ou a transação Figura 2 Não existe controle sobre a ordem de gravação se existir um buffer de escrita.
ocorre por completo, ou simples-
mente não ocorre. Supondo que a las que ainda não tenham ocorrido. então aplica as mudanças nos meta-
transação tenha sido completada, Ele não rotula uma transação como dados, marcando-as como comple-
o sistema de arquivos atribui a ela completa até que todas as mudanças tadas. Se essas mudanças chegarem
um rótulo numa operação de gra- estejam gravadas no disco, e então o ao disco antes da entrada do jour-
vação invisível. espaço do journal é liberado. nal e o processo for interrompido,
Sistemas de arquivos com jour- Como o sistema com journal o sistema de arquivos será incapaz
nal possuem um de dois formatos apenas precisa verificar as entra- de localizar no journal as entradas
de armazenamento: journal físico das armazenadas no journal, não referentes a essas alterações, durante
ou lógico. Um journal físico, como há necessidade de checar toda a o processo de recuperação. Nesse
o usado pelo Ext3, preenche blo- estrutura de metadados, o que caso, o sistema obviamente adquire
cos completos com metadados. significa que o processo de recu- um estado inconsistente.
O Ext3 utiliza para isso o Journal peração não levará mais de alguns As transações marcadas como
Block Device [2] (JBD). O XFS segundos sob circunstâncias nor- completadas antes das mudanças
possui um journal lógico, assim mais. Se o sistema for novamente de metadados terem sido grava-
como o ReiserFS 3 e o JFS. Esse interrompido durante o processo das no disco podem causar pro-
journal guarda os metadados de de recuperação, ele simplesmen- blemas semelhantes. Portanto, o
uma forma independente dos ar- te continuará a partir da última sistema de arquivos precisa asse-
quivos, e mais compacta. transação incompleta quando tudo gurar que as alterações sempre
Ao montar novamente um sistema voltar ao normal. sejam gravadas em uma ordem
com journal após uma interrupção Essa técnica não garante que específica. Não há garantia de
inesperada, ele tentará avaliar as in- todas as alterações realizadas que isso ocorra em discos rígidos
formações do journal para recuperar nos arquivo vão sobreviver a um dotados de cache.
um estado consistente. Se alguma desligamento repentino; no en- Esse tipo de disco primeiro faz
transação ainda estiver marcada tanto, assegura que a estrutura um cache dos dados que precisa
como incompleta no journal, o do sistema de arquivos perma- gravar, em um buffer de memória
sistema a descartará. necerá consistente caso todas as temporário que se localiza entre
O sistema de arquivos processará as operações de escrita ocorram na a veloz memória RAM e os mo-
transações completadas passo a passo, ordem correta. rosos mecanismos de gravação
verificando quais mudanças foram O sistema de arquivos começa física do disco. O firmware então
gravadas no disco e gravando aque- gravando a transação no journal, e decide em que ordem irá realizar

Tabela 1: Opções de montagem


Funcionalidade Ext3 ReiserFS Reiser 4 XFS JFS
Barreira de escrita barrier=1 barrier=flush Padrão Padrão desde
o kernel 2.6.17
Sem barreira barrier=0 barrier=none - nobarrier -
Journal de dados ordered=journal ordered=journal Padrão (wan- - -
dering logs)
Dados antes dos metadados ordered=data ordered=data - - -
Modo Writeback orered=writeback ordered=writeback - Padrão Padrão

Linux Magazine #31 | Junho de 2007 71


SYSADMIN | Barreiras de escrita

a gravação do conteúdo do buffer Aplicações práticas ta, contanto que o controlador


de escrita ( figura 2 ). Para usar barreiras de escrita, e todos os dispositivos suportem
Uma técnica para garantir que primeiro é necessário um kernel o esvaziamento de cache (cache
seja obedecida uma ordem de gra- que as suporte. Os diferentes flushing). No entanto, nem todos
vação específica envolve o sistema sistemas de arquivos incluíram os tipos de RAID são compatíveis
de arquivos informar ao driver esse recurso em versões distintas com o recurso.
para esvaziar o cache antes e de- do kernel. O suporte a barreiras de es-
pois de uma transação de escrita. Para o XFS, é necessária a versão crita está evoluindo muito ra-
A segunda técnica consiste em 2.6.17.7 do kernel, ou posterior. Já pidamente. Em caso de dúvida
fazer o sistema de arquivos utili- no ReiserFS 3, as barreiras estão quanto à compatibilidade de
zar a funcionalidade de barreiras presentes desde o kernel 2.6.9, um sistema com as barreiras,
de escrita do kernel para ordenar com muitas mudanças tendo sido deve-se usar uma das opções de
as operações de escrita em uma efetuadas no 2.6.16. Independente montagem mostradas na tabela
ordem específica [3]. dos números, o que decide se as 1 até ser possível determinar o
Uma requisição de barreira barreiras podem ser usadas com a comportamento padrão. Con-
faz a camada de blocos do Li- sua combinação de componentes ferindo os registros do sistema,
nux manter a seguinte ordem nas são os testes práticos. é possível identificar sucessos e
operações de gravação: todas as O RAID por software também fracassos no suporte ao recurso.
requisições de escrita anteriores funciona com barreiras de escri- O XFS, por exemplo, exibe nos
à requisição de barreira são pro-
cessadas normalmente; em segui- Quadro 2: Classes de dispositivos
da, vem a requisição de barreira; A funcionalidade de write barriers na camada de blocos garante uma
depois disso, todas as requisições ordem específica no processamento de requisições de I/O. Requi-
de gravação voltam a ser proces- sições de barreira, portanto, necessitam de duas propriedades:
sadas normalmente. Ordem de requisição
Essa abordagem possui duas São possíveis as seguintes variantes:
vantagens. Em primeiro lugar, ➧ Dispositivos com suporte a múltiplas requisições enfileiradas e a requisi-
ções seqüenciais (dispositivos TCQ – Tagged Command Queueing) – tais
não há necessidade de um esva- como cotroladoras e dispositivos SCSI modernos. A camada de dados
ziamento imediato do cache de passa a requisição de barreira para o dispositivo como uma requisição
gravação, pois ele pode ocorrer seqüencial. Os drivers de baixo nível, controladoras e dispositivos são
responsáveis por manter a seqüência correta. Essa opção ainda não
logo antes da requisição de bar- está ativada no Linux, pois a função de dispatch do subsistema SCSI dos
reira. Além disso, o driver pode kernels até 2.6.17 não passa requisições atomicamente para a contro-
deixar a ordem de requisições ladora SCSI, o que significa que a ordem de requisições pode mudar.
parcial ou inteiramente nas mãos ➧ Dispositivos com suporte a múltiplas requisições enfi-
dos inteligentes dispositivos de leiradas, mas não às seqüenciais – típico de controlado-
ras e discos SCSI mais antigos, assim como de unidades
armazenamento. SATA: a camada de blocos assegura a ordem correta.
A camada de blocos do kernel
➧ Dispositivos que lidam seqüencialmente com requisi-
faz distinção entre dispositivos, ções – dispositivos SCSI muito antigos e discos IDE: nova-
com base em dois critérios: a mente, a camada de blocos garante a ordem correta.
ordem de requisição e o tipo de Cache de escrita
buffer de escrita ( quadro 2). Por Há quatro modalidades de cache de escrita:
exemplo, unidades do tipo Forced ➧ Sem cache: é suficiente para organizar as requisições na ordem correta.
Unit Access não necessitam de um ➧ Cache writeback sem esvaziamento: é impossível garantir a ordem cor-
esvaziamento do cache após a re- reta de escrita, e não há suporte às barreiras de escrita. É necessário de-
quisição de barreira. sativar o cache de gravação, nos discos desse tipo, para oferecer supor-
te estável a interrupções súbitas em sistemas de arquivos com journal.
Ativar as barreiras de escrita em
➧ Cache de escrita com esvaziamento, sem Forced Unit Access (FUA):
sistemas com journal pode aumen- o subsistema de blocos aciona um esvaziamento de cache antes
tar tanto a estabilidade quanto o e após a requisição.
desempenho – contanto que sua ➧ Cache de escrita com esvaziamento e FUA: a camada de blocos acio-
versão do kernel, seu disco e seu na o esvaziamento antes da requisição de barreira, a qual passa o
sistema de arquivos ofereçam o esvaziamento como requisição FUA. Essa requisição informa o disco
para gravá-la imediatamente e não usar o cache de escrita para isso.
suporte a esse recurso.

72 http://www.linuxmagazine.com.br
www.baixebr.org Barreiras de escrita | SYSADMIN

logs três possíveis mensagens journal só são capazes de conservar Conclusão


quando ocorre algum erro [4]. Já sua integridade, após interrupções Ativar as barreiras de escrita resol-
o JBD, usado pelo Ext3, dá uma inesperadas, caso o cache de escrita veu os problemas de instabilidade
mensagem clara e direta. esteja desligado, ou se o sistema no meu caso. A desativação do ca-
O comando hdparm -I /dev/hda de arquivos gravar transações de che de gravação também foi útil,
pode mostrar se o cache de grava- forma síncrona. mas, ao menos em teoria, as barrei-
ção está ativado. hdparm -W0 /dev/hda Dispositivos com buffers de ras oferecem melhor desempenho
desativa esse cache, e hdparm -W1 / gravação que não suportem o – principalmente em operações de
dev/hda ativa-o. esvaziamento do cache são, por gravação complexas. ■
projeto, incapazes de suportar
uma ordem específica para as
Suporte do sistema requisições de escrit a. Nesse Mais Informações
Em alguns sistemas, é possível caso, a única forma de os usuá- [1] Kernel bug #6380:
testar se as barreiras de escrita são rios obterem segurança para seus htttp://bugzilla.kernel.
suportadas montando-se o sistema dados é desativando o buffer de org/show_bug.cgi?id=6380
de arquivos como um dispositivo gravação. [2] Journalling Block Device:
de loop. Como esses dispositivos Controladores e dispositivos com http://kerneltrap.org/
node/6741
não suportam as barreiras, a pre- buffers de gravação persistentes
sença de uma mensagem de erro (NVRAM) não costumam suportar [3] Documentação interna
sobre barreiras no kernel
ao se tentar montar um sistema barreiras, pois conseguem gravar 2.6.17.1: block/barriers.txt
com barreiras como loop indicam dados no disco até mesmo após
[4] FAQ do XFS: Como resolver
que as barreiras estão sendo usadas uma falta de energia. Na realida- o problema do cache de
por padrão. de, o suporte ao buffer de escrita gravação?:
Sem a funcionalidade das bar- às vezes pode interferir sobre o http://oss.sgi.com/projects/
xfs/faq.html#wcache_fix
reiras, os sistemas de arquivos com dispositivo NVRAM.

�����������
��������� ����������� ��� ����������� ������
���
���� ��� ��� ������� �� ��� ��� ��������� ��� ����
��� ���������� �� ���� ��� ���������
������ ������ �������
�� ������ �� ����
�� ������ �� ����
�� ������� �� ������ �����
�� �����
�� ������ �� ���� �� ��
�� �����������
�� ������� ��� ������
� ���� �� ������ �����

�������� ��� ��������� ����������� �� ������������ �������


��������������������������

������������ ������
������
����������� ������� ������
Plugins

Plugando no Nagios
PROGRAMAÇÃO

Veja como utilizar a versátil linguagem Perl


para criar plugins personalizados para o
daemon de monitoramento de redes Nagios.
por Michael Schilli

Levi Szekeres - www.scx.hu

M
uitos administradores de Na maioria dos casos, a insta- Ao ser ativado por uma requisição
redes já experimentaram lação de um agente do Nagios no HTTP, o script chama o comando
aquela situação em que o servidor a ser monitorado requer iostat do Linux, enviando parte
colega não técnico na sala ao lado acesso a sua shell. Entretanto, se da saída gerada de volta para o
de repente grita: “Minha Internet desejarmos monitorar a atividade cliente, que no caso é o plugin do
caiu!”. Evidentemente, uma possível de um servidor web contratado que Nagios. O plugin examina essa sa-
solução para isso seria verificar se o não permite acesso por SSH, ainda ída e utiliza o código de saída para
roteador realmente está se comuni- há uma saída. informar ao Nagios se há ou não
cando com o provedor de acesso, e um problema.
se os servidores DNS estão respon- Estatísticas de I/O O script CGI iostat.cgi utiliza a
dendo. Porém, usar o Nagios para O exemplo 1 mostra o script agente função tap para chamar o comando
monitorar esses fatores (figura 1)é iostat.cgi, que pode ser inserido iostat com os valores 1 e 2 (linha 8).
muito mais racional e eficiente. no diretório CGI do servidor web. Devido aos valores de intervalo (1) e

Exemplo 1: iostat.cgi
01 #!/usr/bin/perl -w
02 use strict;
03 use Sysadm::Install qw(:all);
04 use CGI qw(:all);
05 use Regexp::Common;
06
07 my ($saida, $erro, $rc) =
08 tap “iostat”, 1, 2;
09
10 $saida =~
11 /avg-cpu.*?avg-cpu/gs;
12
13 print header();
14
15 for my $chave (
16 qw(user nice sys
17 iowait idle)
18 ) {
19 if ($saida =~
20 /\G.*?($RE{num}{real})/gs) {
21 printf “%s %s “, $saida, $1; Figura 1 A página de visualização geral do Nagios mostra que os testes locais foram
22 } completados com sucesso, mas o roteador e tudo além dele encontram-se
23 } incomunicáveis.

74 http://www.linuxmagazine.com.br
Plugins de Nagios | PROGRAMAÇÃO

Exemplo 2: check_iostat
01 #!/usr/bin/perl
02 use strict;
03 use LWP::Simple;
04 use Log::Log4perl qw(:easy);
05 use Nagios::Clientstatus;
06
07 my $versao = “0.01”;
08 my $cliente =
09 Nagios::Clientstatus->new(
10 help_subref => sub {
11 print “Uso: $0 “,
12 “url\n”;
13 },
14 version => $versao,
15 mandatory_args =>
16 [“url”],
17 );
18
19 my $url =
Figura 2 O iostat mostra quanto tempo a CPU esteve ociosa, e com que freqüência foi 20 $cliente->get_given_arg(
necessário esperar o disco rígido. 21 “url”);
do contador (2), ele mede o desempe- Carga máxima 22
23 my $dados = get $url;
nho da CPU e de I/O do disco rígido No lado do Nagios, o plugin do 24
duas vezes a cada segundo, criando exemplo 2 usa o LWP::Simple para 25 if (! $dados) {
26 print
a saída mostrada na figura 3. chamar o script CGI do servidor 27 “Falha ao obter $url\n”;
O primeiro teste retorna o valor mencionado acima, captura a linha 28 exit $cliente->exitvalue(
médio desde a última reinicialização de saída e executa um split para 29 “unknown”);
da máquina, enquanto o segundo separá-la em campos, que então 30 }
31
é mais interessante para o Nagios, são guardados na hash valores. Se 32 my %valores = split ‘ ‘,
pois coleta dados de desempenho a disponibilidade da CPU estiver 33 $dados;
por um segundo, enquanto o co- abaixo de 50, o plugin retorna um 34
35 my $status =
mando está em execução. A coluna estado crítico, enquanto valores até 36 $valores{idle} < 50
%ocioso mostra por quanto tempo 80% retornam apenas um alerta. O 37 ? “critical”
a CPU permaneceu disponível, e mesmo princípio pode ser aplicado 38 : $valores{idle} < 70
%esperaIO mede quanto tempo a ao valor de iowait, mas os valores 39 ? “warning”
40 : $valores{iowait} > 20
CPU precisou esperar pelo disco rí- limite são 10 e 20 porcento. 41 ? “critical”
gido. Do ponto de vista do usuário, O módulo do CPAN Nagios:: 42 : $valores{iowait} > 10
altos valores em %ocioso e baixos Clientstatus elimina parte da car- 43 ? “warning”
valores em %esperaIO são o melhor ga sobre o plugin, verificando se 44 : “ok”;
45
cenário possível. ele recebeu todos os parâmetros 46 print “IOSTAT “, uc($status),
O script do exemplo 1 lê a saída do necessários. O método exitvalue() 47 “ - $dados\n”;
comando iostat e descarta o primei- também entende cadeias de carac- 48
49 exit $cliente->exitvalue(
ro conjunto de valores. Para isso, ele teres, como warning, e não apenas 50 $status);
usa a expressão regular $RE{num}{real} os valores numéricos que o Nagios
do repositório Regexp::Common para exige. Se o plugin for executado na
examinar os valores numéricos. Após linha de comando, com check_iostat na saída padrão. Note que o Nagios::
o cabeçalho HTTP obrigatório, ele -url=http://servidor/cgi/iostat.cgi, Clientstatus exige a versão 2.35 ou
retorna uma cadeia como user 2.99 ele retorna as seguintes linhas: mais recente do Getopt::Long.
nice 0.00 sys 0.00 iowait 0.00 idle
96.52. O chamado termo de largu- IOSTAT OK - user 2.99 nice 0.00
ra zero, \G (linha 20), evita que o
➥ sys 0.00
iowait 0.00 idle 96.52 Integração do plugin
mecanismo de regex volte ao início Para adicionar o novo plugin a uma ins-
do texto a cada vez, e ordena que O Nagios chama o plugin dessa talação pré-existente do Nagios, o usuá-
ele continue a busca após a última mesma forma, interpreta o valor de rio administrador precisa copiar o script
coincidência. saída e depois exibe a saída de texto check_iostat para o diretório /usr/local/

Linux Magazine #31 | Junho de 2007 75


PROGRAMAÇÃO | Plugins de Nagios

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

nagios/libexec e tornar o script execu- Servidor solitário O parâmetro check_command da de-


tável. A figura 3 acrescenta um modelo Se o servidor Nagios for separado finição de serviços especifica como
intitulado ez-service à configuração do resto do mundo devido a uma chamar o novo plugin check_iostat.
do Nagios; ele facilita a adição futura falha de rede, não será possível ele Entretanto, a chamada não é feita
de outros serviços. Nas configurações enviar alertas por email. Nesse caso, diretamente na definição do serviço;
do Nagios, é comum definir modelos, o administrador recebe ao menos um em vez disso, é usado um comando
facilmente identificáveis por suas entra- email de aviso quando o problema configurado antes em define command
das register 0. As definições de serviços for resolvido. O sistema pode solu- para especificar a linha de comando
podem ser usadas depois para acrescentar cionar alguns problemas sem inter- a ser executada. A linha check_com-
entradas especiais aos modelos. venção humana. mand pode usar argumentos opcionais,
A configuração define service na figu- Com o Nagios 2.0, um serviço sem- passados em seguida para a defini-
ra 3 define o novo serviço iostat. Ela é pre é mapeado para uma máquina ção do comando. Separada por um
feita sobre o modelo do ez-service que cuja disponibilidade é testada inde- ponto de exclamação, a URL da li-
definimos antes e aceita vários parâme- pendentemente. A especificação da nha check_command é passada para a
tros para rodadas de teste, notificação máquina requer entradas no arquivo definição de comando do iostat e
por email e outros. Essas configurações de configuração. A linha host_name = substitui o termo $ARG1$.
de modelos depois são herdadas pela maquinax na configuração de exem- O valor 24x7 para check_period e
definição do serviço e podem ser so- plo define o nome da máquina a ser notification_period requer configura-
brescritas caso necessário. exibido na página do Nagios. ções para definir o email e a disponibi-

76 http://www.linuxmagazine.com.br
www.baixebr.org Plugins de Nagios | PROGRAMAÇÃO

Figura 4 Saída e valores de retorno do plugin de temperatura com vários


parâmetros de linha de comando.

sius. O limite crítico é 35 de forma confiável pelo Nagios


graus. A figura 4 mostra os garante uma boa noite de sono,
vários valores de saída e a a menos que seja disparado um
própria saída do plugin para alerta, evidentemente. No entanto,
diferentes configurações de ser acordado pelo Nagios apitando
parâmetros. em seu celular ou pager definiti-
De forma semelhante ao vamente é melhor do que ser ar-
plugin iostat que fizemos rancado da cama por um usuário
antes, a linha de serviço che- irado no meio da noite. ■
Figura 3 Configuração do Nagios para o novo ck_command verifica_tempera
plugin iostat. tura!25!30!Interior passa os
parâmetros 25, 30 e Interior Mais Informações
lidade do administrador. Pode-se usar para o script. A entrada de command [1] Exemplos de arquivo de
um arquivo de exemplo com nome de correspondente fica assim: configuração: http://www.
eznagios.cfg em [1] e acrescentar ao linuxmagazine.com.br/
define command { arquivos/LM31/ezconfig.cfg
arquivo de configuração nagios.cfg a
command_name verifica_
linha cfg_file=/usr/local/nagios/etc/ ➥temperatura command_line $USER1$/
eznagios.cfg. Ao mesmo tempo, o ez- ➥verifica_temperatura -warn=$ARG1$
nagios.cfg define os testes do Nagios ➥-crit=$ARG2$ -dsname=$ARG3$
que informarão quanto espaço em disco }
está ocupado, e se seu roteador e DNS
do provedor estão funcionando. A parte central da colorida tabela
da figura 1 mostra que os dois valores
Quente? de temperatura estão bem normais:
O plugin verifica_temperatura é 18,8 graus (internos) e 15,9 graus (ex-
mais um bom exemplo de con- ternos). Pelo menos meu apartamento
tribuição caseira para o Nagios. não está em chamas!
O script ( exemplo 3) contacta o
banco de dados round-robin para E boa noite
verificar a temperatura, alertando Depois de todas essas alterações aos
o servidor caso as temperaturas arquivos de configuração, pode ser
internas e externas mais recentes uma boa idéia verificar novamente
excederem valores específicos. No se não há erros de configuração,
estilo típico dos plugins de Nagios, antes de tentar reiniciar o daemon.
ele aceita parâmetros de linha de Para isso, execute:
comando para valores de limites.
Chamar verifica_temperatura - #cd /usr/local/nagios
#bin/nagios -v etc/nagios.cfg
warn=30 -crit=35 -dsname=Interior
aciona um alerta se a temperatura Uma estratégia de monitora-
interior ultrapassar 30 graus Cel- mento bem planejada e realizada

Linux Magazine #31 | Junho de 2007 77


Linux.local
O maior diretório de empresas que oferecem produtos, soluções e
SERVIÇOS

serviços em Linux e Software Livre, organizado por Estado. Sentiu


falta do nome de sua empresa aqui? Entre em contato com a gente: Fornecedor de Hardware = 1
11 2161-5400 ou anuncios@linuxmagazine.com.br Redes e Telefonia / PBX = 2
Integrador de Soluções = 3
Literatura / Editora = 4
Fornecedor de Software = 5
Consultoria / Treinamento = 6

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6


Ceará
F13 Tecnologia Fortaleza Rua Coronel Solon, 480 – Bairro de Fátima 85 3252-3836 www.f13.com.br ✔ ✔ ✔ ✔
Fortaleza - CE - CEP 60040-270
Espírito Santo
Linux Shopp Vila Velha Rua São Simão (Correspondência), 18 – CEP: 29113-120 27 3082-0932 www.linuxshopp.com.br ✔ ✔ ✔ ✔
Megawork Consul- Vitória Rua Chapot Presvot, 389 – Praia do Can- 27 3315-2370 www.megawork.com.br ✔ ✔ ✔
toria e Sistemas to – CEP: 29055-410 sl 201, 202
Spirit Linux Vitória Rua Marins Alvarino, 150 – CEP: 29047-660 27 3227-5543 www.spiritlinux.com.br ✔ ✔ ✔
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 República da Argentina, 520 – Sion – CEP: 30315-490 31 3281-5522 www.microhard.com.br ✔ ✔ ✔ ✔ ✔
TurboSite Belo Horizonte Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141 0800 702-9004 www.turbosite.com.br ✔ ✔ ✔
Paraná
iSolve Curitiba Av. Cândido 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 ✔ ✔ ✔ ✔
Rio de Janeiro
NSI Training Rio de Janeiro Rua Araújo Porto Alegre, 71, 4ºandar 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 Av. Alberto Torres, 303, 1ºandar - Centro – CEP 28035-581 22 2725-1041 www.unipi.com.br ✔ ✔ ✔ ✔
Goytacazes
Rio Grande do Sul
Solis Lajeado Rua Comandante Wagner, 12 – São Cris- 51 3714-6653 www.solis.coop.br ✔ ✔ ✔ ✔ ✔
tóvão – CEP: 95900-000
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 Comer- 51 3018-1200 www.datarecover.com.br ✔ ✔
cial Atrium Center – Bela Vista – CEP: 90480-003
LM2 Consulting Porto Alegre Rua Germano Petersen Junior, 101-Sl 202 – Hi- 51 3018-1007 www.lm2.com.br ✔ ✔ ✔
gienópolis – CEP: 90540-140
Lnx-IT Informação e Tecnologia Porto Alegre Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 51 3331-1446 www.lnx-it.inf.br ✔ ✔ ✔ ✔
Plugin Porto Alegre Av. Júlio 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 ✔ ✔
São Paulo
Ws Host Arthur Nogueira Rua Jerere, 36 – Vista Alegre – CEP: 13280-000 19 3846-1137 www.wshost.com.br ✔ ✔ ✔
DigiVoice Barueri Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 11 4195-2557 www.digivoice.com.br ✔ ✔ ✔ ✔ ✔
Dextra Sistemas Campinas Rua Antônio Paioli, 320 – Pq. das Uni- 19 3256-6722 www.dextra.com.br ✔ ✔ ✔
versidades – CEP: 13086-045
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 Carapicuiba Rua Edeia, 500 - 06350-080 11 3213-6388 www.pc2consultoria.com ✔ ✔
Software Livre
Savant Tecnologia Diadema Av. Senador Vitorino Freire, 465 – CEP: 09910-550 11 5034-4199 www.savant.com.br ✔ ✔ ✔ ✔
Epopéia Informática Marília Rua Goiás, 392 – Bairro Cascata – CEP 17509-140 14 3413-1137 www.epopeia.com.br ✔
Redentor Osasco Rua Costante Piovan, 150 – Jd. Três Mon- 11 2106-9392 www.redentor.ind.br ✔
tanhas – CEP: 06263-270
Go-Global Santana de Parnaíba Av. Yojiro Takaoca, 4384, Ed. Shopping Ser- 11 2173-4211 www.go-global.com.br ✔ ✔ ✔
vice, Cj. 1013 – CEP: 06541-038
AW2NET Santo André Rua Edson Soares, 59 – CEP: 09760-350 11 4990-0065 www.aw2net.com.br ✔ ✔ ✔
Async Open Source São Carlos Rua Orlando Damiano, 2212 – CEP 13560-450 16 3376-0125 www.async.com.br ✔ ✔ ✔
Delix Internet São José do Rua Voluntário de São Paulo, 3066 9º 11 4062-9889 www.delixhosting.com.br ✔ ✔ ✔
Rio Preto – Centro – CEP: 15015-909

78 http://www.linuxmagazine.com.br
Linux.local | SERVIÇOS

Empresa Cidade Endereço Telefone Web 1 2 3 4 5 6


São Paulo (continuação)
4Linux São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031 11 2125-4747 www.4linux.com.br ✔ ✔
A Casa do Linux São Paulo Al. Jaú, 490 – Jd. Paulista – CEP 01420-000 11 3549-5151 www.acasadolinux.com.br ✔ ✔ ✔
Accenture do Brasil Ltda. São Paulo Rua Alexandre Dumas, 2051 – Cháca- 11 5188-3000 www.accenture.com.br ✔ ✔ ✔
ra Santo Antônio – CEP: 04717-004
ACR Informática São Paulo Rua Lincoln de Albuquerque, 65 –Perdizes – CEP: 05004-010 11 3873-1515 www.acrinformatica.com.br ✔ ✔
Agit Informática São Paulo Rua Major Quedinho, 111, 5º andar, Cj. 11 3255-4945 www.agit.com.br ✔ ✔ ✔
508 – Centro – CEP: 01050-030
Altbit - Informática Co- São Paulo Av. Francisco Matarazzo, 229, Cj. 57 11 3879-9390 www.altbit.com.br ✔ ✔ ✔ ✔
mércio e Serviços LTDA. – Água Branca – CEP 05001-000
AS2M -WPC Consultoria São Paulo Av. Tiradentes, 615, Ed. Santiago, 2º an- 11 3228-3709 www.wpc.com.br ✔ ✔ ✔
dar Bom Retiro – CEP: 01101-010
Big Host São Paulo Rua Dr. Miguel Couto, 58 – Centro – CEP: 01008-010 11 3033-4000 www.bighost.com.br ✔ ✔ ✔
Blanes São Paulo Rua André Ampére, 153 – 9º andar – Conj. 91 11 5506-9677 www.blanes.com.br ✔ ✔ ✔ ✔ ✔
CEP: 04562-907 (próx. Av. L. C. Berrini)
Commlogik do Brasil Ltda. São Paulo Av. das Nações Unidas, 13.797, Bloco II, 6º an- 11 5503-1011 www.commlogik.com.br ✔ ✔ ✔ ✔ ✔
dar – Morumbi – CEP: 04794-000
Computer Consulting Pro- São Paulo Rua Vergueiro, 6455, Cj. 06 – Alto do Ipiranga – CEP: 04273-100 11 5062-3927 www.computerconsulting.com.br ✔ ✔ ✔ ✔
jeto e Consultoria Ltda.
Consist Consultoria, Siste- São Paulo Av. das Nações Unidas, 20.727 – CEP: 04795-100 11 5693-7210 www.consist.com.br ✔ ✔ ✔ ✔
mas e Representações Ltda.
Domínio Tecnologia São Paulo Rua das Carnaubeiras, 98 – Metrô Con- 11 5017-0040 www.dominiotecnologia.com.br ✔ ✔
ceição – CEP: 04343-080
EDS do Brasil São Paulo Av. Pres. Juscelino Kubistcheck, 1830 Torre 4 - 5º andar 11 3707-4100 www.eds.com ✔ ✔ ✔
Ética Tecnologia São Paulo Rua Nova York, 945 – Brooklin – CEP:04560-002 11 5093-3025 www.etica.net ✔ ✔ ✔ ✔
Getronics ICT Solu- São Paulo Rua Verbo Divino, 1207 – CEP: 04719-002 11 5187-2700 www.getronics.com/br ✔ ✔ ✔
tions and Services
Hewlett-Packard Brasil Ltda. São Paulo Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 11 5502-5000 www.hp.com.br ✔ ✔ ✔ ✔ ✔
IBM Brasil Ltda. São Paulo Rua Tutóia, 1157 – CEP: 04007-900 0800-7074 837 www.br.ibm.com ✔ ✔ ✔ ✔
iFractal São Paulo Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020 11 5078-6618 www.ifractal.com.br ✔ ✔ ✔
Integral São Paulo Rua Dr. Gentil Leite Martins, 295, 2º an- 11 5545-2600 www.integral.com.br ✔ ✔
dar Jd. Prudência – CEP: 04648-001
Itautec S.A. São Paulo Rua Santa Catarina, 1 – Tatuapé – CEP: 03086-025 11 6097-3000 www.itautec.com.br ✔ ✔ ✔ ✔ ✔
Linux Komputer Informática São Paulo Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001 11 5034-4191 www.komputer.com.br ✔ ✔ ✔ ✔
Linux Mall São Paulo Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001 11 5087-9441 www.linuxmall.com.br ✔ ✔ ✔
Livraria Tempo Real São Paulo Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 11 3266-2988 www.temporeal.com.br ✔ ✔ ✔
Locasite Internet Service São Paulo Av. Brigadeiro Luiz Antonio, 2482, 3º an- 11 2121-4555 www.locasite.com.br ✔ ✔ ✔
dar – Centro – CEP: 01402-000
Microsiga São Paulo Av. Braz Leme, 1631 – CEP: 02511-000 11 3981-7200 www.microsiga.com.br ✔ ✔ ✔
Novatec Editora Ltda. São Paulo Rua Luis Antonio dos Santos, 110 – Santana – 02460-000 11 6979-0071 www.novateceditora.com.br ✔
Novell América Latina São Paulo Rua Funchal, 418 – Vila Olímpia 11 3345-3900 www.novell.com/brasil ✔ ✔ ✔
Oracle do Brasil Sistemas Ltda. São Paulo Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º 11 5189-3000 www.oracle.com.br ✔ ✔
andar – CEP: 04726-170
Proelbra Tecnolo- São Paulo Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 11 5052- 8044 www.proelbra.com.br ✔ ✔ ✔
gia Eletrônica Ltda.
Provider São Paulo Av. Cardoso de Melo, 1450, 6º an- 11 2165-6500 www.e-provider.com.br ✔ ✔ ✔
dar – Vila Olímpia – CEP: 04548-005
Red Hat Brasil São Paulo Av. Angélica, 2503, 8º andar 11 3124-6000 www.redhat.com.br ✔ ✔
Consolação – CEP: 01227-200
Samurai Projetos Especiais São Paulo Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 11 5097-3014 www.samurai.com.br ✔ ✔ ✔
SAP Brasil São Paulo Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 11 5503-2400 www.sap.com.br ✔ ✔ ✔
Simples Consultoria São Paulo Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 11 3898-2121 www.simplesconsultoria.com.br ✔ ✔ ✔
Smart Solutions São Paulo Av. Jabaquara, 2940 cj 56 e 57 11 5052-5958 www.smart-tec.com.br ✔ ✔ ✔ ✔
Snap IT São Paulo Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 11 3731-8008 www.snapit.com.br ✔ ✔ ✔
Stefanini IT Solutions São Paulo Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919 11 3039-2000 www.stefanini.com.br ✔ ✔ ✔
Sun Microsystems São Paulo Rua Alexandre Dumas, 2016 – CEP: 04717-004 11 5187-2100 www.sun.com.br ✔ ✔ ✔ ✔
Sybase Brasil São Paulo Av. Juscelino Kubitschek, 510, 9º an- 11 3046-7388 www.sybase.com.br ✔ ✔
dar Itaim Bibi – CEP: 04543-000
The Source São Paulo Rua Marquês de Abrantes, 203 – Chá- 11 6698-5090 www.thesource.com.br ✔ ✔ ✔
cara Tatuapé – CEP: 03060-020
Unisys Brasil Ltda. São Paulo R. Alexandre Dumas 1658 – 6º, 7º e 8º anda- 11 3305-7000 www.unisys.com.br ✔ ✔ ✔ ✔
res – Chácara Santo Antônio – CEP: 04717-004
Utah São Paulo Av. Paulista, 925, 13º andar – Cerquei- 11 3145-5888 www.utah.com.br ✔ ✔ ✔
ra César – CEP: 01311-916
Visuelles São Paulo Rua Eng. Domicio Diele Pacheco e Sil- 11 5614-1010 www.visuelles.com.br ✔ ✔ ✔
va, 585 – Interlagos – CEP 04455-310
Webnow São Paulo Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Cen- 11 5503-6510 www.webnow.com.br ✔ ✔ ✔
tenário – Chácara Itaim – CEP: 04578-000
WRL Informática Ltda. São Paulo Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001 11 3362-1334 www.wrl.com.br ✔ ✔ ✔
Systech Taquaritinga Rua São José, 1126 – Centro - Cai- 16 3252-7308 www.systech-ltd.com.br ✔ ✔ ✔
xa Postal 71 – CEP: 15.900-000

Linux Magazine #31 | Junho de 2007 79


www.baixebr.org
Calendário de eventos
Evento Data Local Website
SERVIÇOS

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


6 a 9 de junho Fortaleza, CE www.sesol.ufc.br
versidade Federal do Ceará

OSS 2007 11 a 14 de junho Limerick, Irlanda oss2007.dti.unimi.it

Linux Day 23 de junho São Paulo, SP www.fiti.com.br

Latinoware 2007 13 e 14 de novembro Foz do Iguaçu, PR www.latinoware.org

Índice de anunciantes
Empresa Pág.
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

80 http://www.linuxmagazine.com.br
�������������������������������
����������������

������ ����������������������� ����������������������

������ �������������������� �����������������������

�������������� �������������������� ����������������������

�������� ����������������������� �����������������������

���������� ������������������� �����������������������

������� ������������������������ ������������������������

�������� ������������������������������ ���������������������

����������������������������������������������������������������� ���������������������������
Na Linux Magazine #32…
PREVIEW

DESTAQUE ANÁLISE

Groupware Amigo do pingüim


Um groupware é um sistema baseado em computador que Software profissional dedicado a análises avançadas,
auxilia grupos de pessoas envolvidas em tarefas ou objetivos tanto lineares quanto não-lineares, de processos e
comuns, e que provê interface para um ambiente compar- projetos de Engenharia, o Abaqus é famoso em todo
tilhado. O principal mote para a adoção do groupware nas mundo como sinônimo de ferramenta técnica de
empresas é a sua capacidade de tornar o trabalho em grupo alta produtividade. O que pouca gente sabe, todavia,
mais eficiente, diminuir o tempo gasto nas atividades con- é que o Abaqus é compatível com sistemas Linux
juntas e diminuir o custo de realização das atividades que de longa data... e poderíamos até dizer que eles são
devam ter mais de um executante. O Linux e o Código Aber- amigos e trabalham juntos, colaborando em proje-
to marcam pontos nesse mercado competitivo, mostrando tos como o desenvolvimento de modelos de carros
que os sistemas livres sabem entrar no ritmo da sua empresa de luxo para a Audi alemã!. ■
quando a palavra-chave é colaborar, inclusive interagindo
com soluções proprietárias ou transferindo informações, de
maneira segura, via Internet. ■
TUTORIAL

Wireshark
O Wireshark (antigo Ethereal) é o capturador
gráfico de pacotes mais usado em sistemas Li-
nux. Porém, o roubo de informações não é sua
única aplicação. Mostramos múltiplas utili-
dades do Wireshark em situações comuns em
ambientes de rede corporativos. ■

Na EasyLinux #09…
DESTAQUE LABORATÓRIO

Games no Linux Tudo sob


Nem só de trabalho duro vive o Li- controle
nux. O sistema do Pingüim também Você quer saber qual
surpreende quando o tema é games o uso que seu com-
e faz rodar alguns dos jogos mais putador faz da CPU,
emocionantes da atualidade, feitos memória e outros re-
nos moldes dos sistemas proprietários. cursos, além de verifi-
Como isso é possível? Através do Ce- car o recebimento de
dega – software pago – ou do virtuoso emails? Delegue essa
Wine. Com algumas configurações e tarefa ao GKrellM,
entradas básicas na linha de comando, um programa en-
você vai aprender a instalar jogos como xuto, que oferece
o famoso City of Heroes, dentre outros. plugins adicionais,
Não perca a série de artigos completa, especialista em mo-
com passo-a-passo, screenshots e solu- nitorar o sistema na
ções, especialmente preparada para a forma de eficientes
sua diversão! ■ gráficos. ■

82 http://www.linuxmagazine.com.br
06/2007
1º LINUX PARK 2007 p.22 VIRTUALIZAÇÃO MUDARÁ TI p.20 CEZAR TAURION p.30
O mercado brasileiro Gartner prevê crescentes Código Aberto na
de Linux e SL mudanças no futuro idade da razão

#31 06/07

Linux Magazine

Junho 2007
R$ 13,90

Assinante
€ 7,50

00031 de

ven d a p ro i b i d a
exemplar
PENSE

9 771806 942009
PARALELO

# 31
# 31
A REVISTA DO PROFISSIONAL DE TI

Novos Compiladores Intel® C++ e Fortran 10.0 Professional Editions

MONITORAMENTO DE REDES
MONITORAMENTO
Agora oferecem a melhor alternativa para criar aplicações multi-thread nos
ambientes Windows*, Linux* ou Mac OS* X. Somente os compiladores Professional
Edition da Intel oferecem recursos de otimização avançado de código e potenciali-
dades multi-threading que incluem vetorização, auto-paralelização, OpenMP*,

DE REDES
prefetching de dados, desmembramento de loops e bibliotecas altamente
otimizadas de rotinas multi-threading prontas, processamento matemático

NAGIOS
p.31
e de multimídia.
CONHEÇA EM PROFUNDIDADE O NAGIOS, A MAIS IMPORTANTE
O Compilador Intel 10.0 Professional Edition possui bibliotecas de software

GROUNDWORK
FERRAMENTA DE CÓDIGO ABERTO PARA MONITORAMENTO
que permitem a você programar no ambiente paralelo como um especialista “Dentro de uma déca-
desde o primeiro dia. Estas bibliotecas são constantemente atualizadas para uso da, um programador
» Instale e configure o Nagios e seus plugins p.32
automáticos de funcionalidades dos novos processadores. que não pensar » Interface profissional com o GroundWork p.40
“paralelo”, não será

LOOKING GLASS
O compilador e bibliotecas são pré-validados para trabalharem juntos: » Plugins personalizados usando Perl p.74
• Compiladores Intel® C++ e Fortran automaticamente paralelizam e otimizam seu código um programador.”
para melhor desempenho, para tirar máximo proveito dos processadores multi-core,
com o mínimo esforço. James Reinders
• Bibliotecas Matemáticas Intel® MKL 9.1 oferecem funções matemáticas para o ambien Evangelista Chefe de Software ACORDO NOVELL-MS p.26

LPI
te multi-thread com o melhor desempenho nas plataformas multi-core. da Intel Software Products CEO da Novell explica o significado da
• Intel® Integrated Performance Primitives 5.2 (somente para C++) são funções paralelas
parceria em entrevista exclusiva

EXT4
altamente otimizadas que aceleram o desenvolvimento de aplicações multimídia, de
criptografia e de processamento de sinais. VIRTUALBOX
VIRTUALBOX p.60
Competência e velocidade no
• Intel® Threading Building Blocks 1.1 (somente para C++) consiste de rotinas otimizadas
rival aberto do VMware
e testadas para simplificar o desenvolvimento de aplicações escaláveis e robustas com
a utilização de recursos multi-thread.

TAKE THE NEXT STEP—


SQUID

Tech Digital Katalogo Strattus


VEJA TAMBÉM NESTA EDIÇÃO:
WRITE BARRIERS

(11) 5181-1852 0800 7729897 (11) 3531-6550


www.techdigital.com.br/intel www.katalogo.com.br/intel » Curso LPI: Última aula para LPI-1 p.47
» Looking Glass, o inovador desktop 3D da Sun p.45
Itautec MStech Copyright © 2007 Intel Corporation. Intel, the
» Ext4: Esse sistema de arquivos vale a pena? p.57
0800 121444 (11) 5080-3838 Intel logo, Intel. Leap ahead. and the Intel.
Leap ahead. logo are trademarks or registered » Dados confiáveis com as barreiras de escrita p.69
trademarks of Intel Corporation or its sub-
sidiaries in the United States and other coun- » Autenticação segura no Squid com Digest e OpenLDAP p.64
tries. All rights reserved.

WWW.LINUXMAGAZINE.COM.BR

Você também pode gostar