Linux Magazine Community Edition 103

30
LOGS p.62 Utilize o Logstash para centralizar e otimizar o armazenamento de logs do seu servidor SEGURANÇA ENTREVISTA p.23 Conversamos com Jean Hollis Weber, fundadora do Friends of OpenDocument ANTECIPE-SE AOS PRINCIPAIS VETORES DE ATAQUE APROFUNDANDO SEUS CONHECIMENTOS NAS MELHORES TÉCNICAS DE SEGURANÇA . p.36 » Conformidade de segurança com o framework OpenSCAP p.37 » Previna-se contra ataques do tipo SQL Injection p.40 » Linux mais seguro com Grsecurity p.44 REDES p.54 Automatize o processo de roteamento de dados com Quagga e Zebra ANDROID p.68 Aprenda como instalar uma distribuição Linux em seu dispositivo Android VEJA TAMBÉM NESTA EDIÇÃO: » Podemos confiar no novo padrão criptográfico SHA-3? p.50 » Inventário de hardware com I-Nex p.66 » Vantagens de uso do protocolo móvel MIPv6 p.73 A REVISTA DO PROFISSIONAL DE TI MEDIALINX WWW.LINUXMAGAZINE.COM.BR MADDOG p.24 Os benefícios da criação de drivers de dispositivos CEZAR TAURION p.28 Os conhecimentos exigidos dos novos profissionais de TI AUGUSTO CAMPOS p.20 Não perca tempo em adotar o código aberto # 103 Junho 2013

Transcript of Linux Magazine Community Edition 103

Page 1: Linux Magazine Community Edition 103

LOGS p.62Utilize o Logstash para centralizar e otimizar o armazenamento de logs do seu servidor

SEGURANÇA

ENTREVISTA p.23Conversamos com Jean Hollis Weber, fundadora do Friends of OpenDocument

ANTECIPE-SE AOS PRINCIPAIS VETORES DE ATAQUE APROFUNDANDO SEUS CONHECIMENTOS NAS MELHORES TÉCNICAS DE SEGURANÇA . p.36

» Conformidade de segurança com o framework OpenSCAP p.37

» Previna-se contra ataques do tipo SQL Injection p.40

» Linux mais seguro com Grsecurity p.44

REDES p.54Automatize o processo de roteamento de dados com Quagga e Zebra

ANDROID p.68Aprenda como instalar uma distribuição Linux em seu dispositivo Android

VEJA TAMBÉM NESTA EDIÇÃO:» Podemos confiar no novo padrão criptográfico SHA-3? p.50

» Inventário de hardware com I-Nex p.66

» Vantagens de uso do protocolo móvel MIPv6 p.73

SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRÁTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA ÁREA p.36

#44 07/08

R$ 13,90 € 7,50

79

081 79

64

0029

44

00

0

A REVISTA DO PROFISSIONAL DE TI

WWW.LINUXMAGAZINE.COM.BR

CASE ALFRESCO p.26A Construcap agilizou seus projetos com o Alfresco

LINUX PARK 2008 p.28Iniciada em Porto Alegre a temporada de seminários Linux Park de 2008

CEZAR TAURION p.34O Código Aberto como incentivo à inovação

GOVERNANÇA COM

» O que dizem os profissionais certificados p.24

» Cobit, CMMI, ITIL. Quais as melhores práticas? p.36

» ITIL na prática p.39

» Novidades do ITIL v3. p.44

SEGURANÇA: DNSSEC p.69

Com o DNSSEC, a resolução de nomes fica protegida de ataques. Mas seupreço vale a pena?

REDES: IPV6 p.64

Conheça as vantagens da nova versão do Internet Protocol, e veja por queé difícil adotá-la

VEJA TAMBÉM NESTA EDIÇÃO:

» Relatórios do Squid com o SARG p.60

» Java, Ruby e Rails: conheça o JRuby on Rails p.74

» Benchmarks do GCC 4.3? p.58

» Becape de bancos de dados com a Libferris p.46

» LPI nível 2: Servidores NIS e DHCP p.52

A REVISTA DO PROFISSIONAL DE TI

MEDIALINX

WWW.LINUXMAGAZINE.COM.BR

SEJA

UM

BOM

GES

TOR

E UT

ILIZ

E AS

M

ELHO

RES

PRÁT

ICAS

ADO

TADA

S E

RECO

MEN

DADA

S PE

LOS

PROF

ISSI

ONAI

S M

AIS

EXPE

RIEN

TES

NESS

A ÁR

EA p.

36

#44

07/0

8

R$

13,9

0

7,50

7 908179 640029

4 4 0 0 0

A R

EV

ISTA

DO

PR

OFI

SS

ION

AL

DE

TI

WW

W.L

INU

XM

AG

AZI

NE

.CO

M.B

R

CASE

ALF

RESC

O p

.26

A Co

nstr

ucap

agi

lizou

seu

s pr

ojet

os c

om o

Alfr

esco

LIN

UX P

ARK

2008

p.2

8In

icia

da e

m P

orto

Ale

gre

a te

mpo

rada

de

sem

inár

ios

Linu

x Pa

rk d

e 20

08

CEZA

R TA

URIO

N p

.34

O Có

digo

Abe

rto

com

o in

cent

ivo

à in

ovaç

ão

GOVE

RNAN

ÇA C

OM

» O

que

dize

m o

s pr

ofiss

iona

is

cert

ifica

dos

p.24

» Co

bit,

CMM

I, IT

IL. Q

uais

as

mel

hore

s pr

átic

as?

p.36

» IT

IL n

a pr

átic

a p.

39

» N

ovid

ades

do

ITIL

v3.

p.4

4

SEGU

RAN

ÇA: D

NSS

EC p.

69

Com

o D

NSS

EC, a

reso

luçã

o de

nom

es fi

ca p

rote

gida

de

ata

ques

. Mas

seu

preç

o va

le a

pen

a?

REDE

S: IP

V6 p.

64

Conh

eça

as v

anta

gens

da

nova

ver

são

do In

tern

et

Prot

ocol

, e v

eja

por q

ueé

difíc

il ad

otá-

la

VEJA

TAM

BÉM

NES

TA E

DIÇÃ

O:

» Re

lató

rios

do

Squi

d co

m o

SAR

G p.

60

» Ja

va, R

uby

e Ra

ils: c

onhe

ça o

JRu

by o

n Ra

ils p

.74

» Be

nchm

arks

do

GCC

4.3?

p.5

8

» Be

cape

de

banc

os d

e da

dos

com

a L

ibfe

rris

p.4

6

» LP

I nív

el 2

: Ser

vido

res

NIS

e D

HCP

p.52

MADDOG p.24Os benefícios da criação de drivers de dispositivos

CEZAR TAURION p.28Os conhecimentos exigidos dos novos profissionais de TI

AUGUSTO CAMPOS p.20Não perca tempo em adotar o código aberto

# 103 Junho 2013

Page 2: Linux Magazine Community Edition 103

3Linux Magazine #103 | Junho de 2013

ED

ITO

RIA

L

Um ladrão entrou em uma casa, à noite, no escuro, com uma lanterna. De repente ouviu uma voz: “Obama está olhando!”. Voltou rapidamente o facho da lanterna na direção da voz, iluminando um papagaio, que disse: “Olá! Meu nome é Stallman!”. “Que nome estúpido para se dar a um papagaio! Quem foi o idiota que lhe deu esse nome?”, pergun-tou o ladrão. “O mesmo que deu o nome de Obama para o rottweiler!”

O desfecho da anedota acima fica por conta da imaginação do leitor. O mesmo não pode ser dito do “estrago” realizado na confiança do mercado mundial de tecnologia da informação pelas recentes notícias sobre os pro-gramas de vigilância de tráfego de dados (de Internet e voz) --- PRISM, da Agência Nacional de Segurança dos Estados Unidos (NSA), e Tempora, do QG de Comunicação Governamental Britânico (GCHQ) ---, espe-cialmente no que tange ao até então aquecido mercado de computação em nuvem pública! Essas duas agências de inteligência cibernética são as mais proeminentes de um grupo de países chamados “The 5 Eyes” (EUA, Inglaterra, Canadá, Austrália e Nova Zelândia), desde sempre envolvidos com espionagem digital --- o programa ECHELON, que povoa teorias de conspiração internacionais, teria sido criado e operado por esse grupo. Esses programas de vigilância são enormes e sofisticados, e tem como fun-damento o estado da arte em sistemas de análise de dados. E não imagine o leitor que no Brasil não hajam iniciativas na mesma direção: a Agência Brasileira de Inteligência (ABIN) também tem uma equipe montada co-letando dados e informações de usuários do Facebook, Twitter, Instagram e Whatsapp, em um projeto de codinome Mosaico. Com toda essa ativi-dade de coleta (nem tão) sigilosa de dados, várias empresas que atuam no segmento de serviços de Internet (em sua maioria, provedores) na Euro-pa já declararam que seus clientes tornaram-se mais conservadores desde que as revelações de Edward Snowden foram divulgadas, e as previsões de aumento na adoção de Cloud pública em 2013 já estão sendo revistas.

Em 2008, Richard Stallman profetizou esse tipo de problema, quando declarou que, do ponto de vista do controle dos dados, computação em nuvem pública era uma armadilha, e que os usuários deveriam manter suas informações sempre em sua máquina local, claro, usando um sis-tema operacional livre. De qualquer modo, já é possível manter dados em nuvem pública sem sacrificar o controle sobre eles, sua segurança e confidencialidade. Várias organizações não-governamentais de tec-nologia e agências de TI de governos europeus estão indicando o uso de meta-máquinas de busca, que não armazenam dados dos usuários, a utilização de servidores proxy e da rede Tor para navegação anônima, além de criptografia de e-mails e o uso de protocolos seguros para o seu envio. Adicionalmente, sistemas de arquivos em servidores em nu-vem pública devem ser criptografados e um backup local sempre deve ficar disponível. Mas o que fica claro é que a consciência em torno da questão da segurança de dados deve finalmente aumentar, em face da situação atual (o que é bom), e é bem provável que a quantidade de nuvens privadas também. São maneiras práticas de manter o rottweiler no cercado. Previna-se! n Rafael Peregrino da Silva Diretor de Redação

Obama está olhando!Expediente editorialDiretor Geral Rafael Peregrino da Silva [email protected]

Editores Flávia Jobstraibizer [email protected]

Laura Loenert Lopes [email protected]

Editor de Arte Hunter Lucas Fonseca [email protected]

ColaboradoresKonstantin Agouros, Hanno Böck, Eric Amberg, Vincze Aron Szabo, Patrik Fehrenbach, Bruce Byfield, Martin Loschwitz, Kurt Seifried, Zack Brown, Jon “maddog” Hall, Alexandre Borges, Cezar Taurion, Gilberto Magalhães, Klaus Knopper, Augusto Campos.

Tradução Laura Loenert Lopes

Revisão Flávia Jobstraibizer

Editores internacionais Uli Bantle, Andreas Bohle, Jens-Christoph Brendel, Hans-Georg Eßer, Markus Feilner, Oliver Frommel, Marcel Hilzinger, Mathias Huber, Anika Kehrer, Kristian Kißling, Jan Kleinert, Daniel Kottmair, Thomas Leichtenstern, Jörg Luther, Nils Magnus.

Anúncios: Rafael Peregrino da Silva (Brasil) [email protected] Tel.: +55 (0)11 3675-2600

Penny Wilby (Reino Unido e Irlanda) [email protected]

