Linux açılış yükleyicileri tam disk şifrelemesini destekliyor mu?


28

Tam disk şifrelemesini destekleyen herhangi bir Linux önyükleyici var mı (la TrueCrypt ). GRUB2'ye şifreleme desteği eklemek için çalışmalar olduğunu biliyorum, ancak bu henüz hazır görünmüyor. Başka seçenek var mı?

(Burada gerçekten tam disk şifrelemesine atıfta bulunduğumu unutmayın - dahil /boot)

Cevapların çoğu /bootşifrelenmemiş bir kurulumu açıklar ve bazıları şifrelenmemiş bir şifrenin neden /boottamam olması gerektiğini açıklamaya çalışır .

Şifrelenmeye neden gerçekten ihtiyaç duyduğum / önyükleme yaptığım hakkında bir tartışma yapmadan, GRUB2'nin değiştirilmiş bir sürümüne dayanarak tam olarak ihtiyacım olanı açıklayan bir makale:

Bununla ilgili sorun, bu değişikliklerin görünüşte şu anki GRUB2 kod tabanında desteklenmemesi (ya da belki bir şeye bakmam).


evet, burada mükemmel bir howto var: wiki.archlinux.org/index.php/…
ebal

Yanıtlar:


20

GRUB2'nin şu anki sürümünün LUKS bölümlerini kendi başına yükleme ve şifresini çözme desteği olmadığını düşünüyorum (bazı şifreler içeriyor, ancak yalnızca şifre desteği için kullanıldığını düşünüyorum). Deneysel gelişim branşını kontrol edemiyorum, ancak GRUB sayfasında, yapmak istediğinizi uygulamak için bazı çalışmaların planlandığı bazı ipuçları var.

Güncelleme (2015) : GRUB2'nin (2.00) en son sürümü, LUKS ve GELI şifreli bölümlerine erişmek için zaten kod içeriyor. (Sağlanan xercestch.com bağlantısı, bunun için ilk yamaları belirtiyor, ancak şimdi en son sürümde bulunuyorlar).

Ancak, güvenlik nedeniyle tüm diski şifrelemeye çalışıyorsanız, şifrelenmemiş bir önyükleyici (TrueCrypt, BitLocker veya değiştirilmiş bir GRUB gibi) şifrelenmemiş bir /bootbölümden daha fazla koruma sağlamadığını lütfen unutmayın ( yukarıdaki açıklamada JV tarafından belirtildiği gibi) . Bilgisayara fiziksel erişimi olan herkes, onu kolayca özel bir sürümle değiştirebilir. Bağlandığınız xercestech.com adresindeki makalede bile bahsedilmiştir:

Açıkçası, eğer bir saldırgan bootloader'ınızı kendi koduyla değiştirecekseydi ya da boot kodunu kendi kodlarını boot etmesi için yeniden başlatırsa, sisteminiz yine de tehlikeye girebilir.

Tam disk şifrelemeye yönelik tüm yazılım tabanlı ürünlerin şifrelenmemiş bir önyükleyici veya şifrelenmemiş bir önyükleme / önyükleme bölümü kullanmaları farketmeksizin bu zayıflığa sahip olduğunu unutmayın. BitLocker gibi TPM (Trusted Platform Module) yongalarını destekleyen ürünler bile donanımda değişiklik yapmadan kaynaklanabilir.

Daha iyi bir yaklaşım olacaktır:

  1. BIOS düzeyinde şifre çözme (anakart veya disk adaptöründe veya harici donanımda [akıllı kart], TPM yongası olan veya olmayan) veya
  2. PBA (ön yükleme yetkilendirme) kodunu ( /bootbu durumda bölüm) çıkarılabilir bir cihazda (akıllı kart veya USB bellek gibi) taşıyın.

