Automatize a unidade criptografada com segurança no login do usuário

15

Um diretório criptografado / home é montado automaticamente para mim quando eu faço o login. Eu tenho um segundo disco rígido interno que eu tenha formatado e criptografado com o Utilitário de Disco. Eu quero que seja montado automaticamente quando eu fizer login, assim como o meu diretório / criptografado é. Como faço isso?

Existem várias perguntas muito semelhantes aqui, mas as respostas não se aplicam à minha situação. Pode ser melhor fechar / mesclar minha pergunta aqui e editar a segunda abaixo, mas acho que ela pode ter sido abandonada (e, portanto, nunca ser marcada como aceita).

Esta solução não é um método seguro, ele contorna a criptografia.
Esse aqui requer a edição fstab , que exige a inserção de uma senha adicional na inicialização. Não é automática como montagem / home.
Esta questão é muito semelhante, mas não se aplica a uma unidade criptografada. A solução não vai funcionar para as minhas necessidades.
Aqui é um mas é para unidades NTFS, o meu é o ext4.

Eu posso reformatar e criptografar novamente a segunda unidade se uma solução exigir isso. Eu tenho todos os dados copiados em outro lugar.

    
por Tom Brossman 13.02.2012 / 14:06

5 respostas

5

Você não precisa mais das soluções acima.

Pré-requisitos:

  • uma instalação do Ubuntu 14.04 LTS
  • um diretório pessoal criptografado (consulte link )
  • o desejo de montar automaticamente uma unidade criptografada secundária [edit] ao efetuar login.

Observação: esse método é menos seguro do que montar manualmente uma unidade criptografada. Se alguém tiver acesso físico ao seu computador, você é descuidado com sua senha de root ou seu computador tem vários usuários / contas de convidado, esse método não é seguro ; a unidade secundária permanece montada quando você efetua logout, mas não encerra o sistema, portanto, seu conteúdo fica visível para outros usuários.

Parte 1: Criptografar a unidade secundária.

  1. No traço Unity, digite "discos" e pressione Enter.
  2. Abaixo de "Dispositivos", clique no disco rígido que você deseja criptografar.
  3. Abaixo de "Volumes", clique no botão cog / more actions.
  4. Clique em "Formatar volume". Para o tipo, escolha "Criptografado, compatível com sistemas Linux". Dê um nome à sua unidade e dê uma frase secreta strong.
  5. Clique em "Formatar"

Parte 2: Monte automaticamente o HDD na inicialização do sistema.

  1. Mantenha o aplicativo "Discos" aberto e clique na engrenagem.
  2. Clique em "Editar opções de criptografia".
  3. "Opções automáticas de criptografia" será ativado e o menu abaixo ficará desativado. Desative as opções de criptografia automática.
  4. Insira a frase secreta de quando você formatou o disco. Clique em "Ok".

Agora você tem um disco rígido criptografado que será montado automaticamente quando o computador inicializar.

    
por tryion 15.12.2015 / 06:43
9

Criando a resposta de @ johnf, mas usando mount.ecryptfs_private em vez disso:

  • criptografado /home/bob/ (por exemplo, em um SSD), usando a mágica criptografada normal do diretório inicial do Ubuntu.
  • criptografado /media/hdd/bob_extra/ (por exemplo, em um HDD), para ser montado em /home/bob/extra . Isso deve ser montado automaticamente no login, assim como o diretório home faz.
  • use as mesmas chaves / credenciais para ambos.

crie-o

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

teste-o

mount.ecryptfs_private extra

executando mount , você deve ver:

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

para desmontar:

sudo umount /media/hdd/bob_extra

configuração automática

Crie /home/bob/bin/automount_ecryptfs.extra , que irá montá-lo se ainda não tiver sido montado.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

Torne-o executável ( chmod +x ) e, em seguida, adicione-o em /home/bob/.bashrc :

...
/home/bob/bin/automount_ecryptfs.extra

Em seguida, adicione-o também aos aplicativos de inicialização do Gnome.

    
por rcoup 19.07.2012 / 11:09
9

