Você está na página 1de 30

Expediente editorial

Diretor Geral
Rafael Peregrino da Silva
rperegrino@linuxmagazine.com.br
Editores
Flávia Jobstraibizer
Vergonha alheia
fjobs@linuxmagazine.com.br
Cesare Lombroso (1835 – 1909), pai da Antropologia Criminal, uma

EDITORIAL
Kemel Zaidan
kzaidan@linuxmagazine.com.br
vez declarou ser “escravo dos fatos”. Essa prática está custando a che-
Editora de Arte
Larissa Lima Zanini gar ao departamento de marketing de algumas empresas de tecnologia,
mormente a Microsoft, que, apesar de vir melhorando no trato com a
llima@linuxmagazine.com.br

Colaboradores
Alexandre Borges, Alexandre Santos, Augusto Campos, concorrência de código aberto, ainda peca quando a solução rival bate
Charly Kühnast, Dirk Merkel, Irfan Habib, Jon ‘maddog’
Hall, Klaus Knopper, Kurt Seifried, Marcel Gagné, de frente com os produtos que são carros-chefes da companhia.
Mike Adolphs, Nathan Willis, Ramon Wartala, Stefan
Wintermeyer, Wolfgang Dautermann, Zack Brown.
Como disse Jim Zemlin recentemente, quando declarou que o Li-
Tradução nux já superou em adoção a Microsoft em praticamente todas as áreas
Elias Praciano, Michelle Ribeiro, Pablo Hess,
Sebastião Luiz da Silva Guerra e Tadeu Carmona. e segmentos da tecnologia da informação, à exceção do desktop, nossa
Editores internacionais
intenção neste editorial não é “chutar cachorro morto”. Mas a mais
Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, recente escorregada da máquina de marketing da Microsoft realmente
Hans-Georg Eßer, Markus Feilner, Oliver Frommel,
Marcel Hilzinger, Mathias Huber, Anika Kehrer, merece algumas considerações, já que optou pela tática de espalhar
Kristian Kißling, Jan Kleinert, Daniel Kottmair,
Thomas Leichtenstern, Jörg Luther, Nils Magnus. meias-verdades ao invés de se ater aos fatos. Nossa iniciativa aqui não
Anúncios: pretende discorrer sobre os quesitos “analisados” pela Microsoft a respeito
Rafael Peregrino da Silva (Brasil)
anuncios@linuxmagazine.com.br
da concorrência – nem há espaço aqui para isso –, mas sim abordar a
Tel.: +55 (0)11 3675-2600 prática utilizada nessa análise, que ainda recorre ao uso da velha tática
Penny Wilby (Reino Unido e Irlanda) de espalhar medo, incerteza e dúvida (do inglês, Fear, Uncertainty and
pwilby@linux-magazine.com
Amy Phalen (América do Norte) Doubt – FUD), o que não é mais compatível com uma sociedade com
aphalen@linuxpromagazine.com
pleno acesso à informação. Quem quiser conhecer os “argumentos”
Hubert Wiest (Outros países)
hwiest@linuxnewmedia.de utilizados pela empresa, pode lê-los em http://bit.ly/m9rfNs.
Diretor de operações O material que deu causa à nossa análise foi a peça de marketing inti-
Claudio Bazzoli
cbazzoli@linuxmagazine.com.br tulada “Compare e descubra por que Microsoft é a melhor solução para
Na Internet: a sua empresa”, distribuída a alunos da Universidade Presbiteriana Ma-
www.linuxmagazine.com.br – Brasil
www.linux-magazin.de – Alemanha ckenzie – um contra-senso, já que o teor do material é corporativo e o
www.linux-magazine.com – Portal Mundial
www.linuxmagazine.com.au – Austrália
ambiente ali é universitário. É até possível imaginar que entre neóitos em
www.linux-magazine.es – Espanha
www.linux-magazine.pl – Polônia
tecnologia, a “mensagem” possa “colar” – algo questionável, entretanto,
www.linux-magazine.co.uk – Reino Unido já que a maioria das universidades de tecnologia brasileiras abraçou o uso
www.linuxpromagazine.com – América do Norte
de Linux e Software Livre em seus cursos. Contudo, não dá para enten-
Apesar de todos os cuidados possíveis terem sido tomados
durante a produção desta revista, a editora não é responsável der como uma peça como essa poderia convencer proissionais de TI “de
por eventuais imprecisões nela contidas ou por consequências
que advenham de seu uso. A utilização de qualquer material da verdade” sendo tão supericial, quando não descaradamente mentirosa.
revista ocorre por conta e risco do leitor.
Esse tipo de marketing presta um desserviço à gigante de Redmond.
Nenhum material pode ser reproduzido em qualquer meio, em
parte ou no todo, sem permissão expressa da editora. Assu- Não houve como evitar um sentimento de “vergonha alheia” ao ler os
me-se que qualquer correspondência recebida, tal como car-
tas, emails, faxes, fotografias, artigos e desenhos, sejam for- referidos “argumentos”. Em tempos de redes sociais, com informações
necidos para publicação ou licenciamento a terceiros de forma
mundial não-exclusiva pela Linux New Media do Brasil, a me- sendo disseminadas tão rapidamente, como uma empresa que ocupa
nos que explicitamente indicado.
posição de liderança em vários segmentos da TI pode se dar ao luxo
Linux é uma marca registrada de Linus Torvalds.
Linux Magazine é publicada mensalmente por:
de se expor ao ridículo dessa maneira? Não havia pontos fracos reais
Linux New Media do Brasil Editora Ltda. a explorar nas tecnologias rivais que tornassem desnecessário disparar
Rua São Bento, 500
Conj. 802 – Sé uma saraivada de inverdades sobre elas?
01010-001 – São Paulo – SP – Brasil
Tel.: +55 (0)11 3675-2600 Nossa leitura sobre o episódio é de que há atualmente manifesto des-
Direitos Autorais e Marcas Registradas © 2004 - 2011–: conforto na Microsoft com aplicativos migrando para a nuvem e com a
Linux New Media do Brasil Editora Ltda.
Impressão e Acabamento: RR Donnelley diminuição da importância do desktop tradicional, além do consequente
Distribuída em todo o país pela Dinap S.A.,
Distribuidora Nacional de Publicações, São Paulo. desenvolvimento do mercado de dispositivos móveis – áreas em que a em-
Atendimento Assinante presa de Bill Gates nunca decolou de verdade e onde o Linux e o Software
www.linuxnewmedia.com.br/atendimento
São Paulo: +55 (0)11 3675-2600
Livre tornaram-se o padrão. Isso não justiica o retrocesso a esse tipo de
Rio de Janeiro: +55 (0)21 3512 0888
Belo Horizonte: +55 (0)31 3516 1280
marketing de conteúdo e qualidade questionável, mas o explica. Fica aqui
ISSN 1806-9428 Impresso no Brasil nosso protesto e recomendação: dá para ser melhor! ■

Rafael Peregrino da Silva


Diretor de Redação

Linux Magazine #79 | Junho de 2011 3


ÍNDICE

CAPA
Caminhando nas nuvens 33
Se no mundo real as nuvens são conhecidas por
tomar diferentes formas, no mundo da TI elas ganham
contornos de acordo com suas necessidades.

Explosão de nuvens 34
A computação em nuvem, com a promessa de máquinas
virtuais gerenciáveis e com rápido provisionamento em
grandes redes, também tem apelo em um mundo onde todos
tentam cortar custos. O Ubuntu Enterprise Cloud Services
(UEC) é a entrada da Canonical no mundo das nuvens.

Nuvem privada 42
O OpenNebula é um dos sistemas de nuvens privadas
mais fáceis de utilizar. Aprenda como utilizá-lo.

Novas nuvens 48
O OpenStack traz para a nuvem tecnologias de virtualização
comuns como KVM, Xen, Hyper-V e QEMU

Escalonabilidade real para a nuvem 52


O ambiente de cloud computing da Amazon se adapta
facilmente às soluções de seus clientes. Veja como a
empresa construiu sua solução em torno da nuvem.

4 www.linuxmagazine.com.br
Linux Magazine 79 | ÍNDICE

COLUNAS REDES
Klaus Knopper 08
A solução dos seus pepinos 62
Charly Kühnast 10
Zack Brown 12
Augusto Campos 14
Kurt Seifried 16
Alexandre Borges 20

NOTÍCIAS
Geral 22
➧ Google Storage disponibilizado para todos os desenvolvedores
O desenvolvimento ágil de aplicativos é comum, mas
➧ Lançado o GRUB 1.99
os administradores de sistemas muitas vezes não têm
➧ MariaDB pronto para o Ubuntu Natty Narwhal opções comparáveis. Um plugin para o Nagios baseado em
➧ Virtualização da Microsoft suportará CentOS Ruby chamado Cucumber-Nagios pode mudar isso.

➧ Wordpress 3.2 não oferecerá suporte ao IE6


TUTORIAL
CORPORATE VoIP com Asterisk – parte VIII 70

Notícias 24
➧ Microsoft compra a Skype
➧ O novo líder do SUSE
➧ Líder de desenvolvimento da Canonical sai da empresa
➧ Criador do jQuery deixa a Mozilla
➧ Apple viola a licença livre LGPL

Entrevista com Ethan Galstad 26


Em entrevista para a Linux Magazine, Ethan Galstad, o criador O sistema telefônico ultrapassado, presente até pouco
do popular software de monitoramento Nagios, fala sobre tempo atrás nas empresas, é prolíico em cobranças: cada
como nasceu o projeto e seus planos para o futuro novo recurso ativado requer uma nova ativação de serviço,
com o preço adicionado ao pagamento mensal. É hora
Coluna: Jon “maddog” Hall 30 de mudar. É hora de criar sua própria central VoIP

Coluna: Alexandre Santos 32 Soluções para seus problemas 72

ANÁLISE
Jogo de força 66

Vamos mostrar como a ferramenta de código aberto


ACH, desenvolvida pela CIA, pode ajudá-lo através
de uma abordagem estruturada e sistemática, a
encontrar soluções para problemas nos negócios.

SERVIÇOS
Editorial 03
Os irewalls em geral bloqueiam o acesso via interpretador
de comandos para usuários em uma rede corporativa ou em Emails 06
um cyber café. Felizmente, ferramentas como o PHP Shell e Linux.local 78
Shell in a Box colocam o Shell em uma janela do navegador. Preview 82

Linux Magazine #79 | Junho de 2011 5


Coluna do Alexandre

Proxy: sigilo às
COLUNA

vezes necessário
O sigilo, tão necessário nos dias de hoje, quando
informações valem ouro, é tema de acaloradas
discussões nas rodas de analistas de segurança.

P
raticamente todo analista que trabalha com Linux usado o Tor [2], projeto que possibilida ao usuário trafegar
já utilizou em algum momento um proxy (Squid, seus dados de forma anônima e criptografada entre servi-
Tinyproxy, Privoxy etc.). Em geral, as companhias dores espalhados pelo mundo. Como os pacotes podem
têm utilizado o proxy para acelerar a conexão à Internet, entrar nesta rede através de qualquer uma das máquinas
valendo-se do uso do cache de dados, para com isso, Tor, passar através delas e também sair através de uma
aplicar iltros de conteúdo de acesso. Entretanto, alguns delas, o servidor web de destino da sua solicitação apenas
poucos usuários ainda podem utilizá-lo para navegar consegue ver a última máquina Tor em que os pacotes
de forma anônima na Internet. estiveram, mas não consegue saber de onde veio a requi-
O uso do proxy está associado e é dependente de sição. É claro que o Tor tem algumas desvantagens, como
protocolos especíicos como o HTTP, o FTP e outros. a diminuição da velocidade de navegação, a possibilidade
No quesito anonimidade, ele pode ser classiicado como de alguém realizar um snoop ou ataque man-in-the-middle
transparente, anônimo e totalmente anônimo. no nó de saída da rede Tor, caso o aplicativo utilizada pelo
O proxy transparente (RFC 2617) não realiza modii- cliente não empregue a o uso de criptograia, ou ainda
cações no pedido ou resposta ao cliente (exceto, é claro, correr o risco de ver sua conexão negada, pois alguns sites
aquelas necessárias para sua identiicação e autenticação) bloqueiam solicitações vindas da rede Tor. Este é o preço
e, deste modo, não esconde do servidor o IP de origem pago por quem quer navegar de forma anônima.
do cliente que fez a solicitação. Ele também adiciona No site do projeto Tor, o leitor pode efetuar o down-
informações extras no cabeçalho HTTP, como o campo load da versão para Linux do Tor Browser Bundle que já
“Via” (que indica qual software de proxy forneceu os vem pronto para uso (com o browser Firefox) ou ainda
pacotes) e o campo “X-Forwarded-For” (que denuncia versões para Android e iPhone. Basta apenas descompac-
o IP do cliente que realizou o pedido). tar o pacote e executar o script start-tor-browser. Com
O proxy anônimo apresenta melhorias com relação o Firefox no ar, faça o teste apontando seu browser para
ao anterior, pois esconde o IP do cliente (portanto, não o endereço www.whatsmyip.org e depois use o browser for-
inclui o campo “X-Forwarded-For” no cabeçalho HTTP necido pelo Tor para o mesmo site e note a diferença.
ou, se incluir, conigura o campo com o IP do proxy e Há a possibilidade de instalar o Tor na máquina Li-
não do cliente); entretanto, ele ainda apresenta o campo nux, e assim, fazer sua própria personalização do pro-
“Via”. No caso dos proxies totalmente anônimos, não há grama. Para tal, existe a opção de fazer o download do
qualquer campo no cabeçalho HTTP que revele qual o pacote no site do projeto ou ainda, no caso do Ubuntu,
software de proxy utilizado ou qual o IP de origem que os seguintes passos podem ser efetuados:
realizou o pedido. Se o leitor estiver interessado em in- 1) edite o arquivo /etc/apt/sources.list e adicione a
vestigar a presença ou a ausência destes campos em seu seguinte linha, substituindo o parâmetro <DISTRIBUTION>
software de proxy, sugiro que crie um pequeno script pela sua distribuição do Ubuntu (por exemplo, “lucid”):
PHP utilizando a função “apache_request_headers()”
deb http://deb.torproject.org/torproject.org
[1] e faça um experimento no seu Apache. <DISTRIBUTION> main
Se a intenção for navegar ou executar comandos como
ssh, telnet e ftp para servidores de forma anônima, pode ser 2) execute os seguintes comandos:

