Manual Linux

  • Uploaded by: Djalma Henrique
  • 0
  • 0
  • January 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Manual Linux as PDF for free.

More details

  • Words: 52,207
  • Pages: 83
Loading documents preview...
TOTALMENTE ILUSTRADO

EXPANDA SEUS CONHECIMENTOS EM LINUX

VOLUME

1

• KERNEL • SERVIDORES • REDES • ANONIMATO • SEGURANÇA

TUTORIAIS COMPLETOS MAIS:

200

Melhores dicas para Linux Uma coletânea de truques e macetes

NOVAS HABILIDADES PARA APLICAR EM SEUS PROJETOS

Bem-vindo! …ao superaprimorado Manual do Hacker. Mergulhe neste universo e aprenda a hackear tudo.

O

termo hacker não deveria ter a fama negativa que tem. Muitos de nós não usamos o chapéu do malvado hacker; levantamos a bandeira de que o hacker é um protetor de dados. Compactuamos com a definição original, cunhada nos anos 1960 pela comunidade Tech Model Railroad Club e do Laboratório de Inteligência Artificial do MIT: alguém que usa suas astúcias – geralmente de maneira lúdica – para alcançar um objetivo. Isto, certamente, é o que você vai encontrar aqui nesta edição do Manual do Hacker. Trata-se de uma coletânea de recursos e tutoriais essenciais, que o conduzirão na

escolha da distro Linux correta de acordo com os seus propósitos, usar softwares e conhecimentos de códigos para resolver problemas de forma mais rápida e eficiente, tornar sua rede e computadores mais seguros e, ainda, divertir-se enquanto estiver fazendo estas coisas. Se você gostar do que leu aqui, recomendamos adquirir a edição anterior que publicamos com dicas e tutoriais sobre o mesmo tema e, também, nos acompanhar na próxima edição, recheada de dicas e truques. Mão à obra! Os editores [email protected] www.editoraonline.com.br

Manual do Hacker | 3

Mergulhe no mundo hacker com este manual detalhado, que abrange grandes temas importantes, desde o kernel do Linux e o mais amplo sistema de código aberto aos servidores hackers, a web e mais além!

sumário Distros - Seria um tédio se houvesse somente uma forma de Linux 7 Software - De aplicativos a jogos para o ambiente Linux – altere-os! 25 Segurança - Cubra seus rastros na web e proteja a sua privacidade 47 Faça Mais - Leve suas habilidades em 61 Linux para o próximo nível 61 Programação - Habilidade em programação é a marca do hacker completo 75 4 | Manual do Hacker

Distros

Software

A distro é o núcleo do Linux. Então certifique-se de fazer a melhor escolha.

Nós dissemos que a distro era o núcleo? Esqueça isso: o software é o que você precisa.

8 9 10 12 12 13 14 15 16 17

As melhores distros Instalação e atualização Experiência do usuário Opções de configuração Desktop padrão Distro para iniciantes Distros de servidores Distros rolling release Distros peso-leve O veredicto

18 19 19 20 20 21 22 22 23

Distros servidores Instalação Serviços populares Administração web Trabalhando com Windows Estabilidade e segurança Documentação e suporte Mais do que LAMP O veredicto

26 27 28 28 29 30 30 31 32 32 33

Top 100 ferramentas Linux Apps essenciais Apps da internet Jogos Produtividade Hobbies Mídia Desenvolvimento Utilitários Terminal Administrador

34 35 35 36 36 37 38 38 39

Desktops remotos Fácil de usar Documentação Recursos Estado de desenvolvimento Protocolos & suportes Sobrevivente do dial-up Performance O veredicto

40

GParted: ajuste suas partições

Segurança

Faça mais

Programação

Destaque-se dos demais com estes incríveis segredos.

Aprimore suas habilidades e crie coisas das quais você pode ficar super orgulhoso

Para tornar-se um hacker, você precisa conhecer esses assuntos sobre programação

48 51 51 52 52 53 53 53

Quem protege seus dados? Critérios de avaliação O bom, o mau e o vilão Melhores práticas Notificando usuários Política de retenção de dados Oposição aos backdoors As conclusões da EFF

62 62 63 64 66 67

200 melhores dicas Linux Primeiros passos Obtenha mais do desktop Dicas para seus apps Gerenciadores de apps Dicas avançadas

54 55 55 56

Distros de privacidade Disponibilidade Estado de desenvolvimento Navegue na web com proteção Dados em segurança Performance Usabilidade do desktop Documentação e suporte O veredicto

70 70 70 71 71

VirtualBox: virtualização Escolha o VirtualBox Crie a sua primeira VM Ajustando o hardware virtual Outras configurações importantes Lidando com periféricos USB Seu primeiro boot Tire um instantâneo (snapshot) Uso do Terminal

76 77 77 78 78 79 80 80 81

56 57 58 58 59

72 72 73 74

Linguagem de script Curva de aprendizagem Versão e compatibilidade Scripts web nativos Suporte da comunidade Programabilidade Estendendo a linguagem Segurança na rede O veredicto

Manual do Hacker | 5

6 | Manual do Hacker

Distros - Seria um tédio se houvesse somente uma forma de Linux

|

Distros Seria um tédio se houvesse somente uma forma de Linux 8

As melhores distros

9

Instalação e atualização

10

Experiência do usuário

12

Opções de configuração

12

Desktop padrão

13

Distro para iniciantes

14

Distros de servidores

15

Distros rolling release

16

Distros peso-leve

17

O veredicto

18

Distros servidores

19

Instalação

19

Serviços populares

20

Administração web

20

Trabalhando com Windows

21

Estabilidade e segurança

22

Documentação e suporte

22

Mais do que LAMP

23

O veredicto

Manual do Hacker | 7

AS MELHORES DISTROS

Qual é a distro ideal para você? Qual é, sem dúvida, a melhor? Escolhemos um pacote das distribuições mais perfeitas do último ano.

O

universo Linux está repleto de distros de todas as formas e tamanhos, e cada uma delas foi desenvolvida por pessoas experientes; mas nem todas elas merecem uma fatia do seu disco rígido. À primeira vista, todas as distros têm o mesmo conjunto de aplicativos e bibliotecas, de modo que você pode pensar que elas oferecem praticamente a mesma experiência de usuário. No entanto, uma distribuição Linux (distro) é mais do que isso. As distros mais famosas empregam muitas horas trabalhando em componentes e código aberto para ajustá-las para atender ao sabor particular do Linux. Há alguns anos, as coisas eram mais simples e a escolha da distro se resumia a optar entre softwares e funções: o OpenSUSE era popular pela renderização do desktop KDE; o Gnome era o forte do Fedora; e o Ubuntu era o garotinho novo

entre as demais distros, com um novo software no núcleo. Oh, como as coisas mudaram! Hoje, as principais distros têm atribuições mais amplas e não podem se dar ao luxo de atenderem somente a um público específico.

e desenvolvimento, como Ubuntu. Mas em razão da natureza do software de código aberto – que é um fator que por si só nem sempre ajuda a projetos corporativos obterem uma vantagem tecnológica baseada somente em doações –, distros também conseguem suporte da comunidade, como o Linux Mint. Como as distros estão sempre se atualizando, quando uma delas deixa de seduzir a seus usuários com um novo lançamento, ela poderá cativá-los novamente com implementações futuras. Nas próximas páginas, você verá a comparação e classificação das principais distros para desktop, de modo a ajudá-lo a escolher aquela que exponha o melhor do Linux e a que tem a maior comunidade de código aberto. Nós também incluímos as melhores distros para computadores mais antigos, distros para iniciantes, distros para usuários mais avançados e distros de servidores para administradores.

“As distros populares trabalham extensivamente para uma sólida experiência OS no desktop.”

8 | Manual do Hacker

Outro fator diferenciador entre as distribuições comuns e as distribuições mais famosas é a quantidade de tempo despendido na construção das ferramentas. As distros famosas se esforçam para criar um sólido sistema operacional para desktop e escrevem tudo, de instaladores de apps de segurança e utilitários a gerenciadores de desktop. As principais distros estão também constantemente evoluindo, algumas mais do que outras. Poucas delas obtêm recursos de corporações multinacionais ricas para alimentarem as suas pesquisas

Instalação e atualização É um processo envolvido? Ou é um processo evoluído? Embora alguns fornecedores importantes – como Dell e Lenovo – estejam oferecendo computadores com Linux pré-instalado, o processo de instalação ainda tem sido o primeiro encontro do usuário com o Linux. O projeto Fedora reformulou o instalador Anaconda, que agora usa um modelo “hub and spoke” em vez de um assistente linear de instalação. Ele não é o instalador intuitivo e precisa ainda se estabelecer, mas agora pode ser usado em particionamento mais complexo de discos. Usuários avançados poderão utilizar o Anaconda para criar um esquema de partição LVM, mas, diferentemente de outros instaladores, ele não oferece uma opção para fazer atualização para uma nova versão. Entretanto, a nova ferramenta FedUp desta distro controla a tarefa sem esforço e pode usar um repositório (repo) de rede ou de uma imagem DVD como uma fonte do pacote. Um dos mais novos e amigáveis instaladores é o Ubuntu, que também é emprestado de várias outras distribuições, incluindo Linux Mint. O instalador é fácil de usar e intuitivo o suficiente para os novos usuários. A versão original no Ubuntu tem opções para instalar atualizações e softwares de terceiros, como codecs. Essas opções não estão disponíveis na versão Mint, que instala automaticamente os codecs e plugins. O instalador também pode ser instalado em uma partição LVM e oferece a opção de criptografia. Novamente, este instalador não foi projetado para atualizar a distro. No Ubuntu, isso é tarefa do Gerenciador de Atualizações, que verifica a disponibilidade de novos lançamentos e ajuda a fazer o upgrade. Por outro lado, o método recomendado para atualizar o Mint consiste em uma instalação limpa, mas também pode-se usar o aplicativo “mintupdate” para atualizar a sua instalação. Tenha em mente também que os desenvolvedores do Mint sugerem que você não atualize sua instalação sempre que houver uma nova versão. A atual Mint 17.x é uma versão LTS que receberá atualizações de segurança e correções de bugs até abril de 2019.

O instalador instal talado adorr ado nSUSE SE do OpenSU OpenSUSE permite que você salve a configuração atual em um arquivo XML, que pode ser usado para instalações automatizadas.

OpenSUSE e Mageia possuem os dois mais consistentes instaladores em lote. Ambas as distribuições têm somente um DVD de instalação, com pouco mais de 4GB. Estas duas distros oferecem vários desktops, incluindo KDE, Gnome, Xfce e LXDE – o Mageia também inclui o Cinnamon e o Mate. O instalador do OpenSUSE permite a criação de um esquema de particionamento LVM, podendo criptografar partições e criar usuários durante a instalação. Além disso, é o único instalador que permite selecionar um método de autenticação de rede, como LDAP ou NIS, bem como criar um esquema de criptografia de senha. O modo de particionamento no instalador do Mageia pode ser usado em modo simples ou “expert” (avançado). A opção de alocação automática cria um layout fácil com o mínimo de partições no modo simples, enquanto que, no modo avançado, você obtém as opções com partições separadas, tanto para área de trabalho comum como para um servidor. O Mageia é único, pois permite que você escolha seu bootloader e suporte Grub, Grub 2 e até Lilo. É possível também instalar a distro em máquinas com UEFI. Ambos, OpenSUSE e Mageia, permitem que você revise todas as alterações antes de elas serem efetivadas.

Veredicto Fedora Workstation 22 Linux Mint 17.2 Mageia 5 OpenSUSE 13.2 Ubuntu 15.04

Os instaladores Mint e Ubuntu não têm a mesma flexibilidade oferecida pelo Mageia ou OpenSUSE.

Distros especializadas Além de distros de desktop, nós comparamos aqui várias outras projetadas para propósitos específicos, por exemplo, a distro OpenMediaVault baseado no Debian é perfeita para converter um computador antigo, que possua vários discos, em um servidor NAS. Da mesma forma, o IPFire é projetado para converter uma máquina em um hardware firewall e em um roteador. Há, ainda o TurnKey, um projeto Linux que produz aplicações JeOS que implantam rapidamente servidores especializados, plataformas de gerenciamento de conteúdo e plataformas de desenvolvimento web. Há também a Kali Linux que é carregada com centenas de ferramentas para testes de penetração e auditoria de segurança. A distro Caine é similarmente projetada para computadores de análise forense e inclui

aplicativos para memória, banco de dados e análise da rede. Se você estiver preocupado com a sua privacidade online, dê uma olhada na distro Tails Linux que já vem com uma série de aplicativos de internet pré-configurados para navegação anônima. A distro usa a rede Tor para tornar anônimas todas as atividades na internet e inclui ferramentas de criptografia para arquivos, e-mails e mensagens instantâneas. Existem também algumas distros exclusivas que você pode instalar no seu disco para usos repetidos. A distro SteamOS da Valve, baseada no Debian, é projetada para executar jogos do Steam. Mas há uma toneladas de jogos não Steam que não funcionarão no SteamOS. Nesse caso, pegue a distro Play-Linux, que utiliza os fundamentos do Ubuntu para construir uma plataforma otimizada perfeita para jogos.

O Tails é parecido com o desktop Windows e também inclui o cliente bitcoin Electrum.

Manual do Hacker | 9

Experiência de usuário Navegando pelos cantos e recantos Uma vez que todas as distribuições possuem quase a mesma coleção de ferramentas e aplicativos, o único fator que as diferencia é a experiência do usuário. Além de criar um visual personalizado, os desenvolvedores de distros desprendem tempo ajustando várias configurações e componentes para garantir que seus usuários recebam uma ótima experiência. Todas elas se esforçam para se certificarem de que seu produto final possua uma unidade coesa, em vez de somente uma

Mageia 5 Mageia é uma distro que tem visual elegante aliado a um desktop KDE personalizado. A distro vem de uma família de distros que sempre foram destinadas ao usuário de desktop, e ela continua essa tradição. A distro saúda o usuário com um aplicativo de boas vindas. Este aplicativo pode fazer muito, por exemplo, informar sobre os diferentes repositórios da distro e permitir que o usuário instale algumas dos aplicativos de código aberto e proprietários mais utilizados. Além dos DVDs de instalação, a Mageia produz live mídias instaláveis para o desktop Gnome, que são tão robustas e confiáveis quanto a edição KDE. A distro também possui um amplo conjunto de ferramentas e utilitários personalizados que podem ser usados por usuários iniciantes, mas também oferecem flexibilidade suficiente para satisfazer a usuários

Fedora Workstation 22 Os problemas de usabilidade com o Fedora começam com o próprio instalador da distro, que parece mais bonito do que algumas das outras distribuições, mas não é bem estruturado. O desktop do Gnome 3 do Fedora é ainda fraco e tem um visual pobre. A menos que os usuários habilitem extensões, terão que lidar com algumas de suas peculiaridades, como a ausência de um painel da porção inferior e a incapacidade de colocar ícones ou pastas na área de trabalho. A exibição de aplicativos de forma paginada não é tão eficaz quanto a exibição categorizada adotada por outras distros. Dito isto, o Gnome 3.16 em sua última versão apresenta várias melhorias de usabilidade, incluindo um novo sistema de notificação. O foco do Fedora sempre esteve em integrar

mistura heterogênea de suas partes soltas. Os desenvolvedores passam tempo uniformizando o software para ajudar os aplicativos a se mesclarem com o resto do desktop. Embora o fator principal que exerce forte influência sobre a experiência do usuário seja o ambiente desktop padrão, algumas distribuições ajustam suas configurações básicas para entregarem um produto polido que ofereça um fluxo de trabalho mais bem acabado. avançados. O projeto complementa a experiência do usuário com sua ampla infraestrutura, que conta com suporte e documentação detalhada.

os diferentes ambientes de desktop, de modo que pareçam aplicativos nativos, e a última versão também fez avanços nessa frente.

Apps pré-instalados Você recebe por aquilo que paga? Ubuntu, Mint e Fedora produzem somente live CDs instaláveis, enquanto Mageia e OpenSUSE também oferecem a instalação somente por DVDs. Todas estas distros oferecem suporte a vários ambientes de desktop (desktop environments ou DE) em diferentes live CDs. No entanto, nenhuma delas permite a seleção de pacotes. OpenSUSE e Mageia lideram as citadas em razão da sua flexibilidade, porque estas oferecem vários DEs. Mageia oferece mais opções, embora ambas sejam padrão para KDE. Depois de escolher o DE, ambas as distribuições permitem selecionar gru-

10 | Manual do Hacker

pos de software para diferentes usos no desktop, como aplicativos de escritório, multimídia, jogos etc. Além disso, estas distribuições permitem a instalação de pacotes específicos de servidores para web, banco de dados ou para gateway de firewall. Finalmente, você pode usar critérios de seleção de pacotes em ambos os instaladores, e até mesmo escolher pacotes individuais para a instalação. Além da seleção de pacotes, todas as principais distros incluem os aplicativos comuns de uso diário no desktop. Você encontrará programas como LibreOffice e Firefox. Algumas distros

exigem que os usuários instalem plugins nos navegadores para reproduzirem conteúdo em Flash e que instalem codecs para manipular arquivos multimídia em formato proprietário. Já o Ubuntu permite que você já os adicione durante a instalação, enquanto o instalador da distro Mint já faz isso automaticamente, pois tem edições para cada versão que não possuem componentes proprietários. As distros que não são fornecidas com os aplicativos proprietários – especialmente Mageia, Fedora e OpenSUSE – têm um processo bem documentado para adicioná-los.

Veredicto Fedora Workstation 22 Linux Mint 17.2 Mageia 5 OpenSUSE 13.2 Ubuntu 15.04

Todas as distros têm um pacote similar de aplicativos padrão.

Linux Mint 17.2 A distro Mint subiu ao topo das classificações de distribuições Linux – pelo menos em http://distrowatch. com – ao combinar as melhores características do desktop Ubuntu, com uma interface familiar e ambiente de trabalho. Embora seja baseado no Ubuntu, a distro modificou todas as ferramentas nas quais ela se inspirou para torná-las mais acessíveis aos seus usuários. Um dos melhores exemplos de suas ferramentas personalizadas é o Mint Software Manager, que antecede o Ubuntu Software Center. A força do núcleo do Mint é o seu ambiente de trabalho Cinnamon. Cinnamon é baseado no Gnome 3, mas mantém a aparência do Gnome 2. Você encontrará todas as coisas de desktop conhecidos, incluindo um painel na porção infe-

Ubuntu 15.04 Talvez o que mais contribua para a facilidade de uso do Ubuntu seja o seu instalador, que pode particionar facilmente o espaço no disco rígido e configurar um sistema de inicialização dupla (dual boot) sem muito esforço. Porém, a despeito disso, operar o desktop é o que importa. Embora não pareça tão estranho como o Gnome 3, o Unity do Ubuntu é ainda visualmente diferente dos desktops com os quais a maioria dos usuários está familiarizada. No entanto, adaptar-se a ele não leva muito tempo, e uma vez resolvido isso, você poderá começar a apreciar a rigorosa integração entre desktop e aplicativos. Um dos elementos mais agradáveis da distro é o menu Messaging, que permite controlar o status e o recebimento de mensagens entre vários serviços online. As pequenas e

OpenSUSE 13.2 Esta é uma das distros mais agradáveis, na medida em que personaliza o núcleo das telas de entrada dos principais aplicativos, como o LibreOffice. A distro também ajusta sua renderização do KDE para garantir que todas os aplicativos sejam selecionados adequadamente com o OpenSUSE, para dar uma aparência geral esperta para a área de trabalho. A distro também faz marcações visíveis em ferramentas dentro do painel de controle personalizado do Yast para facilitar o acesso. Embora o visual seja bem acabado, algumas de suas ferramentas, particularmente o Gerenciador de Pacotes, não são tão bonitas – por exemplo, o Ubuntu Software Center. Fora isso, a distro faz o que

rior, que exibe a lista de janelas abertas, e um menu de aplintes cativos no canto inferior esquerdo. Os vários componentes ão bem bem do Cinnamon – como o gerenciador de arquivos – estão integrados dentro do sofisticado desktop.

elegantes ferramentas como esta e o Ubuntu Software Center dão ao Ubuntu uma vantagem de usabilidade sobre as demais. É também uma das distros Linux mais bem documentadas e uma das que mais oferecem suporte.

promete, e o sistema de instalação por meio de um único clique é um ponto positivo. Ela também é bem documentada e oferece um bom suporte. No entanto, à primeira vista, não é tão amigável para usuários iniciantes, como Ubuntu ou Mint.

Gerenciador de pacotes Dê consistência à sua distro Embora as distros contem com muitos aplicativos, cedo ou tarde você precisará convocar o gerenciador de pacotes – normalmente, cada distro tem um gerenciador de pacotes, tanto em forma de linha de comandos como por meio de uma interface gráfica (graphical front-end). A versão 22 do Fedora marcou a chegada do DNF, que substituiu o antigo Yum. No desktop, ele depende da Ferramenta de Software do Gnome. O Ubuntu lidera o gerenciamento gráfico de pacotes. A Central de Software é uma das melhores ferramentas para desenvolvimento da distro. Como a

maioria dos gerenciadores de pacotes, ele lista, por padrão, somente pacotes em repositórios oficiais. Entretanto, a distro inclui a ferramenta Software & Updates, com a qual você pode adicionar ou remover repositórios extras facilmente, e até mesmo controlar como o gerenciador de pacotes lida com as atualizações. A Mint não é muito inspirado no Ubuntu. Seu gerenciador de pacotes tem visual diferente, mas oferece opções semelhantes às do gerenciador do Ubuntu. A distro também inclui a ferramenta MintSources para gerenciar fontes de softwares, bem como a opção

Veredicto

do gerenciador de pacotes Synaptic para usuários avançados. O gerenciamento de pacotes no Mageia e no OpenSUSE é controlado por módulos de seus respectivos centros de controle personalizados baseados em RPM. O OpenSUSE usa um gerenciador de pacotes chamado Zypper, que possui um sistema de instalação “One Click Install” – isto é, basta um clique para instalar. A ferramenta Mageia, a URPMI, não é tão bonita, mas é bastante funcional e intuitiva. Ela tem também uma ferramenta para ativar repositórios.

Fedora Workstation 22 Linux Mint 17.2 Mageia 5 OpenSUSE 13.2 Ubuntu 15.04

Mageia tem uma ligeira vantagem para expandir a distro sem muito esforço.

Manual do Hacker | 11

Opções de configuração Levante o capô e troque o óleo Os usuários Linux sempre foram capazes de moldar a distro conforme o seu fluxo de trabalho e uso. No entanto, o nível de controle varia de uma distro para outra. Alguns projetos, como Ubuntu, não oferecem muitas configurações de ajustes finos no sistema. Na verdade, a distro ganhou um escudo de proteção para dificultar a personalização. Cada versão seguinte do Ubuntu incluiu mais personalizações, mas se você quiser ter um controle completo sobre sua distro, será precisará usar uma ferramenta de terceiros, como a Unity Tweak Tool. Fedora não é muito diferente. A distro não possui um painel próprio de configurações e, em vez disso, depende daquele fornecido com o Gnome, que não é muito diferente do painel do Ubuntu em relação às opções do pacote de configurações. Enquanto o Linux Mint tem seu próprio grupo de ferramentas de configurações personalizadas para alterar a aparência do desktop e ajustar efeitos, algumas dessas ferramenta são semelhantes às oferecidas pelo Ubuntu. A principal

Mageia e OpenSUSE obtêm opções de configuração adicionais, graças ao Centro de Controle KDE.

Veredicto diferença é a ferramenta Device Drivers (drivers de dispositivos). Em contraste com Ubuntu, as ferramentas do Mint têm uma interface de usuário configurável, de modo a ajudar aos usuários a escolherem os drivers corretos para seus dispositivos. Tanto o OpenSUSE como o Mageia possuem grandes painéis de controle que podem ser usados para ajustar todos os aspectos da distro. O Yast do OpenSUSE contempla tanto usuários comuns como avançados de Linux. A ferramenta permite ajustes de todas as configurações, tais como bootloader, firewall, contas de usuários, rede, segurança, serviços do sistema e,

também, funciona como um gerenciador de pacotes. Ela pode ser usada para transformar uma instalação em servidor Samba, servidor web Apache, entre outros. O Centro de Controle da distro Mageia oferece um número similar de ferramentas de configuração. Possui módulos para gerenciamento de software, periféricos de hardware e serviços de sistema. Os usuários avançados podem utilizá-lo para compartilhar a internet e configurar uma VPN, entre outras coias. A distro está trabalhando na criação de um novo Centro de Controle, chamado ManaTools – uma prévia para testar no Mageia 5.

Desktops padrão O equilíbrio entre forma e função Hoje em dia, todas as principais distros oferecem versões bem acabadas de vários desktops conhecidos. Ubuntu é uma exceção, pois suporta somente seu próprio desktop Unity na versão principal e oferece outro desktop não-Unity como alternativa. Embora a área de trabalho Unity tenha tido inúmeros ajustes e

Usando o Centro de Controle da distro Mageia, você pode configurar o servidor gráfico, bem como os efeitos 3D da área de trabalho.

12 | Manual do Hacker

melhorias quanto a usabilidade, a área de trabalho ainda parece diferente e confusa para usuários iniciantes. Se você estiver disposto a fazer ajustes, chegará à conclusão que o Unity está bem integrado ao Ubuntu. O Fedora, em muitos aspectos, é o desktop principal do Gnome, e a versão principal da Workstation vem com esta área de trabalho. O desktop do Gnome 3 é ainda mais complicado do que o Unity, e você certamente terá que ajustá-lo antes do uso. Ao contrário de algumas outras distros baseadas em Gnome, o Fedora é fornecido com uma versão não modificada do Gnome, na qual você precisará gastar algum tempo brincando com suas extensões para fazer com que o desktop funcione do seu jeito. O Gnome também é oferecido como

uma opção no OpenSUSE e no Mageia, mas o desktop padrão nessas duas distros é o KDE. O desktop do KDE baseia-se na metáfora clássica do desktop (nota do tradutor: a metáfora de desktop trata a interface gráfica do usuário como uma escrivaninha do mundo real, na qual podem ser colocados objetos como documentos e pastas, entre outros) e não surpreenderá aos usuários iniciantes. Usuários mais familiarizados com a interface podem explorar seus novos recursos revolucionários, mas nem todos são intuitivos e fáceis de compreender. A coisa boa é que, se o usuário quiser, não precisará utilizá-los. O KDE tem muitas opções ajustáveis. O Mint também oferece um desktop de aparência bastante familiar, graças ao ambiente padrão do Cinnamon.

Fedora Workstation 22 Linux Mint 17.2 Mageia 5 OpenSUSE 13.2 Ubuntu 15.04

O recurso mais reconhecido da distros Mageia e OpenSUSE são seus respectivos painéis de controle de configuração.

Veredicto Fedora Workstation 22 Linux Mint 17.2 Mageia 5 OpenSUSE 13.2 Ubuntu 15.04

Ubuntu e Fedora perdem para as outras distros por incluir desktops menos amigáveis de usar.

Distros para iniciantes Para aqueles que precisam de estabilidade Elementary OS “Freya” Esta distro tem pouco em comum com a distro na qual ela foi baseada, a Ubuntu. Ela vem com o seu próprio shell, chamado Pantheon, e tem vários aplicativos personalizados, incluindo uma dock (barra de tarefas) inspirada no Mac OS X. A distro dá grande ênfase no design, cuja fixação pela Apple é evidente a partir das ferramentas que ela fornece, como o Snap, um programa para uso da webcam, que é semelhante ao Photo Booth da Apple. A distro fornece várias

Korora 22 Esta é baseada na distro Fedora, que oferece em separado o Gnome e o KDE na versão live instalável. Em contraste com o Fedora, Korora oferece um desktop bastante personalizado. A distro também permitiu que algumas extensões do Gnome, por padrão, solucionassem alguns de seus problemas de navegação, e incluíssem a ferramenta Gnome Tweak para oferecer mais personalização. A distro possui suporte completo multimídia e

Pinguy OS 14.04.2 Outro desktop que atrai a novos usuários com seu design intuitivo é o PinguyOS. O desktop personalizada do Gnome possui uma dock animada na porção inferior, e o menu “Aplicativo” traz uma lista categorizada de programas. Além disso, o Pinguy inclui o Gnome e o Ubuntu Tweak Tools. A distro está repleta de aplicativos, incluindo até mesmo o servidor Plex Media. Além dos

ferramentas personalizadas, como o Geary Mail, o editor de texto Scratch e o player de vídeo Audience, projetados para ajudar aos usuários menos experientes. A distro ainda usa seu próprio gerenciador de janelas, chamado Gala, que consome menos recursos do que outras distros. No entanto, Elementary OS não oferece muitos aplicativos além daqueles básicos, e não inclui codecs proprietários ou qualquer aplicativo não-GTK – isso explica o porquê de a distro não incluir o LibreOffice. permite repositórios de terceiros, como RPMFusion, Google Chrome e VirtualBox. Além disso, Korora oferece os pacotes populares de aplicativos, bem como o navegador Firefox, repleto de extensões úteis. A distro tem algumas ferramentas especializadas também, como o editor de áudio Audacity, o editor de vídeo OpenShot e o transcodificador de vídeo Handbrake, entre outras. Para o gerenciamento de pacotes, a distro oferece aquele do Gnome e o do YumExtender. melhores programas de código aberto, ele inclui vários aplicativos proprietários populares, como TeamViewer, Spotify e Steam para Linux. Há também o Wine, o qual pode ser gerenciado com o pacote PlayOnLinux. Se você precisar de mais softwares há o Ubuntu Software Center, bem como o gerenciador de pacotes Synaptic. A distro usa seus próprios repositórios, além daqueles para Ubuntu e Linux Mint Debian.

Veredito Distros para iniciantes Todas as três distros de desktop que avaliamos acima, se dedicaram em melhorar os componentes básicos. Todas possuem desktops incrivelmente bonitos, intuitivos e funcionais. Das três, a Elementary OS foi a que se esmerou na construção de bibliotecas e ferramentas personalizadas. Tudo, de gerenciador de janelas até seus aplicativos foram criados para corresponder aos seus princípios de design. A única desvantagem

com essa distro é que ela não é tão fácil de usar como as demais. A distro Korora transformou a base do Fedora em um desktop totalmente funcional e inteligente. Ela é um ponto de partida ideal para qualquer um. Sua melhor característica reside na sua personalização e aplicativos. O ponto mais fraco desta distro é o instalador Anaconda herdado do Fedora. Em contraste, o Pinguy OS oferece a melhor combinação de forma e função. O

seu agradável ambiente de desktop dá acesso a um vasto número de aplicações. Mas certifique-se de usá-lo somente em uma máquina adequada, pois todas as suas personalizações consomem muitos recursos, e você só será capaz de desfrutar do Pinguy OS em uma máquina que possua pelo menos 4 GB de RAM. Se você possuir um computador com quantidade de memória inferior é melhor escolher a distro Elementary OS.

Manual do Hacker | 13

Distros de servidores Para os maiorais ClearOS 6.6 Uma das maiores vantagens desta distro baseada na CentOS é o amplo repositório de software para servidor. A distro oferece as opções de acordo com os planos da rede que você deseja, seja uma rede protegida em escritório, uma rede acessível ao público ou um servidor gateway. A distro suporta mais de 80 serviços gratuitos para vários propósitos, incluindo um servidor de rede e um servidor em nuvem. Além de servidores

NethServer 6.6 Também baseada na CentOS, a NethServer permite configurar o servidor instalado por meio de um navegador web. A distro oferece o vasto repositório de software da CentOS e inclui seu centro de software personalizado, que lista todos os servidores suportados. A lista em questão pode ser filtrada, para que você possa escolher o tipo de servidor que deseja implantar, como um firewall, servidor de arquivos, servidor web e servidor

Zentyal 4.1 Ao contrário das outras duas distros baseadas em RPM, Zentyal baseia-se na distro Ubuntu Server. Zentyal inicializa com o mínimo de desktop gráfico, mas ainda usa uma interface baseada em navegador, que pode ser acessada a partir de um computador remoto para configurar a instalação. Em contraste com as outras duas, Zentyal não é um servidor para todos os casos, mas um servidor de escritório. Ainda assim, você pode usar uma instalação Zentyal como um servidor de diretório, para filtrar e-mails, verificar vírus,

comuns, você pode usá-lo como um seedbox (para download e upload de arquivos) e como um Plex Media Server. O ClearOS também inclui várias ferramentas de gerenciamento de sistema e de rede para criar backups, gerenciar largura de banda e RAIDs. Os usuários administradores mais novatos que não têm certeza dos componentes a serem instalados podem usar o Feature Wizard, que os ajudarão a escolher os serviços.

OwnCloud, entre outros. O painel baseado em um browser do NethServer é bem estruturado, e cada seção contém o botão “Ajuda” que explica sobre as várias opções. No painel, você pode obter uma visão geral dos vários parâmetros no servidor instalado. Ele também inclui um visualizador para rastrear os logs de todos os serviços instalados. Além da documentação disponível, há orientações detalhadas no site, incluindo instruções para instalar softwares de terceiros. gerenciar impressoras, implantar VPNs e outros núcleos de centros de serviços de infraestrutura, como DNS e DHCP, bem como para emitir e gerenciar certificados seguros. Uma vez instalada, você poderá configurar esses serviços a partir da sua própria interface web. Zentyal tem uma interface de usuário bem acabada e seus componentes são bem integrados. A distro não tem uma opção para instalar e configurar um servidor web, mas você pode configurar o Apache a partir de seus repositórios Ubuntu. Se você precisar de ajuda, há uma comunidade wiki que oferece suporte.

Veredito Distros de servidores A implantação e configuração de um servidor é um processo complexo. As três distros de servidores que abordamos acima oferecem conveniência e flexibilidade, de modo a permitir que você crie instalações de servidor complexas por meio de uma interface point-and-click, sem necessidade de perder tempo com configurações manuais. Todos as três têm uma extensa lista de servidores suportados. Na verdade, todas elas são bastante similares e, ignorando pequenas diferenças de usabilidade, todas oferecem praticamente a mesma experiência de usuário quando se trata de

14 | Manual do Hacker

implantação e configuração de vários servidores e seus componentes. A concorrência mesmo é no número de serviços que cada uma delas oferece. Zentyal fica atrás porque oferece o menor número de opções de servidores, seguido por NethServer, que é superada por uma margem muito estreita pelo nosso vencedor, ClearOS. Embora o ClearOS ofereça o número máximo de possibilidades para implementar a instalação base, não é adequada para todos os tipos de projetos – por exemplo, se você deseja implantar o OwnCloud, o NethServer é

uma aposta melhor. Além disso, nenhum desses servidores impressionaria os administradores mais experientes, pois preferem construir seus servidores a partir do zero. Se você é um desses, poderá escolher o Ubuntu Server ou CentOS, dependendo do quão confortável você está com seus próprios gestores de pacotes. Há também a distro Fedora Server, recentemente introduzida no mercado, que lhe permitirá lançar servidores com propósitos especiais, mas é você mesmo que irá avaliá-la em comparação com a CentOS.

Distros rolling release Vivendo no limite

Antergos Esta é uma distro rolling release baseada em Arch Linux e usa os repositórios oficiais do Arch em conjunto com os seus próprios personalizados (nota do tradutor: uma distro rolling release é aquela que tem a característica de atualizar seus apps assim que eles se tornem estáveis). Ela também oferece a opção de habilitar o suporte da comunidade Arch User Repository (AUR). Oficialmente, Antergos usa uma versão ligeiramente modificada, mas com um tema predominante do desktop Gnome. Porém, o

instalador personalizado da distro permite que você o substitua por uma série de desktops: KDE, Cinnamon, Mate, Openbox ou LXDE. Por padrão, Antergos vem com o navegador Chromium equipado com o plugin do Flash. No entanto, durante a instalação, você pode escolher o Firefox, bem como algum outro software entre aqueles que não são instalados por padrão, como LibreOffice. A distro usa o gerenciador de pacotes Pacman do Arch, e você pode interagir com a interface gráfica dele.

Manjaro 0.8.13.1 Outra distro rolling release, baseada na popular Arch, é a Manjaro. Esta distro usa um instalador semelhante ao adotado em Antergos. Manjaro recomenda o uso do desktop Xfce, mas também suporta oficialmente o desktop do KDE, que pode ser instalado separadamente a partir do live disco de instalação. Mas há edições de comunidade disponíveis para outros ambientes de desktop, incluindo Gnome, Cinnamon, Mate e Enlightenment. O desktop

Sabayon 15.07 Gentoo é outra distro também rolling release altamente admirada. Derivada da Gentoo, a Sabayon mantém o caráter de desenvolvimento da Gentoo, mas é muito mais amigável para usuários mais novatos. A distro produz diferentes variações de lives instaláveis, baseadas nos ambientes de desktop Gnome, KDE e Xfce. Para a instalação, Sabayon usa uma versão altamente personalizada do instalador Anaconda, que é bem estruturado e fácil de

padrão do Manjaro, o Xfce é temático e modificado. A distro também inclui um gerenciador de configurações personalizado que não oferece muitas opções, mas permite que você instale facilmente um kernel diferente. Manjaro vem com uma ampla gama de aplicativos, incluindo Firefox, LibreOffice, VLC e o cliente Steam para Linux. Como Antergos, Manjaro também usa os repositórios Arch, AUR e o gerenciador Pamac.

operar. A distro inclui aplicativos proprietários, como o Google Chrome e alguns softwares de código aberto, como o Gimp, mas não o LibreOffice. O gerenciamento de pacotes é administrado pelo excelente Rigo Application Browser, que é muito intuitivo e detalhado. Você pode usar o Rigo para instalar e atualizar aplicativos individuais e, também, para ajudálo na instalação de kernels Linux. Além disso, o navegador funciona como um gerenciador de atualizações e pode até mesmo gerenciar repositórios.

Veredito Rolling release As três distros que comparamos nesta página trabalham no intuito de facilitar as coisas na hora de o usuário construir o sistema a partir do zero. No entanto, tanto a Gentoo quanto a Arch são maravilhosas distribuições que dão controle aos seus usuários para fazer isso. Sabayon talvez seja a melhor distro rolling release baseada na Gentoo, que permite a usuários inexperientes testarem os poderes de sua base respeitável. O recurso mais importante da Sabayon é o Rigo Application Browser,

que é uma interface gráfica incrível para o sistema de gerenciamento de pacotes da Gentoo. A despeito de a expansão da distro não ser um trabalho tedioso, a distro perde em razão de sua seleção estranha de pacotes. Se você estiver procurando uma distro rolling release, independentemente de sua base, tanto Antergos como Manjaro são melhores alternativas construídas em Arch. Há muitas semelhanças entre as duas. Ambas fazem um trabalho maravilhoso de expor o poder e a flexibilidade do Arch para

o usuário médio de desktop. As distribuições também têm instaladores semelhantes e usam o mesmo gerenciador de pacotes gráficos. No entanto, Manjaro supera Antergos com seus aplicativos instalados. Antergos também usa o desktop Gnome 3 por padrão, que é mais robusto do que o desktop padrão da Manjaro, o Xfce. Isso torna Manjaro ainda acessível para máquinas menos poderosas em recursos. Além disso, a distro se esforçou para garantir que o desktop Xfce não seja tão maçante na hora de personalizá-lo.

Manual do Hacker | 15

Distros peso-leve Para PCs antigos Porteus 3.1 Porteus é a única que não oferece um download comum; ela solicita aos seus usuários para construí-la a partir da web. A distro permite-lhe escolher um desktop KDE 4, Mate, LXDE ou Xfce, juntamente com uma série de softwares populares, incluindo navegadores (Firefox, Chrome, Opera), processadores de texto (LibreOffice, AbiWord), cliente VoIP (Skype), drivers gráficos para Nvidia e AMD Radeon, entre

