Você está na página 1de 30

AUGUSTO CAMPOS P.

60 Abrir o cdigo: um relato pessoal

MADDOG P.60 Conhecer linguagens de mquina pode salvar a sua vida

CEZAR TAURION P.60 Incorporte a mobilidade na TI das empresas

MEDIALINX
# 105 Agosto 2013

A REVISTA DO PROFISSIONAL DE TI

Raspberry
OS MINI COMPUTADORES SO OS NOVOS QUERIDINHOS DOS NERDS E GEEKS. A IDEIA GENIAL, MAS ATENDE S SUAS NECESSIDADES? P.28

Pi

Tudo o que voc precisa para iniciar no mundo RPi P.30 Central multimdia rpida e fcil P.35 Crie uma estao metereolgica com RPi P.41

VEJA TAMBM NESTA EDIO:


Bind10 e todas as suas mltiplas facetas P.46 Ferramentas teis para gerenciamento de logs e usurios P.53 Gerencie domnios AD a partir do Linux P.58

UBUNTU TOUCH P.62

Aprenda a instalar e configurar o Ubuntu em dispositivos Android

ANDROID P.68

Gerencie arquivos de forma simplificada com AirDroid

Segurana P.71
00105 9 771806 942009

Proteja-se contra ataques do tipo drive-by


#10508/13 R$ 14,90 7,50

WWW.LINUXMAGAZINE.COM.BR

Expediente editorial
Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br Editores Flvia Jobstraibizer fjobs@linuxmagazine.com.br Laura Loenert Lopes llopes@linuxmagazine.com.br Editor de Arte Hunter Lucas Fonseca hfonseca@linuxnewmedia.com.br Colaboradores Alan Holt, Falko Benthin, Bruce Byeld, Rich Bowen, Thomas Drilling, Christian Pape, Trommer Ronny, Peter Schulik, Kurt Seifried, Zack Brown, Jon maddog Hall, Alexandre Borges, Cezar Taurion, Klaus Knopper, Augusto Campos. Traduo Laura Loenert Lopes Reviso Flvia Jobstraibizer Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kiling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jrg Luther, Nils Magnus. Anncios: Rafael Peregrino da Silva (Brasil) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 3675-2600 Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com Amy Phalen (Amrica do Norte) aphalen@linuxpromagazine.com Hubert Wiest (Outros pases) hwiest@linuxnewmedia.de Diretor de operaes Claudio Bazzoli cbazzoli@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br Brasil www.linux-magazin.de Alemanha www.linux-magazine.com Portal Mundial www.linuxmagazine.com.au Austrlia www.linux-magazine.es Espanha www.linux-magazine.pl Polnia www.linux-magazine.co.uk Reino Unido www.linuxpromagazine.com Amrica do Norte Apesar de todos os cuidados possveis terem sido tomados durante a produo desta revista, a editora no responsvel por eventuais imprecises nela contidas ou por consequncias que advenham de seu uso. A utilizao de qualquer material da revista ocorre por conta e risco do leitor. Nenhum material pode ser reproduzido em qualquer meio, em parte ou no todo, sem permisso expressa da editora. Assume-se que qualquer correspondncia recebida, tal como cartas, emails, faxes, fotograas, artigos e desenhos, sejam fornecidos para publicao ou licenciamento a terceiros de forma mundial no-exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux uma marca registrada de Linus Torvalds. Linux Magazine publicada mensalmente por: Linux New Media do Brasil Editora Ltda. Rua So Bento, 500 Conj. 802 S 01010-001 So Paulo SP Brasil Tel.: +55 (0)11 3675-2600 Direitos Autorais e Marcas Registradas 2004 - 2013: Linux New Media do Brasil Editora Ltda. Impresso e Acabamento: EGB Atendimento Assinante www.linuxnewmedia.com.br/atendimento So Paulo: +55 (0)11 3675-2600 Rio de Janeiro: +55 (0)21 3512 0888 Belo Horizonte: +55 (0)31 3516 1280 ISSN 1806-9428 Impresso no Brasil

Editorial

Espertinhos
No h problema quando uma empresa, organizao ou desenvolvedor no libera o cdigo fonte de suas solues sob uma licena livre. uma opo que lhes cabe. Podemos no ach-la a melhor alternativa, mas a prerrogativa de quem desenvolve o programa. Da mesma forma, louvamos as iniciativas que preservam a liberdade do software, permitindo que outros agentes (pessoas fsicas e jurdicas) participem da construo de solues de cdigo aberto, obtendo todas as vantagens que esse modelo colaborativo de desenvolvimento da tecnologia podem oferecer. Agora, o que nos incomoda sobremodo nos dias de hoje uma tendncia latente e que est se tornando comum em alguns projetos de software que lanam mo de componentes liberados sob licenas consideradas como Sofware Livre, mas que no obrigam automaticamente a liberao de cdigo derivativo (BSD modificada, Apache 2.0, Mozilla etc.) de algumas empresas de criar novas solues, propagande-las como Software Livre e de Cdigo Aberto, mas que, na hora de fornecer o cdigo fonte, remetem aos projetos originais como repositrio de suas contribuies. Com isso, essas organizaes parecem querer gozar do prestgio e das vantagens do Software Livre, mas no esto fazendo a parte que lhes cabe nesse processo de desenvolvimento. Liberam uma verso binria de uma determinada edio de seu aplicativo, contendo via de regra limitaes de recursos para degustao do programa, mas quando o usurio vai atrs do cdigo fonte, no o encontra em lugar algum, algo que configura uma tentativa clara de evitar a criao de verses derivadas da soluo. Observem que h maneiras inteligentes de se fazer isso: a Red Hat h anos fornece todo o cdigo fonte do seu Red Hat Enterprise Linux (RHEL) para download, sem fornecer gratuitamente a imagem da distribuio toda compilada e pronta para instalao. Isso legal (em suas duas acepes), moral, tico e, de certa forma, genial, como j exaurou Eric S. Raymond no passado. E essa abordagem levou criao do CentOS, que ainda contribui indiretamente para que o RHEL esteja cada vez mais presente nos data centers modernos, mesmo para aqueles que no tenham interesse ou condies de arcar com os custos de uma subscrio do software. O leitor pode ter certeza de que, quando a necessidade de suporte e de servios profissionais aparecer, a Red Hat e seus parceiros de canal sero os primeiros a ser chamados a oferecer seus prstimos e a fatur-los. Agora, o que temos visto em outros projetos (especialmente os corporativos, de solues BPMS, ECM, ERP, CRM etc.) est prximo do que poderamos caracterizar comopura picaretagem! Vamos nos abster de citar os nomes dos projetos que tm seguido esta linha, mas o leitor fique prevenido: projeto de Software Livre que no entrega cdigo da soluo com facilidade, deve ser visto com suspeio. Como asseverou Linus Torvalds, em uma frase clebre enviada lista de desenvolvedores do Kernel Linux em 25/08/2000: Talk is cheap. Show me the code. em traduo livre algo como, Falar fcil. Mostre-me o cdigo. Nos tipos de projetos elencados acima, qualquer coisa menos que isso problema na certa: gera aprisionamento a um determinado fornecedor ou tecnologia. No se deixe enganar. Fique esperto e proteja-se contra espertinhos. Rafael Peregrino da Silva Diretor de Redao
3

Linux Magazine #105 | Agosto de 2013

INDICE
CAPA
Para todos os gostos Os novos mini computadores esto se proliferando. A ideia genial, mas atende s suas necessidades? Sabor de framboes Neste artigo mostraremos como comear a brincar com o acessvel Raspberry Pi e uma distribuio GNU/Linux. 30 28 Verstil multimdia 35 Cansado daquele servidor de mdia grande e desajeitado ocupando espao na prateleira da sala de estar? Neste artigo mostramos como montar um pequeno sistema multimdia com o verstil e popular Raspberry Pi.

Crie uma estao meteorolgica com Raspberry Pi  Use o Raspberry Pi para analisar dados e publicar resultados de uma estao meteorolgica atravs de um aplicativo web, acessado atravs de uma simples porta USB

41

www.linuxmagazine.com.br

Linux Magazine xxx |NDICE

COLUNAS
Charly Khnast07 Alexandre Borges08 Augusto Campos 10 Kurt Seifried11 Klaus Knopper14 Zack Brown16

NOTICIAS
Acessa So Paulo recebe US$ 1 Mi da Fundao Bill & Melinda Gates MIT cria processador com 110 ncleos

CORPORATE
Coluna: Cezar Taurion

TUTORIAL
Informaes preciosas 22 Muitos comandos relacionados com logs e usurios podem ajudar a monitorar o sistema e manter o controle sobre questes de segurana. Neste artigo apresentamos vrias ferramentas teis para manter as coisas em ordem.

Coluna Antonio Pdua19

53

Coluna: Jon maddog Hall24 Notcias26 Dataprev prepara lanamento de sua soluo em nuvem para este ano Red Hat lana programa de certicao OpenStack

REDES
hora da ao Os administradores de redes e sistemas aguardaram cinco anos pelo 10 maior lanamento do Bind, ocorrido em maro de 2013. A ltima verso uma reescrita completa do servidor de DNS, com um design modular e novas ferramentas de congurao. Mas, estaria ele pronto para os negcios?

46

Ubuntu Touch: o verdadeiro Linux de bolso Aprenda como instalar e congurar este novo sistema operacional em seu dispositivo Android.

62

SEGURANA
Barricadas Ainda no existe uma soluo perfeita para o problema crescente de ataques do tipo drive-by, mas muitas ferramentas esto disponveis atualmente para ajud-lo a manter o cdigo malicioso fora da rede.

Gerente geral Simples mas til, o adtool uma ferramenta que permite gerenciar um domnio Active Directory a partir da linha de comando do Linux.

58

71

ANDROID
Correio areo entre Ubuntu e Android Carregue fotos, videos e msica de um smartphone Android para o desktop usando o AirDroid e um simples navegador. 68

SERVIOS
Editorial03 Emails06 Linux.local78 Preview 82

oid ndr il A a The yal M o R

Th Pos e Cano tage nica Serv l ice

Linux Magazine #105 | Agosto de 2013

ubu

ntu

CARTAS

Email para a redao

Permisso de escrita
Instalao de fonte
Trabalho com edio de materiais tcnicos e corriqueiramente necessito de fontes diferentes para formatar meus trabalhos. No Windows costumava apenas arrastar a nova fonte para a pasta Windows/Fontes e esta passava a funcionar. Como posso instalar fontes em meu Ubuntu 12.04? Henrique Garda

Alternativa ao Cron
Gostaria de saber quais so as melhores alternativa ao Cron e se possvel instal-lo em um ambiente j em produo sem muito sofrimento. Hiago Lucas Siqueira

Resposta
Caro Hiago, existem vrias boas alternativas ao agendador de tarefas Cron, sendo as mais conhecidas o Anacron [1] e o Fcron [2]. No entanto, na edio #100 da Linux Magazine, o autor Oliver Frommel abordou o Whenjobs [3], que nos surpreendeu pela facilidade de uso e por ser uma alternativa extremamente amigvel para agendamento de tarefas. Vale a pena ler o artigo [4] e conhecer a ferramenta!

Resposta
Henrique, instalar fontes no Ubuntu to fcil quanto no Windows. Mas voc no vai precisar arrastar a fonte para nenhuma pasta. Aps realizar o download da fonte desejada, abra-a normalmente, como se fosse abrir qualquer arquivo do seu computador. O visualizador de fontes do Ubuntu ir abrir a fonte e nesta mesma janela vai existir um boto Instalar. Basta clicar no boto e a fonte estar pronta para uso.

