Você está na página 1de 6

Linux: Encriptando o pendrive usado para transp...

http://www.hardware.com.br/dicas/encriptacao-p...

Home iG

ltimo Segundo

Economia

Esporte

TV iG

Gente

Delas

ASSINE

E-mail

Acesso Internet

Suporte

Antivrus

Guia do hardware

GDH Press

Frum GdH

Publique seu texto

RSS

Home

Equipe

Minha Conta

Busca

ndice das dicas


Linux: Encriptando o pendrive usado para transportar arquivos
Por Carlos E. Morimoto em 8 de maio de 2007 s 12h29

Notcias

Guias

O que h de novo?

Notcias
Hoje Ballmer deixa escapar o cronograma do Windows 8, mas Microsoft volta atrs Microsoft lana oficialmente o Windows Phone 7.1 'Mango' Ontem Apple ajuda a remover o malware Mac Defender e promete atualizao Mozilla recusa WebP, formato de imagem do Google Prximas verses do kernel Linux podero entrar na srie 2.8 ou 3.0 Wordpress abandona IE6 e quase fora atualizao Resumo do dia Mozilla revela Firefox 5 beta, e verso final chega no prximo ms Xi3 anuncia o primeiro desktop com Chrome OS Publicado Fedora 15 final 23/05 Resumo do dia Um curioso emulador de PC que roda Linux via Javascript Chrome e Firefox experimentam interface sem barra de endereos Google News Archive deixa de ser atualizado Patente da Apple pode levar modo de privacidade s telas de portteis A marca eterna: Intel revela novos Pentium 'Sandy Bridge' MeeGo 1.2 lanado para netbooks, tablets e IVIs, menos smartphones 20/05 Resumo do dia Sony SmartAR lida com realidade aumentada sem marcadores Na contramo: Sharp lana primeiro celular 'clamshell' com Android, e planeja lanamento mundial

H duas semanas, publiquei uma dica mostrando como utilizar um pendrive para transportar seu diretrio home e arquivos (no Linux), de forma prtica. No final, acabamos com dois atalhos relacionados a scripts criados dentro do pendrive, que permite atualizar os arquivos, ou restaur-los em outro micro, com um nico clique. Como a cpia feita de forma incremental, utilizando o rsync, apenas os arquivos modificados so transferidos, tornando o processo de atualizao muito rpido. O grande problema de transportar seus arquivos pessoais em um pendrive a possibilidade de ele ser perdido ou roubado. Quem colocar as mos no pendrive ganha automaticamente acesso a seus arquivos, o que preocupante para muitos. A soluo simples: ao invs de gravar os arquivos diretamente, passaremos a grav-los em uma partio encriptada. Assim, mesmo que algum conhecido roube seu pendrive, no ter como obter acesso aos arquivos, j que utilizaremos uma chave de 256 bits. A encriptao praticamente impossvel de ser quebrada, mesmo que submetida a um especialista, com acesso a um cluster de centenas de mquinas e muito tempo disponvel. Esta dica uma continuao da primeira, onde vamos aprender a encriptar o pendrive e adaptar os scripts anteriores, para montar e desmontar o volume encriptado de forma automtica, realizando o processo de atualizao ou restaurao dos arquivos com um nico clique. No final, voc ter uma estrutura como esta no pendrive, com trs atalhos:

Notcias do ms de Maio de 2011