20 www.linuxmagazine.com.br
# gpg --keyserver keys.gnupg.net --recv 886DDD89 Assim, basta você conigurar o navegador (no laptop)
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886D
DD89 | sudo apt-key add - para usar o proxy com protocolo SOCKS. Neste caso,
# apt-get update apontando para o endereço local localhost e porta 9999.
# aptitude install tor Pronto, você já está usando a união do fantástico SSH
# aptitude install torsocks e do Tor. Faça o teste apontando seu browser para o
O Torsocks encapsula aplicações compatíveis com o endereço www.whatsmyip.org.
SOCKS usando o Tor, ou seja, envia todas as conexões Você encontrará mais sobre SSH no excepcio-
para o Tor (porta 9050/TCP) e este faz o resto. Agora, nal tutorial “Bê-a-bá do SSH” do meu amigo
você pode conigurar seu browser para o proxy SOCKS Pablo Hess [3].
(localhost – porta 9050) e navegar à vontade sem des- Até o mês que vem. ■
coniarem de onde você está. Também é possível fazer
o mesmo para comandos ssh, telnet, ftp etc. Exemplos: Mais informações
# usewithtor wget www.linuxmagazine.com.br [1] apache_request_headers: http://php.net/manual/
# usewithtor ssh root@ssh-server.com pt_BR/function.apache-request-headers.php
# usewithtor ftp root@ftp-server.com
[2] Tor Project: http://www.torproject.org/
Se o leitor possuir em casa um servidor SSH e o Tor
[3] Bê-a-bá do SSH: http://ur1.ca/46zn4
conigurado, é possível se conectar de onde estiver neste
servidor, usar o Tor (se precisar, veriique o arquivo /etc/
torsocks.conf) e navegar do seu laptop de modo totalmente Alexandre Borges (alex_sun@terra.com.br, twitter: @ale_sp_brazil) é es-
seguro e anônimo. Para isto, no Linux do seu laptop, digite: pecialista Sênior em Solaris, OpenSolaris e Linux. Trabalha com desen-
volvimento, segurança, administração e análise de desempenho desses
# ssh seu-usuário@servidor-ssh-casa -NL sistemas operacionais, atuando como instrutor e consultor. é pesquisador
de novas tecnologias e assuntos relacionados ao kernel.
9999:localhost:9050

Linux Magazine #79 | Junho de 2011 21


Matéria | SEÇÃO

Computação em Nuvem 2.0

Caminhando nas nuvens


Se no mundo real as nuvens são conhecidas por tomar diferentes formas, no

CAPA
mundo da TI elas ganham contornos de acordo com suas necessidades.
por Kemel Zaidan

M
uito já foi dito sobre compu- inverno você precisa de mais energia A verdade é que a nova geração
tação em nuvem. Você, que para aquecer o seu chuveiro, não é de plataformas para computação em
é leitor da Linux Magazine preciso ligar para a empresa e pedir nuvem está cada vez mais poderosa
a certo tempo, teve a oportunidade de para ela abrir mais alguns centímetros e fácil de instalar. Ter um sistema
acompanhar de perto o surgimento das comportas de Itaipu. O serviço é de nuvem privada, sendo executa-
dessa tecnologia. Não é para menos; prestado sob demanda, e a diferença do na sua própria empresa, facilita
ainal, ela proporciona tudo aquilo chega na conta no inal do mês. a administração dos recursos com-
que o proissional de TI sonha dia- O sucesso e a inovação promovidos putacionais e nunca foi tão simples
riamente: desempenho distribuído, pela empresa serviram de incentivo para como hoje. Quem diria que ser um
administração centralizada, melhor que outros grupos criassem soluções a proissional de TI com a cabeça nas
utilização do hardware e escalonabi- partir do mesmo conceito de “compu- nuvens, passaria a ser uma caracte-
lidade sem limites. tação em nuvem”. Uma das mais inte- rística valorizada pelo mercado? ■
Se a computação em nuvem é algo ressantes é sem dúvida o Eucalyptus,
recente, suas bases já são conhecidas a que conseguiu recriar o EC2 a partir das
algum tempo: cluster, virtualização e APIs em código aberto disponibilizadas
storage. Eis aí um trio de ouro! Junte pelo serviço. Desta forma, qualquer um
Matérias de capa
tudo isso em uma bela embalagem pode ter a sua própria infraestrutura
e comercialize como um serviço e em nuvem, podendo escalonar para Explosão de nuvens 34
não mais como um produto. É o fa- o serviço da Amazon apenas durante Nuvem privada 42
moso SaaS (Software as a Service). um “pico de demanda”.
Novas nuvens 48
A novidade não está exatamente nas No entanto, não só de Amazon e
Escalonabilidade real para a nuvem 52
tecnologias envolvidas, mas no uso Eucalyptus vive o mundo da compu-
conjunto que se faz delas. tação em nuvem. Outras abordagens
Veja o caso da Amazon, a primeira também começaram a surgir em um
loja online do mundo. Seu pioneiris- ritmo cada vez mais acelerado. O
mo forçou a empresa a desenvolver OpenNebula já foi incluído no re-
tecnologia própria. Em determinado positório da maior parte das distribui-
momento, algum executivo dentro ções – o que certamente facilita sua
dela deparou-se com isto e percebeu instalação – e oferece lexibilidade
que aquela tecnologia poderia ser ofe- na escolha do hypervisor: VMware,
recida também como um produto em Xen ou KVM. O administrador pode
si. Foi assim que a maior loja online assim, escolher aquele com o qual
da Internet tornou-se também uma está mais habituado.
das maiores provedoras de serviços em Já o OpenStack, apesar de contar com
nuvem, com seu EC2 (Elastic Cloud menos de um ano de existência, tem o
Computing) e outros produtos que mais amparo de ninguém menos do que a
tarde associaram-se a ele. NASA, a agência espacial americana, e
A Amazon não vende hospedagem, do Rackspace, um dos maiores grupos
como no tradicional serviço de colo- de hospedagem dos Estados Unidos.
cation, mas vende recursos compu- O seu rápido desenvolvimento tem
tacionais, do mesmo modo que uma chamado a atenção de proissionais e
concessionária vende energia. Se no desenvolvedores de maneira crescente.

Linux Magazine #XX | Mês de 200X 33


REDES | Cucumber-Nagios

Monitoramento orientado por comportamento

A solução dos seus pepinos


REDES

O desenvolvimento ágil de aplicativos é comum, mas os administradores


de sistemas muitas vezes não têm opções comparáveis. Um plugin para o
Nagios baseado em Ruby chamado Cucumber-Nagios pode mudar isso.
por Mike Adolphs

Q
ualquer administrador de Métodos ágeis Jenkins [1] (ex-Hudson) ou o Crui-
sistemas está familiarizado Para evitar que incidentes como este seControl [2] são implantados para
com a seguinte situação: se tornem regra, os desenvolvedores testar com regularidade caracterís-
você monitora seu sistema de software muitas vezes trabalham ticas especíicas de um aplicativo.
de forma abrangente, todos os ser- com métodos ágeis que têm um efei- O desenvolvimento orientado por
viços parecem funcionar e ainda to considerável sobre o processo de comportamento estende os princípios
assim, você vê algumas anomalias desenvolvimento. do desenvolvimento orientado por
no gráico que monitora operações Com essa abordagem, o foco do testes, permitindo que proissionais
de pagamento. O tempo de acesso desenvolvimento não está mais ex- que não sejam programadores par-
para os sistemas de pagamento au- clusivamente nas atividades de pro- ticipem no processo de desenvolvi-
mentaram dez vezes. Os testes ma- gramação, mas em testes exaustivos mento de aplicativos. O foco está
nuais dos componentes não mostram do aplicativo, bem como em uma sobre o envolvimento de todos os
quaisquer problemas e as métricas estreita cooperação com todas as interessados no projeto.
de teste da interface do pagamento partes interessadas do projeto. Esses Para dar a estes envolvidos a me-
ao prestador de serviço externo não princípios formam a base de trabalho lhor visibilidade possível de como o
relata os erros também. do Desenvolvimento Orientado por aplicativo funciona, os interessados
Depois de alguma pesquisa in- Testes e do Desenvolvimento Orien- também devem ser capazes de con-
tensiva, você inalmente encontra tado por Comportamento. tribuir com os seus próprios cenários
o malfeitor: um bug no intermedia- A principal ideia por trás do de- para testes automatizados.
dor, que foi atualizado ontem à noi- senvolvimento orientado por testes Esta abordagem orientada para o
te, está impedindo o cumprimento é assegurar que o aplicativo não só comportamento permite a utilização
sem problemas de pagamentos. Você funcione, mas também se comporte de uma linguagem especíica de do-
reverte a versão e os problemas que exatamente como o usuário espera mínio (DSL) que é orientada por uma
afetam os pagamentos são uma coisa que ele funcione. Para isso, sistemas linguagem natural e não deve ser vista
do passado. de testes automatizados, como o como uma linguagem de programação.

60 www.linuxmagazine.com.br
Cucumber-Nagios | REDES

O Cucumber-Nagios [3] aplica- DNS em outro projeto separado. No Nagios inclui seu próprio gerador
se a estes princípios e apoia a sua entanto, você poderia com facilida- de códigos para as funções mais usa-
utilização na infraestrutura do de- de manter todos os serviços que você das. Para criar o seu próprio projeto
senvolvimento ágil. Isso signiica deseja veriicar em um único projeto. inicial, você pode usar:
não apenas um acompanhamento Um projeto é composto de carac- cucumber-nagios-gen project checks
do ponto de vista do objeto (o apli- terísticas e etapas. As características
cativo é executado) mas também constantes nos cenários de teste são Depois, você pode executar o gem
considera o processo que leva aos escritas no Gherkin DSL, enquanto bundle no diretório do projeto. Isso per-
resultados desejados (o aplicativo as etapas são curtos blocos de código mite que você copie a pasta do projeto
está funcionando como desejado). escritos em Ruby. Estes blocos con- para qualquer servidor sem a necessi-
Ao mesmo tempo, todos os mem- têm a lógica do aplicativo para entrar dade de instalar o Cucumber-Nagios
bros da equipe podem contribuir em uma interface web ou abrir uma e suas dependências localmente.
com suas próprias veriicações para conexão com um servidor externo.
a vigilância do sistema sem o ad- Para manter as coisas simples, muitas Definição de recursos
ministrador ter de escrever funções etapas estão integradas no Cucumber- Você pode usar o próprio gerador do
especiais. Existe um jargão tecnoló- Nagios, o que permite aos administra- Cucumber-Nagios novamente para
gico para isso também: Infraestrutu- dores focalizar diretamente nos serviços criar o framework básico de quatro
ra Orientada por Comportamento. que precisam ser monitorarados. Essas novos recursos. Para fazer isso, digite:
etapas preconcebidas incluem uso e cucumber-nagios-gen feature
Balanço veriicações de DNS, HTTP, ICMP ➥ www.xing.com startpage
O Cucumber-Nagios é integrado e SSH. Etapas para operações simples
como um plugin para qualquer sis- de arquivo, execução de comandos no diretório do projeto; esta etapa
tema de monitoramento de código em hosts externos e monitoramento cria dois novos arquivos (listagem
aberto que possa interpretar os valores de aplicativos baseados em protocolo 1). O arquivo features/www.xing.com/
retornados pelos plugins do Nagios. AMQP também estão incluídos, por startpage.feature contém o cenário
Esta ferramenta é baseada em padrão. Se necessário, você também de teste. Você pode adicionar seus
Cucumber [4] – uma parte popular pode deinir as etapas personalizadas próprios passos ao arquivo features/
de software para testes automatizados para qualquer recurso deinido, para www.xing.com/steps/startpage_steps.
de Ruby, Java, .NET, Flex e aplicati- lidar com a complexidade de seu pró- rb, caso seja necessário.
vos web – e usa o Gherkin DSL [5]. prio ambiente. O startpage.features é um exemplo
Internamente, você também vai rudimentar que você pode modiicar
encontrar o Webrat, um simulador Um projeto inicial conforme precisar. A sintaxe usada
de navegador de baixos recursos usa- Antes de instalar o Cucumber-Nagios, é semelhante à linguagem natural
do para cenários de teste envolvendo você precisa do Ruby 1.8.7 e do pró- e é facilmente dominada sem o co-
o protocolo HTTP. Você também vai prio gerenciador de pacotes do Ruby, nhecimento de uma linguagem de
encontrar a biblioteca Mechanize [6], o RubyGems(1.3.5 ou mais recente), programação. A lógica do programa
que contribui para interações de fun- em ordem. Uma vez que os dois esti- é inicialmente oculta nas etapas.
ções automatizadas em sites. Além dis- verem prontos para a ação, você pode Todos os recursos partilham as três
so, graças a implantação do protocolo instalar o Cucumber-Nagios e todas primeiras linhas. As duas primeiras
cliente SSH2 do Ruby Net::SSH [7], o as suas dependências, tornando-se u- linhas dão o nome do recurso e uma
suporte ao SSH também está presente. suário root e executando o comando: breve descrição intuitiva do estado
de espera. A descrição pode ocupar
gem install cucumber-nagios
Terminologia mútliplas linhas. Na listagem 2, o re-
A terminologia Cucumber-Nagios Como muitos outros aplicativos curso estipula que o endereço www.
é relativamente simples e consiste escritos em Ruby, o Cucumber- xing.com deve estar disponível. A ter-
de projetos, recursos e etapas. Um
projeto contém toda a estrutura
Listagem 1: Novos recursos do Integrated Generator
necessária para escrever e executar
cenários de teste. Por exemplo, você 01 cucumber‐nagios‐gen feature www.xing.com startpage
pode criar um projeto para realizar 02 Generating with feature generator:
03 [ADDED] features/www.xing.com/startpage.feature.feature
testes HTTP para veriicar um site e 04 [ADDED] features/www.xing.com/steps/startpage.feature_steps.rb
para, sem cargas, fazer veriicações