İkinci yol için, Linux Tam Disk Şifreleme (LFDE) projesini http://lfde.org/ adresinden kontrol edebilirsiniz. Bu, /bootbölümü harici bir USB sürücüye taşımak için bir yükleme sonrası komut dosyası sağlar ve anahtarı şifreleyerek GPG ve USB'ye de saklayın. Bu şekilde, önyükleme yolunun zayıf kısmı (şifrelenmemiş /bootbölüm) her zaman yanınızdadır (şifre çözme koduna ve anahtara fiziksel erişimi olan tek kişi siz olacaksınız). ( Not : bu site kaybedildi ve yazarın blogu da ortadan kalktı, ancak eski dosyaları 6 yıl önce yapılan son gelişmeye dikkat edin) https://github.com/mv-code/lfde adresinde bulabilirsiniz . Daha hafif bir alternatif olarak, işletim sisteminizi kurarken şifrelenmemiş önyükleme bölümünü bir USB belleğe takabilirsiniz.

Saygılar, MV


1
BIOS düzeyinde

1
Herhangi bir çalışma uygulaması bilmiyorum, ancak EFI / UEFI, ortak bir önyükleme yükleyicisini değiştirmek için özel bir EFI Önyükleme Yöneticisi ekleme seçeneğine sahiptir; verilerin şifresini çözmek için bir şifre çözme katmanı ekleyebilir (tabii ki daha sonra bir EFI platformuna ihtiyacınız olacak) ). Veya CoreBoot (ADLO, SeaBIOS, OpenBIOS, vb.) İle ilgili bazı projeler bunu yapmak için değiştirilebilir. Sadece fikirler.

4
Yalnızca şifrelenmemiş / önyükleme bölümü kullanmanın zayıflığı hakkında daha fazla bilgi eklemek için (ancak şifrelenmemiş bir önyükleyici için de geçerlidir): twopointfouristan.wordpress.com/2011/04/17/… (önyükleme nasıl değiştirilir) montaj şifresini ve şifreli bölümdeki herhangi bir dosyayı almak için 10 dakikalık bir fiziksel erişim bölümüne bölüm)

1
@ MV .: Teşekkürler. Bunu kendim test edebilir ve /bootGRUB2 ile şifrelenmiş bölümleri kullanmak için daha ayrıntılı adımlar içeren bir cevap ekleyebilirim .
Peque

1
@ 에이 바: hayır, bununla ilgili (TPM ile LUKS kullanma) ancak daha önce lfde.org'da (şu anda bir aeroclub ile ilgili bir site olan) daha önce barındırılan proje değil.
MV.

4

İlk RAM diskinizi ve / boot klasörünüzü şifreleme kullanmadığından emin olun.

Bu , şifreli "gerçek" kök dosya sistemine geçmek için sürücüleri ve desteği olan "minimal" bir çekirdeği getirir .

"Bu bir kesmek" olduğunu iddia etmeden önce - hatırla - çoğu (hepsi değilse) Linux dağıtımları bugün varsayılan olarak bu şekilde önyüklenir. Bu açıkça, bir dosya sisteminden yüklemesi gereken modülleri kullanarak, sisteminizin kök FS'nizi açıp yüklemesini sağlar. (Bir tür tavuk ve yumurta problemi). Örneğin, kök dosya sisteminiz bir donanım RAID birimindeyse ve kök FS'nizi takmadan önce sürücüsünü yüklemeniz gerekiyordu.


3

Gönderdiğiniz bağlantıyı gözden geçirdim - önyükleme bölümü olmasa da, sabit diskte hala kötü bir hizmetçi saldırısı kullanılarak erişilebilen ve tehlikeye girebilecek şifreli olmayan bir önyükleyici var. Sabit diskte şifrelenmemiş veri bulunmadığı benzer bir kurulum yapıyorum, ancak şimdiye kadar yalnızca çıkarılabilir bir sürücüden önyükleme yükleyicisi çalıştırmaya başladım.


Evet, hala şifrelenmemiş bir önyükleyici var. Bu benim için kabul edilebilir.

Kötü hizmetçi, sizi kandırmak için sahte bir şifre istemi yapması için önyükleyici yüküne bulaşabilir ve şifrelenmemiş truva atılmış çekirdeği yükler. Çekirdeği şifrelemek, önyükleyiciyi şifrelemeden çok az kazanır.
Skaperen

1

Birçoğunun yaptığı, ihtiyacınız olan şeyin işletim sistemini şifreli HD ile nasıl kuracağınıza ilişkin talimatlar olduğuna inanıyorum.

Ubuntu , şifreli bölümler, LMVP'ler, klasörler vb. Yapma talimatlarını içeren hoş bir sayfaya sahiptir.


