Linux'ta şifreli bir takas dosyasını nasıl ayarlarım?


15

2017 UYARI! Kabul edilen cevap işe yarıyor gibi görünse de, son çekirdeklerde sistemin değişmeye başlar başlamaz askıda kalacağını keşfettim. Şifrelenmiş bir takas dosyası kullanmaya çalışırsanız, dosyanın düzgün takas olduğundan emin olun. Sistemimin neden belirgin bir sebep olmadan kilitlenmeye devam ettiğini anlamak uzun zaman aldı. Doğru çalışan bir şifreli takas bölümü kullanmaya geri döndüm.


Linux'ta şifreli bir takas dosyasını (bölüm değil) nasıl ayarlarım? Hatta mümkün mü? Bulduğum tüm kılavuzlar şifreli takas bölümleri hakkında konuşuyor, ancak takas bölümüm yok ve diskimi yeniden bölümlendirmek istemiyorum.

Diske askıya alma desteğine ihtiyacım yok, bu yüzden her önyüklemede rasgele bir anahtar kullanmak istiyorum.

Verilerim için zaten bir TrueCrypt dosyası tarafından barındırılan birim kullanıyorum , ancak takasımı bu birime koymak istemiyorum. Daha iyi bir çözüm varsa takas dosyası için TrueCrypt kullanmaya ayarlı değilim.

Bu önemliyse , varsayılan çekirdekle Arch Linux kullanıyorum .


Bunun amacı tam olarak ne olurdu? Kullanırken şifresinin çözülmesi gerekir ve kullanılmadığında boş olur.
tkbx

1
Eğer aradığınız zaman encrypted swapfileilk sonuç potansiyel rayslinux.blogspot.de/2011/01/...
ott--

@ott, başlıkta "takas dosyası" demeye rağmen, bu yayındaki talimatları okursanız takas bölümünü açıkça tanımlarlar.
cjm

@tkbx, mesele, bilgisayarımı kapattıktan sonra birinin takas dosyasından hassas verileri kurtarmasını önlemektir. (Ya da birisi şifremi tahmin edemediğinden, canlı bir CD veya benzeri bir
dosyaya

2
@ tkbx, inanmıyorum. Bilgisayarınızı her kapatışınızda gigabaytlarca veri yazmanız gerekir. Takas dosyasındaki veriler, yeniden başlattığınızda kullanılmaz , ancak bu diskten silindiği anlamına gelmez.
cjm

Yanıtlar:


14

Gerçekten de, sayfa bir bölüm oluşturmayı açıklar, ancak bir swapfile için benzerdir:

dd if=/dev/urandom of=swapfile.crypt bs=1M count=64
loop=$(losetup -f)
losetup ${loop} swapfile.crypt
cryptsetup open --type plain --key-file /dev/urandom ${loop} swapfile
mkswap /dev/mapper/swapfile
swapon /dev/mapper/swapfile

Sonuç:

# swapon -s
Filename                                Type            Size    Used    Priority
/dev/mapper/swap0                       partition       4000176 0       -1
/dev/mapper/swap1                       partition       2000084 0       -2
/dev/mapper/swapfile                    partition       65528   0       -3

swap0 ve swap1 gerçek bölümlerdir.


loop-AES.README bölüm 7.1'de "Dosya destekli döngüler takas için kullanılamaz." Bu doğru değil mi (ya da sadece döngü-AES için geçerli)?
cjm

Bu cihaz eşleyici olmadan.
ott--

Ben senin cryptsetup komut kullanmak revize openyerine create(manpage kullanılmıyor diyor), ve bunun yerine bir şifre sorulmaz rastgele anahtar kullanmak. Çalışıyor gibi görünüyor.
cjm

Bu yeniden başlatmada devam etmiyor gibi görünüyor: "swapon: açılamıyor / dev / mapper / swapfile: Böyle bir dosya veya dizin yok"
therobyouknow

6

Bu Yapılandırma önyükleme sırasında rasgele oluşturulmuş anahtarlar kullanır ve sabit diske Hazırda Bekletme özelliğini desteklemez! Hazırda Bekletme durumunu, DE Güç Yönetimi Yardımcı Programı aracılığıyla devre dışı bırakmalı ve Veri Kaybını önlemek için Kritik Durumda Kapat'a ayarlamalısınız!

Aşağıdakileri çalıştırmadan önce sudo -sveya çalıştırdığınızdan emin olun su.

  1. Değiştirmeyi Devre Dışı Bırak:

    # swapoff -a
    
  2. Mevcut Takas Bölümünü bulun

    # lsblk
    

    Bunun gibi bir şey alacaksınız:

    sda3    8:3    0     8G  0 part [SWAP]
    
  3. Eski Takasın Üzerine Yaz

    # dd if=/dev/zero bs=1024000 of=/dev/sda<#>
    

    Örneğin:

    # dd if=/dev/zero bs=1024000 of=/dev/sda3
    
  4. fstab kurmak

    # vim /etc/fstab
    

    Eski SWAP cihazını crypttab eşleştirici adıyla değiştirin: /dev/mapper/cswap

    #<file system>      <mount point>   <type>  <options>   <dump>  <pass>
    /dev/mapper/cswap   none            swap    pri=1,defaults  0   0
    
  5. Kripto Kurulumu

    # ls -lF /dev/disk/by-id
    

    Örneğin:

    ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3 -> ../../sda3
    
    # vim /etc/crypttab
    
    # <name>    <device>                            <password>  <options>
      cswap     /dev/disk/by-id/ata-HGST_HTS545050A7E680_TEK55D4F0BU3GV-part3   /dev/urandom    swap,cipher=aes-cbc-essiv:sha256,size=256
    
  6. Etkin Şifreli Takas

    # reboot
    
  7. Şifreli Takas İşlemlerini Doğrulayın

    Örneğin:

    # dmsetup -C info 
    cswap      253   0 L--w    2    1      0 CRYPT-PLAIN-cswap  
    # lsblk
    ├─sda3                8:3    0     8G  0 part  
    │ └─cswap             253:0    0     8G  0 crypt [SWAP]
    # cat /proc/swaps 
    Filename                Type        Size    Used    Priority
    /dev/dm-0               partition   8385532 0       -1
    

1

Kullanırsanız ve dd if=/dev/zero of=/swapfile bs=8G count=1onu kullanırsanız , kök dosya sisteminizde çalışan bir swapfile olmalıdır. ( takas dosyasında delik olmadığından emin olmak için kullanırız )mkswap /swapfileswapon /swapfiledd

Bu, döngü aygıtları ve / veya crypttab ile uğraşmak zorunda kalıyor ve takas dosyasını zaten şifrelenmiş dosya sisteminizin içine yerleştiriyor. (Burada tüm sürücü için şifreleme kullandığınızı varsayıyoruz. /swapfileParametreyi, başka bir yerde ise şifrelenmiş dizininizin yolunun başına ekleyin)

Daha fazla bilgi için man mkswapve bölümüne bakın man swapon.


Şifreli giriş dizinimde böyle bir swapfile oluşturmaya çalıştım ve şifreli takas dosyasının yaptığı gibi çöktü ...
fifaltra

Ana dizininiz sistem önyüklemesinde veya oturum açtığınızda kilidi açık mı? Yalnızca oturum açtığınızda kilidi açılırsa, orada swap dosyası bulunamaz. Değiştirmenin kilidi açılmalı ve sistem önyüklemesinde kullanılabilir olmalıdır. Bunun yanı sıra, kullanıcı ana dizininizde sistem öğeleri istemezsiniz. Kullanıcı öğeleri için ayrılmıştır.
Mio Rin
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.