AUGUSTO CAMPOS p.20
MADDOG p.24
CEZAR TAURION p.28
Não perca tempo em adotar o código aberto
Os benefícios da criação de drivers de dispositivos
Os conhecimentos exigidos dos novos profissionais de TI
MEDIALINX # 103 Junho 2013
» 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
VEJA TAMBÉM NESTA EDIÇÃO:
SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRÁTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA ÁREA p.36
WWW.LINUXMAGAZINE.COM.BR
Com o DNSSEC, a resolução de nomes fica protegida de ataques. Mas seu preç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
» 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
» O que dizem os profissionais certificados p.24
CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco
A REVISTA DO PROFISSIONAL DE TI
GOVERNANÇA COM
LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminários Linux Park de 2008
CEZAR TAURION p.34 O Código Aberto como incentivo à inovação
00044
R$ 13,90 € 7,50
9 771806 942009
#44 07/08
A REVISTA DO PROFISSIONAL DE TI
SEGURANÇA CASE ALFRESCO p.26 A Construcap agilizou seus projetos com o Alfresco
LINUX PARK 2008 p.28 Iniciada em Porto Alegre a temporada de seminários Linux Park de 2008
CEZAR TAURION p.34 O Código Aberto como incentivo à inovação
#44 07/08
A REVISTA DO PROFISSIONAL DE TI
9 771806 942009
00044
R$ 13,90 € 7,50
GOVERNANÇA COM
ANTECIPE-SE AOS PRINCIPAIS VETORES DE ATAQUE APROFUNDANDO SEUS CONHECIMENTOS NAS MELHORES TÉCNICAS DE SEGURANÇA . p.36
SEJA UM BOM GESTOR E UTILIZE AS MELHORES PRÁTICAS ADOTADAS E RECOMENDADAS PELOS PROFISSIONAIS MAIS EXPERIENTES NESSA ÁREA p.36 » O que dizem os profissionais certificados p.24
» Conformidade de segurança com o framework OpenSCAP p.37 » 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
VEJA TAMBÉM NESTA EDIÇÃO:
Com o DNSSEC, a resolução de nomes fica protegida de ataques. Mas seu preço vale a pena?
» Relatórios do Squid com o SARG p.60
REDES: IPV6 p.64
» Becape de bancos de dados com a Libferris p.46
» Java, Ruby e Rails: conheça o JRuby on Rails p.74 » Benchmarks do GCC 4.3? p.58
» Previna-se contra ataques do tipo SQL Injection p.40 Conheça as vantagens da nova versão do Internet Protocol, e veja por que é difícil adotá-la
» LPI nível 2: Servidores NIS e DHCP p.52
WWW.LINUXMAGAZINE.COM.BR
» Linux mais seguro com Grsecurity p.44
REDES p.54
Automatize o processo de roteamento de dados com Quagga e Zebra
LOGS p.62
Utilize o Logstash para centralizar e otimizar o armazenamento de logs do seu servidor
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
WWW.LINUXMAGAZINE.COM.BR
ENTREVISTA p.23
Conversamos com Jean Hollis Weber, fundadora do Friends of OpenDocument
Obama está olhando!
Expediente editorial
Editores Flávia Jobstraibizer fjobs@linuxmagazine.com.br Laura Loenert Lopes llopes@linuxmagazine.com.br Editor de Arte Hunter Lucas Fonseca hfonseca@linuxnewmedia.com.br Colaboradores Konstantin 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) anuncios@linuxmagazine.com.br Tel.: +55 (0)11 3675-2600
Penny Wilby (Reino Unido e Irlanda) pwilby@linux-magazine.com
Amy Phalen (América do Norte) aphalen@linuxpromagazine.com
Hubert Wiest (Outros países) hwiest@linuxnewmedia.de
Diretor de operações Claudio Bazzoli cbazzoli@linuxmagazine.com.br Na Internet: www.linuxmagazine.com.br – Brasil www.linux-magazin.de – Alemanha www.linux-magazine.com – Portal Mundial www.linuxmagazine.com.au – 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. Assume-se que qualquer correspondência recebida, tal como cartas, emails, faxes, fotografias, artigos e desenhos, sejam fornecidos para publicação ou licenciamento a terceiros de forma mundial não-exclusiva pela Linux New Media do Brasil, a menos que explicitamente indicado. Linux é uma marca registrada de Linus Torvalds. Linux Magazine é publicada mensalmente por: Linux New Media do Brasil Editora Ltda. 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/atendimento Sã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
Linux Magazine #103 | Junho de 2013
Impresso no Brasil
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?”, perguntou 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 programas 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) ---, especialmente 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 fundamento 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 coletando dados e informações de usuários do Facebook, Twitter, Instagram e Whatsapp, em um projeto de codinome Mosaico. Com toda essa atividade 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 Europa 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 sistema 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 tecnologia 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 nuvem 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
EDITORIAL
Diretor Geral Rafael Peregrino da Silva rperegrino@linuxmagazine.com.br
Rafael Peregrino da Silva Diretor de Redação 3
ÍNDICE
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.
4
www.linuxmagazine.com.br
Linux Magazine 103 | ÍNDICE
COLUNAS
ANÁLISE
Alexandre Borges 08 Charly Kühnast
10
Kurt Seifried
12
Klaus Knopper
14
Zack Brown
18
Augusto Campos 20 Acessibilidade em qualquer lugar
NOTÍCIAS Geral 22 ➧ Universitários precisam de formação em Negócios Sociais ➧ Harlan: linguagem que transforma processadores em supercomputadores
CORPORATE
SEGURANÇA Duro de matar
Coluna: Jon “maddog” Hall
24
Coluna: Gilberto Magalhães
26
Coluna: Cezar Taurion
28
Entrevista: Jean Hollis Weber
29
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.
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
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
ANDROID Gestão na palma da mão
68 Zebra exploradora
Conheça cinco ferramentas indispensáveis para a
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?
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 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.
Linux Magazine #103 | Junho de 2013
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.
66
SERVIÇOS Editorial 03 Emails 06 Linux.local 78 Preview 82
5
Coluna do Alexandre Borges
COLUNA
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
T
erminamos 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 nosso 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 contendo o resultado do escaneamento (usando “decoy” para confundir o alvo e fazer parecer com que os pacotes 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 somente 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 existem outras opções muito úteis não somente para verificaçã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/tcp msf 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 escolhida 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 auxiliary/scanner/http/wordpress_pingback_access auxiliary/scanner/natpmp/natpmp_portscan auxiliary/scanner/portscan/ack auxiliary/scanner/portscan/ftpbounce auxiliary/scanner/portscan/syn auxiliary/scanner/portscan/tcp auxiliary/scanner/portscan/xmas
8
normal normal normal normal normal normal normal
Description
Wordpress Pingback NAT-PMP External Port TCP ACK Firewall FTP Bounce Port TCP SYN Port TCP Port TCP “XMas” Port
Locator Scanner Scanner Scanner Scanner Scanner Scanner
www.linuxmagazine.com.br
Listagem 2: Provedor de dados Name Current Setting Required Description CONCURRENCY 10 yes PORTS 1-10000 yes RHOSTS yes THREADS 1 yes TIMEOUT 1000 yes
The number of concurrent ports to check per host Ports to scan (e.g. 22-25,80,110-900) The target address range or CIDR identifier The number of concurrent threads The socket connect timeout in milliseconds
msf auxiliary(tcp) > set RHOSTS 10.10.3.131 RHOSTS => 10.10.3.131 msf auxiliary(tcp) > set PORTS 1-500 PORTS => 1-500
É claro que poderíamos configurar o número máximo de portas escaneadas simultaneamente (CONCURRENCY – 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 – mantivemos este valor intocado) que nos permitiria verificar diversas máquinas em simultâneo. Assim: msf auxiliary(tcp) > run [*] [*] [*] [*] [*]
10.10.3.131:25 10.10.3.131:23 10.10.3.131:22 10.10.3.131:21 10.10.3.131:53
-
TCP TCP TCP TCP TCP
Linux Magazine #103 | Junho de 2013
OPEN OPEN OPEN OPEN OPEN
[*] [*] [*] [*] [*] [*] msf
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 completed 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 escaneamento (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 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, Servidores, Backup, Desempenho e Segurança, além de possuir profundo envolvimento com assuntos relacionados ao kernel Linux.
9
Coluna do Augusto
COLUNA
Perda de tempo Sua desculpa não justifica a perda de tempo em adotar o código aberto. por Augusto Campos
N
o 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 software 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 participaçã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
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? 20
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 assuntos 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 governamental 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 governo 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 desenvolvimento 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 slogans 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, parece 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.
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
ERP – SISTEMA DE GESTÃO
Solução completa hospedada em nuvem (Cloud Computing)
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.
Saiba mais em: www.vectory.com.br +55 11 3104 6652
SOFTWARE Linux Magazine #103 | Junho de 2013
21
Virtualização
CAPA
A boa e velha segurança Novamente estamos às voltas com assuntos como invasão de privacidade, roubo de dados e monitoramento de informações. por Flávia Jobstraibizer
S
egurança não é um assunto que pode ser deixado 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ônicas 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 tentando obter dados confidenciais dos seus clientes, dados estes que você pensa estarem totalmente seguros no protegido servidor de banco de dados trancafiado em um dos melhores datacenters do país. Talvez você não deva dormir tão tranquilo. Nesta edição da Linux Magazine, vamos abordar um problema que é velho conhecido dos desenvolvedores, analistas de segurança e profissionais da área de segurança da informação em geral: os ata-
36
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 ferramenta 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 prejudiciais ao sistema. Para finalizar, aprenda como funcionam as regras 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 capa Conformidade de segurança
37
Injeções do mal
40
Hermético
46
www.linuxmagazine.com.br
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, fornecedores e colaboradores.
Solução completa hospedada em nuvem (Cloud Computing)
Saiba mais em: www.vectory.com.br +55 11 3104 6652
SOFTWARE
TUTORIAL | Armazenamento e pesquisa de logs
Armazenamento e pesquisa de logs
TUTORIAL
Log centralizado 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. por Martin Loschwitz
S
e 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 corretamente 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 administrador 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 individual 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
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.
62
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 assistentes O 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 administradores 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.
www.linuxmagazine.com.br
Armazenamento e pesquisa de logs | TUTORIAL
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 executando 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 especificado pelo administrador. O host no qual o indexador é encontrado geralmente também executa o servidor web Logstash, que oferece aos administradores uma caixa de pesquisa para arquivos de log. Em segundo plano, dois outros serviç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 servidor entrega suas mensagens para o servidor Redis, onde o indexador Logstash os recupera no passo seguinte. 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 modular
Uma 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 desenvolvedores 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
Linux Magazine #103 | Junho de 2013
de mensagens precisava ser codificada. Enquanto isso, o conector Redis funciona perfeitamente e o RabbitMQ tornou-se uma relíquia do passado.
Sem limites
Em outros lugares, o Logstash impõe uma criatividade praticamente sem limites para o administrador: a ferramenta 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 Logstash gerencia os logs HTTP, permitindo a busca sistemática mais tarde na interface web para todas as consultas possíveis que causaram um “erro interno”. Aplicado ao Pacemaker, por exemplo, isso significa que os administradores poderiam procurar expressamente 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 exemplo, se quisermos manter mensagens syslog clássicas fora do arquivo de log, será preciso somente modificar a configuração do shipper Logstash.
Configuração de teste
Se o usuário quiser experimentar o Logstash, estará com sorte. Contrariamente à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 tarefa estará concluída. O exemplo a seguir é baseado no Ubuntu 12.04, mas também funciona no Debian. Pacotes RPM para Redis e ElasticSearch para distribuições empresariais típicas também estão disponíveis na web, incluindo 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 senha para o acesso através da diretiva requirepass no arquivo redis.conf.
Instalação do ElasticSearch O ElasticSearch (figura 1) é um aplicativo Java como o Logstash; mas, infelizmente, 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 02 03 04 05 06
08 09 10 11
input { file { type => "syslog" # Wildcards work here :) path => [ "/var/log/ messages", "/var/log/07 syslog", "/var/log/*.log" ] } file { type => "apache‑access" 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}
63
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 inicialmente 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 també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 dados
Em seguida, devemos configurar o próprio Logstash. É importante que este não venha sob a forma de bibliotecas 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 arquivo shipper.conf deve aparecer como na listagem 1. Com esta configuração, o Logstash enviaria as mensagens a partir dos arquivos do syslog e do Apache para o indexador no domínio virtual padrão. O host com o indexador nes-
Listagem 2: Indexer.conf 01 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}
64
Figura 2 Uma pesquisa nos registros Logstash em busca de “Network Manager” exibe mensagens cronologicamente ordenadas.
te exemplo é 192.168.122.165. A chave mostrada na linha 22 pode ser um pouco 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:
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 estiver calmo por lá, o usuário não tem nenhuma razão para se preocupar.
java ‑jar logstash‑1.1.9‑monolithic.jar agent ‑f shipper.conf
Finalmente, precisamos do próprio servidor web Logstash; ele não precisa de um arquivo de configuração próprio e pode ser iniciado com:
inicia o Logstash.
Indexação
Configurar o indexador não é complicado se começarmos com uma configuração adequada ( listagem 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
Servidor
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 imediatamente 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); alternativamente, podemos verificar o processo
Figura 3 Atualizações de status do Logstash revelam como o software funciona: ele envia mensagens de log para o Redis.
www.linuxmagazine.com.br
Armazenamento e pesquisa de logs | TUTORIAL
através da caixa de pesquisa. Isso basicamente completa os principais passos de instalação do Logstash. O sysops tem a liberdade de “enfeitar” 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 inicialização, o que significa criar um script de inicialização correspondente (se quiser evitar o trabalho, é possível encontrar scripts predefinidos na web). Criar filtros específicos para alavancar todas as opções da solução também é aconselhável. Uma visão geral das possíveis opções de filtro
Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8653
Linux Magazine #103 | Junho de 2013
Logstash, que também suportam expressões regulares, pode ser encontrada no site do fornecedor [5], em conjunto com uma extensa documentação.
Conclusão
O 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
trabalham com gerenciamento centralizado 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 revelação. Apenas os administradores com pronunciada alergia ao Java não devem apreciá-lo. n
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
65
TUTORIAL | Inventário de hardware
Inventário de hardware
TUTORIAL
Tudo sob controle 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. por Vincze-Aron Szabo
D
etalhes gerados sobre um sistema muitas vezes podem parecer desorganizados. Às vezes, informações sobre processadores, discos rígidos e interfaces 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
Figura 1 O I-Nex fornece uma visão geral de todas as principais informações do hardware em 10 guias.
66
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ção
Com 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.gambas, ou iniciar o programa a partir do menu inicial (Aplicativos). O I-Nex precisa de um momento para reunir dados de hardware antes de apresentar os resultados em 10 abas através de uma interface gráfica de usuário.
Informações detalhadas
As duas primeiras abas contêm dados 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 dropdown no canto inferior direito. Dados úteis sobre a placa de vídeo e os chipsets instalados são listados 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
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
www.linuxmagazine.com.br
Inventário de hardware | TUTORIAL
Figura 2 As informações sobre os drives são densas.
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 sistema 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
Figura 3 Relatórios detalhados apoiam a resolução de problemas e uma troca de informações com outros usuários.
Linux Magazine #103 | Junho de 2013
necessário. Além dos fatos mostrados 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 Linux, como o hostname, distribuição, versão, arquitetura e versão desktop. Pressionar o botão Check (Verificar) revela quantos pacotes estão instalados 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ódulos) oferecido aqui abre uma janela na qual é possível obter informações sobre cada módulo do kernel.
Geração de relatórios
O I-Nex possui algumas outras características úteis para o compartilhamento de dados coletados, utilizando 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 selecionar 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 conteúdo desejado, o usuário pode verificar 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 selecionado e também armazena um arquivo de texto localmente na pasta especificada. O link para acessar o relatório na Internet aparece na caixa de texto que anteriormente era mostrada vazia (figura 3).
Conclusão
Graças ao I-Nex, podemos rápida e facilmente coletar informações sobre dispositivos e sistemas sem clicar nas definições de sistema do Ubuntu 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
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: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8654
67
ANDROID | Linux no Android
Linux no Android
ANDROID
Linux no Android Para instalar o Linux em um dispositivo Android, o usuário tem várias opções. Analisamos algumas dessas possibilidades. por Dmitri Popov
I
nstalar uma distribuição Linux em um dispositivo Android abre todo um novo mundo de possibilidades. Podemos transformar um dispositivo Android em um servidor 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
Figura 1 O KBOX é uma distribuição Linux em miniatura, que não necessita de root.
68
ambiente desktop gráfico. Em resumo, 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 maneiras; neste artigo, analisaremos algumas das opções disponíveis.
KBOX: sem root obrigatório Em muitos casos, a instalação do Linux no Android normalmente significa passar pela confusão do root do sistema Android sob o risco de danificar o dispositivo (problema 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 diretamente em um emulador de terminal, e pode ser instalada em dispositivos Android não rooteados (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 autor 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 variedade de utilitários BusyBox (comandos 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 outros pacotes estão disponíveis sob a forma de downloads separados, incluindo o editor vim e sincronizador 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 situações. Se instalarmos o rsync, por exemplo, podemos usar essa ferramenta poderosa e flexível para fazer backup de arquivos de um dispositivo Android para um servidor remoto e, graças ao servidor SSH fornecido, podemos acessar o dispositivo Android através de uma conexão SSH.
www.linuxmagazine.com.br
Linux no Android | ANDROID
Figura 2 Configurações de instalação no Linux Deploy.
Root do chroot
Embora o KBOX ofereça uma
maneira simples de instalar o Linux em um dispositivo Android, o usuário pode achá-lo muito limitado para suas necessidades. Neste caso, devemos considerar a instalação de uma distribuição Linux regular, mas, para isso, é necessário tornar o aparelho acessível administrativamente (fazer o root do dispositivo) em primeiro lugar. O procedimento exato de root depende do dispositivo Android 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 é basicamente 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 interfere 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 usuá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, precisamos instalar dois aplicativos adicionais no dispositivo: um emulador de terminal e um cliente VNC. Embora vários emuladores de terminais e aplicativos VNC cliente estejam disponíveis na Play Store do Google, o usuário não se arrependerá de usar o VX ConnectBot
Figura 3 O processo de instalação no Linux Deploy é totalmente automatizado.
Linux Magazine #103 | Junho de 2013
69
ANDROID | Linux 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. [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 (Propriedades), que contém uma lista de opções configuráveis. Comece por escolher a distribuição Linux desejada na lista Distribution (Distribuição) da seção Deploy. O Linux Deploy suporta muitas distribuições populares, incluindo Debian, Ubuntu, Arch Linux, Fedora e openSUSE. Para determinadas distribuições, também é possível selecionar uma versão específica. Escolha Debian, por exemplo, e opte pela versão desejada (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, 70
em uma pasta específica, ou em uma partição separada, e podemos escolher a opção desejada na lista Installation type (Tipo de Instalaçã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 sistema 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, incluindo 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 també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 configure as definições de VNC, como
Figura 5 Podemos acessar o desktop gráfico usando um cliente VNC diretamente no Android...
www.linuxmagazine.com.br
Linux no Android | ANDROID
Figura 6 ...ou a partir de uma máquina remota (neste caso, um notebook com Kubuntu usando o cliente KRDC).
a profundidade de cor e resolução, bem como as dimensões da área de trabalho. Depois que ajustar as configurações e especificar opções, selecione 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 distribuição Linux instalada. Anote o endereço IP da instância Linux em execução e inicie o aplicativo de emulador de terminal ( figura 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 aplicativo cliente VNC e se conecte ao servidor VNC em execução usando a senha changeme (figuras 5 e 6).
Linux Magazine #103 | Junho de 2013
Limbo PC Emulator
O 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 é particularmente 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 distribuiçã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 Limbo no dispositivo Android, escolha New (Novo) a partir do menu dropdown Load VM (Carregar VM), e nomeie a nova máquina virtual (VM) (figura 7). Vamos supor que o usuário queira 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 7 Configuração de uma máquina virtual no Limbo.
71
ANDROID | Linux no Android
boot> dsl toram noacpi noapm noscsi dma
para acelerar o Damn Small Linux ( figura 8).
Palavra final
Figura 8 Execução do Damn Small Linux no Limbo.
User from the Network Configuration (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 relativamente lento, o aplicativo possui duas características que podem melhorar o desempenho do emulador. Ativar a opção High Priority (Alta Prioridade) pode acelerar a VM,
mas também pode tornar o dispositivo 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 distribuições específicas. Por exemplo, é possível usar os seguintes parâmetros de boot:
Os 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 Linux 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 Ubuntu seguindo as instruções na wiki do Ubuntu [11]. As soluções descritas 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
Gostou do artigo? Queremos ouvir sua opinião. Fale conosco em: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8675
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/
72
www.linuxmagazine.com.br
MIPv6 – Mobilidade IPv6 | ANÁLISE
MIPv6 – Mobilidade IPv6
ANÁLISE
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
I
magine um usuário trabalhando 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 dispositivo móvel conecta-se automaticamente ao Wi-Fi público, onde pode verificar o horário da decolagem e do check-in para o vôo. Enquanto tudo isso acontece, o usuário estava conectado o tempo todo à rede corporativa através de um túnel seguro.
O problema do roaming Quando uma conexão é estabelecida entre dois nós, é geralmente baseada nos endereços IP dos parceiros de comunicação. Se um parceiro altera as redes, inevitavelmente receberá um novo endereço IP. Como consequência,
No trânsito
Em casa
Conectado via WLAN
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 manter 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.
No aeroporto
Conectado via HSDPA/LTE
Conectado via WiFi
A conexão é mantida durante todo o percurso Figura 1 O roaming mantém conexões mesmo quando o usuário se move de uma rede para outra.
Linux Magazine #103 | Junho de 2013
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 natural, 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 medidas 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 é totalmente suportada pelo MIPv6 [1]. O Mobile IP também foi definido para o IPv4 [2], mas esta especificação implica em algumas desvantagens em comparação com o IPv6. Por exemplo, o MIPv6 usa 73
ANÁLISE | MIPv6 – Mobilidade IPv6
Nó móvel
Túnel Bidirecional Otimização de rota Endereço domestico
e
el d Tún
Endereço temporário
reço ende
orário
temp
Rede IPv6
Link domestico
Link estrangeiro Nó correspondente
Figura 2 Terminologia IPv6 móvel.
cabeçalhos de extensão flexíveis para evitar problemas com roteamento, 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 descoberta de vizinhança (Neighbor Discovery) – uma tecnologia de camada de rede.
Nós móveis
diferente do endereço doméstico; isto é atribuído pela autoconfiguraçã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ência 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 funciona
doméstico está baseado localmente. Na estrada ou em viagem fora do limite do link doméstico, o MN recebe um endereço adicional (endereço de assistência) em qualquer link externo; ele então envia uma mensagem de atualização de vínculo para o agente doméstico. O agente doméstico envia uma confirmaçã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ó correspondente. No tunelamento bidirecional, os pacotes do CN são enviados para o agente doméstico, que os encaminha 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 suporte ao IPv6 móvel é necessário ao nó correspondente. Quando a otimização de rotas é habilitada, 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 encaminhamento do tipo 2 é utilizado para este processo. A otimização de rota permite uma comunicação
Um nó móvel é referenciado na terminologia IPv6 móvel como MN. O parceiro de comunicação é o nó correspondente (CN) Enquanto o MN utilizar um prefie pode ser fixo (por exemplo, um xo normal no link doméstico, este servidor) ou móvel. O MN possui pode ser atingido com mecanismos uma rede doméstica, que é refe- de encaminhamento padrão, pois o renciada como um link doméstico. agente doméstico com o endereço Anexado a ela está um roteador, Equivalente ao campo Next Header no cabeçalho IPv6 que vincula o endereço fixo do MN Carga útil (1 byte) como o agente doméstico (HA). Comprimento de Mobility Header (MH) Comprimento Este endereço fixo é conheciem unidades de 8 bytes, sem os 8 primeicabeçalho (1 byte) ros bytes do tipo de mensagem do Mobility do como o endereço doméstico e é um endereço unicast global. O Tipo de mensagem Mobility Tipo MH (1 byte) agente doméstico significa que o Configurado para 0 pelo remetente e ignorado pelo destino MN é acessível em qualquer lugar Reservado (1 byte) Checksum baseado em um pseudo-cabeçalho através do endereço doméstico ( figura 2). O MN pode residir no link Checksum (2 bytes) Conteúdo depende do tipo MH doméstico ou em uma rede diferente. Qualquer outra rede é referida Dados (variaveis) como um link externo. Em um link Figura 3 O cabeçalho da mobilidade. externo, o MN possui um endereço 74
www.linuxmagazine.com.br
MIPv6 – Mobilidade IPv6 | ANÁLISE
Nó móvel
Cabeçalho Cabeçalho de destino com opção de endereço doméstico IPv6
ESP
Cabeçalho IPv6
Cabeçalho MH móvel tipo 5
Cabeçalho de rota tipo 2
Agente doméstico
ESP
Cabeçalho MH móvel tipo 6
Figura 4 O cabeçalho da atualização de vínculo.
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 protocolo
O IPv6 é particularmente flexível graças aos seus cabeçalhos de extensã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ó correspondente, 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 cabeç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).
Sequência de número (2 bytes) Bandeiras (4bits) Reservado (12bits) Tempo de vida (2bytes) Opções (variavel)
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 destino é uma extensão de cabeçalho que só é avaliada pelo alvo. Um novo cabeçalho de roteamento 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-
Controle de sequência para vínculo de atualizações e acks. A = Acknowledgment flag H = Home flag L = Compatibilidade de endereço de link local K = Chave de gerênciamento da capacidade de mobilidade
Termo de endereço temporário móvel não expirado em unidades de 4 segundos 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
Figura 5 O processo de atualização de vínculo.Eric Amberg.
Linux Magazine #103 | Junho de 2013
75
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 assistê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éstico para enganar os protocolos da camada superior nas camadas OSI de forma que estes entendam que a comunicação veio através do endereço doméstico.
Verificação dos vínculos
Vínculos e seu gerenciamento são peças-chave do MIPv6. Normalmente, 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ó correspondente 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 envia 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 usando IPsec em um cabeçalho de encapsulamento 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 76
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 enviadas para atualizar os vínculos existentes ou para fornecer informações sobre um novo endereço de assistência (figura 5). A resposta do agente doméstico, 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 passo que valores de status de 128 em diante indicam alguns problemas definidos. Vínculos ack são enviados apenas para confirmar atualizações de vínculo. O agente doméstico pode enviar uma mensagem de solicitação de atualizaçã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 també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 procedimento 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ínculo 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ínculo, por fim, protege as informações.
Recursos do novo ICMPv6 O IPv6 móvel inclui algumas melhorias para ao ICMPv6 no que tange ao fornecimento de recursos adicionais. A descoberta de endereço do agente doméstico oferece ao nó móvel a capacidade de determinar 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 endereç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 temporá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 agentes domésticos no link doméstico. Para fazer isso, o nó não precisa apenas dos endereços de link locais de roteadores dos agentes domésticos no roteador de anúncios, mas também dos endereços unicast globais. O roteador de anúncio foi modificado para suportar esta
www.linuxmagazine.com.br
MIPv6 – Mobilidade IPv6 | ANÁLISE
configuração. Ele contém um parâ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 novos 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 configurados 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 movimento. Este processo também existe no padrão IPv6 normal no escopo da descoberta do vizinho. Isso envolve a verificação da acessibilidade 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éstico 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.
Linux Magazine #103 | Junho de 2013
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 garante 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ínculo de dados. Como regras ligeiramente diferentes se aplicam ao IPv6 móvel, diferentes RFCs descrevem modificações no IPsec para uso com MIPv6. Elas incluem 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ão
O 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 remota 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 desenvolvimento lógico. O suporte para MIPv6 tem sido limitado até o momento. Sistemas operacionais da Microsoft, incluindo o Windows 8 e o Windows Server 2012, não fornecem suporte completo. O Linux pode ser estendido para acomodar o MIPv6 com o daemon UMIP [3], e sistemas Android atualmente contam com hacks 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 permitir 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, provavelmente, irá incluir extensões ainda mais interessantes no futuro. Na verdade, 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: cartas@linuxmagazine.com.br Este artigo no nosso site: http://lnm.com.br/article/8586
77
Calendário de eventos
SERVIÇOS
Evento
BITS 2013
Forum Analytics
CloudConf
Data
14 a 16 de maio
16 de julho
10 e 11 de setembro
Índice de anunciantes Local
Porto Alegre, RS
São Paulo, SP
São Paulo, SP
Informações
http://www.bitsouthamerica. com.br/
https://www.linuxnewmedia. com.br/fan/
http://www.cloudconf.com.br/
Empresa
Pág.
Supermicro
02
Senac
07
Unodata
09
Alfresco
25
Uol Cloud
27
Impacta
31
Plus Server
34,35
Watchguard
83
IBM
84
A LINUX MAGAZINE TEM UM PRESENTE PARA VOCÊ!
Quer ganhar essa mochila Targus® personalizada de presente da Linux Magazine? Veja o regulamento da promoção no site:
http://www.linuxmagazine.com.br/hotsite/mochila_natal 80
www.linuxmagazine.com.br
Assunto | SEÇÃO
NOME DA SEÇÃO
Conheça a coleção Academy da 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.
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.
Infraestrutura de Redes 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 profissional do mercado de TI.
ISBN: 978-85-61024-23-9
9 788561 024239
Passo a passo da montagem de uma rede de computadores, desde o cabeamento e roteadores até a configuração das máquinas clientes.
AC-samba_capa.indd 1
Configuração e manutenção de serviços essenciais como DNS, compartilhamento de arquivos e acesso remoto.
15/04/10 14:44
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 profissional quanto ao estudante da área de TI.
Paulo Henrique Alkmin da Costa
Samba: com Windows e Linux
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 profissional do mercado de TI.
ISBN: 978-85-61024-22-2
9 788561 024222
Máquinas virtuais com VirtualBox Luciano Antonio Siqueira
Luciano Antonio Siqueira
Interligando Windows e Linux com Samba Paulo Henrique 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 profissional quanto ao estudante da área de TI.
Como permitir a comunicação de diferentes sistemas operacionais em rede: Windows, Linux, Mac OS X etc. Definiçã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.
AC-vbox_capa.indd 1
22/04/10 11:16
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).
09/04/10 09:59
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 Linux Magazine #XX | Mês de 200X
81
PREVIEW
Linux Magazine #104 Desenvolvimento Na 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
Admin Magazine #09 OpenStack Capaz de gerenciar os componentes de múltiplas instâncias virtualizadas, o OpenStack é um dos queridinhos dos profissionais de infraestrutura e virtualização da atualidade. É livre, não possui restrições quanto à quantidade de instâncias e é uma plataforma robusta, extremamente útil nestes tempos onde o advento 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
82
www.linuxmagazine.com.br
Você é refém da Operadora de Telecom?
Altos custos de conectividade impedem sua empresa de ter links redundantes. Não pule no vazio! Achar que a segurança é simples é o começo de seus problemas!
Alugue um Firewall gerenciado a partir de R$ 300,00/mês.
É um erro, total e comum, achar que qualquer um na sua TI pode fazer gestão de segurança da sua
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, Otimização de Links, Controle de Navegação, Controle de Aplicações,
vendas@altermedios.com.br
(11) 3393.3340