Mais informaes
[1] Anacron: http://anacron.sourceforge.net/ [2] Fcron: http://fcron.free.fr/ [3] Whenjobs: http://people.redhat.com/~rjones/whenjobs/ [4] Alternativa elegante, Linux Ma-

gazine #100, pgina 57.

Escreva para ns!

Sempre queremos sua opinio sobre a Linux Magazine e nossos artigos. Envie seus emails para cartas@linuxmagazine.com.br e compartilhe suas dvidas, opinies, sugestes e crticas. Infelizmente, devido ao volume de emails, no podemos garantir que seu email seja publicado, mas certo que ele ser lido e analisado.

www.linuxmagazine.com.br

Coluna do Alexandre

Metasploit parte 5
Nesta edio, aprenda como utilizar o scanner Nessus para procurar por vulnerabilidade em potenciais alvos. por Alexandre Borges

u no tenho qualquer dvida de que o Metasploit a melhor ferramenta, a mais completa e mais til para realizar (ou auxiliar, em alguns casos) na invaso de computadores. Todavia, existem outras ferramentas que podem complementar os recursos do Metasploit: estamos falando dos scanners de vulnerabilidade como Nessus, OpenVAS, Nexpose, Core Impact, Retina e por a vai. Estes scanners so fundamentais para apontar todas as vulnerabilidades da mquina ou rede que queremos atacar e, uma vez com todos os dados em mos, utilizar o Metasploit torna-se trivial. Caso o leitor esteja usando a distribuio Ubuntu, poder prosseguir exatamente como demonstrado mais adiante, sendo que, para outras distribuies os passos podem ser ligeramente diferentes. Por exemplo, sugiro que o leitor tente usar o Kali Linux (sucessor do Backtrack [1]). Tenho certeza de que vai gostar. Na coluna deste ms vou mostrar a instalao do Nessus (poderia tambm ser o OpenVAS que muito bom e gratuito) e como ele

integrado dentro do Metasploit. Vamos aos passos: a) Certifique-se de que sua instalao do Ubuntu est atualizada, atravs dos comandos apt-get update e apt-get upgrade, realize o download do Nessus [2] e registre-o [3] no site da Tenable. b) Instale o Nessus e execute o registro local da ferramenta com o cdigo recebido ao cadastrar-se no site da Tenable:
# dpkg -i Nessus-5.2.1-debian6_ amd64.deb # /opt/nessus/bin/nessus-fetch --register WEBEVAL-XXXX-XXXXXXXX-XXXX-XXXX c) Adicione o usurio que ser utilizado para realizar o escaneamento e inicialize o Nessus: # /opt/nessus/var/nessus/logs# /opt/nessus/sbin/nessus-adduser # /etc/init.d/nessusd start

Depois da primeira inicializao, mantenha os plugins atualizados executando o comando:


# /opt/nessus/sbin/nessus-updateplugins d) Acesse o Nessus atravs do endereo http://localhost:8834 (por favor, tenha pacincia porque o primeiro acesso demora um pouco...). e) Uma vez realizado o login, v para a aba Polices (Polticas) e crie uma nova poltica clicando no boto New Policy . Na seo General Settings , matenha a op-

o Setting Type em Basic , d um nome para a sua poltica (a minha chamei de Linux Magazine) e, em seguida, v para a seo Plugins . L, sugiro ao leitor desabilitar todos os plugins que no se encaixam em seu ambiente. Por exemplo, em meu ambiente existem mquinas com sistemas Linux (Ubuntu 12.04, CentOS 6, Metasploitable 2), Solaris 11 e Windows (XP e 7) e, por isto, desabilito todos plugins no relacionados (CISCO, Gentoo, AIX, FreeBSD, Fedora, Mac OS, HPUX etc.) e tambm os plugins que executam ataques de negao de servios (DoS Deny of Services ). No esquea de clicar no boto Update . f ) V para aba Scan Queue, clique em New Scan, d um nome para seu escananeamento (o meu chamei de LM Metasploit), escolha a poltica criada (Linux Magazine, no meu caso) e cadastre o endereo IP das mquinas que sero avaliadas. Concluda esta etapa, pressione o boto Start Scan. g) Aps finalizado o escaneamento, o leitor pode ir at a aba Results e clicar duas vezes no nome do escananeamento (LM Metasploit). Neste momento, todas as vulnerabilidades de todas as mquinas sero mostradas (no meu caso foram 139!). Agora seria possvel, atravs da interface web, usar as vulnerabilidades relatadas pelo Nessus e realizar diversos ataques aos

www.linuxmagazine.com.br

nossos alvos usando estas informaes. Entretanto, podemos verificar estes mesmos resultados tambm dentro do Metasploit. Para isto, vamos executar o framework, carregar o mdulo Nessus, conectar-se a ele (o Nessus est instalado na mesma mquina do Metaploit), listar os relatrios provenientes do escananeamento e importar o relatrio que foi criado pela ferramenta:
# msfconsole msf > load nessus msf> nessus_connect user:nessus

password@127.0.0.1:8834 ok msf > nessus_report_list ID Name Status Date - b2666002-e4b8-2381-d4ec8e8ca54c0e5b4d2575fe1da13967 LM Metasploit completed 03:29 Aug 10 2013 [*] You can: [*] Get a list of hosts from the report: nessus_report_hosts <report id> msf > nessus_report_get b2666002e4b8-2381-d4ec8e8ca54c0e5b4d2575fe1da13967 [*] importing b2666002-e4b8-2381d4ec-8e8ca54c0e5b4d2575fe1da13967

Deste ponto em diante, podemos produzir um sumrio dos hosts, servios e vulnerabilidades que o Nessus encontrou e que esto agora registrados no banco de dados do Metasploit:
msf > hosts -c address,svcs,vulns

Alternativamente, o leitor pode executar os seguintes comandos para listar de maneira detalhada todos os IPs, servios e vulnerabilidades que esto registrados no banco de dados do Metasploit:
msf> hosts msf> services msf> vulns

nessus_

Mais informaes
[1] Kali Linux: http ://www.kali.org/downloads [2] Download do Nessus: http://www.tenable.com/products/nessus/select-your-operating-system [3] Registro do Nessus: http://www.tenable.com/products/nessus/evaluate

Finalmente, estamos preparados para usar o Metasploit com eficincia. Vejo vocs no ms que vem.
Alexandre Borges (linkedin: br.linkedin.com/in/aleborges) instrutor e especialista snior em sistemas operacionais Unix, Linux, Banco de Dados, Virtualizao, Cluster, Storage, Servidores, Backup, Desempenho e Segurana, alm de possuir profundo envolvimento com assuntos relacionados ao kernel Linux.

Linux Magazine #XX | Ms de 200X

Coluna do Augusto

Abrir o cdigo: um relato pessoal


A contribuio com o software livre em projetos pessoais, na experincia do autor. por Augusto Campos

m dia fui desenvolvedor. Profissional. Com diploma. Carteira assinada. A vida tem seus mistrios, e com o tempo acabei migrando para a administrao de sistemas, depois para a Administrao propriamente dita, e o resultado disso que poucas vezes contribu diretamente com cdigo para algum projeto open source, apesar de estar envolvido nesse cenrio desde 1996. Houve algumas excees, incluindo o cdigo de extenses para outros programas e um sistema de configurao para conexes PPP discadas, ainda nos tempos hericos em que conectar um PC com Linux Internet era uma tarefa muito complicada. Minha contribuio ao longo desses anos sempre foi mais como cronista e disseminador de informaes, eventualmente como palestrante, s vezes como colaborador financeiro com um ou outro projeto especialmente meritrio e necessitado. A maior parte da minha contribuio ocorre por meio do site BR-Linux, e j compartilhei com vocs o que me levou recentemente a abandonar o sistema WordPress (mais o MySQL) que o mantinha no ar, migrando para um gerenciador de contedo baseado em arquivos HTML estticos. A mudana teve o resultado desejado, fcil de medir pelas consequncias diretas: a carga do servidor de hospedagem, que costumava ficar acima de 80%, agora costuma ficar abaixo de 5%. Em decorrncia das mesmas causas, as pginas carregam bem mais rpido no navegador dos usurios. Em decorrncia disso, os sites de busca aumentam o ranking do site. Em decorrncia disso, mais usurios chegam ao site todos os dias.

H um detalhe importante, central minha narrativa de hoje: o gerenciador de contedo em questo foi feito por mim mesmo, em mais horas de desenvolvimento individual do que eu devo ter realizado nos ltimos 5 anos somados. Ele est publicado, caso voc queira conhecer: o Axe, em http://augustocampos.net/axe O cdigo em si reflete o que eu sabia de PHP na poca em que ainda era profissional da rea, e certamente ainda poder ser refinado, mas no momento j me atende. O resultado pessoal para mim aquele que eu j descrevi: o meu site agora carrega mais rpido, demoro menos horas semanais com tarefas de manuteno e me sobra mais tempo para escrever, alm de ter reduzido o custo de hospedagem etc. Mas desde o comeo do projeto eu tinha uma inteno adicional: disponibilizar o produto e seu cdigofonte, para mais interessados. Eu cumpri essa meta, como voc pode confirmar na URL acima. Entretanto, agora que j fiz, posso compartilhar com vocs: disponibilizar cdigo-fonte de um projeto prprio mesmo um exerccio de humildade e de pacincia. Humildade porque fica tudo exposto: nossos erros, artifcios tcnicos, uso de recursos desatualizados, inconsistncias e outros atributos que podem estar presentes em um cdigo sem impedi-lo de funcionar. Pacincia, porque embora contribuies ao projeto sejam escassas (e nem acho que precisariam estar presentes), no falta gente para criticar a escolha da licena livre adotada (Apache), do nome, dos parmetros de chamada, da interface de usurio etc. So feedbacks bem-vindos, mas quem resolve compartilhar o cdigo de um projeto pessoal far melhor se estiver preparado para eles. Ainda assim, tem sido uma experincia divertida e eu particularmente recomendo! Augusto Campos.
Augusto Csar Campos administrador de TI e, desde 1996, mantm o site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.

10 1 0

www.linuxmagazine.com.br

Capa

Para todos os gostos


Os novos mini computadores esto se proliferando. A ideia genial, mas atende s suas necessidades? por Flvia Jobstraibizer

uito se tem falado nos ltimos tempos sobre os incrveis mini computadores. So vrias as iniciativas que se encaixam neste modelo, mas as mais conhecidas so o popular Arduino e o recm chegado Raspberry Pi (e novos projetos esto surgindo). Este ltimo, tema desta edio da Linux Magazine, se tornou o queridinho dos usurios, profissionais de TI, nerds e geeks em geral. Sua facilidade de uso permite que at mesmo usurios que no tiveram contato anterior com placas de prototipagem entendam seu funcionamento e consigam criar pequenos projetos sem muita complicao.

O tamanho reduzido e o bom poder de processamento, so to atraentes no Raspberry Pi, que muitas empresas j adotaram a plataforma para construo de sistemas de automao, gerenciamento de sistemas de backup e at mesmo para a construo de prottipos automatizados de hardware. A questo principal: como comear? respondida nas pginas a seguir. Saiba tudo o que necessrio adquirir para comear a utilizar seu Raspberry Pi e os principais usos que voc pode dar ferramenta. Falando em usar o RPi, um dos principais usos para o RPi por usurios novatos, so as centrais multimidia. Voc vai conhecer tambm

