100
KAT p. 23 Buscas instantâneas no desktop
Número 17
Número 17
Linux Magazine
tecnologia sem limites
Fevereiro 2006
páginas!
O poder do Ajax p. 78 Programando para a Web 2.0
Vírus KlamAV Phishing e Pharming Antivírus Amavisd-new
Vírus? Você acha que está livre dos
Ajax
» Conheça os métodos de infecção » Comparativo de programas antivírus » Certfique-se de que o seu PC não está infectado » Proteja-se contra phishing e pharming » Filtre SPAM e vírus no servidor » KlamAV: proteção integrada no KDE
Live CDs Nmap
Nmap
p. 23
p. 62
Proteja-se contra invasões
SSl-Explorer
Live CDs
p. 48
Gnumeric
Faça a escolha certa
Gimp Python
» SSL-Explorer: VPN fácil » Crie gráficos com Python » OpenOffice.org 2.0: e agora Bill? » Planilhas rápidas com o Gnumeric » Edição avançada de fotos com o Gimp
0 0 1 7 R$10,90 exemplar de 0assinante
venda proibida 9 771806 942009
€ 5,50 Ed. 17 02/2006
http://supertuxbr.blogspot.com
W W W. L I N UX M AG A Z I N E . CO M . B R
N O C D D O A S S I N A N T E : A DA M A N T I X
http://supertuxbr.blogspot.com
Expediente editorial
Editores Rafael Peregrino da Silva, rperegrino@linuxmagazine.com.br Emerson Satomi, esatomi@linuxmagazine.com.br
Direção de Arte e Projeto Gráfico Luciano Hagge Dias, lhagge@linuxmagazine.com.br Judith Erb, jerb@linuxnewmedia.de
Centros de Competência Centro de Competência em Software: Oliver Frommel, ofrommel@linux-magazine.com Centro de Competência em Hardware: Mirko Dölle, mdoelle@linux-magazine.com Centro de Competência em Redes e Segurança: Achim Leitner, aleitner@linux-magazine.com
Correspondentes & Colaboradores Augusto Campos, Christian Ney, Christiano Anderson, Christoph Wegener, Holger Reibold, James Mohr, José Maria Ruiz, Larkin Cunningham, Michael Bona, Oliver Frommel, Pedro Orantes, Rafael Peregrino da Silva, Ralf Spennenberg, Robert Hogan, Roberto Cappuccio, Tomasz Kojm e Zack Brown.
Tradução e Revisão Ermida, ermida@ermida.com
Design da Capa Pinball, info@pinball-werbeagentur.de
Anúncios: www.linuxmagazine.com.br/Advertise Brasil Wladimir Porto, anuncios@linuxmagazine.com.br Tel./Fax: +55 (0)11 2161 5400 Cel.: +55 (0)11 8457 1761 Todos os países (exceto Alemanha, Áustria e Suíça) Brian Osborn, ads@linux-magazine.com Tel.: +49 (0)6509 910 495 Fax: +49 (0)6509 910 497 Alemanha, Áustria e Suíça Osmund Schmidt, anzeigen@linux-magazine.com Tel.: +49 (0)6335 9110 Fax: +49 (0)6335 7779
Diretoria Rafael Peregrino da Silva, rperegrino@linuxmagazine.com.br Claudio Bazzoli, cbazzoli@linuxmagazine.com.br Linux Magazine Rua Arizona, 1349 Conj. 5B – Cidade Monções 04567-003 – São Paulo – SP – Brasil Tel.: +55 (0)11 2161 5400 Fax: +55 (0)11 2161 5410
Assinaturas: www.linuxmagazine.com.br/Subs Preço (12 edições incluindo CD mensal): R$159,90 Email: assinaturas@linuxmagazine.com.br Preço Unitário: R$10,90 Na Internet: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – Austrália www.linux-magazine.ca – Canadá www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido www.linux-magazin.ro – Romênia
Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a editora não é responsável por eventuais imprecisões nela contidas ou por conseqüências que advenham de seu uso. A utilização de qualquer material da revista bem como do CD-ROM incluso ocorre por conta e risco do leitor. O CD-ROM foi testado extensivamente e, até onde pudemos verificar, se encontra livre de qualquer vírus ou outro tipo de software de conteúdo malicioso, bem como de defeitos.
Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permissão expressa da editora. Assume-se que qualquer corespondência recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, são fornecidos para publicação ou licenciamento a terceiros de forma mundial não exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux é uma marca registrada de Linus Torvalds.
Linux Magazine é publicada mensalmente por: Linux New Media do Brasil Editora Ltda., São Paulo/SP, Brasil. Direitos Autorais e Marcas Registradas © 2004 - 2005: Linux New Media do Brasil Editora Ltda. Distribuído por Distmag
Impressão e Acabamento: Parma ISSN 1806-9428
Bem-vindo
Editorial
Mudanças Prezado leitor, prezada leitora da Linux Magazine,
é da sabedoria popular que quem não muda está fadado à estagnação e ao fracasso. No nosso cada vez mais frenético mundo da tecnologia esse é um princípio ainda mais premente, que se estende aos títulos dos periódicos voltados a esse mercado. A equipe da Linux Magazine, na busca incessante de melhorar a qualidade da revista e o nível de seus serviços junto a leitores e assinantes, vem avaliando constantemente as suas sugestões, a receptividade da revista junto aos seus consumidores, além, claro, de questões que envolvem custos e produção. Tomando como base essas análises e, além disso, os objetivos precípuos da revista – a disseminação do Linux e do Software Livre através da oferta de um conteúdo sólido e diferenciado –, foram tomadas as seguintes medidas: 1. Redução do preço de capa da revista: como o leitor já pôde perceber, contrariando tendências do mercado, a revista passa a custar R$10,90, o que a torna mais acessível. Esperamos, com isso, poder aumentar a nossa base de leitores. Essa redução no preço só foi possível graças a um sem número de reduções de custo de produção, negociações com fornecedores e parceiros e com a retirada do CD das edições que irão para as bancas (mais a respeito a seguir). A qualidade da revista permanece intocada. Pelo contrário, continuamos a trabalhar para que ela melhore a cada dia. A revista continuará a ter 100 páginas. 2. Retirada do CD das edições de banca: diversos leitores já haviam sugerido essa modificação. O CD da Linux Magazine, continuará, entretanto, a ser entregue ao assinantes. Novos assinantes poderão optar pela assinatura com ou sem o CD. Aos leitores que compram a revista em banca, mas desejam ter o CD, vamos disponibilizá-lo para download (mas recomendamos realizar uma assinatura). 3. Revista aberta na banca: o forte da Linux Magazine sempre foi o seu conteúdo. O CD sempre foi considerado um brinde. Entretanto, até agora o leitor tinha que decidir se adquiria ou não a revista baseando-se nas informações de capa, já que a revista vinha fechada em uma embalagem plástica (necessária, por causa do CD), o que impedia a avaliação do material antes da compra. A partir desta edição isso acaba: pode-se folhear a revista à vontade antes de se decidir por levá-la para casa. 4. Reparte maior para a banca: com a redução geral de custos, foi possível aumentar o reparte de revistas para as bancas em 37% e, com isso, sua abrangência no território nacional. Além disso, a distribuição agora é mais inteligente, de modo que deverá ser mais fácil encontrar a revista nas bancas. Esperamos, com isso, ir ao encontro das necessidades do mercado nacional de publicações voltadas ao Software Livre e de Código Aberto e, especialmente, dos nossos leitores. Gostaríamos de pedir a você, que acompanha o nosso trabalho de divulgação de tecnologias abertas ou mesmo lê a revista ocasionalmente, para que se pronuncie a respeito das mudanças acima enviando email para info@linuxmagazine. com.br. Estamos aí para servi-lo.
Impresso no Brasil
Rafael Peregrino da Silva Editor
3
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Índice
Linux Magazine
Cartas
06
Notícias
08
Unidos venceremos!
Entrevista com Marcelo Testa, CIO da Unidas.
Mundo livre em revista Notícias do kernel Dicas de [In]segurança
08
12 18 20
Capa
23
É seguro mesmo?
23
Como agem os vírus de Linux.
Quer um bom antivírus?
27
Clamando por ajuda
32
Proibido pescar!
38
Comparativo dos melhores programas de proteção. Conheça o KlamAV, o ClamAV para KDE.
Saiba como se proteger contra phishing e pharming.
Análises
48
Linux live
48
Qual a melhor distribuição live?
A chegada do novo Office
54
Finalmente saiu o OpenOffice.org 2.0
Tutoriais
58
Vias privativas
48
Linux live Sistemas live que rodam direto do CD/DVD compõem uma área com quase tanta variedade de opções quanto as distribuições tradicionais. Nossa análise comparativa indica quais são as melhores opções e descreve suas características, como o Knoppix ou o projeto brasileiro Kurumin Linux.
58
Configure uma VPN com o SSL-Explorer
4
23
É seguro mesmo?
Apesar de haver muito menos vírus para Linux, eles existem. E, como a administração de um sistema está sujeita a erros humanos, um vírus pode sim causar danos a um servidor ou estação de trabalho rodando Linux. Conheça o modo de ação desses programas maliciosos “antipingüim” e como se proteger. Nesta edição, preparamos também um comparativo entre os melhores programas antivírus para Linux. E não nos esquecemos da proteção no desktop. Uma das melhores opções nessa área é o KlamAV, que leva todo o poder do consagrado ClamAV para o KDE. Saiba também como implementar a verificação contra vírus (e também SPAM) no próprio servidor de emails, com o Amavisd-new, e entenda como funcionam as técnicas de phishing e pharming, para proteger sua identidade online.
54
A chegada do novo Office
Após mais de 3 anos de lançamentos no ramo 1.X, fi nalmente o OpenOffice.org atingiu a versão 2.0. Entre as principais mudanças está a adoção do formato universal OASIS OpenDocument. Conheça todos os avanços que colocam esse conjunto de aplicativos para escritório entre os melhores do mercado.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
�� ��
Índice
Linux Magazine ��
�
�
62
Invasão
O escaneamento de vulnerabilidades de redes é tão velho quanto as próprias redes. Nesse quesito, poucas ferramentas são tão ricas como o Nmap. Confi ra nesse tutorial de dez páginas os principais segredos para descobrir pontos fracos e lacrar completamente sua rede contra invasores.
72
SysAdmin
62
Coluna do Augusto
Lar sem vírus.
Invasão!
Os segredos do scanner de rede Nmap
72
O poder do Ajax
72
Quando se fala em desenvolvimento para a web, o assunto do momento é o Ajax. Essa nova tecnologia (que combina de modo inovador ferramentas antigas) é o que possibilita sites dinâmicos e rápidos, que atualizam os dados sem a necessidade de recarregar a página. Saiba como construir sua primeira aplicação Ajax, apenas com Perl no servidor e JavaScript no cliente.
85
61
61
Programação O poder do Ajax
Construa um site dinâmico dom Perl e JavaScript.
83 84
Linux User CD do mês
Adamantix, um Debian mais seguro ainda!
85 90 92
Katando dados
Kat: busca instantânea no KDE.
Contabilidade rápida
Gnumeric: rapidez para se lidar com planilhas.
Retoques preciosos
Corrija fotos domésticas com o Gimp.
94
Comunidade
94
Planeta GNU
A hora de migrar é agora.
Katando dados
A busca local de arquivos indexados, com resultados instantâneos, é a tecnologia que promete mudar a maneira como organizamos arquivos pessoais. No Windows® e no Mac OS, essa já é uma realidade. No Linux, a tecnologia está se consolidando com o Beagle (para Gnome) e o Kat (para KDE). Conheça este último, na apresentação do próprio criador do programa.
95
95 96 98
Serviços
Mercado / Eventos / Anunciantes Linux.local Na próxima edição
5
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Cartas
Escreva para a gente
Cartas para o editor
Permissão de escrita ✎ Softmodems
vale para outros usuários que também pletaria a matéria de capa da edição ■ número 9, como é uma oportunidade Estou tentando entrar no mundo Linux. estejam com essa dúvida. para os leitores experimentarem essa Tenho um grande desejo de abandonar o Windows, uma vez que o mesmo não excelente ferramenta para o aprendié perfeito. Então, criei em minha mente Parabéns pela excelente publicação! zado em redes, segurança e clusters, uma “operação abandono”. Gostaria de sugerir uma matéria sobre sem a necessidade de gastos em noMas tudo isso não é tão simples como o OpenLDAP, com as possibilidades que vos equipamentos para construção do eu pensava! Com meu plano em prática, ele representa ao ser integrado com ou- ambiente. Wagner verifiquei que meu scanner (CanonScan tros aplicativos, como o Thunderbird, ■ D646U ex) não era reconhecido. Sem para criação de um diretório central scanner tudo bem, mas sem Internet é de endereços de email numa rede, por impossível! Vocês irão dizer: é simples, exemplo, ou ainda integrado com Samba Será que seria possível publicar uma uma busca na internet e se encontra so- para autenticação. matéria sobre computação em cluster? José Renato de Carvalho lução para tudo. Mas o que encontrei foComo montar, os tipos... Hadiel Costa Miranda ram diversas pessoas falando do mesmo Obrigado pela sugestão e pelo elogio, problema. Quanto à solução, nenhuma. José Renato. Ainda não tratamos desse Hadiel, sua sugestão fica anotada para Apenas diversos relatos. assunto específico, exatamente da manei- edições futuras da Linux Magazine. AinTenho todos os números da revista ra que você sugeriu. Mas assuntos rela- da não abordamos especificamente esse e posso afi rmar que são poucas as que cionados já foram publicados. Na edição assunto. Mas um tema derivado saiu na mencionam o termo softmodem. Parece número 7, foi publicado um artigo sobre edição 11, cujo assunto de capa foi “banaté uma palavra proibida! Como escre- autenticação com os protocolos Radius, cos de dados”. O artigo em questão trata veu Carlos Morimoto, no livro “Kurumin 802.1X e LDAP. O OpenLDAP é um dos te- de clusters MySQL. ■ Linux: Desvendando seus Segredos”: mas. Já na edição 12 da Linux Magazine, “Como quase 70% dos brasileiros ainda há artigos sobre groupware. Entre eles, um acessam via modem e, desses, prova- sobre o servidor OPEN-XCHANGE (em que Sou assinante da Linux Magazine há velmente mais de três quartos utilizam é o LDAP é citado) e outro sobre o Kolab, tempos e venho cada vez mais reparansoftmodems, é inegável que o suporte projeto cujo “núcleo” é o OpenLDAP. ■ do na qualidade do trabalho da equipe a eles no Linux é essencial”. Escreva para a Linux Magazine Não vou encerrar esta carta com um “Windows Forever”, mas com um Se você tem dúvidas sobre o mundo Linux, críticas ou sugestões que possam humilde pedido: que esta revista, na Sugiro que a ajudar a melhorar nossa revista, escreva para cartas@linuxmagazine.com.br. medida do possível, publique tutoriais Linux Magazine Devido ao volume de correspondência, é impossível responder a todas as mensagens, mas garantimos que elas são lidas e analisadas. As mais interessantes sobre os temíveis “softmodems”, bem tenha como consão publicadas nesta seção. Para dúvidas ou críticomo a confi guração de outros hard- teúdo do “CD do cas referentes à sua assinatura da Linux Magazine, wares, em diversas distros. mês” o virtualiuse o endereço: assinaturas@linuxmagazine.com.br Jackson de Melo Neri, Rio de Janeiro zador XEN, cuja Se você tem interesse em contribuir com um Jackson, softmodem é um assunto que distribuição Live artigo, leia primeiro as dicas e instruções precisa mesmo ser explorado com mais CD está disponíem nosso site, na seção Torne-se Autor, e freqüência. Enquanto não fazemos isso, vel no endereço: entre em contato conosco através do endereço fica uma dica: o site linmodems.org (em http://www.xensource. material@linuxmagazine.com.br. Aguardamos inglês). Provavelmente, você já deve ter com/xen/downloads/. sua colaboração! passado por ele, mas a recomendação Isso não só com-
✎ OpenLDAP
✎ Cluster
✎ OpenSolaris
✎ XEN Live CD
6
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
TECNOLOGIA, SEGURANÇA E ECONOMIA. É, 2006 VAI SER ÓTIMO.
SERVIDOR ITAUTEC LP100 Código da oferta: SI039L
Foto ilustrativa.
DPZ
MELHOR RELAÇÃO CUSTO-BENEFÍCIO. IDEAL PARA SERVIDOR DE LOJA E SERVIDOR DE IMPRESSÃO E DE ARQUIVO. • Processador Intel® Pentium® 4 2,80 GHz com 1 MB de cache • 512 MB de memória DDR2 400 com ECC • HD SATA 80 GB fixo • Floppy 1.44 MB • CD-ROM 52x IDE • Placa de vídeo 32 MB • 1 interface de rede Gigabit e 1 interface de rede Fast Ethernet • Unidade de backup opcional • Teclado e mouse • Não inclui Sistema Operacional • 1 ano de garantia on site***
Parcelas a partir de R$
153,71
Financiamento em até 24 vezes.*
R$ 2.499,00 à vista
ITAUTEC MINITORRE Código da oferta: IN500L • MONITOR DE 15” INCLUSO
IDEAL PARA ACESSO À INTERNET E COMUNICAÇÃO.
Foto ilustrativa.
• Processador Intel® Celeron® D 310 (2,13 GHz, cache L2 de 256 KB, FSB 533 MHz) • Monitor de 15” • LIBRIX - Distribuição Linux Itautec • 256 MB de memória • HD 40 GB • CD-RW • Placa de vídeo integrada • Placa de rede integrada • Fax/Modem 56 Kbps • Teclado • Mouse • Garantia de 1 ano**
Parcelas a partir de R$
84,00
Financiamento em até 24 vezes.*
R$ 1.399,00 à vista
COMPRE DIRETAMENTE DO FA B R I C A NTE
0800 121 444
De 2ª a 6ª, das 8h às 20h. Sábado, das 9h às 18h. Domingo, das 9h às 15h. PRESENTE EM MAIS DE 2.700 CIDADES.
www.itautecshop.com.br
A solução completa.
Ofertas válidas até 10/2/2006 ou enquanto durarem os estoques.Intel,Intel Inside,o logotipo Intel Inside,Celeron e Pentium são marcas registradas ou marcas comerciais da Intel Corporation ou suas subsidiárias nos Estados Unidos e outros países.*Financiamento pela FINASA,com taxa de 3,17% a.m.+ IOF de 1,5% a.a.e TAC (Taxa de Abertura de Crédito) para pessoa física de R$ 30,00 e para pessoa jurídica de R$ 60,00.Sujeito a confirmação da disponibilidade da linha de crédito para as localidades.Mais informações sobre outras formas de pagamento consulte o Televendas:0800 121 444.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.**Garantia balcão de 1 ano para partes,peças e serviços.***Garantia de 1 ano on site,de 2ª a 6ª,das 8h30 às 18h,em um raio de 50 km do Centro de Serviços Itautec mais próximo.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.
http://supertuxbr.blogspot.com
Cartas
da Linux Magazine. Mas por uma infelicidade minha talvez, não reparei em nenhuma matéria ou até mesmo CDs do OpenSolaris, que tem se tornado um sistema cada vez mais robusto e aceito pelo mercado corporativo. Existe alguma possibilidade ou planejamento de se falar sobre o OpenSolaris, assim como a liberação de alguma mídia com o sistema? Jorge Eloy Jorge, obrigado pela sugestão, já devidamente anotada. Os temas da Linux Magazine não se restringem ao sistema operacional GNU/Linux e o OpenSolaris é um assunto que pretendemos abordar sim, no futuro. ■
✎ Asterisk Considero a Linux Magazine não uma revista, mas um livro de grande utilidade para a comunidade Linux brasileira. Ve-
8
Escreva para a gente
nho somente dar uma idéia: um artigo Eu acho que não é posição adequada ensinando a instalar e configurar o para um site que se diz ser “o maior Asterisk seria de grande valia (estou fórum de informática do Brasil”. João Rocha em uma lista de tecnologia onde só falam em Asterisk). Infelizmente, esse tipo de mentaliEduardo Uzeda dade ainda é relativamente comum, Caro Eduardo, a próxima edição (nº18) João. Essas pessoas, que consideram vai conter um novo artigo sobre o assunto, Windows® como sinônimo de informáque já havia sido explorado na edição nº tica, desmerecem o Software Livre não 3 da Linux Magazine. ■ por mérito ou itens técnicos, mas por total ignorância a respeito do assunto. É parecido com o caso do mecânico que Vejam isso. Não sei se estão acostuma- fala mal de certo tipo de componente dos com isso e se já viram. Mas estou automotivo porque, no fundo, não sabe horrorizado com a parcialidade, chegan- lidar com ele. Para esse tipo de pessoa, do ao fascismo do site www.baboo.com.br a boa tecnologia é aquela com que ele (http://www.babooforum.com.br/lordpalma/de- já está bem acostumado. A melhor mafault.asp?mode=relatorio&ID=4748&SID=456463). neira para se lidar com isso é ignorar. Eles chegam ao ponto de não aceitar Debater com pessoas com esse tipo de nem falar em Open Source, com horror, pensamento é muito pouco produtivo e como algo que deve ser banido do site. só gera raiva e frustração. ■
✎ Boicote
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Linux na Unidas Rent a car
Notícias Marcelo Testa – Cortesia Unidas Rent a Car
Unidas e Linux: entrevista com Marcelo Testa, CIO da Unidas
Unidos venceremos! A Unidas Rent-a-car, segunda maior locadora de veículos do país e primeira em gestão de frota terceirizada, é um dos exemplos de migração para Software Livre e de Código Aberto (SL/CA) mais bem sucedidos do país. Em nossa entrevista a seguir, o Diretor de Tecnologia da empresa nos conta o porquê. Por Rafael Peregrino da Silva
M
arcelo Tártaro Testa, Diretor mado SAG (Soluções Automóvel Globais) de Tecnologia da Unidas Rent- – a aquisição ocorreu em 2001, época em a-Car, tem 25 anos de expe- que foi iniciado um trabalho de reestruriência em tecnologia. Começou com turação de diversas áreas. Antes da aquiequipamentos de grande porte, traba- sição, a companhia havia ficado por dois lhando com IBM, SID e muitas máquinas anos sob a administração de um fundo HP-UX.. Conviveu por um tempo com de Fund Acquires, que era efetivamente Novell, depois com o Windows® – este o proprietário da Unidas. Nesse período, último por um período não muito longo. a área de tecnologia foi muito afetada: Voltou a trabalhar com equipamentos estava com problemas de licenças e equide grande porte (supermicros, super- pamentos desatualizados e crescimento minis, Unix), por não sentir segurança sem investimento em tecnologia. Havia no uso de PCs com Windows em rede uma grande necessidade de reestrutuem ambientes de produção – a instabi- rar a área de TI. Um dos pontos em que lidade era muito grande. Como a Unidas tocamos foi a necessidade de atualizar é uma empresa 24x7, que precisa aten- nossas licenças de software; gastaríamos der o cliente com agilidade e rapidez, então quase um milhão de reais para a plataforma Windows não oferecia a atualizar todo o parque. Com os invesestabilidade necessária. O Linux foi uma timentos que estavam sendo feitos em opção pela economia, pela segurança e outras áreas, ficaria oneroso investir todo pelo controle estratégico da estrutura esse capital na área de tecnologia. Assim, de TI da empresa. elaborei um projeto em que o custo com as licenças de software seria reduzido a Linux Magazine» Você poderia contar um zero, uma vez que toda a estrutura de pouco da história da Unidas e dos mo- TI seria “migrada” para Linux. tivos da adoção de tecnologias abertas em sua estrutura de TI? LM» Como foi o processo de migração e Marcelo Testa» A Unidas é uma empresa o que foi migrado? de locação de automóveis, com foco, hoje, MT» Começamos pelos servidores, sem em terceirização de frota – sendo a maior atingir o usuário final. Esse processo do Brasil nesse segmento. A empresa dis- demorou quase dois anos e configurou põe de uma frota de 15.000 veículos com a parte mais pesada da migração, com idade média de, no máximo, seis meses. trocas de equipamento, escolha de tecEla pertence a um grupo português cha- nologia de back office etc. Depois que
essa fase foi concluída, passamos para as estações de trabalho. Hoje nossa operação é toda feita em Linux rodando em máquinas Intel. A bem da verdade, no que tange ao sistema operacional, quando olhamos para o parque de TI como um todo encontramos uma plataforma híbrida, que consiste em 40% Unix, 50% Linux e 10% Microsoft. Tivemos de manter uma pequena parcela de sistemas Windows por conta de determinados aplicativos que só rodam nessa plataforma e que ainda são fechados. Nos sistemas Unix, trabalhamos com HP-UX, mas a grande maioria dos aplicativos rodando nesses sistemas é tecnologia de código aberto. LM» Em quanto você estima a economia realizada nesse período? MT» Faz quase quatro anos que estamos com o Linux e já economizamos mais de um milhão de reais, fora o que economizamos à época da implantação. Isso porque, a cada ano ou a cada dois anos, é necessário atualizar aplicativos e há custos com licenças envolvidos nessas atualizações. São em torno de 600 máquinas que rodam sistemas aqui dentro, servidores de arquivos, servidores de email e, em um mundo proprietário, todos eles consomem licenças – de sistema operacional, conjunto de aplicativos de produtividade, antivírus, aplicativos de manipulação de imagem, etc. ➟
9
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Notícias
LM» Como você avalia o retorno de investimento (RoI) da migração? MT» O investimento com certeza se paga. Veja: nesses quase quatro anos de uso da tecnologia não cheguei a gastar 400 mil reais com serviços de consultoria – considerando aí serviços de implantação, suporte, desenvolvimento do nosso próprio ambiente de trabalho, treinamento etc. E eu já economizei mais de um milhão de reais. Além disso, os custos com consultoria e treinamento são diluídos no processo de implantação da tecnologia, o que torna tudo isso ainda mais vantajoso. Defi nitivamente, vale a pena! LM» A economia se estendeu também ao hardware? Quer dizer: a adoção do Linux permitiu à Unidas postergar a aquisição de hardware – já que o Linux consome, via de regra, menos recursos da máquina – ou a empresa usou aquilo que foi economizado na aquisição de um hardware melhor? MT» Não economizamos no hardware – e, desde o começo, o intuito não era economizar em hardware. Aliás, para falar a verdade, no início a nossa estratégia era usar o Linux para diminuir os custos com a atualização do nosso parque de software para, mais tarde, retornar para o mundo Microsoft. Ou seja, no começo, o uso do Linux estava restrito apenas a um período de transição e a idéia era voltar para o Windows após um ano, mais ou menos, quando as coisas já estivessem “no lugar” outra vez. Mas, em matéria de equipamento, desde o início adquirimos aquilo de que realmente precisávamos, tanto é que estamos há três anos com as máquinas e devemos começar a trocá-las a partir de 2006. Aliás, em minha opinião, não é uma boa estratégia poupar em hardware, mesmo com o Linux. Para mim, o sistema consome os recursos do hardware da mesma forma que o Windows – e, se
10
Linux na Unidas Rent-a-car
consome menos, isso é uma vantagem a mais para a minha infraestrutura, da qual não abro mão.
MT» Não tínhamos estabilidade na plataforma Microsoft. Não se passavam 24 horas sem um servidor com “tela azul”. Não se passavam 24 horas sem que uma máquina travasse na loja. Ou sem que um vírus matasse uma das máquinas. E eu, sinceramente, me esmerava para ter todos os sistemas antivírus atualizados – o que, diga-se de passagem, era muitas vezes um desafio de gerenciamento, devido à capilaridade das lojas da empresa, que estão espalhadas pelo país. Até hoje, ainda não tivemos nenhum tipo de problema com vírus no Linux – nem acredito que eles venham a existir, graças à arquitetura do sistema. Assim, gastei menos e adquiri uma coisa inestimável com a adoção do Linux: tranqüilidade! O valor dela é intangível, especialmente porque, no nosso ramo de negócios, se o seu sistema ficar um minuto fora do ar o cliente vai parar no guichê da concorrência, que está logo ao lado.
LM» Alguma metodologia foi utilizada na implantação do projeto? Você contou com a ajuda de parceiros? MT» Sim. Em primeiro lugar contamos com a ajuda de um parceiro: a SnapIT, que já nos prestava consultoria e suporte no nosso ambiente pré-migração. Quando a gente começou a aventar a hipótese de usar Linux, eles foram os primeiros a nos apoiar, uma vez que já conheciam o sistema. Eu, por minha vez, estava em uma posição delicada: em 2001 era muito difícil dizer “vamos tirar tudo o que temos na área de TI e trocar por uma tecnologia aberta”. Há quatro anos, tomar uma decisão dessas e mantê-la frente a um conselho administrativo de um grupo que, mundialmente, é todo baseado em tecnologia Microsoft – que é o caso do Grupo SAG – era uma coisa muito complicada. Não seria possível simplesmen- LM» O que você acha que ainda está te jogar tudo para o ar e “ver no que faltando para o Linux “decolar” no merdava”. Tivemos que mostrar quais eram cado corporativo? os benefícios em todas as áreas: custo, MT» Em minha opinião, o que falta é segurança, estabilidade, regularização de coragem dos diretores de tecnologia para, problemas com licenças, etc. Para tanto, pelo menos em algumas áreas, fi rmar montamos um plano “light”, ou seja, algo uma posição em favor de uma migração para ir resolvendo devagar todos os nos- total para Linux. A tecnologia está disposos problemas, usando tecnologia livre. nível e atende totalmente às necessidaO plano de migração era originalmente des de quem quer que seja. Ainda falta de um ano, mas levamos um ano e meio uma postura nas empresas para que se para colocá-lo em prática. Para mim era faça uma análise fria dos fatos e se diga: importante não causar impacto junto ao “As tecnologias abertas funcionam, são usuário. Assim, o plano foi concebido de estáveis e de custo baixíssimo. Vamos modo que o usuário somente percebeu adotá-las integralmente”. No mínimo que íamos usar Linux quando instalamos deveria haver discernimento para adotáo sistema na máquina dele. E, inclusive, las em algumas áreas. Para mim é falta até hoje há alguns que ainda não perce- de responsabilidade não fazê-lo, pois os beram [risos]... benefícios e a economia são óbvios. Para 2006 eu ainda pretendo expandir o uso LM» Como você avalia os benefícios da de Linux em algumas áreas internas da tecnologia? Coisas como segurança, es- empresa – nossa operação já roda toda tabilidade etc.? com Linux, mas internamente ainda usa-
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Linux na Unidas Rent a car
mos outras tecnologias, que pretendo trocar por Software Livre e de Código Aberto (SL/CA).
consultoria e suporte para Linux, SL/CA e PABX, para você ter uma idéia, não chega a um terço disso.
LM» Você sente falta de alguma tecnologia ou solução de código aberto? MT» Até hoje, tudo aquilo de que a gente precisou pôde ser feito com Linux e SL/CA. Às vezes, precisávamos de alguma tecnologia que não era aberta, mas ela já havia sido portada para o Linux, como foi o caso do nosso ERP (usamos Microsiga). O que eu acho que falta para o Linux e o SL/CA não é a tecnologia em si, mas a segurança de se ter uma instituição por trás da tecnologia prestando serviços de toda sorte. Quem vai dar suporte? Quem presta serviços? Se ocorrerem problemas, a quem recorrer para resolver? Seria necessária uma rede de serviços aos quais todos pudessem recorrer – como é o caso, hoje, das soluções proprietárias. É preciso encontrar o parceiro certo, aquela empresa que se disponha a trabalhar junto com o cliente, ajudar na operação diária e ser determinada em usar a tecnologia.
LM» Você gostaria de fazer mais algum comentário? MT» Só gostaria de comentar que acredito que o trabalho realizado pela Linux Magazine é extremamente importante. Ter um veículo forte e de qualidade para educar o mercado é primordial para que as empresas possam enxergar que é possível migrar e, mais que isso, que é imprescindível estar em sintonia com o que há de mais novo em tecnologia de código aberto. Se empresas do porte da Intel estão se mexendo e apoiando uma tecnologia concorrente do Windows – o que para mim configura um distanciamento claro da Microsoft –, é porque as coisas estão mudando e eles vão ter que mudar junto. Para falar a verdade, a própria Microsoft está mudando – ela acabou de lançar duas licenças de Software Livre e utilizou tecnologias abertas no Windows 2003 Server para balanceamento de carga em clusters.
LM» Você vê mais desafios à frente? LM» Quer deixar uma mensagem para MT» Sinceramente, os desafios hoje são os nossos leitores? mais estruturais do que de tecnologia. MT» O que eu gostaria de dizer é o seguinEssa história de sistema operacional e te: não seja “quadrado”! Experimente aplicativos que rodem sobre ele já vi- coisas diferentes. Essa geração que está rou commodity pra gente. Linux já se aí é uma “geração Windows”. Muitos tornou cultura aqui dentro e ninguém não conheceram outras tecnologias que mais quer gastar com licenças aqui na não sejam as da Microsoft. Eles não coempresa. Você mostra o nosso orçamento nheceram o que veio antes da Microsoft. e o pessoal aprendeu a não deixar passar Há muita coisa interessante e melhor nada. Veja aqui o nosso orçamento para do que as tecnologias que vêm de Red2006: procure pelo item “licenças”... Não mond. Há o Linux e mesmo o Unix. O tem. Não vou gastar nada com isso em Linux é um caminho sem volta. Ele vai 2006. Se alguém fosse fazer o que eu incomodar a Microsoft cada vez mais, pretendo este ano, somente considerando e quem não adotá-lo corre o risco de o binômio Windows e Microsoft Office, “morrer”, como já “morreram” aqueles seria necessário colocar mais de 300 mil que não acompanharam a evolução das a 400 mil reais de custo com licenças tecnologias no passado. Na década de nesse orçamento. E o que eu gasto com 80, você falar em trabalhar com plata-
Notícias
forma PC era uma coisa impensável. O pessoal só trabalhava com máquinas de grande porte. À época o que se falava, em tom de brincadeira, era algo como: “quem é louco de colocar uma empresa inteira em um PC?”. Ainda não havia redes, então. Aí as pequenas e médias empresas, que até então não tinham acesso à informática, começaram a comprar computadores. E o pessoal que só trabalhava com mainframe teve que começar a dar suporte à plataforma PC. Quando as redes apareceram, o pessoal de mainframe também torceu o nariz, reclamando que não havia segurança nem desempenho nessa arquitetura – equipamentos de micro-informática (PCs) conectados em rede – e continuaram no seu “mundinho”. Aí entraram a Novell, a Cyclades, enfi m, apareceram “n” empresas fornecendo produtos e serviços nessa área, que foram “comendo” o mercado “pelas bordas”: começaram com as pequenas empresas, foram para as médias e acabaram nas grandes. O que temos de sistemas de grande porte atualmente no mercado? A parcela desses sistemas é ínfi ma, se compararmos com o que temos em plataforma PC atualmente. E, o mais engraçado, muitos dos sistemas de grande porte, hoje, são nada mais que vários PCs com Linux conectados em um cluster. Com a adoção do Linux está acontecendo da mesma maneira. Minha mensagem então é a seguinte: a Microsoft passou! As pessoas têm que começar a enxergar isso e começar a mudar, entender e testar essas novas tecnologias. Não precisa ser “para ontem”: experimente cada uma delas, verificando sua viabilidade e analisando seus benefícios; encontre um bom parceiro de serviços, enfi m, vá experimentando por partes, mas vá “abrindo a cabeça”, porque a informática vai mudar e não tem volta! Eu, pelo menos, não consigo ver de outra forma. ■
11
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Notícias
Mundo Livre em Revista
Mundo livre em Revista ❐ Computador para Todos vende como pão quente O projeto de inclusão digital do governo Computador para Todos (www.computadorparatodos.gov.br) aqueceu as vendas de PCs no Natal. E a maré alta deve continuar, levantando bastante a venda de computadores em 2006. Grande parte dos consumidores serão pessoas de baixa renda, que nunca tiveram um computador. A estimativa inicial do governo era que fossem vendidos um milhão de computadores em 12 meses. Mas agora há a possibilidade de que essa meta seja superada. Só o Magazine Luiza vendeu 7 mil unidades nos primeiros três dias em que começou a oferecer o Computador para Todos. Mais dois dias e a soma subiu para 13.500 (levando em conta todos os modelos, não apenas o Computador para Todos). Antes desse projeto, que isenta fabricantes de computadores do PIS e do Cofins, a empresa costumava vender 5.000 micros em um mês. A estimativa era que a empresa vendesse, em 2006, 50 mil computadores dentro do programa do governo. Agora a projeção subiu para 120 mil unidades. O Computador para Todos, da Positivo Informática, está sendo vendido a R$ 1.255 à vista no Magazine Luiza, ou em até 25 parcelas de R$ 69,90. A distribuição Linux que acompanha o produto é o Conectiva 10.1.1, uma distribuição OEM baseada no Conectiva 10 (mas com pacotes atualizados) feita sob encomen-
❐ Hackers contra a pedofilia O projeto HackerTeen assinou em janeiro uma parceria com o HotLine-BR - um canal de denúncias contra a pedofilia na Internet. Os jovens que participam do HackerTeen (curso de segurança da informação para adolescentes) vão dar suporte técnico para a equipe do HotLine-BR lidar melhor com as denúncias. Em 2005, o HotLine-BR recebeu 2.859 denúncias, das quais 172 fora encaminhadas para a divisão de Direitos Humanos da Polícia Federal e 1.544 estão em processo de análise e rastreamento. Esse portal foi criado em maio de 2005 para tentar combater a pedofilia online. Mas os jovens hackers não terão contato com os conteúdos identificados. Atuarão especificamente na criação e aperfeiçoamento de programas, tutoriais e tradução de documentos, além de pesquisa técnica.
12
da pela Mandriva. Atendendo às especificações do governo, a distribuição vem com mais 26 aplicativos, incluindo OpenOffice. org (Conectiva Office), Firefox, Evolution, Sun JRE, plugin Flash e antivírus KlamAV. Para as próximas versões, a Positivo já está trabalhando em uma versão OEM do Mandriva 2006. Segundo informações do Magazine Luiza, muitos clientes comentavam na hora da compra que “agora vai ser possível dar um computador de presente para os filhos”. 80% das vendas estão sendo feitas na forma parcelada, o que indica que a maioria dos clientes possui baixa renda. Esse computador da Positivo, vendido pelo Magazine Luiza, tem processador Intel Celeron D315, 40 GB de HD, 128 MB de memória, gravador de CD, modem e placa ethernet, com monitor de 15" e teclado ABNT. Diversas outras empresas estão vendendo o Computador para Todos. No começo de janeiro, havia 27 fabricantes cadastradas no programa. Por exemplo, o Carrefour vende o mesmo computador da Positivo por R$ 1.259. De olho nesse mercado, a Microsoft também está lançando um computador “popular”. Será um modelo pré-pago, em que o usuário precisa comprar créditos para usar o computador, após um certo número de horas. Quando completar determinada quantidade de recargas, o PC passa a poder ser usado sem interrupção. Em um projeto piloto em SP, já foram vendidas 1.000 unidades, cada uma em 25 parcelas de R$ 29,90. ■ No Hackerteen, adolescentes têm aulas sobre ética hacker e empreendedorismo, além de assuntos sobre segurança. ■ http://www.hackerteen.com.br http://www.denuncie.org.br
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Notícias
Curtas
Brasil na conferência sobre GPL3
Um advogado brasileiro foi chamado para participar dos debates sobre a versão 3 da GPL (GNU Public License). Trata-se de Omar Kaminski, do escritório de advocacia Kaminski, Cerdeira e Pesserl. Ele foi convidado pela FSF (Free Software Foundation) para participar do seminário, que seria realizado entre 16 e 17 de janeiro, em Boston, no MIT (Massachusets Institute of Technology). Um dos objetivos desse encontro será adaptar a nova GPL às legislações de vários países. Quanto ao Brasil, uma das questões pendentes é o não reconhecimento da FSF das traduções existentes atualmente da GPL. Saiba como contribuir para a nova versão da GPL em www.gplv3.fsf.org.
Finalmente: X11R7
Foi lançado o X11 7.0, a primeira grande nova versão do X11 em mais de uma década, finalmente saindo do ramo 6.X. É a primeira versão que vem com o código fonte completamente modularizado. Junto com a novidade, saiu também a 6.9, que possui todos os novos recursos da versão 7, mas com árvore “monolítica”. A idéia de modularizar o X11 foi tomada pelos desenvolvedores para que seu desenvolvimento e manutenção sejam menos problemáticos, além de atrair mais programadores. O código fonte pode ser baixado em http://ftp.x.org.
Motorola ROKR agora é Linux
O novo modelo do celular ROKR, o E2, corrige muitas das falhas da primeira versão. Mas a grande novidade é que ele passa a vir com Linux (Montavista Mobilinux) como sistema operacional. Esse é o modelo que foi alardeado como o celular que vinha com o tocador de músicas iTunes, da Apple. Agora não vem mais. Boatos indicam que houve atritos entre a Motorola e a Apple devido ao limite de 100 músicas do celular. Mas ainda toca MP3. O novo modelo vem com navegador Opera, tela de 320 x 240, câmera de 1.3 megapixel, rádio FM, interface Bluetooth e leitor de cartões SD. Nos EUA, deve custar entre US$ 250 e US$ 350.
Animação vetorial
O poderoso programa de animação vetorial Synfig teve seu código aberto sob GPL, após a empresa por trás do software não ter conseguido emplacar o produto no mercado comercial. O produto foi desenvolvido com o objetivo de simplificar a produção profissional de “animes”. Pacotes binários (para Windows e Mac OS X) estão disponíveis como uma demonstração para desenvolvedores (developer preview) em www.synfig.com/download/.
14
Mundo Livre em Revista
❐ Deputados querem gastar R$ 6 milhões em MS Office Após dois anos do início da implantação do OpenOffice.org nos gabinetes dos deputados federais, está havendo um retrocesso na política de adoção do Software Livre na Câmara. Alegando dificuldades com formatos e necessidade de recursos “avançados”, os deputados querem de volta o Microsoft Office. Para isso, pretendem adquirir 7.587 licenças proprietárias, o que pode custar entre R$ 6 milhões (com o desconto oferecido pela Microsoft) e R$ 11 milhões (preço de mercado). Apesar da economia que o OOo proporciona, os deputados apresentaram diversas “desculpas” para se agarrar ao MS Office. Entre elas, “perda de dados” no envio e recebimento de documentos de outros órgãos, incompatibilidades, necessidade de investir em treinamento, impossibilidade de implantar o OOo em todos os computadores devido a “exigências do software” e ausência de alguns “recursos avançados”. O primeiro pregão eletrônico para a compra das licenças da MS ocorreu no dia 20 de dezembro e foi suspenso. Em 5 de janeiro, foi retomado. Mas acabou revogado devido ao baixo número de empresas participantes e a falta de competição entre elas. Além do MS Office 2003, seriam adquiridos aplicativos da Microsoft para servidores. Um acordo entre a Câmara e a comunidade do Software Livre previa que haveria uma reunião conjunta para avaliar a real necessidade de comprar produtos proprietários, já que existem versões livres dos aplicativos necessários. A senadora Serys Slhessarenko (PTMT), presidente da Frente Parlamentar pelo Software Livre e Inclusão Digital, chegou a lembrar o presidente da Câmara Aldo Rebelo de que esse
pregão contrariava o acordo firmado com a comunidade SL. Até o fechamento dessa edição, essa reunião ainda não havia sido realizada e a questão continuava aberta. Daniel Fonseca Alves, um usuário de Software Livre, enviou um pedido de esclarecimento à Câmara e obteve uma resposta detalhada sobre quais problemas os deputados e seus funcionários encontraram ao usar o OpenOffice.org por dois anos: P Dificuldade para abrir e trabalhar com documentos salvos no MS-Office, que até então eram o formato padrão. Por exemplo, planilhas que utilizam macros e integração via objetos OLE. P Dificuldade com planilhas Excel que contenham fórmulas complexas. P Necessidade permanente de treinamento devido à rotatividade dos empregados nos gabinetes. Essa resposta, publicada no site BRLinux, sublinha que muitas soluções de código aberto são usadas (e continuarão sendo) nos servidores da Câmara. Paralelamente a essa polêmica, um estudo da Secretaria de Logística e Tecnologia da informação (SLTI), do Ministério do Planejamento, apontou as principais causas da rejeição ao Software Livre nas repartições federais. A pesquisa indica que a falta de capacitação de técnicos e usuários é a principal barreira para que o uso de SL deslanche no governo federal. O estudo colheu avaliações de 210 profissionais da área de informática que trabalham para o governo. 34% deles responderam que essa falta de capacitação é o principal bloqueio. 19% indicaram como motivo a rejeição dos usuários. 16% culparam recursos financeiros insuficientes. 80% desses funcionários estão passando por algum tipo de migração para Software Livre. ■ br-linux.org/linux/node/2432
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Mundo Livre em Revista
❐ ERP de código aberto
O OpenERP é um programa de gestão empresarial de código aberto baseado em Java, com interface via web. Entre as tecnologias utilizadas estão SF, Hibernate, Spring, Acegi, AJAX, Axis e Maven. Também utiliza o BaseGen para geração de código a partir de UML. O software foi financiado pela Persapiens Tecnologia e pela FINEP (Financiadora de Estudos e Projetos), órgão vinculado ao Ministério da Ciência e Tecnologia do Brasil.
O OpenERP era um programa proprietário da empresa Persapiens e existe desde 2003. Em junho de 2004 o código foi aberto e o programa passou a se chamar OpenERP, com licença LGPL. A versão atual (1.0, lançada em 11 de janeiro) já está sendo usada em ambiente produtivo por um cliente da Persapiens e é bem adequada à gestão empresarial de redes de lojas de departamentos ou outros estabelecimentos, como supermercados, farmácias e comércio varejista em geral, segundo Rodrigo Galvão Lourenço da Silva, sócio-diretor da Persapiens e gerente do projeto OpenERP. Uma instalação pode ser testada em www.persapiens.org/openerp (usuário: adm, senha: sapiens). O servidor OpenERP pode ser Linux ou Windows ®, mas é preciso ter o Tomcat e um banco de dados como PostgreSQL, MySQL ou Oracle, entre outros. ■ http://sourceforge.net/project/showfiles.php?group_ id=157190 http://www.persapiens.org/
❐ Linspire mini O novo computador da empresa americana AOpen é muito parecido com o Mac Mini da Apple, mas vem equipado com a distribuição Linspire, opcionalmente. Batizado de miniPC, o computador custa a partir de US$ 399 (com Linspire) ou US$ 499 (com Windows), sem monitor nem teclado. Suas medidas são 16,5 x 15,4 x 5,1 cm, pesando apenas 1,5 kg. Por isso, a fabricante o apresenta como “o menor PC do mundo”. O modelo mais avançado vem com processador Pentium M (para notebooks, o que permite operação silenciosa sem sacrificar o desempenho), 512 de RAM, drive gravador de DVD e rede wireless integrada. Além disso, todos os outros modelos têm vídeo onboard Intel 915GM, duas portas USB 2.0 traseiras, uma FireWire (IEEE 1394) e interfaces DVI e S-Video. Estão disponíveis três modelos: MP915 (Celeron M, HD 40 GB), MP915-B Combo (Pentium M, com drive DVD/CD-RW) e o MP915-B SuperMulti (Pentium M, HD de 80 GB, drive DVD-RW/CD-RW e rede wireless). O modelo mais avançado custa cerca de US$ 1.100. A AOpen é uma fabricante de PCs com sede em Taiwan, especializada em modelos com design requintado. ■ http://minipc.aopen.com
Notícias
Curtas Mostra de TI para o setor público
Acontece entre 4 e 6 de abril, no Centro de Convenções do Blue Tree (em Brasília), a Mostra de Soluções em Tecnologia da Informação e Comunicações Aplicadas ao Setor Público. Para essa edição do evento, o destaque serão palestrantes do exterior. As inscrições para o evento são gratuitas e podem ser feitas no site www. solucoestipublica.gov.br. No ano passado, 14 mil visitantes compareceram ao evento.
Polícia francesa continua migração
Após migrar cerca de 80 mil estações de trabalho do MS Office para o OpenOffice.org, processo que começou em janeiro de 2005, a polícia militar francesa continua nessa direção. Agora estão implantando oficialmente o Firefox e o Thunderbird em 70 mil e 45 mil máquinas, respectivamente. Na migração do ano passado, houve uma economia de dois milhões de euros. Já o principal motivo para a escolha dos programas da fundação Mozilla é a disponibilidade para todas as plataformas, além do fato de o Firefox ser um browser que respeita os padrões do consórcio internacional W3C.
Microsoft pode patentear FAT
Após um processo de dois anos, o Escritório de Marcas e Patentes dos EUA voltou atrás em suas decisões anteriores e reconheceu que a tecnologia por trás do sistema de arquivos FAT (File Allocation Table), da Microsoft, pode sim ser patenteada. Caso a empresa o faça, conforme intenção já demonstrada, a implementação dessa tecnologia no Linux e outros sistemas, além de eletrônicos portáteis, fica sob sério risco. Diversos aparelhos usam hoje o sistema de arquivos FAT, como tocadores de MP3, cartões de memória e máquinas fotográficas digitais.
NASA prefere Linux no desktop
A preferência da agência espacial americana NASA por Linux é bem conhecida. Recentemente, Gary Brack, diretor de sistemas em tempo real do JPL (Jet Propulsion Lab), deu mais detalhes sobre o uso de Linux entre seus colegas. As distribuições preferidas são Mandriva, Red Hat e SuSE, além de algumas estações com Windows, HP Unix, Mac OS e também Solaris. Uma opinião curiosa é que lá só se usa Linux nas estações de trabalho. Segundo Brack, o kernel do Linux teria muitas falhas e seu uso em servidores não seria recomendável. Para esse tipo de aplicação, a NASA usa servidores Solaris 8. Essas informações foram publicadas no site searchopensource.com.
15
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Notícias
Mundo Livre em Revista
❐ Curta em 3D
❐ Lançada versão gratuita do antivírus AVG
A Blender Foundation, o Netherlands Media Art Institute e o Montevideo/Time Based Arts estão produzindo um curta-metragem 100% realizado com Software Livre. Além do programa de autoria 3D Blender, estão sendo usadas outras ferramentas como Yafray, Python, Verse, Gimp e Cinepaint. O resultado será disponibilizado também com uma licença livre. O projeto, de codinome Orange, está procurando interessados do mundo todo em contribuir, principalmente artistas, desenvolvedores e patrocinadores. ■
A Grisoft lançou uma versão gratuita do antivírus AVG para Linux. Entre os recursos do programa anunciados pela empresa estão: atualizações incrementais do banco de dados de vírus via internet, baixo consumo de memória, interface intuitiva e agendamento de scans, entre outros. O programa vai funcionar apenas em algumas distribuições. No site da Grisoft, estão disponíveis pacotes binários apenas para Mandriva, Fedora e SuSE. Como não se trata de um programa de código aberto, não é possível compilar a partir do código fonte. Um recurso importante é a verificação sob demanda (on-access scan), que checa arquivos sempre que o sistema operacional tenta acessá-los. Mas para que isso funcione é necessário o módulo do kernel Dazuko. A licença dessa versão gratuita se destina ao uso não-comercial, apenas em ambiente doméstico. Como se trata de um antivírus com bastante tradição no Windows ®, boa parte dos vírus de Windows serão identificados no AVG rodando em Linux. Isso pode ser útil para reduzir a chance de se repassar vírus para usuários de Windows, já que os vírus para Linux ainda não são uma ameaça séria no desktop. ■
http://orange.blender.org
❐ Novo ambiente Um novo projeto GPL de destaque no Brasil é o gerenciador de janelas TDE (Techisa Desktop Environment). Seus desenvolvedores têm como objetivo oferecer (e sempre melhorar) um ambiente gráfico leve, agradável e de fácil personalização e administração. Ideal para máquinas mais antigas, já que o sistema exige poucos recursos. O sistema é baseado na biblioteca gráfica Qt, como o KDE. A última versão é a 1.2.11, lançada em 8 de janeiro. O projeto tem pouco mais de um ano de vida e está no codigolivre.org.br desde junho de 2005. Nasceu para satisfazer a
um desejo dos próprios criadores. “Queríamos solucionar uma necessidade nossa: ter um ambiente que pudesse ser controlado e gerenciado de forma simples, que fosse leve, intuitivo, agradável e fácil de usar”, conta o programador Ricardo Mayrink, que criou o TDE junto com Roberto Salomon. Atualmente, apenas os dois trabalham diretamente no projeto, mas Salomon coordena também a ajuda de colaboradores que preparam pacotes e testam novas versões. Desde que o projeto se tornou público, muitas pessoas têm se oferecido para contribuir. Toda ajuda será bem-vinda. ■
http://free.grisoft.com
❐ Viva o Python Python é uma das melhores linguagens interpretadas que existem. Duas novas notícias comprovam isso. O Google contratou seu criador, o holandês Guido van Rossum. E a Microsoft implementou compatibilidade com o Python em sua plataforma de desenvolvimento .NET. Batizado temporariamente de IronPython (atualmente na versão 1.0 beta), a ferramenta permite que programadores Python usem bibliotecas .NET e rodem os aplicativos escritos em Python com o runtime da MS, sem perda de desempenho (dizem até que roda mais rápido que o Python 2.3). O Python foi criado nos anos 90 para ser tornar um sucessor da linguagem ABC. Os objetivos eram: ser uma linguagem de código aberto, que fosse quase tão compreensível quanto o inglês e que permitisse o desenvolvimento rápido de aplicações. Guido e a comunidade de desenvolvedores concretizaram essas metas. Hoje ele é o “Ditador Benevolente Perpétuo” do Python, supervisionando o desenvolvimento e tomando decisões finais quando necessário. ■ http://www.microsoft.com/downloads/details.aspx?FamilyID=94082d26-e689-4f7f859b-fec6dacf3ae8&DisplayLang=en http://groups.google.com/group/comp.lang.python/browse_frm/thread/ 32dc95bd671542f3/
16
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Notícias
Kernel
Notícias do Kernel Por Zack Brown
❐ Software Suspend
❐ eCryptFS
❐ git: a novela das 7
Rafael J. Wysocki dividiu o código do subsistema de suspensão por software (software suspend) em dois novos subsistemas independentes. Já que Pavel Machek aprovou a maior parte das alterações, essa provavelmente será a direção a seguir a partir de agora. O objetivo é simplificar ao máximo o código e fazê-lo mais fácil de entender. O subsistema primário é a câmara fotográfica (snapshot handler), que cria e organiza as estruturas de dados a serem preservadas durante a suspensão. Já o subsistema secundário – o que tem mais chances de migrar para o espaço do usuário – é o manipulador do espaço de trocas da memória virtual (swap handler). Esse subsistema pega tudo o que foi gerado pela máquina fotográfica e grava na partição de swap antes de colocar a máquina nos braços de Morfeu. Quando a máquina é religada, é esse subsistema que lê o swap e recria na memória de todo o sistema operacional. Ao fazer isso, Rafael conseguiu “decepar” três quartos dos dados que eram anteriormente gravados no disco, fazendo com que mais memória esteja disponível ao sistema durante a operação de acordar o sistema operacional. Ao mesmo tempo, diminuem as restrições sobre o limite de espaço usado por esses dados. Por fim, um número não desprezível de variáveis globais não são mais necessárias. Mas alto lá, companheiros! O mantenedor faz questão de frisar que tudo isso ainda é uma prova de conceito – há ainda muito a se testar e depurar, como os caminhos de erros. A concepção do negócio, entretanto, parece ter encontrado aprovação geral no seio dos deuses da "mitologia torvaldiana". ■
Phillip Hellewell e Michael Halcrow enviaram a versão pré-alfa 0.1 de seu sistema de arquivos criptografado CryptFS para apreciação dos “anciãos do conselho” do kernel oficial. Essa é, na verdade, uma versão pra lá de pelada do que eles realmente planejaram. Sua decisão de enviar-lo assim mesmo tem um motivo: querem que todos analisem sua concepção e comportamento já nas fundações, de forma a atrair colaborações e facilitar a depuração. Se o pequeno “Frankenstein” for aceito, os desenvolvedores prometem adicionar mais recursos sobre o esqueleto previamente apresentado. A idéia básica do eCryptFS é tornar a criptografia (cifragem e decifragem) completamente transparente para o usuário. A criptografia é realizada arquivo a arquivo, sendo os dados criptológicos gravados no próprio arquivo. Isso permite que os usuários manipulem seus arquivos eCryptFS da mesma forma como fazem com qualquer outro. Os arquivos podem ser copiados de um lado a outro, mesmo entre domínios que não têm relações de confiança, e ainda assim permanecer legíveis apenas para o usuário que apresentar as devidas credenciais criptográficas. Devido a essa flexibilidade na concepção do programa, as especificações de políticas de segurança poderão variar muito de um sistema para outro. Para o momento, entretanto, Phillip e Michael implementaram apenas recursos aplicáveis a pontos de montagem – e ficará desse jeito até que tudo tenha sido testado de forma apropriada. Ao que parece, os mentores do projeto já têm código escondido na manga, só esperando uma maior aceitação do que foi apresentado para lascar logo um ás de paus. ■
O desenvolvimento do git está tão rápido que a velocidade não pode mais ser medida em parsecs por segundo, mas em dobras espaciais. Mesmo com essa velocidade delirante, o git ainda se mantém fiel aos seus objetivos. Em primeiro lugar, o git não oferece uma interface com o usuário tão fácil como a do CVS, de forma que não é “para imbecis”. Em vez disso, o programa é mais um conjunto de comandos, poderosos e de baixo nível, sobre os quais qualquer um pode criar scripts para facilitar as tarefas de nível mais alto. O Cogito ainda se mantém como o front-end mais popular para o git, já que realmente implementa uma interface tão fácil quanto a do CVS. Linus já há algum tempo entregou a liderança do projeto, mas ainda o acompanha de perto. Além de ainda colaborar com código, sua maior contribuição tem sido manter os desenvolvedores “na linha” (linha dura, eu diria). O projeto é pequeno, mas a elegância de sua concepção não fica evidente o tempo todo. Os desenvolvedores, ocasionalmente, começam a procurar pêlo em ovo e tentar resolver problemas que nem sequer existem. Um exemplo: o protocolo do git não é compatível com muitas das necessidades do pessoal. Por conta disso, muitos começaram a discutir a possibilidade de substituir o protocolo por outro. Obviamente essa é uma desfiguração profunda demais em qualquer situação e certamente afetaria a compatibilidade com versões anteriores. A discussão chegou a ficar acalorada até que, no meio do tiroteio, Linus em pessoa subiu numa caixa de maçãs e berrou: “Ô, pessoal, o protocolo é extensível! Vamos prestar atenção aí, pô!”.
18
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Kernel
Notícias
Um dos problemas que ainda persis- de forma totalmente descentralizada. Já dá pra ver que é um trabalho de tem é a maneira como o git cataloga Até agora, o git mostrou ser um sistema formiguinha. Não há muito reconheo histórico de nomes de arquivos re- distribuído no sentido amplo da pala- cimento ou glórias a serem auferidas nomeados. Na prática, o git funciona vra, já que não há um repositório central com esse esforço todo, mas Adrian e os sem problemas – a não ser que você – cada nó age como um servidor para sua outros ficarão intimamente felizes em precise manter um histórico do nome própria versão de um dado projeto. Mas ver o kernel mais asseado. Outro que tem andado de vassoura do arquivo. Em outras palavras, se você Jeff quer mudar isso. Em vez de cada máquina ser o servi- na mão é Russell King. Já há algum renomear um arquivo em um repositório git, o controle de versões conseguirá dor de seu próprio repositório, vários tempo vem impiedosamente estirpando sem problemas manter o registro disso. sistemas devem participar de cada código obsoleto, decepando com sua Entretanto, mostrar essa informação ao repositório, sem que uma única máqui- espada cabeças, pés e mãos – sem desusuário é que são elas… na seja essencial para manter o todo. Os montar de seu cavalo! Esse é mais um exemplo da proverbial usuários obteriam assim a versão mais Nessa salada incluem-se funções do teimosia de Linus: ele insiste em que a recente do projeto fazendo uma consulta kernel que já comem grama pela raiz há detecção de renomes fique a cargo do à rede do git, e não ao computador em meses. Infelizmente, a remoção dessas front-end. Deixar isso a cargo do próprio particular. Outra possibilidade é uma funções não ocorre sem dor: muitos driusuário, segundo ele, seria um verdadei- rede git fazer consultas a outras redes git, vers simplesmente pararão de funcionar ro inferno. Normalmente, o usuário nem de forma que qualquer um com acesso a – inclusive alguns bem populares, como o sempre sabe como um conjunto de dados uma dessas redes possa consultar todos MWave e o ibmasm. A situação fica pior foi parar de um lado ou de outro e isso os repositórios git do mundo. quando constatamos que muitos dos dripode levar a diversos enganos. EntretanA idéia é coisa de biruta, digna do Ju- vers afetados não têm pai nem mãe… to, diz Torvalds, a “trilha de miolinho de queri. Mas o git também é, assim como o Como são populares, gente ocupadíspão” estará sempre à disposição. rastreamento de renomeações pelo front- sima deixou o que estava fazendo e foi Parece que Torvalds e os demais estão end ou o sistema de controle de versões mexer nas entranhas desses dodôs. Max tropeçando o tempo todo em problemas baseado em uma série de chamadas de Asbock consertou o ibmasm e Alan Cox insolúveis. Entretanto, para Linus, isso sistema. A coisa toda é insana. E esse é deu um jeito no MWave. Além do trabalho com o OSS, Adrian parece dejà vu; ele já passou por isso seu recurso mais importante... ■ tomou para si a manutenção do Trivial muitas vezes: enquanto insiste em que Patch Monkey (algo como macaco que a sua opinião é a correta, a despeito de ser controversa, não ter lógica aparente O kernel, de tempos em tempos, sofre aplica patches triviais), herdado de Rusty ou ser contra todas as regras da estética e uma faxina geral ou, no mínimo, uma Russell. O Trivial Patch Monkey é um do bom senso, no final as coisas acabam arrumação de gavetas. sistema semi-automático que reúne os caindo de pára-quedas no lugar certo e Recentemente, muitas das últimas patches do kernel óbvios e extremase tornam um novo padrão. Tudo isso, referências ao DriverFS foram retiradas mente simples, o que permite que os claro, a despeito do fato de que nem por Rolf Eike Beer. O DriverFS já faz desenvolvedores não precisem ficar Linus nem ninguém consegue enxergar algum tempo mudou de nome para SysFS, monitorando tais patches ou reenviá-los a maneira como as coisas devem ser ar- mas muitos documentos e arquivos fonte caso se percam (não se perdem mais). madas e coladas umas às outras. ainda traziam o nome antigo. O macaco foi idealizado em uma Nesse meio tempo, caras como Jeff Adrian Bunk tem tentado bravamente época em que Linus Torvalds estava Garzik suam a camisa no desenvolvi- retirar os drivers de som OSS, bastante se afogando sob o oceânico número de mento do git. Jeff recentemente migrou obsoletos. Recentemente, ele agendou remendos disparados contra ele. Uma os repositórios da ferramenta ethtool a retirada de muitos módulos. No caso das tentativas de aplacar as tensões dos para o git. Além disso, anda matutando do OSS, obsolescência significa que já desenvolvedores foi usar uma ferramenta sobre algumas modificações estranhas há um driver ALSA que substitui com de controle de versões. A seguinte foi no próprio git. Seu mais recente brains- galhardia o driver OSS para a mesma botar fé no macaco. Rusty deu comida torm procurava soluções para fazer o git placa de som, com todos os recursos do e tratou do símio por anos e agora passa funcionar em ambiente de redes puro, hardware plenamente funcionais. o bicho com tudo para Adrian. ■
❐ Faxina
19
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Notícias
Dicas de [In]segurança
Dicas de [In]segurança ❐ PHP O PHP é uma linguagem de script embutível no HTML , usada com bastante freqüência em conjunto com o servidor web Apache. “Ai, me acudam! Baratas! Chamem a dedetização”! Uma cascuda (mais precisamente uma supella longipalpa) foi encontrada na maneira como o PHP registra as variáveis globais durante uma solicitação de envio (upload) de arquivos. Um agressor remoto poderia enviar dados pelo método POST que, se cuidadosamente manipulados, substituiriam o conteúdo da matriz $GLOBALS – alterando o comportamento do script e possivelmente levando à execução de comandos arbitrários em PHP. Importante: essa vulnerabilidade afeta apenas interpretadores de PHP que estejam com a opção register_globals ativada no arquivo de configuração – o que não é nem recomendável nem o padrão de fábrica. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3390 . “Olha outra ali! Ali, ó! Ai, entrou embaixo do armário da cozinha…”. Outra periplaneta americana foi encontrada no PHP, dessa vez na função parse_ str(). Se um script passar apenas um argumento para a função parse_str() e, ao mesmo tempo, tiver sua execução interrompida bruscamente – por exemplo, devido ao valor atribuído ao parâmetro memory_limit – a opção register_globals (ela de novo…) pode ser ativada mesmo que o arquivo de configuração do PHP diga o contrário. Essa vulnerabilidade afeta apenas sistemas
em que o PHP usa a função parse_str dessa forma. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3389 . “AAAARGH! Que nojo. Olha a anteninha saindo pelo buraco da tomada! Deve ter um ninho inteiro ali! Depressa, menino, pega a bomba de fl iti…”. Uma blatella germanica andou causando umas falhas de cruzamento de scripts entre sites. Ela estava alojada (e despejando ootecas) na função phpinfo(). Se uma vítima for persuadida a visitar uma URL maliciosa, acessando uma página mostrando a saída do phpinfo(), poderia ser possível injetar código malicioso na página sendo mostrada – seja em javascript ou mesmo em HTML – e até mesmo roubar biscoitinhos (quero dizer, cookies). Essa vulnerabilidade afeta apenas sistemas que permitem aos usuários acesso à função phpinfo(). Como essa função mostra um mundo de informações sobre o PHP e o sistema circundante, deve ser usada apenas durante a fase de depuração do site. Nunca cometa o erro de deixar uma página que mostre o resultado dessa função à disposição de desconhecidos. O projeto Common Vulnerabilities and Exposures (cve.mitre. org) deu a essa falha o código CVE-20053388 . – Catapimba! – O que foi isso? – Tinha uma barata subindo na perna da mamãe. Ela desmaiou… Para passar a régua na infestação, é possível provocar uma negação de serviço no PHP na rotina de processamento de imagens EXIF. Indivíduos da espécie
supella longipalpa podem causar o capotamento do interpretador com o simples envio de uma imagem EXIF cuidadosamente editada. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3353 . ■ Referência no Mandriva: MDKSA-2005:213 Referência no Red Hat: RHSA-2005:831 Referência no Slackware: SSA:2005-310-05 Referência no SuSE: SUSE-SR:2005:026
❐ gtk2 e gdk-pixbuf O pacote gtk2 contém a biblioteca gráfica GIMP ToolKit (GTK+), que se presta à criação de interfaces gráficas dentro do sistema gráfico do Linux, o X Window System. As baratas até escassearam, mas os ratos… Um rattus spp foi encontrado roendo a rotina que o GTK+ usa para processar imagens XPM. Um agressor poderia criar uma imagem XPM tal que causasse a execução de código arbitrário em um programa que usa GTK+ assim que fosse aberta. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3186 . A gente mata um, vem outro no mesmo lugar… Ludwig Nussel saiu atirando em roedores depois que surpreendeu um rattus norvegicus na mesma rotina XPM. Dessa vez, uma imagem XPM adulterada poderia travar o aplicativo. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-2975 . Foram encontrados restos de urina de rattus rattus em outro programa, o gdkpixbuf – uma biblioteca para leitura de imagens no Gnome. Como se não bastasse, os pestilentos mamíferos cruzaram
http://supertuxbr.blogspot.com 20
fevereiro 2006
edição 17
www.linuxmagazine.com.br
LM17_seguranca.indd 20
20.01.06 11:51:09
Dicas de [In]segurança
novamente o caminho de Ludwig Nussel, que descobriu um estouro de inteiros na forma como o gdk-pixbuf processa imagens XPM. Um agressor poderia criar um pacote XPM cuidadosamente fabricado para que executasse código arbitrário ou mesmo travasse a máquina. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-2976 . ■ Referência no Debian: DSA-911 Referência no Gentoo: GLSA 200511-14 Referência no Red Hat: RHSA-2005:810, RHSA2005:811 Referência no SuSE: SUSE-SR:2005:026
❐ ClamAV O ClamAV é um antivírus de código aberto. Um grande número de musca domestica foi encontrado nas versões do ClamAV anteriores a 0.97. O desempacotador OLE2, presente no daemon clamd, é vulnerável a ataques de negação de serviço (falha de segmentação) por meio de um arquivo DOC com uma árvore de propriedades inválida. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3239 . Espécimes de empis tesselata no desempacotador FSG permitem que agressores externos causem “corrupção de memória” e executem código arbitrário por meio
de um arquivo FSG 1.33 especialmente manipulado. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3303 . Mais moscas. A função tnef_attachment() possui larvas de sarcophaga carnaria roendo sua carne podre, o que permite que agressores provoquem negação de serviço (laço infi nito e exaustão de memória) se manipularem o valor de um arquivo CAB, fazendo o ClamAV varrer repetidamente um mesmo bloco. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3500 . A mosca Tsé-Tsé ( glossina palpalis) pode induzir o programa ao sono (negação de serviço por laço infi nito) por meio de um arquivo CAB especialmente criado. O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3501 . Uma verificação de limites ineficiente no arquivo petite.c permite que agressores externos possam iniciar ataques ainda desconhecidos por meio de vetores nãodeterminados. Quem mandou não passar inseticida? O projeto Common Vulnerabilities and Exposures (cve.mitre.org) deu a essa falha o código CVE-2005-3587 ). ■ Referência no Mandriva: MDKSA-2005:205 Referência no SuSE: SUSE-SR:2005:026
Notícias
❐ Fetchmail O Fetchmail é um programa utilitário para a transferência em lote de mensagens de email. Thomas Wolff e Miloslav Trmac descobriram uma condição de disputa (race condition) no programa fetchmail.conf, que gera o arquivo de configuração do Fetchmail. O software cria o arquivo de configuração com permissões inseguras, e só as restringe para o root depois que termina de escrever no disco. Durante o tempo de geração, portanto, as senhas e outros dados podem ficar expostos a outros usuários do sistema a menos que o administrador use um umask bastante “apertado”. Trocando em miúdos: é hora de comprar um repelente mais eficaz contra os mosquitos. ■ Referência no Debian: DSA-900 Referência no Mandriva: MDKSA-2005:209
❐ Gnump3d O GNUMP3d é um servidor de difusão (streaming server ou "rádio online”) para arquivos do tipo MP3, OGG Vorbis, fi lmes e outros formatos de mídia. Ludwig Nussel (ele de novo?) identificou duas vulnerabilidades no GNUMP3d. Algumas vespas põem suas larvas em certas espécies de aranha. As larvas devoram a aranha mas guardam os órgãos vitais para o fi m, de forma a manter a
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
21
www.linuxmagazine.com.br
LM17_seguranca.indd 21
20.01.06 11:51:21
Notícias
aranha viva por mais tempo. Da mesma forma, o programa não é capaz de verificar com propriedade a existência do arquivo de trava /tmp/index.lok, antes de gravar no arquivo de dados. Isso permite que usuários locais possam acessar os arquivos de quem estiver usando o GNUMP3d mesmo sem autorização. O programa também falha em validar corretamente a variável que defi ne o “tema”, repassada ao CGI como um argumento do método GET, permitindo que arquivos não autorizados sejam incluídos ou mesmo arquivos do usuário sejam devorados – quero dizer, destruídos. Um agressor poderia sobrescrever arquivos do usuário rodando o GNUMP3d usando o velho truque índio de criar um link simbólico apontando para /tmp/index.lok. Esse link teria o mesmo nome e estaria no mesmo diretório do arquivo
Dicas de [In]segurança
que se quer substituir. O agressor poderia ainda inserir arquivos a seu belprazer em qualquer diretório do usuário (e possivelmente alguns do sistema) usando outro velho truque índio, o da travessia de diretórios – sim, aquele em que se digita ../../.. em algum campo vulnerável do sistema. No caso, o campo vulnerável é a variável theme, presente na URL pois os dados são passados pelo método GET do HTML. ■ Referência no Gentoo: GLSA 200511-16
Smb4K. Um link simbólico, criado antes de o usuário rodar o Smb4k, que aponte para os arquivos /tmp/sudoers ou /tmp/super.tab poderia ser usado para forçar o Smb4k a sobrescrever arquivos do usuário (novamente o truque índio…). Isso é bem fácil, pois o Smb4k não verifica a existência desses arquivos antes de escrever neles. O agressor poderia, inclusive, conseguir privilégios mais altos, pois há a possibilidade de usar o truque para incluir nomes de usuário na lista de privilégios do programa sudo (/etc/sudoers). ■
Referência no SuSE: SUSE-SR:2005:026
Referência no Gentoo: GLSA 200511-15
Referência no Debian: DSA-901
❐ Smb4K O Smb4K é um navegador de compartilhamentos Windows (SMB/ CIFS) para o ambiente gráfico KDE. Uma vulnerabilidade que permite acesso não autorizado a arquivos foi encontrada no
“Mas se ao comeres te rodeiam moscas, é porque usas sempre as mesmas roupas” (Titãs)
Postura das principais distribuições Linux quanto à segurança Distribuição Referência de Segurança Conectiva Info: distro2.conectiva.com.br/ Lista: seguranca-admin@distro.conectiva.com.br e distro2.conectiva.com.br/lista Referência: CLSA-... 1 Debian
Gentoo
Mandriva
Info: www.debian.org/security Lista: lists.debian.org/debian-security-announce Referência: DSA-… 1 Info: www.gentoo.org/security/en/gsla/index.html Fórum: forums.gentoo.org Lista: www.gentoo.org/main/en/lists.xml Referência: GLSA: … 1 Info: www.mandriva.com/security Lista: www1.mandrdrivalinux.com/en/flists.php3#2security Referência: MDKSA-… 1 Info: www.redhat.com/errata Lista: www.redhat.com/mailing-lists Referência: RHSA-… 1 Info: www.slackware.com/security Lista: www.slackware.com/lists (slackware-security) Referência: [slackware-security] … 1 Info: www.novell.com/linux/security Lista: www.novell.com/linux/download/updates Referência: suse-security-announce Referência: SUSE-SA … 1
Comentários Possui uma página específica; não há link para ela na página principal. Os alertas são sobre segurança, mas distribuídos através de emails assinados com a chave PGP da empresa para assegurar sua autenticidade. Contém também links para os pacotes atualizados e para fontes de referência sobre o problema sendo corrigido. Alertas de segurança recentes são colocados na homepage e distribuídos como arquivos HTML com links para os patches. O anúncio também contém uma referência à lista de discussão. Os alertas de segurança são listados no site de segurança da distribuição, com link na homepage. São distribuídos como páginas HTML e mostram os comandos necessários para baixar versões corrigidas dos softwares afetados.
A Mandriva tem seu próprio site sobre segurança. Entre outras coisas, inclui alertas e referência a listas de discussão. Os alertas são arquivos HTML, mas não há links para os patches. Red Hat A Red Hat classifica os alertas de segurança como “Erratas”. Problemas com cada versão do Red Hat Linux são agrupados. Os alertas são distribuídos na forma de páginas HTML com links para os patches. Slackware A página principal contém links para os arquivos da lista de discussão sobre segurança. Nenhuma informação adicional sobre segurança no Slackware está disponível. SUSE Após mudanças no site, não há mais um link para a página sobre segurança, que contém informações sobre a lista de discussão e os alertas. Patches de segurança para cada versão do SUSE LINUX 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.
http://supertuxbr.blogspot.com 22
fevereiro 2006
edição 17
www.linuxmagazine.com.br
LM17_seguranca.indd 22
20.01.06 11:51:27
Vírus no Linux
O caminho da infecção no Linux
É seguro mesmo? Autores de vírus dizem que estamos sob ataque. Já entusiastas do Software Livre dizem que não temos com que nos preocupar. Qual é a verdade quando o assunto é vírus no Linux?
A
Protótipo de vírus A maioria das distribuições Linux vem com o gzexe, um pequeno utilitário que comprime arquivos executáveis e, automaticamente, os descompacta quando eles são executados. A ação do gzexe pode ser constatada comparando-se os tamanhos dos arquivos /bin/date e /tmp/date. Esse último é ligeiramente menor. Mas tente executar os dois arquivos. Percebeu a diferença? Todo executável compactado com o gzexe contém um cabeçalho especial no início do arquivo. Quando você abre o /tmp/date com algum editor de texto, irá perceber que esse cabeçalho é simplesmente um shell script. Logo abaixo,
Quer um bom antivírus? 27
Comparativo dos melhores programas contra vírus disponíveis em download
Clamando por segurança 33
Conheça o antivírus para desktop KlamAV, que leva o consagrado ClamAV ao KDE
Proteção na fonte
35
Proibido pescar!
38
Filtre spam e vírus no servidor de email com o Amavisd-new Saiba como proteger seus servidores contra phishing e pharming
Por Tomasz Kojm
maioria de nós sabe que o Linux é muito menos vulnerável a vírus do que o Windows®. Mas se você acha que não existem vírus no Linux, é melhor pensar duas vezes. Programadores de vírus contam com muitos artifícios para infectar um sistema Linux, embora os danos sejam bem reduzidos se você for cuidadoso e seguir regras simples de segurança. Neste artigo, descrevemos alguns exemplos de como funcionam os vírus do Linux, com dicas para manter seu sistema seguro.
Capa
ficam os dados binários do executável compactado. O código shell descompacta esses dados em um arquivo temporário e os executa. Todo o processo é invisível para o usuário e, em computadores rápidos, o atraso é mínimo. Agora imagine um cabeçalho modificado que faz o seguinte (antes de descompactar o rodar o código original): P Procura no $PATH um arquivo executável com permissão de escrita (ou cujo dono seja o usuário atual), que não seja um shell script. P Compacta o executável (ele contém o gzexe) e se insere como um cabeçalho. Esse cabeçalho gerado pelo gzexe se encaixa na defi nição de vírus da enciclopédia Wikipedia, ou seja, “um programa auto-replicador que se espalha inserindo cópias de si mesmo em outro código executável ou em documentos” [1]. Vamos chamar esse protótipo de vírus de Linux.Gzipper. Como podemos ver, criar um vírus simples que infecte uma máquina com Linux não é um desafio monstruoso. Os programadores de vírus podem até se aproveitar das vulnerabilidades conhecidas do sistema ope-
racional, já que o formato ELF (Executable and Linking Format) dos arquivos executáveis do Linux é muito similar ao PE (Portable Executable) do Windows, possuindo a mesma funcionalidade. Isso significa que autores de vírus podem usar, no Linux, muitas das técnicas avançadas de infecção desenvolvidas para o Windows na última década. Existem, de fato, vírus que infectam arquivos ELF. Contudo, mesmo os mais avançados vão se deparar com o mesmo problema que nosso simples Gzipper enfrenta: não é tão fácil causar danos em um sistema Linux. ➟
23
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Vírus no Linux
Listagem 1: Tudo começa com um arquivo
Proteção nativa
Programadores de vírus aproveitam-se testuser@testsystem:~/testfiles$ ls -l do fato de que a maioria dos usuários de total 727 sistemas operacionais proprietários estão -rwxr-xr-x 1 testuser testuser 49084 Sep 4 03:32 cp -rw-r--r-- 1 testuser testuser 651 Jul 28 2004 crontab acostumados a trabalhar em um nível alta-rwxr-xr-x 1 testuser testuser 88038 Nov 6 17:51 date.infected mente privilegiado, que permite a manipu-rw-r--r-- 1 testuser testuser 1489 Feb 10 2004 fam.conf lação de recursos críticos do sistema. -rw-r--r-- 1 testuser testuser 292 Jun 18 02:05 hosts No Linux – e em Unix no geral – há -rwxr-xr-x 1 testuser testuser 71996 Sep 4 03:32 ls um princípio fundamental: só se usa a -rw-r--r-- 1 testuser testuser 1426 Nov 6 01:44 passwd conta root para tarefas administrativas, testuser@testsystem:~/testfiles$ clamscan --no-summary nunca para trabalho regular. Enquanto /home/testuser/testfiles/cp: OK essa regra for seguida, a maioria dos /home/testuser/testfiles/ls: OK /home/testuser/testfiles/crontab: OK vírus não pode causar danos no sistema /home/testuser/testfiles/hosts: OK como um todo, devido ao mecanismo de /home/testuser/testfiles/fam.conf: OK permissões que o protege. Obviamente, /home/testuser/testfiles/date.infected: Linux.Rst.A FOUND um vírus pode tentar explorar brechas /home/testuser/testfiles/passwd: OK de segurança para conseguir privilégios mais altos – mas, de qualquer modo, um computador sem atualizações de segu- SPARC. E vice-versa. Mesmo “vírus mul- instalados como root para que estejam disponíveis para todos os usuários. ti-plataforma” (escritos em linguagens rança está vulnerável a muitas outras formas de ataque, não apenas vírus. interpretadas como Perl ou shell script) A execução desses pacotes infectaNosso protótipo de vírus, o Linux. podem falhar em rodar dependendo dos dos, a partir de uma conta privilegiada, Gzipper, faz uma busca no $PATH por elementos disponíveis no sistema alvo. permitia que o vírus infectasse facilarquivos executáveis que possam ser momente arquivos centrais do sistema. A Mozilla Foundation publicou um alerta dificados. Quando o Gzipper é executado Vírus “normais” (em comparação com por um usuário sem privilégios, ele só de segurança, pedindo que usuários poderá infectar arquivos que esse usuário “vermes”) não têm nenhum mecanismo coreanos que instalaram os produtos seja dono ou que tenha permissão para para se espalhar para outros computa- afetados checassem o sistema com um antivírus [2]. modificar. Na maioria dos casos, qual- dores. Eles podem apenas se disseminar Incidentes como esse ainda são bem quer tentativa de se espalhar para fora do em outros arquivos do sistema “hóspeambiente desse usuário será infrutífera. de”. Hoje em dia, um grande número de raros, mas é provável que aumentem no Infelizmente, há algumas distribui- administradores de sistema e usuários futuro, quando mais e mais programas ções Linux “amigáveis” que promovem só instalam programas contidos em suas estarão disponíveis na forma binária, já a péssima idéia de permitir que usuários distribuições de preferência ou pacotes compilada, em sites não-oficiais. oficiais, considerados confiáveis. Além comuns tenham privilégios de root – o disso, pacotes oficiais são assinados dique escancara as portas para a entrada de vírus e permite que eles infestem par- gitalmente e sua autenticidade pode ser Cada vírus de computador possui uma tes centrais do sistema. Na verdade, são checada antes da instalação. “carga” (payload) e cada um tem suas distribuições amigáveis para os vírus. Mas até os mecanismos mais seguros peculiaridades de infecção. A carga do não são imunes a erros humanos. vírus Linux.Gzipper é compactar arquiEm setembro de 2005, foi descoberto vos antes da infecção. Em alguns casos, Outro fator que faz a contaminação por que pacotes coreanos oficiais da suíte uma ação inocente como essa pode cauvírus ser mais difícil no Linux é o nú- Mozilla 1.7.6 e do Thunderbird 1.0.2, sar problemas de funcionamento sérios. mero de distribuições e arquiteturas de para Linux, continham o vírus Linux. E a maioria dos vírus do “mundo real”, não é tão boazinha como o Gzipper. processamento compatíveis – e as muitas RST.B. O incidente foi considerado grave diferenças entre elas. Um vírus compila- porque esses programas costumam ser O vírus RST, que infectou o Mozilla, é do para x86 não vai rodar numa máquina um dos poucos vírus para Linux encon-
Espalhando problemas
Os fatos
As muitas faces do Linux
24
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Vírus no Linux
Capa
Listagem 2: Expandindo a infecção testuser@testsystem:~/testfiles$ ./date.infected Sun Nov 6 18:02:46 CET 2005 testuser@testsystem:~/testfiles$ ls -l total 1010 -rwxr-xr-x 1 testuser testuser 97890 Nov 6 18:02 cp -rw-r--r-- 1 testuser testuser 651 Jul 28 2004 crontab -rwxr-xr-x 1 testuser testuser 88038 Nov 6 17:51 date.infected -rw-r--r-- 1 testuser testuser 1489 Feb 10 2004 fam.conf -rw-r--r-- 1 testuser testuser 292 Jun 18 02:05 hosts -rwxr-xr-x 1 testuser testuser 120802 Nov 6 18:02 ls -rw-r--r-- 1 testuser testuser 1426 Nov 6 01:44 passwd testuser@testsystem:~/testfiles$ clamscan --no-summary /home/testuser/testfiles/cp: Linux.Rst.A FOUND /home/testuser/testfiles/ls: Linux.Rst.A FOUND /home/testuser/testfiles/crontab: OK /home/testuser/testfiles/hosts: OK /home/testuser/testfiles/fam.conf: OK /home/testuser/testfiles/date.infected: Linux.Rst.A FOUND /home/testuser/testfiles/passwd: OK
trados em circulação e, provavelmente, ckdoor (“porta dos fundos”), “escutano mais eficiente. A primeira versão desse do” em uma porta UDP (listagem 3). Um vírus foi descoberta em 2001. RST sig- agressor com conhecimento específico nifica Remote Shell Trojan (ou “cavalo desse protocolo pode usar a porta dos de Tróia de shell remoto”), nome que fundos para ganhar um shell remoto no se baseia no modo de ação do vírus. Ao sistema infectado. ser executado, o RST tenta infectar arNão há muitos vírus para Linux e a quivos executáveis no diretório atual e, maioria não é tão eficiente como o RST. se tiver privilégios suficientes, também Contudo, alguns dos que existem imirá infectar os arquivos em /bin. plementam técnicas de infecção bem A listagem 1 exibe um diretório com interessantes. arquivos intactos. Apenas um deles está O Linux.Svat é um exemplo. No lugar infectado com o vírus. Rodar o date. de infecção direta, ele tenta modificar o infected como usuário não-privilegiasistema operacional para criar arquivos infectados. A listagem 4 mostra o procesdo resulta na infecção de arquivos do diretório atual (listagem 2). Além disso, so de compilação de um programinha o vírus inicia um servidor do tipo ba- “Olá mundo!” tradicional. O conceito do
Listagem 3: Nasce uma porta dos fundos testuser@testsystem:~/testfiles$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND […] testuser 28000 0.0 0.1 2116 876 ? S 18:02 0:00 ./date.infected […] testuser@testsystem:~/testfiles$ netstat -upan […] udp 0 0 0.0.0.0:5503 0.0.0.0:* 28000/date.infected
25
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Vírus no Linux
Listagem 4: Compilando um “Olá, mundo!”
chama a função close(), por isso o código de vírus de ola2 nunca será ativado.
testuser@testsystem:~/hello$ cat ola.c #include <stdio.h>
Mandamentos de segurança
int main(int argc, char **argv) { printf("Olá mundo!\n"); return 0; } testuser@testsystem:~/ola$ gcc ola.c -o ola1 testuser@testsystem:~/ola$ ./ola1 Olá mundo! testuser@testsystem:~/ola$ ls -l total 12 -rw-r--r-- 1 testuser testuser 100 Nov 6 18:46 ola.c -rwxr-xr-x 1 testuser testuser 7340 Nov 6 18:50 ola1
Listagem 5: Svat como root root@testsystem:~/Svat# clamscan --no-summary /home/root/Svat/svat: Linux.Svat.C FOUND root@testsystem:~/Svat# ls -l /usr/local/include total 0 root@testsystem:~/Svat# ./svat Example file infected with Svat. root@testsystem:~/Svat# ls -l /usr/local/include total 16 -rw-r--r-- 1 root root 14614 Nov 6 19:10 stdio.h
Svat é baseado no design do compilador padrão do Linux: o GCC. Quando o GCC se depara com um #include <arquivo.h>, ele procura o arquivo de cabeçalho arquivo.h nos diretórios de includes: primeiro em /usr/local/include, depois em /usr/include – esse último é o diretório onde estão todos os arquivos .h importantes. O stdio.h é um dos mais usados. Como mostra a listagem 5, quando o arquivo infectado pelo Linux. Savt é executado com privilégios de root, um novo arquivo stdio.h é instalado em /usr/local/include. O novo stdio.h inclui o original, mas redefine a função de sistema close(), que agora chama a rotina de vírus virfunc() antes de fechar os descritores de arquivos. A rotina contém erros e irá causar uma falha de segmentação
26
se não tiver permissão de escrita em
A maioria das práticas para se proteger contra vírus no Linux são similares às regras em outros sistemas operacionais. Todo usuário ou administrador deveria seguir esses mandamentos básicos. P 1. Nunca use a conta root para tarefas rotineiras P 2. Evite executar binários de origem desconhecida. Cheque esses pacotes com programas antivírus e anti-rootkit P 3. Cheque cuidadosamente todo arquivo antes de rodá-lo como root P 4. Mantenha seu sistema atualizado. Instale regularmente atualizações oficiais de segurança P 5. Proteja seus sistema com senhas difíceis de adivinhar e outros métodos de segurança P 6. Monitore mudanças no sistema usando programas que verificam a integridade do sistema É como dizia a mamãe: não aceite balas de estranhos, nem balas estranhas de pessoas conhecidas… ■
/usr/local/include. Como o código
desse vírus é defeituoso, suas chances de replicação são bastante limitadas. A rotina de infecção será incluída em todo arquivo recém-compilado que use o arquivo de cabeçalho stdio.h, como mostra a listagem 6. Nosso exemplo ola.c não
Informações [1] Definição de vírus no Wikipedia: en.wikipedia.org/wiki/Computer_virus [2] Alerta de segurança do Mozilla Security Center: http://www.mozilla.org/security
Listagem 6: Compile e infecte testuser@testsystem:~/ola$ gcc ola.c -o ola2 testuser@testsystem:~/ola$ ls -l total 28 -rw-r--r-- 1 testuser testuser 100 Nov 6 18:46 ola.c -rwxr-xr-x 1 testuser testuser 7340 Nov 6 18:50 ola1 -rwxr-xr-x 1 testuser testuser 13558 Nov 6 19:26 ola2 testuser@testsystem:~/ola$ clamscan --no-summary /home/testuser/ola/ola1: OK /home/testuser/ola/ola2: Linux.Svat.C FOUND /home/testuser/ola/ola.c: OK
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Antivírus
Capa
Quer um bom antivírus? Ferramentas de proteção para o ambiente Linux
Analisamos os melhores programas da área, cada um com suas
qualidades e defeitos. Conheça os resultados desse teste.
Por James Mohr
D
esde o ataque do famoso vírus Bliss no começo de 1997, pouco se falou na mídia sobre vírus em Linux. Contudo, dependendo de qual for sua fonte de informações, existem de algumas dúzias a até 400 vírus, trojans e outros tipos de programas maliciosos voltados para Linux e outros sistemas Unix. Comparado com as dezenas de milhares de vírus para Windows®, as chances são muito menores de você ser diretamente atingido por um vírus de Linux. Mas, como mostrou o artigo anterior, é muito importante realizar checagens contra infecções. Se você estiver usando Linux como um servidor de email ou arquivos, precisa definitivamente considerar a instalação de um programa antivírus. No meu caso, a dúzia de vírus que pego toda semana é um motivo para tomar uma atitude ativa na luta contra essas pragas. Ao começar esse projeto, esperava encontrar poucas companhias que oferecessem produtos antivírus para essa plataforma. Encontrei algumas que só estavam pegando carona na onda do Linux, mas muitas tinham uma atitude bastante ativa e profissional no combate aos vírus para Linux. Nesse artigo, vou analisar alguns dos mais populares programas antivírus para Linux. Escolhi somente produtos que pude baixar na Internet e testar, mesmo que a versão fosse apenas de testes (trial). Não foram testados produtos
disponíveis apenas sob encomenda. Mas Embora iniciar o primeiro scan tenha esse último tipo parece ser uma exceção, sido mais simples do que em outros projá que pude reunir um bom número de dutos, o único arquivo que o Bitdefender produtos. Em alguns casos, produtos inicialmente identificou como vírus foi mais avançados, como versões para o arquivo de teste EICAR. Além disso, a servidores de arquivos ou email, não ajuda online não condizia com a ajuda estavam disponíveis para download. da página de manual. Usei um comando Além da capacidade de reconhecer descrito na manpage que deveria incluir e remover vírus em nosso laboratório arquivos compactados, mas nenhum dos de testes, também avaliei os progra- arquivos .zip foi escaneado. O programa só foi escanear arquivos mas por sua facilidade de uso. Tomei como princípio que a instalação e uso que não fossem executáveis do Windows de um produto comercial deva ser fácil. – ou seja, terminados em .exe, .com, .bat Não deveria ser preciso um experiente – quando usei a opção –all. A curiosidaadministrador de sistemas para insta- de é que mesmo sem a opção -all, ele lá-lo. Meu objetivo original era falar escaneou os arquivos letter32.txt e sobre versões para estações de trabalho body2.txt. (workstation). Mas nem toda companhia Mas mesmo quando usei a opção –all, tem uma versão com essa denominação. as coisas não funcionaram direito. O Nesses casos, escolhi um produto com programa reportou todos os arquivos funcionalidade similar. .zip como estando OK, enquanto outros produtos reconheceram vírus nesses arquivos. Já quando mudei as extensões A versão Linux analisada desse antivírus foi para .exe ou .doc, eles foram escaneados a chamada BitDefender-Console-AntiviListagem 1: BitDefender rus-7.0.1-3, que vem como um arquivo RPM. Embora o BitDefender [1] não suporte 01 Results: a mesma gama de sistemas operacionais 02 Folders :1 que programas de outras companhias, ele 03 Files :64 04 Packed :0 fornece uma boa variação em seus pro05 Infected files :32 dutos. Há versões para o sendmail, para 06 Suspected files :0 filtros específicos do sendmail (chamados 07 Warnings :0 de milters), Qmail, PostFix e Courier. Além 08 Identified viruses :7 da versão Linux, há também uma opção 09 I/O errors :2 gratuita desse scanner para o Windows.
BitDefender
27
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
e identificados como compactados. E os arquivos compactados dentro deles foram identificados como os mesmos vírus reconhecidos por outros produtos. Descobri que, no arquivo de configuração, havia uma lista de extensões que o programa usa para decidir se escaneia ou não um arquivo. Só quando acrescentei “zip” à lista, os arquivos desse tipo foram escaneados e os vírus identificados corretamente. Ao que tudo indica, se o arquivo não está na lista de extensões conhecidas, ele não é escaneado por padrão. Considerando que o Linux não trabalha com extensões de arquivos da mesma maneira que o Windows (e esse é um scanner de Linux!), parece que o aplicativo escaneia arquivos como se estivesse no Windows, levando em conta apenas as extensões. Mas tenho que admitir que a empresa respondeu bem rápido aos meus emails com perguntas sobre esses itens, coisa que nem toda companhia faz. Em sua resposta, admitiram que a documentação tinha que ser mais clara e foram muito atenciosos em me ajudar a resolver esses problemas. Embora eu tenha tido problemas para fazer com que o programa rodasse bem, depois que isso foi feito ele identificou todos os vírus corretamente. Já que esse é um item-chave, vale a pena considerar o BitDefender – especialmente porque a versão Linux é livre para uso doméstico.
Listagem 2: ClamAV 01 02 03 04 05 06 07 08
28
---------SCAN SUMMARY--------Known viruses: 40507 Engine version: 0.86.2 Scanned directories: 1 Scanned files: 69 Infected files: 69 Data scanned: 4.91 MB Time: 3.705 sec (0 m 3 s)
Antivírus
ClamAV O ClamAV [2] foi o único antivírus de código aberto que encontrei. Inicialmente, imaginei que seria necessário compilar o programa, ou então que estariam disponíveis binários apenas para poucas distribuições Linux. Para minha surpresa, todas as grandes distribuições estavam cobertas, incluindo outros sistemas operacionais como Solaris, AIX, FreeBSD e até BeOS! Havia também uma versão específica para milters do sendmail, e também para diferentes versões do Windows, tanto “nativas” quanto rodando o ambiente Cygwin. Baixei e instalei o RPM clamav-0.86.2 e, ao contrário de outros produtos, as manpages foram todas instaladas corretamente. O comando man -k clam mostrou todas as páginas de ajuda corretas. Meu primeiro scan foi muito simples. O ClamAV reconheceu todos os vírus, coisa que nem todo produto comercial faz. Sobre diferentes versões do produto, não há como falar de uma voltada especificamente para servidores ou estações de trabalho. Você leva o programa completo em um único pacote. Além do tradicional scanner de linha de comando, também está incluído o clamd, um daemon multi-thread que ativa o escaneamento on-access (por cada acesso de arquivo) para Linux e FreeBSD. Mas isso requer que você recompile o kernel, instalando o módulo Dazuko. Embora o ClamAV não seja o campeão em opções da linha de comando, ele definitivamente fica em pé de igualdade com produtos comerciais em termos de opções de configuração. Mas, infelizmente, não há um arquivo de configuração para especificar um comportamento padrão. É preciso especificar todas as opções a cada vez que se roda o programa. No entanto, escrever um shell script que contorne isso não é difícil. Definitivamente,
não desclassifico o ClamAV por causa disso. O clamd e o programa de updates têm arquivos de configuração, cada um com uma grande variedade de opções. O scanner de linha de comando possui algumas boas funções. Por exemplo, é possível escanear arquivos enviados para a entrada padrão do clamscan (por exemplo, cat arquivo | clamscan -). Outros programas terminam com diferentes códigos de saída, conforme encontrem um vírus ou ocorra algum erro. Já o ClamAV dá detalhes sobre o que aconteceu, um recurso único entre todos produtos que testei. Essas funções permitem que o programa seja facilmente integrado com outros aplicativos, por exemplo servidores de email.
F-Prot O F-Prot [3], da FRISK Software International, talvez seja o antivírus mais famoso para Linux. Já foi o único do tipo disponível sem custo para usuários domésticos. Embora hoje já não seja o único a oferecer isso, ainda está disponível em versão integral para se usar em casa. Há também versões para Windows, algumas versões do Unix e IBM eServers. Baixei e instalei a versão workstation gratuita 4.6.0, disponível como um arquivo RPM. O pacote não continha nenhum arquivo PDF, README ou coisa similar. Precisei examinar que arquivos o RPM continha para saber que tipo de documentação estava disponível e também para determinar que arquivo eu deveria executar. Tive que adivinhar o comportamento de certas opções, já que o F-Prot tem documentação muito limitada. Embora suficiente para rodar o programa, não vai muito além disso. A manpage faz referência a uma outra página de manual inexistente, que trata do arquivo de configuração f-prot.conf.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Antivírus
Mas o número de opções disponíveis é comparável ao de produtos comerciais e, para alguns casos, mais fácil de usar. Examinando o arquivo de configuração, encontrei opções que pareciam se aplicar apenas a um daemon ou outro programa rodando em servidores de email ou de arquivos, sugerindo que a versão gratuita é, na verdade, uma versão limitada de algum outro produto. Todos os vírus foram identificados com exatidão pelo F-Prot. Levando em conta que reconhecer vírus é o objetivo principal, realmente vale a pena dar uma olhada nesse programa.
F-Secure Anti-Virus O F-Secure [4] tem talvez a mais ampla gama de produtos antivírus; por exemplo, o F-Secure Anti-Virus Enterprise Suite contém produtos voltados tanto para estações de trabalho Windows como para servidores Citrix, gateways Linux, servidores Samba e mais. Baixei a versão workstation 4.52, com uso limitado a 30 dias. O programa veio como um arquivo .tgz contendo um shell script com um binário embutido. As instruções informam que, para remover o programa, basta remover o diretório correspondente. Contudo, a remoção ainda deixa alguns arquivos pelo sistema. A documentação sugere usar o comando find para procurar esses arquivos, coisa pouco digna de um produto comercial. Um ponto positivo é que, durante a instalação, você é consultado sobre diversas opções para definir o comportamento do programa. Contudo, ao contrário de outros produtos, o número de questões é mínimo. Foi desapontador descobrir que essa versão não escaneava direito arquivos .zip contendo vírus. Quando isso acontecia, o programa reportava um “erro interno”. Isso aconteceu nos mesmos arquivos que versões livres e outros pro-
gramas comerciais identificaram como infectados. Para um produto comercial, não encontrar determinado vírus é algo bastante desconfortável. Não encontrei nada no site da F-Secure que pudesse me ajudar quanto a esse problema. Além do scanner de linha de comando, há também um daemon que se inicia com um script do tipo rc ou pelo scanner de linha de comando. Essa versão contém um shell script que insere um cronjob para escanear o sistema automaticamente ou atualizar a base de dados de vírus.
AntiVir Desenvolvido pela empresa alemã H+BEDV Datentechnik GmbH [5], o AntiVir costuma acompanhar muitas das versões do SuSE Linux e está disponível como download gratuito e 100% funcional para usuários domésticos. Tentei por vários dias baixar a versão Free, não-comercial, mas só obtinha erros do servidor. Acabei baixando a versão Professional 2.1.4.8, disponível com limite de 30 dias. Essa impressão inicial negativa foi reforçada pelo fato de que na página da web voltada a “business solutions” o texto parecia ter sido escrito por alguém cuja língua nativa não é o inglês. Esses problemas se estendem pela documentação online e até pelo script de instalação. Uma versão desse programa (com licença de avaliação) veio junto com a distribuição Linux que uso. Como ela já estava instalada, imaginei que a melhor maneira era removê-la primeiro para instalar a versão do site. Embora o comando rpm, aparentemente, tenha removido todos os arquivos, o banco de dados RPM ainda considerava o pacote como instalado. Aparentemente, algo deve ter saído errado. Não estava clara a maneira de remover o pacote completamente. E a
Capa
Listagem 3: F-Prot 01 02 03 04 05 06 07 08 09 10 11 12 13
Results of virus scanning Files: 71 MBRs: 0 Boot sectors: 0 Objects scanned: 129 Infected: 67 Suspicions: 1 Disinfected: 0 Deleted: 0 Renamed: 0 Time: 0:01
resposta do suporte da H+BEDV não ajudou muito. Como não comprei a versão profissional, ela estava rodando em modo de demonstração (DEMO mode). Isso significa que o programa não podia atualizar as definições de vírus. Felizmente, todos os vírus que eu tinha eram velhos o bastante para já estarem incluídos. Mas se você planeja testar o produto no futuro, isso pode ser um problema. O texto de instalação README e tudo o mais está em inglês. Mas há um documento, chamado “manual de usuário de servidores UNIX”, que está apenas em alemão, em um arquivo PDF. Quando finalmente consegui baixar a versão Personal Edition, não consegui encontrar o modo de remover a versão profissional, já que ela não foi instalada na forma de um pacote RPM. A única coisa que encontrei na documentação do site indicava que um update poderia ser feito simplesmente rodando o script de instalação da versão que se deseja instalar. Foi o que fiz. O script identificou que havia uma versão já instalada e, aparentemente, fez a atualização. Como a versão Personal Edition veio com uma chave de ativação, eu não mais recebia a mensagem de que se tratava de uma versão demo. Se isso é o correto ou não, não ficou claro, mes-
29
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
mo após uma troca de emails com o suporte da H+BEDV. Em comparação com outros programas, a instalação demorou bastante, já que é preciso responder a muitas perguntas sobre como o software deve ser configurado. Para a versão profissional, isso é compreensível e até aprecio tal procedimento. Contudo, algumas das perguntas são complicadas demais para um usuário normal. Então, para a Personal Edition, esse acabou sendo mais um incômodo. Parte do produto é o AvGuard, que possibilita o escaneamento on-access (a cada acesso de arquivo) e pede que você instale o módulo Dazuko através da recompilação do kernel. Esse módulo foi desenvolvido originalmente pela própria H+BEDV.
Kaspersky Anti-Virus A versão Linux Workstation está disponível como um download, com limite de 30 dias de uso. Baixei a versão 5.5-2. Dos produtos que examinei, o Kaspersky [6] definitivamente passa a impressão de ser o mais profissional. Embora não queira transmitir a impressão de que os outros não sejam profissionais, esse provavelmente é o pacote mais coeso. Analisei tanto os recursos como a apresentação. Além da versão workstation, o Kaspersky tem versões para servidor de
Listagem 4: Sophos 01 02 03 04 05
67 files swept in 2 seconds. 2 errors were encountered. 60 viruses were discovered. 60 files out of 67 were infected. Please send infected samplesU for Sophos for analysis. 06 For adive consult www.sophos.com,U email support@sophos.com or U telephone +44 1235 559933 07 End of Sweep.
30
Antivírus
arquivos, para diversas distribuições As opções de linha de comando são Linux e plataformas UNIX. Uma versão assustadoras, simplesmente porque são para servidores de email suporta tanto inúmeras. Mas a documentação me deu o sendmail quanto o Qmail. Também um bom exemplo de como começar. Nem há versões para milters sendmail e uma é preciso dizer que ele identificou corversão para o Samba. Incluído com o retamente todos os vírus. O mecanismo download, está um PDF de 68 páginas, de update é completo, como o próprio definitivamente muito maior que a do- programa, e permite fazer atualizações cumentação dos outros produtos. do banco de dados de definições, mesmo O arquivo .tgz que baixei continha atrás de um servidor proxy protegido pacotes RPM, deb e tar.gz. Instalei o por senha. RPM. Durante a instalação, pergunta-se se o módulo Webmin também deve ser instalado. Se você preferir, ele pode ser Esse é um antivírus oferecido pela Soadicionado depois. A versão workstation phos PLC [7]. Encontrar a versão aprotambém vem com um daemon iniciado priada no site da empresa não foi uma por um rc-script, que intercepta requisi- tarefa fácil, já que precisei adivinhar ções ao sistema de arquivos, antes que que “Other” (outros) significava Linux os aplicativos possam acessá-lo. e a maioria dos sistemas operacionais No geral, essa é uma função muito útil, “não-Windows”. Entre eles, a maioria mas alguns programas travaram enquan- das distribuições UNIX, incluindo a SCO. to o daemon estava rodando, justamente Achei até uma versão para Open VMS. Não ficou claro qual versão baixei, já quando tentavam acessar arquivos com vírus. Também notei queda de desempe- que o arquivo se chamava linux.innho significativa no sistema ao rodar o tel.libc6.glibc.2.2.tar.Z. Depois kavmonitor. Em alguns casos, a carga na da instalação, descobri que a ferramenta CPU chegou a 100% ou ficou bem perto principal de escaneamento estava na disso. Mas, para mim, isso não foi algo versão 3.97.0. que desclassificasse o programa. A instalação foi bem simples mas, O arquivo de configuração é bem gran- diferentemente de outros antivírus, o de, com todas as opções que se pode Sophos requer que você primeiro crie, esperar. É possível especificar a execu- manualmente, um usuário e um grupo ção de determinado programa caso se especiais. Depois é preciso rodar um identifique um vírus ou arquivo sus- shell script que, aparentemente, apenas peito. Por exemplo, no caso de infecção, copia os arquivos para o local apropriado. o programa pode enviar um email ao A remoção do produto precisa ser feita administrador, gravar um log e outras manualmente, apagando-se uma lista coisas do tipo. Encontrei problemas ao de arquivos e diretórios. fazer o escaneamento como usuário norFazer o primeiro scan manual não foi mal. Baseado nas opções do arquivo de tão fácil, já que não estava claro que arconfiguração padrão, não pude gravar quivo precisava ser executado. Como não alterações em alguns arquivos. Contudo, havia um pacote RPM, não havia jeito de é possível especificar um outro arquivo procurar por alguma manpage. Foram de configuração e ajustá-lo para que o precisos alguns minutos para entender scanner grave em um local definido pelo o que precisava ser feito. usuário – desde que tenha permissões Embora tenha instalado o programa suficientes para isso. como usuário root, acabei com um mon-
Sophos
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Antivírus
te de problemas quando tentei fazer Em comparação com outros produtos, meu primeiro escaneamento. Havia um não há muitas variações no Vexira Antidiretório ausente, requerido pelo progra- virus. Existe uma opção para servidores ma. Depois de criar esse diretório, des- de email, Samba e um produto voltado cobri que faltava um outro. Após passar simplesmente para “servidores Linux”. por esse processo mais algumas vezes, Já de início, senti que sua linha de finalmente consegui rodar o scan. comando é ligeiramente pesada e lenta. O motivo de esses diretórios estarem Ao executar o comando, não fica imediafaltando não estava explicado em ne- tamente óbvio quais as opções – e em nhum lugar do site da Sophos. Tive uma que ordem usá-las – precisam ser forneresposta bem rápida da empresa quan- cidas simplesmente para se escanear e do enviei um email perguntando sobre listar arquivos infectados. Por padrão, isso; foram bastante atenciosos em me a ferramenta pára em qualquer arquivo ajudar. Depois disso, o scan rodou fácil e infectado e pergunta o que fazer. a ferramenta rapidamente identificou alMinha opinião pessoal é que, ao guns vírus. Contudo, cinco dos arquivos escanear o sistema, o usuário simplesforam deixados de lado e a ferramenta mente quer saber se há vírus antes de tonão identificou os vírus de outros cinco mar qualquer atitude. Ter que responder arquivos. Ao usar a opção -all, apa- o que fazer em cada arquivo infectado é rentemente alguns tipos de arquivo não um pouco irritante. Como computadores foram escaneados. Para escanear todos já são bens bastante difundidos, seria de meus arquivos infectados, precisei usar se esperar que as coisas simplesmente tanto a opção -all quanto -archive. funcionassem de maneira suficientemenTentei entender quais tipos de arquivos te fácil. Não deveria ser necessário ler não eram escaneados por padrão. Tam- toda a documentação disponível apenas bém tentei usar diferentes opções para para um scan básico. Diferentemente de outros produtos, o que arquivos limpos fossem listados, sozinhos ou como parte de um arquivo Vexira não tem update automático das de registro completo, sem sucesso. Em- definições de vírus. É preciso acessar bora tenha conseguido, em determinado um servidor FTP para baixar e instalar momento, que todos os arquivos fossem o banco de dados manualmente, subsescaneados e seus vírus, detectados, isso tituindo as definições antigas. Mas uma deu muito trabalho. coisa de que realmente gostei foi o relatório do scan. A cada vírus que encontra, ele mostra Esse é um produto fornecido pela em- um killable (exterminável) ou Not killapresa Central Command, Inc. Baixei a ble, por exemplo. Além disso, soma os versão 1.2.0 do Vexira Command Line diferentes tipos de programas maliciosos Virus Scanner [8]. encontrados, como vermes de Internet, Na verdade, o Vexira não é "instalado" vírus ou até mutantes. Isso me pareceu no sentido tradicional do termo. Você realmente único em um antivírus. Apesimplesmente descompacta o pacote e sar dos pontos negativos que encontrei tem todos os arquivos necessários na no programa, fiquei com uma boa imsua frente. Embora isso possa ser inte- pressão sobre o produto, tanto do ponto ressante em um programa livre para uso de vista técnico quanto em relação à pessoal, fiquei desapontado por se tratar empresa de modo geral. Recebi respostas de um produto profissional. bem rápidas aos meus emails com dúvi-
Vexira
Capa
Listagem 5: Vexira 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15
Summary of scanned objects' types ---------------------------------files (total) | 68 in archives | 59 mail parts | 6 Summary of malware pieces found ---------------------------------iworm | 67 virus | 3 mutant | 1 Summary of actions taken on alert ---------------------------------skipped | 71
16 17 Error summary 18 ---------------------------------19 inacessible target | 2
das, e os técnicos estavam abertos tanto para sugestões quanto críticas.
Sem solução única Não pude encontrar um produto específico que fizesse tudo direito. Como costuma ser o caso com software, é preciso tomar uma decisão com base nos recursos mais importantes para você. Os produtos que imediatamente reconheceram todos os vírus talvez tenham características que não lhe agradem. Dependendo das necessidades de cada usuário, um produto pode ter um recurso que o faz sobressair-se dentre os outros. ■
Informações [1] Bitdefender: www.bitdefender.com [2] Clam AV: www.clamav.net [3] F-Prot: www.f-prot.com [4] F-Secure: www.f-secure.com [5] H+BEDV: www.hbedv.com [6] Kaspersky: www.kaspersky.com [7] Sophos: www.sophos.com [8] Vexira: www.centralcommand.com
31
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
KlamAV
Clamando por segurança
O KlamAV leva o antivírus ClamAV para seu desktop KDE
Linux pode não ser vulnerável como o Windows, mas nenhum usuário quer ficar “hospedando” programas maliciosos. Está aberta a temporada de caça aos vírus com o KlamAV, um frontend para o sistema de proteção de código aberto ClamAV. Por Robert Hogan
www.sxc.hu – Linda Mcnally
S
e você recebe email e baixa arquivos de fontes não confiáveis, seu computador pode acabar se tornando um “repositório” de vírus e programas maliciosos. Embora muito poucos desses programas possam causar danos reais a um sistema Linux, esses vírus continuam sendo desnecessários e indesejados. Em alguns casos, existe o risco de transmitilos para usuários de Windows ®. Portanto, faz sentido implementar alguma forma de proteção. Uma das maiores histórias de sucesso envolvendo software livre é o ClamAV, que busca por assinaturas de vírus em servidores de email, desenvolvido originalmente por Tomasz Kojm e hoje apoiado por uma comunidade crescente, com infra-estrutura de atualizações de nível profi ssional. Já o objetivo do KlamAV é trazer esse poderoso sistema para o desktop KDE.
32
Obtendo ClamAV/KlamAV
Escaneando arquivos e diretórios
O KlamAV já está começando a vir com algumas distribuições Linux populares. Se A aba Scan da janela principal do Klao programa não estiver disponível em seu mAV permite selecionar os arquivos e sistema, é possível instalá-lo de diversas pastas que se deseja escanear. Todas as maneiras. A primeira opção é o instalador pastas de seu sistema estão disponíveis disponível em [1]. Um duplo clique no ar- nessa aba. É possível selecionar qualquer quivo baixado irá descompactar e rodar combinação de diretórios, com qualquer um programa chamado Arkollon [2], que gerencia a compilação e instalação do KlamAV e seus componentes. Mas a instalação manual também é uma opção, se você tiver baixado o pacote com o código fonte. Nem é preciso dizer que o ClamAV é um prérequisito para o KlamAV. Então, não se esqueça de Figura 1: O Arkollon, um instalador gráfico para Linux, lidando baixá-lo [3] e instalá-lo com a compilação e instalação do KlamAV. antes de tudo.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
KlamAV
número de níveis, em quantas árvores de diretórios você quiser, em um único passo. O KlamAV pode rodar vários scans ao mesmo tempo. Você também pode dar um clique com o botão direito do mouse em um arquivo ou diretório no Konqueror e começar um scan pelo menu de contexto do navegador de arquivos. O KlamAV irá abrir uma nova aba de escaneamento e continuará com os processos interrompidos. Ainda no espírito de completar tudo de uma vez só, é possível agendar scans futuros nessa janela: por exemplo, após seu próximo login no KDE. Um recurso popular em muitos antivírus comerciais é a checagem on-access, ou seja, o escaneamento automático de arquivos assim que são acessados pelo sistema. Graças ao módulo do kernel Dazuko [4] e o suporte integrado do ClamAV a esse recurso, a checagem on-access também é possível via KlamAV. O Dazuko intercepta chamadas do sistema a arquivos e permite que programas externos, como o ClamAV, decidam se o acesso a esse arquivo deve ser permitido. Convenientemente, ele vem junto com o KlamAV. No entanto, como o kernel varia conforme a distribuição, talvez seja melhor não selecioná-lo na hora da instalação e fazer isso manualmente mais tarde.
Capa
A configuração é simples e direta. Você pode decidir sob quais condições os arquivos serão escaneados (por exemplo, no momento da execução, abertura, fechamento, leitura ou gravação do arquivo). Se quiser usar esse recurso, encontre a combinação que melhor satisfaça a suas necessiFigura 3: Enquanto a checagem é feita, você pode selecionar dades. Mas mantenha-se outros arquivos e diretórios para escanear a partir do Konqueror. consciente de que esse é, talvez, o elemento mais experimental do ClamAV/KlamAV. Nem de e-Mail no KlamAV e peça para ele toda a área de escaneamento on-access configurar seu cliente de email para a no Linux está 100% madura. verificação de novas mensagens. Caso seu cliente de email não seja compatível com a configuração automática, o KlaUma desvantagem irritante nos atuais mAV permite configurar manualmente sistemas desktop do Linux é que a maio- qualquer cliente de email em que seja ria das tentativas para escanear novos possível “dar um pipe” nas mensagens emails trava completamente o cliente para um programa externo. Estão dispode email enquanto as mensagens são níveis instruções para guiá-lo por esse baixadas. Mas graças à elegância da processo de configuração. arquitetura ClamAV, o KlamAV oferece um componente chamado klanmail para corrigir esse problema. A parte mais importante do gerenciamento Trata-se basicamente de um utilitário de um sistema de proteção para desktop de linha de comando que aceita email é manter-se atualizado. O ClamAV posna entrada padrão, faz o escaneamento sui uma rede de atualizações que fica em em um processo ClamAV rodando no pé de igualdade com – e muitas vezes fundo e o devolve na sa- até superando – opções comerciais, em ída padrão. Uma vez que velocidade e precisão na resposta a vírus o processo de scan roda descobertos. Um estudo recente da Electric como um daemon, não Mail constatou que, comparado com dois há grande perda de tem- dos cinco melhores antivírus comerciais, po com a inicialização do klanmail. Caso o email esteja infectado, o klanmail isola o vírus em um email de alerta e mostra uma janela de aviso. Para Figura 2: Selecionando diretórios para serem escaneados. Note usar esse útil recurso, que há scans em andamento nas abas de seções ocultas. Figura 4: Configurando scans agendados. selecione a aba Proteção
Verificando emails
Atualizações
33
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
KlamAV
o ClamAV foi o primeiro a responder em que fazer com arquivos 77% das vezes em que foram descobertos suspeitos. Isso porque os últimos 50 novos vírus [5]. os nomes dos vírus são O KlamAV também permite o contato pouco esclarecedores. “permanente” com o serviço de atuali- Todo mundo, em algum zação com apenas alguns cliques. Para momento, já se viu no checar por atualizações a cada meia hora, Google buscando pelo sigsimplesmente selecione a aba Atualizar, nificado de nomes como selecione 48 Vezes por dia e marque Atu- “Gen.1024-PrScr.1”. alizar base de dados de vírus automaticaO KlamAV tenta intemente. Agora clique em Atualizar agora grar da maneira mais fá- Figura 6: Cheque o banco de dados de assinaturas com o navegador de vírus do KlamAV. e esqueça o que acaba de ler, pois não cil possível esse segundo vai precisar disso de novo. passo no procedimento Além das atualizações no banco de dados da descoberta de um vírus em seu sisde assinaturas de vírus, também é impor- tema. Quando o KlamAV encontra um O KlamAV é o humilde primo para KDE tante manter o próprio ClamAV atualizado. vírus, ele é mostrado na interface de do formidável ClamAV. Ele traz todo o Seu “motor” contém importantes sistemas escaneamento. Você tem a opção de poder do ClamAV para o KDE, com uma de detecção, que são continuamente me- deixar todos os arquivos suspeitos em interface em que é muito fácil verificar lhorados e atualizados. Se você selecionar quarentena imediatamente (eles podem arquivos e gerenciar suspeitas de infecUpdate ClamAV automatically (a tradução ser investigados melhor mais tarde, na ções. O futuro dos sistemas antivírus e em português está incompleta) na aba aba Quarentena) ou usar o botão direito de proteção contra programas maliciosos Atualizar, o KlamAV irá checar por uma do mouse para selecionar um ou mais para o desktop no Linux aponta para nova versão do ClamAV sempre que ele for arquivos para uma pesquisa específica diversas direções. Entre elas, detecção de iniciado. Se uma nova versão estiver dispo- e a "internação" em quarentena. root kits, análise heurística, a evolução nível, ela será baixada e até compilada. Mas Se o ClamAV achar uma versão do do scan on-access e do escaneamento mesmo que essa opção não seja marcada, Worm.Mytob, por exemplo, você pode da memória residente. o programa ainda vai alertá-lo de que sua selecionar Search Worm.Mytob with ViEssa área vai se tornar mais importante versão está ultrapassada, oferecendo a op- rusPool. Essa opção irá abrir a aba Infor- junto com o crescimento da adoção do ção de baixar e instalar a atualização. mações sobre Vírus. O banco de dados de Linux. E o ClamAV certamente fornece assinaturas de vírus vai aparecer e um uma boa base para satisfazer as necesnavegador embutido exibirá informa- sidades do usuário doméstico de Linux. ções sobre o Mytob usando como fonte Vamos torcer para que o KlamAV contiNão há muito segredo para se encontrar o VirusPool, um banco de dados online nue em sua missão de oferecer um ótimo vírus. A tarefa desafiadora é decidir o sobre vírus conhecidos. antivírus para o KDE. Se quiser ver o Enquanto estiver no KlamAV em ação, vá até o site e cheque navegador de vírus, você o vídeo-tutorial. Ou mergulhe logo de pode pesquisar qualquer cabeça e baixe o instalador em [1]. ■ um dos vírus no banco de Informações dados do ClamAV usando diferentes fontes online. [1] KlamAV: klamav.sf.net A opção de pesquisar ví- [2] Arkollon: apollon.sf.net rus também está dispo[3] ClamAV: www.clamav.net nível no gerenciador de [4] O Dazuko está disponível em: quarentena, novamente www.dazuko.org com um clique do botão [5] Estudo da Electric Mail: direito do mouse sobre o www.linuxpipeline.com/166400446 Figura 5: O KlamAV procura por updates automaticamente. arquivo infectado.
Finalmente
Vírus encontrado! Não entre em pânico
34
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Amavisd-new
Proteção na fonte Filtre spam e vírus no servidor de email
Capa
O melhor momento para eliminar emails suspeitos é antes de eles chegarem à sua caixa de entrada. O Amavisd-new é uma interface de código aberto para integrar filtros de spam e vírus com seu servidor de email. Por Larkin Cunningham
A
pesar de ser possível a contaminação a partir de disquetes, CD-ROMs e mesmo por vermes e root kits que atacam diretamente vulnerabilidades do sistema, a probabilidade maior é de receber vírus por email. Sem sombra de dúvida, é importante ter um antivírus atualizado no computador. Entretanto, a melhor tática é se proteger contra spam e vírus já no servidor de email, impedindo que mensagens indesejadas cheguem ao usuário, e mantendo os vírus do lado de fora de sua conta POP3 ou IMAP. Filtrar no servidor reduz a carga no computador, a banda de Internet usada e diminui bastante a chance de mensagens comprometidas chegarem à sua estação de trabalho, além de reduzir o risco de um vírus passar despercebido, se houver um antivírus diferente no computador do usuário. O Amavisd-new [1] é uma ferramenta de código aberto que serve como interface entre o servidor de email e outras formas de verificadores de conteúdo. Embora algumas ferramentas antivírus forneçam seus próprios mecanismos para filtrar mensagens no servidor, o Amavisd-new oferece vantagens em performance e garante um único ponto de configuração para gerenciar a filtragem tanto de vírus quanto de spam.
Alta performance O Amavisd-new foi desenvolvido na linguagem Perl. Flexível e de alto desempenho, o aplicativo roda como um daemon que dispara um conjunto de processos (pai e filhos). Ele se parece com um servidor SMTP, recebendo mensagens do seu servidor SMTP “real” (por exemplo, Postfix, exim ou qmail) e processando-as. Se estiver tudo bem, as mensagens são reenviadas e chegam de maneira transparente. Se estiverem infectadas, são rejeitadas. O Amavids-new suporta ferramentas antispam como o SpamAssassin [2] e uma grande variedade de antivírus comerciais ou de código aberto. O popular ClamAV [3] pode ser integrado de três maneiras: através do daemon clamd (melhor performance), o pacote Perl Mail:: ClamAV (desempenho não muito bom) e a opção do comando clamscan (como uma ferramenta de prevenção no caso de o clamd não estar disponível). Muitos outros antivírus populares também são suportados, incluindo F-Prot, Sophos, Grisoft AVG, KasperskyLab AVP, AntiVir, F-Secure, McAfee e Panda. No entanto, não se esqueça da licença do produto que você for usar. Obviamente, o ClamAV não possui nenhum custo de licença, mas outros programas terão
licenças para servidor SMTP significativamente mais caras que a versão desktop. Você pode configurar o Amavisd-new para bloquear anexos com extensões perigosas, como .exe, .bat e .vbs (particularmente perigoso para clientes Windows ® que estejam acessando o servidor). Também é possível especificar um grande intervalo de decoders ou descompactadores para examinar arquivos como .cpio, .rpm, .deb, .zoo, .tar, .gz e .bz2. O Amavisd-new teoricamente suporta qualquer servidor SMTP, mas trabalha melhor com os mais famosos. Por exemplo, Sendmail, exim e qmail. Trabalha melhor ainda com o Postfix [4], no qual pode “reinjetar” mensagens no servidor depois da filtragem de conteúdo.
Requisitos de instalação Para instalar o Amavisd-new, você precisa de um interpretador Perl instalado e funcionando. Recomenda-se a versão 5.8.2 ou superior. Apesar de instalações antigas funcionarem, as versões posteriores rodam melhor. Também é preciso instalar diversos pacotes de extensão do Perl (Tabela 1). Não se esqueça de atualizar para a última versão quaisquer pacotes que você já tenha instalados. Obviamente, para que a filtragem de spam seja eficiente, a versão mais atu-
35
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Amavisd-new
Políticas
al do pacote Mail::SpamAssassin deve de scripts como o PHP. Você pode usar ser instalada. Spammers tentam estar qualquer banco de dados que siga o pa- Uma política de firewall é um conjunsempre um passo à frente do Spam- drão SQL e que seja compatível com as to de instruções especificando o que o Assassin, por isso é necessário atua- bibliotecas Perl DBD/DBI. O SQL DDL firewall deve fazer com certos tipos de lizá-lo assim que uma nova versão se (Data Definition Language) é fornecido tráfego. Por exemplo, uma política pode tornar disponível. no arquivo README.sql para criar tabe- especificar se bloqueia tráfego de certa Também é bom instalar alguns progra- las, índices e dados de exemplo. porta ou se redireciona o tráfego de uma mas auxiliares para permitir a varredura Na documentação do Amavisd-new, há porta para outra. do maior número de anexos em arquivos recomendações específicas para MySQL, Uma política do Amavisd-new é sicompactados. Entre esses programas adi- PostgreSQL e SQLite. Muitos outros bancos milar. Cada uma diz ao programa para, cionais temos gzip, bzip2, arc, lha, rar, zoo, de dados também podem ser empregados, por exemplo, ignorar a verificação de pax, cpio, freeze, ripole, cabextract e muitos incluindo Oracle e DB2. Note que muitas das vírus e spam, ser mais duro ou permisoutros. Visite o site do Amavisd-new [1] tabelas possuem chaves primárias seqüen- sivo, marcar o assunto do email com um para mais informações. Depois de con- ciais e seriais. Dessa forma, para Oracle, palavra-chave (por exemplo, “Spam?”) figurar todos os programas auxiliares, a você vai precisar de diversas seqüências e ou redirecionar todo spam para uma instalação é relativamente simples. Como gatilhos (triggers), além das tabelas. conta específica. o programa usa o interpretador Perl, não Você deve especificar dois DSNs (Data Cada domínio ou usuário de email requer nenhuma compilação. Source Names). Um DSN se refere às bus- pode ter sua própria política. Você pode cas (leia em Políticas, a seguir) e o outro especificar uma política para cobrir toao armazenamento (logging). Você pode das as contas de email dentro de um doHá diversas maneiras de configurar o otimizar a performance usando um ban- mínio; também pode delimitar políticas Amavisd-new. É possível definir a confi- co de dados que seja rápido no acesso adicionais por cada conta individual de guração usando o arquivo amavisd.conf, somente leitura (para fazer buscas) e um email dentro desse mesmo domínio. Por arquivos de listas, arquivos hash, expres- banco de dados rápido na gravação (para exemplo, é possível criar uma política sões regulares e buscas LDAP ou SQL. o armazenamento). O Amavisd-new padrão para todos os usuários de um A solução SQL fornece a melhor opor- também permite especificar múltiplos certo domínio, mas talvez a conta de tunidade para construir um front-end de DSNs para habilitar o failover (mudança “Fulano” esteja sendo inundada de spam. configuração usando uma linguagem de máquinas no caso de falhas). Uma política individual para essa conta
Amavisd-new com SQL
Tabela 1: Pacotes Perl necessários Archive::Tar Archive::Zip Compress::Zlib Convert::TNEF Convert::UUlib MIME::Base64 MIME::Parser Mail::Internet Net::Server Net::SMTP Digest::MD5 IO::Stringy Time::HiRes Unix::Syslog BerkeleyDB
36
Tabela 2: Principais opções da tabela de políticas
virus_lover Aceita email mesmo se contaminado por vírus spam_lover Aceita mesmo se identificado como spam OBS: As opções do tipo _lover não cancelam o checagem, apenas ignoram seus resultados. bypass_virus_checks Não verifica se o email está infectado por vírus bypass_spam_checks Não procura por spam e não adiciona o cabeçalho X-Spam spam_modifies_subj Acrescenta uma marca de texto (tag) ao início do assunto, caso seja identificado como spam virus_quarantine_to Conta de email para enviar mensagens infectadas spam_quarantine_to Conta de email para enviar mensagens identificadas como spam spam_tag_level Pontuação do SpamAssassin acima da qual mensagens ganham um cabeçalho X-Spam spam_tag2_level Pontuação do SpamAssassin acima da qual mensagens ganham uma marca no assunto spam_kill_level Pontuação do SpamAssassin acima da qual uma “ação” precisa ser tomada, determinada pela variável $final_spam_destiny no arquivo de configuração (o default é descartar o email, isto é, mandá-lo para um “buraco negro”). spam_subject_tag Texto para ser usado na tag de spam (ver spam_modifies_subj) spam_subject_tag2 Texto para ser usado na tag de spam com pontuação alta
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Amavisd-new
Logs e a lei
Um assunto quente para todos os provedores de Internet do mundo no momento é a possibilidade de que seja obrigatório o arquivamento de emails por até três anos, como uma resposta de alguns governos à ameaça terrorista. Está sendo cogitada, inclusive, a possibilidade de que agências policiais tenham acesso a essas informações para monitorar atividades ilegais – em adição aos registros de chamadas telefônicas e mensagens SMS. Enquanto o armazenamento do conteúdo dos emails inevitavelmente traria um peso enorme para os provedores, o arquivamento dos logs do Amavisd-new poderia cobrir muitos dos possíveis futuros requerimentos (esse é um tema que está sendo bastante debatido na Europa e nos EUA). pode ter uma tolerância menor. A tabela 2 detalha algumas das opções. Uma tabela de usuários permite associar políticas a domínios específicos ou contas individuais de email. O campo email determina se várias ou apenas uma conta serão afetadas pela política. Por exemplo, “@domain.com” se refere a todas as contas no domínio domain.com. Já “fulano@domain.com” se refere a um único endereço. Se tanto “@domain. com” e “fulano@domain.com” estiverem na tabela de usuários, a prioridade é dada para o endereço individual.
Lista negra e “lista branca” Quando emails importantes são repetidamente bloqueados por estar sendo identificados como spam, você pode garantir que o remetente é uma exceção
na checagem de spam adicionando-o à “lista branca”. Inversamente, se continuar recebendo spam de alguém que você tem certeza se tratar de um spammer, pode adicionar esse endereço à lista negra. Essas listas funcionam através da referência cruzada entre a tabela mailaddr (endereços de email), a tabela de usuários e a wblist (listas negra e branca). Emails listados na lista negra e branca são adicionados à tabela mailaddr com um identificador único. As linhas na tabela wblist especificam endereços de email e usuários aos quais a regra se aplica.
Registro de incidentes Um dos novos recursos do Amavisd-new é a habilidade de registrar toda atividade envolvendo correio eletrônico. Os logs são abrangentes e incluem informações como remetentes, destinatários, horas, datas, assuntos e pontuação de spam ou vírus. Esse registro ajuda a reunir dados para fazer estatísticas sobre o nível de mensagens limpas, com spam ou vírus. É possível classificar os dados por usuário, facultando ao administrador verificar onde os recursos de filtragem são mais necessários. Um provedor de Internet poderia usar esses dados para o cálculo da tarifa cobrada dos assinantes, levando em conta a banda usada, o tempo de processamento, o número de mensagens processadas ou o número de spam e vírus processados.
Administração e números de maneira fácil
Usar um banco de dados ao invés de arquivos de configuração permite uma fácil administração. Essa opção também permite a atualização dinâmica de dados de configuração sem a necessidade de reiniciar os daemons do Amavisd-new. O mesmo vale se você optar por configurar seus usuários e domínios do Postfix em um banco de dados SQL. Fazer consultas SQL é uma maneira útil de reunir estatísticas sobre spam e vírus. Isso pode ser feito via phpMyAdmin, por exemplo, se o MySQL for o banco de dados escolhido. Um provedor com um grande número de clientes poderia desenvolver uma interface que permita aos usuários configurar suas próprias políticas contra spam e vírus. Isso poderia mostrar também aos clientes as estatísticas de emails limpos, infectados e de spam. Esse tipo de estatística pode ajudar na educação de muitos usuários de email. A figura 1 mostra um exemplo de um gráfico que pode ser facilmente gerado para clientes. O exemplo foi feito com ColdFusion MX 7, mas é possível usar PHP em conjunto com o jpGraph.
Capa
Figura 1: O Amavisd-new fornece dados detalhados que permitem a criação de gráficos.
Conclusão Para quem está considerando a construção de um sistema robusto e escalonável de combate a spam e vírus, a combinação Postfix/Amavisd-new pode ser uma boa pedida. Hoje, fornecer filtros contra vírus e spam a seus clientes é, praticamente, uma obrigação dos provedores de acesso à Internet, mesmo que seja um serviço cobrado à parte. Níveis crescentes de spam e vírus, além do número crescente de clientes, estão sobrecarregando a infra-estrutura de vários provedores. Essa combinação pode usar MySQL, PostgreSQL ou Oracle para o banco de dados – é possível, inclusive, empregar um banco de dados central, acessado por diversos servidores Postfix/Amavisd-new. Como se não bastasse, bancos de dados redundantes permitiriam maior tolerância a falhas. Usando algumas técnicas de failover, incluindo a configuração de registros DNS, é possível construir uma infra-estrutura escalonável, 100% tolerante a falhas e com carga balanceada. ■
Informações [1] Amavisd-new: http://www.ijs.si/software/amavisd/ [2] SpamAssassin: http://spamassassin.apache.org [3] Clam Antivirus: http://www.clamav.net [4] Servidor SMTP Postfix: http://www.postfix.org
37
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Segurança na Internet
Proteja a integridade de seus dados pessoais
Proibido
www.sxc.hu – Alexandar Iotzov
pescar! As técnicas criminosas de phishing e pharming podem arruinar a diversão dos usuários habituados ao conforto do acesso da conta bancária via Internet. Este artigo mostra os perigos e como se proteger deles. Por Christoph Wegener e Ralf Spenneberg
O
Phishing
assunto da hora, quando se fala em fraude na Internet, é Afinal, qual é a diferença entre todas uma técnica conhecida como essas técnicas de ataque e manipulação phishing, em que emails procuram com nomes semelhantes, que foram criaatrair usuários desavisados a determi- das a partir de termos como password, nados sites da grande rede e seduzi-los fishing ou farming? No caso do phishing, a fornecer dados pessoais, tais como o o objetivo é, através de emails falsificanúmero do cartão de crédito, PINs (do dos, atrair o usuário menos cuidadoso inglês, Personal Identification Number, a sites da web ainda mais falsificados, ou “Número de Identificação Pessoal”), nos quais, sob algum pretexto obscuetc. E a camuflagem de websites, através ro, é solicitado a ele que forneça dados de ataques a servidores DNS ou a deter- pessoais como senhas, PINs e TANs (do minados arquivos de configuração desse inglês TransAction Number, ou “Número serviço no computador pessoal, também da Operação”, usado por instituições está se tornando uma prática cada vez financeiras como senha “descartável”). mais corriqueira. Este artigo tem o pro- No caso do pharming, por outro lado, o pósito de oferecer uma visão geral dos fundamento é a corrupção de dados da maiores perigos, mostrar quais são as resolução de nomes (DNS) do computatendências e riscos e dar um panorama dor, que pode ser local ou remota. A dinâmica dos ataques por phishing das medidas a adotar para proteger-se dessas práticas no futuro. pode ser dividida em duas fases: a pri-
38
meira delas busca levar o usuário a acessar a página do agressor na Internet. Diversas técnicas podem ser usadas com esse intuito. Na segunda fase, acontece então o ataque em si: é quando se solicita ao usuário a inserção de seus dados pessoais. Essa fase do ataque é conhecida pelo termo em inglês visual spoofing. As técnicas mais conhecidas da primeira fase são o email spoofing e o cross site scripting. Na primeira, o cabeçalho de um correio eletrônico é alterado de modo a parecer proveniente do endereço de um outro remetente. No segundo caso, o ataque é iniciado por meio de um site confiável no qual é injetado código malicioso que leva a outro site, este de conteúdo falso. Em todos os casos, o usuário é um inocente útil e uma vítima que, sem saber, colabora com o ataque através de phishing, tornando-o possível.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Segurança na Internet
Capa
Pharming Ao contrário do phishing, no caso do pharming o agressor manipula os dados em cache de solicitações a um servidor de nomes (DNS) vulnerável e pode, com isso, redirecionar todos os usuários desse servidor a um servidor web com conteúdo falso e malicioso. Via de regra, esse tipo de ataque lança mão de erros de implementação do servidor DNS, tais como o “Paradoxo do Aniversário” ou phase space spoofing, para inserir em seu cache uma lista falsa relacionando endereços IP e nomes de domínio. É importante estar consciente de que um ataque via pharming é realizado em um nível totalmente técnico, sem necessidade da participação do usuário, o que implica em um aumento considerável em suas chances de sucesso. Nessa linha, sistemas que protocolam a inserção de dados pelo teclado – servindo-se de certos cavalos de Tróia – desempenham um papel cada vez mais importante.
Confiança abalada
Figura 1: Um email de phishing de primeiro escalão: a identidade corporativa da instituição foi imitada com maestria e não há grandes problemas com a língua portuguesa – regra geral em 99 de 100 emails com esse propósito.
Apesar de a problemática do roubo de dados pessoais na Internet – especialmente através de técnicas como phishing registrou desde abril de 2005 uma quane pharming – não ser nova, têm-se regis- tidade constante de ataques por phishing, trado nos últimos tempos um aumento além de um aumento considerável na considerável de ocorrências. Há mais ou criminalidade cibernética. Somente de menos um ano o grupo Gartner, espe- abril a julho de 2005 a descoberta de cócializado em pesquisas para o mercado digo malicioso na Internet dobrou [3]. de tecnologia, publicou um estudo sobre E os perigos estão longe de ser hipoesse assunto [1]. téticos: prejuízos reais estão ocorrendo, Em uma série de pesquisas realiza- como comprovou uma enquete online das em junho de 2005, os prejuízos realizada na Alemanha pela ONG Ideneconômicos de ataques via phishing e titätsschutz im Internet e.V. (do alemão, pharming ficaram evidentes: a confiança “Associação para Proteção da Identidade do consumidor em ofertas de serviços na Internet”) – aproximadamente 2% dos bancários através da Internet está se- participantes da pesquisa declararam riamente abalada, o que implica em um ter sofrido prejuízos financeiros através aumento do risco de investimentos e do da realização de transações bancárias custo desses sistemas para empresas e online por conta de emails com ataques consumidores [2]. Para piorar a situação, por phishing [4]. Claro que uma pesquisa o Anti Phishing Working Group (APWG) desse tipo não é totalmente representa-
tiva, mas ela ilustra que um perigo real está à espreita. Especialmente no que tange ao acesso à conta bancária através da Internet, a busca de mecanismos de proteção é urgente, sob o risco de que o consumidor acabe por perder de vez a confiança na tecnologia.
Pescaria Como dito acima, ataques por phishing usam emails falsificados de fornecedores de conteúdo online conhecidos para atrair vítimas para sites que são uma imitação do original. Neles, solicita-se ao usuário seus dados de registro no site, números de PIN e TAN ou mesmo informações sobre o cartão de crédito. O alvo mais comum de ataques por phishing são grandes bancos ou sites
39
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Segurança na Internet
criptografia via SSL. O navegador verifica o certificado disponível e avisa quando o endereço da página escolhida não confere com o aquele para o qual o certificado foi emitido, ou mesmo que ele não foi emitido por uma organização confiável. Muitos usuários, infelizmente, não entendem esses avisos e simplesmente os ignoram. Nesses casos só resta reconhecer a fraude através da URL.
Versões antigas do MSIE são inseguras
Figura 2: O site falsificado, no qual o internauta desavisado deverá deixar seus dados pessoais assim que for seduzido pelo email da figura 1. A falta do cadeado (indicativo de transação segura) é o indício de que se trata de um ataque de phishing. de comércio eletrônico, como o Itaú, o Bradesco, o Submarino, o Mercado Livre, etc. Um típico email de phishing pode ser visto na figura 1. Esse email mostra todas as características do phishing de “primeira divisão”: por supostos motivos de segurança, a mensagem contém uma solicitação ao usuário para conectar-se à página na Internet indicada, avisando, inclusive, que isso é imprescindível para evitar ataques por phishing. A URL indicada no email é aparentemente correta. Além disso, o email ainda utiliza a imagem corporativa da página web da instituição: logotipos, cores, apresentação, tudo bate com a representação original. Ao contrário de emails de phishing mal feitos, nos quais é comum encontrar erros de ortografia e gramática, neste caso o usuário não tem como reconhecer a falsificação. É importante notar que esse tipo de erro é comum em emails de phishing, pois eles são confeccionados geralmente por grupos criminosos localizados em outros países e costumam usar tradutores automáticos na elaboração.
40
Assim que a vítima segue o vínculo indicado no email, ela é conectada ao site do agressor, que também é uma cópia muito semelhante do original (ver figura 2). Se a vítima prossegue e fornece seus dados pessoais, o agressor pode, a partir de então, usá-los para fazer transferências bancárias, compras em sites de comércio eletrônico como Mercado Livre ou Submarino, etc. Ele literalmente rouba a identidade do usuário.
Medidas de precaução Duas são as proteções disponíveis contra ataques de phishing: bom-senso e o aplicativo spamassassin. A vítima pode reconhecer o email ou o site falsificado, por exemplo, através do endereço (a URL) mostrado pelo navegador e pelo fato de que os dados normalmente são transmitidos sem criptografia – aquela imagem do cadeado ao lado da barra de status no pé da página à direita não mostra um cadeado trancado ou simplesmente não aparece, dependendo do navegador utilizado. Mas não adianta se iludir: já existem sites de phishing na web usando
Como se não bastasse, uma falha de segurança em versões mais antigas do Microsoft Internet Explorer (MSIE) permite a falsificação do campo da URL do navegador, do cadeado indicador de criptografia e da janela de diálogo que avisa o usuário sobre a confiabilidade do certificado. Nesse caso, o cadeado vai aparecer fechado (indicando tráfego seguro de dados), a verificação do certificado vai indicar que ele é confiável e a URL mostrada pelo navegador será a correta. Com isso a falsificação fica perfeita e há muito poucas chances de o usuário perceber a fraude. O único remédio para isso é uma atualização do Internet Explorer ou uma personalização do navegador utilizado que impossibilite o visual spoofing [5]. O programa spamassassin pode ser de grande auxílio no reconhecimento desse tipo de email. Uma versão atualizada do aplicativo é capaz de reconhecer muitos emails de phishing. Assim, a filtragem de emails com esse software oferece proteção eficaz contra ataques de phishing já conhecidos; todavia, novos ataques não serão reconhecidos por ele. Através de phishing é possível ludibriar muita gente e fazer muito dinheiro. É freqüente que quadrilhas organizadas estejam por trás desse tipo de ataque. O site internetnews.com estima que houve um prejuízo de 1,2 trilhões de dólares
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Segurança na Internet
Capa
nos Estado Unidos da América, somente um link de um email, ela se sente segura aplicativos disponíveis com essa finaliem 2003, com esse tipo de fraude [6]. No – e isso é um problema sério! dade. Um clássico no Linux é o pacote Brasil, os prejuízos estão na casa das Para evitar esse tipo de ataque, peritos dsniff, criado por Dug Song [7], que condezenas de milhões. em segurança na Internet recomendam tém o programa dnsspoof. restringir o acesso à escrita para o arPara o Windows há o aplicativo quivo hosts, de modo que o sistema não Cain&Abel, que dispõe até mesmo de Como para o phishing ser bem sucedido possa modificá-lo. Entretanto, como os uma interface gráfica. Muitas outras é necessária uma “colaboração” da víti- cavalos de Tróia trabalham com muita ferramentas também dão ensejo a esse ma, que nem sempre se dispõe a prestá- freqüência com direitos de administra- tipo de ataque. Outra alternativa para la, os agressores desenvolveram outros dor, essa medida é inócua na maioria “pescar” solicitações a servidores DNS métodos para aumentar a cota de ludi- dos casos. Novos tipos de vírus agem de ou para comprometer sessões SSL com briados. Assim, no pharming, aqueles maneira ainda mais perniciosa: eles mo- ataques do tipo man-in-the-middle é o emails “sedutores”, que visam atrair o dificam as configurações da rede do com- uso de ARP spoofing. usuário ingênuo para o site de conteúdo putador, inserindo nelas o endereço IP falsificado, não são mais necessários. Ao de um servidor DNS falso – o do cracker, invés disso, os crackers procuram com- claro. Nesses casos, impedir a escrita no O que funciona melhor nesses casos é prometer um servidor DNS, plantando arquivo hosts é totalmente inútil. o “envenenamento” do cache (do innele referências falsas que conduzem glês, cache poisoning) do servidor DNS. usuários que os usem automaticamenMuito embora a falha de segurança que te para os sites desejados. Obviamente, Um requinte na técnica de pharming é permite essa prática seja conhecida há nenhum usuário entra com o endereço a tentativa de ler a solicitação do nome anos, existem muitos servidores DNS IP do seu banco quando acessa a pá- de domínio feita a um servidor DNS e na Internet que continuam vulneráveis gina da instituição, inserindo o nome respondê-la no lugar do servidor origi- a ela. Dan Kaminsky, em uma pesquisa de domínio da instituição no campo de nal. A boa notícia é que, para isso, o realizada em julho de 2005 com 2,5 endereço web do navegador. Servidores agressor precisa estar próximo da ví- milhões de servidores DNS, concluiu de resolução de nomes (DNS) traduzem tima, de modo que a solicitação para a que aproximadamente 10% deles ainda esses nomes de domínio para os ende- resolução do nome de domínio possa são vulneráveis a ataques por envenereços IP correspondentes, da mesma ser reconhecida. Há uma miríade de namento de cache [9]. ➟ forma que fazemos quando queremos Agressor encontrar o telefone do João da Silva na lista telefônica. É exatamente esse tipo de servidor que o agressor de pharming 1 procura comprometer. 4 Em sistemas Windows® esse ataque pode ser facilmente realizado por um vírus que altere o conteúdo do arquivo 2 System32\drivers\etc\host. Servidor DNS Servidor DNS do Agressor (cache) Basta um IP ser inserido naquele 3 arquivo, para um determinado nome de domínio, para que o navegador do 5 computador infectado se conecte ao
Grandes chances de sucesso
Cache envenenado
DNS-Spoofing
endereço IP sem consultar um servidor DNS externo. Com isso, o usuário acaba involuntariamente no site do agressor, onde encontra, por exemplo, o site falsificado do seu banco. E como a vítima chegou àquele site sem ter clicado em
6
Vítima
Figura 3: Para realizar o envenenamento de cache, o agressor usa um servidor DNS próprio.
41
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Capa
Segurança na Internet
Intrincado: name chaining
No envenenamento de cache (figura É então que o envenenamento do 3), o agressor faz uma solicitação de A resposta, no caso do exemplo anterior, cache da estação de trabalho acontece: um nome de domínio (por exemplo, www. seria mais ou menos a seguinte: www. o servidor DNS do agressor responde cracker.net) ao servidor DNS vulnerável cracker.net é um alias para www.bb.com. à solicitação não somente com o en(caching DNS server) que ele deseja en- br. Como resposta adicional, aparece dereço IP para a URL www.cracker.net, venenar, que está em um outro servidor no registro de recursos (Ressource Re- mas também contamina o cache do DNS em seu poder (1). O servidor DNS cord), na seção adequada, que o nome PC do usuário com um endereço IP a quem foi solicitado o nome não possui de domínio www.bb.com.br pode ser en- falsificado para, por exemplo, o nome essa informação e vai buscá-la no servi- contrado no endereço IP 192.0.2.1. A de domínio www.bb.com.br. Da próxima dor DNS do agressor (2), que responde à infiltração de informações falsas não vez que o usuário for entrar na página solicitação, mas envia simultaneamente pode mais ser evitada apenas verifican- do Banco do Brasil, vai acabar no site informações adicionais não solicitadas: os do se os dados constantes da Additional do agressor sem perceber. endereços IP dos nomes de domínio www. Section correspondem aos dados da bb.com.br e www.bradesco.com.br (3). Esses solicitação ou não. dados são armazenado no cache do serviA partir do momento em que uma falha Anos após a introdução de processos dor DNS vulnerável da mesma forma que de segurança é descoberta em qualquer de autenticação usando o binômio PIN o endereço IP para o nome de domínio sistema relacionado a DNS, firewall ou e TAN, os bancos vêm tentando criar requisitado. De posse dessas informações, semelhantes, os agressores vão tentar novos processos usando TAN para auo servidor DNS responde ao atacante com inevitavelmente explorá-la através de mentar a segurança de transações bana informação solicitada: o endereço IP do ataques de pharming. Foi exatamente cárias online. Um deles é o I-TAN, que servidor www.cracker.net (4). isso que aconteceu em março de 2005 no funciona da seguinte forma: o cliente do Assim que um usuário fizer uma soli- caso do firewall da empresa Symantec. banco recebe uma lista indexada de TAN. citação do nome de domínio www.bb.com. Desde junho de 2004 já era sabido que Durante uma transação bancária via br ou www.bradesco.com.br ao servidor DNS esse produto era portador de uma falha web, por exemplo uma transferência de de cache envenenado, este encontra a de segurança crítica na manipulação dos fundos, um DOC ou uma TED, o banco resposta (incorreta) já armazenada em dados do cache do DNS [10]. Entretanto, requer do cliente um TAN específico e seu cache e não vai buscá-la externa- até março nem todas as instalações do que só pode ser usado daquela vez. Se o mente, no servidor DNS que armazena sistema disponíveis na rede haviam sido cliente estiver em uma página falsificada, a informação originalmente. Assim, ele corrigidas. Isso provocou um ataque por o site do agressor não tem como saber fornece um endereço IP falso em respos- envenenamento de cache de proporções qual TAN, dos diversos da lista, deve ser ta à solicitação do usuário: o do agressor! bíblicas na rede [11] . solicitado. Esse sistema já está em uso O usuário, sem nada perceber, acaba em muitos sistemas bancários na Europa conectado ao servidor do agressor, que e sua adoção vem crescendo bastante disponibiliza ali uma página falsificada Uma variação desse ataque procura en- naquele continente. idêntica à do site original como arapuca. venenar diretamente o cache do compuNo caso do E-TAN, o cliente recebe do As conseqüências disso são óbvias... tador do usuário, ou seja, da estação de banco um aparato eletrônico adicional, Uma evolução dos ataques através trabalho Windows ou Linux, ao invés conhecido no jargão da área por token. de envenenamento de cache são os ata- do cache do servidor DNS. Para isso, o No momento de efetuar transferências, ques por name chaining. Neste caso, o agressor pode agir do seguinte modo: por exemplo, o equipamento cria um agressor cria uma relação inteligente primeiro ele envia um email aparen- número aparentemente aleatório, que o entre as solicitações de nome de domínio temente inofensivo para a sua vítima, usuário deve inserir no campo especifie as respostas adicionais a elas. O conte- mas que contém um vínculo para uma cado na página do banco para que a tranúdo da resposta não é mais somente um imagem hospedada em um servidor do sação seja autorizada. Existem versões endereço IP, mas um vínculo aos nomes domínio www.cracker.net. Para poder exi- mais complexas desse sistema, em que de domínio do servidor para o qual o bir a imagem, o computador do usuário o banco envia um número aleatório para agressor deseja desviar as próximas so- precisa solicitar ao servidor de nomes de o cliente, que o informa ao equipamento. licitações. Mais a respeito a seguir... domínio o endereço IP do agressor. Este calcula então um número resposta
M-TAN, I-TAN, E-TAN
Cliente na mira
42
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Capa
Segurança na Internet
Face aos problemas mencionados aciespecífico para aquele cliente, que deve ser informado ao site do banco para que ma, mais seguro parece ser mesmo o a transação seja autorizada. O sistema M-TAN, que atualmente é ativado com a E-TAN é utilizado no exterior por bancos ajuda de um sistema I-TAN. O cliente escomo o GE Money Bank e no Brasil pelo colhe o sistema M-TAN no site do banco Itaú, para clientes empresariais. e o banco envia uma chave de ativação O sistema M-TAN é atualmente o mais ao seu celular. Essa chave de ativação avançado de todos. Ele usa o telefone deve ser informada novamente ao banco celular como sistema de autorização. via Internet, em uma página específica. Assim que o cliente deseje fazer uma Após esse procedimento ter sido seguido, transferência online, o banco envia o é solicitado uma única vez o forneciTAN via SMS (“torpedo”) para o seu mento de um I-TAN para o ativamento celular. Nesse SMS estão também infor- do M-TAN. Os M-TANs armazenados mações sobre a transferência a ser efe- no celular podem ser apagados sem a tuada. Se tudo estiver correto, o cliente necessidade de qualquer verificação ou entra com o TAN no campo específico procedimento adicional. Desvantagens do sistema são o custo do site do banco, que autoriza a transação. O TAN transmitido só é válido do SMS e a falta de segurança do celular para aquela transação. em si: o protocolo bluetooth, presente em grande número de celulares, não é seguro e a ameaça de vírus e cavalos de Tróia Sistemas que usam o I-TAN são inse- para celulares multifuncionais não deve guros se o agressor, ao invés de sim- ser desprezada – sem contar o problema plesmente salvar os dados inseridos por da simples perda do aparelho. meio da página web duplicada, usar o site como uma espécie de proxy e canalizar os dados diretamente para Para quem quer mesmo lançar mão das o site do banco, modificando apenas maravilhas do homebanking sem ter o valor a ser transferido e os dados da que esquentar a cabeça com problemas conta corrente a receber o dinheiro an- de segurança, usar o protocolo HBCI é tes de enviá-los. O banco irá requerer a solução. Como o seu uso é bastante do agressor o I-TAN e ele passará essa trabalhoso e oneroso para o cliente e, solicitação automaticamente à vítima, além disso, requer o uso de hardware que irá inserir o I-TAN correto. adicional como um smartcard e o leiEsse ataque do tipo man-in-the-mi- tor correspondente, vem sendo usado ddle foi discutido por especialistas em apenas por alguns bancos. A autentisegurança de sistemas da informação cação do cliente não é feita nesse caso do RedTeam da RWTH de Aachen, na com um PIN ou um tipo qualquer de Alemanha, logo após a introdução do TAN: ao invés disso, um certificado sistema I-TAN [12] , e sua viabilidade tipo X.509 – e suas chaves privada e foi comprovada recentemente na prática pública – é utilizado, da mesma forpela equipe da ONG Identitätsschutz im ma que ocorre com a autenticação no Internet e.V.[13] , à qual já nos referimos servidor web do banco. anteriormente neste texto. Esse método Para que um agressor não consiga de ataque também pode ser aplicado a obter a chave privada através de um sistemas que usem E-TAN, praticamente ataque ao computador do usuário, ela igual ao I-TAN, à exceção do token. fica gravada apenas no smartcard, o
Falhas de segurança
HBCI é seguro
44
que também impede a leitura da chave, mesmo que o computador seja invadido por um agressor.
Leitoras de cartão precisam de um visor próprio Para poder usar a chave privada para assinar as transações é necessário usar o smartcard. Para que somente a posse do smartcard não baste para consumar o processo, o acesso à chave é protegido adicionalmente com um PIN. Apenas após o fornecimento do PIN é que o cliente pode usar o smartcard para se autenticar. Para evitar que o PIN seja lido por programas especiais rodando no computador do usuário (os assim chamados key loggers) ou por cavalosde-Tróia, os leitores de cartão da classe 2 dispõem de um teclado próprio, único que deve ser usado durante as operações de acesso do site do banco. Muitas vezes, entretanto, para fins de verificação, a transação a ser assinada é mostrada na tela do PC. Assim, os cavalos-de-Tróia têm a possibilidade de obter os dados entre o leitor do cartão e a tela do PC. Novamente, o usuário pode, sem perceber, acabar assinando uma transação que não deveria. Segurança de verdade oferecem somente equipamentos da classe 3: leitores de cartão com visor próprio. Entretanto, o texto da transação a ser assinado não pode ser mostrado na tela do PC, mesmo que seja muito longo para ser mostrado no visor do leitor de cartão. Caso isso aconteça, a segurança real vai de novo para as cucuias... No caso das transações bancárias online bastaria mostrar os dados mais importantes no visor do leitor de cartão, tais como o número da conta a ser creditada, o número da agência em que a conta se encontra e o valor a ser transferido. Assim o usuário teria a segurança de estar assinando a transação correta.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Segurança na Internet
Proteção através de certificados SSL no cliente Em todas as abordagens descritas, um problema persiste: normalmente é o servidor do banco que se autentica junto ao cliente. Assim, é o cliente que tem que se preocupar se está conectado com o servidor correto. Para isso, ele deve ser capaz de diferenciar uma conexão SSL falsa de uma verdadeira. A experiência mostra, no entanto, que isso é pedir demais. De um lado, os clientes estão acostumados a fazer “aquela janela chata” que os separa do procedimento que querem realizar simplesmente desaparecer, clicando onde quer que seja para que isso ocorra o mais rapidamente possível – independentemente do teor do seu conteúdo. Após anos e anos usando sistemas proprietários repletos de erros de implementação, ninguém mais se admira quando essas janelas aparecem. Por outro lado, a maciça maioria dos usuários não tem a mínima noção da função de uma conexão SSL e nem as tentativas dos bancos, no sentido de esclarecer a sua necessidade, foram bem sucedidas em resolver esse problema. É comum, inclusive, que tais tentativas confundam ainda mais o usuário, quando por exemplo, na página web do banco (ou seja, praticamente sem nenhuma segurança), é mostrada a identidade digital (fingerprint) do certificado SSL. O pior é que isso sugere uma falsa sensação de segurança ao cliente, que “relaxa” e acha que está tudo “em ordem”.
Invertendo a autenticação Uma abordagem interessante que poderia realmente proteger usuários contra ataques de phishing e pharming seria simplesmente inverter a autenticação e obrigar o PC ou o navegador do cliente a se autenticar junto à sua instituição financeira. Para isso, o banco emitiria um certificado digital para o seu cliente após
Capa
Conclusão
certificar-se pessoalmente de que ele é o cliente correto. De posse do certificado, o Quando haverá a primeira grande onda cliente o instalaria no navegador do seu de ataques de pharming? É uma quesPC. No Brasil, o Gerenciador Financeiro tão de tempo, se observarmos o fato de do Banco do Brasil para empresas, bem que um grande número de servidores como o acesso à página empresarial do DNS permanece vulnerável a ataques BankBoston, são protegidos com esse por envenenamento de cache. Assim, tipo de sistema. é muito importante manter uma políSomente através desse certificado se- tica de austeridade quando se trata do ria possível se conectar ao servidor do uso de seus dados pessoais na Internet. banco. O certificado deve ser protegido Além disso, é extremamente necessário por um PIN, de modo a evitar que tercei- que bancos e fornecedores de serviços ros possam utilizá-lo. E para evitar que de comércio eletrônico colaborem com um agressor possa imitar a identidade a conscientização de seus clientes dos do banco através de técnicas de visual perigos que rondam esse maravilhoso spoofing, podem ser utilizadas adicional- novo mundo digital. ■ mente técnicas de autenticação visual. Informações Isso poderia ser feito, por exemplo, com uma imagem específica armazenada em [1] Grupo Gartner: How to Spot, and Stop, Phishing E-Mail Attacks, www.gartner.com um chaveiro USB que seria enviada pelo cliente ao servidor do banco durante o [2] Grupo Gartner: Increased Phishing and Online Attacks Cause Dip in Consumer processo de autenticação. Confidence, www.gartner.com O problema com tais procedimentos [3] Anti Phishing Work Group (APWG): é que eles exigem muita capacidade www.antiphishing.org técnica da grande maioria dos usuários. [4] ONG Identitätsschutz im Internet e.V.: https:// Além disso, restringem a utilização www.a-i3.org/content/view/280/28/ do acesso online a uma determinada [5] Personalização do MSIE: https://www. máquina: aquela em que o certificado a-i3.org/content/view/40/117/ digital está instalado. As estatísticas [6] Prejuízos devidos a phishing: mais recentes mostram que grande www.internetnews.com/ecnews/article.php/3350891 parte das transações bancárias online ocorrem durante a pausa para o almo- [7] Dnsspoof do pacote Dsniff: www. monkey.org/~dugsong/dsniff.html ço, diretamente do local de trabalho [8] Cain&Abel: www.oxid.it do usuário, e não de casa. Isso implica na necessidade da instalação do certi- [9] Pesquisa sobre vulnerabilidade de servidores DNS: www.heise. ficado também no computador que o de/newsticker/meldung/62466 usuário usa no serviço. Essa instalação não é sempre possí- [10] Falha de segurança no firewall da Symantec: securityresponse. vel, entretanto – e nem sempre desejada symantec.com/avcenter/security/ Content/2004.06.21.html pelo empregador, diga-se de passagem, que freqüentemente interdita o usuário [11] Ataque por DNS caching: isc.sans. org/diary.php?date=2005-03-04 em seu trabalho dos direitos de administração de seu computador. Tokens [12] Análise do ataque do I-TAN: www.redteampentesting.de/press/iTAN.txt USB poderiam até resolver o proble[13] Ataque ao I-TAN: https://www. ma, mas têm como efeito colateral um a-i3.org/content/view/411/28/ aumento na complexidade e no custo geral do procedimento.
45
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
http://supertuxbr.blogspot.com
http://supertuxbr.blogspot.com
Análise
distribuições live
Linux Destaques no mundo dos Live-CDs
live Diversas distribuições que rodam direto do
CD estão esperando por você na Internet. A escolha certa depende do que você precisa. Por Fabrizio Ciacchi
U
ma distribuição live é um sis- 100% funcionais. Boas distribuições vêm tema operacional completo que com ambiente gráfico, suíte de escritório, inicia o sistema pelo CD ou DVD programas de Internet (como navegador, e trabalha exclusivamente desse modo, cliente de email e mensageiro instantâneo) sem precisar do disco rígido. Você pode e todas as outras ferramentas necessárias iniciar o Live CD de qualquer PC, desde para trabalhar no Linux. Existem até usuque o hardware seja suportado. ários que trazem sempre consigo um chaSão úteis, por exemplo, para usuários veiro USB com alguma distribuição live, de Windows ® que estão pensando em para poder rodar um sistema familiar em migrar para Linux e podem experimen- qualquer computador, sem alterá-lo. tar o sistema operacional sem alterar Embora distribuições live sejam proem nada suas configurações no HD. Já jetadas para operar sem tocar o disco usuários avançados usam esses CDs/ rígido, muitas delas não estão confinaDVDs para recuperação do sistema e das ao drive ótico. É possível instalar o resolução de problemas. Além disso, se sistema no HD. Como os sistemas live você quiser descobrir se um computador costumam ser menores e mais simples em particular é suportado pelo Linux, que distribuições Linux tradicionais, eles pode usar uma distribuição live para costumam ser a melhor solução para testar a compatibilidade desse PC. computadores antigos com discos rígidos Para rodar um Live CD (ou DVD), bas- pequenos e recursos limitados. ta colocar o disco no drive e reiniciar o Pegamos as mais populares dessas discomputador. Se ele não estiver configu- tribuições e as analisamos. Neste artigo, rado para o boot pelo disco ótico, leia o nos concentramos nas distribuições que quadro 1 (“Como iniciar o sistema pelo têm a opção de instalação no HD, embodrive de CD/DVD”). ra a análise específica desse ponto não As melhores distribuições live não ser- tenha sido o objetivo. Começaremos com vem apenas para demonstração ou recu- uma olhada na distribuição live mais peração, mas são sistemas operacionais popular e influente, o Knoppix.
48
Knoppix Essa é considerada “A Distribuição Live”. Foi a primeira a trazer um desktop gráfico. Seu criador, Klaus Knopper, usou o Debian [1] como ponto de partida e, desde a primeira versão, o Knoppix cresceu em tamanho e funcionalidade. Por exemplo, é possível carregar tudo na memória RAM (se você tiver o suficiente) e usar o drive de CD para ler outros CDs. Esse Live CD também permite passar uma série da parâmetros durante a inicialização. Por exemplo, a escolha da língua ou a ativação do framebuffer. Há até um comando para usar hardware em braile. Se você simplesmente teclar [Enter] na tela de início, após alguns minutos estará no KDE 3.4, com o OpenOffice. org 2 (beta), Mozilla Firefox, Gimp e outros aplicativos de desktop familiares ao usuário de Linux. A nova versão em DVD traz uma quantidade inacreditável de programas, tanto voltados para KDE (como Kopete, Kaffeine, K3B, Koffice, e Konqueror) quanto para Gnome (Gaim, Abiword, Evolution e Rhythmbox).
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Distribuições live
Como iniciar o sistema pelo drive de CD/ DVD Para usar um Live CD, é preciso configurar seu computador para iniciar pelo drive de CD/DVD. Muitos dos PCs modernos já fazem isso por padrão. Se seu sistema não inicia pelo drive ótico quando há um CD/DVD "bootável" no drive, consulte a documentação de seu micro ou preste atenção na tela de início do computador para saber qual tecla apertar para entrar no menu de configuração da BIOS. Dependendo do fabricante de sua placa-mãe, essas instruções variam. Já na BIOS, selecione como primeiro dispositivo de boot o drive de CD/DVD. Se tiver duas opções, um leitor de CD e um gravador de CD/DVD, escolha o leitor. Normalmente, essa opção tem melhor suporte à inicialização pelo drive. Salve a configuração, insira o CD/DVD e reinicie a máquina. Lembre-se de que iniciar a máquina a partir de uma distribuição live mantém o sistema instalado intocado. A única maneira de destruir dados no HD é se você “brincar” com as partições. Então, se estiver preocupado em proteger seus dados, não tente nenhuma das opções que afetam o disco rígido, a não ser que tenha certeza absoluta do que está fazendo.
Também há aplicativos gráficos como Blender, Inkscape e Sodipodi; programas multimídia como Xmms e Xine; e uma coleção de programas educativos. Esse sonho de sistema desktop 100% funcional, baseado apenas em um CD/DVD, vira realidade com o trabalho duro dos scripts que carregam os módulos e programas. E o sistema todo funciona com a precisão de um relógio suíço. Muitos outros projetos live são baseados no Knoppix. Alguns são apenas modificações leves; já outros, como o Kanotix, acrescentam recursos valiosos ao sistema base. Tão valiosos que os desenvolvedores do projeto "pai" muitas vezes incluem as inovações do Kanotix novamente no Knoppix.
Slax
A principal idéia por trás do projeto Slax é fornecer um conjunto de versões especializadas e pequenas do Linux a partir de um mesmo sistema base. No momento, quatro versões estão disponíveis (um total de sete é o objetivo). Todas elas têm menos de 185 MB, o que significa que podem ser gravadas em Mini CDs. As versões atuais do Slax incluem: P Standard edition – Um Live CD rápido e fácil de usar. O boot não leva mais que um minuto e, logo em seguida, o sistema já está pronto para ser usado ou configurado. É todo baseado no KDE: Konqueror como navegador, JuK como tocador de música, KPlayer como reprodutor de mídia, Kopete como mensageiro e o KOffice no lugar do OpenOffice. P KillBill edition – Parecida com a versão Standard, mas incluindo alguns emuladores. Entre eles, QEMU [2], dosbox e o WINE [3], para rodar programas do Windows ou emular diferentes arquiteturas. Você pode instalar o Internet Explorer usando o WINE ou testar uma imagem ISO de CD usanFigura 1: O Knoppix 4 é uma distribuição live madura, com do o QEMU (leia o que já saiu uma gigantesca coleção de programas. sobre esse emulador em [4]).
Análise
Popcorn edition – Segue o princípio Slax: fácil, rápido e limpo. O que distingue essa versão é que o XFCE substitui o KDE. Essa troca ocasiona outras, como o BMP no lugar do JuK, o Mplayer em vez do Kplayer e o Abiword no lugar do KOffice. P Frodo edition – é uma versão toda em modo texto, que objetiva ser apenas um sistema de recuperação portátil. Outras distribuições, como o DamnSmallLinux [5], fornecem um ambiente funcional completo no mesmo espaço. As outras versões Slax ainda em processo de desenvolvimento são: P Server edition – Contém aplicações comuns voltadas para servidores como DNS, DHCP, SMB, HTTP, FTP, MySQL, SMTP, POP3, IMAP e SSH. Está bem perto de ser lançada. P Hacker edition – Por enquanto é apenas uma idéia. Essa edição promete ser um canivete suíço para hackers. Vai conter todas as conhecidas ferramentas de segurança como sniffers de rede, sistemas de detecção de invasão e assim por diante. P Professional edition – A última edição do Slax será uma fusão de todas as outras. O objetivo é fazer isso em apenas 1.4 GB (Mini DVD). Também vai conter o gcc, o make e o código fonte do kernel. Isso vai permitir que o usuários compilem programas, incluindo o kernel Linux. O Slax tem algumas características bem interessantes, como seu sistema de módulos, que facilita a customização de diferentes versões. Esse sistema também permite instalar de maneira fácil e rápida diversos programas disponíveis na página do Slax. Se você quiser criar seu próprio CD, apenas adicione os módulos que desejar ao diretório /module. Ou, se precisar acrescentar um módulo instantaneamente, abra um terminal e digite uselivemod nomedomodulo.mo. ➟ P
49
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Análise
distribuições live
Kurumin
de ser simples e descomplicado para iniciantes. Essa é simplesmente uma das melhores O projeto se transformou distribuições baseadas no Knoppix. Em em uma das distribuições primeiro lugar, é muito rápido. Segundo, mais populares e ganhou tudo está em português, já que se trata vida própria. A instalação de um dos melhores projetos de código é bem fácil e o conjunto de aberto do Brasil. software incluído é bem A interface, baseada no conjunto de balanceado. Essa é uma ícones Crystal, é muito atraente. Em apeboa solução, graças à sua nas 457 MB, o Kurumin tem todos os base sólida (Debian), seus programas de que você precisa, como Figura 2: O Slax é um sistema limpo e rápido, bem leve para o recursos visuais (KDE) e a o OpenOffice.org (chamado de Kurumisistema e que ocupa menos do que 185 MB. configuração simplificada nOffice) 2.0, Gimp 2.2.6, Mozilla Firefox (com o Mepis OS Center). e Thunderbird, Gaim, Skype, aMSN, K3B, Vem em três versões: A menos que você goste de trabalhar Kaffeine e Xmms. com o editor vi, pode ter problemas ao P Simply Mepis – Essa é a edição paHá muitos programas úteis para se iniciar o Slax em modo gráfico. Na edidrão, com a melhor seleção de soft- configurar hardware específico ou deção Standard e KillBill, você vai precisar ware para o usuário de Linux. É rápida, terminado programa. Há também um do vi para editar o arquivo xorg.conf. fácil de usar e de configurar. Contém painel de controle bem intuitivo para Mas esse editor nem está incluído na aplicativos básicos de desktop como configurar o hardware. versão Popcorn, o que pode causar mais OpenOffice, Gimp e outros. A próxiproblemas ainda. Tirando essas comma versão (a ser lançada em breve) plicações, o Slax está entre as melhores vai conter o Xorg no lugar do Xfree e Essa é uma distribuição live que usa atualizações dos programas, como o o Enlightenment, um ambiente gráfico distribuições live. É rápida, fácil de insOpenOffice.org 2.0. talar e a variedade de edições cobre a experimental, com ênfase em velocivariedade de necessidades dos usuários, P MepisLite – O foco dessa edição light dade e flexibilidade. Desde o primeiro são PCs antigos e menos potentes. O lançamento (até o 16°), o projeto vem mas com alguns pequenos problemas usuário ideal dessa edição é um usu- fornecendo um visual impressionante, devido à pouca idade do projeto. ário de Windows 98 que quer um sis- mas sacrificando em alguns casos a tema operacional rápido e moderno. usabilidade. Já a última versão, a E17, Mepis é a única distribuição live cujo É uma boa pedida se você tiver um manteve os gráficos impressionantes, software vem todo do repositório Debian Pentium II com 128 MB de RAM. mas com boa usabilidade e um visual original. Esse foco no Debian é uma gran- P SoHoServer – A edição SoHo não mais limpo. de vantagem, já que, de certa maneira, contém muitos dos proMepis é Debian. A desvantagem é que os gramas multimídia, de pacotes podem não estar tão atualizados escritório e de gráficos, quanto em outras distribuições. mas inclui aplicações de Ao contrário do Knoppix, que ofereservidor como Apache2, ce a maior variedade de programas e PHP4, Perl, MySQL, ProFopções, o Mepis se concentra em simTPd, Bind, DHCPd, Posplificar as escolhas. Você vai encontrar tfix, Dovecot, Shorewall, menos opções de boot e para hardwares Squid, DansGuardian, específicos. No geral, a filosofia Mepis Webmin e Usermin. é oferecer o melhor programa de cada O Mepis é uma opção categoria, em vez de diversos programas muito boa para usuários que fazem a mesma coisa. Conseqüen- que buscam simplicidade Figura 3: O Mepis é simples e prático, baseado no KDE. temente, o sistema ganhou a reputação e praticidade.
Elive
Mepis
50
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Distribuições live
Análise
Gnoppix
tos aplicativos (por exemplo, Gimp, OpenOffice e muitos O Gnoppix começou como um clone do outros programas padrão). Knoppix, com o Gnome no lugar do KDE. Contudo, a interface do Acabou crescendo como uma alternativa usuário é pouco intuiti- boa (e limpa) ao Knoppix. Mas com a va. A opção padrão inclui explosão de mudanças no Knoppix, o o gerenciador de janelas Gnoppix ficou para trás. Fluxbox com o gerenciador No entanto, com a chegada do Ubuntu, de arquivos ROX, com um o projeto ganhou vida nova. Agora ele é tema azul metálico. Essa parte oficial do projeto Ubuntu. não é uma escolha ruim, Esse papel, de certa forma, acaba senmas quando optamos por do uma limitação. O Gnoppix é tão ligado Figura 4: O Elive vem com um gerenciador de janelas bem uma alternativa como o ao Ubuntu que parece não acrescentar rápido e atraente, o Enlightenment 17 XFCE (que está incluído no nada de novo (da maneira como o KnoQuando você roda o Elive, é possível pacote), ele não estava sequer configu- ppix acrescenta recursos ao Debian). O escolher entre o E16 ou E17. A versão rado, um sintoma de que há problemas Gnoppix é, antes de tudo, uma versão mais antiga pode parecer estralive do Ubuntu. Pelo menos isso faz nha para alguém acostumado dele uma boa ferramenta para testar com KDE ou Gnome. Já a E17 a compatibilidade de seu hardware com essa distribuição. definitivamente é uma opção melhor de interface gráfica. Há uma barra de ícones bem similar à do Mac OS X, da Apple, que O objetivo dessa distribuição é forinicia os programas e destaca os necer recursos ausentes no Knoppix. ícones ativos. Há também um Por exemplo, o Kanotix foi lançado com o kernel 2.6, enquanto o conjunto de mini-aplicativos para a área de trabalho, chaKnoppix ainda estava no 2.4. Com mados módulos (modules), o lançamento da nova versão do que checam parâmetros como Knoppix, o intervalo entre os dois Figura 5: O Zen Linux vem com o gerenciador de janelas Fluxbox e o gerenciador de arquivos ROX. a temperatura e a freqüência projetos diminuiu, mas o Kanotix do processador. ainda oferece vantagens. O Elive é um dos melhores sistemas ocultos nessa distribuição. No entanto, Um dos recursos mais interessantes que testei, pelo simples fato de possuir o Zen é o único sistema Live CD que (copiado por muitas distribuições Linux) uma interface verdadeiramente inova- cabe em um Mini DVD (tem dora com relação aos outros. um 1.1 GB), possuindo uma Aqui vai uma dica: se você decidir coleção de programas que instalar o Elive, se prepare para um rivaliza com o Knoppix. Se você quiser instalar o upgrade imediato após a instalação. Alguns dos componentes que rodam a par- Zen no disco rígido, tome tir do CD não rodam no disco rígido. cuidado. Por padrão, a distribuição tenta instalar-se automaticamente apaganO objetivo do Zen é fornecer um bom do todas as partições exisLive CD que seja rápido e com um grande tentes. Se optar por uma conjunto de programas. Infelizmente, os instalação personalizada, desenvolvedores não cumprem muito tenha certeza sobre o que Figura 6: O Gnoppix, baseado no ambiente gráfico Gnome, inclui programas como o Abiword. bem esse objetivo. É verdade que há mui- está fazendo.
Kanotix
Zen Linux
51
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Análise
distribuições live
Tabela 1: Comparativo de distribuições live
Elive Zen Linux Gnoppix Kanotix
www.knoppix.net slax.linux-live.org www.mepis.org guiadohardware.net/ kurumin www.elivecd.org www.zenlinux.org www.gnoppix.org kanotix.com
4 5.0.6 3.3.2 5.1
Versão atual
700MB/3.2GB 47MB/185MB 700MB 457MB
2.6.12 2.6.12 2.6.12 2.16.11
Kernel
Ambiente gráfico
Aplicativos de escritório
0.3 1.2.3 1.0 2005-03
660MB 1.1GB 650MB 700MB
2.6.11 2.6.11 2.6.10 2.6.11
Enlightenment 16/17 Fluxbox 0.9.12 Gnome 2.10 KDE 3.4.1
OpenOffice 1.9.125 OpenOffice 1.1.4 OpenOffice 1.1.3 OpenOffice 2 beta
é a configuração do kernel. Muitas das distribuições baseadas no Knoppix usam o kernel do Kanotix porque ele permite melhor reconhecimento de hardware. Um projeto baseado no Kanotix que promete muito é o SymphonyOS [6], uma distribuição live que usa um novo e revolucionário ambiente desktop, baseado no FVWM.
ISO (menor/maior)
KDE 3.4.1 KDE 3.4.1 KDE 3.3.2 KDE 3.4.2
A maneira mais comum de se obter uma distribuição live é baixar a imagem ISO e “queimá-la” em um CD ou DVD. Entre os programas populares para fazer essa gravação de imagens ISO, estão o Easy CD Creator (para Windows), o Nero (para Windows/Linux) ou o K3B (para Linux). No Linux também é possível queimar uma imagem ISO a partir do terminal. O comando exato depende de seu hardware e de sua distribuição. Para queimar um CD, será necessário digitar algo como: $ cdrecord dev=/dev/hdc /caminho/image.iso hdc (ou hdd) é seu dispositivo de gravação de CDs. Já image.iso é o nome do arquivo iso.
Conclusões Distribuições live são para os usuários de Linux uma ferramenta essencial em situações de emergência. Já para quem não usa Linux, elas dão uma chance de testar o sistema antes de instalá-lo. Se você estiver em busca de uma distribuição leve e simples, que seja fácil de instalar e com uma boa dose de programas campeões em suas categorias, quem ganha é o Mepis. O
Para gravar um DVD, você pode tentar: $ growisofs -Z /dev/scd0=/caminho/image.iso scd0 é seu gravador de DVD e image.iso é o nome do arquivo ISO (com o devido caminho). O
processo de gravação pode levar entre 15 a 40 minutos, dependendo do seu hardware e do desempenho de seu sistema.
Knoppix é o pai de todas as distribuições live. É uma boa alternativa, se você quiser uma montanha de programas e opções de configuração. Mas, para alguns usuários novatos, pode parecer que tem opções demais. O Slax é outro projeto que segue a filosofia do “menos é mais”, mas apresenta alguns problemas devido à pouca idade. E não vamos esquecer do Kurumin, que está entre as melhores distribuições brasileiras, sem se restringir Figura 7: Como o Knoppix, o Kanotix vem com muitos jogos. à categoria Live CD. ■
52
OpenOffice 2 beta KOffice 1.4 OpenOffice 1.1.4 OpenOffice 2.0.
Gravando uma imagem ISO
Sobre o autor
Distribuição Site
Knoppix Slax Mepis Kurumin
Fabrizio Ciacchi (fabrizio.ciacchi.it) estuda Ciência da Computação na Universi-
dade de Pisa, na Itália. Também trabalha
como consultor e escreve artigos sobre
Linux. Em seu tempo livre, colabora com
o desenvolvimento do editor de textos
Abiword (www.abiword.org).
Informações [1] Debian: www.debian.org [2] QEMU: fabrice.bellard.free.fr/qemu/ [3] Wine: www.winehq.org [4] “Máquinas virtuais”, Linux Magazine Brasil, 8a. edição, página 64.
[5] Damn Small Linux: www.damnsmalllinux.org [6] SymphonyOS: www.symphonyos.com
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
Análise
OpenOffice.org
Finalmente: OpenOffice.org 2.0
A chegada do
novo Office
Após inúmeras versões de prélançamento, sai a versão 2.0 do melhor conjunto Open Source de aplicativos de escritório Por Michael Bona
credits of the images
O
Formatos de arquivo
OpenOffice.org acompanha a maioria das distribuições A mudança mais significativa são os noLinux e está entre os grandes vos formatos de arquivo, baseados no responsáveis pelos avanços do Linux OASIS OpenDocument [3]. São formatos no desktop. Quando a versão 2.0 final- padronizados, cuja extensa documentamente foi lançada – após muita discussão ção abrange os mínimos detalhes. Além e vários meses de versões preliminares disso, empresas de software podem im– testamos todos os programas para ver plementá-los sem restrição. se a espera valeu a pena. Já está dispoA idéia por trás do OpenDocument nível inclusive a versão 2.0.1, que corrige – um conjunto de formatos compatíveis com muitos programas do mercado – é pequenos bugs descobertos na 2.0. O conjunto de aplicativos continua fornecer amplo suporte para a troca com as principais funcionalidades que global de dados. Aos poucos, a adoção se pode esperar de uma solução para es- desse tipo de arquivo vem crescendo. A critório integrada. Na verdade, o código União Européia já decidiu adotar forbase do OOo é o ponto de partida de dois matos abertos. Nos EUA, o estado de produtos: o comercial StarOffice, da Sun Massachussetts estabeleceu que todas as [1], e o próprio conjunto de aplicativos repartições públicas (e sua comunicação para escritório de código aberto, dispo- externa) devem usar formatos abertos nível em [2]. Muda pouca coisa nos dois de arquivos a partir de 2007. O KOffice e o AbiWord já suportam o pacotes. A diferença é que a Sun agrega uma coleção de adicionais chamativos OpenDocument. Já a versão antiga do (como fontes, modelos e figuras de cli- OpenOffice (1.1.5) podia apenas ler esse part) ao StarOffice. formato. A empresa alemã Softmaker
54
(responsável pelo editor TextMaker) anunciou que versões futuras do programa serão compatíveis com ele. O mesmo fez a IBM/Lotus e a WordPerfect. Já a Microsoft, infelizmente, anunciou que não incluirá suporte ao OpenDocument em seus programas. No entanto, a empresa não descarta a possibilidade de isso ocorrer no futuro, caso os usuários sintam falta dessa compatibilidade. Uma entrevista com um dos desenvolvedores do OpenDocument e uma discussão entre as diferenças com o WordML, da Microsoft, pode ser encontrada em [4]. Do ponto de vista técnico, o novo formato é bastante similar ao antigo .sxw do OpenOffice. Trata-se de um grupo de arquivos XML dentro de um arquivo compactado.
Sob medida Os usuários do KDE, em particular, se beneficiaram bastante do atraso no lançamento dessa versão. O plano original dos
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
OpenOffice.org
Análise
Writer
Mas as melhorias vão além da imporA cada nova versão, o tação/exportação. A função de contar OpenOffice se torna mais palavras e caracteres não está mais escompatível com o MS Office. condida nas propriedades de arquivo. A versão 2.0 é o ponto alto Agora vem no mesmo estilo do Word, dessa tendência (figura 2 ). como um item de menu Ferramentas | A exceção são documentos Contar Palavras. Tabelas agora podem que o OpenOffice.org ain- conter subtabelas e quebras de página da não importa ou exporta podem ser adicionadas no decorrer de com perfeição. Mas os an- uma linha. Outra mudança é que o texto tigos problemas com listas nas tabelas pode ser vertical, mas apenas Figura 1: A versão 2 traz melhor suporte ao KDE. Em algumas numeradas (que agora são de cima para baixo. distribuições (como SuSE), as janelas vêm no estilo do KDE importadas perfeitamenJá na função de mala direta, nem tote) e tabelas sumiram. E o dos vão considerar o novo Assistente de desenvolvedores era modificar o visual do Writer até manipula particularidades do Mala Direta uma evolução (Figura 3). Ele OpenOffice para que ficasse mais pareci- Word, como linhas que abrangem mais realmente guia o usuário por todas as do com o Windows e o Gnome – veja as de uma página. etapas. Mas o processo exige mais cliques janelas de Abrir e Salvar Como, por do que a versão 1.1. Uma vantagem exemplo. No entanto, os adeptos é que agora é possível criar emails do KDE também vão se beneficiar seriais, assim como em um antedisso (figura 1 ). Esse é um grande passado distante do OpenOffice 2, avanço se comparado ao ancestral o StarOffice 5.1. Mas é necessário visual das janelas de abrir e salvar instalar a biblioteca JavaMail para da versão 1.1. habilitar esse recurso. Em todos os outros aspectos, o Provavelmente você precisa programa agora está muito mais ser um advogado para entender porque dicionários de correção parecido com o Microsoft Offiortográfica não vêm junto com ce do que as versões anteriores. o pacote. Mas é possível baixar Isso pode irritar alguns seguidores fiéis, já que mudar de versão um, quando você quiser, a partir Figura 2: O novo Writer se parece mais ainda com o Word. significa ter que se adaptar a mudos servidores OpenOffice.org, danças. Mas as novidades não são através de uma macro. O corretão ruins como podem parecer. Além Os desenvolvedores também melhora- tor é confiável e versátil, oferecendo dos novos controles no estilo Microsoft ram o recurso de exportar para o formato uma ampla seleção de linguagens, que Office, a maioria das operações e truques PDF. Essa função, que só existe no MS vai do português ao zulu. ➟ antigos ainda funcionam. Office através de plugins coApesar das reclamações, a maioria dos merciais de terceiros, já era usuários xiitas deve apreciar uma das capaz de produzir PDFs de mudanças: agora há uma ferramenta de alta qualidade nas versões formatação para “pintar” o fundo de uma anteriores. A nova versão seleção, realçando o texto. Embora essa agora suporta miniaturas ferramenta (com ícone de pincel) seja odia- das páginas, formulários da por especialistas em processadores de PDF, links no índice e no texto, ela é bastante popular entre usuá- texto para outros trechos rios casuais. E os modelos de documentos do documento. O nível de Figura 3: O Assistente de Mala Direta requer mais cliques, mas ainda estão disponíveis para aqueles que compressão dos gráficos deixam a ferramenta mais fácil para iniciantes. preferem manter seus velhos hábitos. também é configurável.
55
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Análise
OpenOffice.org
Base
usuários terão dificuldade em reconhecer os dois numa pas- O antigo OpenOffice.org não tinha nesada rápida de olho. Mas esse nhum equivalente ao Microsoft Access. não é um ponto negativo. É Embora o pacote tivesse algumas funum passo gigante na direção ções de banco de dados, elas estavam certa (figura 5). bem escondidas. Para mudar isso, os Miniaturas à esquerda desenvolvedores agruparam essas e e modelos de layout faci- novas funções em um novo programa litam a navegação, edição com sua própria interface, o Base (figura e visualização. As versões 6 ). Ele pode ser usado como um frontFigura 4: O recondicionado Assistente de dados agora tem anteriores traziam botões end para bancos de dados MySQL ou mais opções de análise de dados minúsculos para funções PostgreSQL, mas também tem seu próprio importantes; o Impress 2.0 engine, bem fácil de usar. O Base salva agora dispensa o uso da lupa. Todas registros, formulários e consultas em um A mudança mais óbvia do novo Calc as funções principais estão claramente único arquivo. Não requer um servidor é seu estilo Excel. Menus e caixas de visíveis e fáceis de acessar. Isso vale de banco de dados e permite uma fácil ferramentas agora são relativamente principalmente para a função de iniciar troca de dados com outros usuários. idênticos aos equivalentes no concor- a apresentação de slides. Agora ela está Ele vem com um assistente que ajuda rente. Por exemplo, o novo formato em um grande botão no canto superior os usuários a criar bancos de dados e de arquivo agora aguenta até 65.536 direito, ao invés de escondida numa seus formulários e consultas. Mas é um linhas, como o Excel. floresta de ícones. programa obviamente muito jovem. A Um dos maiores pontos fracos do O novo Impress também traz grandes interface não é particularmente intuitiva OpenOffice fica bem aparente no Calc. avanços na troca de dados com o Microsoft e o programa trava com freqüência. A Ainda é impossível o reconhecimento Office. Os AutoShapes da Microsoft (chama- versão atual é mais um programa para de macros VBA, da Microsoft. Tudo dos de CustomShapes no OpenOffice) são usuários casuais. Mas como a interface bem que o Assistente de dados agora plenamente suportados. Versões antigas é complexa demais para esse grupo de tem mais recursos analíticos ( Figura 4 ), importavam formas (shapes) como ima- pessoas, o espetáculo acaba aqui. mas ainda há muito o que fazer: as gens. Já a versão atual acrescenta a posPivotTables do Excel podem fazer muito sibilidade de dimensionar e editar formas. mais e são mais fáceis de usar. Outra Isso também se aplica a fontes rotacionadas O pacote também inclui dois programas novidade é que viciados em teclado ou modificadas. Mais efeitos de animação menores: o Draw, para ilustrações simagora podem trabalhar sem o mouse. e transição são suportados, o que faz um ples, e o editor de fórmulas Math. Ambos Antes, era possível apenas selecionar arquivo importado do Powercélulas com o teclado. Agora, o atalho Point parecer bastante com o [Ctrl]+[Shift]+[Pageup] limpa sele- original. O Impress também ções. Uma fraqueza gritante do Calc, pode exportar um documento que agora foi removida, era a limitada em HTML ou Flash. função de imprimir. 10 anos depois dos Mas a nova interface tem concorrentes, o Calc agora permite que suas desvantagens. O visual sejam especificadas quantas páginas é completamente diferente (na vertical ou horizontal) uma planilha de qualquer outro prograimpressa deve ter. ma no pacote.. Vamos torcer para que os desenvolvedores encontrem uma maneira de Figura 5: O Impress agora importa arquivos PowerPoint O editor de apresentações Impress foi to- adicionar barras laterais mais complexos sem problemas. A imagem mostra uma talmente refeito. A interface gráfica se práticas para os outros pro- apresentação feita originalmente no PowerPoint. parece tanto com a do PowerPoint que os gramas do OpenOffice.
Calc
Mini-aplicativos
Impress
56
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
OpenOffice.org
��������
������
�������� ����������
O autor
praticamente não mudaram em relação à versão antiga. Mas eles se beneficiaram dos melhorias globais. Por exemplo, o Draw agora manipula CustomShapes, assim como o Impress. Muitas das funções poderosas estão disponíveis para todas as aplicações. Por exemFigura 6: O novo Base finalmente traz ao OpenOffice.org um plo, a função de exportar banco de dados similar ao MS Access. em PDF do Writer também gera arquivos perfeitos desse formato nos outros programas. do OpenOffice. O mais novo integrante Outro recurso valioso é que todos os da família, o Base, ainda tropeça basprogramas suportam assinaturas digi- tante, mas promete muito para as próxitais. Isso permite que outras pessoas mas versões. O recurso de exportar para possam checar a origem do documento PDF é um destaque genuíno, que faz do com um bom grau de certeza. A exe- conjunto uma poderosa ferramenta para cução de macros também pode ser vin- quem lida com esse formato. culada à origem do documento. Mas, A adoção do OpenDocument é a muinfelizmente, a ajuda sobre essa fun- dança mais significativa. Esse tipo de ção é mínima. Também não há suporte arquivo promete uma vida longa de inpara GPG, um sistema de assinatura tercâmbio de dados preciso. com uma grande base de seguidores No geral, os desenvolvedores fi zeram entre usuários de Linux. um grande trabalho no OpenOffice 2.0. É Outro deslize: o OpenOffice come- possível fazer praticamente tudo de maçou a vacilar no quesito segurança. A neira melhor do que na versão anterior. primeira versão do desenvolvimento Mas esse é o desenvolvimento normal do ramo 2.0 vem com um nível de se- que você esperaria de uma criança saugurança para macros nos moldes do dável de cinco anos. ■ Microsoft Office. Por padrão, o prograMichael Bona é membro da diretoria da ma apenas alerta o usuário antes de empresa de consultaria alemã Skilldeal rodar uma macro. Embora esse seja AG e um gerente de TI especializado em um passo em direção à compatibilidade projetos Open Source. Foi co-autor (com John McCreesh) do primeiro estudo com a Microsoft, será que o OpenOffice oficial sobre o OpenOffice.org. precisa mesmo imitar as características
Análise
ruins do concorrente?
Conclusão O objetivo do novo OpenOffice é bem óbvio: melhorar a interoperabilidade com o conjunto da Microsoft. Houve um salto gigantesco nessa direção. Há também modificações na interface para facilitar a migração de usuários do MS Office, embora isso possa irritar usuários fiéis
Informações [1] Staroffice: www.sun.com/software/ star/staroffice/index.jsp [2] OpenOffice.org: www.openoffice.org [3] OpenDocument: en.wikipedia.org/wiki/OpenDocument [4] Comparação: OpenDocument e WordML: en.wikipedia.org/wiki/OpenDocument
57
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Tutorial
SSL-Explorer
Rede virtual privada sem complicação
Vias privativas
O SSL-Explorer fornece uma interface para simplificar a configuração de uma rede virtual privada. Tudo via navegador Por Holger Reibold
F
Banco de dados de usuários
O SSL-Explorer [1] é uma alternativa fácil. Ele configura uma VPN baseada na O SSL-Explorer tem seu próprio banco web. O único requisito é um navegador de dados para autenticação, mas tam(com Java) como cliente. Uma interface bém é compatível com autenticação cenweb funciona como o front-end de confi- tralizada, baseada no Active Directory. guração. O programa encapsula (tunne- Funções de interoperabilidade incluem ling) todo tráfego TCP (como SMTP, POP suporte a políticas e "pastas web" do e HTTP) em uma conexão protegida por Windows (o suporte a servidores LDAP SSL (Secure Sockets Layer). está disponível com o plugin comercial Escrito em Java, o SSL-Explorer roda Xtra, citado anteriormente). em Linux ou Windows®. Para controOs requisitos para rodar o programa lar o sistema “de longe”, os adminis- (que ocupa 140 MB do disco rígido) exitradores podem usar ferramentas de gem, no mínimo, um Pentium III (1 GHz) acesso remoto como SSH, e 512 MB de RAM. O arquivo .zip em [1] SFTP, VNC, Citrix e outros vem com um pacote RPM que instala serviços de terminal. E um o SSL-Explorer em /opt/sslexplorer. gerenciamento integrado de Para iniciar a ferramenta de configuraperfis acrescenta a habilida- ção via web, simplesmente digite /opt/ de de defi nir configurações sslexplorer/setup-sslexplorer. A variadas para múltiplos instalação leva você a uma URL que é a pontos de acesso. Há ainda interface via navegador. Por padrão, ela uma extensão comercial ao “ouve” a porta 28080. programa – o Xtra, da 3sp Antes de tudo, é preciso ajustar al[2] – que adiciona mecanis- guns parâmetros críticos no modo de mos de autenticação (LDAP, configuração. A primeira página da Figura 1: Configuração de encapsulamento (tunneling) com PIN, SMS e chave pública), interface se chama Web Security. Ela o SSL-Explorer. Dessa forma, protocolos desprotegidos ficam a assim como suporte técnico permite criar ou importar certificados. salvo de “olhos curiosos”. e outras melhorias. Se quiser apenas testar o programa, crie
uncionários que trabalham fora da empresa precisam acessar suas redes corporativas a partir de diferentes locais. Nesse quesito, redes virtuais privadas (ou VPN, Virtual Private Network) são a solução. Elas fornecem acesso remoto e privativo pela Internet, protegendo o tráfego e impedindo acessos indevidos aos dados na rede através de criptografia. No entanto, muitas VPNs são bem complicadas de confi gurar, além de exigir ajustes fi nos nos fi rewalls.
58
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
SSL-Explorer
seu próprio certificado. Mas em um servidor operacional e em produção, você vai precisar de uma chave de alguma Autoridade de Certificação que todos os navegadores respeitem. Após completar a configuração, os usuários têm três opções para iniciar o SSL-Explorer. O comando na distribuição Red Hat (por enquanto a única suportada oficialmente) é service sslexplorer start. Digite /etc/init.d/ sslexplorer console ou, talvez, /opt/ sslexplorer/sslexplorer console, em outras distribuições.
Começando Use o protocolo HTTPS localmente (https:/localhost/) para acessar a interface. A senha padrão do administrador (usuário admin) é admin. Depois de se logar, você verá quatro menus:
Tutorial
Home, Networking, Services e Admin. Na primeira vez que o programa roda, a página inicial informa o status do cliente VPN. Um cliente rodando é uma condição para algumas funções do SSL-Explorer. O botão Launch inicia o applet. Já o menu Home permite a configuração de parâmetros como os usados no gerenciamento de usu- Figura 2: Esse formulário de configuração permite o gerenciamento de parâmetros das contas de usuários. ários. Home | My Account | Configuration leva a um grande formulário com configurações A configuração padrão traz dois perfis. de usuário (Figura 2). Os administra- Você pode adicionar mais se precisar. dores podem configurar suas próprias Esses perfis permitem especificar procontas e criar perfis individuais para priedades para diferentes situações. O os usuários. O menu Admin permite a SSL-Explorer usa um controle de acessos criação de novos usuários. hierárquico, baseado nas “funções” de
������������������������������������������������� ���������������� ����������� ����������� ����������� ����������������� ������������ ������������� ���������� ����������������� �������������� ���������� ���������� ����������� �������������� ������������ ������������������ ����������� ������������ ����������� �������������� ������������
������������������������ ��������������������� ������������������� ��������������������� ���������������� ��������������������� ���������� ������������������� ������������������� ������������������� ����������������������� ������������������ �������������������� �������������� ������������� ���������������������� ����������������������� ����������������������� ����������������������� ��������������� �����������������������
������������������������� ������������������������� ���������������������� ���������������������� ���������������������� ������������������������ ����������������������� ����������������������� ������������������������ ��������������������������� ���������������������� ����������������������� ���������������������� ���������������������� ����������������������� ���������������������� ��������������������� ��������������������� ������������������������ ����������������������� ���������������������
���������������������� �����������������������������������������������������������������
59
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Tutorial
SSL-Explorer
Seguindo as regras
cada usuário. Isso permite um controle preciso das permissões. Em vez de asso- O item Admin | Access Conciar permissões a um usuário, o adminis- trol abre a página Security trador associa permissões a uma função Options (figura 3). Esse fore, depois, associa um ou mais usuários mulário permite criar ou moa essa função. Por exemplo, as permis- dificar configurações gerais sões para usuários do departamento de segurança. Elas incluem de marketing podem ser diferentes das o tipo de banco de dados, fornecidas para a equipe de vendas. que pode ser tanto o formato Definir uma função manualmente não interno do SSL-Explorer ou é difícil. Apenas digite um nome na cai- o Active Directory. xa Create Role e clique em Create. Será Também é possível esacrescentada uma nova função à lista. A pecificar o número de tenfunção é sublinhada em vermelho para tativas de login antes que indicar o status Revoked (revogada). É uma conta seja desativada, preciso acionar essa função antes de especificar a complexidade começar a usá-la. Ferramentas de con- das senhas exigidas e dar figuração bastante detalhadas ajudam a privilégios de administraFigura 3: O SSL-Explorer possui diversas configurações de editar as propriedades de cada perfil. Se ção para grupos e usuários, segurança, tudo acessível via navegador. você estiver em uma rede do tipo Active além de permitir ou não coDirectory, será possível importar as con- nexões de múltiplas sessões. figurações de grupos de usuários. A opção Strict Checking do cliente VPN é tegem a conexão. O procedimento para bem interessante. Ela controla o acesso configuração de SMTP e outros serviços às configurações do sistema operacional seguem o mesmo padrão. O item de menu Admin | Access Control e da instalação Java do cliente. O menu Network | Network Places | Accounts leva ao gerenciamento das permite que os usuários acessem a contas. É aqui que usuários são associarede Windows. Esse menu permite dos a determinadas funções. Indepen- O SSL-Explorer tem recursos de en- reservar o acesso de funcionários fora dente de você estar criando ou editando capsulamento (tunneling) bem abran- da empresa. Outros recursos interesuma conta, a janela que aparece é a gentes e, ao mesmo tempo, de simples santes incluem acesso a repositórios mesma. Aqui é preciso especificar o configuração. É possível proteger qual- WebDAV e extensões XML. número de identificação do usuário, o quer serviço TCP e configurar o acesso nome completo dele e, possivelmente, ao POP3, por exemplo. Para proteger um endereço de email. o tráfego POP3, os administradores O SSl-Explorer traz conectividade VPN, O SSL-Explorer permite restringir o precisam acessar as opções de encap- com controle via navegador. Administraacesso a partir de IPs específicos. Para sulamento via Networking | SSL Tun- dores profissionais podem sentir falta da acessar o formulário responsável por nels e digitar a porta do servidor de configuração mais detalhada oferecida por essa configuração, acesse Admin | Ac- email (tipicamente 110), o hostname e ferramentas como o Openswan e outras. cess Control | IP-Restrictions. O adminis- a porta alvo (de novo, 110 por padrão) Mas, para tarefas mais simples, ele é mais trador pode permitir ou negar o acesso no formulário Create Tunnel. do que suficiente para o trabalho. ■ Clique em Add para configurar o pria partir de determinado IP. Para fazer Informações isso, digite um IP em IP Address. Para meiro encapsulamento. Agora basta que cobrir uma subrede completa, use algo os usuários modifiquem os parâmetros [1] SSL-Explorer: sourceforge.net/projects/sslexplorer como 192.168.1.*. Depois, o formulário em seus clientes de email de acordo com vai exibir a seção Current Rules (regras a configuração VPN. Isso significa subs- [2] Extensões comerciais: www.sshtools.com/ showSslExplorerXtra.do atuais) atualizada, com a lista de permis- tituir o servidor POP3 por localhost. O sões e restrições aos endereços de IP. cliente VPN local e o servidor VPN pro-
Contas de usuários
Outros recursos
Conclusão
60
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Coluna do Augusto
Lar sem
SysAdmin
Proteção no desktop
vírus
Conheça as vantagens e desvantagens dos mais famosos antivírus para Linux, rodando em casa Por Augusto Campos
P
rovavelmente não existe hoje um profissional da administração de sistemas que desconheça a rotina de fi ltrar vírus em servidores, buscando proteger as estações de trabalho que acessam os seus dados. Peço licença a eles, entretanto, e neste mês vou me dirigir aos usuários domésticos de Linux que talvez não tenham atentado ainda para a possibilidade de instalar um antivírus no Linux para proteger não apenas a si mesmos, como ainda outros sistemas operacionais presentes na mesma máquina ou em uma rede doméstica. Instalá-los pode ser bastante simples e os sites oficiais trazem documentação – mas para encontrá-la, você precisa saber onde procurar! Para ajudar, vou apresentar algumas opções gratuitas que já avaliei. O BitDefender [1] não é Software Livre, mas a sua versão Linux é gratuita para uso pessoal. A interface desse programa é por linha de comando tradicional, mas com alguns requintes, como a facilidade de auto-atualizar a base de dados de vírus. Esse modelo de interface facilita o uso em scripts ou integrado a outras ferramentas (como o sempre excelente amavisd-new [2] , que integra ferramentas de verificação ao seu servidor de email com eficiência e transparência), mas pode ser um pouco refratário a usuários desktop. Ainda assim, é possível usá-lo para verificar arquivos individuais – ou mesmo
www .sxc .h
o disco inteiro – em busca de conteúdo perigoso. E naturalmente isso inclui não apenas os vírus que podem afetar o Linux, mas também os que ameaçam outros sistemas operacionais. O F-Prot [3] para Linux tem alguns pontos em comum com o BitDefender: seu código não é livre, ele é gratuito para uso doméstico e tem interface por linha de comando. Mas, ao contrário do seu concorrente, não tem o refi namento de gerenciar suas próprias atualizações de bases de dados – você vai ter que cuidar disso sozinho ou adotar um script para a tarefa. Ele tem uma vantagem importante, entretanto: um mecanismo para tentar detectar vírus novos antes mesmo de eles passarem a constar na base de dados. Ele seria especialmente indicado para proteger contra trojans e vírus de macros; portanto, pode ser uma boa escolha para servidores de arquivos ou de email acessados por cliente que rodam Windows®. Mas se você procura um antivírus para rodar no seu desktop Linux ou no servidor de uma rede doméstica, provavelmente vai valer a pena já começar testando o ClamAV [4]. E não apenas por se tratar de um software genuinamente livre: o ClamAV usa técnicas modernas de detecção, sua base de dados é atualizada todos os dias e... Trata-se de um software genuinamente livre! Deixando de lado as
u–W
ojcie
ch S a
dlej
implicações fi losóficas desse fato, podemos ser pragmáticos: isso significa que ele está altamente adaptado e integrado aos ambientes livres, com literalmente dezenas de scripts e configurações prontas para permitir seu uso nas mais diversas situações. Particularmente digno de nota é o belo e funcional front-end KlamAV [5] , que (como você adivinhou) facilita o uso do ClamAV no ambiente KDE. A escolha de uma alternativa para uso doméstico não tem as mesmas implicações nem os mesmos requisitos da mesma escolha para um servidor corporativo. Mas conforme o tráfego gerado por vírus aumenta na Internet, cada vez mais começa a valer a pena ter programas de proteção instalados em seu computador, mesmo se não houver preocupação com infecções – só a redução do tráfego e armazenamento (por exemplo, de mensagens de email de vírus e trojans) desnecessários já justificam a medida. Não deixe para mais tarde! ■
Informações [1] BitDefender: www.bitdefender.com/site/linux [2] amavisd-new: www.ijs.si/software/amavisd [3] F-Prot: www.f-prot.com/products/ home_use/linux [4] ClamAV: www.clamav.net [5] KlamAV: klamav.sourceforge.net
61
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
SysAdmin
Nmap
Invasão!
Entendendo as técnicas de análise com o Nmap
com redes de computadores já ouviu falar no Nmap, o mais famoso scanner de vulnerabilidades do mundo livre. Mas de que maneira o Nmap identifica as brechas de segurança em sua rede? Neste artigo,
www.sxc.hu – Davide Guglielmo
Qualquer um que trabalhe há mais de dois meses
examinaremos algumas de suas técnicas. Por Christian Ney
O
ato de varrer uma rede em busca de vulnerabilidades é quase tão antigo quanto as próprias redes. Nos saudosos tempos de outrora, em que o único modo de conexão remota eram as linhas telefônicas, “hackers” usavam modems para testar blocos de números de telefone. Esses vivaldinos registravam em um caderno todas as respostas obtidas – um panaca gritalhão, um sinal de fax, uma voz feminina, um outro modem atendendo à ligação… O processo era chamado de wardialing (em português, algo como “guerra de discagem”). Hoje, os chamados scanners de rede ou port scanners é que são a coqueluche. Eles transmitem, em direção ao sistema sob teste, pacotes IP (ou TCP/UDP) especialmente manipulados. Dependendo da reação (ou falta dela) é possível identificar os tipos e modelos de sistemas, bem como mapear os serviços oferecidos e as possíveis vulnerabilidades existentes. O Nmap (The Network Mapper [1]), trazido à luz por Fyodor em setembro de 1997 [2], é provavelmente um dos mais completos scanners de rede que existem. Fyodor estava insatisfeito com os recursos que ferramentas como o Strobe [3] e o Pscan [4] ofereciam. Ele queria um programa que superasse qualquer outro conhecido – e realmente conseguiu.
62
O Nmap é distribuído em praticamente e TCP de maneira a ficarem completaqualquer CD de Linux que você possa mente irreconhecíveis. Não é preciso encontrar por aí. Se sua distribuição pre- ser um especialista para usar o Nmap, ferida não possuir o Nmap, escreva para mas os iniciantes talvez fiquem um poulá reclamando bastante e depois baixe co confusos com a teoria envolvida e o programa a partir do site oficial [1]. O a quantidade de opções do programa. Nmap usa a técnica de impressão digital Infelizmente temos que alertar: para usar TCP (TCP fingerprinting) para identifi- o Nmap em toda a sua plenitude, é necar o sistema operacional da máquina cessário ter uma boa bagagem a respeito que estamos varrendo – a máquina sob de redes e TCP/IP. Este artigo descreve ataque. O programa consegue determi- algumas das técnicas que o Nmap usa nar há quanto tempo o computador está para descobrir vulnerabilidades. ligado (uptime) e realmente identificar os serviços oferecidos, em um nível de detalhe que inclui o número da porta, o nome do daemon responsável e até a versão desse daemon. O número fabuloso de funções oferecidas pelo Nmap indica, por outro lado, que a quantidade de opções da linha de comando é, também, espetacular. Há não menos do que 15 métodos de se varrer um dado nó (tabela 1) e aproximadamente 20 variações Figura 1: O Nmapfe, interface gráfica do Nmap, permite que e configurações para cada usemos o programa sem ter que decorar a grande quantidade de opções da linha de comando – e, de quebra, mostra como método – alguns deles seria esse comando (observe a linha na parte de baixo da tela). manipulam os pacotes IP
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Nmap
Tabela 1: Técnicas de varredura Técnica
TCP SYN Conexão TCP TCP FIN Árvore de Natal TCP Vazio (Null) Ping Detecção de Versões UDP Protocolo IP ACK Janela ACK RPC Lista Passivo ("Idle Scan") FTP Bounce
Sintaxe -sS -sT -sF -sX -sN -sP -sV -sU -sO -sA -sW -sR -sL -sI -b
Aplicação
Varredura camuflada ("stealth") Varredura por usuário comum (facilmente detectável) Varredura camuflada ("stealth") Varredura camuflada ("stealth") Varredura camuflada ("stealth") Determinar se o computador está ligado Identificar os serviços e as versões dos daemons Identificar portas UDP abertas Identificar os protocolos suportados Identificar firewalls Varredura ACK mais especializada Identificar serviços RPC "Boneco de testes" Varredura usando um "laranja" como despiste Forma antiga de ataque, presente por motivos históricos
Bandido, eu? Muitos rotulam o Nmap como sendo uma ferramenta para malfeitores. De fato, os "chapéus pretos" usam e abusam do Nmap como auxiliar no ataque e invasão às suas vítimas. Mas, assim como um martelo pode ser usado para colocar um prego na parede, também podemos rachar a cabeça de alguém com ele. Da mesma forma, o Nmap é, nas mãos dos administradores de rede, um grande aliado no diagnóstico dos problemas de suas redes. Os responsáveis por sistemas de informação têm por obrigação conhecer todas as falhas e brechas que a rede sob sua batuta possui. Há muitas histórias de administradores que decidem fazer uma análise abrangente de suas redes e descobrem estarrecidos que há muitos serviços negligenciados ou mesmo esquecidos. O Nmap também ajuda no inventário da rede, no teste de penetração em firewalls e a documentar as atualizações de todos os sistemas. Uma mão na roda, não? O Nmap foi, originalmente, desenvolvido para o Linux. Hoje, entretanto, há versões para Windows ®, Free/Open/Net/ *BSD e vários sabores de Unix. Apesar de
ter todo o seu potencial explorado apenas na linha de comando, há interfaces gráficas para ele tanto no Unix (Nmapfe, figura 1) quanto em sistemas que vieram de algum lugar do noroeste dos Estados Unidos (Nmapwin [5]). É possível até colocar o Nmap em um servidor e controlálo pelo browser (PHP-Nmap [6] – figura 2). A página oficial do Nmap possui uma lista bastante grande com projetos baseados no Nmap [7]. Há até uma versão do programa para o Zaurus, assistente pessoal portátil (PDA) da Sharp que usa Linux como sistema operacional.
SysAdmin
gem ICMP Echo Request – a mesma usada pelo comando ping – e o método próprio do Nmap, muito mais moderno e eficiente. Lembre-se de que a maioria dos sistemas operacionais de hoje pode ser configurada para não responder a um ping. P Depois, o Nmap faz uma consulta ao DNS para tentar determinar o nome de host associado ao endereço IP do alvo. Este estágio pode ser desativado se o usuário assim preferir. P Por fim, o Nmap varre o alvo usando a técnica selecionada pelo usuário quando emitiu o comando. Para interromper o processo de varredura, basta pressionar [Ctrl]+[C]. É possível pedir ao Nmap que grave um arquivo de registro (log) que, além de servir para sua análise futura, permite que ele continue o teste de onde parou. Há quatro estados distintos de porta reconhecidos pelo Nmap – veja a tabela 2. Um dos pontos fortes do Nmap é a grande quantidade de técnicas de varredura disponíveis. Em vez de simplesmente iniciar uma conexão TCP completa – uma negociação em três etapas conhecida como three-way handshake – o programa transmite pacotes especialmente armados para contrariar todas as disposições das RFCs vigentes (RFC
O truque das três cartas O Nmap possui um método de varredura composto por três estágios. Por padrão, esses três estágios são: P O Nmap tenta determinar se o sistema sob ataque (vamos chamá-lo de "alvo") está "vivo"– isto é, funcionando e conectado. O usuário pode escolher entre o método tradicional que usa uma mensa-
Figura 2: Mesmo sem oferecer um grande número de opções, a interface web para o Nmap, escrita em PHP, é um recurso bastante interessante.
63
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
SysAdmin
Nmap
mos uma resposta, não há como determinar se o alvo está desconectado, se a resposta foi bloqueada por um firewall ou se, simplesmente, o sistema operacional do alvo não responde a pings. O ping serve apenas como investigação preliminar, dando ao pesquiFigura 3: Sem privilégios de root, o número de técnicas sador uma maneira rápida de ataque possíveis de ser iniciadas com o Nmap reduz-se de verificar quais sistemas significativamente. reagem, economizando tempo precioso – afinal, – Request For Comments, uma espécie tarefas mais demoradas ainda estão por de documento normativo). vir, portanto é melhor concentrá-las em Analisando a maneira como o alvo alvos realmente "vivos". responde a esses pacotes "Frankenstein", o Nmap tira conclusões a respeito de suas características e A varredura do tipo "Lista" (-sL) permite vulnerabilidades. Para a maioria das que os usuários verifiquem todas as contécnicas, é necessário rodar o Nmap figurações do Nmap antes de iniciar um como root, já que o programa traba- ataque real. Isso pode evitar que erros e lha com os chamados raw sockets para esquecimentos embaraçosos ponham a poder montar seus próprios pacotes perder toda a confidencialidade do ataadulterados – solenemente esnobando a que. Uma varredura do tipo “Lista” diz pilha TCP/IP do sistema operacional. ao usuário quais sistemas o Nmap vai O Nmap é de grande valia para os ad- investigar (e de que forma o fará), mas ministradores de sistemas de informa- sem disparar um ataque verdadeiro. Em ção. Você pode varrer todas as portas suma, é uma simulação. de uma máquina à cata de problemas. Mesmo com essa precaução, ainda há Mais ainda: se necessário, pode varrer que se ter cuidado redobrado durante tesredes inteiras! A varredura do tipo ping tes de penetração. Lembre-se sempre de é bastante útil nessas horas. Como o que o Nmap, por padrão, tenta resolver nome sugere, o comando ping gera uma os nomes DNS das máquinas sob ataque. mensagem ICMP Echo Request e a envia Certifique-se sempre de desativar esse à máquina alvo. Se o alvo existir, estiver comportamento denunciador. ligado e conectado, irá responder com ICMP Echo Reply. A varredura ping do Nmap funciona de forma semelhante. Se o usuário não tiver privilégios de O protocolo ICMP não usa nenhuma root (figura 3) o Nmap só consegue faporta, portanto o Nmap não pode usá- zer varreduras usando conexões TCP lo para investigar muita coisa. Por ou- completas (connect()). Essa técnica tro lado, uma varredura desse tipo usa usa as funções do próprio sistema apenas um par de pacotes para cada nó operacional para estabelecer conexões – tornando-a bem rápida. O resultado, que atendam aos requisitos da RFC entretanto, é impreciso: se não receber- vigente para o TCP/IP.
Um grama de precaução…
Amante à moda antiga
64
Uma conexão TCP completa usa a manjadíssima negociação em três etapas do protocolo TCP, conhecida como three-way handshaking. Sem essa negociação prévia, é impossível estabelecer um canal de comunicação TCP entre dois computadores – normalmente, entre um cliente e um servidor; por exemplo, entre o Internet Explorer e o IIS. A negociação funciona da seguinte maneira: o cliente que quer iniciar a conexão (em nosso caso, o Nmap) envia um pacote TCP com o sinalizador (ou flag) SYN ativado. O flag SYN avisa ao outro sistema que o primeiro quer se conectar a ele. O pacote TCP, além do flag SYN, informa também as portas de origem e de destino (figura 4). Se, no alvo, a porta que está sendo testada estiver aberta (ou seja, aceitando conexões), o alvo responde com outro pacote TCP, esse com os flags SYN e
Tabela 2: Estados das portas Estado
Aberta (Open) Filtrada (Filtered)
Explicação
É possível se conectar a essa porta sem restrições. A porta está, provavelmente, sendo bloqueada por um firewall. Se as varreduras do tipo SYN e Conexão Completa descobrirem portas abertas e filtradas, o administrador do firewall pode ter cometido o grave erro de ter implementado uma regra DROP malfeita. NÃO-Filtrada As varreduras do tipo ACK ou (UNfiltered) Janela descobriram portas não filtradas pelo firewall. A comunicação com essas portas é, a princípio, possível, mas será necessário usar nelas outros tipos de varredura para obter mais informações. Fechada A porta pode estar corretamen(Closed) te bloqueada pelo firewall ou mesmo nem existir no sistema sob ataque. Em ambos os casos, é impossível comunicar-se com essas portas.
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Nmap
Listagem 1: Varredura por conexão TCP completa Porta fechada: 192.168.5.22 -> 192.168.5.10 TCP 60319 > 80 [SYN] 192.168.5.10 -> 192.168.5.22 TCP 80 > 60319 [RST, ACK]
Conexão "meia-boca"
SysAdmin
Nmap perceber que a porta está aberta. Portanto, em vez de continuar com a conexão, o Nmap manda um RST para acabar com a festa – veja a listagem 2. O sistema sob ataque nem percebe esse processo, já que a conexão não se concretizou; de quebra, nada é registrado nos logs. Apesar de lograr o sistema operacional, esse truque simples não passa a perna em sistemas de detecção de intrusos (IDS) como o Snort [8] e o Prelude [9]. Esses IDSs monitoram todas as portas e, se detectarem um grande número de tentativas de conexão frustradas, identificam o processo como uma varredura maliciosa. O Snort registra as seguintes informações depois de um portscan como esse:
URG ACK PSH RST SYN FIN
Uma conexão completa, mesmo se fechada imediataPorta aberta: mente com aquele 192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [SYN] quarto pacote RST, 192.168.5.10 -> 192.168.5.22 TCP 80 > 60320 [SYN, ACK] tem uma desvanta192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [ACK] gem gritante: cone192.168.5.22 -> 192.168.5.10 TCP 60320 > 80 [RST, ACK] xões perfeitamente estabelecidas figuListagem 2: Varredura com pacotes TCP-SYN ram nos registros (logs) do sistema Porta fechada: operacional. Como 192.168.5.22 -> 192.168.5.10 TCP 56522 > 80 [SYN] resultado, é facíli192.168.5.10 -> 192.168.5.22 TCP 80 > 56522 [RST, ACK] mo determinar quem Porta aberta: anda varrendo deter192.168.5.22 -> 192.168.5.10 TCP 60420 > 80 [SYN] minada rede. Dá para 192.168.5.10 -> 192.168.5.22 TCP 80 > 60420 [SYN, ACK] melhorar bastante o 192.168.5.22 -> 192.168.5.10 TCP 60420 > 80 [RST] quadro se você tiver privilégios de root. [**] [100:1:1] spp_portscan: PORTSCAN U ACK ligados. Essa é a segunda etapa da Como root, é possível varrer os al- DETECTED from 192.168.5.22 (THRESHOLD 4 U connections exceeded in 0 seconds) [**] negociação. Na terceira etapa, o Nmap vos com a técnica TCP-SYN. Além de envia um pacote TCP com o flag ACK economizar recursos da rede e do sis- 10/05-19:40:49.540435 ativado, o que estabelece definitiva- tema operacional, não depende deste mente a conexão. último para nada e possui uma "camuPara despistar a maioria dos IDSs Se não houver nenhum programa ser- flagem" natural. Em vez de estabelecer (mas não todos), basta dizer ao Nmap vidor naquela porta (ou seja, se a porta uma conexão TCP completa, o Nmap para "segurar a onda" e fazer tudo bem não estiver aceitando conexões) o siste- transmite o primeiro SYN do three- devagar. A idéia é esconder os pacotes ma operacional do alvo responde com way handshake. Uma porta fechada de teste na multidão de pacotes do tráum pacote TCP com o flag RST ligado, reagirá com um RST para forçar o fego normal da rede. Também é possível forçando o encerramento da conexão. cancelamento da conexão. Uma porta tentar embaralhar a vista do IDS com Esse é o modo correto de estabele- aberta responderá com um SYN/ACK. técnicas como TCP FIN, "Árvore de Nacer uma conexão TCP com um dado Esse SYN/ACK já é suficiente para o tal" e "TCP Vazio". ➟ sistema remoto. Na varredura do tipo connect(), o Nmap usa o sistema 0 7 8 15 16 23 24 31 operacional para iniciar o three-way Porta de Origem Porta de Destino handshake. Se conseguir uma conexão, Número Seqüencial a porta está aberta. Se receber um RST, Número de Reconhecimento a porta está fechada. Simples assim. Deslocamento Reservado Janela Observe que o Nmap manda, ele Verificação de Integridade (Checksum) Ponteiro de Urgência mesmo, um RST para finalizar, o Opções mais rápido possível, a conexão que ... Enchimento acabou de abrir, caso esta tenha êxito. Deixar conexões abertas por muito Figura 4: O Nmap usa os campos do cabeçalho TCP para descobrir os detalhes dos sistemas sob ataque. Além dos flags ACK, RST e SYN (em amarelo), algumas técnicas usam combinações pouco tempo torna muito fácil detectar o usuais dos outros flags (em rosa). ataque. Veja a listagem 1.
65
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
SysAdmin
Nmap
Listagem 3: FIN, Árvore de Natal e Vazio
Segredo de estado As técnicas TCP-FIN, Árvore de Natal e TCP Vazio possuem uma capacidade de camuflagem sem precedentes. Ao contrário das duas técnicas anteriores (TCP completa e TCP-SYN), estas não iniciam conexão alguma. Em vez disso, mandam um único pacote ao sistema alvo. Os três ataques diferem apenas nos flags TCP que ativam (veja a figura 4). Nenhum desses flags deveria estar ativo em tráfego normal de rede e, por outro lado, nenhum deles possui o necessário flag SYN para iniciar uma conexão. É pela resposta a esses pacotes (ou falta dela) que o Nmap tenta inferir a disponibilidade do sistema alvo. Quando a porta está fechada, qualquer sistema operacional que atende às normas e RFCs pertinentes responderá com um pacote RST, forçando o encerramento da conexão. Por outro lado, se a porta estiver aberta (ou seja, há um serviço qualquer "escutando" nela), o sistema sob ataque não saberá o que fazer para responder a esse pacote "alienígena", já que não há uma conexão previamente estabelecida. Infelizmente, as RFCs não dão instruções claras sobre como responder a pacotes dessa natureza. Como conseqüência, cada sistema operacional se comporta de um jeito diferente. A listagem 3 mostra como um sistema Linux responde a eles: simplesmente ignorando-os. Sistemas Windows lidam com isso de forma bastante diversa. Eles respondem a esse tipo de pacote com um RST. Como essa é a mesma resposta tanto para portas abertas quanto para portas fechadas, não é possível discernir entre uma e outra. Pode parecer a forma correta de se fazer a coisa, mas isso traz um efeito colateral: só máquinas Windows têm esse comportamento, portanto essa é uma maneira fácil de identificar se o sistema operacional rodando no alvo veio de Redmond.
66
FIN, Porta fechada: 192.168.5.22 -> 192.168.5.10 TCP 56485 > 80 [FIN] 192.168.5.10 -> 192.168.5.22 TCP 80 > 56485 [RST, ACK] FIN, Porta aberta: 192.168.5.22 -> 192.168.5.10 TCP 43406 > 80 [FIN] 192.168.5.22 -> 192.168.5.10 TCP 43407 > 80 [FIN] Árvore de Natal, Porta fechada: 192.168.5.22 -> 192.168.5.10 TCP 49499 > 80 [FIN, PSH, URG] 192.168.5.10 -> 192.168.5.22 TCP 80 > 49499 [RST, ACK] Árvore de Natal, Porta aberta: 192.168.5.22 -> 192.168.5.10 TCP 47109 > 80 [FIN, PSH, URG] 192.168.5.22 -> 192.168.5.10 TCP 47110 > 80 [FIN, PSH, URG] Vazio, Porta fechada: 192.168.5.22 -> 192.168.5.10 TCP 50508 > 80 [] 192.168.5.10 -> 192.168.5.22 TCP 80 > 50508 [RST, ACK] Vazio, Porta aberta: 192.168.5.22 -> 192.168.5.10 TCP 55971 > 80 [] 192.168.5.22 -> 192.168.5.10 TCP 55972 > 80 []
Se o alvo não responder, o Nmap rotula aquela porta como fechada ou filtrada (tabela 2). Os firewalls tendem a descartar pacotes desse tipo sem emitir qualquer comentário. Outras técnicas podem oferecer muito mais informações sobre o sistema sob ataque. Uma delas é a "Detecção de Versão". Mas cuidado: essa técnica não tenta, de forma alguma, se esconder sob qualquer camuflagem e usa rotinas de identificação de portas bastante agressivas. Se seu objetivo é não ser descoberto, cuidado com ela!
com o serviço lá presente – cuidado, isso cria uma linha no arquivo de log. Pelo canal de comunicação, envia uma série de pacotes de teste e, baseado nas reações a eles, tenta identificar o software responsável pelo serviço e sua versão. O Nmap armazena os resultados em seu banco de dados de ataques sob o título nmap-service-probes. A versão 3.93 inclui 2895 assinaturas de serviços. O Nmap pode empregar essas mesmas técnicas na detecção de todo o sistema alvo – incluindo o sistema operacional. O chamado OS Fingerprinting (impressão digital do sistema operacional) é um dos recursos mais espetaculares do A detecção de versões não procura por Nmap. Para falar a verdade, o Nmap é o portas abertas. Em vez disso, faz testes mestre supremo nesse terreno, batendo numa porta em que, já se sabe de ante- qualquer outro programa, tanto livre mão, existe algum serviço “na escuta” quanto comercial. O processo de descoberta do sistema (listagem 4). Os potenciais candidatos a isso foram identificados anteriormen- operacional leva em conta as sutis difete por varredura do tipo TCP-SYN. A renças no comportamento da pilha TCP/ detecção de versão abre uma conexão IP. O Nmap possui uma tabela com a normal com uma porta e se comunica maneira como cada sistema operacional
Até o osso
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Nmap
reage a determinados estímulos (isto é, como responde a determinados pacotes). Comparando os resultados dos testes com essa tabela, é possível determinar qual sistema operacional está instalado no alvo. O Nmap 3.93 (a versão mais recente à época desta edição) possui não menos do que 1707 “impressões digitais”. O processo todo é bastante discreto e difícil de ser detectado: nenhuma conexão é iniciada entre o Nmap e o alvo e são usados, ao todo, apenas 30 pacotes bastante simples. O OS fingerprinting começa com um varredura de portas comum para determinar se há portas abertas no sistema alvo. Depois, dispara uma bateria de oito testes simples, que enviam pacotes especialmente criados para provocar respostas específicas. Alguns desses pacotes nunca ocorreriam em tráfego normal de uma
SysAdmin
Listagem 4: Detecção de versões 192.168.5.22 -> 192.168.5.10 TCP 59555 > 80 [SYN] 192.168.5.10 -> 192.168.5.22 TCP 80 > 59555 [SYN, ACK] 192.168.5.22 -> 192.168.5.10 TCP 59555 > 80 [ACK] 192.168.5.22 -> 192.168.5.10 HTTP GET / HTTP/1.0 192.168.5.3 -> 192.168.5.22 TCP 80 > 59555 [ACK] 192.168.5.3 -> 192.168.5.22 HTTP HTTP/1.0 200 Ok 192.168.5.22 -> 192.168.5.10 TCP 59555 > 80 [ACK] 192.168.5.22 -> 192.168.5.10 TCP 59555 > 80 [FIN, ACK] 192.168.5.3 -> 192.168.5.22 HTTP Continuation or non-HTTP traffic 192.168.5.22 -> 192.168.5.10 TCP 59555 > 80 [RST]
rede típica – e, portanto, o processo é presa fácil para IDSs. Mas, se não houver um IDS, o sistema sendo testado nem percebe que está sendo escaneado. Ao mesmo tempo em que esses oito testes são disparados, os pacotes são analisados e a opção TCP timestamp determina o tempo de ativação (uptime) do alvo. Se o Nmap não conseguir identificar o sistema alvo, todos os dados dos testes são
apresentados. Com isso, o próprio usuário pode analisar e tentar descobrir o que é que roda no alvo. Por outro lado, se o usuário já souber de antemão o SO do alvo mas o Nmap não for capaz de identificá-lo, ele ou ela pode publicar a assinatura encontrada na página apropriada do site oficial [10]. Com isso, os usuários do Nmap podem ajudar o programa a identificar cada vez mais sistemas operacionais diferentes. ➟
67
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
SysAdmin
Nmap
Sem filtros
ajustado pelo alvo quando este respon- detecção de versão pode ajudar na suHá situações em que o Nmap não conse- de. Pacotes RST com um tamanho de pressão da ambigüidade. gue distinguir entre uma porta filtrada janela nulo (zero bytes) indicam que a Muitos sistemas limitam o envio de e uma porta aberta (veja a tabela 2). Para porta está aberta. mensagens ICMP a um determinado casos como esses, as varreduras do tipo O número de sistemas operacionais que número delas por segundo. O Nmap é ACK são uma mão na roda. A varredura respondem a essa técnica é bastante pe- esperto o bastante para perceber esse com pacotes ACK é bastante simples e queno [X-WInScan] e vai continuar min- comportamento e reduzir a velocidadeveras camuflada. Ela não consegue guando ao longo dos anos. Mesmo assim, de, engatando a segunda ou mesmo a detectar se uma porta está aberta ou a varredura de janela pode ser de grande primeira marcha. Por isso, varreduras fechada, mas serve a um outro propó- valia para obter informações importantes no protocolo UDP podem demorar um sito muito especial: detecta a presença sobre a plataforma sob ataque. Isso a torna pouco para terminar. de um firewall e pode até ser usada especialmente interessante se precisarmos para pesquisar as regras de filtragem de mais informações a respeito de sistemas desse firewall. reconhecidamente seguros. O Nmap possui um modo de varredura Para conseguir tal proeza, o Nmap exclusivo para o protocolo IP. Mas ele transmite, em direção a uma porta qualnão serve para identificar portas abertas quer do alvo, um único pacote TCP com Além do protocolo TCP, o Nmap também ou filtradas. Em vez disso, simplesmente o flag ACK ativado. Se não houver um faz das suas com o UDP. Há realmente informa ao usuário quais protocolos de firewall entre o Nmap e o alvo (ou se poucas opções de varredura com o UDP, camada 4 o alvo reconhece e consegue ele existir mas estiver configurado para já que esse protocolo é por demais sim- trabalhar. Se o alvo for uma máquina deixar essa porta aberta), o alvo deve plório e não tem nada parecido com os com Linux, o Nmap provavelmente vai responder com um pacote RST. Se a res- flags de controle do TCP. descobrir ICMP (Internet Control MesSe por um lado poucos dados podem sage Protocol), IGMP (Internet Group posta for um ICMP Destination Unreachable, podemos ter certeza de que existe ser obtidos a partir disso, por outro o Multicast Protocol), TCP, UDP e IPv6 um firewall entre o Nmap e o alvo e que processo de varredura é bem simples. (para túneis IPv6-sobre-IPv4). Para deele está bloqueando essa porta – ou seja, Quando a porta está fechada, o alvo res- terminar esses protocolos, o programa a porta está filtrada. ponde com um ICMP Port Unreachable. testa todos os números de protocolo de O Nmap também executa as chama- Quando está aberta, pode ser que o alvo 1 a 255 e espera pelas respostas. Essa informação permite ainda que o das “Varreduras de Janela” (Window envie algum tipo de dado ou, o que é Scans), uma variação da varredura por mais provável, fique na mais profun- Nmap, além de determinar os protocolos ACK, mas que também descobre por- da mudez. O silêncio esconde o estado suportados, faça uma espécie de detecção tas abertas. Nesse tipo de varredura, o real da porta: o Nmap a classifica como improvisada do sistema operacional. Por Nmap também envia um pacote ACK aberta, embora isso possa ser um falso exemplo, apenas roteadores e servidomas, entre outras coisas, analisa o ta- positivo já que a porta pode estar filtrada res especiais usam o protocolo Virtual manho da janela TCP (um dos campos (veja a tabela 2). Em caso de dúvida, a Router Redundancy Protocol (VRRP) ou a alternativa livre, o CARP. mais importantes do protocolo TCP)
Baixo nível
Só TCP não basta
0
7 8 Versão
IHL*
15 16 Tipo de Serviço (TOS)
Identificação IP (IPID) Tempo de Vida (TTL)
23 24
31
Tamanho Total do Pacote (TL) Flags
Protocolo
Deslocamento de Fragmento (FO) Verificação de Integridade (Checksum)
Endereço IP de origem Endereço IP de destino Opções *IHL: Tamanho do cabeçalho IP
... Enchimento
Figura 5: O cabeçalho IP contém o campo IPID (rosa), que indica o número de fragmentos contíguos.
68
Chamando todos os carros! As Varreduras de RPC são capazes de identificar serviços (e portas) especiais como NFS e NIS, que dependem da tecnologia RPC. Essa técnica de varredura só vale a pena como complemento das anteriores e ativa automaticamente a detecção de versões. Para descobrir serviços RPC escondidos, a técnica usa a instrução especial
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Nmap
����������������������������
PROC=0. Ela não pede ação alguma ao
serviço RPC, mas força-o a revelar sua existência – em outras palavras, "cutuca para que saia da moita". Serviços nãoRPC não reconhecem a instrução e não respondem. Como o processo todo depende da interação com um aplicativo rodando no alvo, não é nada discreto. Por outro lado, com um pouco de sorte é possível obter muitas dicas do sistema sob investigação.
Arenques vermelhos
SysAdmin
��
�������������� � ������������
�����
�������� ����������������������
������������������� ���������������
������������������� ���������������
��
��������
����� ������
�����������
��������
�����������
���
�������
�����
����� �������
�����
������������������������������������� ����������������������������������������� ������������������������������� ����������������������������
����������������������������
����� ����� Mesmo as técnicas de varredura mais �������� �������� �� discretas e camufladas do Nmap deixam ���������������������� ���������������������� muitos rastros. Em um teste de penetra��������������������������������������� ���������������������������������� ���������������������������������������� ���������������������������������� ção, o auditor pode precisar de detalhes ������������������������ ����������������������������������� ������������������������� que só uma varredura "barulhenta" tem Figura 6: A varredura passiva é uma técnica bastante engenhosa que usa um "laranja" como condições de revelar. Você certamente será detectado. A úni- intermediário ou "zumbi". Os pacotes enviados ao alvo originam-se, na realidade, do zumbi. O agressor tira conclusões a partir da progressão do número guardado no campo IPID do cabeçalho IP. ca coisa que pode fazer, então, é tentar evitar a sua identificação. Uma das maneiras de fazer isso é inundar a rede sob até 128 falsas varreduras simultâneas. Se pouquíssimo tráfego – quanto menos, ataque com pacotes "impostores". Isso vai sua máquina for parruda, e sua conexão melhor, sendo nenhum tráfego a situação ideal. abarrotar os registros dos IDSs com infor- rápida o bastante, pode aumentar o valor mações falsas e dará bastante trabalho da constante MAX_DECOYS no arquivo P O IPID dos zumbis precisa ser facilaos administradores de segurança. nmap.h – parte do código fonte do Nmap mente previsível. Para servir como Isso é o que se chama decoy – em por- – e recompilá-lo. zumbi, o “laranja” escolhido deve aumentar o valor do IPID em uma tuguês, chamariz, isca, engodo, armaunidade para cada novo pacote. O dilha… Quando o Nmap usa um decoy, simula um sem-número de varreduras baixo tráfego (condição anterior) é simultâneas. O pulo do gato: cada var- As “Varreduras Passivas” (Idle scans) tenvital para garantir que o IPID (campo redura vem de um IP diferente! Obvia- tam descobrir as portas abertas do alvo de identificação do cabeçalho IP) não mente, todos os IPs são falsos (menos usando uma terceira máquina, que funcioseja tão perturbado – veja a figura 5. o seu…) e isso dilui a possibilidade de na como "laranja". Não há troca de pacotes O próprio Nmap é capaz de identificar determinação da origem do ataque. Não entre a máquina que roda o Nmap e o alvo, os candidatos a zumbi mais apropriados. tenha dúvida alguma, o procedimento portanto o auditor (ou o "hacker") está a Ele manda seis pacotes SYN/ACK para será detectado – afinal, a rede do alvo salvo. O Nmap faz uso de um truque bas- o laranja e verifica os IPIDs dos pacotes sofrerá uma avalanche de varreduras. tante engenhoso de impostura de IPs (mais RST que voltam em resposta. Se o laranja Mas é exatamente o ruído feito por esse conhecido como spoofing) para fazer o escolhido não servir, o Nmap interrompe tropel que torna muito mais difícil iden- "laranja" (chamado de "zumbi") ricochetear o processo com a mensagem: tificar o legítimo agressor. pacotes vindos do Nmap em direção ao Do ponto de vista do administrador, alvo. Para que o truque funcione, algumas Idlescan is unable to obtain meaningful U results from proxy 192.168.5.99 U usar decoys é um excelente teste do de- condições devem ser satisfeitas: sempenho dos nós da rede, do firewall P O "zumbi" (algumas vezes – e sarcas- (192.168.5.99). I'm sorry it didn't work out. e dos sistemas de detecção de intrusos ticamente – chamado de "proxy") deve QUITTING! (IDS). Por padrão, o Nmap pode simular estar ativo e conectado, mas deve ter ➟
À meia-noite encarnarei no teu cadáver
69
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
SysAdmin
Se os IPIDs progredirem de forma previsível, o Nmap repete o processo por mais quatro vezes, usando pacotes cujo endereço de origem pertence ao sistema a ser investigado – ou seja, o alvo. Com isso, o zumbi manda pacotes RST em resposta a esse estímulo, mas como o endereço de origem está forjado, essas respostas são enviadas para o alvo, não para o computador que está rodando o Nmap. Para obter os resultados, o Nmap manda um pacote SYN/ACK adicional, mas dessa vez com seu próprio endereço de origem. O zumbi só servirá para intermediar uma varredura passiva se o IPID no RST seguinte for cinco unidades maior do que o pacote original.
Visão além do alcance
Nmap
porque recebeu um SYN/ACK do alvo e teve de responder com um RST – provando que a porta no alvo está aberta. O Nmap precisa, então, enviar um pacote de teste ao zumbi para monitorar a perturbação do IPID – veja a figura 6 para mais detalhes. Para acelerar o processo, o Nmap considera de antemão que a maioria das portas estará fechada. Ele inicia o teste em 30 portas TCP escolhidas aleatoriamente e manda pacotes SYN a cada uma delas. Se o IPID aumentar, o Nmap infere a quantidade de portas abertas no alvo. Em uma próxima etapa, o programa reduz o número de portas aleatórias até identificar os números das que estão realmente abertas.
Exemplos
O Nmap também possui funções para geração de arquivos de registro, seja para documentação ou para comparar duas varreduras. A opção -oA permite três formatos de saída, permitindo a análise tanto manual como automática dos dados. O NDiff [11] é bastante útil para comparar dados de diferentes varreduras.
Problemas com licenças Empresas com filiais distantes podem não ter (e, normalmente, nunca têm…) pessoal técnico em todos os escritórios. O Nmap pode dar uma mãozinha nesse detalhe também, monitorando tudo o que acontece nesses locais. Isso é desejável não só pelo aspecto da segurança: verificar os programas que estão instalados em cada máquina pode prevenir muitas dores de cabeça com programas não autorizados (ou mesmo piratas) instalados pelos usuários. Uma varredura simples com ping lista as máquinas da filial; técnicas mais complexas recolhem informações sobre as versões e atualizações dos programas e ajuda a identificar os funcionários que não respeitam as regras a respeito de software não autorizado:
Toda a preparação que vimos até aqui tinha o único propósito de verificar se Os exemplos que preparamos a seguir o zumbi era idôneo. A partir de agora, foram especialmente criados para moscomeça a segunda fase do processo: trar que o Nmap não é uma ferramenta executar a varredura passiva propria- voltada para malfeitores, mas sim um mente dita. O Nmap usa uma aborda- auxiliar e tanto para os atarefadíssimos gem semelhante para investigar o alvo: administradores de rede de hoje em dia. manda para ele pacotes SYN, forjando Antes de colocar a mão na massa, recoum pacote cujo endereço de origem é o mendamos uma pitada de precaução: endereço IP do zumbi. O alvo vai respon- truques e experimentos com protocolos der, obviamente, para o zumbi. não são um mar calmo e sereno. Cuidado É aí que está toda a graça do processo. com as minas submarinas. É possível nmap -vv -sS -O -T Polite -n -oA U filiais Se a porta sendo testada no alvo estiver que justo aquele seu servidor importante fechada, o alvo vai mandar um RST para apresente comportamento inesperado. 192.168.6.0/24 o zumbi, que o ignora solenemente. Se, É claro que tirar do ar um sistema funO comando mostrado inicia uma varrepelo contrário, a porta no alvo estiver damental é uma maneira enfática de aberta, esta iniciará a segunda etapa mostrar a seu chefe as vulnerabilidades dura SYN -sS para investigar toda a rede da negociação (o three-way handshake) existentes, mas pode custar seu emprego. 192.168.6.0 (classe C) e coletar informarespondendo com um pacote SYN/ACK. Imagine, por exemplo, que seus testes ções a respeito dos sistemas operacionais O zumbi não sabe de nada a respeito paralisem o sistema de Voz sobre IP da (-O). Como não queremos consultas ao dessa tentativa de conexão e responde empresa, deixando todas as filiais sem DNS, usamos a opção -n. Para economizar a banda do link com a filial, usamos com um RST – dessa forma incremen- telefone. Catastrófico, não acha? Para testes de rotina, escreva em um -T Polite para diminuir a cadência dos tando seu próprio IPID. A lógica, então, é simples: se o IPID arquivo de texto os números IP de seus testes. -oA filiais registra dados mais do "laranja" não se alterar desordenada- sistemas mais críticos e especifique, com detalhados nos logs. O Nmap possui três mente, é porque recebeu um RST do alvo a opção --excludefile, esse arquivo. formatos de registro: o mais legível para – portanto a porta no alvo está fechada. Isso permitirá varrer toda a sua rede sem humanos é o filiais.nmap; há ainda o Já se o IPID do zumbi for perturbado, é colocar em risco seu contracheque. filiais.gnmap, fácil de ser esmiuçado
70
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Nmap
Epidemia Infestação por vermes de Internet ("worms") são uma ocorrência bastante comum em redes com muitos computadores rodando Windows. Ferramentas de espionagem (spyware) e controle remoto como o BackOrifice ainda são bastante comuns. O Nmap pode auxiliar administradores criativos a improvisar um "spybot de pobre", testando as portas normalmente usadas por programas maliciosos conhecidos: nmap -vv -sS -n --excludefile excecoes.U txt -p wormports -oA infectados 192.168.5.0/24
O comando ativa o modo de detalhamento máximo -vv. Uma lista de portas conhecidas e potencialmente perigosas é indicada com o parâmetro -p. Os vermes usam essas portas para obedecer a comandos de seus mestres, baixar código malicioso ou se auto-propagarem. As máquinas na rede 192.168.5.0/24 são testadas com uma varredura SYN (-sS), mas sem resolução de nomes -n. Os computadores cujos endereços estão no arquivo excecoes.txt serão poupados do teste. Os resultados serão guardados nos arquivos infectados.nmap, infectados. gnmap e infectados.xml. O recurso de detecção da versão dos daemons (-sV) faz um trabalho muito bem feito ao detectar quais softwares maliciosos, spywares, cavalos de tróia, vermes e vírus estão "na escuta" nas portas mais comuns. O Nmap consulta seu banco de dados interno para identificar os serviços em questão. Entretanto, o processo é demoradíssimo e pode representar um gargalo em sua rede – o que o torna impraticável dependendo do caso.
Remendos
Versátil e poderoso
Vermes, vírus e outros tipos de software O Nmap consegue lidar com uma quando mal se aproveitam de vulnerabilidades tidade enorme de técnicas de varredura, conhecidas publicamente. O SQL Slam- todas muito sofisticadas e a maioria basmer é um belo exemplo de verme que tante difícil de ser detectada. O fato de ganhou notoriedade por sua capacidade a ferramenta poder ser empregada para de se alastrar. Mesmo o OpenSSL, um fins escusos não deve impedir que os servidor reconhecido por sua segurança, administradores a usem em aplicações ganhou uma publicidade não muito boa legítimas. O uso de scanners é uma forgraças ao verme Scalper. A única manei- ma eficientíssima de obter informações ra de diminuir os riscos é a atualização abrangentes e detalhadas sobre sua rede constante dos sistemas. – e o Nmap é estrela maior no reino desPara testar e ter certeza de que não há sas controvertidas ferramentas. ■ em sua rede nenhum serviço com essas Christian Ney é vulnerabilidades conhecidas, siga as insadministrador de truções do exemplo anterior. Colabore sistemas em uma para com o tráfego de sua rede e divida empresa aérea regional européia, a detecção das versões dos daemons e mantendo sob a detecção do sistema operacional em seu cajado inúduas ações distintas: meras máquinas Unix e alguns nmap -vv -sS -A -n --excludefile U firewalls. Em seu tempo livre, contribui com dezenas de excecoes.txt -oA vuln_versoes U projetos de código aberto. 192.168.5.0/24
Sobre o autor
com a ferramenta grep. Por fim, o arquivo XML filiais.xml é mais palatável para softwares interpretadores.
SysAdmin
Novamente, a varredura do tipo SYN (sS) vem em nosso auxílio. As opções são mais ou menos as mesmas. A novidade é a opção -A, que combina a detecção de versões e a "impressão digital" do sistema operacional. Os resultados dão uma visão geral das máquinas que precisam de atualização ou remendos de segurança. Tenha em mente, entretanto, que muitos patches não atualizam o número da versão do programa. O Nmap não é um substituto para um programa de administração de atualizações genuíno. Use-o apenas como auxiliar ou "quebra-galho". Uma última dica: use um "sniffer" ou programa de captura de tráfego (como o tcpdump [13] ou o Ethereal [14]) para monitorar como as varreduras funcionam. Reproduza todos os exemplos deste artigo e veja os resultados no sniffer. Diversão garantida.
Informações [1] Nmap: www.insecure.org/nmap/ [2] Fyodor, "A arte da varredura de portas", Phrack 51:
www.phrack.org/phrack/51/P51-11 [3] Strobe: ftp.surfnet.nl/security/ coast/scanners/strobe/ [4] Pscan: www.packetstormsecurity. com/UNIX/scanners/pscan.c [5] Nmapwin: nmapwin.sourceforge.net [6] PHP-Nmap: phpnmap.sourceforge.net [7] Projetos derivados do Nmap: www.insecure. org/nmap/nmap_relatedprojects.html [8] Snort IDS: www.snort.org [9] Prelude IDS: www.prelude-ids.org [10] Identificando servços e portas: www. insecure.org/cgi-bin/nmap-submit.cgi [11] NDiff: www.vinecorp.com/ndiff/ [12] OpenSSL: www.openssl.org [13] TCPDump: www.tcpdump.org [14] Ethereal: www.ethereal.com
71
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
Python
Todo o poder do Gnuplot temperado com expressões regulares
Gráficos com
Python Uma das características mais marcantes das
linguagens interpretadas é a facilidade com que
podem "falar" com outros programas que estejam rodando. Este mês, vamos colocar o Python e o Gnuplot para conversar em uma sala trancada e ver que samba de irlandês maluco sai dessa briga. www.sxc.hu – Trisha Shears
E
xistem muitos programas que geram gráficos a partir de informações relevantes. Por exemplo, muitos sites por aí apresentam ao internauta gráficos que mostram quantos acessos o site recebeu naquele mesmo dia. Também seria interessante controlar a quantidade de acessos por SSH na nossa máquina – uma excelente medida de segurança.
Gráficos até onde a vista alcança Já que vamos falar de gráficos, por que não fazer algo de efeito? Uma das coisas que mais nos preocupa no dia-a-dia é a taxa com que cresce (ou decresce) o número de arquivos guardados no disco rígido, bem como o espaço que eles ocupam. Um programinha assim seria
72
Por José María Ruiz e Pedro Orantes
Expressões regulares: ame-as ou deixe-as
útil? Não sabemos ao certo, mas pensar numa solução para esse problema será bastante divertido. As expressões regulares trabalham com Nosso objetivo este mês é o seguin- símbolos – em nosso caso, caracteres te: criar um programa em Python que, – e defi nem padrões de combinação com por meio de expressões regulares, esses símbolos. Podemos, por exemplo, separe cada uma das linhas em um criar um padrão de letras para tentar, arquivo de log, agrupe-as por data e numa lista de palavras, separar aquegere um histograma com elas. Parece las que combinem com nosso padrão. complicado, mas na verdade é bem Ou criar fi ltros que combinem com um simples – não será preciso um diploma determinado número IP. em estatística para isso. Podemos fazer uma busca por parte Em primeiro lugar, vamos conhecer de uma frase. Veja esta expressão reguas expressões regulares que o Python lar: From: algo.tw. Ela combina com oferece. Com elas, poderemos facilmente apenas uma frase, que é idêntica à exprocessar o texto em busca dos padrões pressão. Isso não é lá muito útil. Precide data. Uma vez que tenhamos um co- samos de algo que seja um pouco mais nhecimento básico sobre o assunto, pas- abrangente. O que nos interessa mesmo é saremos os olhos sobre o Gnuplot [1] e nas defi nir padrões de pesquisa ou fi ltragem. formas de usá-lo dentro do Python. Por exemplo, vamos defi nir um padrão
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Python
Programação
para capturar todos os endereços de ou conjunto de caracteres dentro dos Depois dessa breve introdução, já concorreio eletrônico. Normalmente, um colchetes ([ ]) com um asterisco (*) seguiríamos “detectar” um email com endereço de email será formado por: logo depois. Para o segundo caso ("um domínio de Formosa (que é o nome corP Uma seqüência de caracteres per- ou mais") colocamos um sinal de adição reto, em português, para Taiwan, .tw), tencentes a um conjunto bastante (+) após os colchetes: por exemplo, com: restrito (por exemplo, não são permitidos acentos); * [a]*: "", "a", "aa", "aaa"... "[\-a-zA-Z0-9]+@[\-a-zA-Z0-9]+.tw". * [a]+: "a", "aa", "aaa",... P Uma arroba; P Outra seqüência com as mesmas resVamos imaginar agora um padrão que trições da primeira; Como vimos, no colchete podemos case com qualquer símbolo disponível no P Uma última seqüência de domínio, que ter uma ou mais letras. Agora imagine: computador, à exceção do "9". Para isso, pode conter um ou dois pontos e três seria bastante cansativo escrever todo usamos um caracter "^" dentro dos col(.com) ou cinco (.com.br) caracteres. o abecedário dentro dos colchetes caso chetes, precedendo o "9": [^9]. Isso quer Ou seja, algo como spamer@spam.tw. queiramos filtrar apenas as palavras, dizer: "qualquer caracter, menos o 9". Para criar um padrão para esse tipo sem pontuação ou acentuação, certo? Dentro dos colchetes, o "^" define um de cadeia de símbolos necessitamos Para isso, as expressões regulares dis- padrão inverso. Dizemos o que não queseguir algumas regras. põem de grupos de caracteres. O grupo remos e o padrão se corresponde com o As expressões regulares permitem a-z define todas as letras minúsculas do resto. Mas lembre-se: isso é dentro dos que se imponham restrições. Podemos alfabeto, enquanto 0-9 define todos os colchetes. Se o "^" estiver para fora, o testar a ocorrência de determinados dez algarismos arábicos. Dessa forma, o significado é totalmente diverso. símbolos, bem como sua quantidade e padrão [a-z]* representa uma seqüênO "^" do lado de fora dos colchetes posição. O padrão mais simples é o que cia de zero ou mais letras minúsculas significa "antes de" ou "no início de". A busca a ocorrência obrigatória de um quaisquer, enquanto [0-9]+ define um expressão regular ^[0-9] corresponde único caracter: basta indicar q para que número de pelo menos uma "casa" (ou a uma cadeia de números que está no se procure por esse caracter. seja, obrigatoriamente haverá um alga- início da cadeia que buscamos: "3xuxu" Podemos também indicar um conjun- rismo, que pode ser o algarismo "0"). casará com o padrão, "delegacia4" não to de caracteres, em vez de um só. Por Para o abecedário em maiúsculas, usa- casará com o padrão. Se os caracteres exemplo, se quisermos que a expressão mos o padrão [A-Z]. Existem também numéricos não estiverem no início, não regular busque a letra "K" ou a letra "c", padrões auxiliares que definem, por serão "detectados" pela expressão. encerramos o conjunto todo dentro de exemplo, quais caracteres podem formar Outro exemplo: [^0-9]+ corresponde a colchetes: [Kc]. Isso indica que espera- uma palavra e quais são usados como uma cadeia com pelo menos um símbolo mos um único caracter, e que esse único separadores. Quando um caracter tiver que pode ser tudo, menos um algarismo. caracter deve ser ou "K" ou "c". Observe a possibilidade de ser mal interpretado Portanto, temos que ser cuidadosos para que, apesar de a ocorrência poder ser – por exemplo, porque é, justanto de um quanto de outro caracter, tamente, um dos caracteres é obrigatório que pelo menos um deles que participam da sintaxe ocorra. Para que a ocorrência deixe de da expressão regular – ele ser obrigatória e passe a ser opcional, precisa ser "escapado". Fabasta colocar após os colchetes um sím- zemos isso colocando uma bolo de interrogação: [Kc]?. barra invertida antes do Isso dá conta da ocorrência, mas e a tal caracter. É o caso típico quantidade? Em nossa introdução básica do "-", que deve ser repreveremos apenas as regras mais simples, sentado por \-. O próprio ou seja, as que indicam se o caracter apa- caracter de escape precisa receu "zero ou mais vezes" ou "uma ou ser "escapado" se precisarmais vezes". No primeiro caso a seguir mos usá-lo como caracter Figura 1: A função trigonométrica seno, desenhada pelo Gnuplot. ("zero ou mais") colocamos o caracter comum: \\.
73
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
Python
Listagem1: Gnuplotter.py 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
#!/usr/bin/python from Numeric import * import Gnuplot, Gnuplot.funcutils import re; class Grafico: def __init__(self, cadeia): self.g = Gnuplot.Gnuplot(debug=1) self.g.title('Meu lindo gr�ico') self.g('set data style linespoints') self.g('set boxwidth 0.9 absolute') self.g('set style fill solid 1.000000 border -1') self.g('set style histogram clustered gap 5 title 0, 0') self.g('set style data histograms') self.g('set title \"Linhas com ' + cadeia +' \"') self.hash = {} self.cadeia = cadeia def carregaDados(self, arquivo): descritorArquivo = file(arquivo,'r') self.hash = {} expr = re.compile(self.cadeia); for Linha in descritorArquivo: if( re.search(expr, Linha)): lista = Linha.split(' ') data = lista[0]+' '+lista[1] if (not self.hash.has_key(data)): self.hash[data] = 1 else:
escolher exatamente o lugar onde vamos enfiar os modificadores. Esse é o básico do básico das expressões regulares. Com o que temos até aqui, já podemos brincar de gráficos com o Gnuplot e o Python. A quantidade de modificadores que existem, entretanto, é vastíssima, e recomendamos ao leitor que estude o
74
37
self.hash[data] = self.hash[data] + 1
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
descritorArquivo.close()
def desenha(self): chaves = self.hash.keys() chaves.sort()
etiquetas = "set xtics (" i = 0 lista = []
for chave in chaves: etiquetas = etiquetas + "\"" + chave + "\" " + str(i) + " ," 55 lista.append([self.hash[chave],i]) 56 i = i+1 57 58 etiquetas = etiquetas + "\"fin\"" + str(i) + ")" 59 60 61 self.g('set xrange [0:'+str(i-1)+']') 62 self.g('set yrange [0:30]') 63 64 self.g(etiquetas) 65 66 self.g.plot(lista) 67 raw_input('Clique em INTRO...\n') 68 self.g.reset() 69 70 71 if __name__ == "__main__": 72 g = Grafico('ssh') 73 g.carregaDados('teste.txt') 74 g.desenha()
assunto com bastante afinco. Há uma grande quantidade de tutoriais sobre expressões regulares na Internet. A maioria deles tem o inconveniente de estar em inglês (como este [2]) mas, como sempre, vem a nosso auxílio o impecável Aurélio Marinho Jargas [3] e seus excelentes artigos e tutoriais sobre o assunto em português.
Expressões regulares em Python Na linguagem Python podemos usar as expressões regulares em nossos programas por intermédio do pacote re (de Regular Expressions). Esse pacote já faz parte do sistema base do Python, portanto não será necessário instalá-lo. A primeira coisa que vamos fazer é definir,
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Python
no código, uma expressão regular bem simples e brincar bastante com ela durante o exercício. >>> import re >>> p = re.compile("[ab]+") >>> print p
Usamos, nesse exemplo inicial, o método match(), que simplesmente busca a correspondência no início da cadeia ou a partir da posição arbitrada por nós (em nosso caso, indicamos a posição 1). Veja os exemplos abaixo, em que arbitramos a posição zero.
<_sre.SRE_Pattern object at 0x81418c0> >>>
Programação
comando, que chamaremos de shell. O Gnuplot possui uma linguagem e comandos próprios. Já que temos um shell, por que não brincamos com ele? gnuplot> f(x) = sin(x) gnuplot> plot f(x) gnuplot>
>>> print p.match("cabaaab",0) None
Criamos um objeto que representa a expressão regular [ab]* – ou seja, uma seqüência de "a" e "b" que pode ter tamanho zero ou maior. Ao imprimir o valor de "p", vimos que ele nada mais é do que um objeto como qualquer outro em Python. Vamos, então, passar a esse objeto algumas cadeias para ver o que ele nos diz: >>> print p.match("34",1) None >>> print p.match("abaaab",1) <_sre.SRE_Match object at 0x81b4800> >>> print p.match("abaaabc",1) <_sre.SRE_Match object at 0x81b4800> >>>
No primeiro exemplo vemos que o método match do objeto p nos devolve a mensagem None. Isso significa que não existe nenhuma subcadeia dentro da cadeia que passamos ao método que corresponda ao padrão definido. No segundo exemplo vemos como o objeto se comporta quando toda a cadeia passada “bate” com o padrão. No terceiro exemplo, vemos que o objeto se comporta da mesma maneira que no exemplo anterior. Entretanto, na cadeia que passamos ao objeto no terceiro exemplo há a letra “c”, que não combina com o padrão. O que ocorre aqui é que o Python procura alguma subcadeia que passe pelo crivo da expressão regular, mesmo que nem toda a cadeia case com o padrão.
Alakazam! O programa abre uma jane>>> print p.match("abaaab",0) la parecida com a da figura 1. É a função <_sre.SRE_Match object at 0x81c4c60> trigonométrica seno, que desenhamos >>> com apenas duas instruções. Interessante, não? O comando plot possui muiExiste outro método chamado sear- tos parâmetros que podem alterar seu ch(), que se comporta de maneira pare- comportamento. Podemos desenhar, por cida com as expressões regulares em Perl. exemplo, várias funções simultaneamenEsse método busca as correspondências te, usar pequenos pontos quadrados ou entre a cadeia informada e a expressão redondos para diferenciá-las, interpolar regular e permite gerar uma lista com pontos no gráfico e assim por diante. O todas elas. O mais útil, entretanto, é o Gnuplot permite também realizar muitos método findall(), que devolve uma lis- tipos de gráficos: de duas e três dimenta com todas as ocorrências do padrão. sões, histogramas, pizzas... Uma das características mais úteis >>> resultado = p.searchU do programa é a facilidade com que ("abaaabcaaaa",1) podemos exportar o gráfico para ima<_sre.SRE_Match object at 0x81b4800> gens em formatos padronizados, como >>> gif ou png. Podemos fazer todos os tes>>> p.findall("abaaabcaaa",0) tes usando, como saída, uma janela na ['abaaab', 'aaa'] tela e, quando estivermos seguros dos resultados (e dos parâmetros que temos que ajustar no Gnuplot), podemos gerar O Gnuplot [1] é um programa que cria um arquivo de imagem. ➟ gráficos a partir de dados. É possível inserir nele tanto uma tabela com valores já computados ou uma função matemática. Com o comando plot, o programa gera um gráfico a partir deles e o despeja na tela em uma nova janela. A forma como o gráfico é criado pode ser alterada ao bel-prazer do usuário. Ao executar o Gnuplot Figura 2: O gráfico de nosso aplicativo exemplo. aparecerá uma linha de
Introdução ao Gnuplot
75
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
O programa Gnuplot O Gnuplot foi desenvolvido tendo em mente a automatização: podemos fazer scripts usando os comandos de seu shell. A idéia é poder usar o Gnuplot na montagem dos famosos “encanamentos” que os usuários de UNIX tanto adoram. Os “geeks” mais avançados criam aplicativos inteiros usando pipes (em português, cano) – e não poderíamos ficar de fora dessa moda. O Gnuplot necessita de um terminal para funcionar. Esse terminal atua como driver de impressão e pode ser um aparelho (como uma impressora), um arquivo de imagem (um JPEG, por exemplo) ou diretamente uma janela em seu ambiente de trabalho. Aproveitando-nos dessa característica podemos ir lapidando a configuração de um gráfico diretamente no shell do Gnuplot – basta visualizálo em uma janela. Quando tudo estiver perfeito, a única coisa que precisaremos fazer é substituir o terminal. Podemos consultar o estado das variáveis usando o comando show: gnuplot> show terminal terminal type is x11
Uma vez definido o terminal, temos que configurar os parâmetros do gráfico. No Gnuplot, inúmeros parâmetros afetam a forma como o gráfico será desenhado. Por exemplo, se não especificarmos nada e informarmos uma série de pontos, o programa pinçará os pontos no plano cartesiano mas não traçará o gráfico que os une. Outros parâmetros ajustam a precisão dos intervalos usados. As variáveis são configuradas com o comando set. O comando help set mostra todas as variáveis com as quais podemos bulir. Por exemplo, para dar título ao gráfico usamos: gnuplot> set title "Nosso lindoU gráfico”
Depois que as variáveis tiverem sido corretamente configuradas, basta gerar o gráfico com o comando plot. O plot também possui inúmeras opções e permite que vários gráficos sejam traçados simultaneamente. Cada um dos gráficos possui seu próprio conjunto de opções. Por exemplo: gnuplot> plot sin(x) using impulses
gnuplot>
Com o comando help, podemos conhecer os vários terminais suportados. Para o nosso programa, só nos interessam os terminais x11 e JPEG. Para trocar o terminal, temos que alterar o conteúdo de uma variável. Para isso, temos o comando set: gnuplot> set terminal pstricks Terminal type set to 'pstricks' gnuplot> set terminal x11 Terminal type set to 'x11' Options are '0' gnuplot>
76
Python
Isso desenhará uma função seno usando linhas verticais em vez de uma linha ligando os pontos.
Gnuplot + Python = Diversão Para poder utilizar o Gnuplot dentro do Python necessitamos baixar e instalar a biblioteca py-gnuplot, a partir do site oficial [4] ou por meio de um pacote próprio de sua distribuição de Linux. Obviamente, também será necessário instalar o programa Gnuplot. Para o nosso sisteminha, usaremos um método anônimo que nos permite mandar comandos diretamente ao Gnuplot:
>>> g('set title \"Nosso LindoU Gráfico\"')
Uma vez que tenhamos tudo configurado, invocaremos o método plot(). A biblioteca py-gnuplot foi criada para poupar trabalho na hora de acessar o Gnuplot e permitir o uso de funções numéricas (Numeric [5]) como fonte de dados. Podemos criar gráficos a partir de: P Arquivos P Listas do Python P Funções Em nosso programinha, desenharemos o gráfico a partir de uma lista gerada pela busca com expressões regulares. Uma peculiaridade marcante do py-gnuplot é a sua grande rapidez ao desenhar um gráfico. Se emitirmos o comando plot() agora, não veremos nada! Para parar o programa durante o traçado do gráfico devemos empregar o comando raw_input() entre plot() e reset(). >>> a = [[1,2], [2,2], [4,5]] >>> g.plot(a) >>>
Isso desenhará um gráfico ligando os pontos (1,2), (2,2) e (4,5).
Nosso programa O código de nosso programa está na listagem 1. Temos uma classe chamada Grafico com três métodos. O primeiro é o obrigatório __init__() e tudo o que faz é preparar o ambiente para o Gnuplot: define e inicializa algumas variáveis e declara uma a que chamamos de hash. Depois, guarda em outra variável de instância a cadeia que usamos como padrão. O segundo método é carregaDados(); ele abre um arquivo em modo de leitura, compila a expressão regular e, para cada linha do arquivo, compro-
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Python
Sobre os autores
va se a linha contém a expressão regu- 1 ao valor lá guardado. Dessa forma, lar que buscamos. Se a linha combinar o dicionário terá registro do número com a expressão, usamos o caracter de de ocorrências de cada padrão clasespaço (" ") para dividi-la. Tomam-se sificadas por data. as duas primeiras palavras da linha, O terceiro método é desenha(). O que representam a data, para usar método atribui identificadores aos poncomo chave para um dicionário que tos tanto nos eixos cartesianos quanto chamamos de hash. Se essa data não no gráfico – para isso, usa a variável estiver ainda no dicionário, ela deve xtics. Esses identificadores serão as ser introduzida lá com o valor 1. Se a datas que usamos como chaves do didata já estiver no dicionário, somamos cionário hash. Depois, preparamos uma José María Ruíz está terminando seu Pro-
Pedro Orantes está cursando o 3º ano
de Engenharia Técnica em Informática e
Sistemas e, simultaneamente, o 3º ano
ve software livre, desde os velhos tempos
Informática em Madri. Usa o Linux há seis
jeto de Conclusão de Curso na Faculdade
Programação
lista contendo as coordenadas X e Y dos pontos a traçar, definimos o alcance (comprimento) dos eixos X e Y e, por fim, traçamos o gráfico. O programa é dividido em três partes: a criação do objeto Grafico, a invocação de seu método carregaDados() com o nome do arquivo apropriado e a chamada ao método desenha(). Como resultado final teremos um gráfico parecido com o mostrado na figura 2. ■
Informações
de Engenharia Técnica em Informática e
[1] Gnuplot: www.gnuplot.info
de Engenharia Técnica em Gestão de
[2] Regular Expressions HOWTO: www.amk.ca/python/howto/regex/
da telinha preta do DOS até o moderno
anos no computador de trabalho, tanto
[3] Aurélio explica expressões regulares: www.aurelio.net/er/
ka, uma empresa de Málaga que se dedica
desenvolvimento. Está desenvolvendo seu
Sistemas. Já há sete anos usa e desenvol-
FreeBSD. Atualmente, trabalha na Animatiao software livre.
para trabalhos de escritório como para
Projeto de Conclusão de Curso com Jython.
[4] Py-Gnuplot: gnuplot-py.sourceforge.net [5] Numeric: numeric.scipy.org/
77
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
Perl: Ajax
Construindo sites dinâmicos e rápidos
O poder do
A tecnologia Ajax traz recursos para melhorar muito o desempenho de sites lentos e pesados. Tudo que ela requer é um script Perl no servidor e um pouco de JavaScript no cliente. Por Michael Schilli
www.sxc.hu – Ula Kapala
Ajax D
esenvolvedores web foram acor- Webmail (aberta apenas para testa- um novo texto a ser armazenado no dados aos tapas quando o Google dores beta), por exemplo, se parece servidor. Já o comando Atualizar salva lançou o serviço Maps [1] , em muito com um programa desktop. Se o texto correspondente. O link Remover abril de 2005. De repente, os usuários você não olhar com atenção, nem vai apaga o item selecionado. passaram a poder mover mapas online perceber que é uma página rodando A página é carregada apenas uma de maneira rápida, como se o aplicativo no navegador. vez no navegador. Os links sublinhaestivesse instalado localmente. A técnica de desenvolvimento web dos até podem parecer links normais, Nesse serviço, todo o trânsito de Ajax se baseia em HTML dinâmico e mas não fazem o navegador saltar para pacotes na rota cliente-servidor co- JavaScript (no cliente). Além disso, o nenhuma outra página. Em vez disso, meçou a passar despercebido, já que objeto XMLHttpRequest – criado pela simplesmente executam o JavaScript esa página não precisa ser recarregada Microsoft e ignorado até o Google levá- pecificado pelo manipulador (handler) para refletir as mudanças no aplicativo. lo à fama – permite que um JavaScript OnClick, “conversando” com o servidor Hoje, aplicativos Ajax (Asynchronous baixado de um site troque dados de nos bastidores. JavaScript e XML) estão pipocando por modo assíncrono com o servidor web. O módulo Perl CGI:Ajax, de Brent Petoda a web. A versão beta do Yahoo! Assim, ele “contrabandeia” dinami- dersen, facilita bastante a implementação camente esses dados para desse tipo de mecanismo. Ele defi ne um a página HTML, fazendo protocolo cliente-servidor (em JavaScript com que pequenas mudan- e Perl), que o JavaScript no cliente pode ças sejam atualizadas na usar para chamar funções Perl no servipágina sem a necessidade dor por referenciamento de seus nomes e listas de parâmetros. de recarregá-la inteira. A figura 1 mostra nossa Um objeto JavaScript XMLHttpRequest aplicação de exemplo, que (chamado ActiveXObject (“Microsoft.XMgerencia textos usados fre- LHTTP” ) no Internet Explorer) permite qüentemente em respostas que o navegador envie uma solicitação de email e os disponibiliza GET ao script CGI no servidor. O pedido em um campo de texto ativa uma função Perl previamente espepara que sejam copiados cificada, que retorna um ou mais valores. e colados nas mensagens. O código JavaScript pega esses dados e Figura 1: O Respostas, nossa aplicação de exemplo para Clique em Acrescentar os insere em campos pré-defi nidos na gerenciar respostas prontas de email. novo tópico para adicionar página carregada.
78
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Pearl: Ajax
O objeto CGI::Ajax – criado com CGI:: Ajax -> new('display' = > \&display, ...) – no script CGI garante que o HTML
enviado de volta contenha uma seção JavaScript. O aplicativo web usa uma função JavaScript chamada mostrar para preencher a área de texto no navegador com determinado texto. Correspondentemente, uma função Perl chamada mostrar() é defi nida no servidor. O manipulador JavaScript mais tarde chama essa função usando uma solicitação HTTP.
Listagem 1: respostas 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
#!/usr/bin/perl -w use strict; use CGI; use CGI::Ajax; use Cache::FileCache; use Template; my $cache = Cache::FileCache->new(); ############################# sub mostrar { ############################# my ($topico) = @_; return $cache->get($topico), "$topico obtido"; } ############################# sub me_remova { ############################# my ($topico) = @_; $cache->remove($topico); return "$topico apagado"; } ############################# sub me_atualize { ############################# my ($topico, $texto) = @_; $cache->set($topico, $texto); my $disptext = $texto; $disptext = substr($texto, 0, 60) . "..."
Programação
Um botão de opção defi nido no HTML contém os atributos id das tags HTML, com o manipulador (handler) OnCli- que o manipulador atualiza com o valor ck (OnClick="display(['Desculpa de retorno da função do servidor, após esfarrapada'],['tarea', 'status- completar a solicitação. Dessa maneira, div'])") chama a função JavaScript tanto a área de texto quanto o campo mostrar () e passa as duas matrizes de status são atualizados. (arrays) especificadas para a função. O botão de seleção com o id “Desculpa A primeira matriz (array) contém o esfarrapada” também tem a propriedade atributo id do botão de opção que está VALUE="Desculpa esfarrapada", o que selecionado no momento. O seu valor de significa que a função Perl mostrar() no texto (“Desculpa esfarrapada”) é passa- servidor (linha 12 da listagem 1: resposdo para a função no servidor. A segunda tas ) recebe esse conjunto de caracteres como seu primeiro parâmetro. A função 40 if length $texto > 60; mostrar() não faz nada mais do que 41 return receber a resposta correspondente à op42 "Tópico '$topico' atualizado" ção “Desculpa esfarrapada” do cache do 43 . "with '$disptext'"; servidor e a enviar ao navegador, junto 44 } com uma mensagem de status. 45 Aqui é onde o manipulador de eventos 46 ############################# JavaScript entra de novo, atualizando o 47 sub mostrar_html { campo de texto maior (id='tarea') e 48 ############################# 49 my $modelo = o campo de status na parte de baixo 50 Template->new(); (id='statusdiv') com as strings retornadas 51 por mostrar(). Tudo isso é manipulado 52 my @keys = tranqüilamente com o CGI::Ajax, que envia 53 sort $cache->get_keys(); o código JavaScript requerido para o nave54 gador e prepara o manipulador no servidor 55 $modelo->process( para acessar as funções Perl. 56 "snip.tmpl", Contudo, o script Perl respostas faz 57 { topics => \@keys }, mais do que apenas atualizar os campos 58 \my $resultado) de texto. Se o usuário apagar alguns dos 59 or die $modelo->error(); tópicos clicando em Remover, isso não 60 61 return $resultado; apenas apaga o botão de opção, mas 62 } também seleciona o primeiro tópico da 63 lista que sobra, além de carregar a res64 ############################# posta equivalente. Isso porque o módulo 65 # main CGI::Ajax ainda não pode fazer truques 66 ############################# como esse no cliente. Mas funções de 67 my $cgi = CGI->new(); JavaScript vão nos ajudar a chegar lá. 68 $cgi->charset("utf-8"); Um lado bem positivo é que o CGI:: 69 Ajax é fácil de usar. Como mostra a 70 my $pjx = CGI::Ajax->new( listagem 1 , você apenas precisa defi nir 71 'mostrar' => \&mostrar, funções para as diversas ações no clien72 'me_atualize' => \&me_atualize, te (remover/atualizar/mostrar) e criar 73 'me_remova' => \& me_remova 74 ); uma função mostrar_html, que gera a 75 print $pjx->build_html($cgi, aplicação HTML no cliente durante o 76 \&show_html); carregamento inicial. ➟
79
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
Perl: Ajax
Listagem 2: respostas.js 001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056
80
// ################################################## function adicionar_topico(topico) { // ################################################## var itemTable = document.getElementById("topicos"); var newRow = document.createElement("TR"); var newCol1 = document.createElement("TD"); var newCol2 = document.createElement("TD"); var input = document.createElement("INPUT"); if(topic.length == 0) { alert("Nenhum nome de tópico especificado."); return false; } input.name = "r"; input.type = "radio"; input.id = topico; input.value = topico; input.onclick = function() { mostrar([topico], ['tarea', 'statusdiv']); }; input.checked = 1; newCol1.appendChild(input); var textnode = document.createTextNode(topico); newCol2.appendChild(textnode); itemTable.appendChild(newRow); newRow.appendChild(newCol1); newRow.appendChild(newCol2); document.getElementById('tarea').value = ""; document.getElementById('novo_topico').value = ""; return false; } // ################################################## function atualizar_topico() { // ################################################## if(!id_selected()) { alert("Crie um novo topico antes"); return; } me_atualize( [ id_selected(), 'tarea' ], 'statusdiv'); } // ################################################## function remover_topico() { // ################################################## var sel = id_selected(); if(!sel) { alert("Nenhum tópico disponível"); return; }
057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 106 107 108 109 110 111 112
remove_me([sel], 'statusdiv'); var node = document.getElementById(sel); var row = node.parentNode.parentNode; row.parentNode.removeChild(row); select_first(); } // ################################################## function selecionar_primeiro() { // ################################################## var form = document.getElementById("form"); if(! form.r) { return; } if(! form.r.length) { form.r.checked = 1; if(! document.getElementById(id_selected()) ) { document.getElementById('tarea').value = ""; return; } display([id_selected()], ['tarea', 'statusdiv']); } for(var i = 0; i < form.r.length; i++) { form.r[i].checked = 1; break; } display([id_selecionado()], ['tarea', 'statusdiv']); } // ################################################## function id_selecionado() { // ################################################## sel = id_selecionado_prim_pass(); if(! document.getElementById(sel) ) { document.getElementById('tarea').value = ""; return; } return sel; } // ################################################## function id_selecionado_prim_pass() { // ################################################## var form = document.getElementById("form"); if(! form.r) { return 0; } if(! form.r.length) { return form.r.id; } for(var i = 0; i < form.r.length; i++) { if(form.r[i].checked) { return form.r[i].id; } } alert("ID selecionado desconhecido"); return 0; }
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Pearl: Ajax
HTML e Perl
Servidor Web
Programação
Mecanismo JavaScript
Navegador
O script Perl respostas pega o HTML que /cgi-bin/snip Começo vai ser enviado no modelo respostas. tmpl, mostrado na figura 3. A biblioteca de modelos carrega esse modelo e fornece diversas opções para inserir simples OnClick Entrada do laços (loops) ou condições for no HTML. usuário Ele faz isso sem usar uma linguagem de programação completa de propósito, XMLHttpRequest para evitar a mistura de lógicas de apli/cgi-bin/snip?fname=update_me& cação e renderização. args=Faule%20Ausrede& Ele usa a expressão [% FOREACH toargs=text... pico = topicos %] para fazer uma iteHttpResponse ração na matriz @topicos (previamente HTML atualizado fornecida pelo script respostas com as dinamicamente respostas dos tópicos) e fornece como saída diversos botões de opção, cada um Figura 2: A comunicação entre o navegador, o mecanismo JavaScript e o servidor web. em uma linha de tabela separada. [% topico %] retorna o valor da variável topico. A propriedade id de cada chama a função mostrar(), já descrita anA função JavaScript selecionar_pribotão de opção é associada à string de tes, que está tanto no JavaScript do cliente meiro() seleciona a primeira entrada na texto do tópico. E o manipulador OnClick quanto no ambiente Perl do servidor. lista de botões de opção e solicita o texto
81
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Programação
Perl: Ajax
associado com o link, ao invés de seguir o falso atributo HREF. O modelo carrega a biblioteca JavaScript respostas.js primeiro ( listagem 2 ). Essa biblioteca fornece diversas funções para permitir que a interface rode corretamente. A função JavaScript adicionar_topico() espera a string de um tópico e adiciona uma entrada com esse nome no fi nal da tabela de botões de opção. Para fazer isso, ela primeiro precisa localizar essa tabela, criar duas colunas, uma nova linha e um Figura 3: O modelo HTML que o script respostas processa novo botão de opção. Ao ficom a biblioteca de modelos. nal, o item é acrescentado. A função remover_topide resposta correspondente ao servidor co() apaga o tópico da lista de botões e enpara que possa exibi-lo no campo maior via uma solicitação ao servidor, que então de texto. Primeiro, ela chama o método apaga o texto de resposta de seu cache. document.getElementById para procurar Já a função id_selecionado() fornece pela tag HTML com a ID form (o “form” a propriedade id do botão selecionado, HTML em respostas.tmpl). Todos os ou seja o tópico que o usuário quer ver. botões de opção são nomeados com a Se a lista estiver vazia, o Firefox pode extensão .r, então form.r deve ser uma se confundir e mesmo assim retornar matriz, incluindo entradas para todos os um valor qualquer. Para contornar esse botões de opção encontrados. Claro que se bug do navegador, a função id_selea lista de tópicos estiver vazia, a função cionado() checa novamente o resultaselecionar_primeiro() não seleciona do de id_selecionado_prim_pass() e nada, nem se comunica com o servidor. fornece undefined se flagrar o Firefox É vital que a tag de links A – usada se atrapalhando. no script respostas – tenha um reSe a lista de botões de opção tiver duas turn false como última ação em seu ou mais entradas, form.r.lenght fornemanipulador OnClick. Isso assegura ce o tamanho da lista. Se a lista tiver apeque o navegador execute o JavaScript nas uma única entrada, form.r.lenght fornece um valor não-defi nido. Se a lista Informações estiver vazia, form.r fica como não-defi nido. A flag checked pode então ser [1] Google Maps: www.maps.google.com verifi cada via form.r.checked, ou com [2] Códigos originais desse artigo (em inglês): o elemento “i” na matriz (array) form. www.linux-magazine.com/ Magazine/Downloads/62/Perl r[i].checked. Depois disso, a função selecionar_primeiro() chama a função
82
mostrar() para pegar o texto de resposta
do tópico selecionado no servidor.
Arestas Esse script foi feito apenas como um exemplo e poderia ser bastante aperfeiçoado. Entre os problemas, você pode ter dificuldades de compatibilidade com outros navegadores além do Firefox. Mas há alguns toolkits comerciais para garantir que até o Internet Explorer 4.0 de sua avó abra sites em Ajax de maneira aceitável (apesar de diferente). Para manter o script simples, o código para a manipulação de erros foi deixado de lado. Você vai precisar cavar fundo nas profundezas lamacentas desse JavaScript e defi nir mensagens a serem exibidas para o usuário. E muito cuidado. No Ajax, os detalhes também pregam peças.
Instalação O script requer os módulos Class::Accessor, CGI::Ajax e Template do CPAN. Acrescente então o script respostas (como executável) e o modelo respostas.tmpl ao diretório cgi-bin do servidor web, e o JavaScript respostas.js logo abaixo da raiz dos documentos (normalmente htdocs). Se o terminal usado para a ação de recortar e colar não suportar UTF-8, comente a linha 68 em respostas, para especificar que o servidor web deve usar o conjunto de caracteres iso-8859-1 no cabeçalho CGI. Se você preferir não ter o cache de documentos em /tmp, é possível especificar isso corrigindo a linha “0” para my $cache = Cache::FileCache->new({cache_root => "/path"}). Finalmente, digite no navegador o endereço http://server/cgi-bin/respostas e – supondo-se que o JavaScript está habilitado – o aplicativo deve rodar, conversar com o servidor e manter o repositório de respostas atualizado. ■
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Bem-vindo à Linux User! Esta é uma seção especial dedicada a destacar programas úteis e interessantes para ajudá-lo no seu trabalho diário com o Linux no desktop. Aqui você encontrará informações sobre como utilizar programas comuns de forma mais eficiente, obterá um valioso embasamento técnico e conhecerá as últimas novidades em software para seu sistema operacional favorito.
CD do mês: Adamantix............................. 84 Um live CD seguro, com firewall e outros recursos.
Katando dados ........................................ 85 Kat: busca inteligente no KDE.
Contabilidade rápida................................ 90 O Gnumeric é o concorrente light do Calc.
Retoques preciosos .................................. 92 Corrija imperfeições com o Gimp.
http://supertuxbr.blogspot.com
� �� �� ��
CD do Assinante � ��
�
LinuxUser
Um Debian ainda mais confiável!
Adamantix O CD da edição de fevereiro, em consonância com o tema de
capa, traz uma distribuição Linux especializada em segurança. Conhecido no passado pelo nome de Trusted Debian, o Adamantix é a escolha certa quando se trata de colocar um firewall Linux como “Leão de Chácara” da sua rede. Por Rafael Peregrino da Silva
N
o desenvolvimento da maioria das comuns (corrupção de memória e esPara melhorar, o Snort, sistema de distribuições Linux, a segurança touro de pilha) formam o carro-chefe detecção de intrusão mais conhecido não é a prioridade, de modo que a para complicar a vida dos invasores: o no mundo Linux, também vem pré-insmaioria delas se contenta com um nível uso do PaX, um patch para o kernel que talado no Adamantix. de imunidade a ataques mediano. O pro- oferece proteção contra a corrupção da jeto Adamantix nasceu com o propósito memória utilizada pelos processos e a de quebrar essa tradição, oferecendo uma utilização do Stack Smashing Protector Como o Adamantix se encontra em dedistribuição Linux que, por padrão, é (ou ProPolice) da IBM, um patch para o senvolvimento, ainda há aqui e ali alguextremamente difícil de ser comprome- compilador C do projeto GNU, que cria mas dores de cabeça durante o processo tida por agressores, mas, ainda assim, defesas contra os estouros de pilha. de instalação. No caso da versão do CD permanece fácil de usar. A distribuição Além disso, o Adamantix contém o – que é, ao mesmo tempo, um live CD e é desenvolvida por um grupo de espe- pacote RSBAC (do inglês Rule Set Based uma mídia de instalação – incluso nesta cialistas em segurança, a maioria deles Access Control ) por padrão, que é capaz edição da Linux Magazine (somente para profissionais de IT dessa área. de limitar o acesso ao sistema conforme assinantes), o “grande problema” é que O Adamantix teve seu início com o a necessidade, de tal modo que, mesmo o particionamento do disco rígido que nome Trusted Debian no fi nal de 2002, se a conta do administrador estiver com- receberá a instalação do sistema deve ser como um clone do Debian GNU/Linux. prometida, isso não leve a conseqüências feito manualmente. Mas isso é fácil: após Após o lançamento da versão 1.0 do mais graves. iniciar o seu sistema pelo CD – e ter feito Trusted Debian, o projeto Debian, por e testado vários backups do que quer que questões de uso da sua marca, solicitou estivesse instalado no seu disco (você uma mudança de nome, e o nome Adafoi avisado!) –, particione o seu HD mamantix foi escolhido. A distribuição con- A distribuição vem com dois fi rewalls nualmente utilizando a ferramenta cfdisk ta atualmente com mais de 4.000 pacotes diferentes pré-instalados: o Zorp, um (basta digitar cfdisk na linha de comando disponíveis em seus repositórios e está se fi rewall modular escrito em Python que e usar as setas para criar ou apagar partitornando cada vez mais madura. opera na camada de aplicação e pode ções, alterar suas propriedades etc.). lidar com diversos protocolos complexos Após ter feito isso, reinicie a máquina (tais como POP3 ou HTTP, mesmo via ainda com o CD na bandeja e, ao fi nal Ao contrário da grande maioria das dis- SSL) e o Shorewall, uma ferramenta de do processo de inicialização, digite na tribuições Linux, o Adamantix contém configuração para o IPTables – alterado linha de comando adamantix-install. modificações e programas para aumen- no Adamantix de modo a permitir seu Siga as instruções mostradas na tela, à tar o seu nível de segurança de modo uso como fi rewall de proxy transparente exceção do particionamento, uma vez pró-ativo. Duas medidas que dificultam –, concebida para facilitar a gestão de que ele já foi realizado manualmente no o abuso das falhas de segurança mais topologias de fi rewall complexas. passo anterior. ■
Instalação
Detecção de intrusos e firewalls
Segurança estruturada
84
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Kat
LinuxUser
Agilize a pesquisa local de arquivos
Katando dados O novo mecanismo de busca para o KDE vai muito além dos nomes de arquivo. Conheça o Kat, apresentado em detalhes pelo próprio “pai da criança”. Por Roberto Cappuccio
A
nova geração de programas de busca no desktop traz recursos poderosos para o acesso à informação armazenada localmente. Os resultados vêm rápido como os das buscas na Internet. Por isso, não é surpresa que a primeira ferramenta desse tipo tenha sido criada pelo Google: o Google Desktop. Outra gigante da indústria de tecnologia, a Apple, foi além desse conceito e integrou ao sistema operacional um mecanismo do tipo, chamado Spotlight. Assim, o usuário nem percebe que está usando uma ferramenta de pesquisa. Há cerca de um ano, imaginei que já estava na hora de aparecer um mecanismo avançado de busca para computadores pessoais rodando Linux. Comecei então a desenvolver o Kat [1] (figura 1 ). Claro que sabia da existência de ferramentas tradicionais de linha de comando, como o locate ou o find , que fazem buscas no sistema de arquivos. Mas, infelizmente, elas não têm alguns dos recursos importantes de um utilitário de busca digno desse nome, como procurar por palavras ou padrões no conteúdo dos arquivos. Essas ferramentas não consideram metadados e os índices precisam ser atualizados manualmente.
Computadores modernos contém montanhas de informação que não estão armazenadas da maneira tradicional – por exemplo, endereços de email, mensagens, contatos, playlists… a lista é interminável. Queríamos desenvolver uma ferramenta que procurasse em todas as fontes de dados possíveis, considerando inclusive as relações entre os arquivos (leia o quadro 1: Relações contextuais ).
Desenvolvendo o Kat
Por exemplo: para fazer uma busca em um dado conjunto de imagens, é necessário pesquisar não apenas os nomes dos arquivos, mas também os metadados embutidos neles. Um mecanismo de busca precisa, também, coletar as miniaturas dessas imagens para poder mostrá-las na janela de resultados – facilitando a navegação do usuário. É necessário também manter listas com as relações entre os diferentes tipos de informação. Como o Kat precisa processar diversos tipos de dados, deve ser capaz de ler diferentes formatos de arquivos. Como veremos adiante, a estrutura do mecanismo reflete esses objetivos.
A defi nição convencional de uma ferramenta de busca é um “programa que procura em arquivos determinada cadeia de caracteres de texto”. Mas um sistema moderno de busca para estações de trabalho é um pouco mais exótico. Para aproveitar o potencial de um aplicativo como o Kat, é preciso considerar algumas das complicações em seu desenvolvimento. O programa precisa trazer informações relevantes de um conjunto maciço de dados, levando em consideração não apenas os nomes dos Figura 1: O Kat busca por nome de arquivo, metadado, texto arquivos, mas também seu puro e muitos outros tipos de informação. conteúdo e metadados.
85
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
LinuxUser
Kat
Quadro 1: Relações contextuais
Indexador A primeira etapa foi projetar o indexador do Kat. Ele consiste em um laço (loop) que percorre todos os diretórios contidos no local base, uma pasta inicial de pesquisa especificada pelo usuário. O Kat permite que os usuários decidam que parte do disco rígido será indexada. Recomendamos que cada um indexe seu próprio diretório pessoal, embora outras opções sejam permitidas. Para extrair o máximo de informações possível, o indexador precisa lidar com vários formatos de arquivo. Para documentos de texto, esse formato pode ser algo como .pdf, .doc, .ps ou outro tipo que não salve o texto de maneira aberta como em arquivos .txt. Às vezes o texto é comprimido, outras vezes é dividido em blocos ou totalmente codificado. A melhor solução é obviamente o conceito de módulos. Para isso, o sistema de plugins kfile do KDE vem muito a calhar. Ele inclui plugins para a extração de metadados e a produção de miniaturas de imagens. Cada plugin trata de um tipo de arquivo. Felizmente, o KDE já vem com muitos desses plugins. Não tivemos, por exemplo, que desenvolver nós mesmos os plugins para metadados e miniaturas. A tabela 1 lista os formatos de onde o Kat pode extrair metadados. O que estava faltando quando começamos a desenvolver o Kat era uma série de plugins que pudessem extrair todo o texto de documentos. Decidimos imitar o comportamento dos outros plugins, criando uma nova classe de plugins kfile chamados de fulltext plugins. Então começamos a implementá-los para os formatos mais populares como PDF e DOC. No começo, pensamos que seria uma boa idéia escrever o código dos plugins diretamente, mas isso logo se revelou uma missão impossível. Alguns dos plugins de código aberto criados para
86
Alguns meses atrás, tivemos a oportunidade de discutir nossos objetivos e estratégias com a equipe de desenvolvimento do mecanismo de relações contextuais Tenor [3]. O objetivo principal do Tenor é identificar as relações que conectam diferentes pedaços de informação em um computador. Scott Wheeler, o principal autor do conceito por trás do Tenor, comenta o programa: “O forte do Tenor é que ele faz questões mais abrangentes do que as feitas pelas atuais ferramentas de busca local. Ele vai além da questão 'Quais dos meus arquivos contém essa informação?' (embora também faça isso). O principal é que ele também pergunta 'O que se relaciona com isso?' e é capaz de buscar informações nessas relações”. A idéia é monitorar o contexto das relações entre dados que, atualmente, é deixado de lado. Se um usuário salva uma imagem anexada a um email e apaga essa mensagem, muita informação de contexto é perdida. Quem me enviou essa imagem? Essa pessoa está na minha lista de contatos? Tenho outras mensagens dessa pessoa? Onde mais eu usei essa imagem? Um mecanismo de busca tradicional não conseguiria respostas para essas perguntas simples. Para se mostrar efetiva, esse tipo de informação precisa ser coletada de forma automatizada e transparente. O usuário não deve nem perceber o processo rodando nos fundos. E, mais importante, é preciso haver a colaboração dos programas. Toda vez que um usuário cria, apaga ou move uma porção de informação, o programa usado para essa ação deve notificar o Kat para que a informação não seja perdida. Uma grande parte dessas informações de contexto vem de documentos gravados no sistema de arquivos. Então o Kat é a base perfeita para um mecanismos de relações contextuais como o Tenor. Estamos atualmente retrabalhando a API para facilitar a introdução de uma camada contextual em nosso esquema de armazenamento de dados. Quando terminarmos, começaremos a integrar as relações contextuais no Kat. extrair informação de formatos não eram escritos em C++ ou nem sequer em C. Portar todo o código para nosso projeto seria uma tarefa gigantesca. Outra alternativa seria relacionar nosso código às bibliotecas disponíveis, mas isso também se revelou pouco prático: é fácil encontrar utilitários independentes para extrair textos de arquivos, mas não é tão fácil encontrar bibliotecas com essas funções. A solução foi fazer com que nosso código chamasse ferramentas externas, chamadas helpers (auxiliares). Embora essa técnica seja pouco prática para o usuário, ela permitiu que criássemos muitos plugins, fazendo com que o Kat manipulasse muitos dos formatos mais comuns usados em computadores desktop, como HTML, RTF, PDF, PS, DocBook, TEX, DVI e os formatos nativos das suítes Microsoft Office, OpenOffice.org e KOffice.
No futuro, quando bibliotecas estiverem disponíveis, ficaremos felizes em criar os links com o Kat em vez de obrigar os usuários a instalar uma longa lista de programas adicionais.
Codificação e recodificação Quando o Kat recebe o texto de um de seus programas auxiliares, ele precisa: P Determinar o idioma em que o documento foi escrito. P Determinar a codificação usada para salvar o texto. P Decodificar o texto usando o decodificador correto. P Recodificar o texto para uma codificação mais prática (UTF8). Se você já tiver tentado abrir um arquivo usando uma codificação diferente daquela em que ele foi salvo, sabe que ocorrem erros e o texto fica ilegível. Esses erros aumentam se o texto incluir mais de um idioma ou al-
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Kat
fabeto. O Kat então precisa ler correta- Se dois documentos forem escritos em mente o texto em seu formato original uma mesma língua, não importa de e salvá-lo em um formato padrão para onde tenham vindo, terão o mesmo processamento universal. perfi l lingüístico. O formato Unicode foi desenvolvido Em conjunto com o autor dessa bicomo uma codificação universal, abran- blioteca de determinação de idioma, gendo todos os idiomas e alfabetos. Ele desenvolvemos um método para amé composto de uma única tabela gigan- pliar a técnica ngram para que ela tesca, com mais de 100 mil caracteres. inclua a codificação de caracteres. Mas, infelizmente, requer 4 bytes para A biblioteca resultante é agora usacada caractere. Isso significa que o do- da pelo Kat na primeira fase do cumento resultante precisará de quatro gerenciamento de idioma. A biblioteca Qt, que faz parte dos vezes mais espaço do que um arquivo ASCII. Para resolver esse problema, duas “bastidores” do KDE, é responsável versões abreviadas do Unicode foram pela tarefa de decodificar e recodificar desenvolvidas: UTF8 e UTF16, que re- o texto. Ela usa o formato UTF8 interquerem respectivamente um e dois bytes namente e é capaz de decodificar texpor caractere. Para economizar espaço, tos escritos em mais de 40 codificações o Kat usa o UTF8. de caracteres, incluindo toda a série Para interpretar corretamente o texto ISO8859 e muitas outras codificações original, o Kat precisa primeiro determi- da Europa, Ásia e Oriente Médio. nar o idioma e a codificação de caracteres de cada documento. Esse problema foi resolvido com uma técnica chamada de O cache compõe um aspecto importante lingüística computacional. do Kat. Muitos usuários reclamam do Cada idioma e codificação possuem tamanho do banco de dados do Kat, já conjuntos de características únicas, que ele faz uma cópia de tudo o que que os tornam fáceis de descobrir. O indexa. Dessa forma, é possível visuaalgoritmo usado para determinar o idio- lizar o documento sem a necessidade de ma e a codificação é chamado de cate- abri-lo. Além disso, no caso de mídias gorização de documento baseado em removíveis, o cache permite acessar uma ngram. Esse algoritmo divide o texto cópia do documento mesmo que a mídia em pequenas porções, cada uma com que contém o documento original não comprimento entre 1 e 5 caracteres. As esteja presente. várias porções, chamadas ngrams, são Para reduzir o tamanho do espaço então classificadas pelo número de ve- requerido para o cache, o Kat salva zes que aparecem no texto. o texto de maneira compactada. Em Essa lista ordenada de ngrams é uma versão futura, os usuários serão chamada de perfi l lingüístico. O perfi l capazes de escolher se querem o cache lingüístico serve como uma espécie ou se preferem poupar espaço em disde impressão digital de cada língua. co. Usuários que escolherem manter o
Cache
LinuxUser
Figura 2: Criando um novo catálogo. cache também receberão resultados rápidos como os do Google, com algumas linhas em que as palavras encontradas estão sublinhadas. O recurso de cache também permite manter um histórico dos documentos manipulados. Por exemplo, suponha que você modifique acidentalmente um documento. Se precisar dos dados originais, pode abrir uma cópia em cache com uma data anterior à modificação. Isso ainda não foi implementado, mas está em nossa lista de tarefas.
Indexação reversa Quando o texto é recodificado, o aplicativo precisa construir o que chamamos de “índice reverso”. Trata-se de uma lista em que cada palavra é relacionada ao documento em que aparece. O fluxo normal de dados é documento --> palavras. Quando acessamos os dados em um índice reverso, a estrutura é a oposta: palavras --> documento. Criar um índice reverso pode parecer uma tarefa trivial, mas não é. Um índice reverso envolve conceitos como: P Divisão da frase em palavras.
Tabela 1: Formatos com metadados lidos pelo Kat au jpeg rpm
avi m3u rproject
bmp mp3 sid
cpp mpc tga
dds ogg theora
deb palm tiff
diff pcs torrent
dvi pdf trash
exr png ts
flac pnm vcf
font po wav
iso ps xbm
ics rgb xpm
87
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
LinuxUser
Kat
API: Interface de programação
Capacidade de fornecer resultados que vez que um arquivo é criado, apagado, incluam singular/plural ou formas movido ou renomeado, o inotify emite conjugadas de verbos. um sinal que qualquer aplicativo pode Um dos principais objetivos do projeto interceptar e agir de acordo. P Gerenciamento de palavras excluídas Kat é trazer um framework de aplica(como artigos e pronomes). É importante notar que o inotify é uma ção completo para buscas no desktop, P Pontuação por proximidade ou ranking. adição bem recente ao kernel do Linux. de modo que os desenvolvedores posOs algoritmos usados nas primeiras Ele se tornou parte oficial da árvore ape- sam adicionar recursos de busca a versões do Kat se mostraram muito len- nas na versão 2.6.13. Isso significa que, se seus próprios programas. No momento tos e ineficazes. Para a próxima versão, você quiser se beneficiar de seus recursos, trabalhamos em uma documentação planejamos substituir esses algoritmos seu sistema precisa ter um kernel recente. que descreva todas as classes e métocom bibliotecas externas especializadas Patches para versões antigas do kernel dos da API do Kat. O site oficial do Kat no armazenamento e restauração de estão disponíveis, mas defi nitivamente contém um link para essa documentatextos completos. Uma das possíveis sugerimos a atualização dos sistemas. ção. Usamos o Apidox, uma ferramenescolhas é o Lucene, uma biblioteca do Essa é uma tarefa fácil atualmente. Todas ta de documentação automatizada que projeto Apache [2]. as novas versões das maiores distribui- lê os comentários no código fonte e Originalmente escrita em Java , ções (Mandriva, Ubuntu, Suse e outras) constrói automaticamente documenela está disponível em diferentes vêm com o kernel inotify. tos bem paginados, similares à docuimplementações. Por exemplo, em C# Para receber as notificações do inotify, mentação da biblioteca Qt. (usada pelo programa de busca Beagle) o Kat precisa cooperar com um serviço ou C++, que planejamos usar. Para sim- daemon rodando nos fundos. Ele recebe plificar o processo de adoção do Lucene, o sinal do inotify e atualiza o índice. Até agora, o projeto Kat teve como pedimos ao autor do projeto para portá- Além do mais, toda vez que um sistema objetivo construir um framework sólo para C++/Qt, o ambiente usado no é desligado ou reiniciado, o daemon ve- lido para buscas no desktop. A ênfase KDE. Ele aceitou nossa proposta e criou rifica se o estado do sistema de arquivos no mecanismo significa que tivemos menos tempo para produzir uma boa a biblioteca CLuceneQt. Nos próximos continuou o mesmo. meses, trabalharemos em colaboração O daemon é a parte mais delicada do interface. Assim que o trabalho no com a equipe do Lucene para introduzir Kat, já que precisa rodar sem interrupção framework terminar, com certeza essa biblioteca no projeto Kat. por todas as sessões de usuários. A carga vamos dedicar muito mais tempo à Outra opção seria o indexador de de tarefas do daemon é gerenciada por um interface gráfica. textos completos FT3. Trata-se de agendador, que pode ser conuma implementação das técnicas de figurado. A implementação indexação reversa do Lucene. O FT3 atual do agendador é baseausa o SQLite3 para armazenamento, o da em “fatias de tempo”. Se mesmo banco de dados do Kat. Com você escolher usar 10% do isso, a introdução dos algoritmos FT3 tempo do processador para pode acabar sendo bastante simples. o daemon e se uma tarefa Nosso último objetivo é dar aos usuá- de indexação levar 10 mirios a possibilidade de escolher entre nutos, o Kat vai permanecer diferentes back-ends. em repouso por 90 dos 100 minutos restantes. Sabemos das limitações dessa soluUm recurso importante do Kat é a capa- ção e estamos planejando cidade de atualizar automaticamente o desenvolver um agendador índice quando uma mudança ocorre em que seja ativado sempre que algum dos arquivos ou diretórios. Essa o computador ficar ocioso. Figura 3: A aba Mime Types gerencia os tipos de arquivo atualização depende dos sinais emiti- Ele seria desativado com o compatíveis com o Kat. dos pelo módulo do kernel inotify. Toda retorno da atividade. P
Interface
Daemon
88
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Kat
Você pode pensar no atual cliente Kat como um protótipo. O objetivo é demonstrar o uso da API. O cliente faz buscas, navega por catálogos, abre documentos… Mas a verdadeira interface, ainda em desenvolvimento, não terá nada da versão atual. Estamos desenhando rascunhos e construindo protótipos para realizar testes de usabilidade. Você pode conferir o status de produção da nova interface nas páginas do nosso Wiki. Usuários da nova interface podem até nem notar que estão usando o Kat. A caixa de procura irá se fundir com o ambiente do sistema de uma maneira que estará simplesmente em toda parte. Toda vez que alguém precisar buscar algo, o Kat estará lá. Como exemplo, estamos trabalhando para adicionar a caixa de busca do Kat à janela de abrir arquivo do KDE.
Usando o Kat O projeto está começando a achar seu caminho em direção às distribuições Linux consagradas. Se sua distribuição não inclui o Kat, é possível baixá-la do site oficial [1] , que contém tanto o código fonte quanto pacotes para Suse, Mandriva, Fedora e Debian. A versão 0.6.4 (embutida no Mandriva 2006) ou mais novas criam um catálogo do diretório pessoal automaticamente durante a instalação para que o usuário normal não precise lidar com o gerenciamento de catálogos. Quando você roda o Kat, uma janela de busca pede uma palavra-chave para a busca (figura 1 ). As buscas permitidas atualmente são bem simples: apenas uma palavra pode ser informada. Estamos trabalhando em técnicas avançadas de busca que permitirão consultas complexas com operadores booleanos (e, ou, não …). Depois de digitar a palavra, clique no botão Procurar e os resultados aparecerão na parte de baixo da janela.
LinuxUser
Figura 4: Você pode acessar opções avançadas de configuração com o módulo Centro de Controle.
Se precisar criar um novo catálogo para indexar outro diretório-base, selecione Catálogo | Novo. Uma janela vai solicitar informações como nome, descrição, notas, autor e a opção de auto-atualizar (figura 2 ). Habilitar essa opção faz com que o daemon monitore o diretório-base para que responda a mudanças como novos arquivos, remoções ou modificações. Se o catálogo for baseado em diretórios apenas para leitura, não faz sentido acionar essa opção, já que o conteúdo não vai mudar. Há muitas opções para configurar o processo de indexação. As outras abas visíveis na janela, Mime Types (figura 4), Metadados, Texto e Miniaturas, permitem ao usuário selecionar os tipos de arquivo que serão indexados ou ignorados. Assim que o usuário clica no botão OK, o daemon começa a construir um índice no catálogo recém-criado. Você pode monitorar o status do processo de indexação clicando nos ícones do Kat no painel. ■
Quadro 2: Apoiando o Kat Testar o Kat em um conjunto de ambientes, com uma grande variedade de documentos requer tempo e equipamento, que custa dinheiro. O Kat é um projeto independente sem apoio de nenhuma grande empresa. Dependemos da comunidade e estamos procurando um patrocinador. A Mandriva gentilmente se ofereceu para hospedar nosso site [1] , mas ainda precisamos de patrocinadores. Dinheiro não é a única coisa de que precisamos. Se você tiver equipamento que não use ou peças de computador, por favor entre em contato conosco. Ter um ambiente de testes iria definitivamente fazer a diferença e encurtar o tempo de desenvolvimento do Kat. Em particular, apreciaríamos doações de notebooks nem tão antigos (com processamento maior que 1.5 GHz), discos rígidos (mais de 100 GB), módulos de memória e por aí vai. Consulte as informações do site [1] para descobrir como fazer uma doação.
Informações [1] Kat: kat.mandriva.com [2] Apache: www.apache.org [3] Tenor: appeal.kde.org/wiki/Tenor
89
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
LinuxUser
Gnumeric
Trabalhando com a planilha Gnumeric, para Gnome
Contabilidade rápida O Calc, do OpenOffice, é um bom
www.sxc.hu – daniel wildman
programa de planilhas para a maioria das aplicações. Mas se você estiver procurando desempenho e economia no uso da memória, experimente o concorrente enxuto do Calc, o Gnumeric. Por Oliver Frommel
A
Entrada
s planilhas sempre exerceram um quena cruz. Segure o botão esquerdo e papel-chave no PC. Um dos pio- Lançado pelo criador do Gnome, Miguel arraste essa cruz em direção às células neiros, o Lotus 123, defi niu como de Icaza, é o mais antigo aplicativo para para onde o valor será copiado. Depois é só soltar e o Gnumeric terdeveria ser um programa do tipo e era o Gnome e foi um importante bloco de visto como padrão para a compatibili- construção desse projeto. Agora em seu oi- mina o trabalho sozinho. dade dos chamados “PCs compatíveis tavo ano, o Gnumeric oferece uma grande com IBM”, na década de 80. O Excel veio variedade de funções e muita estabilidade. alguns anos depois e logo se tornou um Além disso, não tenta imitar o Excel; segue Planilhas freqüentemente contém seqüsinônimo de planilha. seu próprio caminho, de maneira brilhante. ências numéricas. De novo, o Gnumeric As planilhas podem fazer muito mais Os desenvolvedores trataram de se certifi- simplifica bastante a entrada de dados. do que os simples cálculos que a maioria car que o programa fosse compatível com Basta digitar o valor na primeira célula das pessoas faz em programas como o os concorrentes – com algumas poucas e o próximo valor na célula de baixo. Excel. Mas a área em que elas realmente exceções, como os objetos embutidos do Selecione ambas, segurando a tecla brilham é a dos cálculos recorrentes e Microsoft Office. Por exemplo, o Gnumeric [CTRL] (tecla para seleções múltiplas a visualização dos dados em gráficos permite o uso de todas as funções mate- no Gnumeric) e clicando nas células. fáceis de compreender. No Linux, o máticas oferecidas pelo Excel. Posicione o cursor no canto inferior Quando você inicia o programa, a ja- direito da segunda célula (com o símbolo Gnumeric ( Figura 1 ) é um dos programas mais maduros da categoria [1]. nela principal surge em poucos segundos. "+"). Então, clique e arraste o mouse O Calc, por exemplo, leva para preencher quantas células quiser cerca de três vezes mais. com a série numérica (figura 2 ). O proPreencher uma tabela grama calcula o intervalo e preenche manualmente com dados é automaticamente a seleção. Por exemplo, bem fácil: basta clicar na se você digitar 1 e 2, as outras células célula e digitar os valores. serão preenchidas com 3, 4, 5, 6... Se preNão há necessidade de re- cisar de uma série só de números pares, digitar dados para copiá-los use 2 e 4 como valores iniciais. para uma célula vizinha. O Gnumeric oferece 256 colunas por Apenas clique no va- planilha. É possível estender esse limite lor original e posicione o se você mesmo compilar o programa, cursor do mouse no canto mudando os valores dos parâmetros inferior direito dessa célu- SHEET_MAX_COLS e SHEET_MAX_ROWS no Figura 1: O Gnumeric é um aplicativo rápido e versátil. la. O cursor vira uma pe- arquivo src/gnumeric.h.
Séries simplificadas
90
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Gnumeric
Matemática Digitar valores numéricos não tem utilidade a não ser que se façam cálculos com eles. Para isso, há diversas funções matemáticas, desde simples somas até cálculos estatísticos completos. Se você conhecer o nome de uma função, apenas digite o sinal de igual ("=") seguido por esse nome na célula. Os argumentos da função tipicamente são valores de outras células identificados com uma letra e um número. Por exemplo, a célula do canto superior esquerdo é A1. Para somar as células A1 e A2, apenas digite =sum(A1;A2). Na hora de copiar essa fórmula e inseri-la em outra célula, o Gnumeric automaticamente modifica os argumentos para casar com as novas posições. Por exemplo, você terá =sum(B1;B2) ao colar essa fórmula na coluna B. Enquanto o cursor de texto estiver esperando a inserção da coordenada de uma célula, basta clicar em outra célula para que o argumento correspondente seja preenchido. Você, então, pode colocar um ponto-e-vírgula e continuar clicando em outras células para acrescentar mais coordenadas. Enquanto isso é feito, um quadro preto e branco é desenhado na
LinuxUser
célula original, que fica aguardando dados. Como alternativa, clique no botão f(x) para inserir uma função. Abre-se uma janela popup com uma lista de funções disponíveis. O programa lista todas por campo de aplicação, à esquerda: banco de dados, científicas, estatísticas e por aí vai. [Ctrl]+[F] abre uma função de busca nas categorias; pouco útil, já que a Figura 3: O assistente Guru de Fórmulas ajuda os usuários a pesquisa é feita apenas nes- inserir expressões mais complexas. sas categorias. [Ctrl]+[F] na lista de funções mostra O programa permite a importação de uma pequena janela de busca restrita ao nome da função, sem incluir as descri- vários formatos externos: Excel, Quatro ções. Ou seja, se você estiver procurando Pro, Multiplan, Lotus 123, Calc, Xbase e por uma função, praticamente precisa outros. Também lê arquivos CSV e tem saber o nome dela antes de começar. Por um assistente para processar textos outro lado, as descrições informam sobre estruturados. Já para importar dados a compatibilidade com o Excel. de bancos de dados (Postgresql e MySQL), Após selecionar a função, clique no o Gnumeric usa a interface GnomeDB. botão Inserir para iniciar o assistente Guru de Fórmulas (figura 3 ). Ele fornece uma linha de entrada para os argu- O Gnumeric dá à maioria dos usuários mentos requeridos. É possível selecionar muito mais do que eles precisariam para uma linha e clicar na célula com o valor ficarem satisfeitos. Quem estiver migranrequerido, em vez de inserir os valores do do Excel vai apreciar o alto grau de manualmente. Pressione [Enter] no as- compatibilidade, apesar dos controles sesistente de fórmulas para confi rmar cada rem ligeiramente diferentes. Em relação linha de argumento. aos outros concorrentes, o programa tem mais recursos, com uma grande coleção de funções matemáticas e científicas. Se precisar de uma função que o Gnumeric Mesmo que você não precise de toda não tenha, há diversas maneiras de ex- essa “engenharia de foguetes”, ele ainda pandir a funcionalidade. Há plugins em C, é um programa enxuto e poderoso para por exemplo – embora Python fosse uma tarefas cotidianas. ■ escolha melhor [2]. Dessa forma se torna Informações possível pegar um valor de célula com a função c.get_value(); infelizmente, [1] Gnumeric: www.gnome.org/ projects/gnumeric porém, algumas distribuições Linux não incluem esse recurso. Se você precisar [2] Python in Gnumeric: www.gnome.org/ projects/gnumeric/doc/ dele, será preciso compilar o Gnumeric sect-extending-python.html a partir do código fonte.
Conclusão
Expansão
Figura 2: O Gnumeric ajuda você a criar séries numéricas: digite os valores iniciais e o restante será preenchido automaticamente.
91
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
LinuxUser
Gimp
Retoques preciosos
Corrigindo as fotos de suas férias com o Gimp
Figura 1: Pouca luz, cores ruins, reflexos do flash e ligeiro tremor da câmera, mas o Gimp pode restaurar esse momento.
Todos têm aquelas fotos de boas recordações que
acabaram saindo ruins devido à pressa na hora de bater. Mas o Gimp pode melhorá-las bastante. Por Peter Kreussel
Correção de cor em um clique
Após esse procedimento, vão sobrar áreas em branco Nossa foto de exemplo também está indesejadas. Para removê- levemente escurecida e, quando a las, use a ferramenta de digitalizamos, ela ganhou um tom azulcorte/redimensionamento esverdeado indesejado. (ícone do estilete). Com a A ferramenta do menu Camada | Figura 2: Depois dos retoques, a qualidade da imagem ferramenta de corte selecio- Cores | Níveis remove esse tipo de immelhora nitidamente. nada, desenhe um retângu- perfeição ( figura 4 ). Na representação lo sobre a imagem cobrindo gráfica, o lado esquerdo do desenho ue bom seria se fotos represen- a maior área possível da foto e deixando representa os tons escuros; o direito, tassem fielmente momentos de fora os espaços brancos. Em seguida, os mais claros. Intervalos indicam queridos. Não é o que costuma clique no botão Cortar. cores deficientes, que podem ter sido acontecer. Por exemplo, a garota dessa Em nosso exemplo, não apenas remove- causadas pelo scanner, pelo sensor da foto acima é o assunto principal, mas mos as áreas brancas, mas cortamos uma câmera (mal confi gurado) ou por falela está descentralizada e a foto, ligeira- parte da extremidade direita para seguir a ta de iluminação. Em Canal , escolha mente torta. Também faltou luz, o flash divisão áurea (figura 3 ). Esse é um concei- Vermelho, Verde e Azul, um depois do causou reflexos indesejados e o tom geral to artístico tradicional. Basicamente, ele outro, clicando no botão Automático está azulado (figura 1 ). Nessa hora, o diz que uma imagem é mais harmoniosa em cada uma das cores para preenGimp pode ajudar bastante. quando o objeto principal está no cen- cher os intervalos. tro geométrico, ao invés do centro ótico. Para encontrar Um dos mais óbvios erros nessa foto essa proporção, divida cada é o ângulo: as linhas horizontais dos lado da imagem em duas seobjetos não se alinham com os limites ções, de modo que a relação horizontais da fotografia. É possível cor- entre a mais longa e a mais rigir isso sem muito trabalho com a op- curta seja igual à relação ção do menu Ferramentas | Ferramentas entre o segmento inteiro e de transformação | Rotacionar, ou então, a seção maior. Essa é uma com o atalho [Shift]+[R] (Gimp 2.2). relação de cerca de 1.618:1. Basta selecionar o ângulo e clicar em O ponto de intersecção é a Rotacionar. Caso algo saia errado, clique posição perfeita para o motiFigura 3: A “divisão áurea” é um princípio importante de design. em Restaurar. vo principal da imagem.
Q
Perspectiva
92
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Gimp
LinuxUser
Reflexos de flash fotográfico são efeiJá o controle de distribuição de brilho ajuda a compensar exposições baixas tos que estragam fotografias. É possível demais (fotos escuras). Para modificar os removê-los pintando essas áreas com três canais ao mesmo tempo, desmarque padrões de regiões vizinhas. Para isso, o último canal de cor selecionado, confi- selecione a área que você quer retocar gurando o Canal para Valor. Para clarear usando a ferramenta da varinha mágica a imagem, puxe com o mouse o controle (Seleciona regiões contíguas). de brilho para a esquerda, ou coloque Nas opções de ferramentas, habilite um valor maior que 1.00 na caixa nu- a opção Enevoar bordas e digite 10 em mérica do meio, e clique em OK. Raio:. O campo Limite: permite especifiNote que essa ferramenta também car um valor para os matizes que a funFigura 5: Para apagar o reflexo, copie uma área vai remover tons naturais, como o ção deve tratar como semelhantes. Um diferente em cima do espaço ocupado por ele. vermelho em um nascer do sol. Áreas valor de 30 está OK para nosso exemplo. monocromáticas e falta de sombras tam- Agora clique no centro do reflexo para bém vão gerar resultados ruins. Nesse selecionar a região que quer remover. menos, primeiramente. Segure a tecla caso, a ferramenta Camada | Cores | Equi- Se precisar, pressione as teclas [+] e [-] [Ctrl] e clique com o botão direito na para aproximar ou afastar. líbrio de Cores é mais adequada. região em questão para que o Gimp use Para reutilizar essa seleção depois, os valores de cor nessa região. Então, use guarde a seleção usando a opção de menu o botão esquerdo do mouse para pintar As mudanças que fi zemos até agora dei- Seleção | Salvar para canal. Selecione a essa área usando esses valores. xaram a foto mais realista. A ferramenta ferramenta Mover e configure o Atua em: Camada | Cores | Matiz-Saturação per- para a opção Transformar seleção. Mova mite que se alcance cores mais intensas. a seleção para uma área com uma cor Bons retratos acabam ficando feios deviAo puxar os matizes para valores nega- similar, mostrada na figura 5 ; pressione do ao efeito de olhos vermelho, causado tivos, aumenta-se o espectro vermelho, [Ctrl]+[C] para criar uma cópia. pelo reflexo do flash nos olhos. Para reresultando em cores mais quentes. E Pressione [Ctrl]+[L] para abrir a janela mover isso, selecione a região afetada acrescentar mais Luminosidade faria até de camadas e crie uma nova camada. com a ferramenta da varinha mágica, hauma foto em um dia nublado parecer ter Mude para a janela de Canal (menu bilite a opção Enevoar bordas e coloque sido tirada sob raios de sol. Diálogos | Canais), clique com o botão um valor em torno de 10, dependendo direito em Selecionar máscara e selecione do tamanho da região. Canal para seleção. A seleção será moviSe o clique na região do olho vermelho da de volta para sua posição original. selecionar uma área muito grande, você Na janela de camadas, selecione a pode reduzir o valor do Limite. Se a área camada que você criou e pressione for muito pequena, aumente esse núme[Ctrl]+[V] para inserir o conteúdo ro. [Ctrl]+[Z] desfaz a última ação, se da área de transferência na seleção. algo der errado. Se houver intervalos na Use o controle deslizador para fazer a seleção, simplesmente clique neles para opacidade combinar com a região em adicioná-los. Quando a seleção estiver volta. Desabilite as opções Visualizar OK, remova o efeito de olhos vermelhos | Exibir seleção e Visualizar | Exibir clicando em Camada | Cores | Dessaturar. limites de camada para ter uma melhor Adicionalmente, mude o brilho na janela visualização da imagem. Camada | Cores | Níveis. A ferramenta do carimbo pode dar meAs técnicas apresentadas aqui moslhores resultados com algumas imagens. tram como melhorar fotos em apenas Para experimentar, selecione o Pincel alguns passos. Obviamente, apenas você Figura 4: A ferramenta para correção suave (Circle Fuzzy, escolha um tamanho pode decidir se a imagem retocada faz automática de níveis de cor. adequado) e use a opacidade de 50% ou jus ao momento registrado na foto. ■
Deixe o sol entrar
Outro trabalho de retoque
93
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Comunidade
Planeta GNU
A hora de migrar é agora
A briga pelo desktop Que o GNU/Linux sempre foi ótimo em servidores, isso todos já
Nevrax Design Team
sabem. No desktop, ainda existe quem critique esse par pela falta de algum aplicativo, pela dificuldade de migração ou por hábitos adquiridos durante a utilização do outro sistema operacional que ainda domina grande parte dos desktops de todo o mundo. Por Christiano Anderson
N
as grandes redes de lojas de departamentos de todo o Brasil já é possível encontrar PCs com GNU/Linux. O mais interessante é ver o próprio vendedor recomendando uma máquina com GNU/Linux do que a outra com o sistema monopolista. O vendedor da loja confi rma o sucesso das vendas. O que desperta interesse são os argumentos: "Dizem que esse aqui (GNU/Linux) não trava e não pega vírus. Tem gente que não gosta, mas está vendendo bastante e nunca tivemos reclamação". Sem dúvida esse é um grande passo em direção à quebra do monopólio e ao direito de escolha. O desktop livre já está bem maduro, acessível e possui recursos bem avançados, alguns até inovadores (como a possibilidade de usar várias áreas de trabalho). O "feedback" de um usuário comum que migra para um desktop livre é, na maioria das vezes, bastante positivo. Se a migração for feita de forma racional, tornando o trabalho do usuário igual ou melhor do que era no outro sistema, esse usuário acaba não voltando para o mundo proprietário. Existem distribuições, como o Ubuntu, voltadas principalmente para computadores pessoais. A instalação é bastante simplificada e os recursos, excelentes para usuários leigos a avançados.
94
Freedesktop O projeto Freedesktop foi criado com o objetivo de fomentar os trabalhos relacionados ao uso de ambientes de trabalho livres para todos. Questões como usabilidade, acessibilidade e padrões são discutidas. Os projetos GNOME e KDE fazem parte desse grupo. O GNOME, em particular, tem os quesitos usabilidade e acessibilidade em alto grau de desenvolvimento, além de ser um ambiente bastante simples para um usuário fi nal. Veja a seguir uma relação dos programas mais utilizados para quem deseja um ambiente livre. Todos os aplicativos abaixo também funcionam em outros sistemas operacionais além do GNU/Linux.
Mozilla Firefox O navegador é bastante conhecido, até para aqueles que ainda não migraram para Software Livre. Segue os padrões da W3C à risca, além de não ter os problemas de segurança de seu rival proprietário. Muitas empresas estão migrando para o Firefox com a intenção de evitar os tão famigerados problemas de trojans, spyware e outras pragas virtuais --- que se espalham facilmente naquele navegador proprietário que vem embutido no sistema operacional mais usado.
OpenOffice.org A suíte de escritório OpenOffice.org é um grande sucesso. Muitas pessoas já trabalham nesse ambiente e não pensam em migrar. Esse é um dos aplicativos que fazem parte do desktop de um usuário típico, além de ser livre e compatível com as versões proprietárias.
Como será o futuro? Isso mostra o quanto o software livre evoluiu nos últimos meses. O desejo de sair de um mundo fechado, proprietário e perigoso está fazendo do Software Livre algo totalmente viável. Basta observar em algumas lojas de departamentos: a venda de computadores com SL já é uma realidade. O GNU/Linux, além de favorito em servidores, agora é desejado em computadores pessoais. Alguns provedores de internet do Brasil já dão suporte à assinantes que utilizam a dupla; muitos oferecem até discadores e outros aplicativos compatíveis com o sistema. A quantidade de aplicativos para GNU/Linux está crescendo exponencialmente. Se você ainda não migrou, o que está esperando? O próximo vírus, talvez? ■
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Mercado de negócios
Serviços
Eventos Calendário de eventos Evento
Data
Local
Website
25 e 26 de Fevereiro
Bruxelas, Bélgica
www.fosdem.org
Open Source World Conference II
15 a 17 de Fevereiro
Linux Park CeBIT
9 a 15 de Março
Hannover, Alemanha
15 de Março
São Paulo, SP
25 de Março
FIAP, SP
eventos.temporeal.com.br
Porto Alegre, RS
fisl.softwarelivre.org
Fosdem 2006
Telefonia IP com Software Livre II
11 de Março
1º Desktop Livre
16 a 17 de março
Linux Park
Single Sign On - LDAP Roadmap II Latinoware
Málaga, Espanha
Universidade São Marcos, SP Lorena, SP
27 de Março
Foz do Iguaçu, PR
FISL 7.0 (7º Fórum Int. Software Livre)
19 a 22 de Abril
LinuxWorld Conferecence & Expo Brasil
23 a 25 de Maio
São Paulo, SP
26 de Junho
São Paulo, SP
Bases de Dados com Software Livre III Servidores de Aplicação J2EE Linux Park
29 de Abril
27 de Maio
www.opensourceworldconference.com www.cebit.de
eventos.temporeal.com.br www.linuxpark.com.br
www.desktoplivre.org.br www.latinoware.org
Universidade São Marcos, SP
eventos.temporeal.com.br
FIAP, SP
eventos.temporeal.com.br
www.linuxworldexpo.com www.linuxpark.com.br
Anúncios Índice de anunciantes Anunciante
Site
Página
4Linux
www.4linux.com.br
25
A Casa do Linux
www.acasadolinux.com.br
21
ARC System
www.go-global.com.br
77
Devmedia
www.devmedia.com.br
53
Easy Linux
www.revistaeasylinux.com.br
17 95
Ermida
www.ermida.com
Green Treinamento e Consultoria
www.green.com.br
81
Guia de TI - Soluções em Tecnologias Abertas
www.linuxnewmedia.com.br
100 (quarta-capa)
Itautec
www.itautec.com.br
07
Linux.local
www.linuxnewmedia.com.br
13
Linux Mall
www.linuxmall.com.br
57
Linux Magazine
www.linuxmagazine.com.br
02 (contra-capa)
Linux Park
www.linuxpark.com.br
46, 47
Linux World
www.linuxworldexpo.com
59, 99 (terceira-capa)
Locasite
www.locasite.com.br
43
LPI
www.lpi.org.br
95
Simples Consultoria
www.simplesconsultoria.com.br
67
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
95
Serviços
Linux.local
Linux.local
O Linux.local é um diretório de empresas que oferecem produtos, Fornecedor de Hardware = 1 Redes e Telefonia / PBX = 2 Integrador de Soluções = 3 Literatura / Editora = 4 Fornecedor de Software = 5 Consultoria / Treinamento = 6
soluções e serviços em Linux e Software Livre, organizado por estado. Sentiu falta do nome de sua empresa aqui? Entre em contato com a gente: 0800-702-5401 ou anuncios@linuxmagazine.com.br Empresa
Endereço
Telefone
Web
1 2 3 4 5 6 ✔
Espírito Santo Linux Shopp
Rua São Simão (Correspondência), 18 – Vila Velha/ES – CEP: 29113-120
27 3082-0932
www.linuxshopp.com.br
Megawork Consultoria e Sistemas
Rua Chapot Presvot, 389 – Praia do Canto – Vitória/ES – CEP: 29055-410
27 3315-2370
www.megawork.com.br
Spirit Linux
Rua Marins Alvarino, 150 – Vitória/ES – CEP: 29115-205
27 3227-5543
www.spiritlinux.com.br
✔
EAC Software
31 3226-7618
www.mysqlbrasil.com.br
✔✔✔✔
Instituto Online
Rua Bernardo Guimarães, 646, 3º andar Belo Horizonte/MG – CEP: 30140-080 Av. Bias Fortes, 932, Sala 204 – Belo Horizonte/MG – CEP: 30170-011
31 3224-7920
www.institutoonline.com.br
Linux Place
Rua do Ouro, 136, Sala 301 – Serra – Belo Horizonte/MG – CEP: 30220-000
31 3284-0575
corporate.linuxplace.com.br
TurboSite
Rua Paraíba, 966, Sala 303 – Savassi – Belo Horizonte/MG – CEP: 30130-141
0800 702-9004 www;turbosite.com.br
✔✔ ✔✔ ✔✔
Minas Gerais
✔ ✔✔
✔ ✔✔
✔
✔✔
Paraná iSolve
Av. Cândido de Abreu, 526, Cj. 1206B – Curitiba/PR – CEP: 80530-000
41 252-2977
www.isolve.com.br
Mandriva Conectiva
Rua Tocantins, 89 – Cristo Rei – Curitiba/PR – CEP: 80050-430
41 3360-2600
www.mandriva.com.br
Aeon Technologies
Rua Tavares de Macedo, 95, Gr. 908 – Icaraí – Niterói/RJ – CEP: 24.220-215
21 2705-3139
www.aeon.com.br
Cobre Bem
Rua Cel. Aristarcho Pessoa, 102 – Usina – Rio de Janeiro/RJ – CEP: 20530-440
21 2288-5990
www.cobrebem.com
NSI Training
21 2220-7055
www.nsi.com.br
Open IT
Rua Araújo Porto Alegre, 71, 4ºandar – Centro Rio de Janeiro/RJ – CEP: 20030-010 Av. Rio Branco, 115, Cj, 1303 – Centro – Rio de Janeiro/RJ – CEP: 20040-004
21 2508-9103
www.openit.com.br
Web Rio Host
Av. Copacabana, 420 – Rio de Janeiro/RJ – CEP: 22040-040
21 9811-9496
www.webriohost.com.br
Solis
Rua Comandante Wagner, 12 – São Cristóvão – Lajeado/RS – CEP: 95900-000 51 3714 6653
www.solis.coop.br
Datarecover
Av. Carlos Gomes, 403, Sala 908 – Bela Vista Porto Alegre/RS - CEP: 90480-003 Rua Germano Petersen Jr, 101/202 – Higienópolis Porto Alegre/RS – CEP: 90540-140 Av. Venâncio Aires, 1137 – Rio Branco – Porto Alegre/RS – CEP: 90.040.193
51 3018-1200
www.datarecover.com.br
51 3018-1007
www.lm2.com.br
✔✔
✔
✔✔✔✔
Rio de Janeiro ✔
✔
✔✔
✔
✔ ✔
✔
✔ ✔
✔
✔ ✔
Rio Grande do Sul
LM2 Consulting Lnx-IT Informação e Tecnologia Plugin TeHospedo
Av. Júlio de Castilhos, 132, 11º andar – Centro Porto Alegre/RS – CEP: 90030-130 Rua dos Andradas, 1234/610 – Centro – Porto Alegre/RS – CEP: 90020-009
✔
✔
✔
✔✔
51 3331-1446
www.lnx-it.inf.br
✔
✔
✔✔
51 3287-1700
www.plugin.com.br
✔
✔
✔✔
51 3286-3799
www.tehospedo.com.br
✔
19 3846-1137
www.wshost.com.br
✔
✔
✔
11 4195-2557
www.digivoice.com.br
São Paulo Rua Santos Dummont, 530 – São Vicente Arthur Nogueira/SP – CEP: 13160-000 Al. Juruá, 159, Térreo – Alphaville – Barueri/SP – CEP: 06455-010
Ws Host DigiVoice
✔✔✔
✔✔
19 3256-6722
www.dextra.com.br
✔
✔✔
Insigne Free Software do Brasil
Rua Antônio Paioli, 320 – Pq. das Universidades Campinas/SP – CEP: 13086-045 Av. Andrades Neves, 1579 – Castelo – Campinas/SP – CEP: 13070-001
19 3237-6488
www.insignesoftware.com
✔
Microcamp
Av. Thomaz Alves, 20 – Centro – Campinas/SP – CEP: 13010-160
19 3236-1915
www.microcamp.com.br
Savant Tecnologia
Av. Salvador Vitorino Freire, 465 – Diadema/SP – CEP: 09910-550
11 5034-4199
www.savant.com.br
Stefanini IT Solutions
Avenida Marginal, 156 – Centro – Jaguariúna/SP – CEP: 13820-000
19 3867-8800
www.stefanini.com.br
Microlins Brasil
Rua Santo Antonio, 133 – Vila Alta – Lins/SP – CEP: 16400-535
0300 789-1220 www.microlins.com.br
Redentor
Rua Costante Piovan, 150 – Jd. Três Montanhas – Osasco/SP – CEP: 06263-270 11 2106-9392
www.redentor.ind.br
Dextra Sistemas
✔✔ ✔
✔
✔✔✔
✔
✔✔✔✔ ✔
✔
✔
Go-Global
Av. Alphaville, 4384, Cj. 1013 – Santana de Parnaíba/SP – CEP: 06500-000
11 2173-4211
www.go-global.com.br
AW2NET
Av. Padre Anchieta, 329 – Santo André/SP – CEP: 09090-710
11 4990-0065
www.aw2net.com.br
✔
✔✔
UniversoNet
Rua Major Carlos Del Prete, 76, Sala 22 – Centro São Bernardo/SP – CEP: 09710-230 Rua Profª. Dionysia Cardoso Siqueira, 401 São José do Rio Preto/SP – CEP: 15092-100 Rua Teixeira da Silva, 660, 6º andar – São Paulo/SP – CEP: 04002-031
11 4125-8538
www.universonet.com.br
✔
✔
✔
11 4062-9889
www.delixhosting.com.br
✔
✔
✔
11 2125-4747
www.4linux.com.br
Delix Internet 4Linux
96
✔✔✔✔
✔✔
http://supertuxbr.blogspot.com fevereiro 2006
edição 17
www.linuxmagazine.com.br
Linux.local
Empresa
Endereço
Serviços
Telefone
Web
1 2 3 4 5 6
São Paulo (continuação) A Casa do Linux
Av. Paulista, 1.159, Cj. 318 e 401 – São Paulo/SP – CEP 01311-921
11 3549-5151
www.acasadolinux.com.br
✔
Accenture do Brasil Ltda.
Rua Alexandre Dumas, 2051 – Chácara Santo Antônio São Paulo/SP – CEP: 04717-004 Rua Lincoln de Albuquerque, 65 – Perdizes – São Paulo/SP – CEP: 05004-010
11 5188-3000
www.accenture.com.br
✔✔✔✔
ACR Informática Agit Informática Altbit - Informática Comércio e Serviços LTDA. Alternativa Linux AS2M -WPC Consultoria Big Host Commlogik do Brasil Ltda.
Rua Major Quedinho, 111, 5º Andar, Cj. 508 – Centro São Paulo/SP – CEP: 01050-030 Av. Francisco Matarazzo, 229, Cj. 57 – Água Branca São Paulo/SP – CEP 05001-000 Rua Jacirendi, 207 – Tatuapé – São Paulo/SP – CEP: 03080-000 Av. Tiradentes, 615, Ed. Santiago, 2ºandar – Bom Retiro São Paulo/SP – CEP: 01101-010 Rua Dr. Miguel Couto, 58 – Centro – Sâo Paulo/SP – CEP: 01008-010 Av. das Nações Unidas, 13.797, 6º Andar – Morumbi São Paulo/SP – CEP: 04794-000 Avenida dos Imarés, 162 – Moema – São Paulo/SP – CEP: 04085-000
✔✔
11 3873-1515
www.acrinformatica.com.br
✔
11 3255-4945
www.agit.com.br
✔
11 3879-9390
www.altbit.com.br
✔
✔
✔✔
11 6197-2424
www.alternativalinux.com.br
✔✔✔✔
11 3228-3709
www.wpc.com.br
✔
11 3033-4000
www.bighost.com.br
✔
✔✔
11 5503-1011
www.commlogik.com.br
✔✔✔
✔✔ ✔✔
✔✔
11 3872-4441
www.compuoffice.com.br
✔
Computer Consulting Projeto e Consultoria Ltda. Consist Consultoria, Sistemas e Repres. Ltda. Domínio Tecnologia
Rua Vergueiro, 6455, Cj. 06 – Cursino – São Paulo/SP – CEP: 01504-000
11 5062-3927
computerconsulting.com.br
✔
Av. das Nações Unidas, 20.727 – São Paulo/SP – CEP: 04795-100
11 5693-7210
www.consist.com.br
Rua das Carnaubeiras, 98 – Metrô Conceição – São Paulo/SP – CEP: 04343-080 11 5017-0040
dominiotecnologia.com.br
Ética Tecnologia
Rua Nova York, 945 – Itaim Bibi – São Paulo/SP – CEP: 03923-030
11 5093-3025
www.etica.net
Getronics ICT Solutions and Services
Rua Verbo Divino, 1207 – São Paulo/SP – CEP: 04719-002
11 5187-2751
www.getronics.com/br
Green
11 3253-5299
www.green.com.br
Hewlett-Packard Brasil Ltda.
Av. Paulista, 326, 12º Andar – Metrô Brigadeiro – Centro São Paulo/SP – CEP: 01310-902 Av. das Nações Unidas, 12.901, 25º andar – São Paulo/SP – CEP: 04578-000
11 5502-5000
www.hp.com.br
✔
✔✔✔✔
IBM Brasil Ltda.
Rua Tutóia, 1157 – São Paulo/SP – CEP: 04007-900
11 2132-0000
www.br.ibm.com
✔
✔✔✔✔
Compuoffice
✔
✔✔
✔✔✔✔ ✔ ✔
✔
✔✔
✔
✔✔ ✔
✔
iFractal
Rua N. Sra. do Outeiro, 480, Sala 19 – São Paulo/SP – CEP: 04807-010
11 5667-9308
www.ifractal.com.br
Integral
11 5545-2600
www.integral.com.br
✔
Itautec S.A.
Rua Dr. Gentil Leite Martins, 295, 2º a. – Jd. Prudência São Paulo/SP – CEP: 04648-001 Rua Santa Catarina, 1 – Tatuapé – São Paulo/SP – CEP: 03086-025
11 6097-3000
www.itautec.com.br
✔
✔✔✔✔
Linux Komputer Informática
Av. Dr. Lino de Moraes Leme, 185 – São Paulo/SP – CEP: 04360-001
11 5034-4191
www.komputer.com.br
✔
✔
Linux Mall
Rua Machado Bittencourt, 190, Cj. 207 – São Paulo/SP – CEP: 04044-001
11 5087-9441
www.linuxmall.com.br
✔
Livraria Tempo Real
Al. Santos, 1202 – Cerqueira César – São Paulo/SP – CEP: 01418-100
11 3251- 3760
www.temporeal.com.br
Locasite Internet Service
Av. Brigadeiro Luiz Antonio, 2482, 3º Andar – Centro São Paulo/SP – CEP: 01402-000 Av. Braz Leme, 1631 – São Paulo/SP – CEP: 02511-000
11 2121-4555
www.locasite.com.br
✔
✔✔ ✔
✔✔ ✔✔ ✔✔✔
✔
✔✔
11 3981-4000
www.microsiga.com.br
11 6979-0071
www.novateceditora.com.br
Novell América Latina
Rua Cons. Moreira de Barros, 1084, Sobreloja São Paulo/SP – CEP: 02018-012 Av. das Nações Unidas, 12.995, 8º andar – São Paulo/SP – CEP: 04578-000
11 3345-3900
www.novell.com/brasil
Oracle do Brasil Sistemas Ltda.
Rua José Guerra, 127 – São Paulo/SP – CEP: 04719-030
11 5189-3000
www.oracle.com.br
Proelbra Tecnologia Eletrônica Ltda.
11 5052- 8044
www.proelbra.com.br
11 2165-6500
www.e-provider.com.br
Red Hat Brasil
Av. Rouxinol, 1.041, Cj. 204, 2º andar – Moema São Paulo/SP – CEP: 04516-001 Av. Cardoso de Melo, 1450, 6º andar – Vila Olímpia São Paulo/SP – CEP: 04548-005 Av. Angélica, 2503, 8º andar – Consolação – São Paulo/SP – CEP: 01227-200
11 3124-6000
www.latinsourcetech.com.br
Samurai Projetos Especiais
Rua Barão do Triunfo, 550, 6o.andar – São Paulo/SP – CEP: 04602-002
11 5097-3014
www.samurai.com.br
✔✔✔✔
SAP Brasil
Av. das Nações Unidas, 11.541, 17º andar – São Paulo/SP – CEP: 04578-000
11 5503-2400
www.sap.com.br
✔
Simples Consultoria
Rua Mourato Coelho, 299, Cj. 02 – Pinheiros – São Paulo/SP – CEP: 05417-010 11 3898-2121
simplesconsultoria.com.br
✔
✔✔
Snap IT
Rua João Gomes Junior, 131 – Jd. Bonfiglioli – São Paulo/SP – CEP: 05299-000 11 3731-8008
www.snapit.com.br
✔
✔✔
SOS Computadores
Rua das Carnaubeiras, 168, 12º andar – Jabaquara São Paulo/SP – CEP: 04343-080 Rua Alexandre Dumas, 2016, 2º andar – São Paulo/SP – CEP: 04717-004
11 5585-1885
www.soscomputadores.com.br
11 5187-2000
www.sun.com.br
11 3046-7000
www.sybase.com.br
11 6698-5090
www.thesource.com.br
Microsiga Novatec Editora Ltda.
Provider
Sun Microsystems Sybase Brasil
✔✔✔✔ ✔ ✔✔✔✔ ✔✔✔
✔
✔✔ ✔
✔ ✔✔
✔ ✔
✔
✔✔✔✔
11 3305-7000
www.unisys.com.br
Utah
Av. Juscelino Kubitschek, 510, 9º andar – Itaim Bibi São Paulo/SP – CEP: 04543-000 Rua Marquês de Abrantes, 203 – Chácara Tatuapé São Paulo/SP – CEP: 03060-020 Rua Alexandre Dumas, 1711, 10º andar, Ed. Birmann 11 São Paulo/SP – CEP: 04717-004 Av. Paulista, 925, 13º andar – Cerqueira César – São Paulo/SP – CEP: 01311-916
11 3145-5888
www.utah.com.br
✔
✔✔
Visuelles
Rua Conde Luiz Zunta, 261 – Interlagos – São Paulo/SP – CEP: 04456-100
11 5614-1010
www.visuelles.com.br
✔
✔✔
Webnow
Av. Nações Unidas, 12.995, 10º andar – Chácara Itaim São Paulo/SP – CEP: 04578-000 Rua Santa Ifigênia, 211/213, Box 02, Sala 63 – Centro São Paulo/SP – CEP: 01207-001 Rua São José, 1126 – Centro - Caixa Postal 71 Taquaritinga/SP – CEP: 15.900-000
11 5503-6510
www.webnow.com.br
✔
✔
✔
11 3362-1334
www.wrl.com.br
✔
✔
✔
16 3252-7308
www.systech-ltd.com.br
✔✔
The Source Unisys Brasil Ltda.
WRL Informática Ltda. Systech
✔✔✔ ✔ ✔
✔✔
✔✔✔✔
✔
97
http://supertuxbr.blogspot.com fevereiro 2006
www.linuxmagazine.com.br
edição 17
Preview
O que vem por aí
Março de 2006: 18ª Edição
Na próxima edição... Voz na Internet
Na próxima edição vamos voltar a ter VoIP (Voz sobre IP) – o conjunto de tecnologias que permitem a comunicação por voz através de redes TCP/IP, como a Internet – no tema de capa. Esse assunto já foi abordado na Linux Magazine nº 3, quando o tema ainda não estava “pegando fogo”. Hoje, essa é uma tecnologia consolidada em praticamente qualquer empresa “moderna”, que sabe cortar custos usando novas tecnologias. O ambiente Linux sempre foi muito rápido em integrar novas tecnologias (isso quando essas novidades não vêm do próprio mundo do Software Livre). Com a revolução VoIP não é diferente. Falaremos do Asterisk,, um software que permite a criação de seu próprio PABX, a partir de um servidor e pelo menos uma linha telefônica. Esse software possui a vantagem de usar apenas um ponto central de configuração. Além disso, possui muitos dos recursos avançados de soluções proprietárias. Também falaremos sobre o Linphone e o Kphone,, um par de aplicações simples e versáteis, além de outros populares clientes VoIP, voltados para o uso cotidiano.
Arch Linux: modernidade tradicional
Gerenciamento livre de projetos
Com a recente onda de distribuições “obcecadas” com a facilidade de uso no desktop, alguns usuários mais antigos, old school, podem ter ficado a ver navios. Uma distribuição sob medida para esses usuários – e moderna – é o Arch Linux. Aqui, o que importa é a clareza, a estabilidade e a velocidade, em um sistema perfeito para aqueles que sempre preferiram distribuições como Debian, Slackware ou Gentoo. Aliás, o que inspirou Judd Vinet a criar o Arch, em 2001, foram as idéias básicas por trás desses sistemas. A distribuição cresceu muito e conta, atualmente, com uma base fiel e ativa de desenvolvedores e usuários.
Conheça as vantagens e desvantagens das principais ferramentas de código aberto para se gerenciar projetos. Analisamos tanto programas para desktop (como Gantt Project, Planner e Real Time Projetc), quanto aplicações que rodam via navegador, em rede (dotProject, ProjectOPEN e Gforce).
98
Explore a API do Google Maps O Google Maps foi um dos serviços mais inovadores de 2005. Para desenvolvedores também, já que a aplicação possui uma API ((Application Programming Interface) aberta. Isso permite a criação de sites que exibem os mapas do Google, sem a necessidade de nenhum componente extra no servidor web. Para poder se beneficiar disso, basta seguir um conjunto de regras. Basicamente, o novo site precisa ser público, não exceder um número de consultas por dia e não esconder a marca Google. Também é necessário, solicitar ao Google uma chave especial. Saiba como usar essa API, baseada em JavaScript, para criar uma aplicação exemplo. Mais especificamente, um site que calcula a distância entre dois pontos no globo.
http://supertuxbr.blogspot.com fevereiro 2005
edição 17
www.linuxmagazine.com.br
http://supertuxbr.blogspot.com
100
tecnologia sem limites
Número 17
Número 17
Linux Magazine Vírus KlamAV Phishing e Pharming Antivírus Amavisd-new Ajax Live CDs Nmap SSl-Explorer Gnumeric Gimp Python
http://supertuxbr.blogspot.com
KAT Buscas instantâneas no desktop
Fevereiro 2006
páginas!
O poder do Ajax Programando para a Web 2.0
Vírus? Você acha que está livre dos
» Conheça os métodos de infecção » Comparativo de programas antivírus » Certfique-se de que o seu PC não está infectado » Proteja-se contra phishing e pharming » Filtre SPAM e vírus no servidor » KlamAV: proteção integrada no KDE
Nmap
Proteja-se contra invasões
Live CDs
Faça a escolha certa » SSL-Explorer: VPN fácil » Crie gráficos com Python » OpenOffice.org 2.0: e agora Bill? » Planilhas rápidas com o Gnumeric » Edição avançada de fotos com o Gimp W W W. L I N UX M AG A Z I N E . CO M . B R
0 0 1 7 R$10,90 exemplar de 0assinante
venda proibida 9 771806 942009
€ 5,50 Ed. 17 02/2006