2
Ubuntu dahil olmak üzere çoğu Linux dağıtımı, bölümleri şifrelemek için bir tür destek içerir, ancak şifrelenmemiş olmaları gerekir. Aradığım şey tamamen şifrelenmiş bir diski işleyebilen bir önyükleyici.

1
Önyükleyicinin en azından bir kısmının şifrelenmemiş olması gerekiyor, aksi takdirde CPU çalıştıramadı. / Boot şifrelenmemiş bırakmak ile ilgili herhangi bir sorun var mı?

2
Boot loader ve / boot farklı şeylerdir. Tamamen şifrelenmiş bir diski önyükleyebildiğinden daha fazla yükleyici arıyorum. TrueCrypt bunu Windows için yapabilir ancak Linux için yapamaz.

Aradaki fark, windows bootloader'ın mbr'da kendisinin içinde yer almasıdır. Linux üzerinde mbr sadece gerekli / boot dosyalarına bağlanır.
JV

1
"Önyükleme öncesi kimlik doğrulama, önyükleme sürücüsünün ilk izinde bulunan TrueCrypt Önyükleme Yükleyicisi tarafından gerçekleştirilir" - aka, pencerelerde bir mini / önyükleme oluşturur. Yine, grubun kendisi / boot içinde bulunur, mbr sadece 512 byte'tır, şifre çözme algoritmasını saklamak için yeterli değildir. Ancak bitti, sabit sürücünün bir kısmı şifrelenmemiş olarak sağlanmalıdır. Şifrelenmiş bir bölümdeki gruba tamamen farklı bir önyükleyiciden gruba başlayabilirsin ama bu ciddi bir karışıklık kodu gerektirebilir ...
JV

0

Hayır, sanırım yok.

Gerçekten / şifrelemek şifrelemek mi gerekiyor Ben şüpheli değilim. Dosya sisteminin geri kalanı, / initramfs initramfs'inde bulunan ve kullanıcıyı buna göre yönlendiren normal Linux yazılımı ile şifrelenebilir.


2
Evet, şifrelemeye / önyüklemeye ihtiyacım var. Önyükleyicinin kendisi dışında her şey şifrelenmelidir.

Lütfen neden tam disk şifrelemeyi destekleyen önyükleyici olmadığına inandığınızı açıklayın.
this.josh

@Grodriguez: önyükleme yükleyicisinin bir parçası olarak / önyükleme yapmayı düşünüyorsanız, her şey şifrelenir - çalışma zamanında kullanılan tüm ikili dosyalar, tüm kullanıcı verileri vb.
MarkR

2
Başka bir cevapla ilgili bir yorumda belirtildiği gibi: Şifrelenmemiş her zaman "bir şey" olması gerektiğini biliyorum - sadece bir "önyükleme bölümü yerine önyükleyici (MBR + önyükleme sektörü) olması için bu" bir şeye "ihtiyacım var. .

0

Yapılması imkansız olan bir şeyi soruyorsunuz ve sizden uygulamayı gizleyen bir Windows çözümü ile karşılaştırıyorsunuz ama gerçekte Linux'un yaptığı şeyi yapıyor.

Aklıma gelen en yakın çözüm, güvenlik şifresi ve şifreleme uygulayan bir sabit disk kullanmak. Thinkpad dizüstü bilgisayarlarından bazıları bu donanım çözümlerini kullanır.


2
Üzgünüm, ama bunun neden "imkansız" olması gerektiğini anlamıyorum. Soruma bağladığım makale bunun yapılabileceğini kanıtlıyor. GRUB 2'nin değiştirilmiş bir versiyonunu kullanarak bir konsept kanıtı uygulandı. Şifrelenmemiş "bir şey" olması gerektiğini biliyorum. / boot bölümünün.

@Grodriguez: İhtiyacınız hiç mantıklı değil. Başka bir işletim sistemi içinde sanal bir makine kullanırken gereksiniminiz karşılandı mı? Öyleyse, OS 1'i önyükleyin, sürücünün şifresini çözün ve VM'yi başlatın.
Zan Lynx,