as solues prontas que podem ser utilizadas para a construo de um completo servidor de midia em casa, usando at mesmo aquela velha TV que s possui sada RCA. Avanando mais nos recursos do mini PC, aprenda tambm como criar uma central de previso do tempo, projeto que alm de til, poder ampliar seus horizontes para a criao de novos projetos pessoais e porque no, ganhar dinheiro com esta plataforma que j tem se tornado a preferida dos antenados de planto. Voc tem uma necessidade ou gosto em especial? Talvez o Raspberry Pi possa atend-lo! Bons testes e boa leitura!

Matrias de capa
Sabor de framboesa Verstil multimdia Crie uma estao meteorolgica com Raspberry Pi 30 34 34

28

www.linuxmagazine.com.br

Redes

hora da ao
Os administradores de redes e sistemas aguardaram cinco anos pelo 10 maior lanamento do Bind, ocorrido em maro de 2013. A ltima verso uma reescrita completa do servidor de DNS, com um design modular e novas ferramentas de congurao. Mas, estaria ele pronto para os negcios? por Konstantin Agouros

popular software para gerenciamento de DNS Bind, goza de uma reputao mista. Embora a maior parte dos servidores DNS presentes na web o execute, administradores veteranos iro recordar com uma mistura de melancolia e horror a difcil transio do Bind 4 para o Bind 8: embora os arquivos de zona fossem quase idnticos, o arquivo de configurao mudou de named.boot para named. conf. O formato de repente continha colchetes e vrgulas que antes eram

desnecessrios. Alm disso, o Bind 8 e seu sucessor permitiam mais opes de configurao, para as quais o antigo formato revelava-se insuficiente. Aps cinco anos de desenvolvimento (gura 1), o Bind 10 trouxe novidades ainda maiores. No s a configurao mudou substancialmente, mas tambm sua arquitetura. Arquivos de banco de dados JSON substituem o arquivo named.conf; as zonas ainda so configuradas com os arquivos de zona familiares, mas

Figura 1 Iniciado em 2008, concludo em 2013 estaria tudo dentro do cronograma para o Bind 10?

na operao tambm so armazenados em SQLite (o administrador tem a opo de desativar a opo de armazenamento de banco de dados padro e voltar para o armazenamento em arquivos de zona normais). A configurao gerenciada atravs da API Rest usando o HTTPS. Para permitir que isso acontea, o Bind 10 vem com um utilitrio de linha de comando que permite aos administradores fazer alteraes de configurao em uma linguagem proprietria. E, por fim, em vez de um nome, o Bind 10 opera atravs de 12 processos (DHCP no incluso), a maioria dos quais criada em Python. Os componentes DHCP embutidos, de acordo com o site do projeto, ainda soexperimentais, mas j possvel configur-los e test-los. A modularizao do Bind 10 em daemons individuais a maior mudana para os administradores, e impede que sejam atualizados muitos cenrios empresariais existentes. A gura 2 mostra a configurao que a maioria das empresas utiliza para a resoluo de nomes. Uma nica instncia do servidor de nomes lida tanto com o servio de autoridade como com o recursivo. Todos os clientes usam o nome de um servidor existente que fornece todas as respostas.

46

www.linuxmagazine.com.br

Figura 2 Na congurao comumente utilizada pelas empresas hoje em dia, um nico servidor DNS faz todo o trabalho.

RESPOSTA

Autorizao pelo resolvedor do name sever

No entanto, os desenvolvedores dizem que planejam implementar a configurao mostrada na gura 3 em uma verso posterior, permitindo que o servidor avalie o bit RD (Recursion Desired) na consulta. O servidor, ento, ir ou encaminhar a solicitao para o componente de autoridade ou para o componente resolvedor. A partir de agora, se a rede do usurio refletir o cenrio exibido na gura 3, no ser possvel usar o Bind 10.

Instalao
Rede local
O Bind 10 ainda muito novo e no inclui pacotes oficiais, mas apenas repositrios nicos, quando do fechamento desta edio.

A equipe de teste da Linux Magazine teve que compilar o aplicativo completo direto da fonte [1]. Pouco antes do nosso fechamento, pacotes para Bind 10 apareceram no openSUSE Build Service, o que permitiu uma instalao fcil com apenas um clique [2]. Na instalao Gentoo utilizada para testes, precisamos instalar os pacotes boost, botan, log4cplus e sqlite3 antes de compilar o Bind; o Python verso 3.1 ou superior tambm necessrio. O componente DHCP requer MySQL, mas possvel fazer o servio sem ele para testes simples. Depois de instalar os pacotes, compile rapidamente usando:

RESPOSTA
Requisio do cliente
Autorizao pelo resolvedor do name sever
Encaminhamento

Mas o cenrio padro representado na gura 2 no o ideal. Uma abordagem mais limpa seria separar as duas funes, como mostrado na gura 3. O servidor de nome recursivo nesta configurao possui entradas para zonas locais que informam que deve ser feita a consulta para a autoridade de nome de servidor explicitamente seja atravs do mecanismo secundrio ou das entradas da zona de encaminhamento. Como confirma uma pergunta feita na lista de discusso, a configurao mostrada na gura 3 no atualmente possvel com o Bind 10. As requisies para a rede local seguiriam atravs da Internet, sem nenhuma perspectiva de sucesso para as respostas, uma vez que elas s existem localmente.

Autorizao name sever

Rede local

Requisio do cliente

Figura 3 A congurao recomendada, que utiliza um resolvedor DNS separado e um servidor de autoridade no possvel com o Bind 10.

Linux Magazine #105 | Agosto de 2013

47

Figura 4 Valores mdios de um benchmark realizado com o Dnsperf: o Bind 9 ainda mais rpido.
w ./configure ecomercial make ecomercial make install

Comissionamento
Para iniciar o name server, execute o script INSTALLDIR/sbin/bind10 que, por sua vez, iniciar a ferramenta b10-init, localizado no diretrio libexec da instalao. O b10-init inicia os componentes configurados. Quando iniciamos o Bind 10 pela primeira vez, todas as mensagens de log so roteadas para o console. Em um segundo Shell na mesma mquina, em seguida, inicia-se o bindctl do diretrio INSTALLDIR/bin. Esta linha de comando para a API Restful usada para configurar o Bind 10. Por padro, o servidor aceita solicitaes na porta local 8080 apenas para conexes SSL seguras. Um certificado auto-assinado instalado juntamente com o Bind 10, mas podemos substitu-lo, se necess-

Se o usurio executar o servidor DHCP com um backend MySQL, precisa da opo --with-dhcp-mysql. Depois de instalar o Bind 10, primeiro deve ser criada uma conta administrativa para a interface de configurao. Para configur-la, execute o comando b10-cmdctl-usermgr; o utilitrio solicitar um nome de usurio e uma senha, que, em seguida, ser adicionada ao arquivo cmdctl-accounts.csv presente no diretrio $INSTALLDIR/etc/bind10. O programa ainda muito rudimentar e s permite adicionar usurios, no possuindo outras funes. Todos os nomes de utilitrios do software, alis, comeam com b10. Antes de nos prepararmos para configurar o servidor de DNS, precisamos decidir sobre o modo no qual ele ser executado: se recursivo ou de autoridade (ou seja, como o mestre das prprias zonas). Ao contrrio das verses anteriores, a modularizao no Bind 10 leva a um nico componente aceitando conexes em um endereo IP. As coisas so diferentes para um host com vrios IPs.

rio. Quando uma conexo aberta pela primeira vez, o comando bindctl consulta o nome de usurio e senha; eles so enviados para ~/.bind10/ default_user.csv para reutilizao porm em texto simples. Depois de fazer login no servidor com o usurio criado, necessrio criar o componente desejado. No primeiro exemplo (listagem 1), ele uma autoridade de nome de servidor. A primeira linha cria uma instncia de uma autoridade de nome de servidor. A linha 2 usada para marcar os servios do Bind que requerem ateno especial no tempo de incio e de fim, incluindo o resolvedor e o servidor web para a configurao. A terceira linha indica se o servio de autenticao necessrio para que o

Listagem 1: Como criar um servidor de autenticao


01 02 03 04 05 06 07 08 09 10 dns-test ~ # /opt/bind10/bin/bindctl ["login success "] login as dnsadmin > config add Init/components b10-auth > config set Init/components/b10-auth/special auth > config set Init/components/b10-auth/kind needed > config commit > quit Exit from bindctl dns-test ~ #

48

www.linuxmagazine.com.br

arquivo configuration.config habilite as alteraes, e ento ser possvel testar imediatamente o nome do servidor. Para consultar a entrada version.bind, por exemplo, use o seguinte comando:
dig @127.0.0.1 -c CH -t TXT version.bind

Listagem 2: Como importar uma zona para o Bind 10


01 dns-test ~ # /opt/bind10/bin/b10-loadzone 1.168.192.in-addr.arpa db.192.168.1 02 2013-03-19 2 1:18:47.381 INFO [b10-loadzone.loadzone/2644] LOADZONE_ SQLITE3_USING_DEFAULT_CONFIG Using default configuration with SQLite3 DB file /opt/bind10/var/bind10/zone.sqlite3 03 2013-03-19 2 1:18:47.483 INFO [b10-loadzone.loadzone/2644] LOADZONE_ZONE_CREATED Zone 1.168.192.in-addr.arpa./IN does not exist in the data source, newly created 04 2013-03-19 2 1:18:47.566 INFO [b10-loadzone.loadzone/2644] LOADZONE_DONE Loaded 31 RRs into zone 1.168.192.in-addr.arpa./IN in 0.08 seconds

Agora hora de ensinar o servidor sobre as zonas que deve fornecer. O Bind 10 pode usar um banco de dados SQLite ou arquivos legados de zona para gerenci-los. Apesar do SQLite, ainda precisamos usar arquivos de zona. Alm de atualizaes dinmicas de DNS, as mudanas acabam no arquivo de zona; a antiga definio de zona substituda automaticamente quando importamos a nova verso. Embora seja possvel modificar o banco de dados diretamente usando requisies, essa deve ser a causa mais provvel de inconsistncias; os autores do projeto desaconselharam a fazer isso quando questionados. O programa de importao atende pelo nome de b10-loadzone. A listagem 2 mostra um exemplo de chamada.

Como importar uma zona


O Bind 10 no apenas importa zonas mas tambm implicitamente executa os comandos bindctl, que so necessrios para a criao dela, que ento imediatamente ativada. Embora seja possvel apontar para um prprio banco de dados SQLite prprio usando a opo -c, provvel que seja necessrio apenas dividir o arquivo se o usurio for um grande provedor que suporta muitas zonas. Caso no deseje copiar a zona para o banco de dados, mas prefira continuar a trabalhar com os arquivos de zona tradicionais, precisa habilitar a opo com bindctl (listagem 3). Na primeira etapa, a listagem 3 cria uma nova instncia da classe IN, para a qual, em seguida, adiciona parmetros. O novo tipo MasterFiles, em

contraste com sqlite3 na configurao padro. Os parmetros incluem a zona e o arquivo correspondente em formato JSON. A ltima linha habilita a memria cache, que se vale da zona da memria principal ao invs da zona do disco. Este passo absolutamente essencial para zonas criadas a partir de arquivos de texto. Uma entrada na hierarquia data_ sources/classes/IN no criada para cada nova zona IN, apenas para os tipos MasterFiles e sqlite3. O banco de dados SQLite pode conter vrias zonas, nas quais o tipo de zona MasterFiles requer uma entrada JSON para cada par de uma zona em conjunto com o arquivo associado, todos cuidadosamente separados por vrgulas. Tal como acontece com verses legadas do Bind, os administradores precisam comunicar alteraes no arquivo de zona; no Bind 10, o comando auth loadzone exemplo.org recarrega a zona exemplo.org.