Os arquivos ficaro armazenados em uma partio separada, que alm de encriptada, fica escondida. Esta dica comea exatamente no ponto onde parei na dica anterior. Por isso, se voc ainda no leu, aproveite para l-la agora, antes de continuar: Dica: Linux: Usando um pendrive para transportar suas configuraes: Hoje em dia, cada vez mais comum utilizarmos mais de um micro. Neste cenrio, um dos desafios transportar arquivos e configuraes de um micro para o outro de forma prtica. Que tal uma soluo que lhe permitisse salvar automaticamente todas as suas configuraes e arquivos em um pendrive e restaur-las em outro micro, com apenas um clique? Por Carlos E. Morimoto http://www.hardware.com.br/dicas/pendrive-transportar.html A idia bsica dividir o pendrive em duas parties. Uma partio pequena (com 16, ou mesmo 8 MB) que servir apenas para armazenar os scripts e pequenos arquivos em geral e uma partio maior, englobando o restante do espao do pendrive, que armazenar a partio encriptada. Os scripts criados na dica anterior sero adaptados para montar e desmontar a partio encriptada automaticamente (pedindo a passphrase de acesso) e adicionaremos um terceiro atalho, que permitir simplesmente montar a partio encriptada e acessar os arquivos. Para isso, utilizaremos o LUKE e o dm-crypt. O primeiro passo instal-los. No Debian Etch, Sid, Ubuntu 7.4 (ou mais recente), Kurumin 7 ou outra distribuio derivada do Debian ou Ubuntu, voc pode instal-los via apt-get:

Artigos

Tutoriais Livros Dicas Anlises

Pesquisar

Livros

Compre o seu. Livro atualizado!

# apt-get install cryptsetup hashalot

1 de 6

25-05-2011 16:47

Linux: Encriptando o pendrive usado para transp...

http://www.hardware.com.br/dicas/encriptacao-p...

Em outras distribuies, procure pelo pacote "cryptsetup", que hoje em dia muito comum. Se tudo mais falhar, voc pode baixar um pacote genrico ou o pacote com o cdigo fonte no http://luks.endorphin.org /dm-crypt. Use o gparted ou outro particionador de sua preferncia para dividir o pendrive em duas parties. A primeira partio pode ser bem pequena, com apenas 8 ou 16 MB, formatada em EXT3 ou FAT16, de acordo com o que preferir. O importante mesmo a segunda partio, onde criaremos a unidade encriptada. No meu caso, estou usando um pendrive de 4 GB, onde reservei 256 MB para a partio menor (pois pretendo us-la para transportar pequenos arquivos, sem precisar montar a partio principal) e deixei os 3.52 GB restantes para a partio principal:

No meu caso, a partio menor a /dev/sdb1 e a partio principal a /dev/sdb2. O prximo passo gerar a unidade encriptada, usando o cryptsetup. Para isso, use o comando:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb2


(onde o /dev/sdb2 a partio) Como gerar a unidade encriptada implica na destruio de todos os dados anteriormente gravados, ele pede sua confirmao antes de continuar. Voc precisa responder "YES", em letras maisculas para continuar. Ele pede em seguida uma passphrase, que ser usada para proteger a partio. Ela pode ser tanto uma senha longa, quanto uma frase, que misture palavras e alguns caracteres aleatrios. Quanto mais longa a passphrase, maior a segurana, mas como voc precisar digit-la cada vez que for acessar a partio, ela tambm no pode ser grande demais :). Uma senha com 12 a 16 caracteres, ou uma frase com 3 palavras e mais alguns caracteres adicionais j garantem uma segurana muito boa. O acesso unidade encriptada feito atravs do prprio cryptsetup. Ele cria um dispositivo virtual, atravs do qual os dados da unidade podem ser acessados. O dispositivo pode ser formatado e usado normalmente, como se fosse uma partio de disco e a encriptao/desencriptao dos dados feita de forma transparente. Para acessar a unidade, use o comando abaixo, especificando a partio e o nome do dispositivo atravs do qual ela ser acessada. Aqui estou usando "crypthome", mas voc pode usar outro nome que preferir:

# cryptsetup luksOpen /dev/sdb2 crypthome

Formate a unidade em EXT3, usando o comando abaixo. No use ReiserFS, pois ele no adequado para uso em pendrives:

# mkfs.ext3 -m 1 /dev/mapper/crypthome

