Execução de um servidor da web com um sistema de arquivos criptografado (todo ou parte dele)

6

Eu preciso de um servidor web (LAMP) rodando dentro de uma máquina virtual (# 1) rodando como um serviço (# 2) no modo headless (# 3) com parte ou todo o sistema de arquivos criptografado (# 4).

A máquina virtual será iniciada sem intervenção do usuário e fornecerá acesso a um aplicativo da Web para usuários na máquina host. Os pontos # 1, # 2 e # 3 estão marcados e provaram estar funcionando bem com o Sun VirtualBox, então minha pergunta é para o número 4:

Posso criptografar todo o sistema de arquivos e ainda acessar o servidor da Web (usando um navegador) ou o GRUB me solicitará uma senha?

Se a criptografia de todo o sistema de arquivos não for uma opção, posso criptografar apenas /home e /var/www ? O Apache / PHP poderá usar arquivos em /home ou /var/www sem pedir uma senha ou montar essas partições manualmente?

    
por 3498DB 05.05.2010 / 14:31

2 respostas

11

Se você quiser criptografar o disco inteiro, é necessário inserir a senha durante a fase de inicialização, o que provavelmente não é o que você deseja. Eu recomendo que você crie uma partição criptografada usando luks e coloque todos os dados sensíveis nessa partição. Depois que a máquina inicializar, você poderá fazer o ssh na caixa e desbloquear a partição.

Quanto a como fazer a criptografia, é muito fácil:

  • Crie a partição como você gosta
  • Formate a partição com luks:

    cryptsetup -c twofish -y luksFormat /dev/sda4
    
  • Desbloqueie a partição com luks:

    cryptsetup luksOpen /dev/sda4 encwww
    
  • Formate a paragrafia criptografada com um fs de sua escolha:

    mkfs.ext3 /dev/mapper/encwww
    
  • Você terminou e agora pode montar /dev/mapper/encwww

Para desbloquear a partição novamente após a reinicialização, é necessário fazer isso:

cryptsetup luksOpen /dev/sda4 encwww

e depois monte a partição.

    
por 05.05.2010 / 15:18
1

cryptsetup e dm-crypt não estão disponíveis nas distribuições padrão-linux e é uma solução bastante exótica, você deve tentar fazê-lo da maneira normal:

modprobe loop
modprobe cryptoloop
modprobe aes

dd if=/dev/urandom of=/yourContainerFile bs='expr 1024 \* 1024 \* 1024' count=yourSizeInGigaBytes

losetup -e aes-256 /dev/loop0 /yourContainerFile

mkfs.ext3 /dev/loop0

aae agora você está pronto para montar / dev / loop0 onde quiser - criptografia strong, feita corretamente; você pode até mesmo configurar seu fstab de uma forma que permita que a chave de criptografia seja lida a partir de um dispositivo USB que tenha que ser conectado em @ boot ... muito mais flexível E seguro - > Nunca siga os guias que usam "twofish" ou algo semelhante como criptografia ... esse algoritmo ainda não foi totalmente analisado, ninguém sabe se é seguro.

Ah, e: se você quer segurança além do escopo e poder das agencias secretas: use

/dev/random

em vez disso. O daemon de coleta de entropia do Linux fornece valores estatisticamente "bons", mas é muito lento.

E se você for realmente paranóico, compre um dispositivo que seja capaz de receber & medir radiação de fundo cósmica, conecte-a ao seu computador e deixe escrever para / dev / random :-D

    
por 26.02.2011 / 04:17