um processo de transferncia de zona. Para que qualquer pessoa no autorizada obtenha uma lista de todos os hosts em uma zona, o Bind assegura a transferncia de zona tanto em nvel de IP como e isso muito mais seguro usando uma chave ou uma combinao de chave e um IP. O Bind 10 usa um anel de chave, que pode conter vrias chaves. Cada entrada constituda por um grupo de trs, com o nome da chave, a chave propriamente dita, e o algoritmo atual. O administrador pode omitir o algoritmo padro, HMAC-MD5, a partir do nome, mas geralmente recomendado o uso de outros algoritmos para, em seguida, nome-los explicitamente tambm. O comando bindctl permite criar uma nova chave:
config add tsig_keys/key "example. org.:Nvf5WLM1LA0E2VuhnkbE4Q=="

Primrio ou secundrio?
Name servers primrios normalmente tm pelo menos um name server secundrio que copia as zonas no que que conhecido como

Agora podemos referenciar a chave nas listas de controle de acesso (ACLs) abaixo de exemplo.org. Para o name server secundrio ser capaz de realizar transferncias de zona, o administrador deve habilitar outro componente. Novamente, o bindctl

Listagem 3: Como criar uma zona com arquivos de zona


01 config add data_sources/classes/IN 02 config set data_sources/classes/IN[1]/type MasterFiles 03 config set data_sources/classes/IN[1]/params { "bind10test.local": "/var/bind/db-test" } 04 config set data_sources/classes/IN[1]/cache-enable true 05 config commit

Linux Magazine #105 | Agosto de 2013

49

Listagem 4: Como habilitar o componente de transferncia de zona


01 02 03 04 config config config config add Init/components b10-xfrout set Init/components/b10-xfrout/address Xfrout set Init/components/b10-xfrout/kind dispensable commit

que provam que o Bind no executa a transferncia de zona at o commit final. Tambm possvel acionar manualmente uma transferncia de zona com o seguinte comando:
Xfrin retransfer zone_name= "example.test" master=10.1.1.1

necessrio para isso (listagem 4). Na configurao padro, o name server permite transferncias de zona a partir de qualquer lugar, sem restries. Isto tambm exibido na ACL gerada implicitamente: config show Xfrout/ transfer_acl. Podemos gerenciar este comportamento tanto por zona com ACLs separadas como globalmente. As ACLs podem ser escritas em formato JSON e tm a seguinte forma:
{"action":"ACCEPT|REJECT|DROP", "from":"<IP_range>","key": "<name_of_key>"}

com o comando set em vez dos comandos add habituais:


config set Xfrout/transfer_acl [{<first block>}, {<second block>}, ]

O IP_range permite que o usurio defina um nico endereo ou um intervalo no formato 192.168.1.0/24, como nas verses anteriores do Bind. Este recurso natural se aplica tanto aos endereos IPv4 como IPv6; networks. from e chaves so opcionais e no precisam estar presentes, mas se eles existem em uma regra, esta considerada uma operao AND. Um conjunto de regras consiste de vrias regras onde as vrgulas separam os blocos por {}; os colchetes separam parnteses com instrues. Como este um array, o usurio pode adicionar ACLs

Tambm possvel criar mapeamentos mais complexos nas ACLs. O captulo 9 do Bind 10 Admin Guide (Guia do Administrador Bind 10) fornece alguns exemplos [3]. No teste, no entanto, s conseguimos liberar zonas armazenadas pelo Bind em seu banco de dados SQLite. A razo para isso foi, provavelmente, que o banco de dados possui mais tabelas para transferncias de zona incrementais, mas essa opo no destinada a arquivos simples. Se o usurio quiser um name server Bind 10 para atuar como name server secundrio, precisar adicionar e configurar dois componentes: o Xfrin lida com as transferncias de zona atuais; o Zonemgr checa os registros SOA para alteraes e aciona o Xfrin conforme a necessidade. As demonstraes do Bindctl na listagem 5 mostram como configurar o Bind 10 como um name server secundrio e como integrar uma zona. O arquivo de log, em seguida, contm entradas

Infelizmente no possvel definir ACLs para notificaes na verso atual, logo, as notificaes podem definitivamente ser falsificadas. O Guia do Administrador oferece apenas uma passagem lacnica a respeito:O controle de acesso (como permitir notificaes) ainda no est disponvel. O servio primrio/secundrio ainda no est completo, informa o Guia.

DNS dinmico
O Bind 10 suporta atualizaes de DNS dinmico que chegam ao computador, digamos, por outro servidor DHCP. A extenso do servidor DHCP Bind 10 no capaz de ger-los. Ou seja: um componente separado existe no servidor DNS para integrar atualizaes; o usurio precisa habilit-lo usando bindctl. Alm disso, para cada zona que deve receber atualizaes, o usurio deve digitar uma ACL que permita isso explicitamente. A listagem 6 exibe as declaraes de configurao e uma ACL para uma zona. Ambos os servidores de nomes recursivos primrio e secundrio so separados em dois componentes no Bind 10. Se o usurio seguir o conselho do desenvolvedor, os dois componentes no devem ser executados no mesmo host, mesmo porque cada um dos componentes deseja aceitar conexes com o DNS na porta 53; inevitavelmente, eles ficaro no caminho um do outro. Se quiser us-los em um nico host, o usurio precisa pelo menos vincular o resolvedor e o primrio em endereos IP diferentes. A listagem 7 mostra como o bindctl inicializa o name server recursivo. Como o servidor recursivo na configurao padro s aceita conexes no localhost,

Listagem 5: O Bind 10 como name server secundrio


01 02 03 04 05 06 07 08 09 10 11 12 13 14 config config config config config config config config config config config config config config add /Init/components b10-xfrin set /Init/components/b10-xfrin/address Xfrin set /Init/components/b10-xfrin/kind dispensable add /Init/components b10-zonemgr set /Init/components/b10-zonemgr/address Zonemgr set /Init/components/b10-zonemgr/kind dispensable commit add Xfrin/zones set Xfrin/zones[0]/name "example.test" set Xfrin/zones[0]/master_addr "10.1.1.1" commit add Zonemgr/secondary_zones set Zonemgr/secondary_zones[0]/name "example.test" commit

50

www.linuxmagazine.com.br

e uma ACL configurada por padro para aceitar apenas consultas recursivas do localhost, preciso adicionar 10.1.1.1 lista de endereos em que o Bind aceita requisies e adicionar uma ACL, que tambm permite consultas recursivas para a rede local 10.1.0.0/16.

Listagem 6: Como congurar atualizaes de DNS dinmico


01 02 03 04 05 06 07 09 config config config config config config config config add Init/components b10-ddns set Init/components/b10-ddns/address DDNS set Init/components/b10-ddns/kind dispensable commit add DDNS/zones set DDNS/zones[0]/origin 2.168.192.in-addr.arpa add DDNS/zones[0]/update_acl {"action":"ACCEPT","from":"192.168.1.1"} commit

Registros de aes
Na configurao padro, o Bind 10 grava todas as informaes de log para o console onde foi iniciado. Para uma operao produtiva, no entanto, o usurio desejar passar as mensagens ou para um syslog ou ento para um arquivo separado. A palavra-chave Logging ajuda a gerenciar a hierarquia das configuraes. Podemos configurar instncias individuais do tipo loggers abaixo dela. Um logger pode gravar as aes de um ou mais componentes. Esta definio configurvel atravs do parmetro name, onde * faz referncia a todos os componentes. A listagem 8 mostra como enviar as entradas de log para um arquivo. Neste caso, o Bind tambm cuida da rotatividade dos log e tambm permite limitar os tamanhos de seus arquivos. Usar o syslog como destino permite passar as mensagens para o servidor syslog. O parmetro severity na definio do logger (linha 3) definido automaticamente se usarmos o syslog. Os output_options so definidos como um array; no entanto, em nosso laboratrio, eles resultaram em duas entradas abaixo de um logger, e nenhuma delas funcionou. vrios testes comparativos entre as verses do 9.9.2 e 10 do Bind. A gura 4 mostra os resultados. Nossa escolha da ferramenta de benchmarking foi o Dnsperf 2.0 da empresa Nominum, um fabricante de appliances de DNS [4]. A ferramenta usa um arquivo de texto com os registros e tipos de consultas para o host local. O benchmark pode ento executar o arquivo de texto vrias vezes; neste artigo, quatro registros foram inspecionados 10.000 vezes no servidor de autenticao. Tambm testamos as vrias opes de armazenamento que oferecidas pelo Bind 10 (arquivo de texto, banco de dados SQLite, com e sem cache de memria). Tivemos que usar a configurao padro para a verso 9. Em comparao, o Bind 9 (com 3400 consultas por segundo) em execuo na mesma mquina virtual estava logo frente do imaturo Bind 10. O Dnsperf inclui uma segunda ferramenta chamada Resperf para testar resolvedores recursivos; ela primeiro passa por uma fase de pr-aquecimento, na qual preenche o cache antes de medir a taxa de transferncia do resolvedor. Aqui, o teste foi ainda mais evidente em
01 02 03 04 05 06 07 08 09 10 11 config config config config config config config config config config config

favor do Bind 9, que conseguiu cerca de 3.000 consultas por segundo em comparao s 1600 consultas resultadas pelo Bind 10.

Muitas armadilhas
Durante os testes, ocorreram ainda mais problemas. Por exemplo, depois de ativar o cache para as zonas que o Bind 10 armazenou no SQLite, ns s pudemos consultar as zonas que foram inseridas na lista de zonas de cache. Tivemos ainda que entrar na zona secundria, que existia no mesmo banco de dados SQLite, antes que pudssemos consult-lo. O fato de que o servidor de autenticao habilita transferncias de zona por padro uma volta de 180 graus em comparao com o comportamento de verses anteriores. Administradores descuidados esto certamente em risco. Usurios do Gentoo precisam manter suas instalaes do Python 3.2 com o parmetro sqlite useflag marcado; caso contrrio, os componentes que usam Python no vo funcionar, pois no podero acessar as configuraes sem esse parmetro. O que tambm est faltando uma forma de listar as zonas configuradas. Um questio-

Desempenho
O tempo de resposta de um servidor DNS pode ser crtico para o comportamento de muitos outros servios, sob a perspectiva da capacidade de resposta percebida de um site atravs da realizao de chamadas VoIP. Com a instalao do Bind 10 para este artigo executando em uma mquina virtual, a equipe de testes da Linux Magazine realizou

Listagem 7: Name server recursivo


add Init/components b10-resolver set Init/components/b10-resolver/special resolver set Init/components/b10-resolver/kind needed set Init/components/b10-resolver/priority 10 commit add Resolver/listen_on set Resolver/listen_on[2]/address "10.1.1.1" set Resolver/listen_on[2]/port 53 add Resolver/query_acl set Resolver/query_acl[2] {"action":"ACCEPT","from":"10.1.0.0/16"} commit

Linux Magazine #105 | Agosto de 2013

51

Listagem 8: Log em arquivo