O parmetro "-m 1" que inclu, faz com que o sistema reserve apenas 1% do espao da partio para uso do root, ao invs de 5%. Isso faz com que voc fique com mais espao disponvel para os arquivos. O "/dev/mapper/crypthome" o device atravs do qual a unidade encriptada acessada. Ele criado depois do comando anterior. Com isso, a partio est pronta. Para mont-la, voc usa os comandos:

# cryptsetup luksOpen /dev/sdb2 crypthome # mkdir /mnt/crypthome # mount /dev/mapper/crypthome /mnt/crypthome

Uma vez montada a partio, voc pode copiar arquivos para a pasta "/mnt/crypthome" de forma transparente. Por padro, ela propriedade do root, de forma que voc no consegue escrever dentro da pasta usando seu login de usurio, mas isso fcil de resolver. Basta usar o comando comando "chown -R", especificando o seu usurio, como em:

# chown -R joao.joao /mnt/crypthome

Para desmontar a partio, feche todas as janelas do Konqueror ou Nautilus onde os arquivos da pasta estejam sendo exibidos e use os comandos:

# cd ~

2 de 6

25-05-2011 16:47

Linux: Encriptando o pendrive usado para transp...


# umount /mnt/crypthome # cryptsetup luksClose /dev/mapper/crypthome

http://www.hardware.com.br/dicas/encriptacao-p...

O "cd ~" apenas para garantir que os comandos de desmontagem sejam executados fora da pasta, j que voc no consegue desmont-la enquanto est acessando-a. Com isto terminamos a parte terica. Como voc viu, bem simples encriptar e acessar a partio usando o cryptsetup. Naturalmente, o desempenho fica um pouco mais baixo, j que o sistema precisa cuidar do processo de encriptao, mas em uma mquina atual a perda no to grande assim. O passo seguinte adaptar os scripts para salvar e restaurar os backups que criamos na dica anterior, para que eles incorporem os comandos de montagem e desmontagem do volume. O script atualizar.sh anterior era:

#!/bin/sh pasta=`mount | grep sd | grep ext3 | tail -n 1 | cut -f 3 -d " "` cd $pasta dialog --yesno pendrive?" 0 0 resp=`echo $?` "Tem certeza que deseja atualizar os arquivos no

if [ "$resp" = "1" ]; then exit 0 else mkdir joao rsync -av --delete /home/joao/ ./joao mkdir trabalho rsync -av --delete /mnt/hdb2/trabalho/ ./trabalho sync fi

Com as novas funes ele ficar:

#!/bin/sh # Instala o cryptsetup caso necessrio if [ -e "/sbin/cryptsetup" ]; then echo "cryptsetup encontrado." else apt-get install cryptsetup hashalot fi

# Monta o volume encriptado part="`mount | grep sd | tail -n 1 | cut -c 1-8`2" cryptsetup luksOpen $part crypthome mkdir /mnt/crypthome &>/dev/null mount /dev/mapper/crypthome /mnt/crypthome cd /mnt/crypthome # Aborta caso algo d errado durante a montagem: verificador=`pwd` verificador2=`mount | grep /mnt/crypthome` if [ "$verificador" != "/mnt/crypthome" -o -z "$verificador2" ]; then exit 0; fi # Atualiza os arquivos dialog --yesno pendrive?" 0 0 resp=`echo $?` if [ "$resp" = "1" ]; then exit 0 else mkdir joao rsync -av --delete /home/joao/ ./joao chow -R joao.joao ./joao mkdir trabalho rsync -av --delete /mnt/hdb2/trabalho/ ./trabalho sync fi # Desmonta "Tem certeza que deseja atualizar os arquivos no

3 de 6

25-05-2011 16:47

Linux: Encriptando o pendrive usado para transp...


cd ~ umount /mnt/crypthome cryptsetup luksClose /dev/mapper/crypthome

http://www.hardware.com.br/dicas/encriptacao-p...