Linux Magazine #79 | Junho de 2011 61


REDES | Cucumber-Nagios

Listagem 2: Disponibilidade de www.xing.com A palavra-chave But é muito seme-


lhante a And, contudo deine critérios
01 Feature: www.xing.com
de exclusão:
02 It should be reachable
03 But I should not see "Join XING
04 Scenario: Visiting the website ➥ for free"
05 When I go to http://www.xing.com/
06 Then the request should succeed
A listagem 3 mostra um recurso
para veriicar um login em http://
www.xing.com/. Em muitos casos, a
Listagem 3: Verificação de login
preocupação não é só se alguma
01 ./features/www.xing.com/login.feature coisa funciona, mas quanto tempo
02 Feature: www.xing.com leva para obter-se um resultado à
03 I should be able to login on http://www.xing.com/
04 uma solicitação. Sites devem forne-
05 Scenario: Logging in cer o melhor desempenho possível.
06 Given I am on http://www.xing.com/ O monitoramento do desempenho
07 When I fill in "username‐field" with "username"
08 And I fill in "password‐field" with "password" com o Cucumber-Nagios é possível
09 And I press "login‐button" com o método predeinido Given I am
10 Then I should see "What’s new in your network" benchmarking. Aqui está um exemplo:
11 But I should not see "Join XING for free"
Scenario: Benchmarking home page
Given I am benchmarking
ceira linha utiliza o Scenario: keyword ber não faz distinção entre as instruções When I go to http://www.xing.com/
para introduzir o cenário de teste; de um ponto de vista técnico; no en- Then the request should succeed
And the elapsed time should be
todas as outras linhas são instruções tanto, aderir às convenções existentes ➥ less than 1 seconds
para as ações correspondentes, que a é útil. Given é usada somente se um
veriicação do serviço deve executar status deinido é assumido, como em: Neste caso, dois elementos são ve-
e avaliar. Basicamente, duas ações riicados: se o código de status HTTP
Given I am on http://www.xing.com/
ocorreram na listagem 2. A linha é positivo e se o pedido de tempo de
When I go to http://www.xing.com/ Em contraste, When em geral descre- execução é inferior a um segundo. Se
deine a ação inicial, e os resultados ve uma ação a ser executada, como a uma dessas condições não for cum-
esperados estão descritos em Then interação com um site e a veriicação prida, o serviço é classiicado como
the request should succeed. da existência de um arquivo especíi- crítico e uma advertência poderá ser
Essas duas pequenas informações co. A seguinte frase seria concebível, publicada dependendo da conigura-
são tudo o que ele tem para gerar um no contexto do exemplo anterior: ção do sistema de monitoramento.
trabalho e seguir com sucesso para a
When I fill in
disponibilidade do endereço http:// ➥ username-field" with "username Passos detalhados
www.xing.com. Colocar a palavra-chave O trabalho duro é feito por etapas pre-
And no início da nova linha permite A palavra-chave And é uma substituta concebidas em segundo plano. Essas
que você adicione condições adicio- para as instruções Given, When ou Then etapas são blocos curtos de código
nais para um teste bem sucedido. Já a apenas para manter o cenário mais Ruby que fornecem recursos para as
palavra-chave But é usada se você de- inteligível. Eu poderia acrescentar as veriicações. Você pode usar um grep
seja deinir critérios exclusivos, o que seguintes instruções para o exemplo: recursivo no projeto para criar uma
faz sentido se você precisar veriicar o visão geral das etapas organizadas pelo
And I fill in "password-field"
conteúdo de uma página. Assim, no ➥ with "password" método. Essas etapas predeinidas
âmbito da listagem 2, as duas seguintes And I press "login-button" constituem uma base sólida sobre a
condições fariam sentido se você quiser qual você pode construir a sua própria:
garantir que de fato está na página de Then é utilizado para monitorar
grep -R '[WT]hen\|Given'
boas vindas do Xing: And I should see os resultados. Neste caso, estou in- ➥ features/steps/| awk -F
“Join XING for free” e But I should teressado em saber se o login fun- ➥ \: '{print $2}'|sort -d
not see “Welcome to Facebook”. ciona ou não:
As palavras-chave Given, When, Then, A etapa features/steps/ping_steps.
And e But completam a lista de instru- Then I should see "What’s new in rb (listagem 4) executa um teste de
ções suportadas. Note que o Cucum- ➥ your network" ping simples. O recurso que iria dei-

62 www.linuxmagazine.com.br
Cucumber-Nagios | REDES