01 02 03 04 05 06 07 08 09 config add Logging/loggers config set Logging/loggers[0]/name * config set Logging/loggers[0]/severity INFO config add Logging/loggers[0]/output_options config set Logging/loggers[0]/output_options[0]/destination file config set Logging/loggers[0]/output_options[0]/output /var/log/dnslog config set Logging/loggers[0]/output_options[0]/maxsize 204800 config set Logging/loggers[0]/output_options[0]/maxver 8 config commit

namento na lista de discusso resultou em sugestes construtivas sobre como resolver o problema em algumas configuraes.Um representante do ISC confirmou tanto a ausncia do

recurso como os esforos contnuos para adicion-lo. Se usarmos as ACLs para zonas primrias ou secundrias na instalao Bind existente, ou se as visualizarmos

no Bind 9, precisamos estar cientes de que esses recursos no so possveis com as ferramentas Bind 10 padro. Mais uma vez, os autores do teste na Linux Magazine receberam uma resposta negativa na lista de discusso do Bind. Isso pode mudar, a medida em que o Bind 10 se torne mais difundido fora de ambientes de provedores. Atualmente, os recursos que faltam podem ser critrios que impedem a migrao.

Cura radical sem benefcios


O Bind 10 significa mudana radical, sem que o administrador seja recompensado com benefcios que justificam o esforo. Embora a modularidade recm-adquirida torne-o mais facilmente personalizvel e verstil, o que tambm pode ser til para um provedor de Internet que oferece muitas zonas primrias, as limitaes funcionais, tais como a falta de pontos de vista e, principalmente, a falta de uma opo para executar autoridade de nome de servidor e name server recursivo em uma mquina pode limitar o uso do Bind 10, pelo menos para muitos administradores de redes corporativas. O componente DHCP recomendado, no mximo, para experimentos por conta de sua imaturidade. Alm disso, teria feito mais sentido usar o utilitrio de linha de comando para gerenciamento de contedo zona; no entanto, esta opo est completamente descartada, e enquanto o Bind 9 ainda superar o Bind 10, como sugere a viso geral deste breve artigo, os administradores corporativos realmente tm pouco incentivo para atualizar para a nova verso.

Quadro 1: Estudo de caso Servidores recursivos abertos


Nos ltimos meses, name servers mal congurados causaram numerosos ataques distribudos de negao de servio (DDoS). Por exemplo, a organizao antispam entitulada Spamhaus sofreu um ataque DDoS que alcanou uma incrvel banda de 300Gbps. Um ataque DDoS de DNS geralmente envolve o invasor usando o protocolo UDP para enviar muitas solicitaes de DNS com o IP de origem da vtima falsicado para dezenas de milhares de servidores na Internet. Name servers recursivos abertos permitem e respondem a esses pedidos para qualquer endereo IP e, como consequncia, enviam as respostas para a vtima, onde os pacotes de dados chegam simultaneamente de todas as partes do mundo. O invasor s precisa enviar pequenas consultas, consultando registros de DNS especcos para gerar grandes respostas de vrios kilobytes. Este ataque muitas vezes chamado de DNS Amplication Attack. Name servers recursivos, portanto, sempre precisam de uma ACL para especicar as reas de rede IP pelas quais so responsveis. Somente em casos raros isso realmente seria um 0.0.0.0/0 global; em vez disso, o intervalo deve ser restrito a uma DMZ (zona desmilitarizada) ou Intranet. Laptops externos que precisam acessar um servidor DNS corporativo tambm devem se originar a partir de um intervalo de endereos claramente denidos uma precauo que possvel graas aos tneis VPN. Para o Bind 10, a listagem 7 mostra o parmetro query_acl necessrio utilizando a rede 10.1.0.0/16 como um exemplo. A entrada: options { [...] allow-recursion { 10.1.0.0/16; U 127.0.0.0/8; ::1; }; [...] } produz uma ACL recursiva permitida no bloco de opes para o (ainda) muito difundido Bind 9.

Mais informaes
[1] Fontes Bind 10: ftp://ftp.isc.org/isc/bind10/1.0.0/bind10-1.0.0.tar.gz [2] Bind 10 no OpenSuse: http://software.opensuse.org/package/bind10 [3] Guia de administrao do Bind 10: http://bind10.isc.org/docs/bind10-guide.html [4] Dnsperf: http://www.nominum.com/support/measurement-tools/

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

52

www.linuxmagazine.com.br

Tutorial

Gerente geral
Simples mas til, o adtool uma ferramenta que permite gerenciar um domnio Active Directory a partir da linha de comando do Linux. por James Stanger

ma das frases mais populares relacionadas ao Linux h mais de uma maneira de faz-lo. E isso verdade, especialmente no que se refere ao gerenciamento de implementaes do Microsoft Active Directory. Qualquer administrador de sistemas com responsabilidade sobre a implementao de Active Directory em uma rede deve ser capaz de utilizar os recursos de Usurios e Computadores do Active Directory (ADUC), que encontrado no Microsoft Management Console (MMC), quando precisar. Afinal de

contas, administradores Linux no devem ter medo de usar qualquer ferramenta que resolva o problema. No entanto, por que nos limitarmos apenas a ferramentas especficas do Windows? O adtool, aplicativo de Mike Dawson [1], uma ferramenta particularmente poderosa e til para gerenciar o Active Directory do Linux. estvel e tem desfrutado de uma slida histria de desenvolvimento. O projeto adtool desenvolveu um aplicativo baseado em linha de comando, ou seja, fcil de usar para administrao remota e apela para

Quadro 1: Alternativas
O usurio no obrigado a trabalhar com a ferramenta adtool. Os seguintes projetos tambm fazem um bom trabalho: Splunk [4] Um aplicativo muito poderoso para sistemas Windows ou Linux. possvel trabalhar com Active Directory usando o programa, embora aps 60 dias seja necessrio pagar pelo privilgio. Free ActiveDir Manager O ActiveDir Manager um aplicativo para o sistema mvel Android, com capacidade para fazer as mesmas coisas que o adtool, s que diretamente do seu celular. conveniente, mas a vantagem do adtool que nem sempre um administrador deseja trabalhar dessa forma em sistemas remotos. Isso sem contar a comodidade de uma tela de tamanho normal. E, mesmo que este aplicativo esteja disponvel para tablets Android, ainda mais cmodo usar a ferramenta pela rapidez de digitao e incio dos trabalhos. Uma verso proprietria do aplicativo est disponvel por cerca de 5 dlares americanos. AD HelpDesk (disponvel na loja iTunes) Este aplicativo gratuito relativamente limitado, uma vez que s recupera senhas bloqueadas do Active Directory. Mas, isso melhor do que nada. A verso proprietria (cerca de 5 dlares americanos) contempla recursos adicionais semelhantes aos do Free ActiveDir Manager.

usurios que gostam de utilizar interfaces de linha de comando para resolver e descartar um problema to rapidamente quanto possvel. O adtool j existe h anos, e as distribuies Linux oferecem vrios graus de suporte para ele. Outras ferramentas mais recentes tm roubado a ateno do adtool (quadro 1), mas a simplicidade estilo Unix do adtool significa que ele ainda a ferramenta preferida de alguns usurios. Muitas verses do Red Hat possuem o adtool disponvel na instalao padro. Um pacote Debian surgiu atravs do Debian 6Squeeze[2], embora o projeto Debian tenha removido o adtool dos testes em maro de 2012 [3], e nenhum pacote da ferramenta esteja listado atualmente para incluso no novo release do Debian 7 Wheezy.

O que adtool?
O adtool foi criado para administrar implementaes do Microsoft Active Directory a partir de sistemas Linux. No, no algum tipo de ferramenta Google que ajuda a criar pginas web amigveis ao SEO ou implementaes de mdia social. Com o adtool, podemos: Criar novos grupos Active Directory Modificar grupos existentes Deletar grupos

58

www.linuxmagazine.com.br

Alterar senhas, bem como configuraes de senhas alternativas (por exemplo, valores de idade ou validade da senha) Formulrio de consulta para determinar os contedos de um banco de dados do Active Directory Realizar pesquisas sofisticadas Em resumo, podemos fazer todas as coisas que desejamos no Active Directory sem recorrer a uma sesso virtual ou a uma instalao padro do Microsoft Windows. Para consultores de segurana, a ferramenta adtool bastante til, pois poupa tempo.

precisa de conexes baseadas em SSL para usar todos os recursos disponveis no adtool. Depois de configurar o LDAP e o OpenSSL, podemos instalar e configurar o arquivo tar da ferramenta sem qualquer dificuldade. Se seguirmos os passos, no precisaremos fazer quaisquer acrscimos especiais de linha de comando durante o processo. Basta seguir a sequncia tpica: ./configure, make, make check e depois sudo make install.

Depois de criar o certificado digital, instale-o no controlador de domnio que deseja administrar e configure o servidor LDAP para usar o SSL. Esta etapa envolve colocar o certificado nos diretrios apropriados e editar os arquivos do servidor LDAP correspondentes, como /etc/ldap/ldap.conf. Depois, podemos editar o arquivo /etc/ adtool.cfg, que contm informaes relevantes para o controlador de domnio que desejamos acessar, e testar a implementao em um controlador de domnio em funcionamento.

Instalao do adtool
Algumas distribuies Linux possuem o adtool em forma de pacote prcompilado e outras no. prefervel instalar a partir de um arquivo tar, pois no passado, muitas implementaes foram criadas com problemas graves. Outras implementaes no ostentam todos os recursos que precisamos. Por exemplo, nosso sistema Ubuntu 13.04 no possua o adtool instalado por padro. Instale a ferramenta com o comando sudo apt-get install adtool. Para fazer com que o adtool execute em um sistema Ubuntu, primeiro precisamos das bibliotecas LDAP, que esto disponveis no OpenLDAP [5]. O Active Directory fortemente dependente do LDAP, e a instalao bem sucedida do adtool depende da presena das bibliotecas LDAP. Para instalar, digitamos:
sudo apt-get install ldap-utils

Ativar o SSL para LDAP (e adtool)


importante configurar o adtool para usar conexes baseadas em SSL. Caso contrrio, o usurio no ser capaz de usar todos os recursos da ferramenta. Controladores de domnio da Microsoft no permitiro que atividades como alterar senha e criar novos usurios ocorram, a menos que a conexo seja criptografada (quadro 2). Para ativar a criptografia baseada em SSL, comece por criar um certificado digital assinado. Use o OpenSSL, ou um certificado digital fornecido por terceiros, como a VeriSign. Outro certificado conhecido o TinyCA, que tambm conhecido como tinyCA2 [6]. Tambm possvel criar uma solicitao de certificado do Active Directory do controlador de domnio com um sistema Microsoft.

Detalhes
Para explicar o processo em detalhes, vamos examinar mais de perto os passos descritos na seo anterior. Primeiro, para criar um certificado digital (com OpenSSL, neste caso), podemos comear criando uma solicitao de assinatura de certificado:
$ openssl req -days 3650 -nodes -new -keyout /usr/ local/ etc/ openldap/private/ myldapserver.key -out /usr/ local/ etc/ openldap/ private/myldapserver.csr

Este comando informa ao OpenSSL que deve criar uma solicitao de certificado para o servidor, o que, para os fins deste exemplo, chamado de myldapserver. Neste ponto, so feitas algumas perguntas para o usurio. Tenha o cuidado de fornecer o nome correto do servidor quando perguntado sobre o CN (nome cannico) da entrada. Se o usurio fornecer

Quadro 2: Complexidade da senha e do adtool