Com as alteraes ele ficou bem mais complexo, mas parte das alteraes so checagens opcionais, que voc pode remover do seu script. A parte inicial ("instala o cryptsetup caso necessrio") executa os comandos de instalao caso no encontre o arquivo "/sbin/cryptsetup", enquanto a terceira funo ("aborta caso algo d errado durante a montagem"), checa se a partio foi realmente montada e se foi possvel acessar a pasta e aborta a operao caso algo tenha dado errado. A funo part="`mount | grep sd | tail -n 1 | cut -c 1-8`2" que usei, serve para descobrir qual a partio do pendrive, caso o dispositivo mude ao plugar em outro micro. Note que o nmero "2" no final faz sempre com que seja usada a segunda partio (sda2, sdb2, sdc2, etc.). altere o nmero caso a partio encriptada seja outra. Lembre-se tambm de substituir o "joao" pelo seu login de usurio no sistema. A principal mudana que este novo script precisa ser executado como root, j que apenas ele pode executar os comandos para montar e desmontar o volume. Para isso, use a opo "Executa como um usurio diferente", "Nome do usurio: root" nas opes do atalho. No caso do Ubuntu ou Kurumin, voc pode tambm adicionar o "sudo" no incio do comando executado pelo atalho:

O script restaurar.sh fica quase igual ao primeiro. A nica diferena entre os dois so os comandos do rsync que restauram o backup. Ele tambm precisa ser executado como root:

#!/bin/sh # Instala o cryptsetup caso necessrio if [ -e "/sbin/cryptsetup" ]; then echo "cryptsetup encontrado." else apt-get install cryptsetup hashalot fi

# Monta o volume encriptado part="`mount | grep sd | tail -n 1 | cut -c 1-8`2" cryptsetup luksOpen $part crypthome mkdir /mnt/crypthome &>/dev/null mount /dev/mapper/crypthome /mnt/crypthome cd /mnt/crypthome # Aborta caso algo d errado durante a montagem: verificador=`pwd` verificador2=`mount | grep /mnt/crypthome` if [ "$verificador" != "/mnt/crypthome" -o -z "$verificador2" ]; then exit 0; fi # Atualiza os arquivos dialog --yesno pendrive?" 0 0 resp=`echo $?` if [ "$resp" = "1" ]; then "Tem certeza que deseja atualizar os arquivos no

4 de 6

25-05-2011 16:47

Linux: Encriptando o pendrive usado para transp...


exit 0 else rsync -av --delete ./joao/ /home/joao rsync -av --delete ./trabalho/ /mnt/hdb2/trabalho sync fi # Desmonta cd ~ umount /mnt/crypthome cryptsetup luksClose /dev/mapper/crypthome

http://www.hardware.com.br/dicas/encriptacao-p...

Finalmente, temos um novo script, o montar.sh, que apenas monta e exibe o contedo do volume encriptado. Nele, os comandos que criam e restauram o backup, so substitudos pelo comando que abre o gerenciador de arquivos, mostrando os arquivos depois da montagem. Depois que ele fechado, o volume desmontado automaticamente:

#!/bin/sh # Instala o cryptsetup caso necessrio if [ -e "/sbin/cryptsetup" ]; then echo "cryptsetup encontrado." else apt-get install cryptsetup hashalot fi

# Monta o volume encriptado part="`mount | grep sd | tail -n 1 | cut -c 1-8`2" cryptsetup luksOpen $part crypthome mkdir /mnt/crypthome &>/dev/null mount /dev/mapper/crypthome /mnt/crypthome cd /mnt/crypthome # Aborta caso algo d errado durante a montagem: verificador=`pwd` verificador2=`mount | grep /mnt/crypthome` if [ "$verificador" != "/mnt/crypthome" -o -z "$verificador2" ]; then exit 0; fi konqueror /mnt/crypthome # Desmonta cd ~ umount /mnt/crypthome cryptsetup luksClose /dev/mapper/crypthome