Slacko Puppy 5.7 O Puppy Linux é extremamente amigável quanto a recursos e ainda inclui um sistema muito funcional. O projeto Puppy Linux tem muitas variantes oficiais. Há o Wary Puppy para hardware datado; Lucid Puppy desenvolvido a partir de pacotes binários do Ubuntu; e o Slacko Puppy, construído a partir do Slackware. Slacko usa um dos mais leves gerenciadores de janelas, o JWM, e não há uma distro que vença-a em termos de funcionalidade. Ela tem um pacote de

Tiny Core Linux 6.3 Tiny Core é a menor distro sobre inicialização em um desktop gráfico. Não é uma distro que é derivada de uma das distros mais conhecidas, mas deve sua estatura leve a uma escolha cuidadosa de componentes leves. Tiny Core está disponível em vários sabores, além da recomendada versão Tiny Core, que tem somente 15 MB. Existe, de fato, uma versão ainda menor de linha de comando de 10 MB, chamada Core, e uma

outros. Os usuários avançados também podem definir e personalizar parâmetros de inicialização, como a partição tmpfs, e ativar módulos do kernel, como “zram”. Você pode usar o instalador do Porteus para instalar a distro em uma unidade USB removível ou em um disco rígido fixo. Porteus é baseada na Slackware e inclui o Unified Slackware Package Manager para ajudar aos usuários a instalar aplicativos.

aplicativos para praticamente todas as tarefas imagináveis que podem ser executadas em um computador desktop. Conta também com todos os tipos de aplicações multimídia, incluindo editores e visualizadores gráficos, bem como aplicativos para reproduzir, editar e até mesmo para criar arquivos multimídia. Inclui o navegador Firefox, que já vem equipado com todos os tipos de plugins. A distro também tem um aplicativo personalizado para baixar e instalar o plugin Flash.

tudo-em-um, chamada CorePlus, de 72MB. A distro inclui vários desktops e funcionalidades adicionais, como suporte para hardware de rede sem fio. Como você poderia esperar, a distro é incrível e entrega o desktop simples ao executar o gerenciador de janelas FLWM. O Tiny Core usa seu próprio formato de pacote, e seu repositório está alinhado com centenas de aplicativos populares, incluindo o navegador Firefox, LibreOffice, Chromium,Thunderbird, entre outros.

Veredito Distros peso-leve Se você precisar de uma distro que dê suporte a hardware mais antigo, como modems dialup, fique com o Puppy Linux. Mas se você estiver procurando por uma distro para reviver uma máquina mais antiga que foi incapaz de acompanhar as demandas dos desktops Linux contemporâneos, então você terá algumas opções. Tiny Core Linux é a mais enxuta do lote. Mas como a distro não é fornecida com aplicativos reais, você terá que gastar tempo com suas ferramentas peculiares convertendo a instalação básica em um desktop utilizável.

16 | Manual do Hacker

Tenha em mente que, apesar da disponibilidade de aplicativos e conveniências, como instaladores de aplicativos automatizados, ainda é preciso fazer alguma coisa para transformar a Tiny Core em um desktop normal. Na verdade, o primeiro aplicativo que você terá que baixar será o próprio instalador da distribuição, que não é fornecido na versão de 15 MB. Você também terá que se familiarizar com a maneira Tiny Core de fazer as coisas. A falta de familiaridade também prejudica a Slacko. Enquanto a distro inclui um número

incrível de ferramentas para computadores mais antigos, praticamente todas elas são os próprios aplicativos personalizados da distro com graus variados de intuitividade e usabilidade. A distro inclui ampla documentação para ajudá-lo com as suas dúvidas. Porteus, por outro lado, consegue encontrar o equilíbrio entre familiaridade e particularidade. Você obtém o conforto de usar seu ambiente de desktop favorito e aplicativos junto com os benefícios de uma base rápida e maleável.

O veredicto A melhor distro A variedade do grande número de softwares oferecidos faz com que a tarefa de escolher um desktop Linux seja ainda mais difícil. Por exemplo, as distribuições Ubuntu e Fedora são muito mais do que distribuições exclusivas de usuários finais; elas são ecossistemas completos que atendem à comunidade de código aberto mais ampla e servem para tudo, desde dispositivos portáteis até servidores em larga escala. Se você não é fã do ambiente de desktop Unity da Ubuntu, é possível, ainda, beneficiar-se da grande base de software da distro usando um de seus spins (versões alternativas) oficialmente suportados. Da mesma forma, se você encontrar o Fedora demasiado leve para uso de desktop, ainda poderá instalar a distro Korora. A despeito de sua comunidade ativa de colaboradores, a Linux Mint é essencialmente impulsionada por um indivíduo. O projeto é primordialmente mantido por doações e não pode se dar ao luxo de poupar recursos em nada, exceto no próprio desenvolvimento da distro, que disputa com projetos muito maiores, como Ubuntu, Fedora, OpenSUSE e Mageia. Além disso, a melhor coisa sobre Mint é o seu desktop Cinnamon, que é o responsável por sua ascensão meteórica. No entanto, o Cinnamon não é mais um ambiente de desktop exclusivo da Mint, e é oferecido em várias outras distros, seja oficialmente ou em seus repositórios.

1a

Isso nos deixa com duas distribuições com base em RPM: OpenSUSE e Mageia. Não há nada errado com a OpenSUSE, mas ela perde para Mageia, mais por razões não técnicas do que técnicas. Mageia está defendendo o movimento de código aberto tanto no software como no gerenciamento. A Mageia aprendeu com o passado conturbado de suas antecessoras imediatas e é administrada de uma forma democrática de código aberto. A distro também oferece a maior variedade de ambientes de desktop, cujo objetivo é o de ser adotado pelo maior número de usuários. Além disso, ela permite gerenciar o computador por meio de ferramentas de configuração que foram melhoradas por muitos anos. A versão mais recente é compatível com hardwares mais atuais habilitados para UEFI. Por fim, a Mageia oferece a melhor combinação possível de escolha, flexibilidade e facilidade de uso.

3a

Mageia 5.0

Baseia-se na solidez de seu passado, centrado em desktop para entregar uma distro muito maleável.

2a

Uma distro muito bem acabada, que pode ser personalizada para todos os tipos de desenvolvimento de desktop.

5a

Mint 17.2

Faz bom uso da sua base para produzir um maravilhoso desktop de utilização amigável.

4a

OpenSUSE 13.2

Mageia vem com somente software de código aberto, mas para continuar com aplicativos populares proprietários não é preciso muito esforço.

Fedora 22

A melhor distro Linux com suporte, e a distro principal para o Gnome, que continua expandindo-se.

Ubuntu 15.04

A distro ideal para os usuários que desejam estar na crista da onda e obter o sabor de novas e futuras inovações.

Considere também... Em uma visita rápida no endereço http:// distrowatch.com, você encontrará um número imenso de opções. PCLinuxOS e Chakra Linux são dois lançamentos populares projetados para usuários de desktop. Ambos usam o desktop KDE. No entanto, Chakra é, geralmente, uma das primeiras distros a lançar as versões mais recentes do KDE.

Se você gosta de Ubuntu, mas não do Unity, há Ubuntu Gnome, Kubuntu e Ubuntu Mate alternativas. Os usuários da distro Ubuntu que adoram o KDE também devem dar uma olhada na distro Netrunner, que é baseada em Kubuntu. Para hardware mais antigo, você pode considerar a Lubuntu e a Xubuntu baseadas nos desktops LXDE e Xfce, respectivamente.

Além de ter originado a Mageia, a Mandriva também gerou duas distros similares com objetivos diferentes: a distro OpenMandriva, que tem dois lançamentos antigos e se concentra exclusivamente no desktop KDE, e a ROSA Desktop Fresh, com sua inovadora gama de ferramentas para o desktop KDE.

Manual do Hacker | 17

|

Distros servidores Você deseja configurar a sua própria web, e-mail ou servidor de arquivos, ou uma combinação destes? Comparamos cinco distros que podem satisfazem às suas necessidades

Como avaliamos... As distros foram instaladas em máquinas virtuais Qemu/KVM idênticas para facilitar comparações consecutivas. Elas também foram testadas em hardware real para nos certificarmos de que elas também funcionam no mundo real. Se estiver configurando um servidor comercial, você poderá pagar por um pacote completo de serviços e soluções (no sistema turnkey) ou recorrer a administradores experientes. Demos uma olhada nesses servidores do ponto de vista daqueles que desejam configurar um servidor de escritório doméstico ou pequeno, e que desejam passar mais tempo usando-o do que lendo man pages (páginas de manual do Unix). Assim, facilidade de instalação e configuração, juntamente com a flexibilidade foram considerações importantes. Isso não significa que você não possa usá-las em ambientes maiores ou que você não possa construir seu próprio servidor por meio de uma distro padrão como Debian – você poderá usálas, sim, em ambos os aspectos. É possível construir a partir do zero, mas se você quiser algo que “apenas funcione”, continue a ler.

O

Linux sempre se destacou no âmbito dos servidores, mas qual distro você deve usar quando quiser configurar um servidor? Tudo depende do que você deseja. Praticamente todas as distros podem ser usadas como base para essa finalidade, embora aquelas que instalam um conjunto de desktop completo sejam as menos adequadas, pois isso significa remover muita coisa antes de adicionar o que é preciso. Você tem duas opções: usar uma distro na qual o instalador permita escolher o que você deseja, como a instalação de rede Debian, ou escolher uma distro

18 | Manual do Hacker

que seja focada em servidor e forneça um ambiente pronto para uso, da mesma forma que a versão caseira que Ubuntu oferece. Se você estiver mirando o uso comercial, em um cenário de negócios, você terá que assinar um contrato de serviço ou adotar um administrador de sistema capaz de montar uma suíte de servidor para você. Aqui, vamos dar

uma olhada em algumas opções distros de servidor, que estejam prontas fazer o serviço. Algumas delas vêm de nomes comuns, enquanto outras são baseadas em distros bem conhecidas, mas são variantes direcionadas especificamente para uso de servidor. Mas qual delas é a ideal para você? Vamos descobrir.

“Algumas destas vêm de nomes comuns, enquanto outras são baseadas em distros bem conhecidas.”

Instalação

O quão fácil é entrar em seu computador? A ClearOS, que é baseado na CentOS, usa o instalador gráfico Red Hat Anaconda. A NethServer possui uma opção de instalação autônoma que instala a distro no primeiro disco rígido como escolha padrão. Ela usa uma exibição gráfica mesmo que você não possa interagir com ela. Você ainda precisará de um teclado conectado para pressionar as teclas de Seta para baixo+Enter+Enter para selecioná-la no menu de boot. TheSSS (The Smallest Server Suite) faz as coisas de forma ligeiramente diferente, porque ela inicia a partir de login do console, de onde você pode executar servidores ou o programa de

Aqui está o NethServer sendo instalado sem nenhum tipo de entrada de usuário.

|

T

odas estas distros são destinadas a ser instaladas e executadas a partir de um disco rígido. Elas vêm em discos de instalação pura, não em live CDs, com uma exceção: os instaladores são os mesmos que você veria em uma distro de desktop – geralmente a versão de texto –, de modo que você vai precisar de um monitor e um teclado, e talvez um mouse também, para a instalação inicial. Depois dessa etapa, todas essas distros poderão ser executadas sem interface gráfica. Em geral, não há muitas escolhas a serem feitas durante a instalação, e é improvável que você queira um servidor com dual boot.

instalação. Isso fornecerá opções mínimas e usará o disco inteiro. Uma área em que esses instaladores lidam surpreendentemente mal é no particionamento do disco rígido. A maioria deles cria uma única partição para tudo. ClearOS e NethServer são ainda piores em usar LVM, pois preenchem o grupo de volume com uma única unidade lógica, dispensando os benefícios de LVM. O Ubuntu Server tratou isso muito bem, usando o LVM, mas perguntou o quão grande o sistema de arquivos raiz deveria ser e, então, permitiu a adição de mais unidades lógicas; depois forneceu seus pontos de montagem. Isso é particularmente importante em um servidor no qual, geralmente, você vai desejar preservar o conteúdo separado do sistema operacional, o que significa ter /var em seu próprio sistema de arquivos. A instalação autônoma do NethServer é um ponto positivo, permitindo que você instale as coisas e as configure depois. Por outro lado, ClearOS, Ubuntu e Zentyal permitem que você faça mais escolhas durante a instalação. A escolha de sua distro depende de como você prefere trabalhar, mas a abordagem da NethServer é melhor se você estiver instalando mais de um servidor.

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ NethServer ganha por causa de seu útil modo de instalação automatizada.

Serviços populares Os servidores não são criados do mesmo jeito.

A

palavra “servidor” é um termo abrangente; normalmente, pensamos em uma caixa preta destinada a servir páginas web, e-mails e arquivos. Estes são os usos mais populares para um servidor e todas essas distros fazem tudo isso, com algumas exceções. Zentyal não fornece serviços web ou FTP, uma vez que serve mais como um servidor de

escritório. É baseado no Ubuntu, de modo que você pode instalar facilmente o Apache ou outro servidor, se quiser, mas será preciso que você o configure sozinho. TheSSS é uma distro extremamente leve, de modo que não é nenhuma surpresa que ela possua o menor número de serviços disponíveis. Ele

A maioria fornece Apache, mas você tem que encontrar o conteúdo!

fornece um servidor web, e é o Apache, não uma das alternativas mais leves que você poderia esperar. O FTP também está incluído, mas não os protocolos de compartilhamento de arquivos mais comuns, como o NFS ou o Samba. A omissão mais óbvia é um servidor de e-mail, mas isso não caberia no aspecto de distro “leve”. Manipular milhares de e-mails para cada um de um grupo de usuários não é a carga de trabalho que você daria para o tipo de hardware TheSSS. As outras três, ClearOS, NethServer e Ubuntu Server, usam muito o mesmo software para esses serviços: Apache, Postfix e Dovecot (cyrus-imapd no clearOS). As principais diferenças a esse respeito são como elas são fáceis de trabalhar, e NethServer leva vantagem quando se trata de administrar contas de e-mails.

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ Ambos ClearOS e NethServer têm acesso a muitos pacotes de servidores CentOS.

Manual do Hacker | 19

Administração web A maioria dos servidores roda sem um monitor e precisa de administração remota.

O

s administradores de sistema em um terminal usam Emacs, ou até mesmo vi, para editar arquivos de configuração. Meros mortais preferem uma interface gráfica, especialmente para tarefas com as quais não estão familiarizados. Portanto, pode ser importante para um servidor distro ter uma boa interface

|

ClearOS

administrativa e uma maneira habitual de fazer isso, porque os servidores muitas vezes executam sem uma interface gráfica, em uma sessão de navegador. Dessa forma, você pode administrar seu servidor a partir de qualquer lugar em sua rede. Uma distro servidor, normalmente, tem muitos componentes para cuidar, por isso é

importante que a interface de administração seja clara e bem organizada. Claro, você não precisa fica limitado a essa interface. Se você sabe o que precisa fazer, é mais rápido mergulhar em uma sessão shell, de modo o acesso SSH também é importante.

+++++

ClearOS inicia uma exibição gráfica exibindo os detalhes necessários para você se conectar a ela, e um link para alterar suas configurações de rede. Ao fazer a conexão com a interface web do ClearOS, será apresentado o assistente de instalação, no qual cada página inclui um painel de ajuda, que torna o processo mais fácil para usuários menos experientes. Isso envolve o registo de uma conta, o que pode tornar algumas pessoas nervosas. A última parte do assistente permite escolher os aplicativos desejados, por função ou nome, mas você pode pular esta seção e fazer as coisas você mesmo mais tarde. A loja disponível no ClearOS oferece aplicativos gratuitos e pagos (é claro que as versões gratuitas são parte de um produto comercial). A interface é lisa e fácil de navegar, mas parte dela, particularmente a loja, pode ser lenta.

NethServer

+++++

NethServer permite que você defina o endereço IP no momento da instalação, para que você possa usá-lo diretamente em seu navegador web depois. A interface do Gerenciador de Servidores é limpa e bem definida, tornando mais fácil encontrar e alterar qualquer configuração com o mínimo de trabalho. Cada página contém um botão “Ajuda”, que esclarece opções adicionais. As páginas abrangem gerenciamento de usuários, configuração de serviços, instalação de software e atualizações, configuração de rede e muito mais. Configurar os vários serviços que você deseja executar também é feito facilmente a partir deste mesmo lugar. Existem opções disponíveis para fazer backup e restaurar a configuração do sistema. Esses backups são diários e automáticos, mas você pode fazê-los manualmente com mais frequência quando estiver experimentando a configuração. Os backups programados de dados também são atendidos e podem ser enviados para um compartilhamento de rede ou unidade USB.

Trabalhando com Windows Às vezes, um servidor precisa atender àqueles menos afortunados

P

or mais que amemos o Linux, na verdade, há uma grande quantidade de pessoas que não o utilizam, de modo que geralmente precisam de um servidor que funcione com outros sistemas operacionais. Para web e e-mail não há problema, pois existem protocolos padrão, e o servidor geralmente não se preocupa com o sistema operacional no qual está sendo usado para se comunicar com ele. No entanto, existem alguns protocolos projetados para Windows. De maior importância são as

20 | Manual do Hacker

facilidades de groupware (software colaborativo) do Microsoft Exchange, que é considerado por muitos como um requisito essencial para um servidor de e-mail em uma rede que inclui o sistema Windows. A ClearOS tem Zarafa como uma opção adicional (paga). O Zarafa oferece serviços de groupware do tipo MS Exchange. Ou seja, faz o que o Exchange faz, mas não é diretamente compatível, porém funciona com todas as plataformas de desktop e móveis. Se você quiser compatibilidade nativa com o Microsoft

Exchange, considere o OpenChange em vez disso, que você encontrará incluído como parte do Zentyal. NethServer usa SOGo. É similar ao Zarafa, pois oferece serviços semelhantes aos do Exchange, mas também pode usar o OpenChange para obter compatibilidade com o Exchange. Em contraste, o Ubuntu Server não é restringido pelo conteúdo de uma interface web, de modo que você poderá instalar o que quiser – todas as opções citadas acima estão disponíveis para ele.

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ NethServer tem OpenChange, mas Zentyal ganha por sua facilidade de configuração.

TheSSS

+++++

|

Apesar de seu tamanho diminuto, o TheSSS inclui uma interface de administração web. É bastante básica, e é principalmente para editar vários arquivos de configuração, mas ajuda. Você ainda precisará usar o SSH para executar algumas operações, mas há alguns scripts auxiliares para ajudá-lo a administrar o servidor. Execute helpme no prompt do terminal para ver a lista de comandos do servidor, execute server, para listar vários subcomandos para cada um dos servidores. TheSSS pode ser executado diretamente a partir de um CD ou pendrive para que você possa experimentá-lo sem precisar instalá-lo no seu disco rígido, mas se você não se sentir confortável usando linhas de comando, o TheSSS não é para você.

Ubuntu Server

+++++

A única ferramenta de administração remota instalada com o Ubuntu Server é a OpenSSH. Você pode instalar os pacotes Zentyal, mas se for fazer isso, você pode muito bem instalar a distro Zentyal. O único outro método de administração documentada pelo Ubuntu é usar o Puppet, que é planejado para administrar múltiplos sistemas ao mesmo tempo, e não uma ferramenta para executar um servidor SoHo. A distro Ubuntu Server espera que administradores de sistema experientes o mantenha, o que significa que a interface de usuário para os propósitos desta comparação é efetivamente inexistente. Você também pode instalar o Webmin, um programa genérico de administração de sistema baseado na web. No entanto, a distro Ubuntu nunca vai ganhar nesta área, e se isso é importante para você, será preciso considerar uma alternativa.

Zentyal

+++++

Zentyal inicializa com um desktop “X” completo, executando o LXDE com o Firefox aberto na página de login de configuração. Você pode usar essa interface a partir de outro computador na rede, que é a maneira usual de fazer as coisas, a menos que você pretenda administrar frequentemente o servidor em sua própria área de trabalho. A interface é pouco intuitiva. Pressionar o botão “Alterar” de um módulo não é suficiente para aplicar alterações; será necessário pressionar o botão global “Salvar” no canto superior direito para confirmar todas as alterações. Depois que você se acostumar com esse comportamento, notará que a interface é responsiva e razoavelmente bem definida. Isso é bom, pois não há muita ajuda online, e nem sempre é fácil encontrar o que você precisa na página wiki.

Estabilidade e segurança Acima de tudo, um servidor deve ser confiável e sem bug de segurança

N

ós usamos o termo “estabilidade” nesta seção no sentido Debian da palavra, o que significa não ter que mudar as coisas muitas vezes - nenhum dos softwares travou enquanto estávamos utilizando-os. O que importa é que haja uma sólida distro Linux nos bastidores, e que continue fornecendo atualizações de segurança e correções em tempo hábil para bugs significativos. Você não precisa mudar frequentemente os softwares de um

servidor; basta que eles funcionem e continuem trabalhando. TheSSS é, efetivamente, a versão do servidor 4MLinux, que é uma distro completamente independente. Como tal, não tem grande infraestrutura por trás dela, tornando-a imprópria para uso em um cenário cuja segurança é primordial. É mais adequada, em todos os aspectos, para a configuração de uma pequena rede doméstica, especialmente se você quiser executála em hardware antigo.

Veredicto ClearOS

+++++

NethServer

As outras candidatas são todas baseadas, direta ou indiretamente, nas principais distros. ClearOS e NethServer são ambas baseadas no CentOS, que é a reconstrução gratuita do Red Hat Enterprise Linux. Você terá suporte, pacotes e atualizações de segurança por um bom tempo. O mesmo acontece com Ubuntu Server e Zentyal (que se baseia no Ubuntu), porque o Ubuntu suporta lançamentos LTS por cinco anos.

+++++ TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ Empate entre ClearOS e NethServer. Ambos têm acesso ao software de servidor RHEL.

Manual do Hacker | 21

Documentação e suporte Mais recursos significam mais aprendizado – boa documentação é vital.

F

documentação detalhada no site respectivo, incluindo informações sobre como instalar software de terceiros. A ajuda local para o ClearOS não é tão detalhada, mas é compensada com uma riqueza de recursos online, incluindo manuais, tutorias e uma base de conhecimento. ClearOS vem em duas versões: a Community (gratuita) e a Professional

|

erramentas de configuração do tipo “apontar e clicar” são ótimas, mas você precisa ter alguma compreensão do que seus cliques estão realmente fazendo, especialmente se você pretende expor seu servidor à internet. O NethServer fornece uma boa ajuda online em sua interface web e, se você precisar de mais, há

NethServer – ajuda local, apoiada por documentação online

(paga) – esta última, como suporte. Há também uma avaliação gratuita de 30 dias da versão Professional. A loja de aplicativos ClearOS também inclui softwares pagos. O NethServer tem também versões gratuitas e versões com suporte. Lembre-se de que você não terá suporte enquanto estiver usando a versão gratuita. O Ubuntu Server não tem interface web e, portanto, depende exclusivamente da documentação online. Isso não é uma coisa ruim, porque é o padrão habitual do Ubuntu: ser abrangente e compreensível. Há também a opção de um pacote de suporte com o Ubuntu. Zentyal tem uma breve ajuda local e uma wiki da comunidade para a documentação principal. Isso inclui uma seção contendo documentação oficial da equipe da Zentyal e ajuda em outros idiomas. Tal como acontece com a maioria das outras distros, existem lançamentos comunitários e aqueles com suporte pago. A documentação para TheSSS é muito parecida com a própria distro: mínima. Para ser justo, há muito menos informações obtidas na documentação do que na internet. Esta é uma distro puramente gratuita.

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++ Ubuntu Server

+++++ Zentyal

+++++ Boa ajuda – tanto local quanto no website – dá ao NethServer a dianteira.

Mais do que LAMP Vida do servidor após o envio de páginas web.

P

ara além da habitual LAMP e serviços de e-mail, há muito mais para usar em um servidor. Enquanto TheSSS é limitada, com exceção de um firewall e web proxy, as outra tem muito mais para oferecer. Todas elas podem ser usadas como um servidor de gateway, ficando entre sua rede e a internet, um firewall ou uma conexão VPN para conectar usuários remotos de sua rede. Com exceção do TheSSS, todas essas distribuições têm suas raízes em grandes distros já estabelecidas, de modo que há pacotes para qualquer coisa que você queira fazer. Enquanto Zentyal não fornece serviços web ou FTP, inclui quase

22 | Manual do Hacker

todo o resto: compartilhamento de arquivos, controlador de domínio, firewall e VPN. Inclui, ainda, o OpenChange, uma implementação do protocolo Exchange da Microsoft, tornando-a uma boa escolha para uma rede mista de escritório. ClearOS e Há muito mais usar em um servidor do que o NethServer fornecem quase bom e velho LAMP, como mostra o Zentyal. tudo – ambas são baseadas em CentOS e, assim, oferece acesso até mesmo um servidor de fax. Como à riqueza de software. Além dos servocê é o responsável por instalá-lo e viços habituais de LAMP, correio, FTP, configurá-lo sozinho, o Ubuntu Server arquivo e impressão, elas incluem tem toda a gama de pacotes Ubuntu e Debian para escolher, mas você terá proxies de web e e-mail, servidores que fazer o trabalho. de bate-papo, webmail, firewalls e

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++ Ubuntu Server

+++++ Zentyal

+++++ Zentyal bate os outros aqui, graças à gama de serviços oferecidos.

Distribuidores de servidor

A

qui não há nenhuma afirmação “esta distro é a melhor para servidor”. Qual delas é a melhor para você depende do que você deseja usar. A maioria delas tem algo que as diferencia do resto, e nem sempre por uma boa razão. A óbvia diferente é a TheSSS. Ela nem sequer tenta ser uma distro completa: é minúscula e leve, o equivalente ao servidor do Damn Small Linux, tornando-a útil somente para tarefas leves. Mas isso também a torna particularmente adequada para essa finalidade, e é a única distro aqui que pode ser executada a partir de um CD ou um pendrive. A distro Ubuntu Server também se destaca como o única candidata sem uma ferramenta de configuração web. Esta deve ser descartada se esse for um recurso de que precisa, mas a Ubuntu cumpre todas as outras necessidades. Ela fornece todos os recursos de servidor que você poderia desejar (cortesia de seu amplo pacote de repositórios) e a facilidade de

1a

NethServer

adicionar mais por meio de PPAs. Ela oferece suporte de cinco anos para as versões LTS. Ubuntu Server também tem uma riqueza de documentação e apoio da comunidade, o que alivia parcialmente a falta de uma GUI. Zentyal se destaca por duas razões: é excelente na integração dentro do ambiente de múltiplos sistemas operacionais e a falta de um servidor web (na verdade, o Apache é instalado para uso interno, mas não está disponível por meio da interface). Isso marca claramente o seu propósito como um servidor de escritório, um papel no qual ela se destaca. Como esta é basicamente Ubuntu Server com a cara da Zentyal, todas as vantagens previamente mencionadas daquela distro irá aplicar aqui também. Só resta as distros ClearOS e NethServer para escolher, que é uma tarefa quase impossível. Ambas

3a

+++++

são baseados na CentOS 6.6, fornecem uma gama de serviços similares e oferecem acesso aos mesmos pacotes de softwares. A instalação automatizada e a ajuda local mais completa apenas favorecem a NethServer, mas a GUI da ClearOS ganha em algumas áreas. Se qualquer um desses servidores parece adequado às suas necessidades, você deve tentar os dois.

Zentyal

+++++

Web: www.zentyal.org Licença: Vários open source Versão: 4.1

Esta melhoria de CentOS ganha por uma margem bem curta.

ClearOS

A interface do NethServer não é bonita, mas é útil

“Se qualquer um desses servidores parece adequado às suas necessidades, você realmente deve tentar os dois."

Web: www.nethserver.org Licença: GPL3 Versão: 6.6

2a

|

O veredicto

Como um servidor Ubuntu deve ser feito.

4a

+++++

Ubuntu Server

+++++

Web: www.clearos.com Licença: Vários open source Versão: 6.6

Web: www.ubuntu.com/server Licença: Várias Versão: 14.04 LTS

Um ágil repacotamento do CentOS 6.6. Vale a pena experimentar.

Coisas boas do Ubuntu, mas sem interface de administração shell.

5a

TheSSS

+++++

Web: http://thesss.4mlinux.com Licença: GPL3 Versão: 13.0 Bom para uma opção leve, mas não compete com os outros.

Considere também... Se você não quiser usar um servidor préempacotado, por que não tentar instalar o software que você precisa em uma distro de uso geral? Até mesmo sua distro de desktop favorita será um bom ponto de partida, e você poderá remover os pacotes de desktop, uma vez que o sistema operacional está pronto para executar sem interface gráfica e você estará trabalhando em algo familiar.

Alternativamente, você pode usar Gentoo ou Arch Linux para instalar uma distro do servidor a partir do zero, incluindo somente o que você precisa. Se desejar uma administração baseada em navegador, o Webmin também é uma boa opção de uso geral, mas não é tão liso como algumas das interfaces que mostramos aqui, mas funciona com tudo. A decisão reside, pelo menos em parte,

sobre o que você quer de um servidor e por que você precisa dele. Caso esteja querendo algo para a sua configuração de escritório que apenas funcione com o mínimo de confusão, pelo menos as três melhores candidatas aqui funcionarão muito bem. Se o seu servidor é realmente mais do que um projeto de passatempo, você vai aprender mais construindo o seu próprio.

Manual do Hacker | 23

Software - De aplicativos a jogos para o ambiente Linux – altere-os!

De aplicativos a jogos para o ambiente Linux – altere-os! 26

Top 100 ferramentas Linux

27

Apps essenciais

28

Apps da internet

28

Jogos

29

Produtividade

30

Hobbies

30

Mídia

31

Desenvolvimento

32

Utilitários

32

Terminal

33

Administrador

34

Desktops remotos

35

Fácil de usar

35

Documentação

36

Recursos

36

Estado de desenvolvimento

37

Protocolos & suportes

38

Sobrevivente do dial-up

38

Performance

39

O veredicto

40

GParted: ajustes suas partições

Manual do Hacker | 25

|

Software

TOP 100 FERRAMENTAS LINUX Dê uma volta nesse jardim do código livre enquanto escolhe os melhores apps, ferramentas e utilitários disponíveis para todos os tipos de Linux

Com

70

melhores apps para Raspberry Pi

T

odos temos os nosso apps favoritos, aqueles que funcionam melhor para a gente do que qualquer outro. Mas vamos voltar um pouco das batalhas do tipo Emacs vs vim que acontecem no universo Linux e dar uma olhada no farto número de apps à nossa disposição. Os repositórios de software nas suas distros nos dão acesso a milhares de apps, e você pode instalar um pouco de tudo, de suítes de apps até funções que você pode acionar com o pressionar de um botão. Hoje em dia, existem apps de código livre e ferramentas de toda sorte. É raro um caso de um aplicativo que não foi acolhido por uma comunidade. Muitos desses apps provaram ser alternativas viáveis, oferecendo o mesmo número de recursos ou mais do que suas versões

proprietárias. Eles também provaram ter um valor muito grande tanto no ambiente doméstico como no escritório. De acordo com as estimativas no site www.openhub.net, alguns apps mais famosos, como o LibreOffice, o Firefox e o Apache levariam centenas de anos para um indivíduo desenvolver, e custaria milhões de dólares. E ainda sim, eles estão disponíveis por custo zero.

outros são mais versáteis quando aplicados em linhas de comando. Nessa seção, nós vamos dar uma olhada na vasta coleção dessas verdadeiras joias do código livre e oferecer algumas escolhas que estão em maior destaque. Nessa lista de 100 melhores apps, nós cobrimos uma grande variedade de categorias. Não importa se você é uma pessoa de negócios, uma instituição de educação, um desenvolvedor, um usuário caseiro ou um gamer, temos de tudo um pouco. Embora você conheça algumas dessas ferramentas na lista, fique tranquilo porque há bastante coisa para descobrir. Se você ainda não escapou das garras do software comercial, temos certeza de que vai encontrar algumas ferramentas nessa lista que são ótimos substitutos.

“Muitos desses apps provaram ser alternativas viáveis.”

26 | Manual do Hacker

Apps de código aberto têm muitas caras e tamanhos, e você pode dar uma nota para eles baseado na sua utilidade. Há apps com muitos recursos, suítes de apps destinados a tarefas específicas, ferramentas bem-acabadas e novidades fresquinhas em apps e games. Alguns lançam com uma bela interface gráfica e

Apps essenciais

Gufw

Um desktop Linux não está completo sem eles LibreOffice

Thunderbird

eparado do OpenOffice.org, o LibreOffice se tornou umas das ferramentas para produtividade mais populares. Isso inclui softwares processadores de texto, planilhas, apresentações, diagramas e desenhos, bancos de dados e fórmulas matemáticas. Ele também pode oferecer compatibilidade com documentos e diversos formatos de arquivos. www.libreoffice.org

U

ma outra joia da fundação Mozilla, o Thunderbird é um dos melhores agregadores de e-mail. Ele é fácil de usar e está recheado de recursos. As configurações rápidas permitem sincronizar com serviços populares e pode ser gerenciado usando várias contas diferentes. Pode ser encriptado e aceita extensões de terceiros. www.mozilla.org/thunderbird

ocê pode não estar usando um firewall atualmente, e isso pode ser porque eles são bem complicadas de configurar, por isso, você precisa de Gufw. A interface gráfica do Gufw para gerenciar as regras de entrada e saída de apps e serviços é intuitiva. Seus menus foram criados especialmente para usuários sem experiência. www.gufw.org

KeepassX Wine

M

esmo com o aumento de apps que funcionam em plataformas diferentes, ainda temos exclusivos para Windows. Isso inclui grandes apps proprietários, como o Adobe Photoshop ou pequenos apps de nicho. Para essas situações, você pode usar o Wine, que roda esses apps e jogos exclusivos de Windows com facilidade. O projeto oferece suporte para mais de 20.000 apps. Alguns funcionam sem problemas, enquanto outros precisam de um pouco de ajuste. www.winehq.org

Remmina

V

ocê pode acessar o seu computador de longe, no conforto do seu desktop usando o Remmina. Ele suporta o maior número de protocolos e se conecta a todos os tipos de servidores remotos. Esse app é fácil de usar, e tem bastante recursos para ser uma opção viável. http://remmina. sourceforge.net

VLC Distros normalmente vêm com um tocador de vídeo. Mas não tem outro programa melhor que o VLC. Ele dá suporte para quase todo formato de áudio e vídeo, e inclui boas ferramentas CLI para usuários avançados. www. videolan.org/vlc

L

embrar as várias senhas é um desafio para maioria de nós. Você pode deixar essa tarefa para o KeepassX, que armazena suas senhas em um banco de dados encriptado. Ele pode preencher as senhas automaticamente e também inclui um gerador de senhas randômicas. www.keepassx.org

BleachBit

U

ma distro acumula um montão de dados com o tempo, mas com o BleachBit você consegue fazer uma limpa e proteger o seu sistema. Ele também remove arquivos temporários ou desnecessários, e tem o que é preciso para apagar arquivos por completo. http://bleachbit.sourceforge.net

uando quiser acessar seu PC à distância, você não vai conseguir fazer isso sem o OpenSSH. Ele é uma caixa de ferramentas que oferece uma opção para acessar seu computador com segurança, através vários métodos de autenticação e suporte a todos os protocolos SSH. www.openssh.org

PeaZip O PeaZip te ajuda a guardar mais de 130 tipos diferentes de arquivos e pode até criar versões encriptadas. Ele integra desktops mais conhecidos e traz um CLI para usuários avançados. http://bit.ly/PeaZipSF

Gparted Use o Gparted para particionar um disco no seu PC. Ele está disponível em um CD e também pode ser instalado na sua distro. O app pode criar, medir, mover, deletar, reformatar ou checar partições e dar suporte a muitos sistemas de arquivo. www.gparted.org

VirtualBox

Q

uando o Wine não der conta, você pode usar o VirtualBox para rodar uma instalação Windows inteira dentro de uma máquina virtual. O software também pode ser útil para instalar apps experimentais que você não quer colocar no seu próprio computador e para testar sistemas operacionais sem expô-los ao hardware. www.virtualbox.org

Clonezilla

OpenSSH

Q

O Gufw tem perfis e regras pré-configuradas para ajudar novatos

E

ssa ferramenta de clonagem pode ser distribuída dentro de um CD, e é famosa por fazer backups rápidos e a restauração de PCs individuais. O app também pode ser usado para instalar a mesma imagem em várias máquinas. O Clonezilla trabalha com um vasto número de discos, partições e tipos de arquivamento. www.clonezilla.org

ZuluCrypt Esse aqui cria um disco encriptado dentro de um arquivo, uma partição fora do sistema ou em um dispositivo USB. O ZuluCrypt tem uma interface intuitiva e pode encriptar arquivos individualmente usando GPG. http://bit.ly/zuluCrypt

HomeBank Um aplicativo para finanças bem-acabado. Ele pode importar dados de outros apps ou extratos em formatos mais usados. Também pode detectar transações duplicadas e fazer relatórios e orçamentos com facilidade. http://homebank.free.fr

Manual do Hacker | 27

|

S

V

Apps da internet

Midori

Obtenha o melhor dessas ferramentas web Firefox

O

RSSOwl

U

m dos softwares opensource mais bem avaliados, o navegador Mozilla Fox é o navegador padrão em quase todas as distros de Linux. É conhecido por suas opções de privacidade. Você pode customizar quase tudo nele e instalar várias extensões. www.firefox.com

U

ma excelente alternativa para o Google Reader, o RSSOwl é um agregador de notícias para feeds de RSS e Atom News que é fácil de ser configurado. O novo app junta, organiza, atualiza e armazena notícias de forma acessível e salva itens selecionados para visualizar offline. www.rssowl.org

P

Jogos

|

O

cliente gFTP é preparado para suprir qualquer demanda para baixar arquivos via FTP. Tem uma interface simples com duas telas que mostra o sistema de arquivos local e remoto. Usando o gFTP, você também pode transferir arquivos entre dois servidores remotos. http://gftp.seul.org

Tox

O

usuário que gosta de privacidade deveria experimentar o serviço de bate-papo e VoIP chamado Tox. Ele se firma em uma rede que usa conexões P2P, a mesma tecnologia usada pelo BitTorrent para fazer uma conexão direta entre usuários e, diferente de outras alternativas para o Skype, o Tox não usa servidores centralizados ou supermódulos, que podem ser invadidos. Toda a conversa também é codificada usando NaCl crypto library. https://tox.im

Aqui você constrói civilizações nesse jogo de estratégia, com belos gráficos e intensa jogabilidade. Ainda não teve um lançamento oficial, mas já ganhou prêmios no seu estado atual. http://play0ad.com

28 | Manual do Hacker

FileZilla ara aqueles que usam bastante FTP, existe o FileZilla. O cliente dá suporte a protocolos FTP, SFTP e FTPS e tem quase todas as opções de configuração que você pode imaginar. Possui uma interface com abas para você poder navegar com mais de um servidor e até transferir arquivos simultaneamente entre múltiplos servidores. https://filezilla-project.org

gFTP

0 A.D.

navegador para qualquer um que se importa com o consumo de recursos, o Midori é popular com distros leves. Mesmo com sua filosofia e design econômicos, o ele tem tudo o que você espera de um navegador, incluindo acesso rápido, interface com abas, gerenciamento de favoritos e mecanismo de busca configurável, assim como um modo anônimo. www.midori-browser.org

Jitsi

J