Amy Phalen (América do Norte) [email protected]

Hubert Wiest (Outros países) [email protected]

Diretor de operações Claudio Bazzoli [email protected]

Na Internet: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – Austrália www.linux-magazine.es – Espanha www.linux-magazine.pl – Polônia www.linux-magazine.co.uk – Reino Unido www.linuxpromagazine.com – América do Norte

Apesar de todos os cuidados possíveis terem sido tomados durante a produção desta revista, a editora não é responsável por eventuais imprecisões nela contidas ou por consequências que advenham de seu uso. A utilização 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 permissão expressa da editora. Assu-me-se que qualquer correspondência recebida, tal como car-tas, emails, faxes, fotografias, artigos e desenhos, sejam for-necidos para publicação ou licenciamento a terceiros de forma mundial não-exclusiva pela Linux New Media do Brasil, a me-nos que explicitamente indicado.

Linux é uma marca registrada de Linus Torvalds.

Linux Magazine é publicada mensalmente por:

Linux New Media do Brasil Editora Ltda. Rua São Bento, 500 Conj. 802 – Sé 01010-001 – São Paulo – SP – Brasil Tel.: +55 (0)11 3675-2600

Direitos Autorais e Marcas Registradas © 2004 - 2013:Linux New Media do Brasil Editora Ltda. Impressão e Acabamento: EGB

Atendimento Assinante

www.linuxnewmedia.com.br/atendimentoSão 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

Page 3: Linux Magazine Community Edition 103

4 www.linuxmagazine.com.br

CAPA

A boa e velha segurança 36

Novamente estamos às voltas com assuntos como invasão de privacidade, roubo de dados e monitoramento de informações.

Conformidade de segurança 37

Testar o cenário do sistema em busca de requisitos de conformidade não é a tarefa favorita de um administrador de sistemas. O novo framework de código aberto OpenSCAP ajuda a tirar um pouco da dor de realizá-la

Injeções do mal 40

Dificilmente passa um dia sem que haja relatos de hackers invadindo servidores corporativos, militares ou do governo. Se analisarmos os detalhes da abordagem do hacker, veremos que, em 90% dos casos, a injeção SQL foi a causa raiz do comprometimento de um servidor.

Hermético 44

Usuários preocupados com segurança atualmente contam com ferramentas como o Grsecurity para garantir sua tranquilidade.

ÍND

ICE

Page 4: Linux Magazine Community Edition 103

5

ANÁLISE

Acessibilidade em qualquer lugar 73

O protocolo IPv6 contempla o MIPv6, um novo padrão para comunicação com dispositivos móveis que garante acessibilidade permanente, independentemente da localização atual do usuário. Neste artigo, apresentamos uma visão geral de seus recursos.

SEGURANÇADuro de matar 50

O NIST escolheu o algoritmo Keccak como o novo padrão de hash criptográfico, mas, na vida real, muitos usuários ainda não chegarem nem ao seu antecessor, o SHA-2.

REDES

Zebra exploradora 54

Servidores NAS normalmente são sistemas fechados que impedem usuários de instalar qualquer coisa – incluindo um agente de backup simples. Mas o que acontece se precisarmos de uma cópia de segurança?

O protocolo NDMP e o backup do NAS 60

Cisco e Juniper têm implementado protocolos de roteamento para ajudaro roteador a encontrar o melhor caminho para os dados que trafegam.No Linux, podemos usar softwares como o Quagga, com seu daemon Zebra, para ajudar a automatizar esse processo.

SERVIÇOSEditorial 03Emails 06Linux.local 78Preview 82

Linux Magazine #103 | Junho de 2013

| ÍNDICELinux Magazine 103

COLUNASAlexandre Borges 08

Charly Kühnast 10

Kurt Seifried 12

Klaus Knopper 14

Zack Brown 18

Augusto Campos 20

NOTÍCIASGeral 22

➧ Universitários precisam de formação em Negócios Sociais

➧ Harlan: linguagem que transforma processadores em supercomputadores

CORPORATE

Coluna: Jon “maddog” Hall 24

Coluna: Gilberto Magalhães 26

Coluna: Cezar Taurion 28

Entrevista: Jean Hollis Weber 29

Notícias 32

➧ Apenas 35% das empresas analisam Big Data para garantir segurança

➧ Cloud2b vai investir R$1,5mi em treinamento de talentos para a nuvem

➧ Google planeja investir US$ 1.6 bilhão em nova sede em Londres

ANDROIDGestão na palma da mão 68

Conheça cinco ferramentas indispensáveis para a

gestão de projetos de TI e resolva seus problemas

de controle de tarefas, tempo e recursos.

TUTORIAL

Log centralizado 62

Quando algo dá errado em um sistema, o arquivo de log é o primeiro lugar onde devemos procurar pistas para solução do problema. O Logstash, um servidor de log que possui ferramentas de análise, consolida logs de muitos servidores e faz até mesmo com que os dados sejam pesquisáveis.

Tudo sob controle 66

Graças ao I-Nex, os usuários podem ter uma visão geral de todas as informações de inventário de hardware importantes, tais como placas de video, processadores e discos rígidos.

Page 5: Linux Magazine Community Edition 103

8 www.linuxmagazine.com.br

Coluna do Alexandre Borges

Metasploit – parte 3

Como exportar dados de escaneamento em formatos legíveis por geradores de relatórios é o tema deste mês. por Alexandre Borges

Terminamos a coluna anterior comentando a respeito da possibibilidade de armazenar os resultados do nosso escaneamento na base de

dados PostgreSQL do próprio Metasploit e, como o leitor pôde acompanhar, aprendemos que é muito simples apagar e recriar novas workspaces dentro do framework. Entretanto, não é difícil nos depararmos com a necessidade de armazenar os resultados de nos-so escaneamento através do NMAP em outros locais e aplicativos que não seja o próprio Metasploit. Caso o leitor enfrente uma situação semelhante, a alternativa é salvar a saída do NMAP em XML.

Como ambiente de testes continuo usado a má-quina virtual Metasploitable2 e, por isto, podemos seguir executando:

# nmap -sS 10.10.3.131 -D 200.132.131.19, 192.158.1.231 -A -oX xml_report

Será gerado o relatório “xml_report” em XML con-tendo o resultado do escaneamento (usando “decoy” para confundir o alvo e fazer parecer com que os pa-cotes originem-se de endereços IP diferentes do real) o qual pode ser importado em qualquer ferramenta de geração de relatórios.

Acredito que seria muito frustante acreditar que um framework excepcional como o Metasploit pudesse so-mente nos permitir escanear portas de outras máquinas através do NMAP (embora, na minha opinião, seja de longe o melhor scanner de todos). Para nossa sorte exis-tem outras opções muito úteis não somente para veri-ficação de portas assim como de aplicativos. Observe a listagem 1. A saída nos mostra que existem diversos tipos de scanners de porta que podemos usar além do tradicional NMAP. Vamos a um exemplo:

msf > use auxiliary/scanner/portscan/tcpmsf auxiliary(tcp) > show options

Module options (auxiliary/scanner/portscan/tcp) (listagem 2):O que nós fizemos ? Usamos o comando use para

escolher o módulo de escanemento mais conveniente para nossas necessidades (neste caso a técnica escolhi-da foi a mais simples disponível que é justamente o “TCP scan” que realiza todo o processo de handshake) e, em seguida, avaliamos quais opções são necessárias configurar sendo que as principais são aquelas que não possui valor padrão. Assim, o único parâmetro que não possui um valor padrão é justamente o IP da máquina que desejamos escanear, então executamos:

Listagem 1: Provedor de dados # msfconsole msf > search portscan Matching Modules================Name Disclosure Date Rank Description auxiliary/scanner/http/wordpress_pingback_access normal Wordpress Pingback Locatorauxiliary/scanner/natpmp/natpmp_portscan normal NAT-PMP External Port Scannerauxiliary/scanner/portscan/ack normal TCP ACK Firewall Scannerauxiliary/scanner/portscan/ftpbounce normal FTP Bounce Port Scannerauxiliary/scanner/portscan/syn normal TCP SYN Port Scannerauxiliary/scanner/portscan/tcp normal TCP Port Scannerauxiliary/scanner/portscan/xmas normal TCP “XMas” Port Scanner

CO

LU

NA

Page 6: Linux Magazine Community Edition 103

9Linux Magazine #103 | Junho de 2013

msf auxiliary(tcp) > set RHOSTS 10.10.3.131RHOSTS => 10.10.3.131msf auxiliary(tcp) > set PORTS 1-500PORTS => 1-500

É claro que poderíamos configurar o número má-ximo de portas escaneadas simultaneamente (CONCUR-RENCY – deixamos o valor padrão), o intervalo de portas (PORTS – alteramos para o intervalo 1-500) e o número de threads realizando o escaneamento (THREADS – man-tivemos este valor intocado) que nos permitiria verificar diversas máquinas em simultâneo. Assim:

msf auxiliary(tcp) > run [*] 10.10.3.131:25 - TCP OPEN[*] 10.10.3.131:23 - TCP OPEN[*] 10.10.3.131:22 - TCP OPEN[*] 10.10.3.131:21 - TCP OPEN[*] 10.10.3.131:53 - TCP OPEN

[*] 10.10.3.131:80 - TCP OPEN[*] 10.10.3.131:111 - TCP OPEN[*] 10.10.3.131:139 - TCP OPEN[*] 10.10.3.131:445 - TCP OPEN[*] Scanned 1 of 1 hosts (100% complete)[*] Auxiliary module execution completedmsf auxiliary(tcp) >

observe que existem muitas portas abertas embora tenhamos feito uso de um intervalo bem restrito de portas assim como também usamos o método mais simples de escaneamen-to (TCP). Aconselho que o leitor teste os outros métodos de escanemento assim como um intervalo mais amplo. Vou continuar este assunto no mês que vem. Até mais. n

Listagem 2: Provedor de dados Name Current Setting Required Description

CONCURRENCY 10 yes The number of concurrent ports to check per hostPORTS 1-10000 yes Ports to scan (e.g. 22-25,80,110-900)RHOSTS yes The target address range or CIDR identifierTHREADS 1 yes The number of concurrent threadsTIMEOUT 1000 yes The socket connect timeout in milliseconds

Alexandre Borges (linkedin: br.linkedin.com/in/aleborges) é instrutor e especia-lista sênior em sistemas operacionais Unix, Linux, Banco de Dados, Virtualiza-ção, Cluster, Storage, Servidores, Backup, Desempenho e Segurança, além de possuir profundo envolvimento com assuntos relacionados ao kernel Linux.

Page 7: Linux Magazine Community Edition 103

20 www.linuxmagazine.com.br

Perda de tempoSua desculpa não justifica a perda de tempo em adotar o código aberto. por Augusto Campos

No finalzinho de junho fui surpreendido pela notícia de que o representante de uma das entidades que – pelo menos em tese – representam os produtores

de software brasileiros declarou ao público que o governo brasileiro passou 10 anos “perdendo tempo” discutindo soft-ware livre, e enquanto isso os outros países investiram em redes, nuvem e outras tecnologias dominantes do mercado.

A declaração me chama a atenção por tantos aspectos, que mal sei por onde começar. Vejamos o lado bom das tecnologias dominantes mencionadas: por exemplo: redes e a nuvem são justamente duas áreas de profunda partici-pação (e eventualmente domínio) das soluções em código aberto, nas quais vários dos grandes nomes do mercado – e não só os tradicionalmente tidos como bastiões da liberdade de software – investiram e contribuíram ao longo da década que o representante da entidade dá como perdida no Brasil.