Ao longo dos anos, alguns novatos no uso da ferramenta adtool tm tido diculdades na resoluo de problemas na implementao de uma nova ferramenta adtool por conta das exigncias de senha. Administradores de sistemas por vezes usam uma senha simples para um usurio novato ao testar um novo aplicativo como o adtool. Certique-se de usar uma senha sucientemente complexa mas que seja aceita pelos controladores de domnio da Microsoft. Normalmente, os sistemas esperam que a senha cumpra pelos menos trs das cinco seguintes regras: letras maisculas, letras minsculas, base de 10 dgitos, caracteres no alfanumricos e caracteres Unicode. Para mais informaes sobre a complexidade de senha em redes Microsoft, consulte o site Microsoft TechNet [7].

Em seguida, instalamos o pacote


libldap2-dev. Tambm precisamos

instalar o OpenSSL ou outra ferramenta que possa criar certificados digitais. Embora a instalao atual do adtool absolutamente no requeira conexes SSL ou quaisquer bibliotecas OpenSSL, o usurio saber mais adiante neste artigo que

Linux Magazine #105 | Agosto de 2013

59

Quadro 3: DNS reverso e adtool


Problemas de autenticao podem car particularmente ruins quando usamos ativamos conexes SSL. Mensagens de erro como a ilustrada a seguir, muitas vezes aparecem nos logs: Invalid credentials (49) additional info: 720408159: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece Em alguns casos, os controladores de domnio da Microsoft aguardam por um DNS reverso vlido no momento do login. Ento, se o usurio no tiver congurado corretamente o DNS reverso, encontrar problemas. Se encontrar erros que mencionem uma falha na autenticao mas, em seguida, conseguir se conectar, considere a criao ou atualizao de DNS reverso na conexo. Isso provavelmente resolver todos os problemas que o usurio possua, enquanto no estiver passando por um problema maior de autenticao.

o nome errado, o controlador de domnio ou servidor LDAP ir rejeitar todas as conexes baseadas em SSL. Por conta disso, ser tambm obrigado a recriar o certificado. Em seguida, necessrio assinar a solicitao:
openssl x509 -req -days 3650 -in / usr/local/etc/openldap/private/ myldapserver.csr -out /usr/local/ etc/openldap/myldapserver.crt -CA /usr/local/etc/openldap/ca.crt -CAkey /usr/local/etc/openldap/ private/ca.key -CAcreateserial

/usr/local/etc/openldap/ myldapserver.crt /usr/local/etc/openldap/private/ myldapserver.key /usr/local/etc/openldap/ca.crt

Agora temos um certificado vlido e operando no sistema. Em seguida, precisamos copi-lo para o diretrio apropriado, para que o servidor LDAP possa us-lo. Por exemplo, em nosso sistema, copiamos o certificado para o diretrio /usr/local/etc/ openldap como se segue:

Depois, podemos editar o arquivo /etc/ldap/ldap.conf para que este contenha os valores apropriados. Se, por exemplo, tivssmos um servidor nomeado como myldapserver no domnio stanger.com, editaramos o arquivo de maneira correspondente (listagem 1). As trs ltimas linhas da listagem 1 ajudaram a nos certificarmos de que nosso aplicativo LDAP Linux usou SSL ao se comunicar com o controlador de domnio. Pode ser necessrio alterar os nomes de diretrio, dependendo da sua implementao Linux. Aps ter feito estas mudanas, o usurio pode reiniciar o servidor LDAP.

Uma vez que o LDAP esteja usando SSL, precisamos editar o arquivo de configurao adtool, que normalmente encontra-se no seguinte local: /etc/adtool.cfg. Se quiser, o usurio tambm pode criar um arquivo local, como ~/.adtool.cfg. Alguns administradores acreditam que a criao desses valores em um arquivo em nvel de usurio seja mais conveniente. Tambm pode ser mais seguro, pois agora detalhes especficos de conexo so encontrados no diretrio de um usurio, em vez de no arquivo /etc/adtool.cfg. A escolha pessoal. Para o nosso exemplo, usaremos o arquivo /etc/adtool.cfg. Para configurar o arquivo de forma que ele utilize um servidor LDAP com SSL habilitado (myldapserver), o nome de domnio stanger.com, e a senha linuxpromagazinerules, teremos que editar o arquivo adequadamente:
uri ldaps://myldapserver.stanger.com binddn cn=Administrator,cn=Users,d c=domain,dc=tld bindpw $ linuxpromagazinerules searchbase dc=domain,dc=tld

Uma vez que tenhamos feito essas mudanas, podemos nos conectar a um controlador de domnio do Microsoft Active Directory por uma conexo SSL criptografada, e todos os recursos do adtool estaro disponveis (quadro 3).

Como usar o adtool para tarefas comuns


Agora que temos uma implementao totalmente funcional da ferramenta adtool, hora de explorar alguns dos seus recursos tpicos para gerenciar um ambiente do Active Directory. Para listar os usurios em uma unidade organizacional, digite o seguinte comando:
$ adtool list ou=user,dc=stanger,dc=com CN=allusers,OU=user,DC=stanger, DC=com OU=research,OU=user,DC=stanger,DC= com

Listagem 1: Adicione um servidor LDAP ao adtool


01 01 02 03 04 05 06 07 08 09 10 11 12 13 14 require 'active_record' BASE dc=stanger,dc=com URI ldap://myldapserver.stanger.com SIZELIMIT 12 TIMELIMIT 15 #DEREF never ssl start_tls TLS_CACERT /usr/local/etc/openldap/ca.crt TLS_CIPHER_SUITE HIGH:MEDIUM:+SSLv3 BASE dc=YOUR,dc=DOMAIN,dc=HERE URI ldaps://stanger.com TLS_REQCERT allowJames Stanger.

60

www.linuxmagazine.com.br

OU=accounting,OU=user,DC=stanger,D C=com

O resultado ser que veremos todos os usurios especificados na requisio. Para criar um novo usurio, digite o seguinte comando:
$ adtool useradd jstanger ou=research,ou=user, dc=stanger,dc=com

$ adtool oucreate socialmediaexperts ou=user, dc=myldapserver.stangernet. com,dc=com

Para adicionar um usurio a todos os grupos:


$ adtool groupadd allusers jstanger

Para adicionar detalhes sobre um usurio:


$ adtool attributereplace jstanger telephonenumber 4138 $ adtool attributereplace jstanger mail jstanger@stangernet.com

Naturalmente, precisaremos definir uma senha para este usurio com:


$ adtool setpass jstanger linuxpromagazinerules

Muitas vezes, um controlador de domnio ser configurado para bloquear uma nova conta de usurio por padro. Portanto, precisaremos desbloquear a conta deste usurio. O comando para isso bastante simples:
$ adtool unlock jstanger

Se quiser adicionar um endereo de e-mail para este usurio, entre com o comando:
$ adtool attributereplace jstanger mail jstanger@stangernet.com

pode aparecer ou desaparecer. Ento, se o usurio estiver enfrentando problemas com a ferramenta adtool, porm confiante de que quaisquer consultas e comandos esto usando a sintaxe apropriada, e se estiver convencido de que os servidores LDAP e Active Directory esto configurados corretamente, poder simplesmente precisar usar uma verso diferente da ferramenta. A verso atual at o fechamento desta edio a 1.3.3. Use esta verso a menos que uma verso mais antiga de alguma forma resolva quaisquer problemas de conexo que o usurio possa vir a ter.

Concluso
Temos agora um bom entendimento de como usar o adtool para administrar um controlador de domnio Microsoft. Usar a ferramenta atravs de uma conexo criptografada oferece a possibilidade de usar o sistema Linux de forma to eficiente como em um sistema Windows. O adtool uma ferramenta poderosa, e agora o usurio j conhece muitos dos comandos que permitem trabalhar e lidar bem com sistemas da Microsoft.

Tambm pode ser necessrio desbloquear contas de usurios existentes, seja porque o usurio excedeu o nmero de logins, ou por que o login do usurio ficou desativado por conta do limite de tempo. Suponha que este novo usurio precisa ser colocado em um novo grupo chamado phpdevelopers. Primeiro, devemos criar um grupo com este nome atravs do comando:
$ adtool groupcreate phpdevelopers ou=user, cd=stangernet,dc=com

Para bloquear a conta de um usurio, execute o comando adtool userlock jstanger ou ento exclua-o com o comando adtool userdelete jstanger.

Atualize cedo e com frequncia


Lembre-se, uma atualizao de software para qualquer projeto pode causar problemas misteriosos: algo

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

Para adicionar o usurio chamado jstanger a este novo grupo (phpdevelopers), execute:
$ adtool groupadd phpdevelopers jstanger

Mais informaes
[1] adtool: http://gp2x.org/adtool/ [2] Debian squeeze admin packages: http://packages.debian.org/squeeze/admin/ [3] adtool removida do teste: http://packages.qa.debian. org/a/adtool/news/20120313T163912Z.html [4] Splunk: http://www.splunk.com/ [5] Open LDAP: http://www.openldap.org [6] TinyCA: http://www.sm-zone.net [7] TechNet em senhas: http://technet.microsoft.com/en-us/library/cc875814.aspx

Agora sabemos como listar grupos, bem como a forma de criar um usurio e adicionar um grupo.

Tarefas adicionais
Muitas vezes, teremos que criar uma nova unidade organizacional (OU). Para criar uma OU de nome socialmediaexperts, digitamos:

Linux Magazine #105 | Agosto de 2013

61

Ubuntu Touch: o verdadeiro Linux de bolso


Aprenda como instalar e congurar este novo sistema operacional em seu dispositivo Android. por Alessandro de Oliveira Faria (Cabelo)

Tutorial

om o acelerado desenvolvimento do sistema operacional da Canonical destinado dispositivos mveis, tornou-se realmente possvel utilizar o Linux de forma similar ao desktop, mas na palma da sua mo. Na viso deste autor, este projeto ambicioso pelo fato de unificar as plataformas: deskto, notebooks, tablets, smartphones e TVs. Imagine ter instalado em seu tablet (um Nexus 7, no meu caso) uma distribuio Ubuntu Desktop 13.04! E com um bnus: mltiplos boots com outros sistemas operacionais. Neste artigo voc vai aprender como instalar e configurar este novo sistema que pretende enfrentar a forte concorrncia do mercado de smartphones. A Canonical a responsvel pela distribuio GNU/Linux Ubuntu, uma das mais populares para desktops. O motivo da sua popularidade seu foco, voltado para usurios finais. Atualmente este sistema tem como objetivo penetrar em um novo mercado dominado pelo duoplio Android e iOS de sistemas mveis. Com objetivo similar ao sistema operacional FirefoxOS apresentado na Linux Magazine #96 [1], o Ubuntu Touch pretende explorar
Figura 1-a Ativao do modo de depurao do Android. 62

o mercado mvel que encontrase em pleno crescimento. A to polmica interface grfica Unity tem como principal objetivo no deixar que os usurios se percam, mantendo seu visual operacional em todas as plataformas. Muitos recursos do Ubuntu Touch so bem similares aos do desktop como a rea de notificao que carrega diversas opes de configurao e ajustes. A compatibilidade e/ou suporte a aplicativos web (webapps) permite o rpido aprendizado para esta plataforma (similar ao FirefoxOS). Esta possibilidade atrai

at mesmo desenvolvedores com pouca experincia tcnica. O recurso revolucionrio, mas nem tanto assim (pois j conhecemos o WebTop Atrix e o Ubuntu for Android), a capacidade de tornar o dispositivo mvel em um desktop Ubuntu. Vale a pena mencionar que o Ubuntu Touch e o Ubuntu Desktop so diferentes, entretanto ao conectar o aparelho em um dock, que por sua vez esta acoplado um teclado, monitor e mouse, este torna-se o Ubuntu que j conhecemos, porm com uma integrao na rea de no-

