Comandos do Linux e Unix: Sistema; Processos; Sistema de Arquivos; Rede; SSH SCP; VPN com SSH; RSYNC; SUDO; Arquivos Encriptados; Partições Encriptadas; Certificados SSL; CVS; SVN; Comando Úteis; Instalar Software; Converter Mídia; Impressão; Banco de Dados; Quota de Disco; Shells; Scripting; Programação

Criptografar Partições

Há (muitos) outros métodos de alternativa para criptografar discos, eu mostro aqui somente os métodos que conheço e utilizo. Tenha em mente que segurança só é boa desde que o OS não tenha sido adulterado. Um intruso poderia facilmente gravar a senha a partir de eventos teclado. Além do mais o dado é livremente acessível quando a partição for attached e não evitará que um intruso tenha acesso a isso neste estado.

Linux

Essas instruções utilizam o Linux dm-crypt (device-mapper ou mapeador de dispositivo) facilidade disponível no kernel 2.6. Nesse exemplo, vamos criptografar a partição /dev/sdc1, poderia no entanto ser qualquer outra partição ou disco, ou USB ou uma partição baseada em arquivo criada com losetup. Nesse caso poderias usar /dev/loop0. Veja file image partition. O mapeador de dispositivo utiliza etiquetas (labels) para identificar uma partição. Nós utilizamos sdc1 nesse exemplo, mas poderia ser qualquer string.

dm-crypt com o LUKS

LUKS com dm-crypt tem melhor criptografia e torna possível ter múltiplas passphrase para a mesma partição ou alterar a senha facilmente. para testar se o LUKS está disponível, simplesmente digite # cryptsetup --help, se nada a respeito do LUKS for exibido, use as instruções abaixo Without LUKS. Primeiro crie uma partição se necessário: fdisk /dev/sdc.

Criar partição criptografada

# dd if=/dev/urandom of=/dev/sdc1          # Opcional. For paranoids only (leva dias)
    # cryptsetup -y luksFormat /dev/sdc1       # Isso destrói qualquer dado no sdc1
    # cryptsetup luksOpen /dev/sdc1 sdc1
    # mkfs.ext3 /dev/mapper/sdc1               # cria sistema de arquivo ext3
    # mount -t ext3 /dev/mapper/sdc1 /mnt
    # umount /mnt
    # cryptsetup luksClose sdc1                # Desanexar a partição criptografada

Anexar

# cryptsetup luksOpen /dev/sdc1 sdc1
    # mount -t ext3 /dev/mapper/sdc1 /mnt

Desanexar

# umount /mnt
    # cryptsetup luksClose sdc1

dm-crypt sem LUKS

# cryptsetup -y create sdc1 /dev/sdc1      # ou qualquer outra partição como /dev/loop0
    # dmsetup ls                               # verifica, exibirá: sdc1 (254, 0)
    # mkfs.ext3 /dev/mapper/sdc1               # Isso é feito somente a primeira vez!
    # mount -t ext3 /dev/mapper/sdc1 /mnt
    # umount /mnt/
    # cryptsetup remove sdc1                   # Desanexar a partição criptografada

Faz exatamente o mesmo (sem a parte do mkfs!) para reanexar a partição. Se a senha não estiver correta, o comando mount falhará. Nesse caso simplesmente remova o map sdc1 (cryptsetup remove sdc1) e crie-a novamente.

FreeBSD

Os dois modulos de criptografia de disco populares do FreeBSD são o gbde e geli. Agora eu utilizo o geli por que ele é mais rápido e também utiliza o crypto device para aceleração de hardware. Veja o FreeBSD handbook Chapter 18.6http://www.freebsd.org/handbook/disks-encrypting.html para todos os detalhes. o módulo geli deve ser carregado ou compilado dentro do kernel:

options GEOM_ELI
    device crypto                                       # ou como modulo:
    # echo 'geom_eli_load="YES"' >> /boot/loader.conf   # ou faça: kldload geom_eli

Utilizar senha e chave

Eu utilizo essas configurações para uma criptografia de disco típica, ela utiliza uma passphrase AND uma chave para criptografar a chave mestre (master). Isso é, você precisa tanto da senha e quando da chave gerada /root/ad1.key para anexar a partição. A chave mestre fica armazenada dentro da partição e não fica visivel. Veja abaixo para USB típico ou imagem baseada em arquivo.

Criar partição criptografada

    # dd if=/dev/random of=/root/ad1.key bs=64 count=1  # Essa chave criptografa a chave mestre
    # geli init -s 4096 -K /root/ad1.key /dev/ad1       # -s 8192 também é bom para discos
    # geli attach -k /root/ad1.key /dev/ad1             # FAÇA um backup de /root/ad1.key
    # dd if=/dev/random of=/dev/ad1.eli bs=1m           # Opcional e leva um bom tempo
    # newfs /dev/ad1.eli                                # Cria sistema de arquivo
    # mount /dev/ad1.eli /mnt

Anexar

# geli attach -k /root/ad1.key /dev/ad1
    # fsck -ny -t ffs /dev/ad1.eli                      # na dúvida verifique o sistema de arquivo
    # mount /dev/ad1.eli /mnt

Desanexar

o procedimento de desanexação é feito automaticamente no shutdown.

# umount /mnt
    # geli detach /dev/ad1.eli

/etc/fstab

A partição criptografada pode ser configurada para ser montada com /etc/fstab. A senha será solicitada quando botar. As seguintes configurações são exigidas para esse exemplo:

# grep geli /etc/rc.conf
    geli_devices="ad1"
    geli_ad1_flags="-k /root/ad1.key"
    # grep geli /etc/fstab
    /dev/ad1.eli         /home/private              ufs             rw      0       0

Usar somente a senha

É mais conveniente criptografar um pendrive ou imagem baseada em arquivo com somente uma passphrase e sem chave. Nesse caso não é necessário carregar o arquivo de chave adicional por aí. O procedimento é o bem como o acima, simplesmente sem o arquivo chave. Vamos criptografar uma imagem baseada em arquivo /cryptedfile de 1 GB.

# dd if=/dev/zero of=/cryptedfile bs=1M count=1000  # Arquivo de 1 GB
    # mdconfig -at vnode -f /cryptedfile
    # geli init /dev/md0                                # criptografa somente com senha
    # geli attach /dev/md0
    # newfs -U -m 0 /dev/md0.eli
    # mount /dev/md0.eli /mnt
    # umount /dev/md0.eli
    # geli detach md0.eli

Agora é possível montar essa imagem em outro sistema somente com a senha.

# mdconfig -at vnode -f /cryptedfile
    # geli attach /dev/md0
    # mount /dev/md0.eli /mnt

imagem de disco criptografa do OS X

Não sabe somente por linha de comando. Veja Imagem de disco criptografada do OS Xhttps://wiki.thayer.dartmouth.edu/display/computing/Creating+a+Mac+OS+X+Encrypted+Disk+Image e Apple supporthttp://support.apple.com/kb/ht1578

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *