Estou configurando alguns novos servidores Ubuntu e gostaria de proteger os dados deles contra roubo. O modelo de ameaça é atacantes que desejam o hardware ou atacantes ingênuos que desejam os dados.
Por favor, tome nota desta seção.
O modelo de ameaça não inclui atacantes inteligentes que desejam os dados; Presumo que eles farão um ou mais dos seguintes procedimentos:
Emendar um no-break no cabo de alimentação para manter a máquina funcionando continuamente.
Insira um par de pontes Ethernet entre o computador e o ponto de terminação da rede que fará a ponte do tráfego em uma rede sem fio de alcance suficiente para que o host mantenha a conectividade da rede.
Abra a caixa e use uma sonda no barramento de memória para pegar coisas interessantes.
Use os dispositivos TEMPEST para analisar o que o host está fazendo.
Use meios legais (como uma ordem judicial) para me forçar a divulgar os dados
Etc etc.
Então, o que eu quero é ter alguns, ou o ideal, todos os dados no disco em uma partição criptografada, com o material essencial necessário para acessá-lo em algum tipo de mídia externa. Dois métodos em que posso pensar para armazenar o material principal são:
Armazene-o em um host remoto acessível via rede e configure o suficiente da rede para recuperá-lo durante o processo de inicialização. A recuperação seria permitida apenas para o endereço IP atribuído ao host seguro (não permitindo acesso aos dados criptografados se fossem inicializados em outra conexão de rede) e poderia ser desativada pelos administradores se fosse descoberto que a máquina foi roubada.
Armazene-o em um dispositivo de armazenamento USB que seja de alguma forma significativamente mais difícil de roubar do que o próprio host. A localização remota do host, como no final de um cabo USB de cinco metros que leva a outro canto da sala, ou mesmo a outra sala, provavelmente diminuiria significativamente as chances de invasores pegá-lo. Protegê-lo de alguma forma, como acorrentá-lo a algo imóvel ou até colocá-lo em um cofre, funcionaria ainda melhor.
Então, quais são minhas opções para configurar isso? Como eu disse antes, eu preferiria ter tudo (exceto talvez uma pequena partição de inicialização que não contenha / etc) criptografada, para que eu não precise me preocupar sobre onde estou colocando os arquivos ou onde eles estão ' acidentalmente pousando.
Estamos executando o Ubuntu 9.04, se isso fizer alguma diferença.
fonte
Respostas:
Conheço uma variante inteligente da opção 1 chamada Mandos.
Ele usa uma combinação de um par de chaves GPG, Avahi, SSL e IPv6, todos adicionados ao seu disco RAM inicial para recuperar com segurança a senha de chave da partição raiz. Se o servidor Mandos não estiver presente na LAN, seu servidor é um bloco criptografado ou o servidor Mandos não recebe uma pulsação do software cliente Mandos por um determinado período de tempo, ignorará solicitações futuras para esse par de chaves e o servidor é um tijolo criptografado na próxima vez em que for inicializado.
Página inicial do Mandos
Mandos README
fonte
ip=
e osmandos=connect
parâmetros, consulte este e-mail: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-February/…, mas observe que isso é um tanto frágil quanto o os clientes tentarão se conectar ao servidor especificado apenas uma vez e, de outra maneira, falharão irrevogavelmente. A configuração recomendada é via LAN. Eu também posso mencionar que Mandos está disponível no Ubuntu desde 9.04 (e também em testes Debian)Se você está apenas procurando se proteger contra invasores não técnicos, acho que sua melhor aposta é uma melhor segurança física.
Meu pensamento é assim:
Se você estiver procurando por uma bota que não exija interação humana para inserir material essencial, não encontrará nenhuma solução que seja protegida contra roubo casual por um adjunto com quaisquer habilidades técnicas (ou, mais apropriadamente, o capacidade de pagar alguém com habilidades técnicas).
Colocar o material chave em algo como um pen drive USB não ofereceria nenhuma segurança real. O invasor pode simplesmente ler a chave do pen drive. O pen drive não pode saber se o computador em que foi conectado é o servidor ou o laptop do invasor. Tudo o que o invasor precisa fazer é ter certeza de que eles pegam tudo ou, no caso de sua chave USB no final de um cabo extensor USB de 15 pés de comprimento preso dentro de um cofre, basta conectar o cabo extensor ao PC e ler a chave.
Se você for transferir a chave pela rede, provavelmente a "criptografará". Tudo o que o invasor precisa fazer é escutar o processo de codificação, roubar o servidor e fazer engenharia reversa de qualquer "criptografia" que você fez quando enviou a chave pela rede. Por definição, o computador servidor que recebe uma chave "criptografada" da rede deve ser capaz de "descriptografar" essa chave para usá-la. Então, na verdade, você não está criptografando a chave - está apenas codificando-a.
Por fim, você precisa de uma inteligência (artificial?) Presente para inserir a chave no servidor. Alguém que pode dizer "Eu sei que não estou divulgando a chave para ninguém, exceto o computador servidor, e sei que não foi roubado". Um humano pode fazer isso. Um pen drive USB não pode. Se você encontrar outra inteligência que possa fazê-lo, acho que terá algo comercializável. > sorriso <
Acho que é mais provável que você perca a chave e destrua seus dados sem ganhar nenhuma segurança. No lugar de sua estratégia com jogos de criptografia, acho melhor você ter uma segurança física mais forte.
Editar:
Acho que estamos trabalhando com diferentes definições do termo "modelo de ameaça", talvez.
Se o seu modelo de ameaça é roubo de hardware, a solução proposta: a criptografia de disco não está, a meu ver, fazendo nada para neutralizar a ameaça. Sua solução proposta parece uma contramedida contra roubo de dados, não roubo de hardware.
Se você deseja impedir que o hardware seja roubado, é necessário prendê-lo, travá-lo, envolvê-lo em concreto etc.
Eu já disse o que queria dizer sobre: roubo de dados, para não falar sobre isso novamente, exceto para dizer: se você vai colocar a chave em um dispositivo físico e não pode proteger se o computador servidor for roubado, também não será possível proteger o dispositivo chave.
Acho que sua melhor solução "barata" é manipular algum tipo de troca de chaves baseada em rede. Eu colocaria um ou mais humanos no loop para autenticar a "liberação" da chave no caso de uma reinicialização. Isso causaria tempo de inatividade até que o humano "liberasse" a chave, mas pelo menos lhe daria a chance de descobrir por que uma "liberação" chave estava sendo solicitada e decidir se deveria ou não fazê-lo.
fonte