www.linuxmagazine.com.br

tificaes para recebimento de ligaes e mensagens. Outra vantagem que o dispositivo mvel passar a contar com os aplicativos presentes no sistema GNU/Linux como GIMP, LibreOffice e outros. Embora o sistema no se encontre na verso final, j est funcional o bastante para permitir a criao de aplicativos para esta nova plataforma. Alguns aplicativos so falsos (pelo menos at o presente momento) e esto presentes por padro no sistema apenas para cumprir a tarefa de marketing do sistema operacional (o que torna mais atraente investir nesta rea de desenvolvimento). O guia de boas prticas para criao de interfaces de aplicativos [2] foi disponibilizado de forma similar ao Google (com o guia de boas prticas de desenvolvimento Android). Neste guia foram disponibilizados exemplos de construo de interface, botes e imagens que foram disponiblizadas para download, de forma que o desenvolvedor possa utiliz-las, o que um enorme facilitador para os desenvolvedores que pretendem manter a identidade visual da interface. Sendo a interface Unity a identidade visual padro utilizada atualmente nos produtos da Canonical, o usurio ter uma fcil adaptao seja no tablet, celular, desktop ou TV. Em meu ponto de vista este um grande fator que levar as pessoas utilizarem mais a plataforma Linux no seu dia a dia. Agora utilizado o QT/QML no lugar do Gnome 3 e o MIR tomar o lugar do servidor X. E, o mais importante: a empresa promete disponibilizar tudo como cdigo aberto, beneficiando assim outras distribuies. Seu SDK (Software Development Kit ou Conjunto de ferramentas de desenvolvimento de software) tambm proporciona ao desenvolvedor facilidades para a criao de aplicativos para a pla-

taforma mvel ou desktop de maneira transparente. Teoricamente esta tecnologia ser lanada a partir do segundo semestre de 2013. A mobilidade est mudando conceitos e acredito que agora realmente estamos entrando na plataforma ps-PC.

Instalao do sistema
Antes de partir para a instalao, vale apena mencionar o hardware utilizado, um tablet Nexus 7. Os motivos so vrios. Primeiro, trata-se de um tablet do Google (e fabricado pela ASUS), com um desempenho de fazer inveja (processador Nvidia Tegra 3 Quad-Core), resoluo WXGA de 1280 x 800 pixels, suporte a multitoque (reconhecendo at dez dedos simultaneamente) e com bootloader destravado de fbrica. Para finalizar, o motivo mais convincente que as primeiras imagens oficiais do Ubuntu Touch fornecidas pela Canonical foram criadas justamente para esta famlia de tablets. Claro que novos aparelhos sero compatveis com o tempo graas ao esforo dos participantes no projeto.
Figura 2 Dispositivo bloqueado.

O modo mais fcil

Iniciaremos pelo modo fcil de instalao, atravs da interface grfica, cujo objetivo demonstrar a facilidade de instalao para quem no deseja se aprofundar nos recnditos do assunto. Embora as imagens sejam homologadas pela Canonical, no somos responsveis por danos causados ao equipamento. Sendo assim, o usurio est assumindo toda e qualquer responsabilidade no que tange ao no funcionamento deste. Para evitar confuso, vale a pena mencionar alguns detalhes para efeito de esclarecimento: Identifique o modelo do seu equipamento no link onde est presente a lista completa de dispositivos compa-

tveis [3]. Por exemplo, o celular Nexus 4 deve ser utilizado como codinome mako, o tablet Nexus 7 possui o codinome grouper e o Nexus 10, manta. No faa confuso com as imagens. O Ubuntu desktop [4] uma imagem para a plataforma ARM idntica ao Ubuntu que utilizado nos computadores convencionais. O Ubuntu Touch [5] a imagem do novo sistema operacional para dispositivos mveis da Canonical projetados para equipamentos com interface touch-screen. Habilite o modo USB debug no seu positivo. Em aparelhos com Android 4.2.2 ser necessrio fazer isso atravs do menu Configuraes/ Sobre o telefone e clicar 7 vezes no nmero da verso para disponibilizar esta opo no menu (figura 1). Sugiro utilizar o sistema operacional Ubuntu 12.04 ou superior para realizar a instalao no modo fcil. Atendendo a este requisito, abra o terminal, adicione e atualize o repositrio:
$ sudo add-apt-repository ppa:ubuntu-nexus7/ubuntu-nexus7installer $ sudo apt-get update

Informe a senha administrativa durante a execuo dos comandos e aguarde. Aps a execuo de ambos os comandos, instalaremos o pacote ubuntu-nexus7-installer:

Linux Magazine #105 | Agosto de 2013

63

sudo apt-get install ubuntunexus7-installer

Desbloqueio do bootloader
Desbloquear o bootloader preciso? Para saber a necessidade de desbloqueio do bootloader, desligue e ligue o equipamento e pressione por alguns segundos as teclas Power e Volume Down. Se tudo estiver funcionando corretamente, ser exibida a tela do bootloader algumas informaes e na ltima linha uma string LOCK STATE LOCKED (figura 2), obviamente se aparecer a string LOCK STATE UNLOCKED seu aparelho est desbloqueado. Vale a pena mencionar que a combinao de teclas para entrar no bootloader varia de equipamento para equipamento, ento consulte quais teclas so necessrias para obter o mesmo resultado. Se o equipamento estiver com o bootloader bloqueado, conecte o cabo USB e execute o comando sudo fastboot device para constatar que o seu aparelho est em comunicao com o computador. Em seguida execute o comando sudo fastboot oem unlock e confirme o termo de desbloqueio exibido

Figura 4 Dispositivo aps o desbloqueio.

(figura 3). Confira o estado do dispositivo, entrando novamente no modo bootloader e confirme que a string LOCK STATE UNLOCKED exibida (figura 4). Nesta etapa basta digitar o comando sudo fastboot reboot-bootloader para reiniciar o dispositivo.:
$ sudo fastboot devices 015d3b65d3481814fastboot $ sudo fastboot oem unlock ... (bootloader) erasing userdata... (bootloader) erasing userdata done (bootloader) erasing cache... (bootloader) erasing cache done (bootloader) unlocking... (bootloader) Bootloader is unlocked now. OKAY [ 90.093s] finished. total time: 90.093s $ sudo fastboot reboot-bootloader

encontra-se neste estado, ento, basta pressionar o boto Yes e ir tomar um caf dependendo da velocidade da sua Internet (eu fui!) e deixe tudo na mo do instalador, pois ele faz tudo sozinho. Aps o trmino da instalao, basta reiniciar o equipamento. O primeiro boot demora um pouco e no se assuste, pois depois de alguns minutos a tela de configurao do Ubuntu Touch ser exibida (figura 6). Meu equipamento funcionou muito bem, ainda mais depois que utilizei um adaptador micro-USB para conectar o teclado e mouse. Atualmente meu Nexus 7 virou um Linux de bolso para emergncias.

Agora que o equipamento est preparado para receber novas imagens, volte ao computador no qual foi instalado o ubuntu-nexus7-installer e execute-o na linha de comando ou atravs da interface grfica (figura 5). Ao iniciar pela primeira vez, o programa solicitar que seja aceito o termo de licenciamento para uso no comercial e solicitar a ativao do modo bootloader. Teoricamente, se voc seguiu os procedimentos anteriores, o equipamento j
Figura 3 O sistema pede a conrmao de que desejamos desbloquear o aparelho.

E se algo der errado?

Existem vrios motivos pelos quais o usurio pode desejar retornar seu equipamento para o estado original de fbrica, seja para solicitar o servio de garantia ou ento porque algo no saiu como o planejado. Seja qual for o motivo no entre em pnico, pegue outro caf e vamos l. Faa o download da imagem original do equipamento no caso da linha Nexus, basta acessar o link [6]. Fique atento, pois para determinados modelos de dispositivos existe mais de uma verso da imagem. Por exemplo, se o que

64

www.linuxmagazine.com.br

Adicione os repositrio a seguir e instale alguns pacotes para efetuar a instalao manual do Ubuntu Touch.
$ sudo add-apt-repository ppa:phablet-team/tools $ sudo apt-get update

Figura 5 instalador grfico Ubuntu para Nexus 7.

Com o repositrio devidamente adicionado e atualizado, instale os pacotes phablet-tools, android-tools-adb e android-tools-fastboot:
$ sudo apt-get install phablettools android-tools-adb androidtools-fastboot

equipamento originalmente possua o Android 4.1.2 instalado, faa o download desta verso. No meu caso utilizei a imagem Factory Images nakasi for Nexus 7 (Wi-Fi) com Android 4.2.2 (JDQ39), presente no link [7]. Aps o download conecte o dispositivo no computador com o cabo USB e entre no bootloader novamente. Descompacte o arquivo, entre na pasta recm-criada e execute o script flash-all.sh como usurio root (e v tomar outro caf...). Agora que o seu dispositivo encontra-se com a imagem original, basta bloque-lo novamente. Entre no modo bootloader e digite:
$ sudo fastboot oem lock

gem de fbrica. Ou seja, nenhum procedimento mencionado at aqui foi executado (ou ento seu dispositivo foi restaurado ao estado original conforme mencionei anteriormente). Vale a pena ressaltar que, embora o MultiROM funcione apenas no Nexus 7, os procedimentos para obter acesso root no aparelho funciona em diversos modelos. Se nenhum repositrio foi adicionado ao seu computador, execute os comandos a seguir para instalar o fastboot e o adb.
$ sudo add-apt-repository ppa:phablet-team/tools $ sudo apt-get update $ sudo apt-get install androidtools-adb android-tools-fastboot

Embora parea assustador fazer a instalao no modo console, mais simples do que voc imagina, pois o aplicativo phablet-flash detecta o modelo do seu equipamento, faz o download, grava a flash e tudo mais. Para isto, basta executar o comando a seguir, responder Yes para o termo de licenciamento e deixar que ocorra a deteco do modelo do dispositivo e todo o restante estar feito.

Mltiplas imagens em seu dispositivo

Pronto, agora seu equipamento est exatamente como saiu da fbrica.

Instalao em modo console

Para fundamentar o conceito de instalao do Ubuntu Touch, faremos isso no modo console. Caso tenha instalado o Ubuntu Desktop em seu dispositivo, os repositrios mencionados anteriormente foram adicionado ao seu computador. Sendo assim, vamos remov-lo. Caso no tenha instalado desconsidere o comando a seguir:
$ sudo add-apt-repository --remove ppa:ubuntu-nexus7/ubuntunexus7-installer

Imagine que voc deseja ter mais de um sistema instalado em seu dispositivo. Gosto do Android 4.2.2 mas tambm quero explorar o Ubuntu Touch. Para resolver esta situao, existe a ferramenta MultiROM, uma soluo exclusivamente criada para o Nexus 7 (at o presente momento), portanto s funciona neste modelo. Como a ferramenta precisa de acesso root, esse nosso ponto de partida.

Para instalar e obter o acesso root, vamos gravar uma nova imagem do boot recovery (recuperao de boot). Tome o cuidado de verificar se a imagem de download correspondente ao modelo do seu equipamento, pois se for gravada uma imagem errada, o menu de recuperao do boot pode no funcionar. Veja os exemplos a seguir com as imagens que utilizei. Ressalto que verses diferentes no funcionaram, ento consulte os links de referncia no final do artigo, pois em funo das atualizaes e outras variveis, algumas alteraes podem ocorrer. Para o Nexus 10 com Android 4.2.2:

Acesso ao modo root

Para obter acesso root ao dispositivo, vou partir do princpio de que seu equipamento est com a imaFigura 6 Instalao do Ubuntu em andamento no dispositivo.

Linux Magazine #105 | Agosto de 2013

65

Instalao do Ubuntu Touch; Instalao do Ubuntu Desktop.

Comece efetuando o download dos aquivos multirom_vX_nY-signed. zip, TWRP_multirom_n7_YYYMMDD.img (Team Win Recovery Project) para MultiROM e kernel_exec (Android 4.1.2 ou 4.2.2) do link [8]. Copie os arquivos (kernel_exec e multirom) para o diretrio /sdcard e volte novamente ao bootloader com os comandos:
Figura 7 Instalao de arquivos adicionais para MultiROM.
recovery-clockwork-6.0.3.0-mako. img (ou superior) recovery-clockwork-touch-6.0.3.0-mako.img (ou superior)

Para o Nexus 7 com Android 4.2.2:

recovery-clockwork-6.0.2.3-grouper .img (ou superior) recovery-clockwork-touch-6.0.2.3-grouper .img (ou superior)

Para o Nexus 10 com Android 4.2.2:

recovery-clockwork-6.0.3.1-manta.img recovery-clockwork-touch-6.0.3.1-manta.img

bilidade de navegar atravs das opes utilizando a tela touch-screen e no somente as teclas de volume. Aps o download da respectiva imagem do seu equipamento, entre no modo bootloader (utilize o comando adb reboot -bootloader) bem mais prtico do que pressionar a combinao de teclas j explicada anteriormente. A seguir escreva na flash a nova imagem do recovery e finalize reiniciando o dispositivo.
# adb reboot -bootloader # fastboot flash recovery ecovery-clockwork-touch6.0.2.3-grouper.img # fastboot reboot

# adb push TWRP_multirom_ n7_20130409.img /sdcard/ # adb push multirom_v10_n7-signed. zip /sdcard/ # adb push kernel_kexec_422.zip /sdcard/ # adb reboot bootloader

Agora grave na memria flash a nova imagem gafica de recuperao e retorne ao modo de recuperao:
# fastboot flash recovery TWRP_ multirom_nX_YYYYMMDD.img

A diferena das imagens que possuem o sufixo touch, a possi-

Figura 8 O assistente de instalao do MultiROM auxilia nas principais tarefas.

De posse da nova imagem de recuperao no bootloader, obtenha na Internet o arquivo UPDATE-SuperSU-vX.YY e o copie-o para o diretrio /sdcard/, reinicie o equipamento novamente no modo bootloader e nesta selecione a opo Recovery mode. No Menu, selecione a opo flash zip from sdcard escolha choose zip from sdcard e selecione Yes Install UPDATE-SuperSU-vX.YY.zip (figura 7). Para finalizar, depois da instalao entre na opo +++++Go Back e reinicie o dispositivo. Agora o Nexus 7 est preparado para receber o MultiROM. O procedimento a seguir resume-se : Instalao da imagem de recuperao com a interface grfica MultiROM (TWRP_multirom); Instalao do MultiROM (arquivo multirom_v10_n7-signed.zip);

Para finalizar a instalao do MultiROM, entre no modo Recovery mode instale o kernel_kexec.zip e multirom_vX_nY-signed.zip copiado para o diretrio /sdcard anteriormente, selecionando a opo Install no novo menu grfico (figura 8) selecionando o arquivo em seguida. Neste momento o processo de MultiROM est instalado e funcionado. Esta ltima operao necessria para no compartilhar o kernel do Android com o Ubuntu que instalaremos logo a seguir.

Instalao da imagem do Ubuntu Touch


Baixe a imagem da ltima verso do Ubuntu Touch (arquivos
quantal-preinstalled-armel+grouper. zip e quantal-preinstalled-phablet-armhf.zip) reinicie o equipamen-

to e entre no modo recovery. No menu grfico selecione Advanced/ MultiROM/Add ROM.

66

www.linuxmagazine.com.br

Altere as opes para: Choose ROM type: Android/Ubuntu touch (Tipo de ROM Android/Ubuntu touch), Share kernel with Internal ROM: Don't share (Kernel no compartilhado) e escolha o local de instalao. Para finalizar, clique em Next e selecione a opo ZIP file, selecione o arquivo quantalpreinstalled-armel+grouper.zip, aguarde o trmino da operao e selecione a opo Reboot System. Agora instalaremos os dados selecionando no menu principal a opo Advanced/MultiROM/List ROMs e selecione o item recm-instalado (quantal-preinstalled-armel+) e depois Flash ZIP selecionando o arquivo quantal-preinstalled-phablet-armhf.zip. Reinicie o sistema quando tudo estiver finalizado. Ateno: durante o perodo de elaborao deste artigo, utilizei a verso Quantal do Ubuntu, que posteriormente ser substituda pela verso Raring. O procedimento seguir inalterado, sendo necessria apenas a troca dos nomes das imagens para raring-preinstalled-armel+grouper.zip e raring-preinstalled-phablet-armhf.zip.

Instalao da imagem do Ubuntu Desktop

Baixe a imagem da ltima verso do Ubuntu Desktop (arquivo raring-preinstalled-desktop-armhf+nexus7.img. gz), reinicie o equipamento e entre no

modo recovery. No menu grfico selecione Advanced/MultiROM/Add ROM. Altere as opes para: Choose ROM type: Ubuntu desktop (Tipo de ROM Ubuntu desktop) e escolha o local de instalao. Clique em Next e selecione o arquivo de imagem (.img.gz). Aguarde a operao e ao seu trmino selecione a opo Reboot System. Tudo concludo, agora seu dispositivo poder iniciar atravs de diversos sistemas operacionais (figura 9). Para aumentar o entusiamos dos leitores, veja um video demonstra-

Figura 9 Inicializao do aparelho com mltiplos sistemas operacionais.

tivo do sistema em funcionamento no endereo [9]. Na prxima edio, vamos abordar o tema desenvolvimento para Ubuntu Touch. At l! n

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

O autor
Alessandro de Oliveira Faria (Cabelo) scio-fundador da empresa NETi Tecnologia fundada em 1996, empresa especializada em desenvolvimento de software e solues biomtricas. consultor biomtrico na tecnologia de reconhecimento facial, atuando na rea de tecnologia desde 1986, levando o Linux a srio desde 1998, membro colaborador da comunidade Viva O Linux, mantenedor da biblioteca open-source de vdeo captura, embaixador e membro openSUSE entre outros projetos.

Mais informaes
[1] FirefoxOS Linux Magazine #96, novembro de 2012, pgina 58. [2] Guia de design para interfaces de aplicativos no Ubuntu: http://design.ubuntu.com/apps [3] Lista de dispositivos compatveis: https://wiki.ubuntu.com/Touch/Devices [4] Imagem do Ubuntu desktop: http://cdimage.ubuntu.com/daily-preinstalled/current/ [5] Imagem do Ubuntu Touch: http://cdimage.ubuntu.com/ubuntu-touch-preview/daily-preinstalled/current/ [6] Imagens do Google Nexus: https://developers.google.com/android/nexus/images [7] Imagem do Nexus 7 utilizada: https://dl.google.com/dl/android/aosp/nakasi-jdq39-factory-c317339e.tgz [8] Arquivos para instalao do MultiROM: http://forum.xda-developers.com/showthread.php?p=34577851 [9] Video de demonstrao do Ubuntu Touch no Nexus 7: https://www.youtube.com/watch?v=cMjr97RdYqM

Linux Magazine #105 | Agosto de 2013

67

Servios
Calendrio de eventos
Evento Data Local Informaes

ndice de anunciantes
Empresa
Supermicro

Pg.
02

Front in BH

03 de agosto

Belo Horizonte, MG

http://www.frontinbh.com.br/
Unodata 09

Impacta

13

PGBR 2013

15 a 17 de agosto

Porto Velho, RO

http://pgbr.postgresql.org.br

Plus Server

20, 21

Central Server

29

Watchguard

83

CloudConf

2 e 3 de outubro

So Paulo, SP

http://www.cloudconf.com.br/
IBM 84

Agora voc tem o controle sobre o desempenho do seu negcio sempre sua mo.

Soluo completa hospedada em nuvem (Cloud Computing)

Saiba mais em: www.vectory.com.br +55 11 3104 6652

SOFTWARE

A soluo de gesto integrada ADempiere um poderoso sistema ERP, CRM e SCM de Cdigo Aberto, que conta com um conjunto completo de recursos, organizados atravs de processos de negcios. Essa organizao resulta em uma plataforma nica, totalmente integrada e consistente, proporcionando aos usurios uma viso integral de sua empresa e permitindo uma anlise em 360 graus de todo o relacionamento com clientes, fornecedores e colaboradores.
www.linuxmagazine.com.br

80

Agora voc tem o controle sobre o desempenho do seu negcio sempre sua mo.
Compras Finanas

Estoques

NF-e

Vendas Fornecedores Clientes

ERP SISTEMA DE GESTO

A micro e pequena empresa ganha uma soluo de classe mundial de sistemas de gesto ERP no modelo comercial com a melhor relao custo/benefcio. O Kontroller dispensa aquisio de hardware, licenas de software, tcnicos de suporte ou sistema de backup. Garante alta disponibilidade e oferece fcil acesso via browser.

Soluo completa hospedada em nuvem (Cloud Computing)

Saiba mais em: www.vectory.com.br +55 11 3104 6652

SOFTWARE

Preview

Linux Magazine #106


Criptograa
Assunto de interesse geral, e a cada dia mais importante, em tempos de espionagem digital, a criptografia em sua mais variadas abordagens ser o tema da prxima edio da Linux Magazine. Voc vai conhecer o universo dos sistemas de arquivos ZFS criptografados, aprender como trabalhar com assinaturas digitais e ate mesmo a criptografar conversas telefnicas! Conhea ainda formas de trafegar arquivos de maneira segura atravs de tneis criptografados e muito mais! Seja o ninja da criptografia e no perca! n

Admin Magazine #10


OpenStack
Capaz de gernciar os componentes de mltiplas instncias virtualizadas, o OpenStack um dos queridinhos dos profissionais de infraestrutura e virtualizao da atualidade. livre, no possui restries quanto quantidade de instncias e uma plataforma robusta, extremamente til nestes tempos onde o advento da computao em nuvem j uma realidade. Na prxima edio da Admin Magazine voc vai conhecer tudo o que essa incrvel ferramenta pode fazer por voc! No perca! n

82

www.linuxmagazine.com.br

Voc refm da Operadora de Telecom?


Altos custos de conectividade impedem sua empresa de ter links redundantes.

No pule no vazio! Achar que a segurana simples o comeo de seus problemas! um erro, total e comum, achar que qualquer um na sua TI pode fazer gesto de segurana da sua rede!

Alugue um Firewall gerenciado a partir de R$ 300,00/ms.

Controle de Contedo e Antivrus, Solues Antispam, implementadas localmente ou na nuvem, Proteo de Invases e Ataques, Balanceamento de Links e Servidores, Anlise de Vulnerabilidades e Riscos, Conectividade entre Sites, Fornecedores, etc. Conectividade Segura para Usurios Mveis, Otimizao de Links, Controle de Navegao, Controle de Aplicaes,

vendas@altermedios.com.br

(11) 3393.3340