2
Bağlandığım makaleyi okumayı denediniz mi? Gereksinimi anlamadığınız gerçeği, “bir anlam ifade etmiyor” anlamına gelmez. Bunun için geçerli nedenlerim var (ki bunlara girmek istemiyorum).

Makale, paragraf 3'te durumu iyileştirmediğini açıkça ortaya koyuyor. Yani geri kalanını takip etmek bana mantıklı gelmiyor, bu da nasıl kurulacağına değil nasıl kurulacağına odaklanıyor. Size neyin söyleyeceğini düşünün, çekirdeğinizi veya tamamını / botu kendim ile değiştirdim (kötü hizmetçi gibi davranırken).
Skaperen,

0

Cevap makale ile ima edildi. "Bu şimdi sadece" ve "yeni luks etkin grub2 resmimizi daha sonra kurmak istiyoruz" ve "yeni eklenmiş grub2 imajını daha sonra kurmak istiyoruz" ve "Şimdi yeni LUS özellikli GRUB2 kaynağını derliyoruz. " GRUB2 ya da çatallı bir GRUB2 kaynağına sahip olmanız ve eklemeniz gereken bir yama veya uzantı varmış gibi görünüyor.


0

Grub2 sürüm 2.02 ~ beta3, Grub2 sürüm 2.02 ~ beta2'nin yapamadığı, benim tarafımdan test edilen birçok şeyi yapabilir:

  1. Süper Grub 2 disk kullanarak önyükleme
  2. Komut satırına gitmek için 'c' tuşunu yazın
  3. İstediğim şifreli bölümü monte etmek için komutları yaz
    • insmod luks
    • cryptomount (hd0, #) // burada # şifreli bölümü temsil eder
  4. Parolayı yazın ve bazı komutları yazın
    • multiboot (crypto0) /grub/i386-pc/core.img
    • çizme

Bu, şifreli bir bölümün içindeki bir başka Grub2'yi yükler, kötü bir çılgın saldırının burada bir anlamı yoktur ... bir CD'den (sadece orta okuma) önyükleme yapıyorum, sonra şifreli bir bölüme montaj yapıyorum (parola olmadan kimsenin ne kadar cüret edebileceğini bir şey enjekte edin!), daha sonra şifreli bölümün içinden önyükleme yapın ve Grub2'yi kendi menüsü vb. ile yükleyin.

Not: Bu tür Grub 2.02 ~ beta3 önyükleme (Super Grub 2 cd kullanıyorum) USB bellek, USB HDD vb. Üzerinde olabilir.

Uyarı: Grub2 sürüm 2.02 ~ beta2 aynısını yapamaz çünkü komut cryptomount ile ilgili bazı HATALAR (Grub2 sürüm 2.02 ~ beta3'te sabit görünüyor)

hakkında konuştuğum beta2 hataları:

  1. Şifreli bölümü gerçekten bağlamaz, bu nedenle erişmenize izin vermez (crypto0) / *
  2. Birden fazla şifreli bölüm varsa, cryptomount -ayalnızca bir parola sormak için kullanma
  3. Cryptomount bir kez çalıştırdıktan sonra tekrar çalıştırılır hiçbir şey yapmaz

beta 3’de:

  1. Gerçekten şifrelenmiş bölümü monte eder ve aynı anda birden fazla takılıysa, (crypto0) / * veya (crypto1) / * etc aracılığıyla dosyalara erişmenize izin verir
  2. Her parola (şifreli bölüm başına bir tane) sorar.
  3. İstediğiniz kadar çalıştırmanıza izin verir, birini, sonra diğerini vb. Monte edebilirsiniz.

Yan not: Başka bir veya aynı grub2 / diğer bootloader, vb. Yeniden başlatma veya önyükleme dışında bunların nasıl çıkarılacağını çözmedim.

Bunun bir şeyi açıklığa kavuşturmasına yardımcı olmayı umuyoruz ve Grub2 sürüm 2.02 ~ beta3'ün LiveCD'lere entegre edilmesini umuyoruz, böylece bunları kendi başımıza derlemeye gerek kalmadan kurabiliriz.

PD: Super Grub 2 diskiyle, Grub2 sürüm 2.02 ~ beta3'ü MBR / boot bölümüne vb. Kurmak için hiçbir yol göremiyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.