itsi é o melhor app de VoIP, desde que você não seja avesso a aplicativos Java. Ele suporta bate-papo e vídeo conferências individuais e em grupo. Ele também dá suporte a protocolos de mensagem instantânea, incluindo SIP, XMPP, AIM, ICQ, MSN, etc. O Jitsi tem todas as coisas que você pode esperar de um softphone, e mais, como texto de chat encriptado com OTR e voz e vídeo estabelecendo uma sessão ZRTP. https://jitsi.org

O

que faz do Aria2 uma ferramenta única é a sua capacidade de baixar o mesmo arquivo a partir de diversos protocolos. O aplicativo baixar via HTTP, FTP, BitTorrent e Metalink e também pode abrir várias conexões para fazer um download mais rápido. http://aria2. sourceforge.net

Outro jogo de estratégia que desafia os seus jogadores a liderar uma tribo do ano 4000 a.C até a era espacial. www.freeciv.org

O

BitTorrent é popular por baixar distros de Linux, e existem vários clientes. Um dos melhores é o Deluge, que vem com várias front-ends, incluindo uma gráfica e uma interface web. Ele oferece recursos para usuários avançados ajustarem ao seu gosto e também tem uma grande biblioteca de plugins. www.deluge-torrent.org

Pidgin

Aria2

FreeCiv

Deluge

Alien Arena Um popular jogo em primeira pessoa com uma temática de ficção científica e o estilo de mata-mata semelhante a Quake e Unreal Tournament. O jogo tem vários modos de jogo e quase 60 mapas. http://red.planetarena.org

P

idgin é um app maravilhoso para trocar mensagens usando vários protocolos de rede. Você pode entrar em várias contas usando um único cliente e falar com vários amigos em redes diferentes. Pode conectá-lo ao AIM, MSN, Google Talk, Yahoo, Jabber e IRC – tudo ao mesmo tempo, se quiser. www.pidgin.im

OpenMW O OpenMW é uma nova engine que recria o famoso RPG Morrowind. O objetivo do projeto não é melhorar o jogo em si, mas divulgar uma versão que aceite modificações. https://openmw.org

FlightGear Para os fãs de simulação de vôo, o FlightGear oferece uma experiência sobre terreno realista. Ele inclui cenários para mais de 20.000 aeroportos e pode ser incrementado com os seus próprios locais e aviões. www.flightgear.org

Produtividade

Melhor o seu ritmo de trabalho com esses apps Calligra

Zathura

GnuCash

U

suários de Gnome veem o GnuCash da mesma forma que o KMyMoney em termos de recursos, mas eles funcionam de forma bem diferente. O GnuCash é um app para pequenos negócios baseado em uma entrada dupla para relatórios profissionais. Além de lidar com transações monetárias, pode rastrear dados da bolsa e fundos mútuos. www. gnucash.org

E

sse app é muito útil quando você precisa fazer pequenas anotações para mais tarde. Ou se estiver cansado de digitá-las, pode usar como um mouse ou uma stylus. Também pode deixar anotações em arquivos PDF. http://xournal.sourceforge.net

Essa é uma ferramenta (baseada em web) de gerenciamento de recursos com uma pequena interface para acessar o CRM, HRM e o gerenciamento de projetos. Você pode também rastrear recursos em mais de um projeto. www.achievo.org

Gnumeric é um app leve, mas isso não significa que ele tenha poucos recursos – ele oferece funcionalidade maior do que outros apps de planilha. O Gnumeric vai importar dados do Microsoft Excel, e pode usar até filtros de importação para outros aplicativos também. www.gnumeric.org

KMyMoney

AbiWord

C

lacuna que separa editores de texto de processadores de palavra é preenchida pelo AbiWorld. Não é um programa robusto, mas ainda dá conta do recado, e é recomendada para distros mais leves. Ele também oferece colaboração em nuvem através do serviço AbiCollab.net. www.abiword.org

riado para usuários KDE, o KmyMoney é um app financeiro rico em detelhes. Ele suporta diferentes tipos de conta, como Cash, Checking, Savings, etc e pode categorizar ganhos e despesas, ou reconciliar contas de banco. Se o seu banco permitir, você pode até ter o KmyMoney conectado ao seu banco diretamente para monitorar movimentações na sua conta. https://kmymoney.org

ProjectLibre

Calibre

A

U

ma ferramenta de gerenciamento te ajuda a ficar em dia com tudo que está acontecendo dentro dos seus projetos. Eis os ProjectLibre, o melhor na sua categoria. Um app premiado que é usado por muitas empresas pelo mundo. O ProjectLibre possui vários recursos e também pode visualizar tarefas em vários gráficos e relatórios. www.projectlibre.org

OpenLDAP

Xournal

Achievo

U

m simples leitor de PDF. Ele oferece quase todos os recursos que você esperaria de um app assim. Você pode buscar linhas de texto, pular páginas, dar zoom e voltar, rotacionar, marcar páginas e outros. Além de PDFs, ele pode visualizar DjVu e até encriptar documentos. https://pwmt.org/projects/zathura

O

V

ocê pode usar o Calibre para gerenciar sua coleção de e-books, pois há suporte para vários modelos de leitores e de smartphones. O app pode importar e-books manualmente ou sincronizar com um dispositivo, como um Kindle. Quaisquer arquivos importados podem ser separados e agrupados por campos de metadados, que podem ser puxados de várias fontes online. www.calibre-ebook.com

O

penDAP é ótimo para quando você precisa rodar um diretório em um servidor. Ele implementa o protocolo LDAP e tem tudo o que é preciso para isso, incluindo logging, replicação, acesso a controle, gerenciamento de usuário individual e em grupo. E integra com o Active Directory. www.openldap.org

Okular O visualizador de PDF padrão para KDE não peca na versatilidade. Além do formato PDF, também lê alguns outros tipos de arquivo, incluindo Postscript, DJVu, CHM, XPS, ePub, TIFF, CBR, entre outros. https://okular.kde.org

LaTex

Shutter

ClamAV

LaTex é um sistema de preparação de documento, com uma linguagem de remarcação baseada em TeX, que simplifica a composição para documentos que contêm fórmulas matemáticas e é bastante usado por acadêmicos. www.latex-project.org

O shutter pode capturar a sua tela inteira ou partes específicas da sua tela. Você pode também subir essas imagens para um serviço de armazenamento. www.shutter-project.org

A maioria dos vírus e trojans não terá efeito sobre o Linux. Mas se não quiser arquivos infectados na sua distro, que podem prejudicar muito se eles forem parar em um Windows, você pode varrê-los usando o ClamAV. www.clamav.net

Manual do Hacker | 29

|

A

menos que você precise da compatibilidade de um LibreOffice, considere pegar o Calligra. Ele é uma continuação do Koffice. Diferentemente do LibreOffice, o Calligra tem um design moderno e modular, usando o .odt como seu formato de arquivo nativo. Ele vem com vários apps, incluindo o processador de texto Words, Tables, para planilhas, Stage, para apresentações, o Kexi para gerenciar bancos de dados e o Krita para fazer pintura digital. www.calligra.org

Gnumeric

Hobbies Siga seus sonhos RawTherapee

V

ocê bate fotos com uma câmera DSLR (Digital Single Lens Reflex)? Então dê uma olhada no RawTherapee, uma alternativa para processar e converter arquivos no formato RAW. Em termos de manipulação, ele oferece profundidade para tratar esse tipo de arquivo. Você pode ajustar valores de cor e brilho, tom e muito mais. Além de RAW, o RawTherapee edita imagens tradicionais e dá direito a perfis para Adobe Lens Correction. www.rawtherapee.com

OpenShot

Krita

O

Krita pode ser uma parte do Calligra, mas merece uma menção honrosa. Ele é um app de pintura digital e ilustração que oferece diversos brushes, pintura HDR, filtros, grades, assistentes de pintura e muitos outros recursos que você pode esperar em um app desses. www.krita.org

Stellarium

O

|

E

T

Mídia

rata-se de um publicador para desktop. O Scribus pode ser usado para criar documentos profissionais online, prontos para impressão, incluindo panfletos, brochuras, livros e revistas. Ele tem uma interface rica, com acesso ao PostScript para separação de cores, suporte para CMYK e cores especiais, bem como perfis ICC e algumas marcas de impressora. O Scribus também inclui uma variedade de templates e estilos para você, junto com uma porção de configurações e ferramentas para definir a posição de vários elementos da interface com a precisão que você merece. www.scribus.net

Inkscape

stá a fim de contribuir para um projeto de mapeamento? Que tal o OpenStreetMap? Use o JOSM. É um editor de mapa offline baseado em Java que pode te ajudar a marcar rotas com um GPS. Você poder carregar esses trajetos no JOSM e começar a adicionar ruas ao OpenStreetMap instantaneamente. Embora o OpenStreetMap tenha vários editores disponíveis, a maioria dos contribuintes usa JOSM, já que eles podem subir as alterações para o OSM com rapidez. Os JOSM também podem ser personalizados com plugins. https://josm.openstreetmap.de

Comix

FontForge

CairoDock

Quadrinhos digitais são distribuídos, em sua maioria, de imagens no formato PNG ou JPEG, armazenados em um único arquivo. O Comix pode ler quadrinhos digitais em quase qualquer formato. http://bit.ly/ComixApp

Para um app de criação e edição de fontes, o FontForge dá suporte a todos os formatos de fonte mais usados. Ele pode extrair informação de um arquivo fonte assim como pode converter um formato para o outro. http://bit.ly/FontForge

O CairoDock é um app que cria uma dock parecida com a do Mac OS. Uma das suas maiores vantagens é a de que ele não precisa de um gerenciador de janelas para funcionar, e pode até dar um visual moderno para PCs mais antigos.www.glx-dock.org

30 | Manual do Hacker

xistem poucos editores de vídeo para Linux, e o OpenShot oferece a melhor combinação entre riqueza de recursos e acessibilidade para o usuário doméstico. Você pode usá-lo para editar vídeos, trilhas de áudio e imagens estáticas e, depois, adicionar legendas, transições e muito mais. Depois, exporte o produto final para uma variedade de formatos. OpenShot também pode usar o Blender para criar animações 3D. www.openshot.org

planetário virtual open-source para o seu computador calcula a posição do Sol, da Lua e dos planetas e estrelas e os desenha no céu de acordo com a hora e a posição do usuário. Ele também desenha constelações e simula fenômenos astronômicos, como eclipses, ou uma chuva de meteoros. www.stellarium.org

JOSM

Scribus

E

C

omo uma ferramenta com qualidade profissional, o Inkscape oferece edição avançada de gráficos vetorizados, além de ser uma plataforma para criar arte em vetores, line art e o design de logos e gráficos. Ele está recheado de funções, como marcadores, clones, alpha blending e mais. Chega a ser comparado com apps como Illustrator e CorelDraw. www.inkscape.org

Cinelerra

S

e você quer ir além da edição de vídeos caseiros, o Cinelerra é uma excelente escolha, porque o editor é mais avançado para vídeos não-lineares e melhor compositor para Linux. Ele suporta vídeo e áudio de alta fidelidade, independente de resolução ou taxa de quadros, podendo editar vídeos de qualquer tamanho. O app tem vários recursos avançados, como sobreposições, denoising, normalização, alongamento, balanceamento de cores, composição, efeitos em tempo real e muito mais. www.cinelerra.org

Audacity Se precisar trabalhar com áudio, você deve testar a poderosa edição de som do Audacity. Com ele, você pode cortar áudio, combinar trilhas e, até, exportar para vários formatos e qualidades diferentes. http://bit.ly/ AudacityApp

MPD O Music Player Daemon é um tocador de áudio com uma arquitetura servidor-cliente. Isso quer dizer que pode ser controlado remotamente por outro computador. Ele também organiza playlists e gerencia um banco de dados de música. www.musicpd.org

Desenvolvimento

Programa e ferramentas de peso nas mãos certas Meld

jEdit

M

eld é uma ferramenta gráfica, que possibilita comparar dois ou três arquivos até diretórios inteiros. Inclui destaque de sintaxe e edição direta em arquivos. Usando essa ferramenta, você pode facilmente isolar ou integrar diferenças. Meld ainda pode ser usado para navegar em várias versões populares de sistemas de controle, como o CVS e Subversion. www.meldmerge.org

Eclipse

E

sse aplicativo é um IDE (Integrated Development Enviroment) rico em recursos. Sua especialidade é o Java, mas funciona com outras línguas via plugins. Na verdade, a loja plugins é indispensável. O Eclipse faz refatoração de código e pode ser usado para extrair uma seção dele como uma variável ou um método. Além disso, o controle das suas versões dele é bem inteligente. www.eclipse.org

BlueFish

V

ocê desenvolve para a Web? O Bluefish é um editor multilíngues criado para desenvolvedores web. Ele funciona com muitas linguagens de programação e markup, focando em websites dinâmicos e interativos. Oferece suporte a code folding, ilimitados undo/redo, fechamento de tag automático e destaque de sintaxe. Outra utilidade é uma barra de “snippets” onde você pode adicionar pequenos pedaços de código mais usados para várias linguagens diferentes. Bluefish também oferece suporte para apps de web open-source, como o MediaWiki e o Wordpress. http://bluefish.openoffice.nl

A

nimadores podem criar modelos 3D usando Blender e também produzir efeitos visuais, arte interativa e videogames. O app oferece várias ferramentas. É um pacote 3D com uma engine para jogos, um editor de vídeo, câmera de produção e rastreamento de objetos, assim como uma biblioteca de extensões e engine física avançada, podendo renderizar fluidos ou simular o movimento elástico em objetos e roupas. www.blender.org

Geany

V

ocê não precisa de uma IDE completa se você só usa o programa de vez em quando. O que faz o Geany uma boa escolha é o cruzamento entre um simples editor de texto e um IDE com a ajuda de várias linguagens e acessórios, como um compilador, uma lista de funções impressa no arquivo aberto e muito mais. www.geany.org

KompoZer

P

rogramadores de HTML novatos podem economizar muito tempo e esforço ao usar o editor KompoZer. Com uma interface intuitiva, uma paleta de cores para selecionar, um gerenciador de site FTP, editor CSS, barra de ferramentas customizáveis, limpador de remarcações. Ele também pode validar código usando o validador HTML W3C. www.kompozer.net

Gimp

APTonCD

T

alvez você precise transferir a sua instalação Ubuntu ou deseja fazer uma cópia dele para o seu amigo. Com o APTonCD usuários de Ubuntu podem fazer um backup de todos os pacotes instalados em uma imagem ISO, que então pode ser adicionada a um software ou a uma outra instalação. Você pode usar esse recurso para restaurar os pacotes no sistema ou manter tudo no cache do ATP. aptoncd.sourceforge.net

G

imp é um ótimo programa de manipulação de imagem. Ele oferece ferramentas para retocar e manipular fotos com qualidade profissional. E o melhor: é de graça. Também aceita uma longa lista de formatos gráficos mais usados. www.gimp.org

Clementine

Icecast

Use este app para tocar ou transmitir áudio. Ele tem uma boa interface e também ajuda organizar e transferir músicas para vários dispositivos, bem como integrar-se a vários serviços em nuvem. www.clementine-player.org

Use o Icecast para transmitir música pela rede. Ele suporta várias transmissões simultêneas. Ouvintes podem acessar uma dessas transmissões usando um media player remoto, bem como configurar o MPD como uma fonte. www.icecast.org

Amarok Caso use KDE na sua distro, pode ser que você já tenha esse tocador de música. Ele integra vários serviços de áudio online e dá acesso a playlists, marcadores, scripting entre outros. https://amarok.kde.org

LMMS A estação de trabalho de áudio digital LMMS é capaz de produzir música usando sintetizadores, ou samples usando um teclado MIDI. Vem com um editor de música e plugins para simular instrumentos e efeitos. www.lmms.io

Kodi Era conhecido apenas por XBMC. É excelente para usuários que querem transformar seu PC em uma central de mídia. Funciona com vários formatos de arquivo, com TVs e controles remotos infravermelho e bluetooth. www.kodi.tv

Manual do Hacker | 31

|

E

sse é um editor de texto para programadores, com direito a recorte automático e destacamento para mais de 140 línguas de programação diferentes. O app habilita a definição de macros e oferece um poderoso sistema de mapeamento do teclado. É bastante configurável e customizável, e você pode estender as funcionalidades com a adição de plugins. www.jedit.org

Blender

Utilitários

Handbrake

Q

Apps para ir além com o seu computador Gnome Tweak Tool

Grub Customizer

desktop Gnome não te satisfaz? Use o Gnome Tweak Tool para ajudá-lo a personalizar a distro, incluindo configurar a aparência do seu desktop. Com esse app, você pode mudar o comportamento das janelas e área de trabalho e gerenciar extensões e pode até mesmo contornar a filosofia de design do Gnome 3 ao colocar ícones, arquivo e pastas no desktop Gnome. http://bit.ly/GnomeTweakTool

Grub 2 é o carregador de boot do Linux, que é usado pelas maiores distros no momento. Um software impressionante pelo número de opções disponíveis. O Grub Customizer é uma ferramenta gráfica fácil de usar e permite configurar todo o carregador, incluindo sua aparência. www.launchpad.net/grub-customizer

O

O

DOSBox

|

V

digiKam

E

sta é uma das melhores ferramentas para organizar suas fotos no Linux. O app usa recursos acessíveis para a maioria dos usuários. Reconhece um grande número de formatos de imagem e pode organizar fotos com base em metadados, além de exportar conteúdo para vários serviços online. www.digikam.org

K3b

M

Terminal

esmo sendo criado para KDE, o utilitário para gravar mídia K3b é o melhor no que faz. O app pode salvar várias imagens de boot El Torito, Cds de audio, CDs eMovix e DVDs. Também pode extrair DVDs e criar imagens ISO. www.k3b.org

Ncmpcpp Esse é um cliente MPD que funciona por linhas de comando. É fácil de usar e de customizar. Pode organizar playlists, letras de música, filtrar itens, mostrar a informação de artistas pelo last.fm e muito mais. http://bit.ly/Ncmpcpp

32 | Manual do Hacker

olte no tempo e reviva os seus jogos clássicos favoritos de DOS que se recusam a rodar no hardware atual. Esse emulador PC x86 cria um PC IBM compatível completo com placa de som e de vídeo. O app também simula hardware em redes para jogar jogos multiplayer na rede local e/ou na internet. O projeto Wine usa código do próprio DOSBox para facilitar a compatibilidade com apps DOS. www.dosbox.com

Avidemux

O

editor de vídeo e conversor Avidemux serve para cortar, filtrar e codificar. Ele suporta formatos de vídeo AVI, MPEG e MP4. O app foi criado para usuários experientes, mas que não dispensam uma boa interface para editar vídeos facilmente. O app conta com alguns presets, mas os usuários também podem salvar sua personalização para tornar o apps mais fácil de navegar no futuro. http://fixounet.free.fr/avidemux

Samba O conjunto de programas Samba permite ao usuário de Linux acessar e usar arquivos, impressoras e outros recursos de um Windows em uma rede. www.samba.org

uando precisar converter um vídeo, o Handbrake, um app transcodificador, faz um trabalho mais que competente. Ele converte quase qualquer formato e suporta vários codecs de vídeo. Com perfis de dispositivos conhecidos contidos nele, o processo de conversão é ainda mais fácil. www.handbrake.fr

EasyStroke

Q

uer controlar o seu computador apenas com o movimento do mouse? O EasyStroke é o app permite definir e utilizar gestos gravando os movimentos do ponteiro de seu dispositivo segurando um botão específico do mouse. Você pode configurar as ações que devem acontecer quando o app reconhecer um gesto definido. https://easystroke.sourceforge.net

Vokoscreen

É

um app de captura de tela com abordagem multimídia baseada em FFmpeg. O Vokoscreen pode capturar áudio e vídeo, com a opção de gravar a tela toda, uma janela ou uma região selecionada. É possível até usar uma webcam. O app roda codec MPEG4, x264, MP3 e Vorbis, podendo salvar arquivos como .AVI ou .MKV. Ele pode ser usado para alterar a qualidade de vídeo ou a taxa de quadros por segundo, e também pode ser usado para fazer a captura de sessões de jogo. www.kohaupt-online.de/hp

rTorrent

Links2

Este é um Cliente BitTorrent com linha de comando com uma interface ncurses. Dá para rodá-lo como um daemon. Como ele dá suporte a SSH, você pode administrar os seus torrents à distância usando qualquer máquina. http://bit.ly/rTorrent

Existem navegadores mais leves e existe o Links2. Esse navegador consegue acessar páginas mais complexas e até menus ocultos. É um app especial pois faz navegação CLI, podendo ser usado com um teclado. http://links. twibright.com

Midnight Commander Antes da chegada dos gerenciadores de arquivo, hackers de verdade usavam o Midnight Commander, vulgo “mc”. Ainda é uma boa opção para navegar o console, se você se encaixa nesse perfil. http://bit.ly/MidnightCdr

Administrador

Conky

P

Tome conta da sua distro com esse apps Qemu

á comentamos sobre o Clonezilla nessa seção, mas se você realmente precisa transferir um HD velho por um novo, então use a ferramenta Redo Backup and Recovery. O app foi criado para usuários inexperientes navegarem a interface mais simples que há em ferramentas desse tipo. www.redobackup.org

m emulador de processador e virtualizador. Esses palavrões no Qemu querem dizer que você pode usá-lo para criar maquinas virtuais. Com ele, é possível emular várias arquiteturas de hardware. Se você tiver um hardware bom à mão (no caso, um processador que extensões para virtualização), você pode usar o Qemu com KVW para rodar máquinas virtuais com quase a mesma velocidade de uma máquina legítima.. www.qemu.org

J

XAMPP

O

XAMPP oferece um único pacote, que você pode usar como cobaia para testar o desenvolvimento de apps para web. Ele inclui todas as partes necessárias: Apache, MySQL, PHP e Perl, entre outras bibliotecas, módulos e ferramentas, como o phpMyAdmin e o FileZilla para dar conta dos componentes. Depois de instalar, você pode gerenciar vários serviços usando um painel de controle. www.apachefriends.org

Déjà Dup

D

iferentemente da maioria dos apps, a GUI minimalista e fácil de configurar backups em questão de minutos são os fortes do Déjà Dup. Ele é baseado no Duplicity e traz a quantia certa de ferramentas para usuários de desktop que não domina criação de backups. http://live.gnome.org/DejaDup

U

Turnkey Linux

O

projeto Turnkey produz ferramentas que você pode usar para montar um servidor rapidinho. O Turnkey é um sistema autônomo que configura um web app completo que roda no sistema operacional JeOS (Just enough Operating System). Todos as ferramentas são baseados em Debian, mas estão disponíveis em vários formatos, dependendo do hardware que você estiver usando. Quando tudo estiver ligado, você pode gerenciar cada recurso por meio de uma interface. www.turnkeylinux.org

Mondo Rescue

M

ondo é uma ótima solução para backups. É capaz de criar um backup completo e fazer a restauração de discos, adequando-o ao sistema em uso. O Mondo tem uma interface de texto e funciona com muitos sistemas de arquivos, podendo usar uma variedade de mídia com os seus backups. www.mondorescue.org

Open Media Vault

Q

uando você deseja maior proteção para os seus dados do que um simples backup pode oferecer, então vai precisar abrir um servidor NAS. O projeto Open Media Vault é um servidor baseado em Debian que oferece opções comerciais fácil de organizar e gerenciar. www.openmediavault.org

Mutt

Profanity

Canto

Mutt é um cliente e-mail assim como o Link2 é para um navegador web. Ele é baseado em texto e é altamente configurável. Tem suporte para protocolos POP e IMAP e os recursos que você pode esperar em um software de e-mail. www.mutt.org

O cliente para console Profanity usa protocolos XMPP que permite conversa entre vários usuários com criptografia de mensagem OTR. www.profanity.im

Quer produzir mais usando linhas de comando? Acesse o leitor Canto CLI RSS feed. Suporta RSS, Atom, e RDF, e importa e exporta feeds no formato OPML. Aceita customização e pode ser configurado em Python. http://bit.ly/CantoRSS

Zentyal

A

distro Zentyal tem tudo o que é necessário para rodar um servidor gateway. Ela simplifica o processo de configurar e monitorar componentes do servidor com ferramentas para customizar e gerenciar, ajudando o usuário a fazer isso sem ter que botar suas mãos nos arquivos de configuração. www.zentyal.org

mpg123 Esse é um tocador de áudio MP3 para linhas de comando. Ele é capaz de fazer reprodução contínua. É tão eficiente, que sua biblioteca, a libmpg123 é usada em outros tocadores para reprodução em MP3. www.mpg123.de

FFmeg Um dos conversores mais versáteis de mídia, o FFmeg consegue manipular quase qualquer tipo de mídia. Ele pode alterar taxa de bits, extrair áudios, gravar transmissões e muito mais. www.ffmpeg.org

Manual do Hacker | 33

|

Redo Backup and Recovery

reocupado com o uso de recursos no seu PC? O Conky é um app que permite vigiar o seu sistema. Ele monitora e relata o estado de vários componentes. É flexível e altamente configurável e também pode mostrar informações no app, como a previsão do tempo. http://conky.sourceforge.net

Desktops remotos |

Qual é o melhor cliente para obter acesso remoto completo à área de trabalho?

Como testamos... Para fazer os testes, usamos várias máquinas: um PC de jogos topo de linha, um Raspberry Pi 2 Modelo B (onde existia software) e uma máquina de dois núcleos de 2,33 GHz ligeiramente lenta. Para ver como os candidatos se sairiam em um cenários de baixa largura de banda, recorremos aos clientes por meio do modelador de largura de banda do Trickle. Simulamos velocidades de conexão lentas (25kb/s) e muito lentas (6kb/s). Para permitir que cada cliente atingisse todo o seu potencial, primeiro emparelhamos cada cliente com seu servidor parceiro para avaliar o desempenho máximo. Nós até usamos um PC com Windows 7 para testar o valor dos clientes RDP contra o protocolo original (o servidor de código aberto xrdp implementou somente as partes do protocolo no domínio público). Na categoria de compatibilidade, misturamos tudo isso para ver como diferentes clientes e servidores interagiam entre si.

E

mbora todo mundo já saiba que a melhor maneira de fazer o acesso remoto é por meio do SSH, às vezes é bom (e até mesmo necessário) ter acesso à área de trabalho de forma completa. Talvez você precise mudar a foto de plano de fundo do desktop, ou obter o nmap para fazer um diagrama de uma malha de rede rival. Este excesso de dados gráficos apresenta um problema, especialmente para a largura de banda desafiada. O Linux favorece o protocolo VNC, enquanto o Windows favorece o Remote Desktop Protocol (RDP), de fonte amplamente fechada. No entanto, não há nenhum sistema

34 | Manual do Hacker

"O Linux favorece o protocolo VNC, enquanto o Windows favorece o Remote Desktop Protocol (RDP)." operacional específico para um destes. Ambos trabalham diretamente no framebuffer (nota do tradutor: framebuffer é uma memória especial capaz de armazenar e transferir para a tela os dados de um quadro de imagem completo), de modo que a tecnologia base trabalha igualmente bem no Windows ou no Linux. O protocolo NX usado no NoMachine NX desafia a ambos com compressão avançada e truques de redução de latência, que no

Linux funcionam diretamente no protocolo X (ou no protocolo RDP no Windows). Desde 2010, porém, o cliente tem sido de fonte fechada, e como há um número de projetos destinados a fornecer soluções NX de código aberto, o desenvolvimento destes tem caído no esquecimento, com exceção do X2Go. O aplicativo Google Chrome Remote Desktop ainda está em versão beta, mas já será de interesse para alguns.

Fácil de usar É fácil de instalar e de navegar?

barra de endereços, embora talvez seja necessário adicionar :1 ao final. Pacotes para x2go estão disponíveis para a maioria das distros, incluindo Raspbian. Depois de instalar o servidor, talvez seja necessário executar x2godbadmin --createdb antes de conectar. Alguns pacotes deixaram a desejar um pouco aqui. O cliente Qt4 é fácil de navegar, mas poderia, eventualmente, ter sido configurado de uma forma mais arrumada. Ele fornece gerenciamento de sessão razoável por meio de uma lista localizada no lado direito. Instalar a parte do navegador do aplicativo Chrome Remote Desktop do Google Chrome é, como você poderia imaginar, muito simples. No entanto, a configuração de um servidor remoto (no Linux) envolve a instalação de um pacote Deb, que não funcionará para todas as contas. Os arquivos Mint/Ubuntu precisavam ser movidos ou simbolizados antes que o Chrome apresentasse a opção para habilitar conexões remotas. Este é um

|

E

ncontrar uma distribuição para a qual um pacote Remmina não existe é improvável, porque ele é bastante popular. Para obter funcionalidade VNC no Remmina será preciso instalar o libvncserver, mas a maioria das distros irá fazer essa classificação para você. No Arch Linux este pacote foi listado como uma dependência opcional e precisa ser instalado manualmente. Apesar da infinidade de opções, tudo no Remmina é definido intuitivamente, tornando tudo simples de configurar. O TigerVNC, por outro lado, pode ser bastante complicado para localizar pacotes. Muitas distros, incluindo Debian e Ubuntu, optaram pela mais antiga, e diferindo por duas letras, TightVNC. Depois que você conseguir encontrar alguns pacotes, porém, será fácil encontrar o seu caminho até o cliente. Ele foi moldado após o cliente RealVNC “original” e, como tal, não é muito atraente. As opções padrão normalmente funcionarão bastando somente digitar um nome host na

Esta é a segunda das quatro telas do assistente que você terá no NoMachine.

cliente Roundup de desktop remoto, mas vamos em frente e deixar para penalizar o aplicativo independentemente, porque este tipo de sofrimento está implícito em seu uso. Depois que tudo estiver configurado, porém, você receberá uma lista compreensível de computadores nos quais poderá fazer uma assistência remota. NoMachine terá de ser instalado manualmente, mas ele tem pacotes Deb e RPM para você, bem como um pacote instalador se estes não servirem para o seu caso. Você será saudado com mensagens de boasvindas para ajudá-lo no processo, mas a interface é simples e não tem segredo. Os servidores podem (opcionalmente) apresentarem-se na rede para que eles fiquem visíveis para todos os clientes.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ Remmina NoMachine e são os mais amigáveis.

Documentação

Alguém disse para ler o manual. Existe mesmo um manual?

R

emmina é bastante autoexplicativo na hora de utilizá-lo e foi traduzido em várias línguas. Se você estiver se sentindo seguro, aprofunde-se no funcionamento do comando xfreerdp que ele usa para sessões RDP. A despeito de sua aparência, o TigerVNC tem excelentes man pages (nota do tradutor: man pages é um comando que abre as páginas de

O site do X2Go irá ajudá-lo a começar.

manual Unix). Elas são principalmente de interesse de quem deseja configurar o lado servidor das coisas, mas o cliente tem também opções de linha de comando para tudo nos menus. O servidor X2Go vem com um número de utilitários de linha de comando que podem ser úteis para uso de scripts. Eles são todos bem documentados nas man pages

fornecidas. O site também tem muita informações úteis, e tratam não somente de como o programa funciona, mas sobre ideias futuras para o projeto. Há também um guia bastante útil que explica o porquê das falhas quando elas ocorrem nos ambientes desktop. Algumas soluções são oferecidas para casos simples, como IceWM e OpenBox. Tudo é apresentado de forma clara. O aplicativo Google Chrome Remote Desktop realmente precisa fornecer uma documentação melhor para configurar o serviço. Sabemos que ele está em faze beta, mas isso é uma falha grave. O app em si é bastante simples. A documentação do NoMachine é mais do que adequada, mas ele perde pontos por fornecer quatro telas de instruções irritantes antes de conectá-lo inicialmente.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ O diferentão X2Go marca uma vitória surpresa.

Manual do Hacker | 35

Recursos Quais são os mais completos e quais deixam a desejar?

T

odos os clientes testados permitem que você se conecte ao seu desktop de longe. Mas todos atendem a diferentes necessidades e têm foco diferente. Nesta categoria, vimos quais recursos cada candidato oferece e se esses recursos são úteis, ou se eles ainda confundem ao usuário

|

Remmina

na hora do uso. Todos os clientes em teste suportam o recurso de tela cheia (fullscreen), de modo que (se a largura de banda permitir) você poderá fingir que está sentado diante de sua máquina remota. Algumas coisas que mencionamos são estritamente

propriedades do cliente, enquanto outras são dependentes do servidor ao qual ele está conectado. Isto é particularmente verdadeiro no TigerVNC, tanto que nossas críticas e elogios são direcionados às propriedades exclusivas de servidor.

+++++

Remmina é um cliente impressionante. Além de NX, VNC e RDP, ele suporta o protocolo XDMCP como base de comunicação entre a tela do servidor e a tela do gerenciador. Ele ainda permite conexões gráficas livres via SSH e SFTP. Se isso não for suficiente para você, ele pode ser estendido por meio de um sistema de plugins. Ele suporta predefinições de qualidade, que podem ser modificadas de acordo com a largura de banda disponível, bem como opções de escala (caso você esteja visualizando em um dispositivo de baixa potência). O protocolo VNC não é criptografado, por isso é preciso criar um "túnel" de sua conexão por meio do SSH. Isso é fácil de configurar usando a opção -L wdo SSH, mas o Remmina permite que você faça isso a partir da sua caixa de diálogo de opções. Além disso, há uma área de transferência compartilhada que funciona em todos os protocolos. Você pode até mesmo configurar o cliente para detectar uma conexão de entrada para ajudar com problemas de firewall.

TigerVNC

+++++

TigerVNC é um pacote cliente/servidor que existe desde 1999. Suporta múltiplas codificações e níveis de compressão, de modo que os melhores resultados possíveis podem ser obtidos a partir de conexões de baixa largura de banda. TigerVNC teve seu início como uma ramificação do TightVNC (em grande parte extinto), e usa a mesma estratégia de dividir a tela em subretângulos (ou mesmo subhexágonos) e aplicar a compressão mais adequada (JPEG, zlib e vários outros truques). Ele permanece compatível com outras implementações do VNC, mas não verá todos os avançados benefícios de compressão que elas oferecem. O cliente possui uma interface FLTK espartana que inclui alguns botões e uma barra de endereços. Tem todos os métodos de codificação e compactação, opções de segurança (incluindo autenticação por certificados TLS) e muito mais. Um servidor alternativo, “x0vncserver”, é empacotado para controlar uma sessão X existente, ao invés de começar uma nova.

Estado de desenvolvimento

Estes projetos têm futuro?

R

emmina continua a desfrutar de desenvolvimento frutífero desde o seu lançamento em 2009. Mas é apenas um front-end para libvnc e xfreerdp, os quais não recebem muita atenção além da manutenção básica. O legado por trás do VNC original (agora RealVNC), TigerVNC, TightVNC e até mesmo TurboVNC é complicado, mas isso ocorre em detrimento das implementações open source do VNC. TigerVNC é significativamente melhor do que o

36 | Manual do Hacker

resto, mas ainda merece mais melhorias. Em contraste, NoMachine parece ser implacável em seu progresso – é uma pena que não seja de código fonte aberto. X2Go foi um projeto iniciado por dois estudantes do ensino médio em 2006. Hoje, eles e uma equipe de quatro pessoas o mantêm. Eles têm objetivos nobres, o que é bom, pois pelo menos três outros projetos baseados no protocolo NX não são mais mantidos. Em nossos testes de desempenho, está claro que o X2Go

Veredicto ainda não é comparável ao NoMachine, mas este último mostra as potencialidades do protocolo e dá à equipe alguma direção para seguir. A porta Linux do Chrome Remote Desktop foi anunciada em julho do ano passado, e seu pouco desempenho é perdoável, pois fazer as coisas do modo NativeClient é complicado, mas o projeto poderia fornecer pacotes que funcionassem melhor do que Ubuntu 12.04.

Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ NoMachine é implacável e quer estar em seus computadores.

X2Go

+++++

|

O X2go usa o protocolo NX sobre SSH. Ele tem muitos dos recursos do cliente NoMachine e um grande número de esquemas de compressão. Este cliente permite que você escolha sua velocidade de conexão. Além disso, O X2Go faz conexões a sistemas de som, como PulseAudio, e sistemas de arquivos por meio da encapsulação via conexão SSH para contornar os firewalls. Além de renderizar a área de trabalho remota em uma tela dedicada, há uma extensão Xinerama que permite que um desktop seja renderizado em várias telas. Como o servidor X2Go é parte de uma versão antiga do X.org, ele não suporta muitos desktops com aceleração em 3D. Gnome 3, Unity e Cinnamon funcionam em modo de retorno, mas você terá mais sorte com algo mais simples, como Xfce ou Mate.

Chrome Remote Desktop

+++++

Além de ser um cliente de desktop remoto baseado na web, o Chrome Remote Desktop não tem muito mais do que se gabar. Dito isto, ser capaz de acessar uma máquina a partir de um dispositivo móvel poderia vir a calhar – por exemplo, a máquina poderia ser uma na qual você não tem privilégios para instalar softwares. Depois que o pacote de serviço necessário for instalado na máquina do servidor, então você poderá acessá-lo no conforto do seu navegador, desde que seja o Chrome ou o Chromium – é preciso também estar conectado à sua conta do Google. Para habilitar conexões remotas em uma máquina, você deve primeiro configurar um PIN de pelo menos seis dígitos. Uma vez conectado, você obterá apenas controles básico para redimensionar a área de trabalho – o aplicativo decidirá automaticamente que tipo de qualidade fornecer.

NoMachine NX

+++++

O NoMachine NX ganha o prêmio de interface, com suas janelas grandes, preto e laranja. Como o x0vncserver ele dá acesso ao desktop atualmente em execução e, como RDP, o protocolo NX suporta redirecionamento de áudio/USB/ unidade. Ele também permite transferências de arquivos e gravação de sessão de desktop remoto. O recém-lançado pacote Raspberry Pi (que ainda está em alfa) também funciona bem. NoMachine pode usar UDP para transferir dados multimídia, com codificação por meio da compressão H.264, VP8 ou MJPEG. Este último utiliza menos a CPU, por isso é útil para dispositivos de baixa potência. NoMachine 4 já não permite conexões SSH, mas você ainda pode autenticar por chave pública.

Protocolos & suportes

Você pode usar outros protocolos, ou um desktop sofisticado?

E

mbora o Remmina ofereça a mais diversa seleção de protocolos, a assistência que ele fornece é geralmente inferior ao de outros clientes. A maioria das pessoas utiliza-o via VNC, que irá suportar qualquer desktop, mas não possui recursos OpenGL em drivers proprietários. Nossa experiência em usá-lo com RDP não foi particularmente interessante, e o plugin NX só funciona para servidores obsoletos NoMachine 3. TigerVNC não precisa dar suporte a outros protocolos, mas você deve obter

uma experiência de desktop um pouco mais agradável em comparação com o Remmina, se você não mexer nas configurações. Talvez seja necessário iniciar o servidor com dbus-launch vncserver se a máquina do servidor estiver conectada ao mesmo ambiente de desktop da sua sessão VNC pretendida. X2Go e os outros não se saíram tão bem nessa categoria, já que só podem se conectar ao seus próprios tipos. Além disso, o suporte a desktops é fraco: o Qt5 não funciona (então KDE 5 não é para você), bem como o Gnome e Unity

Veredicto

também não funcionam (ainda há problemas mesmo em modos de retorno). Antes de instalar o KDE 4, nos perguntávamos se alguma coisa funcionaria. Esperemos que os desenvolvedores do app Chrome possam corrigir os problemas do Qt5 em breve. A experiência de desktop precisa ser melhorada. Seria uma maravilha se eles pudessem ter o OpenGL funcionando, mas isso esta fora de cogitação. Embora NoMachine só possa se conectar ao seu próprio tipo, sua capacidade de servir até mesmo os desktops mais complicados é excelente.

Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ A habilidade do NoMachine para trabalhar em qualquer lugar distante.