xá-lo executar um ping no endereço rei dos sistemas de monitoramento Listagem 4: features/steps/
www.xing.com via ICMP icaria assim: de código aberto: o Nagios. ping_steps.rb
Como já mencionamos, o requisi-
Feature: www.xing.com 01 When /^I ping (.*)$/
It should respond to básico para a execução do plugin
➥ do |host|
Cucumber-Nagios é uma instalação
02 @result = system("ping ‐c1
Scenario: Ping test do Ruby em funcionamento. Se você ➥ #{host} > /dev/null 2>&1")
When I ping www.xing.com
Then it should respond
testou o Cucumber-Nagios em um 03 end
servidor diferente do servidor Nagios, 04
Cada etapa é introduzida pelos você vai precisar copiar o diretório 05 Then /^it should respond$/ do
métodos Given, When, Then, And ou But, do projeto de forma recursiva para 06 @result.should be_true
07 end
seguidos de uma expressão regular o servidor Nagios.
08
que possibilita a instrução usada pelo O caminho para o diretório de- 09 Then /^it should not
recurso. O comando do introduz a pende da sua distribuição e da for- ➥ respond$/ do
lógica, e |host| é a variável que de- ma como você conigurou o Nagios. 10 @result.should be_false
ine o recurso para o host testado. Debian, Red Hat e SUSE Linux 11 end
É importante notar aqui que os mé- instalam os plugins do Nagios no
todos não são parte da expressão regu- diretório /usr/lib/nagios/plugins.
lar. Se você diz When I ping ou deine No entanto, se você compilou o Listagem 5: Arquivo
Given I ping como condição variável, Nagios sozinho, o arquivo padrão é services.cfg
e leva em conta a convenção “Given– /usr/local/nagios/libexec. Você pro-
When–Then” presente no Cucumber [8]. vavelmente vai querer criar um sub- 01 define service{
02 uselocal‐service
A linha 2 da listagem 4, por im, faz diretório cucumber-nagios no diretório
03 host_namelocalhost
o trabalho. Ela inicia a instância da de plugins e copiar o projeto para este 04 service_descriptionCN ‐
variável @result, que recebe a saída do subdiretório. Você, então, irá querer ➥ www.xing.com ‐ startpage
comando ping. Este é então avaliado modiicar as permissões de arquivos e 05 check_commandcheck_cn!$USER2$/
nas etapas que começam pela linha 5. diretórios para que o sistema permita ➥checks/features/www.xing.com/
Na base da avaliação, o valor de retor- ao usuário Nagios acessar os arquivos. ➥startpage.feature
no é deinido como verdadeiro (host Em muitos casos, o resource.cfg 06 }
disponível) ou falso (host inacessível). deine uma variável para o diretório
Se você agora estender o exemplo de plugins – por exemplo, $USER1$=/ em que é chamado. A deinição de
e dar ao autor do cenário de teste a usr/lib/nagios/plugins. Para manter serviços em services.cfg deine esse
capacidade de deinir o número de a sobrecarga de coniguração tão argumento (listagem 5).
pings, precisará modiicar a expressão magra quanto possível e para evitar Antes de dizer ao serviço do Nagios
regular e adicionar a variável corres- perder o controle, deina seus pró- que recarregue sua coniguração, tes-
pondente, de acordo com o seguinte: prios caminhos de variáveis para o te as veriicações que você deiniu na
projeto do Cucumber-Nagios – por linha de comando. Para tal, execute o
When /^I ping (.*) (.*) times$/
➥ do |host, count|@result = exemplo, $USER2$=/usr/lib/nagios/ plugin no contexto do usuário Nagios:
➥ system("ping -c #{count} plugins/cucumber-nagios. Agora, bas-
su nagios -c "/usr/lib/nagios/
➥ #{host} > /dev/null 2>&1") ta o comando a seguir para veriicar ➥ plugins/cucumber-nagios/checks/
end
o serviço no arquivo commands.cfg: ➥ bin/cucumber-nagios/usr/lib/
Agora você pode deinir o núme- ➥ nagios/plugins/cucumber-nagios/
define command{ ➥ checks/features/www.xing.com/
ro de pings para enviar nos recursos command_name check_cn ➥ startpage.feature"
correspondentes, como segue: command_line $USER2$/checks/bin/ ~ $ echo $?
➥ cucumber-nagios $ARG1$
When I ping www.xing.com 3 times }
Then it should respond Se isso falhar com um valor de re-
O command_name é livremente se- torno 2, você encontrou um bug; no
lecionável. Para command_line, tenha entanto, isso é fácil de resolver. A opção
Integração com em mente que o caminho da variá- --pretty diz à ferramenta para liberar o
o Nagios vel deve estar correto e que $ARG1$ registo de chamadas, o que irá ajudá-lo
A integração com o seu próprio sis- está anexado ao próprio comando. a solucionar o problema (listagem 6).
tema de controle é facilmente reali- Um argumento é passado para o A linha 8 do registro de chamadas
zada. Como exemplo, vamos usar o Cucumber-Nagios no momento na listagem 6 mostra que o problema

Linux Magazine #79 | Junho de 2011 63


REDES | Cucumber-Nagios

Figura 1: Depois de escrever todos os seus testes no Cucumber, os resultados do monitoramento serão exibidos no Nagios.

Listagem 6: Solucionar problemas com é causado por permissões de arqui-


o registro de chamadas vo: o usuário nagios quer gravar o
arquivo webrat.log, mas não tem as
01 ~ $ [sudo] su nagios ‐c "/usr/lib/nagios/plugins/cucumber‐nagios/ permissões necessárias.
➥checks/bin/cucumber‐nagios /usr/lib/nagios/plugins/cucumber‐nagios/
➥checks/features/www.xing.com/startpage.feature ‐‐pretty"; Uma explicação simples para isso é
02 Feature: www.xing.com a chamada para o programa. Se você
03 It should be up tivesse chamado su com a opção -l, a
04
05 Scenario: Visiting home page # /usr/lib/nagios/plugins/ variável de ambiente $HOME teria sido
➥cucumber‐nagios/checks/features/www.xing.com/startpage.feature:4 criada para o usuário nagios. No en-
06 When I go to http://www.xing.com/# steps/webrat_steps.rb:1 tanto, agora este usuário está tentando
07 Permission denied ‐ webrat.log (Errno::EACCES)
08 /usr/lib64/ruby/1.8/logger.rb:518:in 'initialize'
escrever no diretório de trabalho atual do
09 /usr/lib64/ruby/1.8/logger.rb:518:in 'open' usuário que inseriu o comando su. Esse
10 /usr/lib64/ruby/1.8/logger.rb:518:in 'open_logfile' problema é traiçoeiro se você executar
11 /usr/lib64/ruby/1.8/logger.rb:487:in 'initialize' a veriicação do Cucumber-Nagios via
12 /usr/lib64/ruby/1.8/logger.rb:263:in 'new'
13 /usr/lib64/ruby/1.8/logger.rb:263:in 'initialize' SSH, porque, em seguida, o SSH não
14 /usr/lib/nagios/plugins/cucumber‐nagios/checks/features/ funcionará como um Shell interativo.
➥steps/webrat_steps.rb:2:in '/^I go to (.*)$/' Para se livrar do erro, basta fazer
15 /usr/lib/nagios/plugins/cucumber‐nagios/checks/
➥features/www.xing.com/startpage.feature:5:in 'When I go to uma pequena alteração no código da
➥ http://www.xing.com/' dependência do Cucumber-Nagios, o
16 Then the request should succeed# steps/result_steps.rb:13 Webrat. Para fazer isso, abra o arquivo
17 And I should see "Join XING for free"# steps/result_steps.rb:1
18 And I should not see "Welcome to Facebook"# steps/ vendor/gems/ruby/1.8/gems/webrat-0.7.0/
➥result_steps.rb:5 lib/webrat/core/logging.rb no diretório
19 do projeto e digite o caminho completo
20 Failing Scenarios:
21 cucumber /usr/lib/nagios/plugins/cucumber‐nagios/checks/features/
para o arquivo de log na linha 18. De-
➥www.xing.com/startpage.feature:4# Scenario: Visiting home page pendendo do diretório home do usuário
22 Nagios, a linha será algo parecido com:
23 1 scenario (1 failed)
24 4 steps (1 failed, 3 skipped) @logger ||= ::Logger.new(“
25 0m0.008s ➥ /var/nagios/webrat.log”)

64 www.linuxmagazine.com.br
Cucumber-Nagios | REDES

Para inalizar, você deve testar a troduzidos no idioma Cucumber


chamada para o plugin manualmen- e Gherkin. E a criação de etapas
te. Os resultados serão muito mais especíicas para a sua própria pla-
satisfatórios: taforma é quase impossível sem o
conhecimento de Ruby.
CUCUMBER OK - Critical: 0,
Warning: 0, 4 okay | passed=4; Os ambientes nos quais as equi-
failed=0; nosteps=0; total=4 pes de desenvolvimento e operação
cooperam estreitamente têm uma
Agora, nada deve estar no caminho vantagem clara aqui. Desenvolve-
usado pelo Cucumber-Nagios para mo- dores contribuem com a lógica da
nitorar as funções. Depois de recarregar aplicação, a equipe de qualidade
o serviço, o Nagios irá acompanhar as deine cenários de teste e os admi-
veriicações deinidas. Isso conclui o nistradores focam o lado operacional
processo de integração com o sistema dos seus sistemas de monitoramento.
de monitoramento. A figura 1 mostra os Além de pequenos bugs e uma
resultados em uma interface do Nagios. enorme lista de desejos [9] para o
Cucumber-Nagios, o projeto também
Conclusão pode incluir mais etapas predeinidas.
O Cucumber-Nagios é sem dúvi- Agora cabe à comunidade de código
da uma ferramenta poderosa, mas aberto contribuir. Se isso acontecer,
alguma experiência é necessária o Cucumber-Nagios terá de uma
para atingir resultados rápidos. A vez por todas potencial para se tor-
integração com um sistema exis- nar mais difundido e poderá abrir
tente é normalmente um processo caminho para uma infraestrutura
lento. Os usuários terão de ser in- orientada por comportamento. ■

Mais informações
[1] Jenkins: http://jenkins-ci.org/

[2] CruiseControl: http://cruisecontrol.sourceforge.net/

[3] Cucumber-Nagios: http://auxesis.github.com/cucumber-nagios/

[4] Cucumber: http://cukes.info/

[5] Gherkin: https://github.com/aslakhellesoy/gherkin

[6] Mechanize: http://mechanize.rubyforge.


org/mechanize/Mechanize.html

[7] Net::SSH: http://net-ssh.rubyforge.org/

[8] “Given–When–Then” convenções no Cucumber: https://


github.com/aslakhellesoy/cucumber/wiki/Given-When-Then

[9] Questões Cucumber-Nagios: https://github.


com/auxesis/cucumber-nagios/issues

Gostou do artigo?
Queremos ouvir sua opinião. Fale conosco em
cartas@linuxmagazine.com.br
Este artigo no nosso site:
http://lnm.com.br/article/5253

Linux Magazine #79 | Junho de 2011 65


ANÁLISE | Shell com PHP

Acesso Shell baseado em web

Jogo de força
ANÁLISE

Os firewalls em geral bloqueiam o acesso


via interpretador de comandos para
usuários em uma rede corporativa ou em
um cyber café. Felizmente, ferramentas
como o PHP Shell e Shell in a Box colocam
o Shell em uma janela do navegador.
por Wolfgang Dautermann

G
raças ao Shell Seguro (SSH), tentativa (legada) de tornar o PHP a combinação de usuário/senha (fi-
que torna o gerenciamen- seguro em servidores web que hos- gura 1) para carregar a seção Shell
to de um servidor remoto pedam vários sites aorestringirvários no navegador.
muito fácil, e o redirecionamento de comandos, deve ser desativados para Agora você pode digitar um co-
programas no X, que signiica poder esta ferramenta funcionar. mando Shell no prompt de coman-
até mesmo usar programas gráicos A instalação é muito simples: faça o do $ na parte inferior da janela, ou
para as tarefas de gerenciamento em download da última versão do PHP pressionar a tecla [Enter] e clicar
seu computador doméstico. Infeliz- Shell [1] e descompacte o arquivo em Execute Command (Executar
mente, em um ambiente corporati- ZIP em um diretório do seu servidor Comando) para executar o coman-
vo ou em um cyber café, é provável web. Você precisa deinir uma senha do e ver os resultados na janela do
que você não tenha permissão para para isso; para fazê-lo, vá até o ende- interpretador de comandos (figura
instalar programas adicionais, ou as reço http://www.exemplo.com/phpshell/ 2). Existem certas restrições ao Shell,
conigurações do irewall serão tão pwhash.php (tomando o cuidado de como o PHP Shell irá lhe mostrar
restritivas que você não poderá fazer substituir www.exemplo.com pelo nome no navegador.
nada além de acessar e utilizar o pro- do seu site) e entre com seu nome Você não pode utilizar coman-
tocolo HTTP ou HTTPS. O PHP de usuário e senha desejados. dos interativos, pois não é possível
Shell e o Shell in a Box lhe darão Você então, deve adicionar uma selecionar opções entre as telas. O
opções para acessar o seu servidor. linha que lhe for retornada após comando deve caber em uma linha;
a informação do usuário e senha, e o PHP Shell sabe quando um co-
PHP Shell na seção [users] do seu arquivo de mando precisa ser continuado. Por
O PHP Shell suporta o acesso a servi- coniguração config.php. Se preci- exemplo, você não pode fazer um
dores via interpretador de comandos sar, pode adicionar diversos usuá- loop em múltiplas linhas, tarefa que
para os casos onde o administrador rios de uma só vez. Após completar você poderia fazer em um Shell pa-
do servidor ou do irewall o bloqueie. este passo, o PHP Shell está pronto drão como:
Tudo o que você precisa é de um servi- para ser usado.
$ for i in a b c ; do
dor web capaz de executar comandos Em seguida, você pode ir até o
> echo $i
PHP para executar seus comandos endereço http://www.exemplo.com/
> done
Shell. O PHP SafeMode, que é uma phpshell/phpshell.php e logar com

66 www.linuxmagazine.com.br
Shell com PHP | ANÁLISE

No entanto, você pode colocar


o comando em uma linha simples:
for i in a b c ; do echo $i ; done

Um comando deve ser completado


em certo período de tempo (tipica-
mente 30 segundos). Este requisito
não é uma restrição do PHP Shell;
ao invés disso, limites coniguráveis
usados pelo servidor web Apache (a
diretiva Timeout) e pelo PHP (a coni-
guração max_execution_time no arquivo
global php.ini) podem limitar o tempo
de execução.
Figura 1: Janela de login do PHP Shell.
Os comandos são executados
com o UID/GID (identiicador de
usuário e identiicador de grupo plano, o que, contudo, não é reco- O Shell in a Box
de usuários) do servidor web, que mendado), você pode conigurar O Shell in a Box (figura 3) pode ser
você pode veriicar executando o apelidos no Shell e um diretório muito útil se você tiver acesso Shell
comando id. Esta característica é /home para o PHP Shell no arquivo ao servidor e puder instalar e executar
útil, pois o acesso ao FTP ocorre de coniguração config.php. seus próprios programas mas prefe-
em geral por um UID diferente. O armazenamento de senhas re, ou é forçado, a usar o navegador
Por exemplo, caso precise criar criptografadas (com o pwhash.php) como cliente. Uma visão geral e uma
um diretório no qual o servidor web somente irá ajudá-lo a prevenir uma demonstração desta ferramenta web
grava arquivos, a não ser que você tentativa de login caso um invasor baseada em Ajax podem ser encontra-
seja o usuário root, poderá criar um tente comprometer o arquivo de con- das no website do projeto [2].
diretório que tenha permissões de iguração. A segurança do PHP Shell O Shell in a Box não é incluído nos
escrita globais com FTP ou SSH. depende da forma como o acesso irá repositórios padrão. Os usuários de
Em comparação, o PHP Shell lhe ocorrer via servidor web (HTTPS), Debian/Ubuntu podem baixar o pa-
permite criar um diretório no qual já que um invasor poderá capturar cote no website do projeto e instalá-
o acesso a gravação é restrito ao qualquer comando que entrar, assim lo. Usuários de outras distribuições
servidor web. como sua saída. Linux deverão baixar e instalar o
Para alterar o tamanho da janela
do interpretador de comandos, use
a ferramenta scaling na parte infe-
rior direita; apenas entre com o valor
desejado e então execute o próximo
comando. O PHP Shell inclui um
editor simples (editor nome_de_arqui-
vo) que lhe permite editar arquivos
– eles devem ser escritos pelo UID
do servidor web. Ele também inclui
uma função simples de histórico
que lhe permite a navegação entre
os comandos anteriores e próximos,
pressionando as teclas para cima e
para baixo; no entanto, ele não su-
porta características mais avançadas
como pesquisas no histórico.
Desconsiderando a especiicação
de usuário/senha (a senha também
pode ser armazenada em formato Figura 2: O PHP Shell em ação.

Linux Magazine #79 | Junho de 2011 67


ANÁLISE | Shell com PHP

host1/ para se conectar ao endereço


host.exemplo.com e usar uma URL
de http://localhost:4200/host2/ para
abrir uma conexão SSL para outra
máquina (como host2.exemplo.com).
Ao contrário do PHP Shell em
que cada linha de entrada é proces-
sada e os resultados são retornados
para o navegador, o Shell in a Box
também suporta atividades inte-
Figura 3: O Shell in a Box em ação. rativas (baseadas em texto), como
o uso de editores como Vi, Joe e
projeto por conta própria com os Isso assume que o servidor SSH assim por diante.
comandos típicos ./configure, make e está sendo executado (pelo menos Apesar de o desempenho não
make install, que instalarão o Shell no dispositivo loopback). ser tão bom como em um termi-
in a Box no diretório /usr/local. ➧ Fornece um login SSH ao com- nal de texto normal, você pro-
Diferentemente do PHP Shell, o putador host.exemplo.com no sistema vavelmente não notará maiores
Shell in a Box vem com um servidor local com o caminho http://local- restrições. (A demonstração bb da
web próprio que escuta a porta 4200 host:4200/external-host/: biblioteca aalib ASCII é bastante
por padrão. Sua primeira experiên- inexpressiva no navegador, mas
shellinaboxd -t -s
cia com o Shell in a Box em uma /external-host/:SSH:host. você pode querer vê-la. No open-
máquina local provavelmente será example.com SUSE/Ubuntu/Debian, você pode
descriptografada; contudo, adicionar instalar o pacote bb e assistí-la em
a camada de segurança Secure So- Um servidor SSH deve estar em um terminal normal).
ckets Layer (SSL) em um ambiente execução para que este processo fun- Se você tiver a intenção de usar
de produção em um servidor web é cione, o que signiica que você pode o Shell in a Box em um servidor de
de fato uma boa ideia. O SSL é uma usar o comando shellinabox como um produção, deve tornar o serviço se-
camada intermediária de criptograia gateway para os computadores que, guro com o SSL. O Shell in a Box
baseada no protocolo TCP/IP. Sendo de outra forma, estariam inacessíveis. vem com este recurso embutido.
assim, ele suporta a criptograia de ➧ Execute o programa top no ende- Se você deixar de usar o parâmero
protocolos existentes (HTTP, PHP3, reço http://localhost:4200/systems- -t (ou --disable-ssl), o Shell in a
IMAP etc.). O Shell in a Box também tate/ usando o UID dauti e o grupo Box deverá por padrão fornecer o
pode fornecer vários serviços. A sin- users (com o diretório de trabalho /): serviço via HTTPS.
taxe geral do aplicativo é construída Note que você precisará de um
shellinaboxd -t -s
da seguinte forma: /systemstate/:dauti:users:/: certiicado, que deve residir no di-
/usr/bin/top retório atual (você pode alterar o
shellinaboxd -s
WEBPATH:SERVICETYPE diretório do certiicado usando a
Um alerta: ser capaz de visualizar o opção --cert-DIRECTORY). Para mais
Nos seguintes exemplos, note o status do sistema no navegador é impor- detalhes sobre o certiicado, veja
parâmetro -t que desativará o SSL tante, mas esta característica também o quadro 1.
temporariamente: lhe permite acessar opções interativas
➧ Fornece um Shell de login do comando top (como pressionar Conclusão
no sistema local no endereço a tecla [k] para matar um processo). O PHP Shell e o Shell in a Box tra-
http://localhost:4200/ (somente ➧ O processo shellinaboxd pode zem as facilidades do Shell para a
disponível para o usuário root): fornecer múltiplos serviços (como um janela do seu navegador. Você pode
login em múltiplos computadores): tentar usar estas úteis ferramentas
shellinaboxd -t -s /:LOGIN
se precisar acessar o Shell a partir
shellinaboxd -t -s
➧ Fornece um login SSH Shell /host1/:SSH:host.exemplo.com de um cyber café ou através de um
no sistema local com o caminho -s /host2/:SSH:host2.exemplo.com irewall. Lembre-se no entanto, de
http://localhost:4200/: que o acesso ao interpretador de co-
Por exemplo, você pode usar uma mandos é uma ferramenta poderosa
shellinaboxd -t -s /:SSH
URL como http://localhost:4200/ e que demanda grande atenção à

68 www.linuxmagazine.com.br
Shell com PHP | ANÁLISE

segurança. Você deve sempre usar


Quadro 1: Criptografia e certificados
criptograia e tomar as precauções
necessárias para garantir que estas Os certificados digitais são emitidos por autoridades certificadoras, que em
geral fornecem este serviço mediante o pagamento de uma taxa, apesar
ferramentas não criarão uma brecha
de projetos da comunidade como o Cacert [3], também os emitirem. O
para os invasores. ■ navegador automaticamente identifica o certificado como legítimo, porque
ele reconhece e confia na autoridade certificadora e usa a chave pública do
servidor, obtida através da entidade certificadora, para criptografar a comu-
Mais informações nicação com o servidor.

Você também tem a opção de criar um certificado autoassinado, que não


[1] PHP Shell: http://phpshell.
oferece a identificação da autoridade e, assim, não é tão seguro quanto
sourceforge.net/
aquele assinado por uma autoridade certificadora. O Shell in a Box suposta-
mente cria certificados autoassinados [4], mas este processo nem sempre
[2] Shell in a Box: http://code. funciona. Verifique a documentação ou visite a página web para maiores de-
google.com/p/shellinabox/ talhes sobre o funcionamento de certificados no Shell in a Box.

[3] CAcert: http://www.


cacert org/
Gostou do artigo?
[4] Assuntos relacionados ao Queremos ouvir sua opinião. Fale conosco em
Shell in a Box: http://code. cartas@linuxmagazine.com.br
google.com/p/shellinabox/
issues/detail?id=59#c11 Este artigo no nosso site:
http://lnm.com.br/article/5250

OSPRE

Linux
Professional
Institute www.lpi-brasil.org
Linux Magazine #79 | Junho de 2011 69
TUTORIAL | VoIP com Asterisk - parte VIII

Asterisk descomplicado

VoIP com
TUTORIAL

Asterisk – parte VIII


O sistema telefônico ultrapassado, presente até pouco tempo atrás nas empresas, é prolífico
em cobranças: cada novo recurso ativado requer uma nova ativação de serviço, com o preço
adicionado ao pagamento mensal. É hora de mudar. É hora de criar sua própria central VoIP.
por Stefan Wintermeyer

N
a edição 78 da Linux Maga- e R$2000 incluindo o valor dos cus- a partir das informações contidas no
zine, você aprendeu sobre tos de licenças de software para cada plano de dicagem. Há alguns projetos
telefones analógicos e o envio ponto de atendimento. Além disso, comunitários que exigem nenhum
e recebimento de fax. Nesta edição, administrar os usuários e gerenciar as investimento e possuem grande con-
vamos abordar um projeto Asterisk inovações que surgem todos os dias tribuição da comunidade. Estes são
GPL “comunitário”. Com um kit de na mesma medida em que a telefonia provavelmente os três projetos comu-
telefonia, será possível criar um sistema VoIP torna-se mais moderna, é uma nitários mais importantes do Asterisk:
telefônico completo com suas carac- árdua tarefa, se feita da forma antiga. ➧ Trixbox [1] é uma das soluções
terísticas clássicas tais como: agenda Outro problema freqüente é mi- mais antigas - desde o Asterisk@Home,
telefônica, usuários móveis e imple- grar a agenda de telefones central do é mantido atualmente por uma em-
mentação em massa. Mãos à obra! sistema antigo para os novos telefones presa independente, que oferece uma
SIP, o que signiica que a programação edição comunitária da ferramenta e
Comunidade na linha completa do plano de discagem e da que pode ser alterada pelos usuários.
Nos primeiros artigos desta série, lógica da organização dos ramais deve Em dezembro de 2007, houve uma
você obteve acesso às informações partir do zero. Por razões de custo, certa agitação na comunidade do soft-
necessárias para a instalação manual tarefas como estas não fazem senti- ware livre, porque o Trixbox parecia
e a coniguração correta necessárias do, pois na maioria dos casos não é possuir secretamente os poderes para
para criar sua central telefônica com necessário iniciar o uso do Asterisk a executar comandos no sistema [2].
Asterisk. Seja para uma casa, um es- partir do zero. Para cenários comuns, ➧ Switchvox [3] oferece recursos
critório ou uma pequena empresa, há muito boas soluções baseadas em semelhantes aos do Trixbox e tam-
uma solução de telefonia pode utilizar Asterisk, você pode utilizá-las e me- bém pode ser administrado através
um computador mais antigo como lhorá-las expandindo-as conforme a de uma interface web. O software
servidor transformando o Asterisk sua necessidade. foi aparentemente tão bem desde
em um sistema de telefonia ideal. o seu lançamento, que a Digium
Mas, e se uma empresa quiser subs- Asterisk++ comprou o produto e o incluiu em
tituir seu velho sistema proprietário A princípio, todas as soluções padrão sua carteira de produtos oferecidos.
com 100 funcionários atendendo liga- do Asterisk utilizam um servidor web ➧ Asterisk Now [4] é originado do
ções em ramais individuais por uma Apache com PHP e um banco de projeto Switchvox e, tecnicamente,
central com Asterisk, então é possível dados. Para operá-lo, é necessário ge- embora seja muito superior, há duvi-
ver o projeto de uma forma diferente. rar um arquivo de coniguração com das se o projeto irá sobreviver. O de-
Dependendo do salário por hora de todas as informações de um plano de senvolvimento de novidades durante
um atendente e do hardware utiliza- discagem. São armazenadas todas as vários meses permaneceu estacionado.
do em um sistema deste tipo, o custo conigurações no banco de dados e seus Outro ponto negativo, é que também
varia muito rapidamente entre R$1000 valores são recuperados em tempo real não é possível excluir os elementos

70 www.linuxmagazine.com.br
VoIP com Asterisk - parte VIII | TUTORIAL

do Switchvox Digium em um Asterisk SIP são facilmente substituíveis por


Now que já esteja em funcionamento. outros mais modernos e costumam ter
Todos são projetados para o mercado algumas características proprietárias.
americano e preparados para os proble- Nem todos os telefones SIP são capa-
mas daquele país. Mas os problemas zes de operar nesse sistema. Na seleção
começam com a falta de módulos em do aparelho certo, deve ser avaliada
nosso idioma, e termina com o baixo não apenas as características óbvias,
suporte ou a ausência total de suporte como qualidade de voz, aparência e
para ISDN. As extensões virtuais dos ra- recursos básicos do telefone. Fatores Figura 1: O Siemens Open Stage é
mais não funcionam muito bem e uma como a capacidade do dispositivo, suas considerado por muitos
empresa de médio porte teria que enviar conigurações de personalização, fácil usuários como o mais
bonito..
todas as chamadas através de uma cen- seleção de linhas adicionais e outros
tral de IVR (Interactive Voice Response, recursos, devem ser levados em conta.
ou Resposta Interativa de Voz, ou seja, O telefone escolhido também deve
o conhecido atendimento eletrônico). aceitar conigurações via navegador.
Você precisa ainda ter a possibilidade de
Software comunitário exibir seus próprios menus dinâmicos
Para construir um servidor VoIP Asterisk no visor do aparelho e é claro, o catá-
avançado, utilizei um software alemão, logo telefônico. O catálogo telefônico
o Amooma Gemeinschaft (que signiica não será um grande problema caso
Comunidade) [5] , projeto comunitário você esteja conigurando um sistema
que foi lançado há pouco tempo e foi o Asterisk novo, mas será um obstáculo
primeiro a divulgar seu código online. caso você tenha de programar o plano
O nome do aplicativo vem da idéia de de discagem completo do início. Figura 2: O Snom 360 é um dos
que a comunidade pode, com este kit Finalmente, alguns aparelhos ofe- principais aparelhos impor-
de ferramentas e de vários servidores recem um módulo adicional que para tados com recursos VoIP.
Asterisk, criar um cluster VoIP. muitos callcenters é uma obrigação,
Uma descrição completa sobre a ins- mas um símbolo de status para outros Mais informações
talação do software não se encaixa usuários. Se você ainda está em dúvida
[1] Trixbox: http://www.
neste artigo, até mesmo porque isso quanto à melhor escolha de telefones,
trixbox.org/
não é necessário, uma vez que o soft- conheça alguns aparelhos importados
ware é modular e você pode usar os que possuem tudo o que é necessário [2] Discussão sobre o
componentes individuais com suas para operar em sistemas VoIP: Trixbox: http://yro.
próprias conigurações – ou não. Os ➧ Aastra Detewe 55i slashdot.org/article.
recursos de cluster, por exemplo, pro- ➧ Siemens Open Stage (figura 1), pl?sid=07/12/16/222243
vavelmente serão interessantes apenas que muitos usuários inais conside- [3] Switchvox: http://www.
para grandes empresas. Este artigo irá ram como o melhor. switchvox.com/
ajudá-lo a implementar o software em ➧ Snom 360 e 370 (figura 2)
um sistema de telefonia simples, com O software alemão que mencionei [4] Asterisk Now: http://
todas as características típicas para isso. anteriormente, o Amooma, suporta www.asterisknow.com/
todos os telefones listados. Mas tome [5] Amooma, software alemão:
Compre o o especial cuidado de manter o irm- http://www.amooma.
ware de cada telefone VoIP atualizado! de/gemeinschaft
telefone certo Costuma circular por aí, muitas histó-
O usuário inal irá conseguir utili- rias sobre bugs em versões de irmware
zar o sistema Asterisk sem grandes mais antigas, que são divulgadas em Gostou do artigo?
rtigo?
problemas quando os telefones VoIP diversos fóruns pela Internet. Queremos ouvir sua
a opinião.
utilizados possuírem as mesmas carac- Na próxima edição da Linux Maga- Fale conosco em
terísticas que os telefones do sistema zine, você irá aprender como provisio- cartas@linuxmagazine.com.br
gazine.com br
antigo – ou melhores, é claro. Esta nar suas extensões através de DHCP,
Este artigo no nosso site:
e:
solução pode parecer um pouco ar- recursos de lista telefônica e redire- http://lnm.com.br/article/5286
br/a /528
bitrária, uma vez que os dispositivos cionamento de chamadas. Até lá! ■

Linux Magazine #79 | Junho de 2011 71


TUTORIAL | Análise e solução de problemas com ACH

Análise de hipóteses concorrentes

Soluções para
TUTORIAL

seus problemas
Vamos mostrar como a ferramenta de código aberto
ACH, desenvolvida pela CIA, pode ajudá-lo através
de uma abordagem estruturada e sistemática, a
encontrar soluções para problemas nos negócios.
por Nathan Willis

A
lém de cuidar de uma rede falhar em perceber sinais de aviso por abordagem combinada é melhor que
de espiões, a Agência Central causa do envolvimento emocional em uma simples votação, pois destaca as
de Inteligência Americana que a sua própria equipe se encontra. áreas especíicas em que há consenso e
(CIA, na sigla em inglês) também aquelas em que há desentendimento,
trabalha duro com software de có- Como o ACH permitindo à equipe focalizar as dis-
digo aberto. Uma de suas mais re- cussões com mais eicácia e falar mais
centes criações é o ACH (Analysis funciona de evidências do que de conclusões.
of Competing Hypothesis ou Análise Trocando em miúdos, para um de- O ACH também classiica e gradua
de Hipóteses Concorrentes) [1], um terminado problema, o ACH lista as cada hipótese para destacar a que tem
aplicativo web de análise que pode possíveis explicações (ou hipóteses) mais sustentabilidade a partir da evi-
ser usado por equipes para quebrar a através de um ponto de vista e as evi- dência e da sua equipe.
complexidade de problemas e chegar dências contrárias através de outro. Os O ACH não é o método perfeito
a um consenso. membros da equipe podem veriicá- para todo o tipo de problema de in-
A metodologia ACH foi desen- las, uma por uma, anotando quando teligência de negócio – ele não po-
volvida nos anos 70 para auxiliar creem que uma evidência sustenta ou derá te dizer a hora certa de lançar
equipes de analistas da CIA a exa- não uma hipótese e marcando as evi- um determinado produto ou quando
minar informações conlitantes que dências que acreditam ser incorretas. expandir para um novo segmento de
eram recebidas a respeito de pro- Neste ponto, o resultado é uma mercado. O método funciona melhor
blemas, testar possíveis explicações Matriz Pessoal para cada participante. quando você precisa interpretar os
e encontrar a melhor solução, sem O software combina todas as matrizes signiicados de fatores externos, como
tendenciosidade. O aplicativo web em uma só, formando um “mapa de a sua concorrência, um cliente etc.
que implementa esta metodologia calor” (heat map) de todas as contribui- Como exemplo, suponha que você
foi desenvolvida internamente [2] ções dos participantes da equipe. Esta tenha uma pequena empresa de soft-
e disponibilizada como software de
código aberto no início de 2010.
O ACH é especialmente útil para
problemas em que haja grande pressão
emocional. Nos negócios, se você não
usar uma abordagem sistemática de
uma situação, corre o risco de exagerar
ao reagir às ações do seu concorrente ou Figura 1: Configuração do ACH.

72 www.linuxmagazine.com.br
Análise e solução de problemas com ACH | TUTORIAL

ware com um produto cujas vendas


vão bem: seus ganhos são bons e os
clientes estão satisfeitos com seu su-
porte. Então, uma gigante das buscas
na web, com reputação de lançar soft-
wares livres, começa a vazar rumores
de que irá entrar no seu nicho. Como
ter certeza? Dá para arriscar alguma
atitude? Assumindo o pior, você pode
se precipitar e derrubar seus preços, o
que pode ser um erro, caso nenhum pro-
duto concorrente apareça de verdade.
O ACH pode te ajudar a, de modo
organizado, fazer uma análise da situa-
ção, enumerar as evidências e colocar Figura 2: A tela inicial do ACH exibe atividades recentes e projetos pessoais.
cada possibilidade em seu lugar. Com
ele, você pode ser mais cauteloso, re- sob a forma de um pacote TAR no site livre para qualquer um destes últimos
mover o fator emocional e lidar com do projeto ACH. Extraia seu conteúdo três valores, uma vez que terão de ser
os riscos com maior eiciência. na raiz do servidor web ou em um sub- criados dentro do MySQL, antes de
Para ter uma ideia melhor de como diretório, como /var/www/ach/. O local prosseguir. Em um terminal, crie o
o ACH funciona, leia a documen- escolhido é irrelevante; no entanto, banco de dados com o nome achdb:
tação da metosogolodia do projeto para que os links simbólicos funcionem
mysql ‐u root ‐h localhost
[3]. Contudo, como se trata de uma corretamente, você terá de conigurar o CREATE DATABASE achdb
técnica nova para a maioria dos ne- pacote de maneira diferente para cada
gócios, ainda pode ser um tanto di- caso (figura 1). O pacote não inclui um Para criar o usuário do banco de
fícil antever alguma aplicabilidade arquivo .htaccess com regras relevan- dados (database user), execute o se-
baseado apenas na documentação. tes de reescrita de URL. Portanto, você guinte comando:
deve ou extrair e copiar os arquivos na mysql ‐u root ‐h localhost GRANT
Instalação do ACH linha de comando, ou certiicar-se de alter,create,delete,drop,insert,
O projeto de código aberto ACH que o Nautilus esteja conigurado para update,select ON achdb.* TO
pode ser executado em servidores mostrar arquivos ocultos para que você achuser IDENTIFIED BY
‘a_sua_senha’
LAMP modernos: Apache 2 como não ignore o .htaccess.
servidor web; MySQL 5 como ban- Em seguida, abra o arquivo parts/ Por padrão, o Ubuntu não usa se-
co de dados; e PHP 5.2. Além destes includes.php em um editor de texto. nha para o usuário root do MySQL,
requisitos, pode ser desejável instalar Este é o arquivo de coniguração bási- motivo pelo qual estes comandos não
uma ferramenta de administração do co. No começo, há duas diretivas onde incluem a opção -p. Se sua conigu-
MySQL, como o phpMyAdmin, para a URL base do pacote é informada. A ração for diferente, não esqueça de
ajudar no processo de coniguração primeira é usada pelos componentes incluir esta opção e fornecer a senha.
inicial – ainda que o cliente de linha de HTML e JavaScript. A segunda, pelo No próximo passo, será necessário
comando do mysql funcione tão bem PHP. Forneça a URL completa do o script SQL, já incluído, (db.sql)
quanto ela. A versão atual do ACH é pacote ACH em seu servidor web, para criar as tabelas:
ainda, projetada para ser executados tal como http://serverbox.lan/ach/
mysql -u achuser -p -D
em uma intranet corporativa e não e certiique-se de incluir todas as achdb < db.sql
em um servidor de acesso público. barras (/). Na próxima linha, digite
Esta versão tem controles detalhados o domínio do seu e-mail (minhaem- Finalmente, se você tiver o ACH
para cada projeto, mas não suporta presa.com, por exemplo). Grave este instalado em um subdiretório do seu
autenticação forte ou TFA para dar arquivo, abra o code/common_db.php e servidor, abra o arquivo .htaccess e
acesso ao sistema. Portanto, para ter forneça as conigurações do banco de edite a linha RewriteBase de forma
um mínimo de segurança, não execute dados MySQL (endereço do banco que seus valores contenham o nome
o aplicativo em seu servidor principal. de dados, MySQL usuário e senha, do subdiretório de sua escolha (nos
A última versão é a 1.0.3alpha1, de além do nome do banco de dados a exemplos, usei /ach). Não inclua as
outubro de 2010, que pode ser baixada ser usado pelo ACH). Sua escolha é barras aqui. Caso tenha instalado o

Linux Magazine #79 | Junho de 2011 73


TUTORIAL | Análise e solução de problemas com ACH

ACH no diretório root de documentos do ACH, ou um projeto aberto (Open não. Os membros da equipe podem
do servidor, você pode deixar o ar- Project). Se você escolher a segunda se juntar ao projeto de duas formas –
quivo .htaccess como está. Agora será opção, ainda será possível restringir você pode convidá-los, usando o link
possível ver a página do ACH em seu sua visibilidade a usuários aprovados Invite, abaixo da seção Show details do
navegador em http://serverbox.lan/ e opcionalmente, restringir a entrada projeto, ou, no caso dos projetos abertos,
ch/. O próximo passo será criar uma de membros a usuários aprovados. Os eles podem requisitar sua subscrição
conta e começar a incluir os projetos. padrões do aplicativo determinam que através da interface web do ACH – as
os projetos são visíveis ao público, com quais são exibidas na página inicial do
Se você não é parte restrição à entrada de novos membros, ACH, quando você faz o login.
ou seja, ninguém pode analisar dados Uma vez criado o seu projeto, a
do problema... ou contribuir com a matriz da equi- próxima tela pede as hipóteses. São
Em relação a outros aplicativos web, pe sem antes requisitar a entrada na exibidos quatro quadros na tela, mas
o ACH faz uma abordagem diferen- equipe, o que pode ser aprovado ou você pode adicionar outros. A escolha
te das contas dos usuários e das suas
permissões. Não há uma conta admi-
nistrativa; todas as contas podem criar
novos projetos de problemas. Por outro
lado, dentro de cada projeto, só seu
criador pode ajustar sua visibilidade,
adicionar ou aprovar novos membros
na equipe, adicionar e editar hipóteses,
evidências e outros componentes. O
sistema é, portanto, mais parecido com
uma área de trabalho compartilhada
do que com um serviço web hierárqui-
co, como um webmail ou um sistema
gestor de conteúdos.
Para começar, crie sua conta de
usuário, através do link Sign up for
an account. Muitos dos campos de
contato e de solicitação de outras
informações são opcionais. No en-
tanto, dentro de um ambiente de
equipe, eles podem ser muito úteis,
se corretamente preenchidos. Assim
que você tiver projetos ativos sendo
executados, a tela inicial, Home, irá
exibir as atividades recentes, bem
como as mais novas evidências e
hipóteses (figura 2). Contudo, antes
de qualquer coisa, a única opção
possível é Create New Project (Criar
Novo Projeto).
Na página Create New Project, é
necessário informar um título curto
para o novo projeto e preencher os
dados com uma rápida descrição do
problema. Logo abaixo, estão as opções
de coniguração de privacidade ACH
(figura 3). Você pode optar por iniciar
um projeto privativo (Private Project)
que não será listado na página principal Figura 3: Edição das opções do projeto.

74 www.linuxmagazine.com.br
Análise e solução de problemas com ACH | TUTORIAL

de boas hipóteses é fundamental – em


conjunto, suas hipóteses precisam co-
brir todas as respostas razoáveis possí-
veis para o problema, mas precisam
ser também mutuamente excludentes.
E elas precisam ainda ser detalhadas.
Por exemplo, suponha estar tra-
balhando no problema “Walter está
se comportando de forma suspeita:
ele é um espião corporativo?” As
respostas “Sim” e “Não” podem ser
mutuamente excludentes, sem, con-
tudo, ajudar muito a explorar todas
as possibilidades. Um conjunto me-
lhor de alternativas inclui “Walter é
um espião”, “Walter está planejando
deixar a empresa e levar a sua equi-
pe”, “Walter está insatisfeito com o
baixo rendimento do seu trabalho” Figura 4: Preenchimento de uma matriz pessoal no ACH e decisão do grau de
e “Walter tem distrações não relacio- credibilidade das evidências.
nadas ao trabalho e precisa da nossa
ajuda”. Mantenha curta a descrição (human intelligence) e sua conduta ção ajuda a eliminar evidências po-
de cada hipótese, pois elas são exibi- pode ter se degradado (measurement tencialmente confusas e é uma das
das completas nas matrizes de aná- and signature intelligence), mas há colunas padrão exibidas na matriz.
lise. Nestas, podem ser adicionadas pouca chance de encontrar algo
descrições mais detalhadas e claras, nos arquivos públicos que prove a Consistência
as quais serão exibidas como dicas sua inocência ou culpabilidade. É
ao passar o mouse por cima. Clique possível marcar qualquer trecho de e consenso
em Save quando terminar de editar. uma evidência com advertências Ao terminar de fornecer todas as evi-
Em seguida, será solicitado que ou notas e adicionar uma Classii- dências e argumentos, clique no link
você forneça um argumento para cation (inclusive conidencial, ou Edit your consistency scores (Editar a
cada evidência que contribua para Top Secret), anexar uma data ou graduação das consistências) e come-
analisar a situação, que pode ser hora e associar isto a um código de ce a analisar a sua matriz pessoal. A
uma ocorrência ou uma conversa. O referência ou a um número serial metodologia ACH determina que se
ACH provê seis tipos de evidências de uma “fonte”. trabalhe horizontalmente a matriz,
predeinidas (é divertido como elas O código de referência é um linha a linha, marcando as linhas das
reletem sua origem na CIA): Human ponteiro voltado para um dado ex- evidências/argumentos como Very
Intelligence (um relatório, por exem- terno, tal como uma URL ou uma Inconsistent, Inconsistent, Neutral,
plo); Signal Intelligence (um docu- documentação; o número serial Consistent ou Very Consistent a cada
mento); Imagery (um documento, de uma “fonte” é a origem da in- hipótese (figura 4). Trabalhar linha a
porém de um tipo diferente); Open formação. A origem é importante linha é importante por forçá-lo a ob-
Source Intelligence (arquivos públi- porque, caso descubra-se que esta servar cada peça de evidência indivi-
cos); Measurement and Signature fonte não é coniável, será desejável dualmente, o que não ocorreria se o
Intelligence (informações técnicas ou sinalizar todas as suas evidências luxo do trabalho corresse de modo
provenientes de pesquisa de dados); como suspeitas. As opções de data vertical. Ao terminar, você pode clicar
e Assumption (Suposição). e hora ajudam a ordenar as evidên- em Stop editing, fazendo com que o
Nem todo tipo de inteligência cias dentro do projeto, o que pode ACH recarregue sua matriz pessoal
será aplicável a todo tipo de proble- contribuir para a identiicação de e atribua um código de cores as suas
ma. Voltando ao problema do pro- tendências. Você deve marcar a op- respostas. A qualquer hora, você pode
vável espião, Walter: alguém pode ção de Credibility (Credibilidade) retornar e alterar as respostas dadas.
ter ouvido ele reclamar da falta de em cada elemento de evidência/ Assim que todos os outros mem-
transparência da gerência na copa argumento que fornecer. Esta op- bros da equipe terminarem suas

Linux Magazine #79 | Junho de 2011 75


TUTORIAL | Análise e solução de problemas com ACH

matrizes pessoais, você pode olhar to ao fato de ser incoerente estar análise e por im, determinar a res-
a tela Group Matrix (figura 5). O excessivamente estressado fora do posta mais provável.
mapa de calor retrata as áreas de trabalho, depois das férias (ele não Uma grande parte deste processo
consenso e as de discordância. As deveria estar mais relaxado?). É pos- não pode ser automatizada – é o caso
cores são mais escuras onde há mais sível gerar uma matriz comparativa das discussões dentro das equipes
divergências, de forma a ser possível entre as suas próprias respostas e as que fazem as análises. Contudo,
ter uma visão instantânea das áreas de outro participante usando a barra todos os participantes do projeto
para onde sua equipe precisa dire- de ferramentas abaixo da matriz de podem deixar comentários em cada
cionar seu foco. Os pontos onde há grupo. Esta visão de mapa de calor linha de evidência (disponibilizados
consenso são brancos, e cada ponto permite ver os pontos convergentes e como página web e relatório XML),
é sinalizado com um retângulo azul, divergentes entre os dois participan- além de uma thread das discussões
branco ou amarelo, indicando se o tes. As outras ferramentas permitem dentro do projeto, disponível através
grupo chegou a um acordo sobre ver as matrizes pessoais de outros de um clique no ícone Chat, no
se a evidência suporta ou contradiz usuários, criar matrizes privadas ou canto inferior esquerdo. É possível
a hipótese. No exemplo, é possível duplicadas que permitem separar aprofundar-se mais em cada proje-
ver um grande desacordo na célula partes do projeto ou imprimí-las. to com o Sort Evidence (Organizar
(1,1) que corresponde à ideia de que Evidência) e as ferramentas do Show
as reclamações de Walter quanto à Saiba mais Data Column (Coluna de Exibição
falta de transparência da gerência O mapa de calor básico deve apontar de Dados) – onde também se pode
suportam a hipótese de que ele é os pontos que necessitam de mais adicionar mais metadados à visão
um espião. Esta informação permi- debate, apesar de ele não fazer uso da matriz para observar data/hora,
te fazer um exame bem especíico de inteligência artiicial ou qualquer tipo de inteligência, código, sinal
da questão em discussão – todas as outro algoritmo para mostrar o que ou peso da credibilidade de cada
partes parecem concordar que Wal- está acontecendo com o Walter. Para linha de evidência/argumento di-
ter fez as reclamações, mas o que se encontrar uma solução, a equipe vai retamente (figura 6).
está debatendo é o signiicado delas. precisar analisar as evidências e as Estes fatores não alteram os con-
Da mesma forma, é possível ob- hipóteses e então se reunir para falar teúdos da matriz principal, de forma
servar consenso no fato de que viajar sobre os resultados. Dentro do grupo, que não contribuem com os pontos
nas férias para a cidade onde reside você pode decidir quais argumentos de desacordo ou os consensuais; mas
o chefe da empresa concorrente são os mais persuasivos, quais são podem ter valor inestimável ao se
sustenta a hipótese de ele ser um suspeitos e quais são irrelevantes – discutir determinados dados com o
espião. Também há consenso quan- o ACH pode ajudar a sintetizar esta grupo. A ferramenta Sort Evidence

Figura 5: Mapa de calor de uma matriz de grupo no ACH.

76 www.linuxmagazine.com.br
Análise e solução de problemas com ACH | TUTORIAL

Figura 6: Aprofundando-se na evidência através do exame de metadados da evidência ou argumento.

permite organizar as linhas de evi- que, ao se considerar a maturidade melhor gerenciamento de decisões.
dência/argumento por meio de duas da metodologia, ele esteja provavel- Ao seguir o projeto ACH no Twitter
variáveis quaisquer (grau de credi- mente completo de recursos para o [4], será possível conhecer estudos de
bilidade, tipo de inteligência, data momento. Será interessante ver o casos de negócios que se beneiciam
etc.). Assim, é possível acessar infor- projeto ser integrado a outros pa- do uso do ACH e que podem dar
mação adicional, tal como quando cotes de softwares corporativos, tais ideias sobre como sua organização
houve maior tendência a sustentar como engenharia de decisão, ERP pode se beneiciar também. Mesmo
uma hipótese ou outra ou quando e gestão de projetos. que você esteja convencido de que a
um determinado tipo de inteligência A inteligência de negócios de có- CIA secretamente controla o tempo
voltou-se para uma direção. digo aberto ainda é um campo pe- ou transmite mensagens codiicadas
A opção Sort Hypotheses (Orga- queno, mas está em crescimento. O através da rede elétrica, o ACH é
nizar Hipóteses) permite organizar ACH é uma ferramenta fácil de usar uma bela peça de software a qual
por data ou graduar as hipóteses por que pode realmente possibilitar um vale a pena dar uma olhada séria. ■
suas inconsistências. O ACH coloca
um valor de graduação abaixo do ca- Mais informações
beçalho de cada coluna de hipótese
que representa uma média do peso [1] Página do projeto ACH: http://competinghypotheses.org/
dos argumentos marcados como In-
consistent ou Very Inconsistent. Esta [2] O software original: http://www2.parc.com/istl/projects/ach/ach.html
abordagem permite que tópicos pro-
blemáticos venham à tona e reforça [3] Como o ACH funciona: http://competinghypotheses.
uma peça chave da metodologia org/docs/The_ACH_Methodology_and_Its_Purpose
ACH: focalizar qual evidência diz
não ser verdadeira, ainda que você, [4] ACH no Twitter: http://www.twitter.com/OpenSourceACH
intuitivamente, goste ou não dela.
À medida em que você vai elimi-
nando hipóteses por este caminho, Gostou do artigo?
a relexão prossegue e você poderá, Queremos ouvir sua opinião. Fale conosco em
eventualmente, ver-se frente à única cartas@linuxmagazine.com.br
explicação possível. Este artigo no nosso site:
O projeto ACH ainda está sob http://lnm.com.br/article/5130
desenvolvimento ativo, apesar de

Linux Magazine #79 | Junho de 2011 77


Linux.local
SERVIÇOS

O maior diretório de empresas que oferecem produtos, soluções e Fornecedor de Hardware = 1


serviços em Linux e Software Livre, organizado por Estado. Sentiu Redes e Telefonia / PBX = 2
Integrador de Soluções = 3
falta do nome de sua empresa aqui? Entre em contato com a gente:
Literatura / Editora = 4
11 3675-2600 ou anuncios@linuxmagazine.com.br Fornecedor de Software = 5
Consultoria / Treinamento = 6

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


Bahia
IMTECH Salvador Av. Antonio Carlos Magalhaes, 846 – Edifício 71 4062-8688 www.imtech.com.br ✔ ✔ ✔ ✔
MaxCenter – Sala 337 – CEP 41825-000
Magiclink Soluções Salvador Rua Dr. José Peroba, 275. Ed. Metropolis Empresarial 1005, STIEP 71 2101-0200 www.magiclink.com.br ✔ ✔ ✔ ✔ ✔
Ceará
F13 Tecnologia Fortaleza Rua Padre Valdevino, 526 – Centro 85 3252-3836 www.f13.com.br ✔ ✔ ✔ ✔
Nettion Tecnologia e Fortaleza Av. Oliveira Paiva, 941, Cidade dos Funcionários – CEP 60822-130 85 3878-1900 www.nettion.com.br ✔ ✔ ✔
Segurança da Informação
Espírito Santo
Linux Shopp Vila Velha Rua São Simão (Correspondência), 18 – CEP: 29113-120 27 3082-0932 www.linuxshopp.com.br ✔ ✔ ✔ ✔
Megawork Consultoria Vitória Rua Chapot Presvot, 389 – sl 201, 202 – Praia do Canto 27 3315-2370 www.megawork.com.br ✔ ✔ ✔
e Sistemas CEP: 29055-410
Spirit Linux Vitória Rua Marins Alvarino, 150 – CEP: 29047-660 27 3227-5543 www.spiritlinux.com.br ✔ ✔ ✔
Goiás
3WAY Networks Goiânia Av. Quarta Radial,1952. Setor Pedro Ludovico – CEP.: 74830-130 62 3232-9333 www.3way.com.br ✔ ✔ ✔ ✔ ✔
Minas Gerais
Instituto Online Belo Horizonte Av. Bias Fortes, 932, Sala 204 – CEP: 30170-011 31 3224-7920 www.institutoonline.com.br ✔ ✔
Linux Place Belo Horizonte Rua do Ouro, 136, Sala 301 – Serra – CEP: 30220-000 31 3284-0575 corporate.linuxplace.com.br ✔ ✔ ✔ ✔
Microhard Belo Horizonte Rua República da Argentina, 520 – Sion – CEP: 30315-490 31 3281-5522 www.microhard.com.br ✔ ✔ ✔ ✔ ✔
TurboSite Belo Horizonte Rua Paraíba, 966, Sala 303 – Savassi – CEP: 30130-141 0800 702-9004 www.turbosite.com.br ✔ ✔ ✔
Zarafa Brasil Belo Horizonte Rua dos Goitacazes, 103 – Sala 2001 – CEP: 30190-910 31 2626-6926 www.zarafabrasil.com.br ✔ ✔ ✔
Paraná
iSolve Curitiba Av. Cândido de Abreu, 526, Cj. 1206B – CEP: 80530-000 41 252-2977 www.isolve.com.br ✔ ✔ ✔
Mandriva Conectiva Curitiba Rua Tocantins, 89 – Cristo Rei – CEP: 80050-430 41 3360-2600 www.mandriva.com.br ✔ ✔ ✔ ✔
Telway Tecnologia Curitiba Rua Francisco Rocha 1830/71 41 3203-0375 www.telway.com.br ✔ ✔
Pernambuco
Fuctura Tecnologia Recife Rua Nicarágua, 159 – Espinheiro – CEP: 52020-190 81 3223-8348 www.fuctura.com.br ✔ ✔
Rio de Janeiro
Clavis Segurança da Informação Rio de Janeiro Av. Rio Branco 156, 1303 – Centro – CEP: 20040-901 21 2561-0867 www.clavis.com.br ✔ ✔ ✔
Linux Solutions Informática Rio de Janeiro Av. Presidente Vargas 962 – sala 1001 21 2526-7262 www.linuxsolutions.com.br ✔ ✔ ✔ ✔
Múltipla Tecnologia da Informação Rio de Janeiro Av. Rio Branco, 37, 14° andar – CEP: 20090-003 21 2203-2622 www.multipla-ti.com.br ✔ ✔ ✔ ✔
NSI Training Rio de Janeiro Rua Araújo Porto Alegre, 71, 4º andar Centro – CEP: 20030-012 21 2220-7055 www.nsi.com.br ✔ ✔
Open IT Rio de Janeiro Rua do Mercado, 34, Sl, 402 – Centro – CEP: 20010-120 21 2508-9103 www.openit.com.br ✔ ✔
Unipi Tecnologias Campos dos Av. Alberto Torres, 303, 1ºandar – Centro – CEP: 28035-581 22 2725-1041 www.unipi.com.br ✔ ✔ ✔ ✔
Goytacazes
Rio Grande do Sul
4up Soluções Corporativas Novo Hamburgo Pso. Calçadão Osvaldo Cruz, 54 sl. 301 CEP: 93510-015 51 3581-4383 www.4up.com.br ✔ ✔ ✔ ✔
Definitiva Informática Novo Hamburgo Rua General Osório, 402 - Hamburgo Velho 51 3594 3140 www.definitiva.com.br ✔ ✔ ✔ ✔
RedeHost Internet Gravataí Rua Dr. Luiz Bastos do Prado, 1505 – Conj. 301 CEP: 94010-021 51 4062 0909 www.redehost.com.br ✔ ✔ ✔
Solis Lajeado Av. 7 de Setembro, 184, sala 401 – Bairro Moinhos 51 3714-6653 www.solis.coop.br ✔ ✔ ✔ ✔ ✔
CEP: 95900-000
DualCon Novo Hamburgo Rua Joaquim Pedro Soares, 1099, Sl. 305 – Centro 51 3593-5437 www.dualcon.com.br ✔ ✔ ✔ ✔
Datarecover Porto Alegre Av. Carlos Gomes, 403, Sala 908, Centro 51 3018-1200 www.datarecover.com.br ✔ ✔
Comercial Atrium Center – Bela Vista – CEP: 90480-003
LM2 Consulting Porto Alegre Rua Germano Petersen Junior, 101-Sl 202 – Higienópolis – 51 3018-1007 www.lm2.com.br ✔ ✔ ✔
CEP: 90540-140
Lnx-IT Informação e Tecnologia Porto Alegre Av. Venâncio Aires, 1137 – Rio Branco – CEP: 90.040.193 51 3331-1446 www.lnx-it.inf.br ✔ ✔ ✔ ✔
TeHospedo Porto Alegre Rua dos Andradas, 1234/610 – Centro – CEP: 90020-008 51 3301-1408 www.tehospedo.com.br ✔ ✔
Propus Informática Porto Alegre Rua Santa Rita, 282 – CEP: 90220-220 51 3024-3568 www.propus.com.br ✔ ✔ ✔ ✔ ✔
São Paulo
Ws Host Arthur Nogueira Rua Jerere, 36 – Vista Alegre – CEP: 13280-000 19 3846-1137 www.wshost.com.br ✔ ✔ ✔
DigiVoice Barueri Al. Juruá, 159, Térreo – Alphaville – CEP: 06455-010 11 4195-2557 www.digivoice.com.br ✔ ✔ ✔ ✔ ✔
Dextra Sistemas Campinas Rua Antônio Paioli, 320 – Pq. das Universidades – CEP: 13086-045 19 3256-6722 www.dextra.com.br ✔ ✔ ✔
Insigne Free Software do Brasil Campinas Av. Andrades Neves, 1579 – Castelo – CEP: 13070-001 19 3213-2100 www.insignesoftware.com ✔ ✔ ✔
Microcamp Campinas Av. Thomaz Alves, 20 – Centro – CEP: 13010-160 19 3236-1915 www.microcamp.com.br ✔ ✔
PC2 Consultoria Carapicuiba Rua Edeia, 500 - CEP: 06350-080 11 3213-6388 www.pc2consultoria.com ✔ ✔
em Software Livre

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

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


São Paulo (continuação)
Epopéia Informática Marília Rua Goiás, 392 – Bairro Cascata – CEP: 17509-140 14 3413-1137 www.epopeia.com.br ✔
Redentor Osasco Rua Costante Piovan, 150 – Jd. Três Montanhas – CEP: 06263-270 11 2106-9392 www.redentor.ind.br ✔
Go-Global Santana Av. Yojiro Takaoca, 4384, Ed. Shopping Service, 11 2173-4211 www.go-global.com.br ✔ ✔ ✔
de Parnaíba Cj. 1013 – CEP: 06541-038
AW2NET Santo André Rua Edson Soares, 59 – CEP: 09760-350 11 4990-0065 www.aw2net.com.br ✔ ✔ ✔
Async Open Source São Carlos Rua Orlando Damiano, 2212 – CEP 13560-450 16 3376-0125 www.async.com.br ✔ ✔ ✔
Delix Internet São José do Rua Voluntário de São Paulo, 3066 9º – Centro – CEP: 15015-909 11 4062-9889 www.delixhosting.com.br ✔ ✔ ✔
Rio Preto
2MI Tecnologia e Informação São Paulo Rua Franco Alfano, 262 – CEP: 5730-010 11 4203-3937 www.2mi.com.br ✔ ✔ ✔ ✔
4Linux São Paulo Rua Teixeira da Silva, 660, 6º andar – CEP: 04002-031 11 2125-4747 www.4linux.com.br ✔ ✔
A Casa do Linux São Paulo Al. Jaú, 490 – Jd. Paulista – CEP: 01420-000 11 3549-5151 www.acasadolinux.com.br ✔ ✔ ✔
Accenture do Brasil Ltda. São Paulo Rua Alexandre Dumas, 2051 – Chácara Santo Antônio 11 5188-3000 www.accenture.com.br ✔ ✔ ✔
– CEP: 04717-004
ACR Informática São Paulo Rua Lincoln de Albuquerque, 65 – Perdizes – CEP: 05004-010 11 3873-1515 www.acrinformatica.com.br ✔ ✔
Agit Informática São Paulo Rua Major Quedinho, 111, 5º andar, Cj. 508 11 3255-4945 www.agit.com.br ✔ ✔ ✔
Centro – CEP: 01050-030
Altbit - Informática São Paulo Av. Francisco Matarazzo, 229, Cj. 57 – 11 3879-9390 www.altbit.com.br ✔ ✔ ✔ ✔
Comércio e Serviços LTDA. Água Branca – CEP 05001-000
AS2M -WPC Consultoria São Paulo Rua Três Rios, 131, Cj. 61A – Bom Retiro – CEP: 01123-001 11 3228-3709 www.wpc.com.br ✔ ✔ ✔
Blanes São Paulo Rua André Ampére, 153 – 9º andar – Conj. 91 11 5506-9677 www.blanes.com.br ✔ ✔ ✔ ✔ ✔
CEP: 04562-907 (próx. Av. L. C. Berrini)
Bull Ltda São Paulo Av. Angélica, 903 – CEP: 01227-901 11 3824-4700 www.bull.com ✔ ✔ ✔ ✔
Commlogik do Brasil Ltda. São Paulo Av. das Nações Unidas, 13.797, Bloco II, 6º andar – Morumbi 11 5503-1011 www.commlogik.com.br ✔ ✔ ✔ ✔ ✔
– CEP: 04794-000
Computer Consulting São Paulo Rua Caramuru, 417, Cj. 23 – Saúde – CEP: 04138-001 11 5071-7988 www.computerconsulting.com.br ✔ ✔ ✔ ✔
Projeto e Consultoria Ltda.
Consist Consultoria, Siste- São Paulo Av. das Nações Unidas, 20.727 – CEP: 04795-100 11 5693-7210 www.consist.com.br ✔ ✔ ✔ ✔
mas e Representações Ltda.
Domínio Tecnologia São Paulo Rua das Carnaubeiras, 98 – Metrô Conceição – CEP: 04343-080 11 5017-0040 www.dominiotecnologia.com.br ✔ ✔
Ética Tecnologia São Paulo Rua Nova York, 945 – Brooklin – CEP:04560-002 11 5093-3025 www.etica.net ✔ ✔ ✔ ✔
Getronics ICT Solutions São Paulo Rua Verbo Divino, 1207 – CEP: 04719-002 11 5187-2700 www.getronics.com/br ✔ ✔ ✔
and Services
Hewlett-Packard Brasil Ltda. São Paulo Av. das Nações Unidas, 12.901, 25º andar – CEP: 04578-000 11 5502-5000 www.hp.com.br ✔ ✔ ✔ ✔ ✔
IBM Brasil Ltda. São Paulo Rua Tutóia, 1157 – CEP: 04007-900 0800-7074 837 www.br.ibm.com ✔ ✔ ✔ ✔
iFractal São Paulo Rua Fiação da Saúde, 145, Conj. 66 – Saúde – CEP: 04144-020 11 5078-6618 www.ifractal.com.br ✔ ✔ ✔
Integral São Paulo Rua Dr. Gentil Leite Martins, 295, 2º andar Jd. Prudência 11 5545-2600 www.integral.com.br ✔ ✔
– CEP: 04648-001
Itautec S.A. São Paulo Av. Paulista, 2028 – CEP: 01310-200 11 3543-5543 www.itautec.com.br ✔ ✔ ✔ ✔ ✔
Komputer Informática São Paulo Av. João Pedro Cardoso, 39 2º andar – Cep.: 04335-000 11 5034-4191 www.komputer.com.br ✔ ✔ ✔
Konsultex Informatica São Paulo Av. Dr. Guilherme Dumont Villares, 1410 6 andar, CEP: 05640-003 11 3773-9009 www.konsultex.com.br ✔ ✔ ✔
Linux Komputer Informática São Paulo Av. Dr. Lino de Moraes Leme, 185 – CEP: 04360-001 11 5034-4191 www.komputer.com.br ✔ ✔ ✔ ✔
Linux Mall São Paulo Rua Machado Bittencourt, 190, Cj. 2087 – CEP: 04044-001 11 5087-9441 www.linuxmall.com.br ✔ ✔ ✔
Livraria Tempo Real São Paulo Al. Santos, 1202 – Cerqueira César – CEP: 01418-100 11 3266-2988 www.temporeal.com.br ✔ ✔ ✔
Locasite Internet Service São Paulo Av. Brigadeiro Luiz Antonio, 2482, 3º andar – Centro 11 2121-4555 www.locasite.com.br ✔ ✔ ✔
– CEP: 01402-000
Microsiga São Paulo Av. Braz Leme, 1631 – CEP: 02511-000 11 3981-7200 www.microsiga.com.br ✔ ✔ ✔
Locaweb São Paulo Av. Pres. Juscelino Kubitschek, 1.830 – Torre 4 11 3544-0500 www.locaweb.com.br ✔ ✔ ✔
Vila Nova Conceição – CEP: 04543-900
Novatec Editora Ltda. São Paulo Rua Luis Antonio dos Santos, 110 – Santana – CEP: 02460-000 11 6979-0071 www.novateceditora.com.br ✔
Novell América Latina São Paulo Rua Funchal, 418 – Vila Olímpia 11 3345-3900 www.novell.com/brasil ✔ ✔ ✔
Oracle do Brasil Sistemas Ltda. São Paulo Av. Alfredo Egídio de Souza Aranha, 100 – Bloco B – 5º 11 5189-3000 www.oracle.com.br ✔ ✔
andar – CEP: 04726-170
Proelbra Tecnologia São Paulo Av. Rouxinol, 1.041, Cj. 204, 2º andar Moema – CEP: 04516-001 11 5052- 8044 www.proelbra.com.br ✔ ✔ ✔
Eletrônica Ltda.
Provider São Paulo Av. Cardoso de Melo, 1450, 6º andar – Vila Olímpia 11 2165-6500 www.e-provider.com.br ✔ ✔ ✔
– CEP: 04548-005
Red Hat Brasil São Paulo Av. Brigadeiro Faria Lima, 3900, Cj 81 8º andar 11 3529-6000 www.redhat.com.br ✔ ✔ ✔
Itaim Bibi – CEP: 04538-132
Samurai Projetos Especiais São Paulo Rua Barão do Triunfo, 550, 6º andar – CEP: 04602-002 11 5097-3014 www.samurai.com.br ✔ ✔ ✔
SAP Brasil São Paulo Av. das Nações Unidas, 11.541, 16º andar – CEP: 04578-000 11 5503-2400 www.sap.com.br ✔ ✔ ✔
Savant Tecnologia São Paulo Av. Brig. Luis Antonio, 2344 cj 13 – Jd. Paulista – CEP:01402-000 11 2925-8724 www.savant.com.br ✔ ✔ ✔ ✔ ✔
Simples Consultoria São Paulo Rua Mourato Coelho, 299, Cj. 02 Pinheiros – CEP: 05417-010 11 3898-2121 www.simplesconsultoria.com.br ✔ ✔ ✔
Smart Solutions São Paulo Av. Jabaquara, 2940 cj 56 e 57 11 5052-5958 www.smart-tec.com.br ✔ ✔ ✔ ✔
Snap IT São Paulo Rua João Gomes Junior, 131 – Jd. Bonfiglioli – CEP: 05299-000 11 3731-8008 www.snapit.com.br ✔ ✔ ✔
Stefanini IT Solutions São Paulo Av. Brig. Faria Lima, 1355, 19º – Pinheiros – CEP: 01452-919 11 3039-2000 www.stefanini.com.br ✔ ✔ ✔
Sybase Brasil São Paulo Av. Juscelino Kubitschek, 510, 9º andar Itaim Bibi – CEP: 04543-000 11 3046-7388 www.sybase.com.br ✔ ✔
Unisys Brasil Ltda. São Paulo R. Alexandre Dumas 1658 – 6º, 7º e 8º andares – Chácara 11 3305-7000 www.unisys.com.br ✔ ✔ ✔ ✔
Santo Antônio – CEP: 04717-004
Utah São Paulo Av. Paulista, 925, 13º andar – Cerqueira César – CEP: 01311-916 11 3145-5888 www.utah.com.br ✔ ✔ ✔
Webnow São Paulo Av. Nações Unidas, 12.995, 10º andar, Ed. Plaza Centenário 11 5503-6510 www.webnow.com.br ✔ ✔ ✔
– Chácara Itaim – CEP: 04578-000
WRL Informática Ltda. São Paulo Rua Santa Ifigênia, 211/213, Box 02– Centro – CEP: 01207-001 11 3362-1334 www.wrl.com.br ✔ ✔ ✔
Systech Taquaritinga Rua São José, 1126 – Centro – Caixa Postal 71 – CEP: 15.900-000 16 3252-7308 www.systech-ltd.com.br ✔ ✔ ✔

Linux Magazine #79 | Junho de 2011 79


Calendário de eventos Índice de anunciantes
Empresa Pág.
Evento Data Local Informações Tecla 02
Othos 07
TeHospedo 09
26 de junho a
Agile Brazil 2011 Fortaleza, CE http://www.agilebrazil.com Unodata 11
01 de julho
SERVIÇOS

UOL Host 13
FISL 12 - Fórum CentralServer 15
29 de junho a Plusserver 18, 19
Internacional de Porto Alegre, RS http://fisl.org.br
02 de julho
Software Livre Konsultex 21
FISL12 28, 29
10 e 11 de Impacta 31
QCon São Paulo 2011 São Paulo, SP http://www.qcon.com.br
setembro Smart 41
WatchGuard 47
Senac 51
Latinoware 2011 19 a 21 de outubro Foz do Iguaçu, PR http://www.latinoware.org
F13 65
NetCom 81
17 e 18 de http://events.linuxfoundation. Bull 83
LinuxCon Brasil 2011 São Paulo, SP
novembro org/events/linuxcon-brazil Microsoft 84

Nerdson – Os quadrinhos mensais da Linux Magazine

80 www.linuxmagazine.com.br
Linux Magazine #80
Novas tecnologias
PREVIEW

Nesta edição conira as ferramentas mais atuais que se


tornarão padrão em um futuro próximo: alternativas
para uso de ZFS no Linux e as novidades do HTML5
que irão redeinir a web. Além disso, mostraremos
como montar um storage iSCSI sem equipamento
especial e apresentaremos o hwloc, uma ferramenta
de topologia interna de servidores que ajuda você a
entender onde seus processos estão sendo executados.
Não deixe para amanhã aquilo que pode aprender
na edição #80 da Linux Magazine. ■

Ubuntu User #22


Ubuntu 11.04
O novo Ubuntu 11.04, codinome “Natty Narwhal”,
está saindo do forno. Muitas mudanças são espe-
radas e previstas para este lançamento. Entre elas,
podemos destacar o novo modo de organização
da área de trabalho, que agora utiliza o Unity, a
polêmica interface de usuário da versão netbook,
que foi totalmente reescrita para a versão 11.04. Os
recursos multitouch também vêm aperfeiçoados e
com muitas novidades. Não perca!

Admin Magazine #2
Windows para profissionais
A segunda edição da Admin Magazine traz as me-
lhores ferramentas para proissionais Windows.
Com ela, você vai aprender mais sobre o suporte
a suas aplicações legadas com o XP Mode, geren-
ciamento de discos virtuais e controle de servidores
com FreeNX. Além disso, vamos dar uma olhada
nas novidades do Windows Small Business Edition
e SQL Server 2008 R2. Em Junho, nas bancas.

82 www.linuxmagazine.com.br

Você também pode gostar