Como posso usar a autenticação do ldap com criptografia de disco completo?

4

Estou avaliando (x) o cliente ubuntu para o desenvolvedor de software da minha empresa. Devemos usar criptografia completa de disco por causa do software, que não salva seus arquivos em / home (como bancos de dados). A empresa usa "diretório ativo" como solução LDAP.

No início do sistema, eu gostaria que a autenticação do usuário LDAP desbloqueie a criptografia. Isso é facilmente possível com as ferramentas do Linux?

Eu sei de LVM com Luks, mas afaik é uma senha e não conectável com ldap.

Uma solução semelhante para o Windows é o "DriveLock".

    
por keiki 28.06.2014 / 21:37

1 resposta

0

Solução 1: usando um script crypttab para consultar o LDAP

A criptografia de disco completo precisa da chave antes que o usuário seja autenticado. Por essa razão, você precisa escrever / encontrar um script que seja executado pelo crypttab quando você usar a criptografia de disco completo padrão do Ubuntu. Um exemplo muito simples (sem LDAP) pode ser encontrado aqui . Um exemplo de script python de autenticação LDAP pode ser encontrado aqui . Se você precisar de vários usuários para usar a máquina, você terá que ser criativo para ver como a autenticação LDAP fornecerá a mesma chave de disco o tempo todo (por exemplo, várias cópias criptografadas da chave localmente, descriptografadas com senha de usuário?)

Solução 2: mapeando os arquivos / direção para um diretório inicial criptografado

Se eu entendi corretamente, você precisa de uma solução que essencialmente estenda um diretório pessoal criptografado com alguns outros locais que são acessados pelo software executado pelo usuário. Você pode então usar a autenticação LDAP padrão para fazer o login inicial do usuário.

Solução 2a: usando ln -s

ln -s cria links simbólicos. Se você planeja ter uma configuração estática em que o mesmo usuário usa a máquina o tempo todo, essa configuração pode funcionar. Use ln -s para redirecionar os arquivos / pastas para os quais o software está gravando (redirecionar para o diretório inicial criptografado). Ou simplesmente tentar descobrir se você pode reconfigurar (através de recompilação?) O diretório de saída do software.

Solução 2b: usando loopfs

A última solução é semelhante aos diretórios pessoais criptografados: use sistemas de arquivos de loopback armazenados no diretório inicial do usuário e criptografe o diretório inicial. Se você sabe exatamente onde o seu software armazena os dados, você pode escrever um script para montar os sistemas de arquivos de loopback nesses locais. Vou esboçar uma solução agora, você pode adaptá-la às suas necessidades específicas.

Por exemplo, suponha que seu software precise armazenar dados confidenciais em / opt / foo. Eu suponho que / opt / foo está atualmente vazio. Eu não tenho 100% de certeza sobre a maneira atual do Ubuntu de fazer isso, mas essencialmente você precisa:

crie um arquivo vazio de tamanho apropriado com dd , vamos chamá-lo de um myLoopFS

use losetup /dev/loop0 yourfile ou similar para conectar seu arquivo ao dispositivo de loopback (como / dev / loop0). Você pode até criptografar esse arquivo com losetup -e AES , mas isso não é necessário, pois ele será armazenado no diretório pessoal criptografado.

Em seguida, formate / dev / loop0 com ext4.

Em seguida, monte-o em / opt / foo quando o usuário fizer login.

O software grava no / dev / loop0, que entra no seu arquivo myLoopFS.

Certifique-se de que / dev / loop0 seja desmontado novamente quando o usuário efetuar logout.

Esse sistema deve atender às suas necessidades, a menos que seu software esteja escrevendo dados confidenciais em todo o lugar.

Resumo

Eu não encontrei um software pronto para resolver seu problema, mas parece fácil de resolver com ferramentas padrão do linux como ln -s , losetup ou usando scripts crypttab.

    
por noleti 12.07.2014 / 16:17