Manual do Hacker | 37

Sobrevivente do dial-up É utilizável quando você se aproxima da velocidade de internet discada?

|

U

sar o cliente Remmina para acessar ao Raspberry Pi por meio de uma conexão artificialmente limitada à velocidade dial-up de 56K não foi divertido. No entanto, com a profundidade de cor e configurações apropriadas, pelo menos foi utilizável, desde que houvesse paciência. Sob uma compressão tão severa, porém, o texto pode ficar difícil de se ler, e as imagens difíceis de identificar. Embora para obter o TigerVNC instalado em um Raspberry Pi seja

preciso o uso da edição experimental do Jessie, do Raspbian, a situação de baixa largura de banda em geral é um pouco melhorada com a avançada codificação do TigerVNC. Enquanto consideremos isso impressionante, ele ainda não parecerá um desktop local em velocidades de conexão discada, então não espere milagres aqui. X2Go teve dificuldades em iniciar uma conexão com a velocidade de conexão discada, mas conseguiu usar a compactação Tight e uma paleta de cores de 4K. A esta velocidade, o

Se você quiser que seu desktop seja utilizável por meio de conexões de internet lentas, tente ficar com 256 cores ou obtenha um melhor acesso à internet.

desktop foi mal utilizável – particularmente o redesenho das janelas causou atrasos importantes. Felizmente, a maioria das pessoas terá um pouco mais de largura de banda, e em 25k/s as coisas ficaram muito melhores. Chromium não funciona com o comando trickle, mas isso não nos impediu de usar o comando tc para limitar a largura de banda diretamente na interface. Inicialmente, nosso desktop KDE inicializou bem, mas era quase impossível de utilizá-lo, com longos atrasos entre ações e respostas. Muitas vezes, a conexão foi descartada inteiramente. Como mencionado, permitindo velocidades de 25k/s as coisas ficaram um pouco mais palatáveis. Mais uma vez NoMachine se destaca. Bem, talvez não de forma sublime, mas, certamente, foi melhor do que todos os outros. Navegar no desktop pareceu muito mais fluido e dinâmico e, embora o texto estivesse ilegível depois de um movimento significativo de janela, ele voltou à legibilidade logo depois que as coisas se acalmaram um pouco.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ NoMachine ganha – sua resistência nos impressionou.

Performance Quem tem as stripes mais rápidas?

O

Remmina usa o libvncserver, que tem algum suporte para Tight codificado sobre VNC. Em nossos testes as configurações para qualidade máxima nas conexões por meio da LAN causaram algumas quedas e instabilidades em nosso desktop KDE 4, principalmente quando arrastamos janelas transparentes para lá e para cá. Modificando a qualidade para um valor mais baixo, as coisas ficaram um pouco mais suaves, mas a compressão extra (particularmente no texto) são difíceis de perder. Ao usarmos cores de 16 bits isso foi corrigido, mas olhos mais atentos poderiam detectar o embaralhamento. O TigerVNC funcionou um pouco melhor aqui, sendo perfeitamente capaz de reproduzir um vídeo em tela cheia do YouTube. Tal proeza só é possível se houver uma CPU significativa disponível; do contrário, muitos frames serão descartados. Com essa ressalva,

38 | Manual do Hacker

streaming de vídeo em 720p raramente podem ultrapassar 5MB/s, então você só poderia ser capaz de fazer isso em uma conexão rápida ADSL2 + ou via cabo. O X2Go não suporta GLX, Vá para onde NoMachine já esteve antes: é o portanto, o nosso desktop Raspbian Inside KDE dendro do LXQt. KDE não conseguiu reproduzir efeitos de transparência. pode usá-lo com LXQt. Esta é uma Também foi visivelmente menos ágil do vergonha, uma vez que este é que os outros, exceto quanto ao exatamente o tipo de desktop em que aplicativo do Chrome. Isto ocorre em ele deveria trabalhar. A compressão razão de a CPU do servidor estar VP8 fez um trabalho aceitável, sobrecarregada com a necessidade de exibindo as coisas apresentáveis. renderização de software. O cliente Nomachine é o campeão; Recomendamos não fazer qualquer é o único cliente que suporta OpenGL coisa graficamente pesada. e provou que jogar games de peso A experiência com o “Chromoting” médio pela LAN é totalmente possível. foi útil, embora não muito agradável. Como o NoMachine está disponível Mesmo com uma conexão de internet para Windows, isso oferece uma rápida houve atraso significativo. alternativa ao streaming Steam Também não funcionou com Qt5, nem In-Home ou ao Wine para jogar títulos X2Go, o que significa que você não não-Linux.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ NoMachine bate o resto.

Clientes de desktop remotos

O veredicto

1a

NoMachine NX

e há um cliente Windows melhorado, chamado Pyhoca. Então, o potencial existe. Agora, só é preciso arrumar a interface, aparar algumas arestas ou, pelo menos, colocar sob hierarquia o número ridículo de esquemas de compressão que oferece. É interessante como os clientes VNC em grande parte não conseguiram competir com o NoMachine, mesmo o TigerVNC, que usa a biblioteca libjpeg-turbo altamente aperfeiçoada. Talvez isso indique que o protocolo esteja envelhecendo, ou estamos vendo a ascensão de uma era nova da dominação do NX. Talvez aconteça algum desenvolvimento de VNC emocionante daqui para a frente. Naturalmente, alguns leitores vão querer ficar com opções de código aberto. Nesse caso, o Remmina é uma escolha perfeita aqui – se você

+++++

Web: http://nomachine.com Licença: Freeware Versão: 4.5

Remmina

A opção de mudar a cor nas configurações do NoMachine foi o que realmente nos influenciou.

realmente precisar trabalhar em um desktop remoto, então provavelmente estará disposto a aceitar algumas baixas performances.

“É interessante observar como os outros clientes VNC fracassaram ao competir com o NoMachine”. TigerVNC

+++++

Web: http://tigervnc.org Licença: GPL Versão: 1.4.3 O olho do tigre não queima tanto.

Um campeão proprietário.

2a

3a

|

E

agora o momento esperado, a menos que você já tenha dado olhada no box de avaliações. Surpreendentemente, nós concedemos o primeiro lugar ao NoMachine e ao software proprietário. As coisas podem mudar de curso – aparentemente o Google tem algumas pessoas inteligentes que trabalham para eles, mas falharam um pouco no Chrome. Estamos realmente interessados em ver o progresso do X2Go, e esperamos que ele não se junte a tantos outros clientes no cemitério NX. Desde que NoMachine começou a não suportar mais a versão antiga do protocolo NX, distros começaram a usar o X2Go da implementação de nxproxy, por isso esperamos que isso estimule novo interesse no pacote. Já é usado pela Remmina no Arch Linux,

+++++

Web: http://bit.ly/Remmina Licença: GPL Versão: 1.1.2 Um grande competidor, mas não foi páreo com o campeão..

5a

Chrome RD

4a

X2Go

+++++

Web: http://wiki.x2go.org Licença: GPLv2 Versão: 4.0.3.2 É promissor, mas tem um longo caminho a percorrer.

+++++

Web: http://bit.ly/1GadugV Licença: Freeware Versão: 42 Uma boa ideia, mas precisa amadurecer.