Quando escrevi esta resposta há alguns anos, essa era a melhor maneira de implementar a solução. Agora eu sugiro que você olhe a próxima resposta usando mount.ecryptfs_private.

Eu também estava procurando uma maneira de montar automaticamente um segundo volume eCryptfs. A seguinte coleção de scripts e modificações de configuração montará seu volume com segurança e automaticamente no login, seja na GUI ou na CLI.

Existe uma solução melhor no processo de criação (embora eu ache que não estou pronta para a montagem automática no login do usuário, pois esse script terá uma vida útil limitada.):

ecryptfs em muito pequenas disco rígido - como adicionar links na criptografia?

A segurança dos scripts depende do seu diretório inicial ser criptografado com o eCryptfs para que o script e os arquivos com a senha para desembrulhar sua senha sejam criptografados. Se você deixar seu computador desbloqueado com um shell root aberto após o login, será possível acessar as senhas, no entanto, o uso do sudo NOPASSWD permite a montagem segura da partição sem exigir a inserção de senha ou deixando a senha em um arquivo legível pelo usuário.

Uma deficiência conhecida desses scripts é que o segundo volume não será desmontado no logout, portanto, não é adequado para sistemas com vários usuários.

Minha solução é implementada com várias partes, dois scripts de shell, um que executa a montagem real e outro que serve como um wrapper para ele.

Este é o script wrapper que valida se o diretório já está montado, se não estiver, ele irá chamar o script de montagem usando sudo:

/ home / johnf / scripts / automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  sudo /home/johnf/scripts/mount_other_ecryptfs
fi

Este script chama / home / johnf / scripts / mount_other_ecryptfs, que é o seguinte.

Observe que este script pressupõe que você tenha a criptografia de nome de arquivo ativada, caso contrário, será necessário modificar o script para lidar com a detecção (veja em ecryptfs-recover-private) ou você pode remover a opção de montagem ecryptfs_fnek_sig .

O seguinte é o script / home / johnf / scripts / mount_other_ecryptfs:

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG='head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig'
ECRYPTFS_FNEK_SIG='tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig'

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

Você também precisará criar um arquivo com sua senha, este arquivo será usado pelo comando mount do eCryptfs:

/ home / johnf / scripts / ecryptfs_passphrase:

passwd=secret_passphrase

Você precisa modificar as permissões em vários arquivos:

chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

Antes de criar os scripts, você precisa criar uma configuração de sudoers para permitir a execução do script de montagem usando o sudo sem inserir sua senha sudo.

Adicione o seguinte ao arquivo / etc / sudoers (ou um arquivo em /etc/sudoers.d). Você vai querer substituir johnf pelo seu nome de usuário. É necessário usar um caminho absoluto para o script de montagem.

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

O passo final é chamar o script automount_ecryptfs no login.

No Ubuntu Unity (e provavelmente no gnome) use o applet Startup Applications para criar um novo programa de inicialização que chame / home / johnf / scripts / automount_ecryptfs.

Para montar automaticamente o segundo volume eCryptfs no login em um shell bash, você desejará modificar seu arquivo ~ / .bashrc. Adicione o seguinte:

/home/johnf/scripts/automount_ecryptfs

Com esta configuração em vigor, você deve agora montar automaticamente o seu segundo volume eCryptfs.

    
por johnf 21.03.2012 / 02:37
1

Crie um script no seu diretório pessoal criptografado: ~/scripts/mount_storage.sh :

#!/bin/bash

sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
sudo mount /dev/mapper/storage /storage

Adicionar a "Aplicativos de inicialização":

sh ~/scripts/mount_storage.sh

Adicione a /etc/sudoers :

%sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

Você precisa ter criado o ponto de montagem /storage e alterar o UUID no script acima (encontre-o com blkid ).

    
por Raul Laasner 15.06.2014 / 11:25
-1

Eu tenho medo de que essa não seja uma resposta popular ...

Não será possível montar automaticamente qualquer partição criptografada, sem contornar a segurança da própria criptografia.

Pense no que significa " automaticamente " e entenda que automaticamente significa que eles também verão seus dados.

    
por Dustin Kirkland 19.02.2012 / 00:52