E não é só nas redes e na nuvem: várias outras “tecnologias dominantes do mercado” são marcadas pela forte presença do código aberto em várias das suas camadas: o mercado mó-vel, as redes sociais, a virtualização, os supercomputadores... quantos dos desenvolvedores que essa entidade representa

pensariam em desenvolver um substituto proprietário para concorrer com os nomes open source desses mercados?

Outro aspecto que chega a ser risível é o de associar os as-suntos discutidos pelo governo à perda de tempo no mercado em que a entidade atua. Será que as empresas internacionais que passaram os últimos 10 anos usando com sucesso uma infraestrutura open source para criar soluções dinâmicas e lucrativas esperaram os respectivos governos discutirem as soluções que elas iam criar? Certamente há apoio governa-mental lá fora, mas também há vários exemplos recentes de empresas bem-sucedidas e que estão ativamente em conflito com seus próprios órgãos governamentais, sobre matérias técnicas, de propriedade intelectual, de comércio exterior, de regulação de uso do poder econômico e mais.

Falar da situação internacional como se lá fora o go-verno estivesse discutindo os modelos de produção de software que interessam a essa entidade simplesmente ignora essa diversidade de posições.

Nada disso significa, entretanto, uma afirmação de que a posição do governo federal a respeito do software livre seja um exemplo de efetividade. Tanto no que diz respeito à adoção de software livre pelo próprio poder público em todos os níveis, quanto no de desenvolvi-mento e outras formas de obtenção de software livre pelo governo, como no de fomento à produção e ao uso de software livre pela sociedade civil, a lista de tentativas é bem maior do que o número de sucessos.

Mas daí a apontar que isso é a causa da perda de tempo pela entidade que representa os produtores de software há uma grande distância. Parafraseando os slo-gans dos movimentos sociais online no final do primeiro semestre, essa entidade não me representa. E acredito que não lhe represente também – e se representa, pa-rece não estar fazendo um bom trabalho. n

Augusto César Campos é administrador de TI e, desde 1996, mantém o

site BR-linux.org, que cobre a cena do Software Livre no Brasil e no mundo.

Coluna do Augusto

CO

LU

NA

Será que as empresas internacionais que passaram os últimos 10 anos usando com sucesso uma infraestrutura open source para criar soluções dinâmicas e lucrativas esperaram os respectivos governos discutirem as soluções que elas iam criar?

Page 8: Linux Magazine Community Edition 103

21Linux Magazine #103 | Junho de 2013

ERP – SISTEMA DE GESTÃO

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, técnicos de suporte ou sistema de backup. Garante alta disponibilidade e oferece fácil acesso via browser.

Agora você tem o controle sobre o desempenho do seu negócio

sempre à sua mão.

SOFTWARE

Compras

Estoques

Clientes

Vendas

Finanças

NF-e

Fornecedores

Solução completa hospedada em nuvem (Cloud Computing)

Saiba mais em:www.vectory.com.br

+55 11 3104 6652

Page 9: Linux Magazine Community Edition 103

36 www.linuxmagazine.com.br

Virtualização

A boa e velha segurançaNovamente estamos às voltas com assuntos como invasão de privacidade, roubo de dados e monitoramento de informações. por Flávia Jobstraibizer

Segurança não é um assunto que pode ser dei-xado para depois. Não é algo que pode ser relegado à uma gaveta para análise posterior.

Estamos em um momento tecnológico e social no qual informações geram guerras e conflitos entre nações, onde o assunto da moda gira em torno quem vazou determinada informação e o tópico do momento fala sobre o fato de que o governo está de olho em tudo o que você faz na Internet e monitora também suas ligações telefônicas.

Há muito mais sob esse véu do que se imagina. Enquanto um governo monitora ligações telefôni-cas de donas de casa e todos voltam suas atenções para essa notícia, os invasores estão firmes e fortes tentando entrar no servidor da sua empresa ou ten-tando obter dados confidenciais dos seus clientes, dados estes que você pensa estarem totalmente se-guros no protegido servidor de banco de dados tran-cafiado em um dos melhores datacenters do país.

Talvez você não deva dormir tão tranquilo. Nes-ta edição da Linux Magazine, vamos abordar um problema que é velho conhecido dos desenvol-vedores, analistas de segurança e profissionais da área de segurança da informação em geral: os ata-

ques SQL Injection. Saiba quais são as novidades deste vetor de ataque e simule invasões de forma que seja possível entender como eles funcionam e como fazer para evitá-los!

Ainda nesta edição, conheça o Grsecurity que age como uma central de isolamento de recursos baseados em perfis de usuário. Com esta ferramen-ta o administrador poderá “treinar” o sistema de forma que aprenda qual é o papel de determinado usuário e, com isso, possa garantir que este perfil de usuário não executará tarefas aleatórias e pre-judiciais ao sistema.

Para finalizar, aprenda como funcionam as re-gras de compliance e aprenda a utilizá-las através da ferramenta OpenSCAP.

Esta edição, cheia dos mais modernos recursos de segurança, está imperdível! Boa leitura! n

Matérias de capaConformidade de segurança 37

Injeções do mal 40

Hermético 46

CA

PA

Page 10: Linux Magazine Community Edition 103

SOFTWARE

Solução completa hospedada em nuvem (Cloud Computing)

Saiba mais em:www.vectory.com.br

+55 11 3104 6652

Agora você tem o controle sobre o desempenho do seu negócio

sempre à sua mão.

A solução de gestão integrada ADempiere é um poderoso sistema ERP, CRM e SCM de Código Aberto, que conta com um conjunto completo de recursos, organizados através de processos de negócios. Essa organização resulta em uma plataforma única, totalmente integrada e consistente, proporcionando aos usuários uma visão integral de sua empresa e permitindo uma análise em 360 graus de todo o relacionamento com clientes, fornece-dores e colaboradores.

Page 11: Linux Magazine Community Edition 103

62 www.linuxmagazine.com.br

TUTORIAL | Armazenamento e pesquisa de logs

Armazenamento e pesquisa de logs

Log centralizadoQuando algo dá errado em um sistema, o arquivo de log é o primeiro lugar onde devemos procurar pistas para solução do problema. O Logstash, um servidor de log que possui ferramentas de análise, consolida logs de muitos servidores e faz até mesmo com que os dados sejam pesquisáveis. por Martin Loschwitz

Se algo der errado em uma rede corporativa, o administrador deve encontrar e resolver o problema

rapidamente. Encontrar informações geralmente não é um problema – a maioria dos sistemas de TI produzem um fluxo constante de entradas de log no sistema e mensagens de erro – mas, avaliando essas informações correta-mente em redes complexas onde estão presentes muitos dispositivos, sistemas e servidores, na maior parte das vezes é mais fácil dizer do que fazer.

Um problema é a quantidade de informação produzida. Por um lado, uma ferramenta como o Pacemaker Cluster Manager é particularmente detalhada, produzindo muitas vezes a saída necessária. Com o Apache, por

outro lado, os dados podem acabar indo parar em muitos lugares se o ad-ministrador definir o armazenamento do log de cada host separadamente. Em servidores web que atendem à muitos clientes, um grande número de arquivos de log se acumulam, o que significa que a depuração de problemas específicos para um usuário individu-al pode ser uma tarefa interminável.

Ambientes de computação em nuvem que dependem do OpenStack, como o CloudStack ou outras plataformas de nuvem, raramente possuem menos de 20 servidores e a proliferação de logs de servidor é proporcional ao número de sistemas presentes nestes servidores. A solução clássica é que o servidor de log colete

os logs em um sistema centralizado, ao invés de deixá-los espalhados por toda a rede. Esta abordagem ajuda a evitar a digitação excessiva quando se navega entre servidores via SSH. Alguns arquivos de log até mesmo indexam os logs para uma pesquisa rápida e conveniente. Ferramentas comerciais como o Splunk [1] fornecem este tipo de serviço de log de valor agregado.

A resposta da comunidade de có-digo aberto para essas ferramentas de log comercial é o Logstash [2], um serviço de login centralizado que oferece uma opção para procurar por entradas de log existentes via interface web.

O Logstash e seus assistentesO Logstash por si só não assegura uma gestão significativa e centralizada de arquivos de log. Para desempenhar suas tarefas como esperado, o Logstash precisa de alguma ajuda. O programa em si é um aplicativo Java e, apesar de todos os preconceitos que os adminis-tradores têm contra o Java – justificados ou não – a decisão dos desenvolvedores do Logstash de seguir com o Java foi bem fundamentada. Como o Java está naturalmente instalado no Windows, o Logstash pode incluir arquivos de log do Windows em sua coleção; isto seria difícil de conseguir com os outros servi-ços Rsyslog, na maior parte dos casos.

TU

TO

RIA

L

Figura 1 A organização e gerenciamento das mensagens de log não são tratadas pelo Logstash mas pelo ElasticSearch, que é executado em segundo plano.

Page 12: Linux Magazine Community Edition 103

63

| TUTORIALArmazenamento e pesquisa de logs

Linux Magazine #103 | Junho de 2013

A instalação Logstash que se estende ao longo de mais de um servidor consiste em ao menos cinco serviços diferentes. O papel central é desempenhado pelos próprios componentes do Logstash: o shipper – basicamente um cliente exe-cutando sobre cada sistema de destino – coleta as mensagens de log. No próximo passo, ele as envia para o indexer, um indexador que interpreta e processa as mensagens de log, conforme especifica-do pelo administrador. O host no qual o indexador é encontrado geralmente também executa o servidor web Logs-tash, que oferece aos administradores uma caixa de pesquisa para arquivos de log. Em segundo plano, dois outros ser-viços que não pertencem diretamente ao Logstash, mas que são importantes para o seu funcionamento, cumprem suas funções: o agente de mensagens Redis e o ambiente de armazenamento e pesquisa ElasticSearch.

O Redis é o ponto central da comunicação entre o shipper e o indexer. O Logstash em cada ser-vidor entrega suas mensagens para o servidor Redis, onde o indexador Logstash os recupera no passo se-guinte. O ElasticSearch, também um aplicativo Java, compila o índice no segundo plano e fornece a interface para a qual o servidor web Logstash encaminha solicitações de pesquisa da interface web.

Design modularUma grande vantagem do Logstash é a sua diversidade, que surge a partir do design modular e torna a ferramenta muito flexível: até alguns meses atrás, por exemplo, era comum as instalações Logstash usarem um corretor AMQP no lugar do Redis – sendo o RabbitMQ [3] a escolha padrão. No entanto, o módulo amqp para Logstash não era muito bem desenvolvido e nem era particularmente popular entre os de-senvolvedores do Logstash. A decisão de mudar para um agente diferente foi implementada de forma muito fácil, pois apenas a interface para o agente

de mensagens precisava ser codifica-da. Enquanto isso, o conector Redis funciona perfeitamente e o RabbitMQ tornou-se uma relíquia do passado.

Sem limitesEm outros lugares, o Logstash impõe uma criatividade praticamente sem limites para o administrador: a ferra-menta não só oferece a possibilidade de arquivar entradas de log via filtros definidos como também interpretá-las pois as entradas de log individuais são indexadas e tornam-se pesquisáveis.