Considere também... Se você estiver interessado em streaming de jogos, então o In-Home Streaming do Steam provavelmente baterá o NoMachine. Se você tiver uma placa gráfica Nvidia na sua máquina Windows, então também poderá tentar usar streaming de jogos Limelight de código aberto (http://limelight-stream.com) na máquina cliente, mesmo que essa máquina seja uma Raspberry Pi para uma finalidade similar.

Nós não mencionamos o RealVNC, que é onde os desenvolvedores originais do protocolo estão – a versão 5 grátis de seu cliente foi lançada em 2012, e a última atualização, 5.2, saiu em fevereiro de 2015. A série 5.0 é um ponto de virada do licenciamento de código aberto do RealVNC, e agora você precisa se inscrever para obter um números serial para uso gratuito (com uma

avaliação opcional de 30 dias com recursos extras). Mas já não temos visto o suficiente de software proprietário para um Roundup? Também não se esqueça dos clientes de desktop remotos que vêm no pacote de ambientes de desktop, como Gnome (Vinagre) e KDE (KRDC). Estes são bons, mas nós não os incluímos porque o objetivo era testar coisas novas.

Manual do Hacker | 39

GParted: ajuste suas partições |

Divida o seu disco rígido em partições para proteger seus dados e tornar o Linux mais fácil de se trabalhar.

P

articionar permite que você divida um simples disco rígido físico em partes virtuais menores, que conhecemos como partições ou volumes (aqui há uma diferença que explicaremos posteriormente). Cada volume age de forma independente dos outros, constituindo um ótimo meio de fazer uma redundância de dados, de modo que se uma partição apresentar problemas, você então poderá formatá-la sem afetar o que está salvo em outros locais. Esse tipo de redundância é uma das primeiras razões de se particionar o seu drive: permite que você mova suas informações pessoais (da pasta home) para outro volume, de modo a protegê-la de qualquer mudança feita na partição do sistema. Você pode usar sua instalação do Linux como uma sandbox, permitindo reverter quaisquer modificações não solicitadas no sistema.

40 | Manual do Hacker

Outro uso popular para partições é rodar múltiplos sistemas operacionais em um único PC. Você pode botar para funcionar duas distros diferentes de Linux lado a lado ou configurar um dual boot Windows/Linux, por exemplo, para propósitos de compatibilidade. Isso é possível porque cada partição pode ser formatada usando um sistema de arquivos diferentes, como ext3 ou ext4 para Linux, ou NTFS para Windows, por exemplo. Você pode criar uma partição de dados que seja visível para os dois sistemas operacionais, garantindo que você tenha a última versão de seus documentos e outros arquivos, independentemente do sistema operacional que esteja em funcionamento. Também é possível usar partições para outros propósitos, como criar uma divisão dedicada para distribuir em sua rede, ou arrumar uma parte

|

O utilitário Disks provê um sumário útil para conferir como suas partições serão configuradas.

independente para arquivos temporários, sua troca de dados ou mesmo rodar serviços específicos como um servidor web. Seja qual for a sua necessidade, particionar pode ser um passo crucial para melhorar sua performance ou proteger diferentes partes de seu drive.

Tipos de partição Discos rígidos são particionados de acordo com um esquema. Há dois tipos principais de esquemas: o antigo Master Boot Record (MBR), que limita os dois primeiros 2 TB do disco rígido, e o novo GUID Partition Table (GPT). Em ambos, a informação da partição é salva fisicamente no primeiro setor do drive, em uma tabela de partição – GPT também grava esta informação na outra parte final do drive no último setor para fins de redundância. Uma das limitações do antigo esquema MBR é que ele só suporta no máximo quatro partições, embora uma delas possa ser estendida, permitindo sua subdivisão em volumes lógicos, ultrapassando aquela limitação inicial. GPT não diferencia entre partição primária e estendida (no sentido lógico) e suporta mais de 128 partições por drive. GPT é projetado em conjunto com o moderno UEFI firmware, mas, em alguns casos, é compatível também com o antigo legado dos sistemas BIOS. É bem provável que se seu drive possui mais de 2 TB de tamanho, mas escolha do esquema de partição depende do que você já tem. Para simplificar, é melhor manter o que você já tem. E se você planeja deixar o drive completamente limpo e instalar o Linux do zero, deixe sua distro decidir qual é o melhor esquema baseado na sua configuração atual. Dentro deste tutorial nós vamos apresentar o modo de particionar usando MBR, mas o processo é similar para

drives GPT. Aqui, estamos utilizando o Ubuntu 14.03.3 LTS, mas isso poder ser realizado na maioria das distros do Linux. Como seu disco será particionado depende de suas circunstâncias individuais, claro, assim como a distribuição que você usa. Para ver como seu drive foi particionado, bem como conferir o tipo de partição implementada (MBR ou GPT), abra o utilitário Disks do Dash. Selecione seu drive do painel à esquerda e verifique a entrada “Patitioning” para conferir o esquema que será atribuído. Há também o gráfico “Volumes”, que oferece uma representação gráfica do seu disco, revelando quais partições foram montadas. O padrão da configuração do

Dica rápida Se você planeja compartilhar uma partição com Windows, então precisará arrumá-la como NTFS para que o instalador do Windows consiga lê-la. Você vai precisar verificar se o add-on de sistema de arquivos ntfs-3g instalado.

Lembre-se de criar uma imagem na íntegra do seu HD antes de começar a particioná-lo. Experimente o Clonezilla.

Manual do Hacker | 41

Dica rápida

|

É possível adicionar uma nova partição para o fstab sem editá-la diretamente. Abra o utilitário Disks, selecione sua partição e escolha More Actions > Editor Mount Options. Você não pode, no entanto, adicionar o campo “pass” usando esse método, pois isso impediria a partição de verificar por erros no menu.

Ubuntu 14.04 enxerga seu drive particionado em duas partes: a partição principal Linux que é “bootável’, com todas os aplicativos, dados e configurações adicionadas à distro; há também uma partição estendida, menor, dentro da qual está o volume do arquivo swap. Cada partição no seu disco rígido é alocada em uma entrada separada dentro da pasta /dev, que é onde há as referências de todos os componentes que compõem o seu PC. Cada disco rígido físico é representado por três letras: hda, hdb e hdc, para os drives anexados nas antigas controladoras IDE, ou sda, sdb e sdc, para aqueles conectados nos controladores SCSI e SATA. As partição do drive físico são representadas cada uma como um número, por exemplo, sda1 ou sdb5. Dê uma olhada sob a opção “Device” para conferir qual entrada foi atribuída no drive atualmente selecionado no Disks. Uma complicação: você pode ter recebido uma opção para usar LVM (Logical Volume Management) durante a instalação. Se este for o caso, depois das configurações tradicionais com base no MBR, você verá uma pequena partição primária descrita como Linux (bootável), muito maior do que a estendida dentro daquela que está o volume Linux LVM. A partição primária existe porque as estendidas não são inicializáveis, de modo que requerem que arquivos de boot sejam colocados em uma pequena partição com o resto do sistema deixado no volume estendido (veja o box “Trabalhando com o LVM”).

Estrutura de partição Partições são acessadas pelo sistema de arquivos montando-as em um nível específico. Linux tem estrutura de arquivos, pastas e partições na forma de árvore. Quando você inicia o Linux, sua partição primária de boot é montada pela primeira vez no / do root dessa estrutura. Outras partições podem ser montadas em pontos de pastas específicos sobre esta árvore – as pastas /mmt e /media são boas escolhas para partições que são especialmente criadas para Depois que o Ubuntu reconhecer o sistema que você está tentando instalar, o processo de particionamento será fácil

42 | Manual do Hacker

compartilhamento. Há também partições externas – de outro sistema operacional – que são automaticamente montadas se o sistema de arquivos da partição for reconhecido pelo Linux. Também é possível montar partições diretamente nos principais diretório, como /tmp (de arquivos temporários) ou /home (o diretório pessoal de cada usuário no seu PC), quando for o caso – isso dá uma experiência integrada e consistente, independentemente se você decidiu criar partições dedicadas para pastas-chave ou não. Os pontos de montagem são armazenados na pasta /etc/fstab. O melhor momento para particionar seu drive é quando você configura o Linux pela primeira vez em uma unidade vazia (veja detalhes mais adiante). Você também poderá particionar o disco quando for configurar o sistema em dual boot. Neste momento, isso poderá ser feito muito mais facilmente quando o seu sistema operacional já existente for detectado durante o processo da instalação – isto porque o próprio instalador sugere um layout de partição apropriado, de modo que você pode ajustar suas necessidades pessoais baseado em quanto espaço livre está disponível no drive. Esse não é caminho prático para a maioria das pessoas, mas, felizmente, existem ferramentas de terceiros que podem reparticionar seu drive sem perda de dados, embora seja importante ressaltar que sempre há um elemento de risco envolvido. É por isso que é imprescindível ter uma imagem de disco completa de seu HD atual, pois, se as coisas derem errado, você redefine tudo e recomeça de novo. Use a ferramenta Clonezilla (http://clonezilla.org) ou crie um instantâneo (snapshot) se você estiver rodando sua instalação em uma máquina virtual. Também vale a pena descobrir quais são suas necessidades e quanto de espaço que você precisa usar. No primeiro instante, decida que partições adicionais você deseja criar e para que você precisa delas. Se for para protegê-las de uma reinstalação ou de uma possível corrupção no drive principal, então pode ser

Trabalhando com LVM Se você já configurou a instalação do seu Linux usando o Logical Volume Management, então você vai ficar frustrado se estiver pensando em reparticionar seu disco usando o GParted – simplesmente não vai funcionar. Isso não é um problema, porque tudo o que você precisa é da ferramenta correta. Você pode, claro, configurar suas partições em uma linha de comando, mas a melhor dica é usar o utilitário amigável LVM. Para fazer isso, dê um boot no seu Live CD e, então, abra o Software Center e procure por “LVM”. Localize a opção “Logical Volume Management” e clique em More > Info > Use This Source > Install. Uma vez instalado, abra o LVM e você vai encontrar um ambiente mais agradável para se trabalhar. Comece redimensionando sua partição root para conseguir mais espaço livre: acesse “Logical View”, selecione “root” e clique em “Edit Properties’. Use os controles para mesclar a partição para o tamanho que você deseja e clique em “OK’. Espere alguns instantes enquanto a partição é redimensionada. Você pode mudar para o “Logical View” e clicar em “Create New Logical Volume” para ajustar qualquer partição adicional que queira criar, inclusive dando a ela um nome amigável (como “home” para sua partição home). Não se incomode em configurar um ponto de montagem neste estágio – em vez disso, dê uma conferida no passo a passo mais adiante.

O utilitário LVM é a melhor ferramenta de particionamento para usar em configurações habilitadas para LVM

Particionamento do zero O melhor momento para particionar é quando você está configurando uma nova instalação. No Ubuntu, quando solicitado para apagar o disco, selecione “Something else” e clique em “Continue”. Você verá um único dispositivo configurado (/dev/sda). Clique no botão “New Partition Table”, leia o aviso e clique em “Continue’. Agora, selecione o espaço livre e clique no botão “+” ao lado de “Change” para criar uma partição. Vamos começar com a partição do sistema principal. Ela pode ser pequena, por exemplo,

com algo entre 15 e 20 GB, mas pode ser ampliada, se necessário. Uma vez que você tenha calculado o quanto precisa em gigabytes, multiplique por 1024 e insira o número dentro da caixa “Size”. Mantenha “Primary", “Beginning of this space” e “Ext4 journaling file system” selecionados. Escolha / sob o ponto “Mount” e clique em “OK’. Selecione o espaço livre remanescente e clique em “+” novamente. Clique no menu suspenso “Use as” e selecione “swap area”. Escolha o tipo de partição como “Logical”, mas configure como

“End of this space”. Quanto ao tamanho (em MB) depende, mas convém usar o mesmo tamanho de sua quantidade de memória RAM instalada em seu computador (considere o dobro do tamanho se você tiver 1 GB ou menos). Clique em “OK”. Finalmente, selecione o espaço livre remanescente e clique em “+” novamente. Deixe o tamanho, tipo, localização e as configurações “Use as” como estão, e finalmente ajeite o “Mount point” para /Home. Clique em Install Now > Continue para configurar suas partições e instalar o Ubuntu.

Manual do Hacker | 43

|

recomendável mantê-la na mesma partição; lembrando também que embora isso dê certa proteção contra perda de dados, não significa a substituição do backup. Se você estiver procurando melhorar a sua performance movendo algumas pastas-chave – seu arquivo swap, talvez, ou o arquivo usr onde os programas estão salvos -, então será necessário salvar em um drive físico separado daquele que o Linux está rodando. Outras considerações incluem o tamanho de cada partição – isso depende do seu tipo e quanto de espaço livre você tem. Comece clicando com o botão direito do mouse na pasta em questão dentro do seu gerenciador de arquivos e selecione Properties. Esta é, tecnicamente, a quantidade mínima que você precisa para alocar a partição, mas pense o que mais pode ser necessário para ser guardado na pasta e adicione o espaço extra correspondente. Nota: você vai tomar espaço da sua partição primária para o novo volume, que pode limitar a quantidade de dados que você pode atribuir a ela. A nova partição deve ser primária ou estendida? Se você só planeja criar uma simples partição adicional, então simplesmente redimensione seu sistema de partição e crie uma nova partição primária. Se, no entanto, seu plano for criar um número de partições no drive principal, então é recomendável usar a partição estendida (veja o box “Particionando do zero”). Você também terá que decidir qual o sistema de arquivos atribuirá para a nova partição. Se estiver criando partições dedicadas para pastas como home ou var, então você vai querer fazer igual à sua partição Linux primária (normalmente, ext3 ou ext4). O mesmo vale para partições que você planeja usar como pastas compartilhadas em sua rede. Na verdade, a única vez que você vai querer mudar o tipo de arquivo será quando você estiver criando uma partição na qual planeja compartilhar com uma instalação Windows no mesmo PC – nesse caso, FAT32 ou NTFS. Quando se trata realmente de particionar o seu drive, a melhor ferramenta presente no UBuntu Live CD é GParted, um programa gráfico amigável que é usado para redefinir partições de maneira simples (ele também fornece uma visão geral do layout físico do

Dica rápida

|

Outra vantagem do LVM sobre o particionador comum é o fato de ele permitir que você adicione discos físicos ao seu computador, para depois mapear o espaço adicional nos volumes existentes. Isso permite que você aumente a capacidade sem ter que mover ou copiar dados entre as unidades.

seu disco rígido). Será preciso inicializar a partir dele para poder reorganizar a partição do sistema, permitindo que você trabalhe as partições em um ambiente diferente da instalação Linux. Instrumentos de partição Você pode rodar o GParted a partir da própria instalação inicializável no CD ou USB (acesse aqui: www. gparted.org/livecd.php). Tenha certeza que pegou a arquitetura de PC correta, que é normalmente i586 para PCs antigos de 32-bit. Ou amd64 para os novos 64-bit com UEFI no lugar do antigo BIOS. Usuários de 32-bit também podem experimentar o i686-PAE, projetado aqueles que considerarem o i586 um pouco lento. O guia passo a passo (ao lado) revela como diminuir sua partição principal antes de criar uma segunda partição primária com o uso do GParted do CD Ubuntu. Se você preferir criar sua nova partição ou partições dentro de uma partição estendida, o procedimento é um pouco diferente. Primeiramente, redimensione o tamanho da partição do sistema, conforme descrito. Uma vez feito isso, você vai precisar estender uma pequena partição que contenha o arquivo swap para ocupar todo o espaço livre. Isso não pode ser feito enquanto o arquivo swap estiver em uso, então clique com o botão direito do mouse na partição swap no GParted e escolha “Swap off”.

Feito isso, você poderá clicar com o botão direito do mouse na partição estendida e escolher “Resize/Move”. Digite 0 (zero) na caixa “Free space preceding” e clique em “Resize/ Move” para alocar rapidamente todo o espaço livre na partição. Agora, você já pode particionar o espaço livre que quiser sem se preocupar com a falta de partições disponíveis – mas assegure-se de que calculou quanto espaço cada partição consegue de maneira efetiva; e não se esqueça de clicar no botão “Apply” quando terminar. As ferramentas mencionadas são inteligentes como um todo, mas esta atividade pode ser potencialmente perigosa. É por isso que você precisar te um sistema de backup completo antes de começar a criar partições. Se você tiver problemas, confira as páginas de ajuda do GParted, em http://gparted.org/help.php. Ela contém links com as perguntas mais frequentes, incluindo um guia para corrigir problemas no Grub. Você pode ter problemas quando tentar montar novas partições, tais com como a pasta home. Se o Linux der um erro de inicialização, pressione m para fazer a recuperação manual. Então, digite sudo nano / etc/ fstab para examinar o arquivo e conferir se não existem erros que impedem a partição de fazer a montagem corretamente. Se você houver problemas, exclua a linha, salve o arquivo e reinicie.

Criando uma partição dedicada da home com GParted

1

Lançando o GParted

Reinicie o seu Ubuntu Live CD e escolha “Try Ubuntu” quando solicitado. Uma vez no desktop, abra o GParted digitando seu nome no Dash. Se você tiver mais de um disco físico conectado no PC, certifique-se de que o disco correto esteja selecionado (normalmente, /dev/sda), clicando no botão do canto superior direito da janela do GParted.

44 | Manual do Hacker

2

Redimensionando a partição do sistema

Clique com o botão direito no gráfico da partição principal (/dev/sfa1) e escolha “Resize/Move”. Clique e arraste na extremidade direita da barra para reduzir o tamanho da partição, baseado em quanto de espaço você planeja realocar com sua partição home. Se necessário, faça um pente fino no tamanho, usando a opção “Free space following” (MiB) para configurar o tamanho ideal. Clique “Resize/Move”.

|

3

Criando a partição home

Depois, clique com o botão direito do mouse em um espaço não alocado e escolha “New’. Assumindo que essa é a única partição adicional que você deseja criar, deixe as configurações no modo padrão e clique em “Add”. Nada será feito ainda no seu drive, de modo que dá tempo de fazer uma revisão nas configurações. Quando estiver satisfeito, clique no botão verde e acione “Apply’. Espere enquanto o GParted faz o redimensiona da partição principal e, em seguida, crie uma nova.

5

Atualizando o fstab

Na sequêcia, você deve ver a partição agora preenchida com arquivos da sua pasta home. Agora, digite sudo blkid e dê Enter. Faça uma nota no UUID. Após isso, digite sudo nano /etc/fstab e aperte novamente Enter. Digite o seguinte com a primeira linha marcada UUID=, replacing como UUID de sua partição: UUID= /home ext4 nodev,nosuid 0 2 .

4

Copiando arquivos para a nova partição

Reinicie o Ubuntu, abra o explorador de arquivos e clique no volume que aparece sob a opção Devices. Selecione Go > Enter Location e, em seguida, selecione a localização em Address. Depois, clique com o botão direito do mouse e escolha “Copy’. Abra o Terminal e digite sudocp-Rp/home/* antesdeclicarcomodireitodomousee selecionar “Paste” para entrar com a localização em sua nova partição. Pressione Enter e ignore quaisquer erros.

6

Montando uma nova partição

Depois que você fizer as mudanças no arquivo fstab, vá em frente e salve o arquivo atualizado e feche-o. Em seguida, digite a série de comandos a seguir no Terminal e dê Enter: cd / && sudo mv /home /home_old && sudo mkdir /home Você vai precisar reiniciar a máquina e abrir o Disks para verificar se a nova partição está corretamente montada em /home.

Manual do Hacker | 45

Segurança - Cubra seus rastros na web e proteja a sua privacidade

Cubra seus rastros na web e proteja a sua privacidade 48

Quem protege seus dados?

51

Critérios de avaliação

51

O bom, o mau e o vilão

52

Melhores práticas

52

Notificando usuários

53

Política de retenção de dados

53

Oposição aos backdoors

53

As conclusões da EFF

54

Distros de privacidade

55

Disponibilidade

55

Estado de desenvolvimento

56

Navegue na web com proteção

56

Dados em segurança

57

Performance

58

Usabilidade do desktop

58

Documentação e suporte

59

O veredicto

|

Segurança

QUEM PROTEGE SEUS DADOS? A Electronic Frontier Foundation lançou seu quinto relatório anual sobre transparência e privacidade online e explica as implicações para todos os nossos dados.

H

oje em dia, nossas vidas estão cada vez mais digitais: de vídeos compartilhados em redes sociais a aplicativos com reconhecimento de localização via smartphones; de dados de login para acessar a nossos e-mails aos nossos documentos armazenados e, claro, o nosso histórico de pesquisas. Tudo isso, transmitido na rede pelas artérias de fibra ótica. Enquanto já estamos todos atualizados digitalmente no século 21, as leis ainda não acompanharam. O Congresso dos Estados Unidos, por exemplo, ainda não conseguiram atualizar a Lei de Privacidade das

48 | Manual do Hacker

Comunicações Eletrônicas, de 1986, de modo a reconhecer que os e-mails armazenados por mais de seis meses merecem proteção idêntica àqueles armazenados por menos de seis meses. O Congresso também ainda não fez nada para parar a vigilância indiscriminada da NSA sobre as comunicações online e ainda precisa promulgar as reformas pertinentes. Resta-nos esperar que as empresas de tecnologia das quais utilizamos os serviços possuam fortes políticas de segurança. Mas quais delas dão amparo aos usuários, com transparência e fortes normas legais em relação ao acesso dos dados pelo governo? E quais as empresas que tornam público essas políticas, deixando

A Electronic Frontier Foundation (EFF) é uma organização sem fins lucrativos, com sede em San Francisco, Califórnia, cujo objetivo declarado é proteger os direitos de liberdade de expressão.

Facebook e Amazon sejam transparentes sobre os tipos de conteúdo que elas bloqueiam ou censuram em resposta aos pedidos do governo, bem como quais dados excluídos são preservados no caso de agentes governamentais acessálos no futuro. Embora já exista o relatório de 2016 (o mais recente), abordamos aqui especialmente o relatório de 2015 porque ele trata das empresas mais conhecidas do usuário comum, como Google, Facebook, Dropbox, Microsoft, Apple, Amazon, WordPress, entre outras. A EFF adotou os principais princípios dos relatórios anteriores e os juntaram em “As Melhores Práticas Aceitas pela Indústria”. Mas também foi adicionado novas categorias para destacar outras questões importantes, como a transparência e os direitos dos usuários.

Resta-nos esperar que as empresas de tecnologia das quais utilizamos os serviços possuam fortes políticas de segurança. mudam e os usuários esperam mais. Os critérios usados no primeiro relatório da EFF para julgar as empresas em 2011 foram ambiciosos para a época, mas eles têm sido quase universalmente adotado até hoje. Agora, os usuários esperam que as empresas melhorem os padrões formalizados no relatório original “Who Has Your Back?”. Os usuários devem esperar que empresas como Google, Apple,

Pedido de remoção pelo governo Por mais de um ano, Dave Maass, o líder de investigação do EFF tem relatado como o Facebook coopera com os sistemas penitenciários nos Estados Unidos para bloquear o acesso dos prisioneiros à rede social. A empresa tinha até mesmo criado um formulário chamado “Inmate Account Takedown Request” (Requisição de Bloqueio de Conta de Presidiário) para ajudar aos funcionários das prisões a identificar rápida e facilmente as contas de prisioneiros, para suspendê-las, mesmo quando tais contas não violassem nenhum dos termos de serviço do Facebook. Essa prática foi a inspiração para a nova categoria do EFF: acompanhar a frequência com que as empresas estão removendo conteúdo ou encerrando contas a pedido do governo. Para ganhar crédito nesta categoria, as empresas avaliadas

não tiveram que recusar todos ou mesmo quaisquer pedidos de remoção de conteúdo do governo. Em vez disso, elas simplesmente deveriam ser transparentes sobre a frequência com que elas estão atendendo a estes tipos solicitações. Embora isso seja bastante simples, muitas empresas ainda estão deixando a desejar nesta área, incluindo o Facebook, cujas práticas inspiraram a categoria mencionada. Entre as 24 empresas avaliadas, 15 receberam crédito nesse quesito, embora várias delas não hospedem conteúdo. Um exemplo especialmente importante desta prática que vale mencionar: os dados publicados pelo Twitter incluem um mapa interativo que permite aos usuários passar o mouse sobre os países e obter detalhes sobre os pedidos de remoção de conteúdo em um período de seis meses.

O Twitter oferece uma discriminação detalhada de todos os seus pedidos de remoção e respectivo cumprimento.

Manual do Hacker | 49

|

os usuários tomarem suas próprias posições e defendam seus direitos de privacidade? Desde seus primeiros relatórios, a Electronic Frontier Foundation (EFF) documentou as normas das principais empresas de internet e prestadores de serviços, analisando cada uma das políticas disponíveis ao público e destacando as melhores práticas. Vimos uma transformação acontecer na segurança digital das grandes empresas de tecnologia. Em sua maioria esmagadora, os gigantes da tecnologia começaram a publicar relatórios anuais sobre solicitações de dados do governo, prometendo exigir o respectivo mandado de busca antes de entregar o conteúdo dos usuários e avisá-los quando isso ocorresse. Essas melhores práticas identificadas nos primeiros relatórios da EFF tornaram-se padrão da indústria em poucos anos. Porém, os tempos

As melhores Notificação práticas aos usuários aceitas pela sobre pedidos indústria pelo governo

Divulgação de políticas de retenção de dados

Os resultados

Divulgação de Políticas em prol do usuário: completos do pedidos oposição aos relatório da de remoção backdoors do governo EFF destacam

um resultado muito pobre do popular serviço de mensagens, o WhatsApp

NÃO APLICÁVEL

|

NÃO APLICÁVEL

NÃO APLICÁVEL

NÃO APLICÁVEL NÃO APLICÁVEL

50 | Manual do Hacker

Critérios de avaliação A EFF usou os cinco critérios a seguir para avaliar as práticas e políticas das empresas: As melhores práticas aceitas pela indústria Esta é uma categoria combinada que avalia empresas em três critérios, os quais elas devem cumprir para receber os créditos:  1

|

A empresa exige que o governo obtenha um mandado antes de entregar o conteúdo das comunicações do usuário?

com que frequência é solicitada a remoção de conteúdo ou a suspensão das contas de usuários, bem como a frequência com que a empresa atende a tais demandas. Foi atribuída uma estrela nesta categoria às empresas que publicam regularmente estas informações, quer no seu relatório de transparência ou por outro meio acessível. As empresas devem incluir processo legal formal, bem como solicitações informais do governo em seus relatórios, porque a censura pode assumir muitas formas. Políticas públicas em prol do usuário: oposição aos backdoors Todo ano, a EFF reconhece as empresas que trabalham publicamente para atualizar e reformar a Electronic Communications Privacy Act (nota do tradutor: esta é a lei que altera o título 18 do Código dos Estados Unidos, no que diz respeito à interceptação de certas comunicações, outras formas de vigilância e para outros fins). No ano passado, a EFF observou empresas que se opunham publicamente à vigilância em massa. No relatório de 2015 (o qual estamos abordando aqui), tendo em vista o debate revigorado sobre a criptografia, a EFF solicitou às empresas que tomassem uma posição pública contra a inclusão forçada de falhas deliberadas de segurança ou outros backdoors. Isso poderia ser feito em uma postagem 5

A empresa publica um relatório de transparência, ou seja, informações periódicas e úteis sobre quantas vezes o governo solicitou dados de usuários e com que frequência a empresa os forneceu? A empresa publica guias de observância da lei explicando como eles respondem aos pedidos de dados do governo? Informar aos usuários sobre solicitação de dados pelo governo Para ganhar uma estrela nesta categoria, as empresas de internet deveriam prometer informar aos usuários quando o governo busca seus dados, a menos que seja proibido por lei, em situações de emergência muito específicas, ou a menos que isso seja irrelevante ou ineficaz. Tal aviso dá aos usuários a chance de se prepararem para se defenderem. Como a EFF havia divulgado que fariam o relatório, as empresas tiveram um ano inteiro para implementar tais procedimentos. 2

“Em sua maioria esmagadora, os gigantes da tecnologia começaram a publicar relatórios anuais sobre solicitações de dados do governo.”

Divulgar publicamente as políticas de retenção de dados da empresa Esta categoria premia as empresas que divulgam quanto tempo mantêm dados sobre seus usuários, os quais não são acessíveis ao usuário – logs, endereços IP de usuários e conteúdo excluído –, de forma acessível para a aplicação da lei. Se o período de retenção é variável por razões técnicas ou outras, a empresa deve divulgar esse fato e publicar uma média aproximada, juntamente com um limite superior, se houver. Esta estrela é atribuída a qualquer empresa que divulgue sua política ao público – mesmo que essa política seja uma que a EFF esteja fortemente em desacordo, por exemplo, se a empresa revelar que retém dados de seus usuários para sempre. 3

Divulgar o número de vezes que o governo busca a remoção de conteúdo ou de contas de usuários, e com que frequência a empresa atende a essa solicitação Agora é prática padrão da indústria ter relatórios de transparência. Acreditamos que a responsabilidade das empresas de serem transparentes inclui não apenas divulgar quando o governo solicita dados dos usuários, mas também 4

de blog, em um relatório de transparência e assinado publicamente uma carta de adesão, ou por meio de outro meio público, oficial e escrito. Espera-se que essa categoria continue a evoluir, de modo que seja possível acompanhar a indústria por meio de uma série de questões importantes de privacidade.

O bom, o mau e o vilão Nove empresas ganharam estrelas em cada categoria que estava disponível para eles (veja tabela). Deve-se notar que algumas empresas hospedam pouco ou nenhum conteúdo e, portanto, a transparência sobre pedidos de remoção de dados por parte do governo pode não se aplicar a elas. Elas mostram que é prático para as grandes empresas de tecnologia adotarem as melhores políticas de transparência e apoiar aos seus usuários. Infelizmente, nem todas as empresas estão incorporando tais práticas – especialmente as de telefonia – e receberam resultados especialmente ruins, continuando assim uma tendência identificada em relatórios anteriores, em que grandes provedores de telecomunicações não conseguem acompanhar o resto do setor de tecnologia. Especialmente algumas empresas que atuam como

Manual do Hacker | 51

provedores de serviços de internet (ISPs) e provedores de telecomunicações em geral estão liderando o caminho na adoção de políticas fortes em defesa dos direitos dos usuários. Fica claro também que a indústria de tecnologia está unida contra uso de backdoors nos equipamentos pelos organismos de vigilância do governo. Entre as 24 empresas avaliadas, 21 delas fizeram declarações públicas em oposição aos backdoors, pois estes enfraquecem a segurança e põem em risco a privacidade do usuário. Os ISPs, provedores de armazenamento em nuvem, provedores de webmail e redes sociais estão em sua maioria alinhados em rejeitar as deficiências de segurança impostas pelo governo.

|

Melhores práticas Esses padrões foram desenvolvidos de relatórios da EFF dos últimos anos e abrangem três das principais questões: exigir um mandado antes de entregar o conteúdo do usuário, publicar relatórios de transparência periódicos e publicar guias de cumprimento da lei. Estes dois últimos ajudam aos usuários a entender quantas vezes e em que circunstâncias as empresas estão respondendo às solicitações de dados do governo, enquanto o mandado para obtenção do conteúdo garante uma exigência legal forte antes que os dados sejam entregues à aplicação da lei. Em 2011, nenhuma empresa recebeu crédito em

todas essas categorias. Porém, atualmente, quase todas as elas já adotaram esses princípios. É claro que essas melhores práticas são verdadeiramente aceitas pela indústria de tecnologia, mas WhatsApp está um pouco atrasada nesse quesito.

Notificando usuários No ano do relatório em questão, a EFF pediu às empresas para fazer mais do que simplesmente prometer informar aos usuários sobre os pedidos de dados do governo. Foi pedido também que elas fornecessem aviso prévio aos usuários antes atender a essa solicitação. Nos casos em que elas estariam proibidas de fazê-lo, foi solicitado que os avisassem depois que as solicitações tivessem expiradas. Como a implementação dessas práticas demandam engenharia e fluxo de trabalho, as empresas tiveram mais de um ano de antecedência para se adequarem a este critério. Duas empresas, Google e Twitter, que anteriormente tinham ganhado boa classificação quanto a avisar aos usuários sobre solicitações de dados por parte do governo, não receberam crédito no ano em questão porque não possuíam políticas de notificação aos usuários quando as solicitações expirassem. Das 24 empresas avaliadas, 15 delas cumpriram as exigências desse critério. Esse é um sinal positivo de que a indústria está evoluindo. O Dropbox, cuja política de privacidade é uma das melhores, afirma o seguinte: “A política do Dropbox é notificar aos usuários quando um governo solicitar suas informações antes de cumprir o pedido, a menos que a lei proíba expressamente. Podemos

“Entre as 24 empresas avaliadas, 21 delas fizeram declarações públicas em oposição aos backdoors, pois estes enfraquecem a segurança e põem em risco a privacidade do usuário.”

Rota de fuga O relatório da EFF é muito focado nos EUA, mas como uma boa porção do mundo usa esses serviços, o resultado afeta a maioria de nós. Ciente das implicações sobre a privacidade, você poderá criar seu próprio sistema de colaboração e compartilhamento de documentos baseado em nuvem, por exemplo, o OwnCloud (https://owncloud. org). Isto significa que é possível colocar em prática seu próprio meio de escapar da regras corporativas, regulamentos e questões de privacidade. A realidade é que nem todos

52 | Manual do Hacker

estão em tal posição e é do interesse geral que as empresas que oferecem serviços online faça-os de forma a proteger a todos, de modo a não ceder indiscriminadamente às exigências do governo. Ou, pelo menos, tornar as pessoas informadas de como seus dados estão salvos e quando – se for o caso – eles são fornecidos aos órgãos governamentais. Serviços em nuvem estão crescendo cada vez mais, e a quantidade de dados armazenados neles também estão seguindo a mesma tendência.

Executar seus próprios serviços em nuvem, usando o OwnCloud, é uma forma de garantir a sua própria privacidade

atrasar a notificação em casos envolvendo ameaça de morte ou lesões corporais, ou a exploração de crianças.”

Política de retenção de dados

|

Pela primeira vez, a EFF estendeu suas avaliações sobre as empresas que também eram transparentes quanto ao armazenamento de dados excluídos. Muitas vezes, os usuários não têm conhecimento de que os dados que excluem de um provedor de serviços de e-mail ou de uma rede social ainda ficam armazenados e disponíveis para as agências de aplicação da lei, mediante solicitação. A transparência é o primeiro passo no sentido de educar aos usuários sobre o que acontece com seus dados excluídos, por isso a EFF também avaliou as empresas sobre suas práticas de transparência nesta categoria. Vale dizer que a EFF não entrou no mérito de as empresas apagarem os dados excluídos dos usuários depois de um determinado tempo. De fato, algumas delas declaram publicamente que mantêm tais dados, bem como os logs do servidor indefinidamente – uma prática que consideramos terrível para os usuários. No entanto, para este relatório, a EFF solicitou às empresas que esclarecessem somente os períodos de retenção dos dados coletados – aqueles que podem não ser facilmente visíveis para o usuário (incluindo endereços IP e dados DHCP), bem como o conteúdo excluído dos usuários. Mais uma vez, 15 empresas das 24 avaliadas receberam crédito nesta categoria.

Oposição aos backdoors Uma das grandes tendências percebidas em toda a indústria de tecnologia é uma enfática rejeição às implantações de backdoors pelo governo. De fato, 21 das 24 empresas avaliadas assumiram uma posição pública contrária a isso. Esta é uma declaração poderosa da comunidade de tecnologia à qual os governos devem prestar atenção. Muitas das empresas assinaram uma carta organizada pelo Open Technology Institute, que foi enviada para o então presidente Obama, cujo teor tratava da oposição aos mandatos para enfraquecer a segurança intencionalmente. Um trecho da carta dizia o seguinte: “Pedimos que rejeite qualquer proposta na qual as empresas dos EUA enfraqueçam deliberadamente a segurança de seus produtos... Quer sejam chamadas de “frontdoors” ou “backdoors”, introduzir vulnerabilidades intencionais em produtos seguros para uso do governo tornará esses produtos menos seguros para outros tipos de ataques. Todos os especialistas em segurança da informação com os quais falamos publicamente sobre esta questão concordam com este ponto, incluindo os próprios especialistas do governo”.

As conclusões da EFF É muito bom ver as principais empresas de tecnologia competindo em privacidade e direitos de usuário. Práticas que incentivam a transparência sobre solicitações de dados pelo governo estão se tornando o padrão em toda a web. Embora seja possível julgar somente uma pequena seleção da indústria de

Duas vezes por ano, o Dropbox publica um relatório de transparência que detalha quantas solicitações de dados a empresa recebeu do governo.

tecnologia, acreditamos que isso seja o reflexo de uma mudança mais ampla. Talvez revigorado pelos debates em curso em torno da vigilância do governo e em resposta à crescente atenção do público em torno dessas questões, mais e mais empresas estão falando voluntariamente sobre elas e dando aos usuários ferramentas para reagir. Pensamos que este tipo de transparência pode ajudar a promover uma discussão mais ampla e uma mudança sistemática sobre como e quando os governos acessam os dados dos usuários e, também, servir de incentivo para que as leis de privacidade de dados digitais sejam melhoradas. Reconhecemos que as empresas de tecnologia estão em posição de resistir a pedidos excessivos do governo, por isso é preciso encorajá-las a falar e lutar. Ao entregar nossos dados a essas empresas, entregamos a elas a enorme responsabilidade de fazer o que puderem para defenderem a nossa privacidade.

Manual do Hacker | 53

Distros de Privacidade Cubra seus rastros e mantenha a sua identidade privada – comparamos distribuições Linux especiais que o ajudarão a permanecer invisível na web. Como testamos...

|

Há mais de três anos, os principais meios de comunicação começaram a discutir sobre o PRISM – um programa de vigilância global da Agência de Segurança Nacional –, suscitando uma série de preocupações sobre privacidade e acesso anônimo à internet. Pouco depois disso, tivemos uma explosão de novas distros de privacidade, como Tails, Whonix e outras para usuários que se preocupam com segurança. Aqui, apresentamos uma seleção de diferente distros nesta área. Vamos abordar: o estado atual das distros que possuem manutenções ativas; disponibilidade; facilidade de uso; desempenho; conjunto de recursos e documentação; e, por último, mas não menos importante, o quão elas podem ser usadas para uso geral comum.

E

xistem inúmeros motivos pelos quais alguém preocupado por segurança pode querer usar uma distribuição Linux especializada e não convencional em vez de uma distribuição comum. Então, selecionamos cinco opções diferentes, cada uma com suas próprias características e benefícios. Tails é talvez o sistema mais bem estabelecido entre os que estamos tratando aqui. Esta distro fornece acesso anônimo à internet, contornando quaisquer censuras. O Ubuntu Privacy Remix (UPR) fornece anonimato aliado à forte proteção de dados do usuário. Ele é executado somente no modo live, possui criptografa seus dados e protege contra acesso não solicitado. A Whonix

54 | Manual do Hacker

“A distro vencedora deve ser não somente segura, mas equilibrada e amigável, mesmo para usuários menos experientes em tecnologia.” possui quase os mesmos recursos de Tails, mas vai além, dividindo o fluxo de trabalho em duas partes: servidor e estação de trabalho. Qubes OS implementa a abordagem “segurança por compartimentação”. Finalmente, JonDo Live-DVD é uma solução muito interessante, que cresceu fora da multiplataforma JonDonym, um browser de navegação anônima na internet, cujo foco é privacidade e segurança.

Tanto o anonimato quanto a segurança são importantes, por isso esperamos um benefício adicional nestas distros: que sejam capazes de tornar o sistema seguro contra hackers (aqui, vamos chamar estas distros especiais e de "distros anônimas").Vamos comparar todas essas opções entre si sob diferentes pontos de vista, de modo que a distro vencedora deve ser não somente segura, mas a equilibrada e amigável, mesmo para usuários menos experientes em tecnologia.

Disponibilidade O que é preciso para obtê-las?

Q

imagem tem que ser modificada por meio do utilitário isohybrid. Então: isohybrid tails-i386-1.2.3.iso -h 255 -s 63 dd if=tails-i386-1.2.3.iso of=/dev/sdc bs=16M Onde /dev/sdc é o seu pendrive. Depois disso, funciona perfeitinho. O sistema é inicializado na sessão live como uma distribuição comum baseada no Debian. Whonix e Qubes OS são significativamente mais difíceis de rodar, e aqui está o porquê: Whonix vem na forma de duas máquinas Virtualbox, uma para o Gateway e outra para a estação de trabalho. A ideia por trás desta entrega requintada é isolar o ambiente no qual você trabalha daquele do ponto de acesso à internet. Assim, a primeira coisa a fazer é inicializar e configurar o Gateway Whonix em uma VM e, Não, não é um lagarto SUSE azul, é Ubuntu Privacy em seguida, acessá-lo a Remix, que apresenta este Protected Pangolin legal!

partir de outra VM, onde todo o trabalho será feito. Não encontramos nenhum problema com esta distro, mas temos que admitir que apenas usuários avançados serão capazes de implementar o seu fluxo de trabalho no Whonix. Depois de gravar a ISO do Qubes OS no pendrive e inicializar a partir dele, descobrimos que não havia uma sessão live, apenas um modo de instalação. Qubes OS é baseado em uma versão recente da Fedora e utiliza o mesmo tipo de instalador. Mas a distro tem alguns requisitos de sistema bastante surpreendentes: ele quer que você forneça 4 GB de RAM, 32 GB para a partição raiz e prefere chip de vídeo Intel integrado, porque Nvidia ou AMD têm alguns problemas no Qubes OS. O sistema precisa de recursos exagerados em razão de sua abordagem “segurança por isolamento”, conforme comentamos na página anterior. Finalmente, o Ubuntu Privacy Remix e o JonDo Live-DVD foram extremamente fáceis de rodar. Suas sessões live são rápidas e fáceis de usar.

|

uando decidir experimentar uma distro anônima, você tem que estar ciente de que há um custo envolvido no uso delas, mas isso varia. Então vamos ver o que é preciso para colocar essas distros concorrentes em funcionamento. Tails é a distro mais conhecida, e esperávamos fazer o download de seu arquivo ISO e gravá-lo em um pendrive por meio de alguma ferramenta conveniente, como dd ou por meio de um front-end, como o ImageWriter. Mas o processo com o Tails acabou sendo mais complicado, porque a

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Acesso fácil e sessões anônima ganham.

Estado de desenvolvimento Privado e seguro hoje, mas continuarão assim?

E

recursos e correções, mas não vamos esquecer que distros Linux abandonadas podem ter problemas de execução em hardware modernos, que têm coisas como UEFI e Secure Boot. Tails é uma das melhores distros de segurança que possuem manutenção, com um ritmo de desenvolvimento muito rápido. Novos lançamentos são disponibilizados a cada 2-4 meses, o que significa que Tails pode ter até seis lançamentos em um ano. Os desenvolvedores do Ubuntu Privacy Remix (UPR), em comparação, não parecem estar com tanta pressa, mas mantêm o desenvolvimento estável. A distro surgiu em dezembro de 2008 e tem sido mantida com o Ubuntu LTS. Até o fechamento desta edição, a versão mais recente era a 12.04r1 (Protected Pangolin), JonDo Live-DVD tem atualizações frequentes, que suporta novo hardware, surpreendentemente a cada 5-10 dias. ste aspecto é muitas vezes esquecido, mas é vital saber como os usuários comuns terão atualizações e suporte ativo para as distros. A realidade é que algumas distros anônimas são abandonadas por desenvolvedores (como Privatix) ou deixadas sem manutenção por anos (como Liberté). Alguns podem pensar que isso se trate somente de novos

mas ainda é uma distro muito leve. Whonix é um projeto relativamente novo, que começou em 2012 e tem evoluído desde então. A distro recebe atualizações a cada poucos meses. Qubes OS também teve seu nascimento em 2012, e o projeto atingiu a versão R2. O desenvolvimento do Qubes OS é muito ativo, com muitas versões alfa e beta bem documentadas e releases candidate publicadas a cada poucos meses. Porém, o desenvolvimento do JonDo Live-DVD é extremamente rápido. Um tanto surpreendentemente, JonDo possui um changelog (registro de alterações) atualizado a cada 5-10 dias!

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Todos os nossos participantes são atualizados com frequência.

Manual do Hacker | 55

Navegue na web com proteção Como as distros efetivamente protegem você de ameaças da web?

Q

uando você está acessando a internet, as coisas se tornam complicadas e ninguém pode garantir que tudo o que você acessa é absolutamente seguro. Mas a maioria de nossas distros tenta o seu melhor para oferecer a máxima proteção possível.

JonDo Live-DVD

Também admitimos que, embora a segurança seja uma prioridade, os usuários ainda precisarão do seguinte: acessar o webmail; fazer download e upload de arquivos; armazenar senhas e dados confidenciais; e realizar outras atividades comuns na internet. O anonimato requer alguns compromissos, como

velocidades de download mais baixas e uma política de senha mais difícil, mas também insistimos em uma experiência de navegação na web confortável. Mas não confunda uma maior segurança e endurecimento de políticas de internet com boa segurança dos dados do usuário. Isso é diferente.

+++++

|

JonDo fornece anonimato de rede por meio do JonDo IP changerv (aka JonDonym), que é um Java Anon Proxy, semelhante ao Tor. O JonDo permite a navegação na web – a partir do JonDoBrowser baseado em Firefox – com pseudonimia revogável e envia solicitações por meio de uma cascata e mistura de fluxos de dados de vários usuários para ocultar os dados para terceiros. Vale a pena notar que, enquanto a coisa toda é de código aberto, existem planos comerciais e gratuitos da distro. A versão livre só pode usar as portas de destino 80 e 443, que são usadas para o protocolo HTTP e HTTPS (o suficiente para navegação na web e FTP). O serviço premium fornece proxies SOCKS adicionais para anonimização extra e uma melhor velocidade de conexão. Geralmente, encontramos JonDo mais seguro do que Tor, porque JonDo é muito mais centralizado e não pode incluir nós maliciosos (que é possível no Tor).

Qubes OS

+++++

Qubes OS implementa outro conceito de isolamento baseado em virtualização. O sistema executa o hypervisor (monitor de máquina virtual) Xen com várias instâncias de um Fedora 20 alterado, virtualizado por cima dele. Qubes OS é dividido em vários “domínios” e aplicativos podem ser executados como máquinas virtuais (AppVMs). A maneira padrão de tornar o tráfego de rede anônimo é usando Qubes TorVM, que se conecta à internet e executa o Tor. Outros aplicativos podem ser atribuídas para usar esta conexão “Torified”. O lado positivo é que um aplicativo não precisa tomar conhecimento do Tor; ele é executado normalmente sem precisar de add-ons, e todo o tráfego IPv4 TCP e DNS é encaminhado pelo Tor. A desvantagem é que você precisa configurar tudo manualmente. Também observamos que esse conceito tende a restringir ataques e malwares de propagação fora do domain/ AppVM, em vez de preveni-los.

Dados em segurança

O quão seguro estão seus dados dentro de cada distro?

E

mbora a característica mais que podem ser armazenados apenas importante de Tails seja a sua em mídia USB removíveis – que, por “amnésia” no modo live, você sua vez, é montada com uma opção "noexec"). Não há nenhuma maneira de pode instalá-lo em seu disco rígido e seus dados serem deixados em partiusá-lo exatamente como uma distro ções do disco, nem mesmo despercebiLinux. Entre todos os benefícios de damente ou por acidente. fazer isso, você vai notar que sua Whonix é muito menos amnésico do memória RAM será limpa na que a maioria das outras. No ambiente reinicialização ou no desligamento do da estação de trabalho todos os dados sistema, situação na qual você estará podem ser armazenados protegido contra técnicas de persistentemente, e cabe a você como recuperação forense. preservá-los. Você pode querer Ubuntu Privacy Remix é excelente quando se trata de proteger seus dados. criptografar e protegê-los com uma senha extra, ou armazená-los em um A única maneira de armazená-lo é usanlocal isolado. Mas, geralmente, o forte do os TrueCrypt-Volumes estendidos,

56 | Manual do Hacker

do Whonix não é a segurança de dados. Qubes OS é muito melhor no quesito segurança de dados, porque é possível isolar dados confidenciais em um domínio domain/AppVM sem acesso à rede, mas note que o nível de segurança é fortemente dependente da habilidade do usuário e do quão disciplinados ele o é. O JonDo Live-DVD oferece um método de usar o armazenamento persistente, e achamos que é bastante fácil de usar. Ele está pronto para usar pendrives e unidades criptografados por meio do LUKS e fornece um assistente especial para preparar sua mídia.

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Desta vez, o UPR oferece a maior segurança para seus dados.

Ubuntu Privacy Remix

+++++

Tails

|

Triste, mas verdade, o Ubuntu Privacy Remix (UPR) não tem nenhuma funcionalidade de rede. O kernel do sistema é modificado para que ele ignore qualquer hardware de rede, tornando o UPR um sistema perfeitamente isolado, que não pode ser atacado via LAN, WLAN, Bluetooth, infravermelho etc. Portanto, não há navegação na web, cookies ou trojans, bem como não há quaisquer dados transferidos da web ou serviços remotos, em nuvem e de mensagens instantâneas. Quase todos os vestígios de conectividade de rede são eliminados da UPR, embora alguns ainda estejam lá. Por exemplo, os comandos ifconfig e ifup/ifdown ficam armazenados, mas eles são praticamente abandonados, pois o hardware de rede é violentamente desativado. Portanto, neste teste, o UPR não é útil para a navegação na web, mesmo que faça parte do projeto. Se, no entanto, você é paranoico e quer um sistema que evite que você esteja inteiramente online, o UPR será a solução ideal.

+++++

Tails inclui recursos de rede de alta qualidade, e o mais importante é o Tor, que é uma rede aberta de servidores anônimos que tentam impedir a sua identificação e análise de tráfego. Isso é acompanhado pelo Vidalia, um front-end de fácil configuração, um navegador préconfigurado baseado no Firefox ESR, equipado com um Tor Button, extensões HTTPS Everywhere, NoScript e AdBlock Plus. Muitos extras do Tails incluem rede anônima I2P, proxy e VPN front-ends, teclado virtual Florence, isolamento de aplicativos via AppArmor, PWGen e KeePassX para gerar e gerenciar senhas fortes, respectivamente, e AirCrackNG para auditoria de redes sem fio, entre outros. Tor e tráfego I2P também são separados, graças ao dedicado I2P Browser e ao Pidgin, que usa o modo mais seguro Off-the-Record (OTR).

Whonix

+++++

A distro Whonix também depende do Tor para criar o anonimato na rede e compartilha muitas ferramentas de terceiros, com o Tails. Então vamos apontar as diferenças. Aqui, o cliente Tor é executado no WhonixGateway, que oferece melhor proteção contra IP e descoberta de localização na estação de trabalho. O nível de proteção de vazamento de protocolos IP e DNS é, às vezes, o mesmo, mas em Tails há a possibilidade de erros de configuração, o que pode levar a vazamento de IP, o que não acontece no Whonix. Mesmo se a estação de trabalho estiver comprometida (por exemplo, por alguém que obteve o acesso root), ainda seria impossível descobrir o IP real. O isolamento do servidor proxy em uma máquina virtual autônoma (ou talvez em um PC físico) funciona muito bem. O Whonix também faz uso de “guardas de entrada” no Tor (por meio de parâmetros aleatórios), que é algo que está faltando no Tails.

Performance

As distros rodam bem?

O

Tails mais recente usa o kernel 3.16.7 e carrega no Gnome Shell 3.4 em modo de retorno por padrão. O desktop é muito leve; quase tão rápido quanto o clássico Gnome 2 nos lançamentos anteriores do Tails, mas os requisitos oficiais do sistema especificam, pelo menos, 1GB de RAM para funcionar sem problemas, o que consideramos um pouco demais. O Ubuntu Privacy Remix foi atualizado para usar a base de pacotes Ubuntu 12.04 LTS e, portanto, possui inúmeros backports (repositórios paralelos) e recursos modernos, mas continua muito fácil em recursos. UPR

usa um clássico desktop Gnome 2, que carrega rapidamente. Podemos dizer que 512MB de RAM é suficiente, porém o UPR pode fazer uso de maior volume de RAM porque o sistema implementa "ramzswap" para armazenar arquivo de troca na memória RAM. JonDo Live-DVD pode inicializar mesmo em computadores com processadores (CPUs) mais antigos, e seu desktop XFCE é muito rápido. No entanto, você vai precisar de 1GB de RAM para que a distro rode sem problemas com o aplicativo JonDo baseado em Java e os navegadores web. Whonix é diferente, porque, nele,

você precisa de um host capaz de executar duas máquinas guests Virtualbox ao mesmo tempo. O sistema operacional e a configuração de seu host dependem de você, mas será necessário de, pelo menos, 4GB de RAM e espaço livre de 12 GB no disco rígido. No entanto, um SSD e um processador com suporte a virtualização de hardware são ambos muito bem-vindos. Para o Qubes OS você precisará de uma máquina ainda mais robusta: uma CPU de 64 bits, 4GB de RAM e de, pelo menos, 32 GB para a partição raiz. Qubes OS é, portanto, a uma escolha mais exigente.

Veredicto JonDo Live

+++++ Qubes OS

+++++

Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Tanto Tails como JonDo são modestos em recursos.

Manual do Hacker | 57

Usabilidade do desktop É possível ficar anônimo e ainda desfrutar de um desktop rico em recursos?

E

embutido em todo software desktop essencial, mas sua principal vantagem consiste na possibilidade de instalar o JonDo IP changer e o navegador JonDoFox em qualquer distro Linux. Este é um bônus enorme, porque você pode ficar com o seu Linux já configurado e tornar-se anônimo. O Ubuntu Privacy Remix (UPR) inclui apenas acessórios básicos do Gnome 2 e poucos aplicativos de desktop (Scribus e LibreOffice são os exemplos mais notáveis). A experiência

|

mbora Tails seja “amnésico”, ele inclui um instalador, que pode criar uma partição persistente no mesmo pendrive a partir do qual a distro foi iniciada, ou em outro dispositivo de armazenamento USB. Isso torna o Tails uma experiência agradável para o trabalho permanente no modo live. Ele também inclui uma vasta seleção de software, como LibreOffice, Gimp, Audacity e Sound Juicer. O JonDo Live-DVD também tem um Xfce live desktop muito útil, que vem

O desktop Tails é fácil de usar para quem já é usuário do Gnome.

de área de trabalho no UPR é ruim, tanto é que até mesmo para fazer uma captura de tela acabou gerando um problema. O pior de tudo é que a distro UPR é deliberadamente não configurável, de modo que nada pode ser corrigido sob a perspectiva de um desktop. Ambas as máquinas guests do Whonix usam a área de trabalho do KDE sobre o Debian. Nós realmente amamos o KDE, mas parece ser excessivo quanto ao Gateway. Mas a experiência da estação de trabalho se mostrou muito confortável. Além de algumas pequenas desacelerações e restrições, por ser um sistema virtualizado e protegido por firewall, a estação de trabalho Whonix pode ser usada como um desktop totalmente completo. Qubes OS é uma experiência completamente diferente: é fácil de instalar, mas pode funcionar muito lentamente na hora do “vamos ver”. Seu desktop KDE é intuitivo, mas a interação entre domínios requer habilidade extra. Por exemplo, copiar e compartilhar arquivos de um domínio ou AppVM para outro tem sua própria lógica e o uso da área de transferência é limitado.

Veredicto JonDo Live

+++++ Qubes OS

+++++

Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ A melhor oferta de softwares conhecidos e ferramentas par uso de privacidade.

Documentação e suporte Existe alguma ajuda? E onde você pode obter as respostas de que precisa?

B

oas páginas wiki, FAQs e documentação útil são importantes para qualquer software. Este é, certamente, o caso das distros anônimas que podem frustar até mesmo a pessoas familiarizadas com o Linux. Tails oferece uma documentação detalhada para o usuário final, com informações gerais, tutoriais, perguntas frequentes e explicações minuciosas para quase todos os aspectos, mesmo aqueles não relacionados diretamente com a distro. Tudo isso é essencial para o caso de você querer estudar os conceitos básicos de privacidade e criptografia. Há até uma sala de bate-papo e um formulário a partir do qual você pode “solicitar um recurso”. Ubuntu Privacy Remix possui um site elegante e compacto, mas não há muitos materiais nele. Porém, você pode encontrar alguns guias de instru-

58 | Manual do Hacker

ções úteis, como passo a passo para criar uma compilação pessoal de UPR (com um conjunto de software personalizado). Quase toda a documentação do Whonix fica disponível em um portal wiki dedicado e detalhado. Nós o consideramos muito abrangente e A seção de ajuda do Whonix é enorme. mais aprofundado do que os recurAté mesmo tópicos avançados e sos fornecidos pelo Tails – Whonix aprofundados são abordados. tem mais artigos, mais opções de apoio e um fórum muito ativo. desenvolvedores, que fornece tudo o O projeto Qubes OS também tem que você precisa para criar soluções um portal wiki com artigos essenciais e personalizadas. avançados. A arquitetura do sistema JonDo tem tópicos de ajuda, um operacional é explicada em detalhes e FAQ e tutoriais, bem como um portal há um FAQ, tutoriais e documentação wiki e um fórum. Embora pareça do usuário. Qubes OS tem muitos completo, ainda possui muitas recursos extras, como a execução de fraquezas. O FAQ é resumido, e o wiki é AppVMs não-Linux, cujos detalhes muito pequeno. Somente alguns encontram-se em um manual detalhatópicos são realmente completos, o do. Há também uma seção útil para que nos desapontou.

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Whonix sai na frente do Tails com o seu nível de suporte.

Distros de privacidade

O veredicto cadeia de nós Tor. Mas a velocidade de conexão não é prioridade máxima, porque você já está tendo um anonimato testado e garantido. Outras distros participantes definiram claramente o custo que cobram pela privacidade e segurança avançada. O Whonix força o usuário a usar a máquina virtual, que é sempre mais lenta do que um computador host, tem pouco ou nenhum suporte 3D e demanda tempo extra e habilidades para instalá-lo pela primeira vez. Mas uma vez que você passa por isso, o Whonix pode ser configurado de acordo com a sua necessidade, exatamente como qualquer outra distro baseada no Debian. Também percebemos que o Qubes OS só funciona bem em hardware mais potente, mas ainda mais lento do que o próprio Whonix virtualizado. No entanto, o Qubes OS oferece uma boa navegação anônima, mas seu objetivo principal é isolar segmentos diferentes para que um seguimento comprometido não consiga derrubar os

 

1a

JonDo Live-DVD

+++++

Web: http://bit.ly/JonDoLive-DVD Licença: BSD Versão: 0.9.71.2 Rápida, portátil, eficaz e fácil de usar para navegação anônima.

2a

Tails

3a

demais. Você também terá que aprender como diferentes domínios de software se comunicam entre si. A abordagem do Ubuntu Privacy Remix não é convencional, mas, claro, lida bem com o anonimato, embora seja preciso trabalhar com ele de uma forma um pouco diferente. O site do projeto mostra o passo a passo de como você pode criar seu próprio spinoff (derivado) do UPR e usá-lo como um sistema perfeitamente isolado, que não deixa vestígios no computador. O UPR também pode detectar ambientes virtuais e ejetar sua imagem ISO a partir de suas configurações, mas tudo isso é exclusivamente local, sem qualquer conectividade com o mundo exterior.

Whonix

JonDoFox não irá deixálo iniciar a internet a menos que você inicie o Java Anon Proxy.

+++++

Web: www.whonix.org Licença: Mainly GNU GPL Versão: 9.6 Fácil de usar e supersegura, mas exige hardware potente.

4a

+++++

|

J

ava Anon Proxy foi uma start-up de 2007, apoiada por sólidos trabalhos de pesquisa de muitos anos. Aqui, nós testemunhamos o fruto desse trabalho no JonDo Live-DVD, que claramente supera o ex-rei do acesso anônimo à web: Tails. Ambos os projetos são de qualidade, no entanto, com características equilibradas e desenvolvimento ativo. É difícil dizer se o Tor fornece anonimato perfeito ou não, mas é tecnicamente possível selecionar um usuário Tor também por meio de um nó (ponto de conexão) comprometido ou pelo comportamento do tráfego do usuário correspondente, juntamente com outros detalhes, ou mesmo por “ataques de temporização” (detalhes aqui: http://bit.ly/2lKvz4j). Por outro lado, a seleção do nó JonDo é menos aleatória do que a do Tor, e não temos certeza de até que ponto você pode confiar nela. Ambas as soluções diminuem muito a velocidades da internet, e proxy em cascata do JonDo parece ser ainda mais lento do que a

Qubes OS

+++++

Web: https://tails.boum.org Licença: GNU GPLv3 Versão: 1.2.3

Web: https://qubes-os.org Licença: Mainly GNU GPL Versão: R2

Equilibrado, “principalmente” para acesso à internet segura. É também uma forma amigável de testar o Tor.

Muito segura, mas é como se você andasse em uma estrada esburacada estreita entre paredes de concreto.

5a

UPR

+++++

Web: www.privacy-cd.org Licença: Mainly GNU GPL Versão: 12.04r1 Considere-a como uma distro especial para proteger dados confidenciais.

Considere também... Muitas pessoas têm a ilusão de que podem ser invisíveis e inacessíveis sob a rede Tor. Na verdade, isso só é verdade até que um usuário burle a lei ou, de alguma forma, atraia a atenção dos serviços de inteligência. Utilize o anonimato somente para fins pacíficos e por sua própria conta e risco. Por outro lado, você tem o direito de manter seus dados longe de

terceiros. Então porque não tomar algumas medidas? As opções de distros anônimas são maiores do que as que cobrimos aqui. Privatix e Liberté não receberam nenhuma atualização já faz tempo, mas estas distros ainda são utilizáveis e estão prontas para navegar na web na maioria das máquinas. Existem outros

projetos também, como IprediaOS, Polippix e Mandragora que valem a pena considerar. Na verdade, não é muito difícil transformar a instalação do Linux existente em uma fortaleza digital. Quase todas as ferramentas para o anonimato em Linux são de código aberto, incluindo front-ends Tor, extensões e métodos de criptografia.

Manual do Hacker | 59

Faça Mais - Leve suas habilidades em Linux para o próximo nível

Leve suas habilidades em Linux para o próximo nível 62

200 melhores dicas Linux

62

Primeiros passos

63

Obtenha mais do desktop

64

Dicas para seus apps

66

Gerenciadores de apps

67

Dicas avançadas

70

VirtualBox: virtualização

70

Escolha o VirtualBox

70

Crie a sua primeira VM

71

Ajustando o hardware virtual

71

Outras configurações importantes

72

Lidando com periféricos USB

72

Seu primeiro boot

73

Tire um instantâneo (snapshot)

74

Uso do Terminal

|

Faça mais

MELHORES

DICAS

LINUX

Há sempre alguma coisa sobre a qual ainda não sabemos. Aqui estão 200 maneiras surpreendentes de obter mais do Linux, obtidas a partir de anos de navegação nos cantos e recantos.

Primeiros passos Testando e instalando distros Linux como um profissional. Crie uma distro Live com armazenamento persistente As distros mais populares, como o Fedora e o Ubuntu, são fornecidas com ferramentas que reservam espaço de armazenamento no live USB para salvar os dados que estarão disponíveis nas reinicializações seguintes.

1

Coloque várias live distros em um disco Se você quiser testar várias live distros, é possível colocá-las em uma unidade flash

2

62 | Manual do Hacker

USB por meio do script MultiCD (disponível aqui: http://multicd.us) ou usar a ferramenta MultiBoot LiveUSB (http:// liveusb.info/dotclear). Use uma ferramenta externa de particionamento Embora as ferramentas de particionamento dentro das distros tenham melhorado consideravelmente em relação ao melhor controle sobre seu disco, é melhor preparar partições para uma instalação Linux usando

3

ferramentas de terceiros, como o Gparted, que também é instalado nas versões live de várias distros . Use partições LVM Uma das maiores vantagens de usar LVM (Local Volume Manager ou gerenciador de volume local) é que, ao contrário das partições padrão, você não precisa estimar o tamanho das partições na instalação, pois você poderá aumentar (ou diminuir) um volume LVM sem perder nenhum dado.

4

Obtenha mais do desktop Seja mais produtivo em seu desktop favorito.

Alterar o comportamento do botão de energia Para ajustar a configuração do botão Liga/Desliga Cinnamon (baseado no GTK), vá até Configurações do Sistema > Gerenciamento de Energia e use o botão suspenso para escolher como ele deverá funcionar.

15

Atalhos úteis de teclado Alt+F2 Abre a caixa de diálogo Executar.

23

Defina atalhos de teclado Quase todos os computadores permitem definir atalhos de teclado personalizados. Você encontrará as opções na configuração do teclado em seus respectivos painéis de configuração.

6

Truques do touchpad Mova o dedo para cima e para baixo no lado direito do touchpad para rolar verticalmente, e toque no canto inferior direito do touchpad para dar um clique com o botão direito do mouse.

7

Altere o layout do painel Para alterar layout padrão do painel do Cinnamon, acesse Configurações > Painel e use o menu suspenso Layout do Painel para selecionar um estilo diferente.

16

Adicione miniaplicativos no painel O Cinnamon vem com vários miniaplicativos interessantes os quais podem ser adicionados a qualquer painel: clique com o botão direito do mouse no painel e selecione “Adicionar Miniaplicativos” (Add Applets) no painel de opções.

17

Habilitando áreas de trabalho Para habilitar áreas de trabalho no Ubuntu, acesse Configurações do Sistema > Aparência > Comportamento e alterne a opção “Ativar áreas de trabalho”.

Ative o compositing 18 Para adicionar sombras e transparências nas janelas, habilite o “compositing” no Mate, alternando a opção “Ativar compositing no gerenciador de janelas” na Central de Controle > Windows.

Instale uma Dock Em desktops, como o Gnome, economize tempo na hora de abrir seus aplicativos favoritos. Crie atalhos para eles na Dock, instalando, por exemplo, o Cairo-Dock, disponível nos repositórios oficiais da maioria das distribuições.

Obtenha diferentes widgets em cada desktop Para personalizar os desktops virtuais no KDE, clique com o botão direito do mouse no Pager, mude para a guia Virtual Desktops e alterne a correspondente. A partir daí, cada área de trabalho poderá ter widgets diferentes.

Gerencie arquivos pelo menu de contexto 10 O menu de contexto que surge com um clique com o botão direito do mouse no gerenciador de arquivos na maioria das distros está cheio de opções úteis, como a possibilidade de enviar algo por e-mail e compactar ou restaurar a versão anterior de arquivo.

Execute aplicativos na conta de outro usuário 20 Para que um aplicativo seja executado com a conta de outro usuário (como root) no KDE, clique com o botão direito do mouse no ícone do menu e selecione “Editar Aplicativos”; depois, selecione uma entrada existente e clique em “Copiar”. Em seguida, navegue até onde você deseja criar a nova entrada, clique em “Novo item”, dê-lhe qualquer nome e clique em “Colar”. Alterne para a guia “Avançado” e marque a opção “Executar como um usuário diferente” e digite o nome e acesso de qualquer usuário.

8

9

Crie Favoritos Coloque seus aplicativos favoritos no Launcher do Ubuntu e no Dash do Gnome: arraste-os da tela de visualização de aplicativos para a área de trabalho.

11

Coloque itens na área de trabalho 12 Para personalizar o Gnome, instale o Gnome Tweak Tool a partir do repositório da distro. Inicie o aplicativo, vá para a guia Desktop e alterne a opção “Ícones na área de trabalho”. Menu de inicialização rápida Clique com o botão direito do mouse nos ícones do Launcher do Ubuntu ou no nome de um aplicativo na barra superior do Gnome para revelar as opções e ações correspondentes.

13

Inicie comandos a partir do menu do Mint Clique com o botão direito do mouse no miniaplicativo do Menu, escolha Configurar e clique em “Abrir o editor de menu”. Em seguida, selecione um submenu (ou crie um novo) e selecione “Novo Item”. Digite o comando no espaço fornecido e alterne o inicializador na caixa de seleção do terminal para aplicativos CLI.

Alt Pesquisar no menu de um aplicativo via HUD do Ubuntu.

24

19

Animação de fundo de tela Clique com o botão direito do mouse na área de trabalho do KDE e clique em “Configurações do Dektop Padrão”. Use o menu suspenso “Wallpaper” para selecionar a opção Slideshow e aponte para um conjunto de imagens.

21

Alt+~ Alternar entre janelas no mesmo aplicativo.

25

Alt+Ctrl+ Up/Down/ Right/Left Alternar entre áreas de trabalho.

26

Alt+PrntSc Tirar uma captura de tela da janela atual.

27

Shift+Ctrl+ Alt+r Gravar uma screencast no Gnome.

28

Super+Up Maximizar janelas no Gnome.

29

Super+Down Minimizar janelas no Gnome.

30

Super+ Left/Right Encaixar janelas no Gnome.

31

Super+m Visualizar todas as notificações perdidas no Gnome.

32

Expanda janelas horizontalmente Os usuários do Xfce podem clicar com o botão direito do mouse no botão Maximizar Janela para esticá-la horizontalmente na tela.

22

14

Use atalhos de teclado para economizar tempo navegando em menus

Manual do Hacker | 63

|

Clique com o botão do meio para colar Quando você selecionar algum texto com o mouse, ele será copiado para um buffer especial. Quando você clicar em uma área de entrada de texto, uma cópia do texto que você selecionou originalmente será colada nesse campo.

5

Dicas para seus apps Economize tempo e seja mais produtivo com essas joias escondidas.

|

LibreOffice Maiúsculas e minúsculas 33 Selecione as palavras, clique com o botão direito do mouse e role para baixo até o menu “Mudar Capitalização” e selecione a opção desejada. Ative a complementação de palavras Vá para Ferramentas > Opções de AutoCorreção > Complementação de Palavras e alterne as opções “Ativar complementação de palavras” e “Recolher palavras”.

34

Define controles de teclado Vá para Ferramentas > Personalizar e clique na guia “Teclado” para modificar qualquer um dos atalhos.

35

Reproduza arquivos de mídia 36 Vá para Inserir > Mídia > Áudio ou Vídeo e selecione um arquivo de mídia. Selecione o ícone de mídia no documento para ativar os controles de mídia. Use o navegador Para navegar rapidamente em qualquer documento ou planilha na janela do navegador, em Exibir > Navegador.

37

Autoformatação de tabelas Para formatá-las automaticamente, selecione algumas células e acesse Formato > Autoformatação para escolher uma formatação diferente para elas.

38

Formatação condicional Formate as células com base nas condições especificadas em Formato > Formatação condicional > Condição.

39

Proteja planilhas

40 Acesse Ferramentas > Proteger Documento > Planilha para bloquear o acesso à planilha por meio de uma senha. Valores na barra de estado Por padrão, a barra de status exibe a soma dos valores nas células

41

selecionadas. Altere esse comportamento, clicando com o botão direito do mouse na barra de status.

Evince Rolagem automática de PDFs 42 Clique com o botão direito do mouse dentro de um documento e selecione a opção “Rolagem Automática” e use o mouse para controlar a velocidade. Tornar o texto mais fácil de ler Acesse Ver > Cores Invertidas. Assim, você verá texto branco em um fundo preto.

43

Adicione anotações

44 Selecione a opção Anotações no menu suspenso no painel lateral e alterne para a guia “Adicionar”. Adicione suas anotações.

Aplicativos de internet Acelere o navegador (Firefox) 45 Digite about:config na barra de endereços. Depois, digite network.http no campo de filtro e defina os parâmetros network.http.pipelining e network.http. proxy.pipelining parameters para True (Verdadeiro). Limite o uso de RAM (Firefox)

46 Acesse about:config , filter browser.cache e defina o parâmetro browser.cache.disk.capacity para 30000 ser você tiver 2GB de RAM. Conserte pastas (Thunderbird) Clique com o botão direito do mouse na pasta danificada, acesse “Propriedades” e clique no botão “Reparar Pasta”.

47

Crie uma lista de discussão (Thunderbird) Acesse Ferramentas > Catálogo de endereços > Nova Lista e especifique quais listas do catálogo de endereços você deseja adicionar.

48

Salve menos e-mail localmente

49 (Thunderbird)

Acesse Editar > Configurações da Conta > Sincronização e Armazenamento na conta desejada. Depois, alterne a opção “Sincronizar a mais recente” e escolha o período. Pesquisar todas as mensagens (Thunderbird) Para pesquisar todos os e-mails, incluindo os e-mails disponíveis somente no servidor, acesse Editar > Localizar > Pesquisar Mensagens e altere a opção “Executar pesquisa no servidor”.

50

Dê uma olhada dentro de qualquer app Mozilla por meio do recurso about:config

64 | Manual do Hacker

Inserir uma imagem de fundo (Evolution) Alterne a opção Formato > HTML, acesse Formatar > Página e clique em “Procurar” na seção “Imagem de Plano de fundo” e escolha uma imagem.

51

Pesquisa avançada (Evolution) Vá para Pesquisa > Pesquisa Avançada para criar regras de pesquisa complexas. Use o botão “Adicionar condição” para definir os parâmetros.

52

Otimizar a velocidade do Torrent (Transmission) Use http://bit.ly/AzureuaUploadCalc para determinar as configurações recomendadas, as quais podem ser inseridas nas guias Editar > Preferências> Velocidade e Rede.

53

Monitoramento de diretório (Transmission) Acesse Editar > Preferências > Transferências e marque a caixa “Observar arquivos torrent em” e, à direita, escolha um diretório.

54

Controle remoto de torrents (Transmission) O Transmission oferece uma interface baseada em navegador, que pode ser ativada em Editar > Preferências > Remoto.

55

Use um perfil centrado na privacidade (Firefox) JonDoFox é um perfil do Firefox que se integra automaticamente ao navegador instalado e permite navegação anônima na internet por meio de um servidor proxy.

56

Reprodutores de mídia Recuperação automática de 57 legendas (Vídeos do Gnome) Pressione Ctrl + Shift + s para abrir a caixa de diálogo “Legendas do Filme”. Em seguida, selecione o idioma e clique em “Localizar” para procurar legendas no site www.opensubtitles.org. Coverta arquivos de mídia (VLC) Acesse Mídia > Converter / Salvar, adicione um arquivo e clique no botão “Converter/Salvar” e selecione o codec desejado para a conversão.

58

Download de vídeos online (VLC) Acesse Mídia > Abrir Streaming de Rede, digite o URL do vídeo e, no menu suspenso “Reproduzir”, escolha ‘Converter’. Em seguida, selecione um perfil predefinido, digite o nome do arquivo para salvar e clique em “Iniciar”.

59

Gravar área de trabalho (VLC)

60 Para ativar a gravação na área de trabalho, vá para Media > Converter/Save > Capturar Dispositivo. No menu suspenso “Modo de Captura”, selecione “Área de trabalho” e, em seguida, selecione o frame rate (taxa de quadros por segundos). Finalmente, clique em “Converter / Salvar”, dê um nome e clique em “Iniciar”.

Identificar uma música (Amarok) Clique com o botão direito do mouse na música a qual você não consegue reconhecer, acesse Editar Detalhes da Faixa > Tags e clique em “Obter Tags a partir de MusicBrainz”.

62

Image editors Mover a máscara de seleção (Gimp) 63 Faça uma seleção e clique na ferramenta Mover. Certifique-se de que a opção Mover esteja definida para “Seleção” no painel. Agora, você poderá arrastar a seleção para uma nova posição. Cantos arredondados (Gimp)

64 Acesse Filtros > Decoração > Cantos Arredondados. Em seguida, selecione “Edge Radius” (que é a quantidade de curva) e, opcionalmente, personalize as outras opções. Processamento de imagens em lote (Gimp) 65 Faça download e instale o plugin do Batch Processor (http://bit.ly/DavidsBP) para ativar todos os tipos de ajustes. Escreva automaticamente metadados em imagens (Shotwell) Acesse Editar> Preferências e marque a caixa de seleção “Escrever tags, títulos e outros metadados nos arquivos de fotos”.

66

Organize fotos por eventos (Shotwell) Por padrão, o Shotwell faz o upload de todas as fotos de uma só vez, e isto faz criar um único evento. Para uma melhor organização, você pode criar novos eventos a partir de um grupo selecionado de fotos: acesse Eventos > Novo Evento.

67

Renderize arquivos RAW corretamente (Shotwell) Para solicitar ao Shotwell para usar o desenvolvedor RAW da câmera, basta abrir uma imagem e marcar a opção Foto > Desenvolvedor > Câmera.

68

Apps KDE apps Favoritos (Konsole) 69 Use o menu Favoritos para obter fácil acesso ao diretório. A opção “Guia de Pastas Favoritas” permite favoritar todas as guias abertas em uma única pasta. Etiquetas em guias (Konsole) Se você tiver favoritado várias guias, você poderá nomeá-las, clicando duas vezes em cada uma delas.

70

Execute comandos em múltiplas sessões (Konsole) Acesse Editar e escolha “Copiar Entrada de Todas as Guias

71

Monitor de atividades (Konsole) Acesse Exibir e ative a opção “Monitor de Atividade”. Feito isso, e o KDE o notificará com uma janela pop-up na barra de tarefas sempre que houver alguma atividade nessa guia do Konsole.

72

Nova aba no diretório (Konsole) Acesse Configurações > Editar Perfil Atual e desabilite a opção “Iniciar” no mesmo diretório da guia atual e, em seguida, insira o local do diretório de inicialização personalizado no campo acima dele.

73

Crie perfis personalizados (Konsole) Você pode criar novos perfis com fontes e permissões personalizadas, acessando Configurações > Gerenciar Perfis > Novo Perfil. Em seguida, personalize-o alternando para as outras guias, como Aparência (Appearance).

74

Editor de “somente leitura” (Kate/Kwrite) Marque a opção Ferramentas > Modo Somente Leitura para evitar alterações acidentais um documento importante.

75

Destaque (Kate/Kwrite) Escolha o modo de realce apropriado para o documento aberto no momento: acesse Ferramentas > Realce.

76

VirtualBox Crie snapshots (instantâneos) de VM 77 Para salvar o estado atual de uma máquina virtual, alterne para a guia Snapshot” na interface principal e clique no botão “Snapshot”. Isto serve para você restaurar instantâneos de sua máquina virtual.

Atalhos no gerenciador de arquivos F4 (KDE Dolphin) Exibe a linha de comando in-line.

83

F3 (KDE Dolphin) Divide uma única janela em duas diferentes.

84

Ctrl+l (KDE Dolphin/ Gnome Nautilus) Visualize a barra de localização se estiver oculta (Nota: minúscula l).

85

Shift+Enter (Gnome Nautilus) Abra a pasta selecionada em uma nova guia.

86

Ctrl+Shift+ drag the file (Gnome Nautilus) Cria um link suave para o arquivo.

87

Barra de espaço (Gnome Nautilus) Pré-visualiza o arquivo selecionado se o prévisualizador do Sushi estiver instalado no momento.

88

Use dispositivos USB Vá até Dispositivos > Dispositivos USB e selecione aqueles que deseja conectar. Isso os fará desconectá-lo de seu computador principal (host) e ficará disponível na VM.

78

Encaminhe portas virtuais Configure a opção Encaminhamento de Porta para garantir que qualquer software de servidor dentro da VM esteja acessível pela internet: acesse Configurações > Rede > Avançado > Encaminhamento de Porta (Port Forwarding).

79

Ativar exibição remota

80 Se você executar o VirtualBox em um servidor sem monitor, você poderá habilitar a exibição remota: acesse Configurações > Exibir > Exibição Remota e marque a caixa de seleção Habilitar Servidor. Gerencie o VirtualBox pelo navegador Outra aplicação útil para gerenciar o VirtualBox a partir de um computador remoto é phpVirtualBox, que recria a interface dentro de um navegador web.

81

Compartilhe a área de transferência Se você tiver instalado o Guest Additions, habilite a opção apropriada, em Dispositivos > Área de Transferência Compartilhada para copiar/colar texto entre a máquina convidada e o host.

82

Manual do Hacker | 65

|

Controle remoto a partir de um navegador (VLC) Acesse Ferramentas > Preferências e clique no botão “Exibir Todos”. Agora, acesse a guia Interface > Interfaces Principais e marque a opção “Web’. Em seguida, em Interface > Lua e defina a “Senha”, em “Lua HTTP”.

61

Abertas na Janela Atual”, ou “Guias Selecionadas” se você quiser executar o mesmo comando, por exemplo, em vários hosts do SSH.

Gerenciadores de apps Use a linha de comando para obter mais do gerenciador de pacotes

|

Dicas para RPM/Yum/ Fedora Instale RPMs com Yum 89 Para resolver e buscar dependências, instale pacotes RPM com yum install <package.rpm> . Atualize um pacote específico 90 Use yum check-update <package> para verificar se há atualizações para o pacote que você pode instalar. Por exemplo: yum update <package> . Pesquise pacotes 91 Use yum whatprovides para buscar o nome do pacote que fornece o arquivo mencionado. Instale grupos de pacotes 92 List all available groups with yum grouplist and install any with yum groupinstall . Reversão de updates 93 Obtenha uma lista de ações juntamente com suas IDs de atualização. Para tanto, use yum history e desfaça uma delas, usando yum history undo [update-id] .

Desinstale apps Para desinstalar completamente os aplicativos, juntamente com seus arquivos de configuração, use apt-get remove --purge .

97

Downgrade de pacotes instaldos a partir de PPAs Instale a ferramenta dPPA Purge por meio do comando apt-get install ppa-purge e reverta os pacotes atualizados, usando o comando ppa-purge .

98

Instale biblioteca dev 99 Para compilar uma versão mais recente de um aplicativo, procure as dev libs da versão em questão em seu repositório. Para tanto, use apt-get build-dep <nome-do-app> . Remova arquivos

100 Use apt-get autoclean para remover aquivos baixados de um pacote do qual você já fez a atualização. Você pode também se livrar de todos eles por meio do comando apt-get clean . Remova pacotes desnecessários O comando apt-get autoremove exclui as dependências que você não utiliza mais.

101

Linux Mint tem ótimas ferramentas de gerenciamento de software

Instale a partir de um URL Em vez de primeiro baixar pacotes, você pode instalá-los diretamente da web. Por exemplo: urpmi .

108

Dicas para ZYpp/OpenSUSE Liste pacotes instalados 109 O comando rpmqpack exibe uma lista de todos os pacotes instalados. Atualize pacotes Use zypper in para atualizar um pacote. Caso o pacote do em questão ainda não esteja instalado, o comando irá fazê-lo.

110

yum install yum-plugin-fastestmirror e use sempre o mirror (um site espelho) mais próximo para instalar um pacote.

Conserte dependências problemáticas Use apt-get -f install quando você receber um erro ao tentar instalar um pacote Deb cujas dependências ainda não tenham sido instaladas.

Zypper mais rápido Use zypper sh para entrar no shell (interpretador de comandos) do Zypper, que instala pacotes de forma mais rápida, pois mantém todos os dados importantes na memória.

Dicas para Apt/DPKG/ Ubuntu/Mint Backup de listas de pacotes 95 Para instalar o mesmo pacote em outra

103

Use o mirror mais rápido No Software & Updates do Ubuntu, selecione “Outros” a partir do menu Download e clique no botão “Selecionar o melhore servidor”.

Simule uma atualização Antes de atualizar a sua instalação, faça uma execução de teste, usando zypper -v dup -D .

Dicas para URPMI/Mageia Obtenha uma lista de dependências 104 O comando urpmq -d exibirá uma lista de dependências de pacotes.

Backup de repositório Salve todos os repositórios configurados, usando zypper lr --export ~/backup-repos.repo .

Atualize todos os arquivos de mídia Use urpmi --auto-update para atualizar a lista de pacotes disponíveis.

Restaure repositórios Use zypper ar ~/backup-repos.repo para restaurar um repositório a partir de um arquivo de backup.

Acelere o Yum

94 Instale o plugin fastestmirror, digitando

máquina, crie uma lista de pacotes instalados, usando dpkg --get-selections > pkgs.list . Replique um outro sistema Em uma nova instalação, primeiro importe a lista de pacotes, usando dpkg --setselections < pkgs.list e, depois, instale-os por meio do comando apt-get dselect-upgrade .

96

102

105

Salve os RPMs Adicione a opção --noclean para evitar que o urpmi exclua automaticamente os RPMs baixados após a instalação de um aplicativo.

106

Instale a partir de um diretório local Coloque RPMs de um diretório e, então, adicione-os como um meio de instalação. Use urpmi.addmedia backup .

107

Use a ferramenta Drivers Adicionais do Ubuntu para instalar drivers proprietários para sua placa gráfica e outros hardwares

66 | Manual do Hacker

111

112

113

114

Visualize patches necessários Obtenha uma lista dos patches de atualização necessários. Para tanto, digite zypper lp .

115

Instale patches Atualize programas, aplicando todos os patches disponíveis por meio do comando zypper patch .

116

Dicas avançadas Torne-se um mestre de seu domínio Dicas de Bash Veja vários comandos de acordo com um padrão 126 Usando o histórico, pesquise por comandos

Atalhos CLI

Aba. Em seguida, mude para a nova guia e vá para Arquivo > Monitorar Máquinas Remotas e digite o endereço IP, bem como os detalhes da conexão da máquina de destino.

executados anteriormente que correspondam a um padrão: digite history | grep -i .

Ctrl+a Envie o cursor para o início do comando.

Monte arquivos ISO 118 Use a montagem -o loop <path-to-ISO-file> /tmp/isofile para explorar o conteúdo de uma imagem ISO. Crie consoles virtuais 119 Com o tmux, você pode criar várias sessões, executar tarefas diferentes em cada uma delas e, em seguida, alternar de uma sessão para outra sem precisar interromper a tarefa que está sendo executada dentro delas. Use o tar eficientemente O compactador tar pode detectar formatos de compressão e tar xf é tudo que você precisa para descompactar um arquivo.

120

Crie lembretes únicos Você pode usar at com notify-send para criar lembretes, como echo notify-send “Tomar um chá” | at now +4 min .

121

Agende uma tarefa para várias vezes Use uma vírgula no arquivo no crontab (editor de arquivos) para especificar múltiplos agendamentos. Por exemplo, 00 11,16 * * * executará a tarefa todo dia à 11h e novamente às 16h (11,16).

122

Programe uma tarefa para uma duração específica Da mesma forma, use um hífen para especificar um intervalo. Por exemplo, 00 10-17 * * 1-5 executa a tarefa de segunda a sexta-feira (1-5) entre 10h e 17h (10-17).

123

Execute um comando após a reinicialização Use a palavra-chave @reboot para executar uma tarefa sempre que o computador for iniciado.

124

Veja vários arquivos de log simultaneamente Você pode instalar o multitail dos repositórios para exibir vários arquivos. Por exemplo: multitail /var/log/syslog /var/log/boot.log .

125

Reutilize argumentos de uma comando anterior Você pode usar a tecla de dois pontos (:) para reutilizar as opções do um comando anterior, como !!:2 para o segundo argumento do comando anterior.

127

Ctrl+e Envie o cursor para o final do comando.

137

Ctrl+l (lowercase L) Limpe a tela, mas mantenha o que está no prompt atual.

138

Visualize um comando antes de executá-lo 128 Teste suas declarações complexas do Bash adicionando :p no final, como ls -l !tar:3:p . Crie atalhos para comandos Você pode colocar repetidos comandos complexos dentro de um personalizado, com alias . Por exemplo: alias sshbox1=’sudo ssh [email protected]’ . Para tornar os aliases adicione-os ao arquivo ~/.bashrc.

129

Autocorreção de erros de ortografia Você pode usar shopt para corrigir automaticamente erros comuns de digitação no Bash. Primeiro, digite shopt para exibir todos os padrões disponíveis e habilite qualquer um com shopt -s . Pro exemplo, usando shopt -s cdspell irá encontrar a correspondência mais aproximada dos nomes de diretório de erro.

130

Crie arquivos difíceis de excluir Um arquivo com um espaço à esquerda ou à direita no seu nome ou um hífen (-) não pode ser facilmente eliminado da CLI.

Ctrl+k Corte texto a partir do prompt de comando.

139

Ctrl+y Abreviação de "yank". Cole o texto no buffer.

140

Ctrl+Shift+ c/v Copiar e colar texto para no CLI.

141

131

Exclua arquivos difíceis de excluir 132 Depois de criar um arquivo difícil de excluir, aqui estão várias maneiras de se livrar de arquivos que possuam nomes estranhos. Você pode envolver o nome do arquivo entre aspas ou usar hifens duplos, como rm “ exemplo” or rm -- -exemplo . Exclua todos os arquivos exceto alguns Use o operador ! todos os arquivos exceto aqueles que correspondam a um padrão específico. Pro exemplo, rm ~(*.txt) irá remover todos os arquivos no diretório que não terminem com .txt.

133

Performance Obtenha detalhes sobre o hardware 134 O comando dmidecode irá fornecer informações

Listar processos em uma hierarquia Você pode usar ps --forest para representar a hierarquia de processos em ASCII para identificar claramente os processos.

135

Atalhos do Bash Shift+PgUp/ PgDown Navegue no console.

142

Ctrl+r Histórico de comandos de pesquisa.

143

! <eventnumber> Repita um comando a partir do histórico.

144

!! Repita o último comando.

145

detalhadas sobre o hardware do seu computador. Por exemplo, usando dmidecode -t 16 listará detalhes sobre a memória física. Procure a página de manual dmidecode para obter uma lista de tipos DMI suportados.

A ferramenta Snapper do OpenSUSE ajuda-o gerenciar instantâneos do sistema de arquivos “btrfs” da distro.

136

Alt+. (dot) Imprime o último argumento do comando anterior.

146

> Exclua arquivos especificados.

147

Manual do Hacker | 67

|

Administração do Sistema Monitore sistemas remotos 117 Inicie o KSysGuard do KDE e acesse Arquivo > Nova

Encontre vazamentos de memória Para descobrir quais processos são aparas até a RAM, use ps - reclassificar mem que organiza os processos em ordem crescente de consumo de memória com os mais ladrões de memória na porção inferior.

rsync e digitalizar a saída de quaisquer resultados inesperados antes de executá-lo em definitivo.

148

Memoria de um determinado processo Visualize um relatório detalhado de consumo de memória de um determinado processo com pmap -x , que exibe a quantidade de memória anônima residente não compartilhada e bloqueada para cada mapeamento.

Limite de largura de banda Para se certificar de que a operação rsync não suporta toda a largura de banda, restrinja seu uso com a opção --bwlimit option, such as rsync -avhz --bwlimit=50 .

163

|

149

Rastreie a execução de um binário Se você tiver um binário desconhecido, rastreie sua execução com stace para conferir todas as chamadas do sistema, bem como os respectivos sinais emitidos.

150

Rastreie usuários conectados Use o comando w para obter a lista a list logados e respectivos processos. Adicione a opção -f para incluir o nome do host de usuários remotos.

151

Encerre um app gráfico Digite xkill no terminal ou execute a caixa de diálogo que altera o ponteiro dentro do cursor em cruz. Agora, clique em qualquer janela não-responsiva para encerrá-la. Se quiser, clique com o botão direito para rejeitar o xkill sem encerrar o processo.

152

Diminua o uso de swap (arquivo de 153 troca) Se você tiver bastante RAM, otimize o uso do swap editando o arquivo /etc/sysctl.conf e alterando o valor do parâmetro vm.swappiness para 10.

Backup Backup do setor de boot 154 Um backup de setor de boot é útil para quando você acidentalmente excluir o seu MBR. Faça o backup do seu setor de boot com dd if=/dev/sda of=disk.mbr count=1 bs=512 e restaure-o com dd if=disk.mbr of=/dev/sda .

Mageia also includes a Parental Controls for time-based and app-based restrictions.

Backup da tabela de partição Você também deve manter um backup de sua tabela de partição para o caso de acontecer algum problema grave no bit de informação do disco. Use sfdisk -d /dev/sda > disk.sf para fazer backup da tabela e sfdisk / dev/sda < disk.sf para restaurar a tabela de partições.

155

Monitore o progresso de dd Instale a ferramenta Pipe Viewer (pv) a partir do repositório da distro e use-o para monitorar o dd . Por exemplo, pv -tpreb some-distro.iso | sudo dd of=/dev/ sdb bs=4096 .

156

Acelere o backup em máquinas mais lentas Se a largura de banda não for um problema para você, use rsync -W para transferir arquivos inteiros e economizar tempo gasto informando os blocos e bytes alterados.

157

Monitore o progresso de rsync Acrescente a opção --progress ao comando rsync para ficar de olho na transferência de dados.

158

Veja alterações entre origem e destino Use a opção -i para visualizar a lista de itens modificados por meio de uma operação rsync. Por exemplo: rsync -avzi [source] [destination].

159

Use rsync no ssh Para transferir dados rsync por meio do SSH use a opção -e ssh , como rsync -avhze ssh [source] [destination] .

160

Exclua arquivos Rsync também permite ignorar determinados arquivos que você pode especificar com a opção --exclude. Por exemplo, rsync -avhz --exclude ‘*.tmp*’ irá ignorar arquivos com a extensão .tmp.

161

Teste rsync Primeiro, os usuários devem anexar a opção  --dryrun para todas as operações

162

Use o Nethogs para conferir em tempo real a largura de banda consumida por um aplicativo.

68 | Manual do Hacker

Não faça backup de sistema de arquivos externos Tar é uma escolha popular para criar um arquivo do disco. Use a opção --one-file-system com o tar para se certificar de que ele não faça backup de quaisquer partições montadas (/ media) ou partições virtuais (/proc, /sys).

164

Securança & Firewall Localize a porta em que um 165 programa está rodando Use netstat -ap | grep [app-name] para conferir a lista de portas com as quais determinados programas estão se comunicando com elas. Desative a resposta ping Pings podem ser usados para inundar a rede e causar congestionamento nela. Desabilite-os temporariamente por meio do comando echo “1” > /proc/sys/net/ipv4/ icmp_echo_ignore_all . Se preferir fazer isso de forma permanente, edite o arquivo /etc/ sysctl.conf para adicionar net.ipv4.icmp_ echo_ignore_all = 1 .

166

Backup dos iptables Se você perdeu tempo fazendo a personalização do firewall iptables do kernel, certifique-se de fazer backup, usando iptables-save > ~/iptables.backup .

167

Bloqueie domínios específicos Primeiro, você precisa descobrir o endereço IP do domínio, usando host -t a www.example.com . Em seguida, use o endereço IP para obter seu CIDR com whois [IP Address] | grep CIDR . Em seguida, use o CIDR para bloquear o acesso ao domínio, como iptables -A OUTPUT -p tcp -d [CIDR] -j DROP .

168

Altere a senha de qualquer usuário Se você esqueceu a senha de um usuário, poderá definir uma nova por meio do comando sudo passwd [username] .

169

Replique permissões Use a opção --reference para copiar as permissões de um arquivo para outros. Por exemplo, chmod --reference=[copypermission-from-this-file] [apply-on-this-file] .

170

171

Exclua arquivos com segurança Instale e use o utilitário shred para

excluir arquivos, de tal modo que eles não possam ser recuperados. Por exemplo, shred [file] substituirá o bloco do arquivo com dados aleatórios várias vezes. Ative o firewall embutido Algumas distros, como Ubuntu, vêm com uma interface mais simples para firewall iptables, chamado UFW. Ele é desativado por padrão, mas você pode ativá-lo com ufw enable .

172

Rede & Internet Execute comandos remotamente 174 Você pode usar SSH para executar comandos em um máquina remota. Por exemplo: ssh [hostname] [command] . Copie chaves SSH para outra máquina 175 Use ssh-copy-id [remote-host] para copiar de forma segura a chave pública da sua identidade padrão para o host remoto. Mantenha a conexão aberta Se você costuma se desconectar frequentemente de sessões SSH remotas em razão da falta de atividade, você poderá ativar a opção KeepAlive, adicionando a linha ServerAliveInterval 60 no arquivo /etc/ssh/ssh-config.

176

Navegue por meio do SSH 177 Primeiro crie um túnel SSH para um host remoto, usando ssh -f -N -D 1080 user@remotehost . Em seguida, altere as configurações de Proxy do seu navegador da web e defina o host SOCKS para 127.0.0.1, e a porta para 1080. Play music over SSH O comando ssh user@remotehost cat ~/Music/ audio.ogg | mplayer redirecionará a saída do arquivo de mídia remoto para o reprodutor da máquina local.

178

Mount partitions over SSH 179 Use o sshfs para montar partições remotas. Por exemplo, sshfs user@remotehost:/home/bodhi /media/ remotefs para montar um diretório home sob o sistema de arquivos local. Monitore melhor o tráfego de rede Ntop está disponível nos repositórios oficiais da maioria das distros. Com ele, você obtém uma análise detalhada do tráfego da rede por meio de sua interface baseada na web, em execução na porta 3000.

180

|

Permita conexões de entrada 173 UFW nega todas as conexões de entrada por padrão. Para ajustar esta política e permitir conexões para servidores comuns faça ufw allow ssh, sudo ufw allow www, ftp .

Ntop é uma ferramenta versátil que pode ser melhorada com plugins.

Salve múltiplos arquivos Se você salvou links para vários downloads em um arquivo, use cat isos.txt | xargs wget -c para baixá-los todos de uma vez.

183

Shift+m Classifique a RAM por utilização.

192

Limite a taxa de transferência de dados 184 Impeça que o wget acumule toda a largura de banda. Para tanto, imponha limitações. Por exemplo, wget --limit-rate=2m limitará a taxa de transferência para dois megabytes por segundo.

k Encerre uma tarefa a partir do top.

193

Baixe aquivos baseados em uma data de modificação Use curl com a opção -z para baixar somente arquivos que foram modificados após um determinado tempo. Por exemplo, curl -z 29-May-2015 [download-location] .

185

Upload de arquivos Você pode usar curl conectar a um servidor FTP para enviar arquivo. Por exemplo: curl -u [user:pass] -T upload.txt ftp://ftp.example.com .

186

Obtenha definições Curl pode buscar a definição de uma palavra de um servidor de diretório. Liste todas elas com curl dict://dict. org/show:db e, em seguida, consulte uma delas com curl dict://dict.org/d:shell:foldoc que busca a definição da palavra “shell” no dicionário Foldoc. Filtragem simples da web 188 Para evitar que o computador acesse a um site, insira o URL correspondente em /etc/hosts. Por exemplo, 127.0.0.1 www.addictivewebsite.com.

Shift+w Salve permanentemente a configuração modificada.

195

Menos atalhos de comandos / Pesquisa por padrão.

196

Espelhe sites inteiros Use a ferramenta gráfica WebHTTrack disponível nos repositórios oficiais da maioria das distribuições para espelhar sites inteiros e modificar links automaticamente.

189

n Próxima correspondência.

197

Shift+f Exibe o novo conteúdo à medida que ele é anexado ao arquivo.

198

Visualize estatísticas de rede Use netstat -s para visualizar estatísticas de todos os protocolos, ou netstat -st para somente os protocolos TCP. Salve uma página web Use o wget para baixar corretamente uma página da web. Por exemplo, wget -r -np -k http://www.tuxradar.com/ content/dear-edward-snowden irá baixar todas as imagens e alterar os links nos arquivos HTMl e CSS, de moda a apontar para arquivos locais.

Monitore a largura de banda Para monitorar a largura de banda usada por aplicativos de rede individuais, use o nethogs, uma pequena ferramenta de rede, disponível nos repositórios da maioria das distribuições. Em vez de para o tráfego pelo protocolo, ele agrupa a largura de banda por meio do processo.

182

1 Acompanhe todos os núcleos individualmente a partir do topo.

194

187

Regule a largura de banda 190 Você pode usar o Trickle para controlar as velocidades tanto de upload e quando de download. Ele também faz isso para gerenciadores de pacotes, usando trickle -d200 apt-get install .

181

Principais atalhos de comandos

191

v Edite o arquivo com o editor configurado do seu sistema.

199

h Veja a lista completa de atalhos.

200

Manual do Hacker | 69

|

VirtualBox: virtualização

Descubra como a virtualização de um software pode expandir o potencial de processamento de um PC, ajudando a rodar múltiplos sistemas operacionais. Dica rápida Para dar às suas máquinas virtuais mais velocidade, habilite a aceleração VT-x/ AMD-V. Primeiro, visite http://bit. ly/1NFLGX2 para ver se o seu processador tem suporte. Em caso positivo, certifique-se de que o suporte esteja habilitado no BIOS ou UEFI de seu PC – confira o manual de sua placa-mãe para obter mais informações.

A

tualmente, os computadores multi-core são construídos para cumprir múltiplas tarefas simultaneamente, mas qual é o melhor jeito de acessar todo esse poder senão pela virtualização? Virtualização, especialmente aquela de hardware, é o processo de dividir um PC físico (conhecido como “host”) em vários PCs virtuais (ao qual nos referimos como “guest”), cada um sendo capaz de agir de forma independente do resto. Software de virtualização permite ao host explorar sua memória, processador, armazenamento e outros recursos do hardware para compartilhar uma parcela deles com os guests. Se o PC for forte o suficiente, ele poderá rodar múltiplas máquinas virtuais em paralelo, possibilitando dividir uma tarefa entre duas máquinas sem precisar conectar dois ou mais PCs. No entanto, a virtualização não apenas é uma forma de repartir a força de um computador. Você também pode rodar sistemas operacionais alternativos em um ambiente controlado – o seu PC guest pode ser isolado (em teoria) do host, deixando-o mais seguro para experimentar um novo software, ou rodar outra versão Linux, por exemplo. Isso também pode ser usado para questões de compatibilidade – você pode ter migrado do Windows e, mesmo assim, querer uma maquina virtual Windows para rodar programas antigos sem ter de fazer um dual boot. Quanto mais rápido e poderoso for o PC, melhor preparado ele vai estar para rodar máquinas virtuais. Dito isso, se performance não for a finalidade para seus experimentos, é perfeitamente possível rodar uma única máquina virtual usando até mesmo em um PC de baixo custo.

Escolha o VirtualBox Existem várias soluções para virtualização no Linux, mas que outra opção seria melhor para dar um jeito nas coisas (nem que seja só para teste mesmo) que uma solução open-source como o VirtualBox? Embora seja de graça, ele é uma ferramenta poderosa que oferece uma interface gráfica acessível, usada para criar, rodar e gerenciar suas máquinas

O VirtualBox permite que você configure, gerencie e rode múltiplas máquinas virtuais a partir do conforto de seu desktop

70 | Manual do Hacker

O VirtualBox permite que você configure, gerencie e rode múltiplas máquinas virtuais a partir do conforto de seu desktop virtuais, trazendo ferramentas para linhas de comando para aqueles que têm interesse. Uma versão mais antiga do VirtualBox está disponível pelo Ubuntu Software Center, mas aqui vamos usar a versão 5.x, que pode ser adquirida em www.virtualbox.org/wiki/Linux_ Downloads. Há uma variedade de estilos, cada uma voltada para uma distro específica (ou para uma versão de uma distro). Links para versões 32-bit (i386) e 64-bit (AMD64) estão disponíveis para baixar na forma de arquivos Deb. Você também pode seguir as instruções para baixar o repositório apropriado do VirtualBox para a sua lista de fontes. Após fazer a instalação, o jeito mais rápido de começar é rodando o VirtualBox na Dash. Isso vai abrir o Oracle VM VirtualBox Manager, que é onde todas as suas máquinas virtuais estão listadas (e organizadas em grupos). Esse também é o lugar para criar novas VMs (máquinas virtuais, ou virtual machines) do zero, mas antes de começar, selecione File > Preferences para alterar a pasta padrão das máquinas virtuais, caso deseje salvá-las em um lugar, desde que não seja a na sua pasta home. Esse não é um passo importante agora, mas na medida em que os guests consomem gigabytes de espaço, você vai querer dedicar uma unidade (ou bastante espaço livre) para as máquinas virtuais. Se quiser comprar um drive para elas, procure um modelo SSD para melhorar a performance da sua VM.

Crie a sua primeira VM Com a sua pasta em ordem, clique “OK” e então clique no botão “New” para criar sua primeira máquina virtual. O assistente Create Virtual Machine Wizard funciona de dois jeitos: Guided ou Expert. Para esse segundo uma janela oferece três passos para fazer a configuração. Comece escolhendo os dois menus suspensos – o VirtualBox oferece suporte a maioria dos sistemas operacionais, incluindo o BSD, Solaris e o IBM OS/2, além de Windows, OS X e, claro, Linux. A versão altera conforme sua seleção inicial; todas as maiores distros, bem como versões do kernel Linux a partir da versão 2.2 estão disponíveis. É importante escolher o sistema operacional e a versão correta porque isso vai garantir que as configurações nas outras máquinas sejam compatíveis. Você vai notar isso imediatamente quando o ajuste de “Memory size” alterar para acomodar o sistema operacional. O assistente oferece uma sugestão mínima de memória, mas fique à vontade para mexer nisso – os níveis coloridos em verde, alaranjado e vermelho vão ajudá-lo a encontrar uma quantidade de memória que seja satisfatória para o PC host. O número que você escolher é a RAM do host, não a sua memória virtual, de modo que faça questão deixar RAM suficiente para outras

Configuração do Headless Um método para aproveitar o seu PC host ao máximo é rodar a sua VM headless. Isso significa que não é possível interagir com a sua VM usando o PC host; no lugar dele, é você quem faz o acesso por meio de um Remote Display Protocol (RDP). Primeiro, verifique se você tem o VirtualBox Extension Pack instaldo – ele oferece suporte para a implementação do RDP pelo VirtualBox – e então habilite a sua VM pelo Settings > Display > Remote Display, marcando a caixa “Enable Server”. Você vai precisar mudar a porta padrão (3389) se quiser configurar várias VMs desse jeito – escolha portas únicas (entre 5000 e 5050) para cada um. Depois dessa etapa, você pode abrir a sua VM pelo Terminal usando um desses comandos: VBoxHeadless --startvm VBoxManage startvm "VM name" --type headless

Se não quiser fazer assim, segure [Shift] enquanto clica na VM no VirtualBox Manager, assim você monitora o progresso dela pela janela Preview antes de voltar para o seu computador remoto. Quando se trata de acessar o seu VM headless usando um outro computador, o cliente do rdesktop já está instalado na maioria das distros, mas o VirtualBox também vem com o rdesktop-vrdp, que te dá acesso como guest (convidado) a qualquer dispositivo USB plugado no PC. Use esse comando aqui: rdesktop-vrdp -r usb -a 16 -N 192.168.x.y:0000 Troque .x.y pelo endereço de IP do seu computador, e 0000 pelo número da porta que você alocou (o antigo padrão 3389).

tarefas no seu PC (incluindo rodar o próprio VitualBox). A última opção é criar um HD virtual. Isso começa com um único arquivo representando o HD do seu guest, que vai começar a se esvaziar somente quando você começar a trabalhar com snapshots (instantâneos do sistema). Na maioria dos casos, deixe selecionada a opção “Create a virtual hard disk now” e clique em “Create’, momento em que você terá de definir o seu tamanho, local (clique na pastinha para escolher o destino), tipo de arquivo e como o arquivo virtual vai se comportar. Para essas últimas opções, as configurações “VDI” e “Dynamically Allocated” são as melhores – esta segunda garante que o arquivo físico que armazena o conteúdo do seu HD virtual comece pequeno e cresça enquanto recebe dados. Clique em “Create”, e a sua máquina virtual estará pronta para ação.

Ajustando hardware virtual A gente sabe como é tentador usar a sua máquina virtual novinha. Entretanto, mesmo com as configurações básicas de hardware em ordem, vale a pena gastar um tempinho para garantir que ela use todos os recursos que você precisa. É claro que é possível deixar isso para mais tarde, mas a melhor hora para fazer isso é agora. Selecione a sua máquina virtual e clique no botão “Settings”. Vá para a aba “System”, onde você vai encontrar outras três abas: Motherboard, Processor e Acceleration. Você pode configurar a memória da sua VM na aba Motherboard, bem como trocar de chipset, a menos que seu PCI express precise de suporte, o padrão PIIX3 padrão serve na maioria dos casos. O Pointing Device está configurado para “USB Tablet”, mas existe uma opção “PS/2 Mouse” para casos especiais. A seção Extended Features provavelmente está de acordo com o seu sistema operacional, mas se quiser que a sua VM tenha um UEFI no lugar de um BIOS, marque “Enable EFI” aqui. Mas fique atento, porque isso só funciona com Linux e OS X; guests Windows não recebem esse suporte (ainda). Caso tenha uma CPU multi-core instalada, vá até a aba “Processor” para alocar mais do que um núcleo para sua VM, tomando cuidado para não alocar mais núcleos do que o seu processador possui. Você também pode precisar marcar “Enable PAE/NX” se a sua máquina virtual precisar acessarmaisde4GBdeRAMemumPCcomum processador mais antigo, de 32-bit.

Rode a sua VM Headless para poupar recursos os quais você pretende acessar a distância

A aba “Acceleration” permite você mexa nos recursos de virtualização disponíveis no seu processador – Leia a “Dica rápida” para mais detalhes.

Outras configurações importantes Alterne para a guia Display para configurar sua placa de vídeo. Comece alocando a quantidade de memória você julga necessária e, também, marque a caixa “Enable 3D Acceleration” para melhorar a performance de todas as suas VMs. Se sua máquina virtual for Windows, marque a opção 2D também. Vá para a aba “Remote Display” se você quiser acessar sua VM à distância. A aba “Video Capture” deixa você gravar a tela da sua VM em um vídeo – o recurso que falamos lá atrás requer o VirtalBox Extension Pack. A aba “Storage” é onde você configura o armazenamento interno do seu PC virtual – no início, o seu HD virtual está adicionado ao controlador SATA, onde você pode adicionar mais HDs. Você também pode adicionar um drive de DVD comum ao controlador IDE. Selecione-o e clique no botão do pequeno ícone de disco ao lado de Optical Drive para selecionar um drive físico ou montar uma imagem de disco ISO como sendo o seu drive virtual. Marque a opção “Passthrought” se você quiser queimar discos, tocar CDs ou assistir a DVDs criptografados. As opções nas abas “Audio Ports” e “Serial Ports” são bastante fáceis de usar, mas se quiser tornar a sua VM visível na rede local para compartilhar arquivos e outros recursos, selecione “Network” e mude a configuração NAT para

Dica rápida Use a nova ferramenta de grupos do VirtualBox Manager para organizar suas VMs em categorias: clique com o botão direito na primeira VM da lista e selecione “Group”. Clique com o botão direito do mouse de novo no título e selecione “Rename”. Agora, crie novas máquinas diretamente nesse grupo ou arraste novos guests para integrá-los ao grupo.

A habilidade criar snapshots das suas máquinas virtuais fazem delas ótimas cobaias

Manual do Hacker | 71

“BridgedAdapter”.Outrasconfiguraçõestambémpodemser acessadas daqui – o “NAT Network” permite criar uma rede de VMs que pode interagir uma com a outra, permanecendo invisível para o host. Redes Nat podem ser configuradas separadamente, no menu File > Preferences no VirtualBox (sob Network).

|

Lidando com periféricos USB

Dica rápida É possível levar suas máquinas virtuais para diferentes PCs – selecione File > Export Appliance para criar um repositório no formato OVF (Open Virtualization Format), usando a extensão OVA para carregar tudo em um único arquivo. Fique ligado: isso não inclui snapshots e altera bastante o HD virtual do formato VDI para o formato VMDK.

Na aba USB, você pode separar dispositivos USB específicos para funcionarem com a sua VM. Porém, antes de ligar esse recurso, você precisa inserir o seu nome de usuário no grupo vboxusers no seu PC host por meio do seguinte comando no Terminal: sudo usermod -a -G vboxusers <username> Ao completar essa etapa, os seus dispositivos USB ficarão visíveis para os guests no VirtualBox. Lembre-se de que, inicialmente, o VirtualBox suporta apenas a implementação do antigo USB 1.1, mas você pode instalar o VirtualBox Extension Pack para aumentar o suporte para USB 2.0 e USB 3.0 entre outras adições (incluindo funções de webcam PCI e host). Baixe esse Extension Pack em www. virtualbox.org e fique de olho nas restrições da licença: diferentemente do VirtualBox, ele não é open-source e é somente para uso pessoal. Você pode conectar dispositivos USB com facilidade no seu guest ativo – clique o botão USB na janela da máquina guest e escolha um periférico da lista -, porém ao adicionar filtros para dispositivos USB específicos, há a possibilidade de detectá-los automaticamente ao dar boot na VM. Um exemplo de situação onde podemos aplicar isso é ao configurar uma VM como um servidor de TV headless – isso permite a VM controlar o seu USB TV assim que ele ligar. Tratamos da aba “Shared Folders” no box “Compartilhando dados” abaixo, enquanto a aba “User Interface” permite que você especifique no menu quais opções estarão dispo- níveis para o guest.

Seu primeiro boot Agora que o hardware da sua VM está configurado, você estará pronto para começar. Direcione o seu drive de CD/ DVD para o arquivo ISO (ou um disco físico) que contém o instalador do sistema operacional que você deseja emular, e então dê a partida na sua VM e siga as instruções nas telas seguintes. Quando estiver rodando, sua máquina virtual vai agir de maneira similar a um PC comum – clique na janela principal para usar o seu mouse e teclado na VM. Para liberá-los da VM, pressione a tecla Ctrl que fica do lado direito do teclado. Ao instalar o sistema operacional na máquina guest, você pode instalar o Guest Additions – uma série de drivers e apps que melhoram a performance da VM. Adições importantes incluem um driver de vídeo que oferece suporte para mais resoluções e aceleração de hardware, integração com o ponteiro do mouse, que facilita a navegação entre o host e a VM, bem como o suporte para pastas compartilhadas. Instalar esses guests de Windows é bem simples, basta selecionar Devices > Insert Guest Additions CD Image. Depois de alguns instantes, o menu de instalação deve aparecer. As coisas são um pouco mais complicadas para os guests Linux. Depois de seguir os pré-requisitos, abra o gerenciador de arquivos e navegue até a raiz do CD Guest Additions e, em seguida, clique com o botão direito do mouse na janela e selecione “Open in Terminal” (Abrir no Terminal). Quando a janela do Terminal abrir, use os comandos a seguir para instalar as adições: sudo sh ./VBoxLinuxAdditions.run Após reiniciar, você deve conseguir ajustar o tamanho da janela da sua VM para a resolução de tela apropriada, clicando e arrastando sobre ela – abra o painel “Display” no seu guest enquanto estiver fazendo isso para conferir as dimensões que você está escolhendo.

Compartilhando dados Levar dados de e para sua VM é muito importante para a virtualização, e o VirtualBox simplifica muito o processo. O jeito mais óbvio é criar uma rede interligada, como explicamos, e compartilhar pastas as quais você pode usar para transferir dados pela rede, mas existem outras ferramentas de compartilhamento para testar. O recurso Shared Folders funciona melhor com guests que não desejam ficar expostos à rede e também permite que você disponibilize pastas pelo host, mas sem compartilhá-las pela rede. Abra as configurações da sua VM e vá até a aba Shared Folders e especifique uma pasta no seu PC host para disponibilizar para o guest: clique no sinal de mais (+), selecione a pasta que você deseja compartilhar e renomeie-a se quiser. Você também pode limitar o conteúdo das pastas para somente leitura para guest e, por último, mas não menos importante, selecione “Make Permanent” para que a pasta persista para as sessões seguintes da VM. Abra o menu “Devices” e descubra outras duas formas de compartilhar: o Shared Clipboard permite você compartilhar o conteúdo da área de transferência entre o host e o guest (essa pode ser uma conexão de duas mãos, ou de mão única). Você pode, até, implementar o recurso de “arrastar-e-soltar”, que é um jeito ágil de compartilhar arquivos entre o host e o guest, arrastando arquivos para dentro e para fora da janela do guest.

72 | Manual do Hacker

Deixe a vida (e o compartilhamento de arquivos) mais fácil: você pode configurar o VirtualBox para transferir arquivos rapidamente para dentro e para fora do seu guest usando o recurso arrastar e soltar

Tire um instantâneo (snapshot)

Uso do Terminal A Interface do VirtualBox pode ser uma maneira conveniente de começar a virtualização, mas depois que você pode aprender a usar as ferramentas e linhas de comando, você poderá tirar melhor proveito disso em suas VM. Você pode até driblar o VirtualBox Manager se estiver disposto a aprender sobre a longa lista de subcomandos para a ferramenta VboxManage, como o createvm e o startvm. Mesmo se você já esteja satisfeito com o uso da interface por meio do mouse, vale a pena experimentar uma porção de ferramentas. A primeira é a VBoxSDL – se quiser ligar a sua VM em um ambiente livre de distrações (sem nenhum dos controles oferecidos pela janela da VM), essa a ferramenta para você. Digite a linha abaixo para ativá-la:

|

A sua VM deve funcionar como se fosse uma máquina física, só que com uma grande vantagem: os snapshots. Os snapshots permitem que você crie backups (instantâneos) com apenas um clique de um ponto específico no tempo em sua VM. Assim, você pode seguir tranquilamente, sabendo que é possível desfazer quaisquer mudanças desde o último snapshot. Podemos criar um snapshots (mesmo quando a VM estiver desligada), só é preciso selecionar Machine > Take Snapshot. Dê um nome apropriado para a sua snapshot e adicione uma descrição, se quiser. Depois é só clicar em “OK’. Quando você criar um snapshot, o VirtualBox inicia as alterações de gravação no disco, mas em um outra pasta. Se você excluir um snapshot, aquelas mudanças serão mescladas de volta para o arquivo original, ao passo que se você reverter para um snapshot anterior (ou a imagem base), as alterações do snapshot são perdidas, a menos que você crie um snapshot adicional. VMs suportam vários snapshots, e você pode até mesmo mover entre eles, criando vários ambientes para um único guest.

VBoxSDL --startvm Substitua pelo nome da suaVM(oupelo UUID, se preferir). Assim que estiver rodando, você não só terá o acesso aos comandos do menu na janela da VM, mas também alguns atalhos úteis que você pode ativar pressionando o botão do host (o Ctrl da direita): [f] ativa e desativa a tela cheia, [n] cria um snapshot. Pressione [h] para acionar o botão de força ACPI, [p] para pausar/ retornar a sessão, [q] para desligar e [r] para reiniciar. Finalmente, pressione [Del] em conjunto com o botão do host e você vai enviar um [Ctrl]+[Alt]+[Del] na máquina guest. Alternativamente, desligue a sua VM usando a ferramenta VBoxManage – é só digitar o seguinte comando para acionar botão de força ACPI, por exemplo: VBoxManage controlvm "VM name" acpipowerbutton Uma outra linha de comando é o VBoxHeadless, que permite rodar uma VM headless. Para executar isso, de modo a permitir que você acesse-a remotamente, leia o box “Configuração do Headless”. Independentemente de usar o VirtualBox por linha de comando ou pela GUI, você vai descobrir diversos recursos úteis para desfrutar das possibilidades e do poder da virtualização. Q

Remova toda a parafernália do desktop e aproveite o seu guest livre de interferência usando o VBoxSDL

Aumente o tamanho do seu drive da sua VM

1

Consolide snapshots

Se a sua VM contém snapshots, o processo de redimensionar afeta somente a imagem base. Para resolver isso, clique com o botão direito na VM e selecione “Settings”. Depois, acrescente -old no final do nome. Clique OK, clique com o botão direito na VM de novo e, dessa vez, selecione “Clone”. Pressione “Expert Mode” e dê um novo nome. Certifique- se de selecionar “Full Clone”e “Current machine state” antes de clicar em “Clone”.

Redimensione o drive virtual 2

Feche o VirtualBox, abra o Terminal e navegue pela pasta que contém o seu arquivo VDI. Em seguida, digite a linha de comando abaixo, substituindo o drivername. vdi com o nome do seu próprio arquivo VDI:

VBoxManage modifyhd "drivename.vdi" --resize 10000

Os dígitos representam MB – então 10.000 podem ser 10.000 MB ou 10 GB.

3

Partição estendida

O drive foi redimensionado, mas agora precisa ser particionado. Ligue a sua VM com um ISO do Gparted Live CD conectado e use-o para mover partições para usar o espaço extra. Você precise redimensionar a partição estendida primeiro, então mova o volume swap até o final, antes de redimensionar a partição da esquerda para disponibilizar espaço.

Manual do Hacker | 73

74 | Manual do Hacker

Programação - Habilidade em programação é a marca do hacker completo

Programação 76

Linguagem de script

77

Curva de aprendizagem

77

Versão e compatibilidade

78

Scripts web nativos

78

Suporte da comunidade

79

Programabilidade

80

Estendendo a linguagem

80

Segurança na rede

81

O veredicto

Manual do Hacker | 75

|

Habilidade em programação é a marca do hacker completo

Linguagem de script |

Vamos além do Bash para conferir quais linguagens de script atendem às necessidades e desejos de um administrador de sistema Linux.

Como testamos... As comparações, dizem, são ingratas. Isso faz sentido principalmente quando se trata de linguagens de programação, em que personalidade e suporte local são, pelo menos, de igual importância para critérios como velocidade e nível de suporte para diferentes paradigmas. Diante disso, estamos apresentando aqui uma mistura de fatos, opiniões coletivas e nossas próprias opiniões, que servirão como base para uma investigação mais aprofundada. A chave para a utilidade de uma linguagem de script para o sysadmin não reside somente na forma como resolve problemas com facilidade, mas em quantas dessas soluções já foram escritas e estão disponíveis para download e, de preferência, bem documentadas. Tentamos trabalhar em toda a gama de versões instaladas em uma rede típica, mas insistimos em Python 3. Além disso, tentamos simular um contexto de trabalho no qual você provavelmente encontrará em sua rede.

T

odo administrador adora atalhos para economizar tempo, e tem consigo uma porção de scripts na manga para usar quando precisar, e a quantidade cresce ainda mais. A pergunta que qualquer novo administrador faz é: “qual é a melhor linguagem para aprender?” Veteranos de guerra em linguagens devem saber que a resposta não é simples ou definitiva, mas consideramos que vale a pena fazer algumas comparações entre as opções mais úteis, para tornar a sua vida Linux mais fácil. A maioria das linguagens de script existe há mais tempo do que você pensa. Por exemplo, o NewLISP foi iniciado na estação de trabalho Sun-4,

76 | Manual do Hacker

“A pergunta que qualquer novo administrador faz é: qual é a melhor linguagem para aprender?” em 1991. As linguagens foram emprestadas umas das outras, e em outros lugares, de modo a acumular um grande legado de bibliotecas obsoletas e soluções alternativas. As Regular Expressions, do Perl, por exemplo, são encontradas agora em todos os lugares e, em alguns casos, melhor implementados em outros lugares. Então o que é mais importante? A rapidez com que o script é executado, ou quão rápido você pode escrevê-lo?

Na maioria dos casos, o último. Uma vez instalado e em funcionamento, é necessário suporte tanto de bibliotecas como de módulos para estender a linguagem para todas as áreas do seu trabalho e de uma comunidade suficientemente grande para dar suporte à linguagem, bem como ajudálo a acompanhar as tendências e até mesmo inová-la. Então, qual será a linguagem de script que você deve aprender para melhorar sua vida Linux neste ano?

Curva de aprendizagem Recursos online, livros e pessoas bem intencionadas

A

começamos executando um exercício do clássico “Running Linux”, um livro de administração da O’Reilly, e então passamos para o livro Perl One-Liners, de Peteris Krumins. Aqueles que não gostam de estudar por meio de livro, recomendamos http://perlmonks. org, uma fonte de sabedoria comunitária cumulativa. Esforços recentes para fazer com que os jovens aprendam com o Code Club (Clube do Código) (www. codingclub.co.uk) e o resto de nós por meio do evento PyCon e dados abertos do hackdays mostraram que o Python pode ser fácil para qualquer pessoa. Mas em razão de informações duvidosas há por aí, como as muitas maneiras de executar subprocessos que persistem por razões de compatibilidade, significa que a leitura cuidadosa é necessária, e esta é outra boa razão para começar com Python 3, não com Python 2. Acesse www. python.org/about/gettingstarted para obter uma lista enorme de guias e recursos gratuitos. O Ruby é bom para iniciantes e, antes do Rails, os aplicativos de linha de comando eram o que havia de melhor. O livro de David B. Copeland,

De MOOCs a bibliotecas, os recursos de aprendizagem do Python estão em toda parte

“Build Awesome Command Line Applications in Ruby” (em inglês) poupará horas de navegação em busca de documentação online, mas também fomos capazes de iniciar nossos scripts de teste com alguns tutoriais na web. Por último, chegamos ao NewLISP: um desafio para programadores treinados somente em linguagens da família não-LISP, mas você ficará surpreso com o que consegue realizar com apenas listas, funções e símbolos. Nós mergulhamos diretamente na página de códigos snippets, em http:// newlisp.org, adaptando-nos para construir nosso script de backup – e fomos recompensados com código conciso e poderoso, que era mais fácil de ler do que seu equivalente compacto Perl.

Veredicto Bash

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ Python e Ruby são mais fáceis de aprender, em razão da boa documentação e usuários úteis.

Versão e compatibilidade Bash, Ruby, Python, Perl ou newLISP?

A

questão aqui é: eu tenho a versão certa? Vamos começar com o Bash. Todas as distribuições modernas do Linux vêm com uma versão que executará seus scripts e de qualquer outro. Bash 4, com seus arrays associativos, coproc (dois processos paralelos de comunicação) e correspondência recursiva por meio do globbing

(usando ** para expandir os nomes de arquivos) apareceu seis anos atrás. Bash 4.2 (lançado há quatro anos) acrescentou pouco. No Bash 4.3 mudanças também foram leves. Perl ainda está incluso no núcleo da maioria das distros. A versão mais recente é a 5.24.0, mas muitas distros estáveis ainda contam com a versão 5.18. Mas isso não importa, pois você

Como o shell do Unix remonta décadas, você verá que versões recentes do Bash contêm algumas alterações de sintaxe inesperadas.

está perdendo somente pequenas melhorias, e quase todos os scripts que você rodaram perfeitamente. A mudança de Python 2 para 3 ainda dá trabalho para os novatos. Execute o Python 3, se puder, e verifique a documentação para aprender mais. O Python 3.3 é a nossa base para as instalações do Python 3 – o Python 3.4 não adicionou novos recursos de sintaxe. Alterações na versão do Ruby causaram problemas, mas surgiram soluções indolores. O rvm (Ruby Version Manager) permite que você execute várias versões do Ruby, e o pacote mantém o controle dos gems (bibliotecas) de que você precisa para cada script. A estabilidade do NewLISP e a ausência de scripts de terceiros é uma vantagem aqui. No entanto, não podemos garantir que cada script seja executado nas versões mais recentes.

Veredicto Bash

+++++ newLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ A solução do Ruby é boa, mas a falta de problemas no Bash proporcionou um resultado melhor.

Manual do Hacker | 77

|

s perguntas-chave são: qual a linguagem é a mais fácil de aprender? Os recursos de aprendizagem são pelo menos satisfatórios? Mesmo que essas duas perguntas sejam respondidas, elas ainda precisam ter suporte de uma comunidade para ajudá-lo a produzir rapidamente algo útil e ajudar a preservar esse seu entusiasmo inicial, porque, inevitavelmente, você irá se deparar com alguns problemas. Para produzir um script de backup e scripts de teste em cada uma das linguagens, começamos a navegar pelo Stack Overflow. Porém, o download aleatório de códigos nos mostrou que não há consistência entre scripts Posix (shell Bourne puro), Bash e código legado, que ocasionalmente falha. Felizmente, o ShellCheck (www.shellcheck.net) é uma ótima ferramenta para verificar a correção de scripts e, uma vez que os corrige, ensina as melhores práticas ao usuário. O Linux Document Project, um guia avançado de script do Bash (www.tldp.org/LDP/ abs/html) também é excelente e o ajudará a ganhar confiança rapidamente. A documentação on-line e embutida do Perl é lendária, mas nós

Scripts web nativos Obtenha seus scripts de administração passando por HTTP.

G

rande parte dos administradores migrou para a web, então você precisará de uma linguagem de script que tenha mantido o ritmo. Examinamos a facilidade de programar nosso próprio código e encontrar soluções disponíveis para fazer qualquer coisa, desde interfaces web a esta-

|

Bash

tísticas do sistema. O que é notável sobre estas linguagens é a diferença na expressividade e estilo para produzir resultados semelhantes. No entanto, isso é, mais uma vez, secundário em relação à preferência pessoal e suporte local para muitos administradores. Ruby é rápido e agradável; Python “parece

bom”, provavelmente porque é mais entendível; NewLISP é surpreendentemente poderoso. Mas essas observações podem parecer clichês partidários se não houver um suporte de ambiente de manutenção para usar e desenvolver o código para suas próprias redes.

+++++

Embora o Bash não seja a sua primeira escolha de uma linguagem de programação web, é bom saber que, quando o servidor não tiver a opção que você gostaria, será possível recorrer a ela graças ao bashlib. Este é um script de shell que torna a programação CGI no shell Bash um pouco mais tolerável. Seu script será cheio de declarações, intercaladas com seus comandos para produzir a saída desejada. Em razão da segurança, não recomendamos a execução deste na internet aberta, mas vale a pena ter em mente que Bash funciona muito bem como uma linguagem de prototipagem (programação orientada a objeto). É fácil preencher um arquivo de texto com comentários descrevendo a estrutura ampla que você deseja e, em seguida, completar as lacunas – testando snippets interativamente e colando no site www.shellcheck.net para verificar seu código conforme você o escreve.

newLISP

+++++

O Code Patterns, de NewLISP, do criador Lutz Mueller, está disponível no site www.newlisp.org e tem capítulos sobre HTTPD e CGI, bem como comunicações TCP/IP e UDP. Ao adicionar na seção de controle de aplicativos, você terá tudo para começar. A rede integrada do newLISP e a sintaxe simples tornam surpreendentemente fácil gerar páginas HTML de resultados, por exemplo, de seus scripts de monitoramento. Para uma estrutura de rede integrada, o newLISP no Rockets – que usa Bootstrap, jQuery e SQLite – combina o desenvolvimento rápido de aplicativos com bom desempenho. NewLISP no Rockets fornece várias funções, de convert-json-to-list via twitter-search a display-post-box, que irá ajudá-lo a adicionar funcionalidades web. Nós estamos impressionados, mas continuamos preocupados com a pequena comunidade e o ritmo de desenvolvimento pouco regular.

Suporte da comunidade

Há uma grande comunidade suficiente para apoiar o trabalho.

D

evOps, implantação em nuvem, desenvolvimento orientado a testes e integração contínua – as demandas de um administrador de sistemas mudam e evoluem, mas você precisará aprender Bash e mais um outro. Perl era o tradicional Swiss Army dos administradores Unix durante os anos 1980 e 1990, que perdeu terreno gradualmente para Python e Ruby na última década. Qualquer pessoa que tenha começado a trabalhar nos anos 1990 ou antes disso estará confortável com ele, de modo que encontrar alguém para ajudar com seus scripts muitas vezes não será um problema.

78 | Manual do Hacker

No entanto, as coisas evoluem, e muitas empresas de tecnologia estão padronizadas em Python – esta é, por exemplo, uma linguagem usada extensivamente no Google. Grande parte do software necessário para o trabalho de administradores dos sistemas modernos é baseada em Python, mas o mesmo pode ser dito também do Ruby. Ruby é a base de Chef e Puppet, bem como Vagrant e Travis CI, o que significa que um pouco de familiaridade será útil em qualquer lugar que os utiliza. As estruturas de web e ferramentas de teste escritas em Ruby têm popularizado a linguagem em

muitas das empresas web mais jovens. As estruturas de web e ferramentas de teste escritas em Ruby têm popularizado a linguagem em muitas das empresas web mais jovens. NewLISP tem um apoio menor da comunidade, e não há muitas soluções prontas. Além disso, talvez você nem encontre alguém que a utilize. A vontade da comunidade online vai de alguma forma melhorar esta deficiência, mas você tem que perguntar quem vai manter suas ferramentas quando você deixar a empresa para qual desenvolveu o projeto nesta linguagem?

Veredicto Bash

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ Ruby teve um bom posicionamento, graças a alguns grandes softwares DevOps.

Perl 5

+++++

Python

|

Perl foi a primeira linguagem de script web CGI e tem mais ou menos acompanhado a evolução. Ela possui as bibliotecas e muitos exemplos a partir dos quais é possível aprender, mas você terá que escolher com cuidado entre as soluções disponíveis. Catalyst, Dancer e Mojolicious são bons frameworks de aplicação web. É mais provável que você encontre tudo o que precisa no CPAN. Você pode colar algumas das bibliotecas – muitas das quais já são coletadas diretamente em sua distro – para lidar com um pipeline de tarefas, como recuperar dados XML, convertê-los arquivos PDF e indexá-los em uma página da web. A interface CGI tradicional do Perl ainda está disponível, e apesar das alternativas de melhor desempenho captadas através do PSGI, que você pode encontrar com use CGI; isso é tudo o que você precisa para ativar seu script web. Lembre-se: há sempre mais de uma maneira de fazer isso.

+++++

O Web Server Gateway Interface (WSGI), do Python, originalmente especificada na PEP 333, abstrai a interface do servidor web enquanto as bibliotecas WSGI lidam com o gerenciamento de sessões, autenticação e praticamente qualquer outro tipo de problema que você queira abordar pelo middleware. O Python também tem muitas pilhas de frameworks web, como Django, TurboGears e Pylons. Como Rails, para algumas finalidades talvez seja melhor codificar funcionalidade web em um script existente. Mas os modelos de engines do Python irá poupá-lo de gerar confusão de HTML e Python. O Python tem muitas outras vantagens, desde a nuvem do Google App Engine, com seu próprio interpretador Python, que funciona com qualquer framework de aplicativos web compatível com WSGI, até testar aplicativos escaláveis para suportar um estilo limpo de metaprogramação.

Ruby

+++++

Não pense que Rails seja uma solução milagrosa para a maioria dos problemas de administração de sistemas. Não é. E, embora o software Sinatra torne mais fácil a implantação de qualquer coisa em Ruby baseada na web, mesmo isso é um exagero para a maioria dos propósitos. Dito isso, Rails faz um bom trabalho quanto a obter o código rapidamente. Ruby é ideal para conseguir qualquer script habilitado para web, graças aos gems (bibliotecas) que são escritos por pessoas inteligentes que tomaram decisões sensatas. Colocar uma interface da web em nosso script de backup foi divertido, mas nos distraímos com as várias gems, por exemplo, para exportar relatórios de planilhas do Google. Há também ferramentas como nanoc, que geram HTML estático a partir da HAML (HTML Abstraction Markup Language). Algumas das gems de relatório complementam a expressividade da linguagem e tornam fácil a adição de qualquer funcionalidade aos scripts.

Programabilidade

Gerenciar grandes scripts exige outros paradigmas de programação

A

ntes de chegar a 1.000 linhas de código, os scripts Bash tornam-se incontroláveis. Apesar de sua natureza processual, há tentativas de fazer um Bash orientado a objeto. Nós não recomendamos isso, pois pensamos que ele é melhor no conceito de modularidade. A “programação funcional” (functional programming ou FP) no Bash (http:// bit.ly/BashFunsh) também é impraticável. Perl está preso ao conceito orientado a objeto e não será para todos os gostos, mas dá conta do trabalho. Perl tem closures (função declarada dentro do corpo de outra)

totalmente funcionais e, apesar de problemas de sintaxe, pode ser sustentado dentro de FP – só não espere que isso seja agradável. Para isso você deve esperar por Perl 6. Python se sai bem também com “programação imperativa”, orientada a objeto e também gerencia FP. As funções são objetos de primeira classe, mas outras características estão faltando, ainda que suas listas sejam muito boas. Mochi, a linguagem de programação funcional (http://bit.ly/FPMochi) usa um interpretador escrito em Python 3. Ruby é projetado como uma linguagem pura orientada a objetos, e

é talvez a melhor desde Smalltalk. Também pode ser motivado a apoiar um estilo funcional de programação. Mas para obter o código FP fora do Ruby, você terá que ir tão longe das boas práticas que deverá usar outra linguagem para tanto. Isso nos traz perfeitamente para o NewLISP, uma linguagem elegante e poderosa com todas as funcionalidades ao seu alcance. NewLISP usa uma implementação pseudo orientada a objetos, isto é, na forma de programação orientada a objetos funcionais, mas isso não significa, no entanto, que ele possa ser suficiente para uma programação real orientada a objeto.

Veredicto Bash

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

++++ Python é uma linguagem multiparadigma e a mais fácil de manter.

Manual do Hacker | 79

Estendendo a linguagem Bibliotecas e módulos em funcionamento

N

tipo “há mais de uma maneira de fazer as coisas” pode deixá-lo facilmente sobrecarregado. Menos óbvio é a magnitude das extensões de Bash criadas para resolver problemas que talvez não sejam mais adequados para qualquer implementação de sh. O Python tem excelente suporte de bibliotecas, com opções rivais olhadas com muito cuidado pela comunidade antes de serem incluídas no núcleo da linguagem. A preocupação de “fazer a coisa certa” é evidente em cada

|

enhuma dessas linguagens de script é tão inchada com classes como a Java, de modo que você precisa usar bibliotecas nãocore (ou módulos como às vezes são chamadas) para escrever muitos scripts. O quão abrangentes elas são, e o quão são fáceis de gerenciar com os seus script varia muito. Com a quantidade de opções encontradas no CPAN (Comprehensive Perl Archive Network), Perl continua a impressionar, mas a sua abordagem do

decisão, mas soluções alternativas permanecem fácil ao alcance. Pelo menos a adoção completa dos gerenciadores de pacotes pip, com Python 3.4, garantiu a paridade com o Ruby. Os RubyGems fornecem o formato de distribuição gem para bibliotecas e programas Ruby, e o Bundler gerencia todas as gems para dependências e versões corretas. Seu único problema será encontrar o melhor guia pela proliferação de bibliotecas do Ruby. Leia com atenção. NewLisp não é uma grande linguagem, mas é expressiva. Ela faz muito sem a necessidade de addons. Ela tem módulos e bibliotecas para necessidades chave, tais como banco de dados e conectividade web. Há o suficiente para tornar a NewLISP uma linguagem útil para o administrador, mas não em comparação com as outras quatro opções.

Há mais de uma biblioteca para isso - CPAN é um recurso útil para o Perl.

Veredicto Bash

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ A Longevidade e a popularidade do CPAN casam bem com boa organização.

Segurança na rede

Testar e proteger a rede – ou consertá-la depois de um ataque

O

s testes de intrusões (ou de penetração) e até mesmo o de análise forense após um ataque é de competência do sistema de administração em organizações menores. Existem ferramentas prontas disponíveis as quais podem ser utilizadas dentro de script shell para diferentes situações, mas escrever pacotes de sniffers ou ferramentas para uma análise forense de seu sistema de arquivos no Bash não é uma opção séria. Perl perdeu uma fatia da comunidade de segurança desde os primeiros dias do projeto Metasploit, mas as ferramentas ainda estão lá, e são mantidas na ativa por um grande grupo de usuários que não estão interessados em mudar para outra linguagem. O Perl tem ferramentas como o pWeb – uma coleção de ferramentas para segurança de aplicativos web e testes de vulnerabilidade – que está incluído em distros, como Kali e Backbox.

80 | Manual do Hacker

Ferramentas como o Wireshark são assistentes poderosos para inspeção de pacotes, mas, às vezes, você precisará fazê-los funcionar com o seu próprio sniffer. Python não só tem Scapy, a biblioteca de manipulação de pacotes, mas fornece uma biblioteca de soquetes para você facilmente ler e escrever pacotes diretamente. Os blocos de Ruby (usados para escrever funções on-the-fly sem precisar nomeá-las) e outros recursos são ótimos para criar códigos de rede assíncrona, e sua rápida prototipagem está em pé de igualdade com o Python. Mas o maior benefício do Ruby é o Metasploit, que é o software de teste de penetração mais utilizado. Em termos de ferramentas rolled (em constante desenvolvimento), você pode misturá-las e combiná-las conforme necessário, mas Perl, Python e Ruby fornecem tudo o que você precisa para varrer rapidamente uma rede um busca de vulnerabilidades. Por último, o NewLISP não é bem

Veredicto Bash NewLISP tem recursos impressionantes de rede, mesmo não tendo as ferramentas de teste de penetração dos outras.

conhecido entre os testadores de penetração e grey hat hackers, mas graças ao processos de comunicação em rede incorporados na linguagem, uma chamada de função e alguns argumentos criarão pacotes brutos para teste de penetração. Mais uma vez, NewLISP tem um potencial evidente, mas sofre com a sua base de usuários relativamente pequena.

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ Python sai à frente de Ruby e Perl, mas os três são amigos do pen tester (testador de intrusões).

Linguagens de script

O veredicto A

1a

Ruby

de modo que você precisará estar preparado para apoiar e manter o código você mesmo. O Python é uma poderosa linguagem com suporte a vários paradigmas. A comunidade Python é grande e amigável, e dá suporte a tudo, desde sprints de educação (reunião de pessoas em um projeto) até treinamento com professores. Ele também apoia os esforços da comunidade, apoiando a jovens aprendizes nos Clubes de Código (Code Clubs) e a muitos outros eventos. A comunidade de administradores de sistemas oferece exemplos de hacks rápidos que faz muitos desafios de programação se tornarem triviais, com muito menos dor de cabeça. Rails trouxe mais atenção para Ruby, mas Chef, Puppet e Vagrant ajudam o administrador com o que pode ser feito com a expressiva e eloquente linguagem de script que foi desenvolvida por Yukihiro Matsumoto.

3a

+++++

Poderoso, expressivo e muito rápido de aprender.

Python

Será que Ruby vence Python? Bash deve ser ignorado? Não para o administrador: porque ele precisa de um bom conhecimento de Bash para acompanhar o que está acontecendo com o sistema. E, além do Bash, todos os administradores de sistemas devem conhecer um pouco de Perl, Python e Ruby, mas ter um conhecimento aprofundado da linguagem que preferirem.

“Além do Bash, cada administrador do Linux deve conhecer Perl, Python e Ruby.”

Web: www.ruby-lang.org Licença: GPLv2 or 2-clause Versão: 2.2.0

2a

Não podemos deixar de reconhecer o poder e os encantos de Ruby

+++++

Web: perl.org Licença: GPL or Artistic License Versão: 5.20 Ainda um grande amigo para o administrador de sistemas.

4a

+++++

Web: www.python.org Licença: PSFL Versão: 3.4.2

Bash

newLISP

+++++

Web: www.newlisp.org Licença: GPL Versão: 10.6.1

Multi-paradigma, encoraja as boas práticas e a grande comunidade.

5a

Perl 5

Tão poderoso que precisa ser mais utilizado.

+++++

Web: www.gnu.org/software/bash Licença: GPLv3+ Versão: 4.3.30 Não faz tudo, mas ainda é essencial.

Considere também... Enquanto Bash peca em algumas áreas, scripts de shell tradicionais também podem ser representados por Zsh, que tem algumas diferenças pequenas, mas úteis, como um melhor acesso a variáveis posicionais e a capacidade de estender o shell por meio de funções widget. No entanto, não é um rival para nossas outras escolhas, e nem é PHP, apesar de seu uso em scripts de comando por alguns devotos da linguagem. Em vez disso,

nossa alternativa é Rebol (Relative Expression Based Object Language), cujo salto para a liberdade de software há dois anos pode ter chegado tarde demais para garantir a sua popularidade. No entanto, Rebol tem um design e sintaxe elegantes, e um útil console REPL (Read-Eval-Print Loop). Nota do tradutor: REPL é um ambiente de programação interativo, que recebe, avalia e retorna as entradas do usuário.

Os dialetos (pequenas e eficientes linguagens de domínio) do Rebol equipa-o para praticamente qualquer coisa. É particularmente bom para lidar com o intercâmbio e a interpretação de informações entre sistemas de computadores distribuídos, mas também scripts de shell concisos e poderosos. Se você estiver procurando por uma nova linguagem, experimente-a.

Manual do Hacker | 81

|

dmitimos que é difícil obter o veredicto de um contexto prático e apenas declarar a melhor linguagem. Por exemplo, o Bash não é uma linguagem forte, e muitas partes que economizam tempo podem ser combinadas melhor com as outras quatro linguagens, mas ninguém que precise executar tarefas na linha de comando do Linux deve evitar aprender alguns scripts Bash. Perl é a próxima escolha, pois está intimamente associado à linha de comando *nix e ainda é encontrada em todos os lugares. Pode perder em comparação com novas linguagens, mas a Perl continua oferecendo não somente a Swiss Chainser do Linux CLI, mas a Perl também tem uma enorme comunidade muito solidária. NewLISP é uma agradável surpresa (Lisp se refere a listas). Mas é uma linguagem compacta para o espaço incorporado, bem como a linha de comando. Infelizmente, o tamanho da comunidade não corresponde ao poder da linguagem,

CIP-BRASIL. CATALOGAÇÃO NA PUBLICAÇÃO SINDICATO NACIONAL DOS EDITORES DE LIVROS, RJ M246 O MANUAL DO HACKER ESPECIAL. -- 1. ED. -- BARUERI, SP : ON LINE, 2017. IL. ISBN: 978-85-432-1891-5 1. HACKER. 2. COMPUTADORES - MEDIDAS DE SEGURANÇA. 3. MANUAIS, GUIAS, ETC. 17-40503 CDD: 005.8 CDU: 004 20/03/2017

20/03/2017

PRESIDENTE: Paulo Roberto Houch • ASSISTENTE DA PRESIDÊNCIA: Adriana Lima ([email protected]) • COORDENADOR DE ARTE: Rubens Martim • COLABORARAM NESTA EDIÇÃO: Robério Gonçalves/BR Designers (tradução e adaptação) • GERENTE COMERCIAL: Elaine Houch ([email protected]) • SUPERVISOR DE MARKETING: Vinicius Fernandes • AUXILIAR DE MARKETING: Danilo Rodrigues • DIRETORA ADMINISTRATIVA: Jacy Regina Dalle Lucca • Impresso na ÍNDIA • Distribuição no Brasil por DINAP • NOME DA REVISTA é uma publicação do IBC Instituto Brasileiro de Cultura Ltda. – Caixa Postal 61085 – CEP 05001-970 – São Paulo – SP – Tel.: (0**11) 3393-7777 • A reprodução total ou parcial desta obra é proibida sem a prévia autorização do editor. Para adquirir com o IBC: www.revistaonline.com.br • VENDAS AOS DISTRIBUIDORES: Tel.: (0**11) 3393-7728 ([email protected]). Os artigos nesta edição são traduzidos ou reproduzidos de Hacker's Manual 2016 e seus direitos autorais e licenciamento pertencem à Future Publishing Limited, uma empresa do grupo Future plc, Reino Unido 2014. Utilização sob licença. Todos os direitos reservados. Hacker's Manual 2016 é marca registrada de ou licenciada por Future Publishing Limited, uma empresa do grupo Future plc. Utilização sob licença.

TUTORIAIS! GUIAS ESPECIALIZADOS PARA OBTER O MÁXIMO DO LINUX

que seja focada em servidor e forneça um ambiente pronto para uso, da mesma forma que a versão caseira do Ubuntu oferece. Se você estiver mirando o uso comercial, em um cenário de negócios em que você terá que assinar um contrato de serviço ou adotar um administrador de sistemas capaz de montar uma suíte de servidor para

você. Então, vamos dar uma olhada em outras opções de servidor aqui, e que estejam prontas fazer o serviço. Algumas destas vêm de nomes comuns, enquanto outras são baseadas em distros bem conhecidas, mas são variantes direcionadas especificamente para uso de servidor. Mas qual delas é a ideal para você? Vamos descobrir.

“Alguns destas vêm de nomes comuns, enquanto outras são baseadas em distros bem conhecidas.”

Aqui está o NethServer sendo instalado sem nenhum tipo de entrada de usuário.

Isso fornecerá opções mínimas e usará o disco inteiro. Uma área em que esses instaladores lidam surpreendentemente mal é no particionamento do disco rígido. A maioria deles criou uma única partição para tudo. ClearOS e NethServer são ainda piores em usar LVM, pois preenchem o grupo de volume com uma única unidade lógica, dispensando os benefícios de LVM. O Ubuntu Server tratou isso muito bem, usando o LVM, mas perguntou o quão grande o sistema de arquivos raiz deveria ser e, então, permitiu a adição de mais unidades lógicas; depois forneceu seus pontos de montagem. Isso é particularmente importante em um servidor no qual, geralmente, você vai desejar preservar o conteúdo separado do sistema operacional, o que significa ter /var em seu próprio sistema de arquivos. A instalação autônoma do NethServer é um ponto positivo, permitindo que você instale as coisas e as configure depois. Por outro lado, ClearOS, Ubuntu e Zentyal permitem que você faça mais escolhas durante a instalação. A escolha de sua distro depende de como você prefere trabalhar, mas a abordagem da NethServer é melhor se você estiver instalando mais de um servidor.

Veredicto ClearOS

+++++

NethServer

+++++ TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ NethServer ganha por causa de seu útil modo de instalação automatizado.

Serviços populares palavra “servidor” é um termo abrangente, normalmente pensamos em uma caixa preta destinada a servir páginas web, e-mails e arquivos. Estes são os usos mais populares para um servidor e todas essas distros fazem tudo isso; com algumas exceções. Zentyal não fornece serviços web ou FTP, uma vez que se serve mais como um servidor de

escritório. É baseado no Ubuntu, de modo que você pode instalar facilmente o Apache ou outro servidor, se você quiser, mas será preciso que você o configure sozinho. TheSSS é uma distro extremamente leve, de modo que não é nenhuma surpresa que ele possua o menor número de serviços disponíveis. Ele

A maioria fornece Apache, mas você tem que encontrar o conteúdo!

fornece um servidor web, e é o Apache, não uma das alternativas mais leves que você poderia esperar. O FTP também está incluído, mas não os protocolos de compartilhamento de arquivos mais comuns (hoje em dia) como o NFS ou o Samba. A omissão mais óbvia é um servidor de e-mail, mas isso não caberia no aspecto de distro “leve”. Manipular milhares de e-mails para cada um de um grupo de usuários não é a carga de trabalho que você daria para o tipo de hardware TheSSS. As outras três, ClearOS, NethServer e Ubuntu Server, usam muito o mesmo software para esses serviços: Apache, Postfix e Dovecot (cyrus-imapd no clearOS). As principais diferenças a esse respeito são como eles são fáceis de trabalhar, e NethServer leva vantagem quando se trata de administrar contas de e-mails.

Veredicto ClearOS

+++++

NethServer TheSSS

+++++

Ubuntu Server

+++++ Zentyal

+++++ Ambos ClearOS e NethServer têm acesso a muitos pacotes de servidores CentOS.

Faça Faça ç mais i | 200 Dica Dicass

MELHORES

DICAS

Truques do touchpad 7 Mova o dedo para cima e para baixo no lado direito do touchpad para rolar verticalmente, e toque no canto inferior direito do touchpad para dar um clique com o botão direito do mouse.

LINUX L INUX

Primeiros passos Coloque várias live distros em um disco Se você quiser testar várias live distros, é possível colocá-las em uma unidade flash

2

62 | Manual do Hacker

USB por meio do script MultiCD (disponível aqui: http://multicd.us) ou usar a ferramenta MultiBoot LiveUSB (http:// liveusb.info/dotclear). Use uma ferramenta externa de particionamento Embora as ferramentas de particionamento dentro das distros tenham melhorado consideravelmente em relação ao melhor controle sobre seu disco, é melhor preparar partições para uma instalação Linux usando

3

ferramentas de terceiros, como o Gparted, que também é instalado nas versões live de várias distros . Use partições LVM 4 Uma das maiores vantagens de usar LVM (Local Volume Manager ou gerenciador de volume local) é que, ao contrário das partições padrão, você não precisa estimar o tamanho das partições na instalação, pois você poderá aumentar (ou diminuir) um volume LVM sem perder nenhum dado.

Adicione miniaplicativos no painel O Cinnamon vem com vários miniaplicativos interessantes os quais podem ser adicionados a qualquer painel: clique com o botão direito do mouse no painel e selecione “Adicionar Miniaplicativos” (Add Applets) no painel de opções.

17

Ative o compositing 18 Para adicionar sombras e transparências nas janelas, habilite o “compositing” no Mate, alternando a opção “Ativar compositing no gerenciador de janelas” na Central de Controle > Windows.

Instale uma Dock 9 Em desktops, como o Gnome, economize tempo na hora de abrir seus aplicativos favoritos. Crie atalhos para eles na Dock, instalando, por exemplo, o Cairo-Dock, disponível nos repositórios oficiais da maioria das distribuições.

Obtenha diferentes widgets em cada desktop 19 Para personalizar os desktops virtuais no KDE, clique com o botão direito do mouse no Pager, mude para a guia Virtual Desktops e alterne a correspondente. A partir daí, cada área de trabalho poderá ter widgets diferentes.

Gerencie arquivos pelo menu de contexto O menu de contexto que surge com um clique com o botão direito do mouse no gerenciador de arquivos na maioria das distros está cheio de opções úteis, como a possibilidade de enviar algo por e-mail e compactar ou restaurar a versão anterior de arquivo.

10

Crie Favoritos 11 Coloque seus aplicativos favoritos no Launcher do Ubuntu e no Dash do Gnome: arraste-os da tela de visualização de aplicativos para a área de trabalho. Coloque itens na área de trabalho Para personalizar o Gnome, instale o Gnome Tweak Tool a partir do repositório da distro. Inicie o aplicativo, vá para a guia Desktop e alterne a opção “Ícones na área de trabalho”.

12

Testando e instalando distros Linux como um profissional. Crie uma distro Live com 1 armazenamento persistente As distros mais populares, como o Fedora e o Ubuntu, são fornecidas com ferramentas que reservam espaço de armazenamento no live USB para salvar os dados que estarão disponíveis nas reinicializações seguintes.

Alt+F2 23 Abre a caixa de diálogo Executar.

Habilitando áreas de trabalho Para habilitar áreas de trabalho no Ubuntu, acesse Configurações do Sistema > Aparência > Comportamento e alterne a opção “Ativar áreas de trabalho”.

8

Há sempre alguma coisa que ainda não sabemos. Aqui estão 200 maneiras surpreendentes de obter mais do Linux, obtidas a partir de anos de navegação nos cantos e recantos.

Atalhos úteis de teclado

Menu de inicialização rápida 13 Clique com o botão direito do mouse nos ícones do Launcher do Ubuntu ou no nome de um aplicativo na barra superior do Gnome para revelar as opções e ações correspondentes. Inicie comandos a partir do menu do Mint Clique com o botão direito do mouse no miniaplicativo do Menu, escolha Configurar e clique em “Abrir o editor de menu”. Em seguida, selecione um submenu (ou crie um novo) e selecione “Novo Item”. Digite o comando no espaço fornecido e alterne o inicializador na caixa de seleção do terminal para aplicativos CLI.

Execute aplicativos na conta de outro usuário Para que um aplicativo seja executado com a conta de outro usuário (como root) no KDE, clique com o botão direito do mouse no ícone do menu e selecione “Editar Aplicativos”; depois, selecione uma entrada existente e clique em “Copiar”. Em seguida, navegue até onde você deseja criar a nova entrada, clique em “Novo item”, dê-lhe qualquer nome e clique em “Colar”. Alterne para a guia “Avançado” e marque a opção “Executar como um usuário diferente” e digite o nome e acesso de qualquer usuário.

20

Animação de fundo de tela Clique com o botão direito do mouse na área de trabalho do KDE e clique em “Configurações do Dektop Padrão”. Use o menu suspenso “Wallpaper” para selecionar a opção Slideshow e aponte para um conjunto de imagens.

21

Alt 24 Pesquisar no menu de um aplicativo via HUD do Ubuntu. Alt+~ 25 Alternar entre janelas no mesmo aplicativo. Alt+Ctrl+ 26 Up/Down/ Right/Left Alternar entre áreas de trabalho. Alt+PrntSc Tirar uma captura de tela da janela atual.

27

Shift+Ctrl+ Alt+r Gravar uma screencast no Gnome.

28

Super+Up 29 Maximizar janelas no Gnome.

14

Use atalhos de teclado para economizar tempo navegando em menus

Manual do Hacker | 63

Dicas preciosas que todo administrador de sistema deveria conhecer

ocê pode acessar o seu computador de longe, no conforto do seu desktop usando o Remmina. Ele suporta o maior número de protocolos e se conecta a todos os tipos de servidores remotos. Esse app é fácil de usar, e tem bastante recursos para ser uma opção viável. http://remmina. sourceforge.net

VLC Distros normalmente vêm com um tocador de vídeo. Mas não tem outro programa melhor que o VLC. Ele dá suporte para quase todo formato de áudio e vídeo, e inclui boas ferramentas CLI para usuários avançados. www. videolan.org/vlc

U

ma distro acumula um montão de dados com o tempo, mas com o BleachBit você consegue fazer uma limpa e proteger o seu sistema. Ele também remove arquivos temporários ou desnecessários, e tem o que é preciso para apagar arquivos por completo. http://bleachbit.sourceforge.net

Q

uando quiser acessar seu PC à distância, você não vai conseguir fazer isso sem o OpenSSH. Ele é uma caixa de ferramentas que oferece uma opção para acessar seu computador com segurança, através vários métodos de autenticação e suporte a todos os protocolos SSH. www.openssh.org

Gparted

O PeaZip te ajuda a guardar mais de 130 tipos diferentes de arquivos e pode até criar versões encriptadas. Ele integra desktops mais conhecidos e traz um CLI para usuários avançados. http://bit.ly/PeaZipSF

Q

ZuluCrypt

Use o Gparted para particionar um disco no seu PC. Ele está disponível em um CD e também pode ser instalado na sua distro. O app pode criar, medir, mover, deletar, reformatar ou checar partições e dar suporte a muitos sistemas de arquivo. www.gparted.org

Vamos além do Bash para conferir quais linguagens de script atendem às necessidades e desejos de um administrador de sistema Linux.

Como testamos... As comparações, dizem, são ingratas. Isso faz sentido principalmente quando se trata de linguagens de programação, em que personalidade e suporte local são, pelo menos, de igual importância para critérios como velocidade e nível de suporte para diferentes paradigmas. Diante disso, estamos apresentando aqui uma mistura de fatos, opiniões coletivas e nossas próprias opiniões, que servirão como base para uma investigação mais aprofundada. A chave para a utilidade de uma linguagem de script para o sysadmin não reside somente na forma como resolve problemas facilidade, mas em quantas dessas soluções já foram escritas e estão disponíveis para download e, de preferência, bem documentadas. Tentamos trabalhar em toda a gama de versões instaladas em uma rede típica, mas insistimos em Python 3. Além disso, tentamos simular um contexto de trabalho no qual você provavelmente encontrará em sua rede.

T

odo administrador adora atalhos para economizar tempo, e tem consigo uma porção de scripts na manga para usar quando precisar, e a quantidade cresce ainda mais. A pergunta que qualquer novo administrador faz é: “qual é a melhor linguagem para aprender?” Veteranos de guerra em linguagens devem saber que a resposta não é simples ou definitiva, mas consideramos que vale a pena fazer algumas comparações entre as opções mais úteis, para tornar a sua vida Linux mais fácil. A maioria das linguagens de script existe a mais tempo do que você pensa. Por exemplo, o NewLISP foi iniciado na estação de trabalho Sun-4, em 1991. As

76 | Manual do Hacker

“A pergunta que qualquer novo administrador faz é: qual é a melhor linguagem para aprender?” linguagens foram emprestadas umas das outras, e em outros lugares, de modo a acumular um grande legado de bibliotecas obsoletas e soluções alternativas. Os Regular Expressions, do Perl, por exemplo, são encontradas agora em todos os lugares e, em alguns casos, melhor implementados em outros lugares. Então o que é mais importante? A rapidez com que o script é executado, ou quão rápido você pode escrevê-lo? Na maioria dos casos, o

último. Uma vez instalado e em funcionamento, é necessário suporte tanto de bibliotecas como de módulos para estender a linguagem para todas as áreas do seu trabalho e de uma comunidade suficientemente grande para dar suporte à linguagem, bem como ajudá-lo a acompanhar as tendências e até mesmo inová-la. Então, qual será a linguagem de script que você deve aprender para melhorar sua vida Linux neste ano?

embutida do Perl é lendária, mas nós começamos executando um exercício do clássico “Running Linux”, um livro de administração da O’Reilly, e então passamos para o livro Perl One-Liners, de Peteris Krumins. Aqueles que não gostam de estudar por meio de livro, recomendamos http://perlmonks. org, uma fonte de sabedoria comunitária cumulativa. Esforços recentes para fazer com que os jovens aprendam com o Code Club (Clube do Código) (www. codingclub.co.uk) e o resto de nós por meio do evento PyCon e dados abertos do hackdays mostraram que o Python pode ser fácil para qualquer pessoa. Mas em razão de informações duvidosas há por aí, como as muitas maneiras de executar subprocessos que persistem por razões de compatibilidade, significa que a leitura cuidadosa é necessária, e esta é outra boa razão para começar com Python 3, não com Python 2. Acesse www. python.org/about/gettingstarted para obter uma lista enorme de guias e recursos gratuitos. O Ruby é bom para iniciantes e, antes do Rails, os aplicativos de linha de comando eram o que havia de

Há mais de três anos, os principais meios de comunicação começaram a discutir sobre o PRISM – um programa de vigilância global da Agência de Segurança Nacional –, suscitando uma série de preocupações sobre privacidade e acesso anônimo à internet. Pouco depois disso, tivemos uma explosão de novas distros de privacidade, como Tails, Whonix e outras para usuários que se preocupam com segurança. Aqui, apresentamos uma seleção de diferente distros nesta área. Vamos abordar: o estado atual das distros que possuem manutenções ativas; disponibilidade; facilidade de uso; desempenho; conjunto de recursos e documentação; e, por último, mas não menos importante, o quão elas podem ser usadas para uso geral comum.

ssa ferramenta de clonagem pode ser distribuída dentro de um CD, e é famosa por fazer backups rápidos e a restauração de PCs individuais. O app também pode ser usado para instalar a mesma imagem em várias máquinas. O Clonezilla trabalha com um vasto número de discos, partições e tipos de arquivamento. www.clonezilla.org

Esse aqui cria um disco encriptado dentro de um arquivo, uma partição fora do sistema ou em um dispositivo USB. O ZuluCrypt tem uma interface intuitiva e pode encriptar arquivos individualmente usando GPG. http://bit.ly/zuluCrypt

E

xistem inúmeros motivos pelos quais alguém preocupado por segurança pode querer usar uma distribuição Linux especializada e não convencional em vez de uma distribuição comum. Então, selecionamos cinco opções diferentes, cada uma com suas próprias características e benefícios. Tails é talvez o sistema mais bem estabelecido entre os que estamos tratando aqui. Esta distro fornece acesso anônimo à internet, contornando quaisquer censuras. O Ubuntu Privacy Remix (UPR) fornece anonimato aliado à forte proteção de dados do usuário. Ele é executado somente no modo live, possui criptografa seus dados e protege contra acesso não solicitado. A Whonix

HomeBank Um aplicativo para finanças bem-acabado. Ele pode importar dados de outros apps ou extratos em formatos mais usados. Também pode detectar transações duplicadas e fazer relatórios e orçamentos com facilidade. http://homebank.free.fr

Recursos online, livros e pessoas bem intecionadas s perguntas-chave são: qual a linguagem mais fácil de aprender? Os recursos de aprendizagem são pelo menos satisfatórios? Mesmo que essas duas perguntas sejam respondidas positivamente, elas ainda precisam ter suporte de uma comunidade para ajudá-lo a produzir rapidamente algo útil e ajudar a preservar esse seu entusiasmo inicial, porque, inevitavelmente, você irá se deparar com alguns problemas. Para produzir um script de backup e scripts de teste em cada uma das linguagens, começamos a navegar pelo Stack Overflow. Porém, o download aleatório de códigos nos mostrou que não há consistência entre scripts Posix (shell Bourne puro), Bash e código legado, que ocasionalmente falha. Felizmente, o ShellCheck (www.shellcheck.net) é uma ótima ferramenta para verificar a correção de scripts e, uma vez que os corrige, ensina as melhores práticas ao usuário. O Linux Document Project, um guia avançado de script do Bash (www.tldp.org/LDP/ abs/html) também é excelente e o ajudará a ganhar confiança rapidamente. A documentação on-line e

Como testamos...

E

Curva de aprendizagem

A

Cubra seus rastros e mantenha a sua identidade privada – comparamos distribuições Linux especiais que o ajudarão a permanecer invisível na web.

Clonezilla

OpenSSH

PeaZip

VirtualBox uando o Wine não der conta, você pode usar o VirtualBox para rodar uma instalação Windows inteira dentro de uma máquina virtual. O software também pode ser útil para instalar apps experimentais que você não quer colocar no seu próprio computador e para testar sistemas operacionais sem expô-los ao hardware. www.virtualbox.org

Manual do Hacker | 27

Linguagem de script

Super+ 31 Left/Right Encaixar janelas no Gnome.

Expanda janelas horizontalmente 22 Os usuários do Xfce podem clicar com o botão direito do mouse no botão Maximizar Janela para esticá-la horizontalmente na tela.

V

BleachBit

O Gufw tem perfis e regras pré-configuradas para ajudar novatos

De MOOCs a bibliotecas, os recursos de aprendizagem do Python estão em toda parte

melhor. O livro de David B. Copeland, “Build Awesome Command Line Applications in Ruby” (em inglês) poupará horas de navegação em busca de documentação online, mas também fomos capazes de iniciar nossos scripts de teste com alguns tutoriais na web. Por último, chegamos ao NewLISP: um desafio para programadores treinados somente em linguagens da família não-LISP, mas você ficará surpreso com o que consegue realizar com apenas listas, funções e símbolos. Nós mergulhamos diretamente na página de códigos snippets, em http:// newlisp.org, adaptando-nos para construir nosso script de backup – e fomos recompensados com código conciso e poderoso, que era mais fácil de ler do que seu equivalente compacto Perl.

Veredicto Bash

+++++ NewLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ Python e Ruby são mais fáceis de aprender, em razão da boa documentação e usuários úteis.

“A distro vencedora deve ser não somente segura, mas a equilibrada e amigável, mesmo para usuários menos experientes em tecnologia.” possui quase os mesmos recursos de Tails, mas vai além dividindo o fluxo de trabalho em duas partes: servidor e estação de trabalho. Qubes OS implementa a abordagem “segurança por compartimentação”. Finalmente, JonDo Live-DVD é uma solução muito interessante, que cresceu fora da multiplataforma JonDonym, um browser de navegação anônima na internet, cujo foco é privacidade e segurança.

(usando ** para expandir os nomes de arquivos) apareceu seis anos atrás. Bash 4.2 (lançado há quatro anos) acrescentou pouco. No Bash 4.3 mudanças também foram leves. Perl ainda está incluso no núcleo da maioria das distros. A versão mais recente é a 5.24.0, mas muitas distros estáveis ainda contam com a versão 5.18. Mas isso não importa, pois você

Como o shell do Unix remonta décadas, você verá que versões recentes do Bash contêm algumas alterações de sintaxe inesperadas.

está perdendo somente pequenas melhorias, e quase todos os scripts que você rodaram perfeitamente. A mudança de Python 2 para 3 ainda dá trabalho para os novatos. Execute o Python 3, se puder, e verifique a documentação para aprender mais. O Python 3.3 é a nossa base para as instalações do Python 3 – o Python 3.4 não adicionou novos recursos de sintaxe. Alterações na versão do Ruby causaram problemas, mas surgiram soluções indolores. O rvm (Ruby Version Manager) permite que você execute várias versões do Ruby e o pacote mantém o controle dos gems (gerenciadores de pacotes) de que você precisa para cada script. A estabilidade do NewLISP e a ausência de scripts de terceiros é uma vantagem aqui. No entanto, não podemos garantir que cada script seja executado nas versões mais recentes.

Veredicto Bash

+++++ newLISP

+++++ Perl 5

+++++ Python

+++++ Ruby

+++++ A solução do Ruby é boa, mas a falta de problemas no Bash proporcionou um resultado melhor.

Manual do Hacker | 77

Conheças as linguagens de scrip e escolha aquela que atenda às suas necessidades

uando decidir experimentar uma distro anônima, você tem que estar ciente de que há um custo envolvido no uso delas, mas isso varia. Então vamos ver o que é preciso para colocar essas distros concorrentes em funcionamento. Tails é a distro mais conhecida, e esperávamos fazer o download de seu arquivo ISO e gravá-lo em pendrive por meio de alguma ferramenta conveniente, como dd ou por meio de um front-end, como ImageWriter. Mas o processo com o Tails acabou sendo mais complicado, porque a imagem

tem que ser modificada por meio do utilitário isohybrid. Então: isohybrid tails-i386-1.2.3.iso -h 255 -s 63 dd if=tails-i386-1.2.3.iso of=/dev/sdc bs=16M Onde /dev/sdc é o seu pendrive. Depois disso, funciona perfeitinho. O sistema é inicializado na sessão live como uma distribuição comum baseada no Debian. Whonix e Qubes OS são significativamente mais difíceis de rodar, e aqui está o porquê: Whonix vem na forma de duas máquinas Virtualbox, uma para o Gateway e outra para a estação de trabalho. A ideia por trás desta entrega requintada é isolar o ambiente no qual você trabalha daquele do ponto de acesso à internet. Assim, a primeira coisa a fazer é inicializar e configurar o Gateway Whonix em uma VM e, No, it's not a blue SUSE lizard, it's Ubuntu Privacy em seguida, acessá-lo a Remix, which features this cool Protected Pangolin!

partir de outra VM, onde todo o trabalho será feito. Não encontramos nenhum problema com esta distro, mas temos que admitir que apenas usuários avançados serão capazes de implementar o seu fluxo de trabalho no Whonix. Depois de gravar a ISO do Qubes OS no pendrive e inicializar a partir dele, descobrimos que não havia uma sessão live, apenas um modo de instalação. Qubes OS é baseado em uma versão recente do Fedora e utiliza o mesmo tipo de instalador. Mas a distro tem alguns requisitos de sistema bastante surpreendentes: ele quer que você forneça 4 GB de RAM, 32 GB para a partição raiz e prefere chip de vídeo Intel integrado, porque Nvidia ou AMD têm alguns problemas no Qubes OS. O sistema precisa de recursos exagerados em razão de sua abordagem “segurança por isolamento”, conforme comentamos na página anterior. Finalmente, o Ubuntu Privacy Remix e o JonDo Live-DVD foram extremamente fáceis de rodar. Suas sessões live são rápidas e fáceis de usar.

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Acesso fácil e sessões anônima ganham.

Estado de desenvolvimento

Privado e seguro hoje, mas continuarão assim?

E

recursos e correções, mas não vamos esquecer que distros Linux abandonadas podem ter problemas de execução em hardware modernos, que têm coisas como UEFI e Secure Boot. Tails é uma das melhores distros de segurança que possuem manutenção, com um ritmo de desenvolvimento muito rápido. Novos lançamentos são disponibilizados a cada 2-4 meses, o que significa que Tails pode ter até seis lançamentos em um ano. Os desenvolvedores do Ubuntu Privacy Remix (UPR), em comparação, não parecem estar com tanta pressa, mas mantêm o desenvolvimento estável. A distro surgiu em dezembro de 2008 e tem sido mantida com o Ubuntu LTS releases. Até o fechamento desta edição, versão mais recente era a 12.04r1 (Protected JonDo Live-DVD tem atualizações frequentes, Pangolin), que suporta novo surpreendentemente a cada 5-10 dias. ste aspecto é muitas vezes esquecido, mas é vital saber como os usuários comuns vão terão atualizações e suporte ativo para as distros. A realidade é que algumas distros anônimas são abandonadas por desenvolvedores (como Privatix) ou deixadas sem manutenção por anos (como Liberté). Alguns podem pensar que isso se trate somente de novos

hardware, mas ainda é uma distro muito leve. Whonix é um projeto relativamente novo, que começou em 2012 e tem evoluído desde então. A distro recebe atualizações a cada poucos meses. Qubes OS também teve seu nascimento em 2012, e o projeto atingiu a versão R2. O desenvolvimento do Qubes OS é muito ativo, com muitas versões alfa, beta bem documentadas e release candidate publicadas a cada poucos meses. Mas isso nos deixa com o registro de desenvolvimento insanamente rápido de JonDo LiveDVD. Um pouco staggeringly, JonDo possui um changelog, que é atualizado a cada 5-10 dias! Porém o desenvolvimento do JonDo Live-DVD é extremamente rápido. Um tanto surpreendentemente, JonDo possui um changelog (registro de alterações) atualizado a cada 5-10 dias!

Veredicto JonDo Live

+++++ Qubes OS

+++++ Ubuntu Privacy Remix

+++++ Tails

+++++ Whonix

+++++ Todos os nossos participantes são atualizados com frequência.

Cubra seus rastros, mantenha a sua privacidade e proteja seus dados

Desktops remotos Qual é o melhor cliente para obter acesso remoto completo à área de trabalho?

Como testamos... Para fazer os testes, usamos várias máquinas: um PC de jogos topo de linha, um Raspberry Pi 2 Modelo B (onde existia software) e uma máquina de dois núcleos de 2,33GHz ligeiramente lenta. Para ver como os candidatos se sairiam em um cenários de baixa largura de banda, recorremos aos clientes por meio do modelador de largura de banda do Trickle. Simulamos velocidades de conexão lentas (25kb/s) e muito lentas (6kb/s). Para permitir que cada cliente atingisse todo o seu potencial, primeiro emparelhamos cada cliente com seu servidor parceiro para avaliar o desempenho máximo. Nós até usamos um PC com Windows 7 para testar o valor dos clientes RDP contra o protocolo original (o servidor de código aberto xrdp implementou somente as partes do protocolo no domínio público). Na categoria de compatibilidade, misturamos tudo isso para ver como diferentes clientes e servidores interagiam entre si.

Bash, Ruby, Python, Perl ou newLISP? questão aqui é: eu tenho a versão certa? Vamos começar com o Bash. Todas as distribuições modernas do Linux vêm com uma versão que executará seus scripts e de qualquer outro. Bash 4, com seus arrays associativos, coproc (dois processos paralelos de comunicação) e correspondência recursiva por meio do globbing

O que é preciso para obtê-las?

Q

Manual do Hacker | 55

Versão e compatibilidade

A

Tanto o anonimato quanto a segurança são importantes, por isso esperamos um benefício adicional nestas distros: que sejam capazes de tornar o sistema seguro contra hackers. Vamos comparar todas essas opções entre si sob diferentes pontos de vista, de modo que a distro vencedora deve ser não somente segura, mas a equilibrada e amigável, mesmo para usuários menos experientes em tecnologia.

Disponibilidade

54 | Manual do Hacker

Ferramentas e técnicas que irão ajudá-lo a trabalhar mais rápido e com maior segurança

Super+Down 30 Minimizar janelas no Gnome.

Super+m 32 Visualizar todas as notificações perdidas no Gnome.

outros são mais versáteis quando aplicados em linhas de comando. Nessa seção, nós vamos dar uma olhada na vasta coleção dessas verdadeiras joias open-source e oferecer algumas escolhas que estão em maior destaque. Nessa lista de 100 melhores apps, nós cobrimos uma grande variedade de categorias. Não importa se você é uma pessoa de negócios, uma instituição de educação, um desenvolvedor, um usuário caseiro ou um gamer, temos de tudo um pouco. Embora você conheça algumas dessas ferramentas na lista, fique tranquilo porque há bastante coisa para descobrir. Se você ainda não escapou das garras do software comercial, temos certeza de que vai encontrar algumas ferramentas nessa lista que são ótimos substitutos.

L

embrar as várias senhas é um desafio para maioria de nós. Você pode deixar essa tarefa para o KeepassX, que armazena suas senhas em um banco de dados encriptado. Ele pode preencher as senhas automaticamente e também inclui um gerador de senhas randômicas. www.keepassx.org

Distros de Privacidade

E

mbora todo mundo já saiba que a melhor maneira de fazer o acesso remoto é por meio do SSH, às vezes é bom (e até mesmo necessário) ter acesso à área de trabalho de forma completa. Talvez você precise mudar a foto de plano de fundo do desktop, ou obter o nmap para fazer um diagrama de uma malha de rede rival. Este excesso de dados gráficos apresenta um problema, especialmente para a largura de banda desafiada. O Linux favorece o protocolo VNC, enquanto o Windows favorece o Remote Desktop Protocol (RDP), de fonte amplamente fechada. No entanto, não há nenhum sistema

34 | Manual do Hacker

"O Linux favorece o protocolo VNC, enquanto o Windows favorece o Remote Desktop Protocol (RDP)." operacional específico para um destes. Ambos trabalham diretamente no framebuffer (nota do tradutor: framebuffer é uma memória especial capaz de armazenar e transferir para a tela os dados de um quadro de imagem completo), de modo que a tecnologia base trabalha igualmente bem no Windows ou no Linux. O protocolo NX usado no NoMachine NX desafia a ambos com compressão avançada e truques de redução de latência, que no

Linux funcionam diretamente no protocolo X (ou no protocolo RDP no Windows). Desde 2010, porém, o cliente tem sido de fonte fechada, e como há um número de projetos destinados a fornecer soluções NX de código aberto, o desenvolvimento destes tem caído no esquecimento, com exceção do X2Go. O aplicativo Google Chrome Remote Desktop ainda está em versão beta, mas já será de interesse para alguns.

Fácil de usar É fácil de instalar e de navegar?

E

ncontrar uma distribuição para a qual um pacote Remmina não existe é improvável, porque ele é bastante popular. Para obter funcionalidade VNC no Remmina será preciso instalar o libvncserver, mas a maioria das distros irá fazer essa classificação para você. No Arch Linux este pacote foi listado como uma dependência opcional e precisa ser instalado manualmente. Apesar da infinidade de opções, tudo no Remmina é definido intuitivamente, tornando tudo simples de configurar. O TigerVNC, por outro lado, pode ser bastante complicado para localizar pacotes. Muitas distros, incluindo Debian e Ubuntu, optaram pela mais antiga, e diferindo por duas letras, TightVNC. Depois que você conseguir encontrar alguns pacotes, porém, será fácil encontrar o seu caminho até o cliente. Ele foi moldado após o cliente RealVNC “original” e, como tal, não é muito atraente. As opções padrão normalmente funcionarão bastando somente digitar um nome host na

barra de endereços, embora talvez seja necessário adicionar :1 ao final. Pacotes para x2go estão disponíveis para a maioria das distros, incluindo Raspbian. Depois de instalar o servidor, talvez seja necessário executar x2godbadmin --createdb antes de conectar. Alguns pacotes deixam a desejar um pouco aqui. O cliente Qt4 é fácil de navegar, mas poderia, eventualmente, ter sido configurado de uma forma mais arrumada. Ele fornece gerenciamento de sessão razoável por meio de uma lista localizada no lado direito. Instalar a parte do navegador do aplicativo Chrome Remote Desktop do Google Chrome é, como você poderia imaginar, muito simples. No entanto, a configuração de um servidor remoto (no Linux) envolve a instalação de um pacote Deb, que não funcionará para todas as contas. Os arquivos Mint/Ubuntu precisavam ser movidos ou simbolizados antes que o Chrome apresentasse a opção para habilitar conexões remotas. Este é um

Esta é a segunda de quatro telas do assistente que você terá no NoMachine.

cliente Roundup de desktop remoto, mas vamos em frente e deixar para penalizar o app independentemente, porque este tipo de sofrimento está implícito em seu uso. Depois que tudo estiver configurado, porém, você receberá uma lista compreensível de computadores nos quais poderá fazer uma assistência remota. NoMachine terá de ser instalado manualmente, mas ele tem pacotes Deb e RPM para você, bem como um pacote instalador se estes não servirem para o seu caso. Você será saudado com mensagens de boasvindas para ajudá-lo no processo, mas a interface é simples e não tem segredo. Os servidores podem (opcionalmente) apresentarem-se na rede para que eles sejam visíveis para todos os clientes.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

Softw oftw ftware are | Desk D tops p remottos

Seja mais produtivo em seu desktop favorito.

Altere o layout do painel 16 Para alterar layout padrão do painel do Cinnamon, acesse Configurações > Painel e use o menu suspenso Layout do Painel para selecionar um estilo diferente.

M

melhores apps para Raspberry Pi

Apps open-source tem muitas caras e tamanhos, e você pode dar uma nota para eles baseado na sua utilidade. Há apps com muitos recursos, suítes de apps destinados a tarefas específicas, ferramentas bem-acabadas e novidades fresquinhas em apps e games. Alguns lançam com uma bela interface gráfica e

U

V

Prog Progr og g amaçã ç o | Lingua ingua ingu g gem gem d dee scri script pt

Obtenha mais do desktop Defina atalhos de teclado 6 Quase todos os computadores permitem definir atalhos de teclado personalizados. Você encontrará as opções na configuração do teclado em seus respectivos painéis de configuração.

S

ma outra joia da fundação Mozilla, o Thunderbird é um dos melhores agregadores de e-mail. Ele é fácil de usar e está recheado de recursos. As configurações rápidas permitem sincronizar com serviços populares e pode ser gerenciado usando várias contas diferentes. Pode ser encriptado e aceita extensões de terceiros. www.mozilla.org/thunderbird

26 | Manual do Hacker

Faça ç mais ais | 200 Dica Di s

200

Thunderbird

eparado do OpenOffice.org. O LibreOffice se tornou umas das ferramentas para produtividade mais populares. Isso inclui softwares processadores de texto, planilhas, apresentações, diagramas e desenhos, bancos de dados e fórmulas matemáticas. Ele também pode oferecer compatibilidade com documentos e diversos formatos de arquivos. www.libreoffice.org

esmo com o aumento de apps que funcionam em plataformas diferentes, ainda temos exclusivos para Windows. Isso inclui grandes apps proprietários, como o Adobe Photoshop ou pequenos apps de nicho. Para essas situações, você pode usar o Wine, que roda esses apps e jogos exclusivos de Windows com facilidade. O projeto oferece suporte para mais de 20.000 apps. Alguns funcionam sem problemas, enquanto outros precisam de um pouco de ajuste. www.winehq.org

“Muitos desses apps provaram ser alternativas viáveis.”

+++++

Encontre a distro Linux ideal para você montar o seu próprio servidor

Alterar o comportamento do botão de energia 15 Para ajustar a configuração do botão Liga/Desliga Cinnamon (baseado no GTK), vá até Configurações do Ssistema > Gerenciamento de Energia e use o botão suspenso para escolher como ele deverá funcionar.

LibreOffice

ocê pode não estar usando um firewall atualmente, e isso pode ser porque eles são bem complicadas de configurar, por isso, você precisa de Gufw. A interface gráfica do Gufw para gerenciar as regras de entrada e saída de apps e serviços é intuitiva. Seus menus foram criados especialmente para usuários sem experiência. www.gufw.org

KeepassX

70 Eles também provaram ter um valor muito grande para casa e para os negócios. De acordo com as estimativas no site www.openhub.net, alguns apps mais famosos como o LibreOffice, o Firefox e o Apache levariam centenas de anos para um indivíduo desenvolver, e custaria milhões de dólares. E ainda sim, eles estão disponíveis para você por custo zero.

Gufw

Um desktop Linux não está completo sem eles

Wine

Com

odos temos os nosso apps favoritos, aqueles que funcionam melhor para a gente do que qualquer outro. Mas vamos voltar um pouco das batalhas do tipo Emacs vs vim que acontecem no universo Linux e dar uma olhada no farto número de apps à nossa disposição. Os repositórios de software nas suas distros nos dão acesso a milhares de apps, e você pode instalar um pouco de tudo, de suítes de apps até funções que você pode acionar com o pressionar de um botão. Hoje em dia, existem apps open-source e ferramentas de toda sorte. É raro um caso de um aplicativo que não foi acolhido por uma comunidade. Muitos desses apps provaram ser alternativas viáveis, oferecendo o mesmo número de recursos ou mais do que suas versões proprietárias.

Manual do Hacker | 19

Clique com o botão do meio para colar 5 Quando você selecionar algum texto com o mouse, ele será copiado para um buffer especial. Quando você clicar em uma área de entrada de texto, uma cópia do texto que você selecionou originalmente será colada nesse campo.

Vamos dar uma volta nesse jardim open-source enquanto nós escolhemos os melhores apps, ferramentas e utilitários disponíveis para todos os tipos de Linux

T

Progr Progr g ama amaçã m ção | Lingua ing ngua g g gem em de scr script ipt p

18 | Manual do Hacker

FERRAMENTAS LINUX

Apps essenciais

Remmina

Os servidores não são criados do mesmo jeito.

A

TOP 100

Segur g ança gur ç | Que Q mp protege ge seus dados dado ?

A ClearOS, que é baseado no CentOS, usa o instalador gráfico Red Hat Anaconda. A NethServer possui uma opção de instalação autônoma que instala a distro no primeiro disco rígido como escolha padrão. Ele usa uma exibição gráfica mesmo que você não possa interagir com ela. Você ainda precisará de um teclado conectado para pressionar as teclas de Seta para baixo+Enter+Enter para selecioná-la no menu de boot. TheSSS (The Smallest Server Suite) faz as coisas de forma ligeiramente diferente, porque ela inicia a partir de login do console, de onde você pode executar servidores ou o programa de instalação.

S ft aare | Desk Softw Desktops tops p remot rem os remo o

O

Linux sempre se destacou no âmbito dos servidores, mas qual distro você deve usar quando quiser configurar um servidor? Tudo depende do que você deseja. Praticamente todas as distros podem ser usadas como base de um servidor, embora aquelas que instalam um conjunto de desktop completo sejam as menos adequadas, pois isso significa remover muita coisa antes de adicionar o que é preciso. Você tem duas opções: usar uma distro na qual o instalador permita escolher o que você deseja, como a instalação de rede Debian, ou escolher uma distro

T

odas estas distros são destinadas a ser instaladas e executadas a partir de um disco rígido. Elas vêm em discos de instalação pura, não em live CDs, com uma exceção: os instaladores são os mesmos que você veria em uma distro de desktop – geralmente a versão de texto –, de modo que você vai precisar de um monitor e um teclado, e talvez um mouse também, para a instalação inicial. Depois dessa etapa, todas essas distros poderão ser executadas sem interface gráfica. Em geral, não há muitas escolhas a serem feitas durante a instalação, e é improvável que você queira um servidor com dual boot.

S ft are | Top Softw Top p 100 FFerram e erram entas en a Linu Linuxx

Como avaliamos... As distros foram instaladas em máquinas virtuais Qemu / KVM idênticas para facilitar comparações consecutivas. Elas também foram testadas em hardware real para nos certificarmos de que elas também funcionam no mundo real. Se você estiver configurando um servidor comercial, você pagará por um pacote completo de serviços e soluções (no sistema turnkey) ou recorrer a administradores experientes. Demos uma olhada nesses servidores do ponto de vista daqueles que desejam configurar um servidor de escritório doméstico ou pequeno, e que desejam passar mais tempo usando-o do que lendo man pages (páginas de manual do Unix). Assim, facilidade de instalação e configuração, juntamente com a flexibilidade foram considerações importantes. Isso não significa que você não possa usá-las em ambientes maiores ou que você não possa construir seu próprio servidor por meio de uma distro padrão como Debian – você poderá usálas, sim, em ambos os aspectos. É possível construir a partir do zero, mas se você quiser algo que “apenas funcione”, continue a ler.

O quão fácil é entrar em seu computador?

Segur egur g ança ç | Que Q mp pro rote tege ege g seus se dados d dos??

Você deseja configurar a sua própria web, e-mail ou servidor de arquivos, ou uma combinação destes? Comparamos cinco distros que podem satisfazem as suas necessidades

Instalação

Softw ftware a e | Top op p 100 Ferram Ferram meentas ntas t Linu tas Li ux

Distros servidores

Distros Distr os | Distr Distros os se servido rvid ress rvido

D os | Distr Distr Distros os servido servido rvidores res

LINUX Personalize completamente a sua experiência PRIVACIDADE Bloqueie cada byte de seus dados DISTROS Experimentes as melhores distros REDE Navegue na web de forma completamente anônima

+++++ X2Go

+++++ Remmina NoMachine e são os mais amigáveis.

Documentação

Alguém disse para ler o manual. Existe mesmo um manual?

R

emmina é bastante autoexplicativo na hora de utilizálo e foi traduzido em várias línguas. Se você estiver se sentindo seguro, aprofunde-se no funcionamento do comando xfreerdp que ele usa para sessões RDP. A despeito de sua aparência, o TigerVNC tem excelentes páginas man (nota do tradutor: man é um comando que abre as páginas de

O site do X2Go irá ajudá-lo a começar.

manual Unix). Elas são principalmente de interesse de quem deseja configurar o lado servidor das coisas, mas o cliente tem também opções de linha de comando para tudo nos menus. O servidor X2Go vem com um número de utilitários de linha de comando que podem ser úteis para uso de scripts. Eles são todos bem documentados nas páginas man

fornecidas. O site também tem muita informações úteis, e tratam somente de como o programa funciona, mas sobre ideias futuras para o projeto. Há também um guia bastante útil que explica o por que das falhas quando elas ocorrem nos ambientes desktop. Algumas soluções são oferecidas para casos simples, como IceWM e OpenBox. Tudo é apresentado de forma clara. O aplicativo Google Chrome Remote Desktop realmente precisa fornecer uma documentação melhor para configurar o serviço. Sabemos que ele está em faze beta, mas isso é uma falha grave. O app em si é bastante simples. A documentação do NoMachine é mais do que adequada, mas ele perde pontos por fornecer quatro telas de instruções irritantes antes de conectá-lo inicialmente.

Veredicto Chrome Remote Desktop

+++++

NoMachine NX

+++++ Remmina

+++++ TigerVNC

+++++ X2Go

+++++ O diferentão X2Go marca uma vitória surpresa.

Manual do Hacker | 35

Descubra qual é o melhor cliente para obter acesso remoto completo à área de trabalho

Related Documents

Manual Linux
January 2021 1
Linux Momento5
February 2021 1
Firewall Linux
March 2021 0
Linux Essencials
February 2021 0
Linux Notes
January 2021 1
Commandes Linux
February 2021 1

More Documents from "niko"