Ao usar o Gnome, voc pode substituir o "konqueror /mnt/crypthome" pelo comando equivalente do Nautilus: "nautilus /mnt/crypthome". Depois de criar o atalho, idntico aos dois anteriores, voc tem o conjunto que vimos no screenshot inicial:

Veja que os arquivos no aparecem mais na partio com os atalhos, pois agora esto escondidos dentro da partio encriptada. S mesmo voc, que sabe a passphrase, consegue acess-la, seja utilizando os scripts, seja manualmente.

Nesta dica, apenas inclu os scripts prontos, sem me preocupar muito em explicar o que faz cada funo. Voc pode se aprofundar no uso do terminal e na criao de shell scripts nestes dois guias que publiquei anteriormente. Eles lhe daro a base necessria para personalizar os scripts, adicionando novas funes e criar

5 de 6

25-05-2011 16:47

Linux: Encriptando o pendrive usado para transp...


outros para automatizar as tarefas do dia a dia:

http://www.hardware.com.br/dicas/encriptacao-p...

Usando o terminal: No incio, todos os sistemas operacionais usavam apenas interfaces de modo texto. Antes do Windows, existiu o DOS e, antes do KDE, Gnome e todas as outras interfaces que temos atualmente, o Linux tinha tambm apenas uma interface de modo texto. A diferena que no Linux a interface de modo texto evoluiu junto com o restante do sistema e se integrou de uma forma bastante consistente com os aplicativos grficos. Quanto mais voc aprende, mais tempo voc acaba passando no terminal; no por masoquismo, mas porque ele realmente mais prtico para fazer muitas coisas. Por Carlos E. Morimoto http://www.hardware.com.br/guias/12/ Guia: Programando em Shell Script: Praticamente tudo no Linux pode ser automatizado atravs de shell scripts. possvel criar desde utilitrios simples, que baixam arquivos, fazem backup ou instalam programas, at aplicativos complexos em tempo recorde. Escrever programas em shell script muito mais rpido do que escrever em qualquer outra linguagem, permitindo desenvolver aplicativos em minutos. Aprender shell script um pr-requisito para qualquer usurio avanado ou bom administrador de redes, alm de ser a porta de entrada para outras linguagens. O melhor de tudo que voc pode treinar em qualquer distribuio Linux, mesmo ao rodar o sistema a partir do CD. Este mais um guia longo e detalhado, que aborda em detalhes o desenvolvimento de scripts, do bsico ao avanado, com destalhe para o desenvolvimento de scripts grficos, usando o kdialog e o kommander; uma rea pouco explorada em outros tutoriais. Por Carlos E. Morimoto http://www.hardware.com.br/guias/09/ Por Carlos E. Morimoto. Revisado 8 de maio de 2007 s 12h29 1 comentrio

Comentrios
Fazer novo comentrio

Soluo para Windows


por Jose Josino (annimo) em 7 de setembro de 2010 s 17h32 Existe alguma soluo parecida com essa para a plataforma Windows ??

Responder

Destaques
Guia do Hardware agora Hardware.com.br Tirando o mximo do Motorola Milestone Usando o Windows Terminal Server (WTS) Debian, a distribuio do sculo! Firewire (IEEE 1394) Um curioso emulador de PC que roda Linux via Javascript Montando a rede: Tomadas e emendas Programao Orientada a Objetos: uma introduo Smartphones e compras no exterior: PayPal Instalando e utilizando o Zimbra Linux: juntando as peas Hardware II, o Guia Definitivo Siga-nos: RSS | Twitter | Facebook

Gostou do texto?
Veja nossos livros impressos: Smartphones | Linux | Hardware Redes | Servidores Linux ... ou encontre o que procura usando a busca:
Buscar

1999-2011 Hardware.com.br. Todos os direitos reservados.

Home

Frum GdH

RSS

Equipe

Topo

6 de 6

25-05-2011 16:47

Você também pode gostar