Por exemplo, na requisição, o Logs-tash gerencia os logs HTTP, permitin-do a busca sistemática mais tarde na interface web para todas as consultas possíveis que causaram um “erro in-terno”. Aplicado ao Pacemaker, por exemplo, isso significa que os admi-nistradores poderiam procurar expres-samente por mensagens de log com pacemakers um prefixo ERROR. Os filtros também podem ser projetados para remover completamente várias entradas de registros de log. Por exem-plo, se quisermos manter mensagens syslog clássicas fora do arquivo de log, será preciso somente modificar a con-figuração do shipper Logstash.

Configuração de testeSe o usuário quiser experimentar o Logstash, estará com sorte. Contraria-mente às alegações feitas na Internet, a instalação de nenhuma maneira é uma tarefa hercúlea. Apenas é preciso esclarecer de antemão qual papel será atribuído a qual host. Uma vez que estiver claro em qual host o servidor Redis, o ElasticSearch e o indexador Logstash estarão funcionando, a ta-refa estará concluída. O exemplo a seguir é baseado no Ubuntu 12.04, mas também funciona no Debian. Paco-tes RPM para Redis e ElasticSearch para distribuições empresariais típicas também estão disponíveis na web, in-cluindo RHEL e SLES. A facilidade de instalação do Redis depende muito se os pacotes de servidor Redis existem

de fato para o sistema do usuário. No Ubuntu, um simples apt‑get install redis‑server instala os componentes. Em seguida, é aconselhável modificar a entrada 127.0.0.1 no arquivo /etc/re‑dis/redis.conf para que ela contenha o endereço IP do host; caso contrário, o Redis conecta-se ao host local, que impede que outros hosts entreguem suas mensagens Logstash diretamente para o Redis. Aqueles que valorizam a segurança devem definir uma se-nha para o acesso através da diretiva requirepass no arquivo redis.conf.

Instalação do ElasticSearchO ElasticSearch (figura 1) é um apli-cativo Java como o Logstash; mas, in-felizmente, nenhum dos pacotes estão disponíveis para Ubuntu. Felizmente, a ajuda está disponível no Upstream, que oferece um pacote Debian pré-

Listagem 1: shipper.conf

01 input { 02 file { 03 type => "syslog" 04 05 # Wildcards work here :) 06 path => [ "/var/log/ messages", "/var/log/07 syslog", "/var/log/*.log" ] 08 } 09 file { 10 type => "apache‑access" 11 path => "/var/log/apache2/ access.log" 12 } 13 14 file { 15 type => "apache‑error" 16 path => "/var/log/apache2/ error.log" 17 } 18 } 19 20 output { 21 stdout { debug => true debug_ format => "json"} 22 redis { host => "192.168.122.165" data_ type => 23 "list" key => "logstash" } 24}

Page 13: Linux Magazine Community Edition 103

64 www.linuxmagazine.com.br

TUTORIAL | Armazenamento e pesquisa de logs

-compilado para Ubuntu em seu site [4] ou que pode ser instalado com o comando dpkg ‑i. O comando inicial-mente retorna uma mensagem de erro por conta de dependências que não são cumpridas. Após publicar o comando apt‑get ‑f install, o ElasticSearch está pronto. Por padrão, o ElasticSearch tam-bém escuta o endereço 127.0.0.1, então um indexador deve ser executado no mesmo host. Se o usuário quiser que o ElasticSearch e o serviço de indexação Logstash executem em diferentes hosts, encontrará as chaves necessárias para isso no arquivo /etc/elasticsearch/elasticsearch.yml; eles atendem pelos nomes network.bind_host e network.host.

Envio de dadosEm seguida, devemos configurar o próprio Logstash. É importante que este não venha sob a forma de biblio-tecas Java individuais para o cliente e servidor, mas como um grande arquivo para todos os serviços. As tarefas que uma instância do Logstash executa dependem do conteúdo do arquivo que a ferramenta utiliza como fonte para sua configuração. Após baixar o arquivo Logstash JAR [4], o usuário só precisa escolher os parâmetros corretos.

Para configurar um shipper, o arqui-vo shipper.conf deve aparecer como na listagem 1. Com esta configuração, o Logstash enviaria as mensagens a par-tir dos arquivos do syslog e do Apache para o indexador no domínio virtual padrão. O host com o indexador nes-

te exemplo é 192.168.122.165. A chave mostrada na linha 22 pode ser um pou-co confusa; não se refere a uma chave criada para fins de autenticação, mas ao valor usado pelo Redis como o nome da fila Logstash. Com este arquivo de configuração, o comando:

java ‑jar logstash‑1.1.9‑monolithic.jar agent ‑f shipper.conf

inicia o Logstash.

IndexaçãoConfigurar o indexador não é complicado se começarmos com uma configuração adequada (lis-tagem 2). A configuração Logstash é, assim, dividida em entrada e saída de blocos, que – conforme o nome sugere – especificam como o serviço começa e para onde ele encaminha suas novidades.

O indexador inicia seu trabalho diário com o comando:

java ‑jar logstash‑1.1.9‑monolithic.jar agent ‑f indexer.conf

Em contraste com o shipper, o indexador praticamente não produz nenhuma saída própria no canal de saída padrão, por isso, se tudo esti-ver calmo por lá, o usuário não tem nenhuma razão para se preocupar.

ServidorFinalmente, precisamos do pró-prio servidor web Logstash; ele não precisa de um arquivo de configuração próprio e pode ser iniciado com:

java ‑jar logstash‑1.1.9‑monolithic.jar web

‑‑backend elasticsear ch://192.168.122.165/

Depois disso, o usuário deve ser capaz de efetuar login ime-diatamente no sistema Logstash na porta 9292 (figura 2). Neste exemplo, o endereço completo seria http://192.168.122.165:9292. Logo após a primeira inicialização, mensagens de log devem começar a chegar (figura 3); alternativamen-te, podemos verificar o processo

Figura 2 Uma pesquisa nos registros Logstash em busca de “Network Manager” exibe mensagens cronologicamente ordenadas.

Figura 3 Atualizações de status do Logstash revelam como o software fun-ciona: ele envia mensagens de log para o Redis.

Listagem 2: Indexer.conf01 input { 02 redis { 03 host => "192.168.122.165" 04 type => "redis‑input" 05 data_type => "list" 06 key => "logstash" 07 format => "json_event" 08 } 09 } 10 output { 11 elasticsearch { 12 host => "192.168.122.165" 13 } 14}

Page 14: Linux Magazine Community Edition 103

65

| TUTORIALArmazenamento e pesquisa de logs

Linux Magazine #103 | Junho de 2013

através da caixa de pesquisa. Isso basicamente completa os principais passos de instalação do Logstash.

O sysops tem a liberdade de “en-feitar” a configuração para atender às suas próprias necessidades. Por exemplo, o usuário normalmente quer executar o shipper Logstash em todos os sistemas na iniciali-zação, o que significa criar um script de inicialização correspon-dente (se quiser evitar o trabalho, é possível encontrar scripts prede-finidos na web).

Criar filtros específicos para ala-vancar todas as opções da solução também é aconselhável. Uma visão geral das possíveis opções de filtro

Logstash, que também suportam expressões regulares, pode ser en-contrada no site do fornecedor [5], em conjunto com uma extensa documentação.

ConclusãoO Logstash é uma solução muito elegante para log centralizado. Livros de alguns especialistas e receitas Puppet já estão disponí-veis, o que é especialmente útil para administradores que mantêm grandes parques computacionais e

Mais informações[1] Splunk: http://www.splunk.com

[2] Logstash: http://www.logstash.net

[3] RabbitMQ: http://www.rabbitmq.com

[4] Download do ElasticSearch: http://www.elasticsearch.org/download/2013/02/14/0.20.5.html

[5] Exemplos de filtros: https://github.com/logstash/grok‑patterns

trabalham com gerenciamento cen-tralizado de arquivos de configura-ção. O Logstash pode ser adaptado facilmente em tais configurações. No entanto, o Logstash realmente mostra a que veio quando pesquisa por logs. Administradores que têm procurado manualmente através de dezenas de milhares de linhas irão encontrar na solução de problemas do Logstash uma verdadeira reve-lação. Apenas os administradores com pronunciada alergia ao Java não devem apreciá-lo. n

Gostou do artigo?Queremos ouvir sua opinião. Fale conosco em: [email protected] artigo no nosso site: http://lnm.com.br/article/8653

Page 15: Linux Magazine Community Edition 103

66 www.linuxmagazine.com.br

TUTORIAL | Inventário de hardware

Inventário de hardware

Tudo sob controleGraças ao I-Nex, os usuários podem ter uma visão geral de todas as informações de inventário de hardware importantes, tais como placas de video, processadores e discos rígidos. por Vincze-Aron Szabo

Detalhes gerados sobre um sistema muitas vezes po-dem parecer desorganiza-

dos. Às vezes, informações sobre processadores, discos rígidos e in-terfaces só estão disponíveis através de uma coleção de ferramentas não relacionadas. Mesmo se tivermos um utilitário de sistema unificado, este pode não fornecer detalhes suficientes para a resolução de potenciais problemas.

O I-Nex [1] é uma alternativa poderosa para outros utilitários de sistema de informação em formato gráfico. A ferramenta de sistema

I-Nex empacota uma coleção útil de dados de dispositivo em uma ferramenta com interface fácil de usar (ferramentas similares no espa-ço Linux incluem utilitários como o CPU-G [2] e o HardInfo [3]).

InstalaçãoCom o uso do comando sudo os pacotes corretos, a instalação é fácil. O I-Nex depende da linguagem de programação Gambas, um dialeto básico orientado a objeto que atua como um substituto para o Visual Basic no Linux. O nome “Gambas” é um acrônimo recursivo para “Gambas Almost Means Basic”.

O I-Nex necessita de pacotes Gambas3 atuais que não podem ser encontrados na versão LTS do Ubuntu 12.04 ou 12.10, então o usuá-rio precisa adicionar o repositório PPA para a versão atual manualmente para acessar os pacotes necessários para a instalação do I-Nex (listagem 1). Para os derivados do Ubuntu estas regras também se aplicam.

Após a instalação, podemos iniciar o I-Nex com o comando i-nex.gam-bas, ou iniciar o programa a partir do menu inicial (Aplicativos). O I-Nex precisa de um momento para reunir dados de hardware antes de apresen-tar os resultados em 10 abas através de uma interface gráfica de usuário.

Informações detalhadasAs duas primeiras abas contêm da-dos sobre o processador. A seção CPU designa o tipo, frequência, número de núcleos e tamanho de cache (figura 1). Um clique em Info abre a entrada correspondente para o processador no site [4], que fornece mais informações sobre o processador e a família associada. A subseção Cache exibe os dados de cache para cada núcleo, que podemos selecionar no menu dro-pdown no canto inferior direito.

Dados úteis sobre a placa de ví-deo e os chipsets instalados são lis-tados na guia GPU. Em Graphics card (Placa de vídeo), nesta página, podemos ver o nome GPU e o nú-mero do modelo. A seção Available resolutions (resoluções disponíveis) inclui um breve resumo das resolu-ções suportadas: além da resolução

TU

TO

RIA

L

Listagem 1: Instalação do I-Nex

$ sudo add-apt-repository ppa:nemh/gambas3

$ sudo add-apt-repository ppa:i-nex-development-team/ stable

$ sudo apt-get update $ sudo apt-get install i-nex

Figura 1 O I-Nex fornece uma visão geral de todas as principais informações do hardware em 10 guias.

Page 16: Linux Magazine Community Edition 103

67

| TUTORIALInventário de hardware

Linux Magazine #103 | Junho de 2013

mínima e atual, o I-Nex também lista a resolução mais alta possível.

Ao mover-se de uma guia para outra, o usuário pode vasculhar as informações mais importantes, tudo em um só lugar e com apenas alguns cliques. O programa é um pouco mais conciso nas seções Mobo (informações sobre a placa mãe) e Sound (Som). Em contraste, o I-Nex apresenta informações abrangentes sobre as unidades montadas do sis-tema e mídias de armazenamento na aba Drives (figura 2).

Além de especificar o fabricante, modelo, tamanho e capacidade livre atual, o I-Nex mostra todos os tipos de informações sobre o estado da unidade selecionada. Os dois menus de seleção permitem que o usuário mude para uma unidade diferente ou para outra partição do disco, se

necessário. Além dos fatos mostra-dos pelo hardware, a ferramenta I-Nex fornece detalhes adicionais sobre o nome da distribuição e do kernel. Por exemplo, a guia System (Sistema) apresenta dados básicos importantes sobre o ambiente Li-nux, como o hostname, distribuição, versão, arquitetura e versão desktop. Pressionar o botão Check (Verificar) revela quantos pacotes estão instala-dos atualmente no sistema.

A guia Kernel lista todos os kernels identificáveis de sistemas operacionais, com destaque para o kernel ativo no momento. O botão Modules (Módu-los) oferecido aqui abre uma janela na qual é possível obter informações sobre cada módulo do kernel.

Geração de relatóriosO I-Nex possui algumas outras ca-racterísticas úteis para o comparti-lhamento de dados coletados, uti-lizando os botões da ferramenta na parte inferior esquerda da janela. O botão com o ícone da câmera permite que o usuário extraia uma captura de tela da aba atual e salve-o como um arquivo PNG ou JPG em um local de sua preferência.

Alternativamente, o programa gera um relatório completo quando clicamos no ícone da impressora, o que permite abrir a caixa de diálogo Generate Report (Gerar relatório) e selecionar os dados desejados para adicionar ao relatório. Embora o software não liste todas as guias, as propriedades que podemos selecio-nar no lado direito da caixa de diá-logo contêem ferramentas de linha de comando que fornecem os dados para as guias faltantes.

Depois de selecionar todo o con-teúdo desejado, o usuário pode veri-ficar a caixa Generate Report (Gerar Relatório) para escolher se deseja enviar o relatório para um serviço online do tipo nopaste. Esses servi-ços removem a necessidade de colar textos longos em fóruns ou chats; em

vez disso, publica-se um link onde o texto armazenado está disponível.

Se quiser utilizar este serviço, basta marcar a caixa e selecionar o serviço adequado. Após clicar em Generate (Gerar), o software faz o upload do relatório no serviço se-lecionado e também armazena um arquivo de texto localmente na pas-ta especificada. O link para acessar o relatório na Internet aparece na caixa de texto que anteriormente era mostrada vazia (figura 3).

ConclusãoGraças ao I-Nex, podemos rápida e facilmente coletar informações so-bre dispositivos e sistemas sem clicar nas definições de sistema do Ubun-tu ou digitar comandos complexos na linha de comando. A visualiza-ção de informações é evidente na maioria das guias, mas parece um pouco sobrecarregada no que tange à unidades de disco. Neste ponto, o tamanho da janela fixa do I-Nex prova ser um problema irritante.

No entanto, o programa fornece todas as informações básicas sobre hardware e distribuição. Assim, o I-Nex é útil tanto para a depuração e – graças à função despretensiosa de relatório – pode ser uma ajuda valiosa para a comunicação via e-mail, fóruns ou redes sociais. n

Figura 2 As informações sobre os drives são densas.

Mais informações[1] I-Nex on Launchpad: https://

launchpad.net/i-nex

[2] CPU-G: http://cpug.sourceforge.net/

[3] HardInfo: http://hardinfo.berlios.de/HomePage/

[4] CPU World: http://www.cpu-world.com/

Gostou do artigo?Queremos ouvir sua opinião. Fale conosco em: [email protected] artigo no nosso site: http://lnm.com.br/article/8654

Figura 3 Relatórios detalhados apoiam a resolução de problemas e uma troca de informações com outros usuários.

Page 17: Linux Magazine Community Edition 103

68 www.linuxmagazine.com.br

ANDROID | Linux no Android

Linux no Android

Linux no AndroidPara instalar o Linux em um dispositivo Android, o usuário tem várias opções. Analisamos algumas dessas possibilidades.por Dmitri Popov

Instalar uma distribuição Linux em um dispositivo Android abre todo um novo mundo de pos-

sibilidades. Podemos transformar um dispositivo Android em um ser-vidor Linux/Apache/MySQL/PHP e executar aplicativos baseados na web sobre ele, instalar e usar suas ferramentas favoritas do Linux no Android, e até mesmo executar um

ambiente desktop gráfico. Em re-sumo, ter uma distribuição Linux em um dispositivo Android pode ser útil em muitas situações.

Podemos instalar o Linux em um dispositivo Android de várias ma-neiras; neste artigo, analisaremos algumas das opções disponíveis.

KBOX: sem root obrigatórioEm muitos casos, a instalação do Linux no Android normalmente significa passar pela confusão do root do sistema Android sob o ris-co de danificar o dispositivo (pro-blema conhecido como “bricar” o aparelho). Se o usuário não acha esta ideia atraente, então poderá gostar de conhecer o KBOX [1].

Esta mini distribuição Linux de usuário único é integrada di-retamente em um emulador de terminal, e pode ser instalada em dispositivos Android não rootea-dos (figura 1). O KBOX não está disponível na Google Play Store, então temos que baixar o pacote APK no site do projeto e instalá-lo manualmente. A propósito, o au-tor do KBOX fornece não apenas o pacote pronto para usar, como também algumas descrições técni-

cas do seu funcionamento interno do KBOX [2].

O KBOX vem com uma varie-dade de utilitários BusyBox (co-mandos find, grep, tar, o editor vi etc.), um servidor e um cliente SSH, e a ferramenta scp para có-pia de arquivos. Uma série de ou-tros pacotes estão disponíveis sob a forma de downloads separados, incluindo o editor vim e sincroni-zador rsync. O rsync pode atuar como cliente e servidor. Instalar pacotes no KBOX é possível através da ferramenta dpkg. Para instalar o pacote rsync, por exemplo, baixe-o a partir do site do projeto e use o seguinte comando:

dpkg ‑i /sdcard/Download/ rsync_3.0.8_kbox.deb

Obviamente, o KBOX não é um substituto para uma distribuição Linux plenamente desenvolvida, mas pode ser útil em certas situ-ações. Se instalarmos o rsync, por exemplo, podemos usar essa fer-ramenta poderosa e flexível para fazer backup de arquivos de um dispositivo Android para um ser-vidor remoto e, graças ao servidor SSH fornecido, podemos acessar o dispositivo Android através de uma conexão SSH.

AN

DR

OID

Figura 1 O KBOX é uma distribuição Linux em miniatura, que não necessita de root.

Page 18: Linux Magazine Community Edition 103

69

| ANDROIDLinux no Android

Linux Magazine #103 | Junho de 2013

Root do chrootEmbora o KBOX ofereça uma

maneira simples de instalar o Li-nux em um dispositivo Android, o usuário pode achá-lo muito li-mitado para suas necessidades. Neste caso, devemos considerar a instalação de uma distribuição Linux regular, mas, para isso, é necessário tornar o aparelho aces-sível administrativamente (fazer o root do dispositivo) em primeiro lugar. O procedimento exato de root depende do dispositivo An-droid em questão, e isso pode ser complicado às vezes. No entanto, há uma abundância de manuais para root disponíveis na Internet para ajudá-lo ao longo do caminho.

Quando se trata de instalar o Linux em um dispositivo Android rooteado, uma opção é o Linux Deploy [3]. Este aplicativo de có-digo aberto oferece uma maneira fácil de instalar e executar uma distribuição Linux suportada em um ambiente chroot, que é basica-mente um diretório especial que funciona como um diretório raiz

temporário. Como o diretório raiz é o topo da hierarquia do sistema de arquivos, aplicativos em execução no ambiente chroot não acessam diretórios acima do diretório raiz. Em outras palavras, o chroot cria um ambiente isolado que não in-terfere com o resto do sistema. A boa notícia é que o Linux Deploy oculta todos os detalhes técnicos atrás de uma interface amigável, logo, não é necessário que o u-suário saiba tudo o que acontece em segundo plano para ser capaz de instalar e executar o Linux no dispositivo Android rooteado.

Antes de prosseguirmos com a instalação do Linux no Android usando o Linux Deploy, precisa-mos instalar dois aplicativos adicio-nais no dispositivo: um emulador de terminal e um cliente VNC. Embora vários emuladores de ter-minais e aplicativos VNC cliente estejam disponíveis na Play Store do Google, o usuário não se arre-penderá de usar o VX ConnectBot

Figura 2 Configurações de instalação no Linux Deploy.

Figura 3 O processo de instalação no Linux Deploy é totalmente automatizado.

Page 19: Linux Magazine Community Edition 103

70 www.linuxmagazine.com.br

ANDROID | Linux no Android

[4] e o MultiVNC [5]. Ambos são eficientes aplicativos de código aberto disponíveis gratuitamente.

Para instalar uma das distribui-ções Linux suportadas usando o Linux Deploy, inicie o aplicativo e toque no botão Properties (Pro-priedades), que contém uma lista de opções configuráveis. Comece por escolher a distribuição Li-nux desejada na lista Distribution (Distribuição) da seção Deploy. O Linux Deploy suporta muitas distribuições populares, incluin-do Debian, Ubuntu, Arch Linux, Fedora e openSUSE. Para deter-minadas distribuições, também é possível selecionar uma versão específica. Escolha Debian, por exemplo, e opte pela versão dese-jada (stable, testing, unstable etc.) na lista Distribution suite.

Por padrão, o Linux Deploy usa um repositório baseado na Rússia para baixar as versões de Linux necessárias, mas o usuário pode especificar outro local, mais próximo, editando a configuração Mirror URL. Se estiver instalando o Debian, encontrará uma lista de repositórios online [6]. Escolha o local mais próximo e entre com seu URL para baixar a distribuição.

O Linux Deploy pode instalar o Linux em um arquivo de imagem,

em uma pasta específica, ou em uma partição separada, e podemos escolher a opção desejada na lista Installation type (Tipo de Insta-lação) (figura 2). Na maioria dos casos, a instalação do Linux como um arquivo de imagem único faz mais sentido, especialmente em dispositivos que não suportam o armazenamento adicional. Se o seu dispositivo Android possui um slot para cartão SD, instale o Linux em um cartão de memória ou use apenas uma partição no cartão para esse fim.

Se necessário, também podemos usar as opções apropriadas para alterar o caminho da instalação padrão, especificar o tamanho da imagem desejada, escolher o siste-ma de arquivos, e mudar o nome de usuário padrão do Android. O Linux Deploy também permite instalar um ambiente de desktop gráfico. O aplicativo suporta vários ambientes gráficos populares, in-cluindo o LXDE, Xfce, Gnome e KDE. Para instalar um ambiente de desktop, escolha o ambiente de trabalho desejado na lista Desktop environment (Ambiente Desktop) e habilite a opção Install GUI (Instalação da interface gráfica).

A próxima parada é a seção Startup (Inicialização). Para come-çar, certifique-se de que a opção SSH está habilitada; caso contrá-rio, o usuário não será capaz de conectar-se à instância Linux em execução. Se optar por instalar um ambiente de desktop gráfico, terá que ativar a opção VNC tam-bém, para que possa conectar-se ao desktop usando um aplicativo VNC cliente. Em seguida, role a página até a seção VNC e confi-gure as definições de VNC, como

Figura 5 Podemos acessar o desktop gráfico usando um cliente VNC direta-mente no Android...

Figura 4 Estabeleça uma conexão SSH no emulador de terminal com seu nome de usuário e o endereço IP da instância Linux.

Page 20: Linux Magazine Community Edition 103

71

| ANDROIDLinux no Android

Linux Magazine #103 | Junho de 2013

a profundidade de cor e resolução, bem como as dimensões da área de trabalho.

Depois que ajustar as configu-rações e especificar opções, sele-cione o item Install (Instalar) e espere até que o Linux Deploy conclua a instalação (figura 3). Quando a operação de instalação estiver concluída, visualizaremos a seguinte mensagem de status:

<<< end: install

Em seguida, toque no botão Start (Iniciar) para iniciar a dis-tribuição Linux instalada. Anote o endereço IP da instância Linux em execução e inicie o aplicativo de emulador de terminal (figu-ra 4). Estabeleça uma conexão SSH para a instância Linux em execução usando o endereço IP e o nome de usuário android (ou o nome de usuário especificado na janela Properties, caso tenha sido modificado). Quando solicitado, digite a senha changeme.

A primeira coisa que podemos fazer é alterar as senhas padrão. Entre com o comando passwd para alterar a senha do usuário e execute o comando sudo passwd root para especificar a senha de root. Acessar o ambiente de desktop gráfico é igualmente fácil: abra o apli-cativo cliente VNC e se conecte ao servidor VNC em execução usando a senha changeme (figuras 5 e 6).

Limbo PC EmulatorO Limbo PC Emulator [7] fornece ainda outra maneira de executar o Linux em um dispositivo Android. Este pequeno aplicativo é um port do popular emulador Qemu, e permite executar uma série de distribuições Linux leves. Antes de testar o Limbo, esteja ciente de que o programa não é particu-larmente rápido. Esta não é uma grande surpresa, considerando que ele emula a arquitetura x86 em uma plataforma baseada em ARM. A lentidão do Limbo é uma

das razões pelas quais devemos usá-lo com uma distribuição Linux ágil como o Damn Small Linux e Debian Sans como ambiente de desktop gráfico. Por outro lado, executar Linux dentro do Limbo PC Emulator não requer root e o aplicativo é muito simples de usar.

Comece por baixar a imagem ISO ou o arquivo HDD da distri-buição Linux desejada. É possível encontrar a lista de distribuições suportadas e links para imagens ISO e arquivos HDD no site do projeto [8]. Inicie o aplicativo Lim-bo no dispositivo Android, escolha New (Novo) a partir do menu dro-pdown Load VM (Carregar VM), e nomeie a nova máquina virtual (VM) (figura 7).

Vamos supor que o usuário quei-ra iniciar a VM (Virtual Machine ou Máquina Virtual) a partir de uma imagem ISO; para tanto, poderá usar a opção CDROM e selecionar o arquivo .iso baixado. Use opção Hard Disk A (Disco Rí-gido A) para criar uma imagem de disco rígido vazia para uso com a VM. Em seguida, selecione a lista

Figura 6 ...ou a partir de uma máquina remota (neste caso, um notebook com Kubuntu usando o cliente KRDC).

Figura 7 Configuração de uma máquina virtual no Limbo.

Page 21: Linux Magazine Community Edition 103

72 www.linuxmagazine.com.br

ANDROID | Linux no Android

Mais informações

[1] KBOX: kevinboone.net/kbox.html

[2] Como usar utilitários Linux utilities em um dispositivo Android não rooteado: kevinboone.net/android_nonroot.html

[3] Linux Deploy: play.google.com/store/apps/details?id=ru.meefik.linuxdeploy /

[4] VX ConnectBot: play.google.com/store/apps/details?id=sk.vx.connectbot /

[5] MultiVNC: play.google.com/store/apps/details?id=com.coboltforge.dontmind.multivnc /

[6] Debian Mirrors: http://www.debian.org/mirror/list /

[7] Limbo PC Emulator: play.google.com/store/apps/details?id=com.max2idea.android.limbo.main /

[8] Limbo no Google Code: code.google.com/p/limbo‑android/wiki/LimboAndroid /

[9] Complete Linux Installer: play.google.com/store/apps/details?id=com.zpwebsites.linuxonandroid /

[10] Linux Installer STANDARD: play.google.com/store/apps/details?id=com.galoula.LinuxInstall /

[11] Instruções de instalação do Ubuntu no Nexus 7: wiki.ubuntu.com/Nexus7/Installation/

Gostou do artigo?Queremos ouvir sua opinião. Fale conosco em: [email protected]

Este artigo no nosso site: http://lnm.com.br/article/8675

Figura 8 Execução do Damn Small Linux no Limbo.

User from the Network Configura-tion (Usuário da configuração de rede) para ativar a rede em modo NAT. Finalmente, habilite a opção External VNC (VNC Externo) se quiser acessar o desktop gráfico de uma máquina remota via VNC. Em seguida, toque no botão Start (Iniciar) para iniciar a VM criada.

Embora o Limbo seja relativa-mente lento, o aplicativo possui duas características que podem me-lhorar o desempenho do emulador. Ativar a opção High Priority (Alta Prioridade) pode acelerar a VM,

mas também pode tornar o dispo-sitivo Android menos responsivo. Um recurso que permite salvar o estado da VM não irá melhorar diretamente o desempenho, mas pode ajudar a evitar longas sequ-ências de boot ao salvar a VM em seu estado atual. Observe que esta função requer um arquivo no disco rígido. Além disso, o site do projeto oferece algumas dicas sobre como melhorar o desempenho de distri-buições específicas. Por exemplo, é possível usar os seguintes parâ-metros de boot:

boot> dsl toram noacpi noapm noscsi dma

para acelerar o Damn Small Li-nux (figura 8).

Palavra finalOs aplicativos que descrevemos neste artigo não são as únicas op-ções para executar o Linux em um dispositivo Android. Os aplicativos Complete Linux Installer [9] e Li-nux Installer [10], por exemplo, permitem instalar uma distribuição Linux em um dispositivo Android rooteado. Se o usuário possui um dispositivo Google Nexus 7, pode substituir o Android pelo Ubun-tu seguindo as instruções na wiki do Ubuntu [11]. As soluções des-critas aqui têm suas vantagens e desvantagens, mas, como todas estão disponíveis gratuitamente, podemos experimentar todas e escolher a que melhor se adapta à cada necessidade. n

Page 22: Linux Magazine Community Edition 103

73

| ANÁLISEMIPv6 – Mobilidade IPv6

Linux Magazine #103 | Junho de 2013

MIPv6 – Mobilidade IPv6

Acessibilidade em qualquer lugar

O protocolo IPv6 contempla o MIPv6, um novo padrão para comunicação com dispositivos móveis que garante acessibilidade permanente, independentemente da localização atual do usuário. Neste artigo, apresentamos uma visão geral de seus recursos. por Eric Amberg

Imagine um usuário trabalhan-do em casa com um tablet conectado à rede sem fio. Ele

sai de casa rumo ao aeroporto e, enquanto estiver dentro do taxi, o tablet usa o LTE (Long Term Evolution, que é um padrão de redes de comunicação móveis) para conectar-se ao provedor e para que possa verificar se o sistema elétrico de sua casa foi desligado. No aeroporto, o dis-positivo móvel conecta-se auto-maticamente ao Wi-Fi público, onde pode verificar o horário da decolagem e do check-in para o vôo. Enquanto tudo isso aconte-ce, o usuário estava conectado o tempo todo à rede corporativa através de um túnel seguro.

Este cenário pode soar como ficção científica, mas é mais real do que podemos imaginar. O IPv6 móvel (MIPv6) torna possível man-ter a acessibilidade em toda a rede com o mesmo endereço e mudar de rede sem interromper conexões. O pré-requisito para tal configuração é uma infraestrutura IPv6.

O problema do roamingQuando uma conexão é estabele-cida entre dois nós, é geralmen-te baseada nos endereços IP dos parceiros de comunicação. Se um parceiro altera as redes, inevita-velmente receberá um novo en-dereço IP. Como consequência,

a conexão é interrompida e deve ser restabelecida. No futuro, no entanto, a conexão entre os dois parceiros de comunicação será mantida como uma coisa natu-ral, apesar de uma alteração da conexão de rede. Este princípio é chamado de roaming (figura 1).

Dependendo da tecnologia de transmissão, mudar o link de rede sem perder a conexão já é possível. Este recurso, no entanto, depende das próprias tecnologias de rede. Isto pode ser feito, por exemplo, em redes sem fio, onde o cliente sem fio pode se mover facilmente entre diferentes pontos de acesso (APs). Se a potência recebida de um AP é demasiadamente baixa, o cliente conecta-se automaticamente ao AP mais próximo, sem perder a conexão. Isto também é possível em redes móveis, onde autenticações apropriadas e considerações medi-das garantem a cobrança de rede cruzada (cross-network billing). Uma solução baseada em IP, no entanto, permite a total independência da tecnologia de conexão e é total-mente suportada pelo MIPv6 [1].

O Mobile IP também foi de-finido para o IPv4 [2], mas esta especificação implica em algumas desvantagens em comparação com o IPv6. Por exemplo, o MIPv6 usa

AN

ÁLIS

E

Figura 1 O roaming mantém conexões mesmo quando o usuário se move de uma rede para outra.

Em casa

Conectado via WLAN

Conectado via HSDPA/LTE

A conexão é mantida durante todo o percurso

Conectado via WiFi

No trânsitoNo aeroporto

Page 23: Linux Magazine Community Edition 103

74 www.linuxmagazine.com.br

ANÁLISE | MIPv6 – Mobilidade IPv6

cabeçalhos de extensão flexíveis para evitar problemas com rotea-mento, tornando o roaming mais fácil e mais flexível. Além disso, o MIPv6 basicamente abstrai-se da camada de ligação de dados através da utilização da desco-berta de vizinhança (Neighbor Discovery) – uma tecnologia de camada de rede.

Nós móveisUm nó móvel é referenciado na terminologia IPv6 móvel como MN. O parceiro de comunica-ção é o nó correspondente (CN) e pode ser fixo (por exemplo, um servidor) ou móvel. O MN possui uma rede doméstica, que é refe-renciada como um link doméstico. Anexado a ela está um roteador, que vincula o endereço fixo do MN como o agente doméstico (HA).

Este endereço fixo é conheci-do como o endereço doméstico e é um endereço unicast global. O agente doméstico significa que o MN é acessível em qualquer lugar através do endereço doméstico (fi-gura 2). O MN pode residir no link doméstico ou em uma rede diferen-te. Qualquer outra rede é referida como um link externo. Em um link externo, o MN possui um endereço

diferente do endereço doméstico; isto é atribuído pela autoconfigu-ração ou DHCPv6. O endereço atual no link externo é conhecido como endereço de assistência. O MN envia o endereço de assistên-cia atual ao HA. Esta mensagem é conhecida como a atualização de ligação; ela cria uma ligação no HA entre o endereço doméstico e o endereço de assistência.

Como o IPv6 móvel funcionaEnquanto o MN utilizar um prefi-xo normal no link doméstico, este pode ser atingido com mecanismos de encaminhamento padrão, pois o agente doméstico com o endereço

doméstico está baseado localmen-te. Na estrada ou em viagem fora do limite do link doméstico, o MN recebe um endereço adicional (en-dereço de assistência) em qualquer link externo; ele então envia uma mensagem de atualização de vín-culo para o agente doméstico. O agente doméstico envia uma con-firmação de vínculo (ack) e – graças ao processo de vinculação – sabe o endereço de assistência sob o qual MN está atualmente acessível. O nó correspondente sempre usa o endereço doméstico do MN ao se comunicar com outro MN; isto sempre leva ao agente doméstico.

O MN pode comunicar-se de duas maneiras com o nó correspon-dente. No tunelamento bidirecional, os pacotes do CN são enviados para o agente doméstico, que os enca-minha através de um túnel para o MN. O MN envia as respostas através de um túnel reverso para o agente doméstico, que encaminha os dados para o CN. Nenhum su-porte ao IPv6 móvel é necessário ao nó correspondente. Quando a otimização de rotas é habilita-da, qualquer comunicação após a conexão inicial através do agente doméstico é tratada diretamente entre o MN e o CN, sem passar pelo HA. Um cabeçalho de enca-minhamento do tipo 2 é utilizado para este processo. A otimização de rota permite uma comunicação

Figura 2 Terminologia IPv6 móvel.

Figura 3 O cabeçalho da mobilidade.

Túnel BidirecionalOtimização de rota

Endereço domestico

Link domestico

Nó móvel

Nó correspondente

Link estrangeiro

Rede IPv6

Túnel de endereço temporário

Endereço temporário

Carga útil (1 byte)

Comprimento cabeçalho (1 byte)

Tipo MH (1 byte)

Reservado (1 byte)

Checksum (2 bytes)

Dados (variaveis)

Equivalente ao campo Next Header no cabeçalho IPv6

Comprimento de Mobility Header (MH) em unidades de 8 bytes, sem os 8 primei-ros bytes do tipo de mensagem do Mobility

Tipo de mensagem Mobility

Configurado para 0 pelo remetente e ignorado pelo destino

Checksum baseado em um pseudo-cabeçalho

Conteúdo depende do tipo MH

Page 24: Linux Magazine Community Edition 103

75

| ANÁLISEMIPv6 – Mobilidade IPv6

Linux Magazine #103 | Junho de 2013

mais eficiente, pois o roteamento pode ser otimizado, em vez de fazer um desvio através do HA.

No entanto, esta abordagem requer suporte IPv6 móvel no CN. A otimização de rota é uma das principais vantagens do IPv6 móvel sobre o IPv4 móvel pois o último não permite cabeçalhos de extensão (e, portanto, não possui cabeçalhos de roteamento).

O protocoloO IPv6 é particularmente flexível graças aos seus cabeçalhos de ex-tensão. Um cabeçalho de extensão separado, o Mobility Header (MH), foi desenvolvido especificamente para o MIPv6. Ele é usado por todas as partes (isto é, o nó móvel, o nó cor-respondente, e o agente doméstico) nas mensagens que têm a ver com a gestão e atualização de vinculações. A figura 3 mostra a configuração do cabeçalho de mobilidade. O cabe-çalho de mobilidade é indicado pelo

valor de 135 do Next Header no ca-beçalho anterior.

O campo Next Header (que atende pelo nome de “Payload Proto”) atualmente possui um valor de 59, para indicar que não há mais dados a seguir. Este campo é reservado para futuros desenvolvimentos, se mais informações forem acrescentadas algum tempo depois. O tamanho do campo de cabeçalho contém o comprimento da mobilidade do cabeçalho em unidades de 8 bytes – os primeiros 8 bytes não são contados. Assim, o MH deverá ter seu tamanho sempre com um valor múltiplo de 8 bytes. O campo do tipo MH contém o tipo de mensagem de mobilidade. Atualmente, 16 tipos de mensagens de mobilidade são definidas, incluindo a atualização obrigatória e vinculação ack. Um campo calcula o checksum com base em um pseudo-cabeçalho e segue as regras estabelecidas na RFC 2460 (IPv6).

Mensagens de mobilidade podem incluir opções que são especificadas no formato TLV (Type-Length-Value). Em particular, a opção de endereço doméstico é relevante porque o nó móvel usa-o aqui para enviar ao nó correspondente uma mensagem que contém o endereço doméstico do nó móvel. Assim, o nó correspondente pode chegar ao nó móvel em qualquer momento. No entanto, este também é um caso especial, porque esta op-ção é enviada em um cabeçalho de destino, ao invés do cabeçalho de mobilidade. Um cabeçalho de des-tino é uma extensão de cabeçalho que só é avaliada pelo alvo.

Um novo cabeçalho de rotea-mento também foi definido para o MIPv6, que permite que o nó mó-vel e o nó correspondente troquem dados diretamente, sem passar pelo agente doméstico. Este cabeçalho de extensão leva o nome de tipo 2 e designa regras especiais que podem ser configuradas em firewalls para pa-

Figura 5 O processo de atualização de vínculo.Eric Amberg.

Figura 4 O cabeçalho da atualização de vínculo.

Nó móvelAgente

doméstico

Cabeçalho IPv6

Cabeçalho IPv6

Cabeçalho de destino com opção de endereço doméstico

Cabeçalho de rota tipo 2

ESP

ESP

Cabeçalho MH móvel tipo 5

Cabeçalho MH móvel tipo 6

Sequência de número (2 bytes)Controle de sequência para vínculo de atualizações e acks.

Termo de endereço temporário móvel não expirado em unidades de 4 segundos

A = Acknowledgment flag

H = Home flagL = Compatibilidade de endereço de link localK = Chave de gerênciamento da capacidade de mobilidade

Opções possíveis: -Autorização de vínculo de opção de dado -Opção de índice de caso único -Opção de endereço temporário móvel alternativo

Bandeiras (4bits)

Reservado (12bits)

Opções (variavel)

Tempo de vida (2bytes)

Page 25: Linux Magazine Community Edition 103

76 www.linuxmagazine.com.br

ANÁLISE | MIPv6 – Mobilidade IPv6

cotes MIPv6. Como a comunicação MIPv6 basicamente utiliza primeiro o agente doméstico e o endereço doméstico, este último é inserido no cabeçalho de roteamento do tipo 2, enquanto o endereço de destino no cabeçalho IPv6 é o endereço de assis-tência para o nó móvel. O nó móvel de recepção remove o cabeçalho de roteamento e substitui o endereço de assistência com o endereço domés-tico para enganar os protocolos da camada superior nas camadas OSI de forma que estes entendam que a comunicação veio através do ende-reço doméstico.

Verificação dos vínculosVínculos e seu gerenciamento são peças-chave do MIPv6. Normalmen-te, o vínculo ocorre entre o nó móvel e o agente doméstico. No entanto, também é possível definir vínculos entre o nó móvel e o nó correspon-dente para habilitar a comunicação de roteamento otimizada. Quando um nó móvel deixa o link doméstico e recebe um endereço de assistência a partir de um link externo, ele en-via uma mensagem de atualização de vínculo para o agente doméstico. A mensagem contém o cabeçalho IPv6 e um cabeçalho de destino de opção, no qual a opção de endere-ço doméstico é definida (figura 4). A mensagem é usada para informar ao agente qual endereço doméstico usar, pois ele poderia, teoricamente, utilizar vários deles.

A mensagem é transmitida usan-do IPsec em um cabeçalho de en-capsulamento de carga de seguran-ça (ESP) e também contém outro cabeçalho de mobilidade com uma mensagem do tipo 5 (atualização de vínculo) e uma definição da flag de registro doméstico que pede ao destinatário para assumir o papel de agente doméstico. Além disso, a flag de confirmação está definida para solicitar a resposta do agente doméstico. O cabeçalho

de mobilidade também declara um ciclo de vida em unidades de quatro segundos, para determinar a validade do vínculo. Mensagens de atualização de vínculo são en-viadas para atualizar os vínculos existentes ou para fornecer infor-mações sobre um novo endereço de assistência (figura 5).

A resposta do agente domés-tico, sob a forma de um vínculo ack, contém um cabeçalho de encaminhamento de tipo 2 com o endereço doméstico do nó móvel, em vez do cabeçalho de destino. O vínculo ack é uma mensagem de tipo 6 confirmando os detalhes do nó móvel e contendo algumas outras informações administrativas, por exemplo, se o IPsec suporta uma mudança de rede, que deve ser a exceção. O campo de status do vínculo ack indica o estado do vínculo: de 1 a 127 sinaliza uma atualização bem sucedida, ao pas-so que valores de status de 128 em diante indicam alguns proble-mas definidos. Vínculos ack são enviados apenas para confirmar atualizações de vínculo. O agen-te doméstico pode enviar uma mensagem de solicitação de atu-alização de vínculo para solicitar uma atualização da informação na forma de uma atualização de vínculo do nó móvel.

Uma atualização de vínculo tam-bém pode ser enviada diretamente para o nó correspondente, se este suportar MIPv6. No entanto, são necessárias precauções de segurança especiais aqui para prevenir ataques de redirecionamento. Este processo de salvaguarda é chamado de proce-dimento de retorno de roteabilidade e permite que o nó correspondente teste se o nó móvel é realmente acessível tanto pelo endereço de assistência como pelo endereço doméstico. Só então é que as atualizações de vín-culo são aceitas pelo CN. Como os vínculos são criptograficamente asse-

gurados pelo IPsec, informações de autorização são trocadas na forma de tokens criptográficos neste contexto. O gerenciamento de chaves de víncu-lo, por fim, protege as informações.

Recursos do novo ICMPv6O IPv6 móvel inclui algumas me-lhorias para ao ICMPv6 no que tange ao fornecimento de recursos adicionais. A descoberta de ende-reço do agente doméstico oferece ao nó móvel a capacidade de de-terminar seu endereço de agente doméstico. Para isso, uma solicita-ção de descoberta de endereço de agente doméstico é enviada para o agente de endereço doméstico anycast em seu link. Este é um en-dereço especial para o qual todos os agentes domésticos respondem. Um agente doméstico responde à solicitação com uma descoberta de endereço do agente doméstico. A repetição contém uma lista de endereços de agentes domésticos, classificadas por suas preferências.

No caso de endereços IPv6 tem-porários, alterações no prefixo da rede doméstica de um nó móvel podem ocorrer. O nó móvel pode determinar esta mudança através de uma mensagem de solicitação de prefixo móvel. Esta mensagem é enviada para o agente doméstico, o qual responde com um prefixo de publicidade móvel. Estes anúncios também podem ser enviados para o endereço de assistência atual do MN sem um pedido anterior, se necessário. Cada nó móvel deve ser capaz de criar uma lista de agen-tes domésticos no link doméstico. Para fazer isso, o nó não precisa apenas dos endereços de link lo-cais de roteadores dos agentes do-mésticos no roteador de anúncios, mas também dos endereços unicast globais. O roteador de anúncio foi modificado para suportar esta

Page 26: Linux Magazine Community Edition 103

77

| ANÁLISEMIPv6 – Mobilidade IPv6

Linux Magazine #103 | Junho de 2013

configuração. Ele contém um pa-râmetro R (endereço do roteador); a opção de prefixo não contém exatamente um prefixo mas um endereço global unicast completo do roteador.

Outras mudanças na descoberta de vizinhos relacionam a indicação de endereços de agentes domésticos preferenciais e um intervalo mínimo reduzido de roteadores de anúncios, de modo que nós móveis em links externos podem ser informados o mais rápido possível sobre os no-vos endereços de assistência. Este intervalo foi reduzido dos originais três segundos para 0.03 segundos. Este valor pode ser significativo em roteadores sem fio que são configu-rados apenas para oferecer suporte a dispositivos móveis.

Onde estamos?O nó móvel deve detectar a conexão tão rapidamente quanto possível que já não está na própria rede, de forma que possa iniciar um novo link. Um processo chamado de detecção de vizinho não alcan-çável (Neighbor Unreachability Detection) suporta esta operação, conhecida como detecção de mo-vimento. Este processo também existe no padrão IPv6 normal no escopo da descoberta do vizinho. Isso envolve a verificação da acessi-bilidade do gateway padrão a partir do nó móvel. Se o padrão não está mais acessível, o nó móvel tenta descobrir um novo roteador padrão, que é comunicado pelo anúncio do roteador. Neste contexto são definidos o prefixo e o endereço de assistência atual. Quando o nó móvel alcança o link domés-tico novamente, ocorre o registro doméstico. Entre outras coisas, trata-se de definir o bit H (registro doméstico) e definir o ciclo de vida para 0. O agente doméstico, então, sabe que não precisa mais enviar os pacotes através do túnel.

E a segurança?A comunicação entre o nó móvel e o nó correspondente é vulnerável a vá-rios ataques, como man-in-the-middle, sequestro de sessão, negação de servi-ço e assim por diante. Uma medida de segurança essencial é proteger a conexão entre o MN e o HA através de um túnel IPsec com ESP. Isto ga-rante que todas as mensagens entre o nó móvel e o agente doméstico sejam protegidas, incluindo atualizações de vínculos e acks, mensagens de teste doméstico e mensagens ICMPv6. As atualizações de vínculo entre o nó móvel e o nó correspondente não são protegidas pelo IPsec, mas pelo processo de retorno de roteabilidade. No entanto, certas extensões existem aqui para proteger a comunicação, como a opção de autorização de vín-culo de dados.

Como regras ligeiramente diferen-tes se aplicam ao IPv6 móvel, diferen-tes RFCs descrevem modificações no IPsec para uso com MIPv6. Elas in-cluem as RFCs 4555 e 4621, que lidam com o uso de IKEv2 nestes cenários, e a RFC 3776, “Como usar o IPsec para proteger o IPv6 móvel de acessar nós móveis e agentes domésticos”. Salvaguardas também existem para redes especiais na forma de RFCs. No entanto, uma discussão completa de todas estas áreas de segurança vai além do escopo deste artigo.

ConclusãoO IPv6 móvel é uma tecnologia voltada para o futuro que poderia tornar-se parte da vida cotidiana no mundo das redes de TI. Provedores oferecem vários pacotes de serviços aos clientes para garantir conexões leves em várias redes – conexão remo-ta com menos quedas (ou nenhuma) temporárias na conexão de rede. Por conta de uma tendência geral para dispositivos móveis – amplificada pela explosão dos tablets – o uso de tais tecnologias é um desenvolvi-mento lógico.

O suporte para MIPv6 tem sido limi-tado até o momento. Sistemas operacio-nais da Microsoft, incluindo o Windows 8 e o Windows Server 2012, não forne-cem suporte completo. O Linux pode ser estendido para acomodar o MIPv6 com o daemon UMIP [3], e sistemas Android atualmente contam com ha-cks para suportar o MIPv6. Além disso, o iOS da Apple não suporta o MIPv6.

No final das contas, o IPv6 terá de ser amplamente disponível para per-mitir a utilização do IPv6 móvel sem tecnologias de migração tais como túneis 6to4. O padrão IPv6 móvel continuará a se desenvolver e, prova-velmente, irá incluir extensões ainda mais interessantes no futuro. Na ver-dade, muitas melhorias para o IPv6 móvel já existem, incluindo NEMO [4] e IPv6 móvel hierárquico [5]. n

Mais informações[1] RFC 6275: http://tools.ietf.org/html/rfc6275

[2] RFC 3344: http://tools.ietf.org/html/rfc3344

[3] Projeto do daemon UMIP: http://www.umip.org

[4] RFC 3963: http://tools.ietf.org/html/rfc3963

[5] RFC 4140: http://xml2rfc.tools.ietf.org/rfc/rfc4140.txt

Gostou do artigo?Queremos ouvir sua opinião. Fale conosco em: [email protected]

Este artigo no nosso site: http://lnm.com.br/article/8586

Page 27: Linux Magazine Community Edition 103

80

SE

RV

IÇO

S

www.linuxmagazine.com.br

Índice de anunciantesEmpresa Pág.

Supermicro 02

Senac 07

Unodata 09

Alfresco 25

Uol Cloud 27

Impacta 31

Plus Server 34,35

Watchguard 83

IBM 84

Calendário de eventos

Evento Data Local Informações

BITS 2013 14 a 16 de maio Porto Alegre, RShttp://www.bitsouthamerica.com.br/

Forum Analytics 16 de julho São Paulo, SP https://www.linuxnewmedia.com.br/fan/

CloudConf 10 e 11 de setembro São Paulo, SP http://www.cloudconf.com.br/

Veja o regulamentoda promoção no site:

http://www.linuxmagazine.com.br/hotsite/mochila_natal

Quer ganhar essa

mochila Targus®

personalizada

de presente da

Linux Magazine?

A LINUX MAGAZINE TEM UM PRESENTE PARA VOCÊ!

Page 28: Linux Magazine Community Edition 103

81

| SEÇÃOAssunto

Linux Magazine #XX | Mês de 200X

NO

ME

DA

SE

ÇÃ

O

M

áquinas virtuais com VirtualBox Luciano Antonio Siqueira

Um roteiro claro e compartimentado em atividades coesas e práticas. Essa foi a premissa para a formulação da coleção Academy. Diferente dos manuais de referência ou de guias de primeiros passos, o leitor encontra nos livros dessa coleção objetividade e didática adequadas tanto ao profi ssional quanto ao estudante da área de TI.

O conteúdo e o formato são desenvolvidos a partir da experiência prática e educacional, com foco no desenvolvimento de competências. Cada tópico tratado está costurado com os demais, mas são contextualizados individualmente para facilitar o aprendizado por etapas.

O material aqui apresentado é indicado tanto para autodidatas quanto para utilização em escolas. O professor irá se sentir confortável para desenvolver as atividades a partir do livro, que procura atender tanto à expectativa do aprendiz quanto à demanda profi ssional do mercado de TI.

Luciano Antonio Siqueira

Máquinas virtuais com VirtualBox

Administração de infraestrutura de máquinas virtuais com Sun VirtualBox®. Como trabalhar com sistemas operacionais – Windows, Linux etc – na mesma máquina e simultaneamente.

Criação de diferentes modalidades de conexões virtuais, exportação/importação de máquinas virtuais e criação de pontos de recuperação (snapshots).

9 788561 024222

ISBN: 978-85-61024-22-2

AC-vbox_capa.indd 1 09/04/10 09:59

Luciano Antonio Siqueira

Infraestrutura de Redes

Passo a passo da montagem de uma rede de computadores, desde o cabeamento e roteadores até a confi guração das máquinas clientes.

Confi guração e manutenção de serviços essenciais como DNS, compartilhamento de arquivos e acesso remoto.

15/04/10 14:44

Interligando W

indows e Linux com

Samba Paulo H

enrique Alkmin da Costa

Um roteiro claro e compartimentado em atividades coesas e práticas. Essa foi a premissa para a formulação da coleção Academy. Diferente dos manuais de referência ou de guias de primeiros passos, o leitor encontra nos livros dessa coleção objetividade e didática adequadas tanto ao profi ssional quanto ao estudante da área de TI.

O conteúdo e o formato são desenvolvidos a partir da experiência prática e educacional, com foco no desenvolvimento de competências. Cada tópico tratado está costurado com os demais, mas são contextualizados individualmente para facilitar o aprendizado por etapas.

O material aqui apresentado é indicado tanto para autodidatas quanto para utilização em escolas. O professor irá se sentir confortável para desenvolver as atividades a partir do livro, que procura atender tanto à expectativa do aprendiz quanto à demanda profi ssional do mercado de TI.

Paulo Henrique Alkmin da Costa

Samba: com Windows

e Linux

Como permitir a comunicação de diferentes sistemas operacionais em rede: Windows, Linux, Mac OS X etc. Defi nição de compartilhamentos de arquivos, impressoras – incluindo a instalação automática de drivers – e utilização do Samba como controlador de domínio

(PDC) também para clientes Windows Vista e Windows 7.

9 788561 024239

ISBN: 978-85-61024-23-9

AC-samba_capa.indd 1 22/04/10 11:16

O conteúdo e o formato dos livros foram desenvolvidos a partir da experiência prática e educacional de seus autores, com foco principal no desenvolvimento de competências, através de conceitos, exemplos detalhados e dicas de quem realmente entende do assunto.O material é indicado tanto para autodidatas que desejam se aperfeiçoar quanto para utilização em escolas. O professor irá se sentir confortável para desenvolver as atividades a partir do livro, que procura atender tanto à expectativa do aprendiz quanto à demanda profissional do mercado de TI.

Disponível no site www.LinuxMagazine.com.br

Conheça a coleção Academyda Linux New Media

Os livros da Coleção Academy são roteiros práticos e objetivos, com didática adequada tanto ao profissional

quanto ao estudante da área de TI.

Page 29: Linux Magazine Community Edition 103

82 www.linuxmagazine.com.br

Linux Magazine #104

PR

EVIE

W

Admin Magazine #09

DesenvolvimentoNa próxima edição da Linux Magazine você irá conhecer as novidades no que tange ao desenvolvimento de sistemas. A construção de aplicativos Qt atualmente não é mais um mistério e através das ferramentas corretas como o Qmake, você poderá construir seus próprios aplicativos nesta promissora linguagem. Saiba também como integrar o seu sistema de groupware doméstico ou empresarial (como o Zarafa) às redes sociais, atendendo a demanda por interações sociais.Ainda nesta edição, conheça o módulo mod_lua para o Apache e saiba porque a linguagem Lua está mais ativa do que nunca, com os novos adventos de TV interativa e outros usos para esta fantástica linguagem.Edição imperdível n

OpenStackCapaz de gerenciar os componentes de múltiplas instâncias virtualizadas, o OpenStack é um dos queridinhos dos profissionais de infraestrutura e virtualização da atualidade. É li-vre, não possui restrições quanto à quantidade de instâncias e é uma plataforma robusta, extremamente útil nestes tempos onde o adven-to da computação em nuvem já é uma realidade. Na próxima edi-ção da Admin Magazine você vai conhecer tudo o que essa incrível ferramenta pode fazer por você! Não perca! n

Page 30: Linux Magazine Community Edition 103

Você é refém da Operadora de Telecom?Altos custos de conectividade impedem sua empresa de ter links redundantes.

Alugue um Firewall gerenciado a partir de R$ 300,00/mês.

Não pule no vazio! Achar que a segurança é simples é o começo de seus problemas!

É um erro, total e comum, achar que qualquer um na sua TI pode fazer gestão de segurança da sua rede!

Otimização de Links, Controle de Navegação, Controle de Aplicações,

Controle de Conteúdo e Antivírus, Soluções Antispam, implementadas localmente ou na nuvem, Proteção de Invasões e Ataques,

Balanceamento de Links e Servidores,Análise de Vulnerabilidades e Riscos,

Conectividade entre Sites, Fornecedores, etc.Conectividade Segura para Usuários Móveis,

[email protected] (11) 3393.3340