Menü
Bedava
kayıt
ev  /  Gezginler/ Linux'ta veri şifreleme. Linux disk şifrelemesi Linux disk şifrelemesi debian

Linux'ta veri şifreleme. Linux disk şifrelemesi Linux disk şifrelemesi debian

Tanıtım

Verileri şifreli tutmak, bir saldırganın eline geçmemesi için bilgileri korumanın harika bir yoludur. Fikri mülkiyeti, ticari sırları veya kişisel bilgileri korumak için kriptografik sistemler geliştirilmektedir. Çeşitli şekillerde yapılabilirler, teklif farklı seviyeler işlevsellik ve çok çeşitli işletim ortamlarına ve ortamlarına uyacak çok sayıda seçenek içerir. Günümüzde modern kriptografik yöntemlerin, algoritmaların ve çözümlerin sayısı eskisinden çok daha fazladır. Ve geliştirme kalitesi çok daha iyi. Ayrıca, piyasada aşağıdakilere dayalı birçok uygulanabilir çözüm vardır. açık kaynak, büyük miktarda para harcamadan iyi bir koruma düzeyi elde etmenizi sağlar.

Aralık 2005'te Ponemon Enstitüsü, çeşitli bilgi güvenliği uzmanları arasında şifreleme ve veri korumasıyla ilgili bir anket gerçekleştirdi. Ankete katılan 6.298 kişiden yalnızca yüzde 4'ü kurumsal çapta şifreleme kullandı. Aynı anket, resmi şifreleme kurallarına sürekli muhalefetin üç ana nedenini ortaya çıkardı:

  • Ankete katılanların %69'u performans sorunlarından bahsetti;
  • Katılımcıların %44'ü uygulamadaki zorluklardan bahsetti;
  • Ankete katılanların %25'i kriptografik algoritmaları uygulamanın yüksek maliyetinden bahsetti.

Birçok ülkede kuruluşlar, çalışmalarının "şeffaflığını" artırmak için birden fazla baskı kaldıracına maruz kalmaktadır. Ancak öte yandan, gizli bilgilerin güvenliğinin sağlanamamasından yasal olarak sorumludurlar. Bu, özellikle ABD'deki DSW şirketinin ayakkabı mağazaları için geçerliydi).

ABD Federal Ticaret Komisyonu, DSW'ye karşı, yeterli düzeyde bilgi koruması sağlamadığını ve bu verilere erişimi kısıtlamak için yeterli sistemler oluşturmak için uygun önlemleri almadığını ve ayrıca yetersiz korumayı belirttiği bir dava açtı. ağ bağlantıları mağaza ile arasında ofis bilgisayarları... DSW'nin durumunda, yaklaşık 1.4 milyon kredi kartı ve yaklaşık 96.000 çek hesabı potansiyel olarak suçlulara maruz kaldı. Ve şirket ile FTC arasında anlaşmaya varılmadan önce bu hesaplar zaten yasa dışı olarak kullanılmıştı.

Günümüzde, veri şifreleme için yazılım ve mühendislik çözümleri her zamankinden daha fazla mevcuttur. Her geçen gün ucuzlayan USB dongle, akıllı kartlar yerine giderek daha fazla kullanılıyor. İkincisi de sıklıkla bulunabilir, çünkü çoğu dizüstü bilgisayarda bir akıllı kart okuyucu bulunur.

Tüketiciler, kişisel bilgileri, sahip verilerini ve kredi kartı numaralarını çalmanın tehlikeleri hakkında giderek daha fazla düşünmeye başlıyor. Ve bu korkular, yalnızca bu tür değerli verilerin emanet edildiği kurumlardan bu tür çalıntı bilgilerin büyük miktarda satıldığına dair raporlarla körükleniyor.

Tüketiciler ayrıca kişisel bilgilerin yalnızca çevrimiçi değil, çevrimdışı olarak da korunmasının önemli olduğunu anlamaya başlıyor. Sonuçta, verilerinize istenmeyen erişim her zaman ağ üzerinden gerçekleşmez. Bu soru, özellikle korumasız dizüstü bilgisayarları, yapılandırma değişiklikleri veya onarımlar için servis personelinin eline geçebilecek olanlar için geçerlidir.

Şifreleme teknik sorunları

Şifreleme özellikleri, tüm modern çok kullanıcılı sistemler için gereklidir. bilgisayar sistemleri verilerin, süreçlerin ve kullanıcı bilgilerinin mantıksal olarak ayrıldığı yer. Bir kullanıcının kimliğini doğrulamak için benzer bir sistem, oturum açma bilgileri ve parolalar hash'lenir ve sistemde halihazırda bulunan hash'lerle karşılaştırılır (veya hash, daha sonra geçerliliği kontrol edilecek olan oturum anahtarının şifresini çözmek için kullanılır). Kişisel bilgilerin yetkisiz olarak görüntülenmesini önlemek için, tek tek dosyalar veya tüm bölümler şifreli kaplarda saklanabilir. A ağ protokolleri SSL \ TLS ve IPSec gibi, gerekirse kriptografik korumayı güçlendirmeye izin verir çeşitli cihazlar(/ dev / rastgele, / dev / urandom vb.) çekirdek ile çalışan modüler algoritmalarla işletim sistemi.

Herhangi bir disk şifreleme teknolojisinin amacı, istenmeyen erişim kişisel bilgilere ve fiziksel bir cihaza yasa dışı erişim veya hırsızlıktan kaynaklanan fikri mülkiyet kayıplarından kaynaklanan zararı azaltmada. Ameliyathane Linux sistemiçekirdek sürümü 2.6.4 ile kişisel verileri birçok düzeyde kolay ve güvenilir bir şekilde koruyan gelişmiş bir şifreleme altyapısı tanıtıldı yazılım... Hem Linux Unified Key Setup (LUKS) gibi düşük seviyede tam şifreli depolama standartları hem de hızlı Kullanıcı Alanı Dosya Sistemine dayanan EncFS ve CryptoFS dosya sistemleri gibi kullanıcı düzeyinde uygulamalar vardır. (SİGORTA) Linux altında. Elbette, herhangi bir şifreleme sistemi, şifreleri ve erişim anahtarları kadar saldırıya karşı dirençlidir. Toplamda, şifreleme teknolojilerinin uygulandığı üç ana seviye vardır:

  • dosya seviyesi ve dosya sistemi(dosya başına şifreleme, dosyalar içeren kapsayıcı);
  • düşük blok seviyesi (dosya sistemli kap);
  • donanım seviyesi (özel şifreleme cihazları).

Dosya düzeyinde şifreleme, dosya alışverişi için yaygın olarak kullanılan çok basit bir yöntemdir. Makul sayıda dosyanın aktarılması için uygun olan şifreleme, duruma göre ayrı ayrı kullanılır. Çok kullanıcılı dosya sistemleri için, farklı kullanıcıların klasörleri ve dosyaları farklı anahtarlarla şifrelendiğinden bir anahtar yönetimi sorunu ortaya çıkar. Tabii ki, bir anahtar kullanabilirsiniz, ancak daha sonra disk şifrelemeye benzeyen bir teknoloji elde ediyoruz. Her zaman olduğu gibi, en güvenli şifreyi seçmek kullanıcının sorumluluğundadır.

Daha gelişmiş şifreleme uygulamaları, dosya sistemi düzeyinde çalışır ve dosyaları oluşturulurken, yazılırken veya değiştirilirken izler. Bu yöntem sağlar daha iyi koruma kişisel bilgileri herhangi bir şekilde kullanmak, çok sayıda dosya ile bile iyidir. Ayrıca dosyaları tek tek şifreleyemeyen uygulamalar için endişelenmenize gerek yok.

Bazı kriptografik teknolojiler ücretsizdir ve birçok dağıtıma dahildir. Bu arada, en son sürümler Windows, Şifreli Dosya Sistemi (EFS) desteğine sahip özel bir dosya sistemi ile donatılmıştır. Fedora, LUKS dahil olmak üzere bir dizi şifreleme seçeneğini destekler (FAT veya FAT32 dosya sistemlerini ve FreeOTFE uygulamasını kullanıyorsanız LUKS desteğini Windows'ta da etkinleştirebilirsiniz). FUSE ve EncFS, ek Ekstra paketlerinde mevcuttur. CryptoFS ayrıca şu adresten indirilerek de kurulabilir: resmi site. .

FUSE altyapısı, yüklenebilir bir çekirdek modülünden ve hem CryptoFS dosya sistemi hem de Şifreli dosya sistemi (EncFS) için temel görevi gören bir kullanıcı alanı kitaplığından oluşur. FUSE, yapısı gereği, çekirdeğin kaynak koduna dokunmaz ve aynı zamanda, uzaktan bağlamalı Secure Shell dosya sistemi (SSHFS) gibi birçok ilginç eklemenin uygulanması için yüksek esneklik sağlar.

CryptoFS, şifrelenmiş verileri iki ana bölüme ayrılmış tanıdık bir dizin yapısında saklar: metin bilgisi(dosyaların, klasörlerin, arşivlerin listesi) ve gerçek şifrelenmiş veriler. Şifrelenmiş dizini yeniden bağlamanın tek yolu anahtarı kullanmaktır. CryptoFS kullanırken özel ayrıcalıklara ihtiyacınız yoktur ve yapılandırma da kolaydır.

EncFS dosya sistemi aynı zamanda FUSE kitaplığına dayalı bir kullanıcı alanı uygulamasıdır, bilgi hırsızlığına karşı koruma sağlar ve dosya dosya şifreleme ilkesiyle çalışır. Yapısını önceki sürümlerden devraldı, ancak hem biçim hem de işlev açısından iyileştirmeler yapıldı. EncFS dosya sistemi, kullanıcıların artan taleplerini karşılamak için dinamik olarak genişletilebilir. Dosyalar çeşitli parametrelerle şifrelenebilir (örneğin, içerik değiştiğinde, niteliklere göre vb.). Temel olarak, EncFS için temel depolama, bir ISO görüntüsünden bir ağ bölümüne veya hatta dağıtılmış bir dosya sistemine kadar her şey olabilir.

Her iki dosya sistemi de uçtan uca çalışır ve mantıksal bölüm yöneticisi (LVM) kullanılarak birden çok fiziksel ortama dağıtılabilen günlüklü veya genişletilmiş dosya sistemi gibi diğer dosya sistemleri ve mantıksal soyutlamaların üzerinde kullanılabilir. Aşağıdaki çizim, bu dosya sisteminin nasıl çalıştığını şematik olarak göstermektedir: bu şemada, görünür dizin / mount (EncFS şifrelenmemiş veri katmanı) olarak belirtilmiştir.

FUSE ve EncFS arasındaki etkileşimi gösteren kullanıcı alanı yerleşimi.

Dosya sistemi soyutlama katmanının altında, LUKS'da kullanılanlara benzer düşük seviyeli (blok) şifreleme şemaları bulunur. Bu tür şema, yalnızca disk bloklarında çalışır ve üst düzey dosya sistemi soyutlamalarını yok sayar. Benzer şemalar, disk belleği dosyaları için, çeşitli kaplar için ve hatta kök bölümün tam şifrelemesi de dahil olmak üzere tüm fiziksel ortam için kullanılabilir.


LUKS, dosya sistemi formatı hakkında tam bilgi sahibi olmadan çalışır.

LUKS, Güvenilir Anahtar Kurulumu # 1'e (TKS1) göre tasarlanmıştır ve herhangi bir ortak dosya sistemi formatı (FAT / FAT32) kullanılıyorsa Windows ile uyumludur. Sistem için çok uygundur mobil kullanıcılar, Gnu Privacy Guard (GPG) anahtarlarının verilmesini ve iptal edilmesini destekler ve tamamen ücretsizdir. LUKS, bu makalede açıklanan diğer uygulamalardan çok daha fazlasını yapabilir. Ayrıca LUKS, LUKS şifreli cihazları oluşturmak ve yönetmek için çok çeşitli çözümleri destekler.

CryptoFS yalnızca bir parola kabul ederken, LUKS ile şifrelenmiş ortam, herhangi bir sayıda parola içeren herhangi bir PGP (Oldukça İyi Gizlilik) anahtarıyla çalışır. EncFS ayrıca dosyaları korumak için bir parola kullanır, ancak ilgili kök dizinde depolanan anahtarı açar.

Düşük seviyeli ve kullanıcı alanı seviyesindeki uygulamalar arasındaki farklar en iyi pratik testlerde görülür. Düşük bir düzeyde, veriler, yazma ve okuma işlemlerini çok daha verimli bir şekilde yöneten dosya sistemine şeffaf bir şekilde aktarılabilir.

Test yapılandırması

Test platformumuz, 2002 örneğindeki teknolojinin biraz eski ama yine de oldukça çevik bir temsilcisi olan Dell Latitude C610 dizüstü bilgisayardı. Pil gücüyle, C610, işlemci frekansını 733 MHz'e düşürür. Bu nedenle, test sırasında dizüstü bilgisayarı prizden çıkarmadık. Aşağıdaki tablo dizüstü bilgisayarın yapılandırmasını göstermektedir

Linux altında EXT3 dosya sistemi kullanılarak test sonuçları elde edildi. Belki de EXT3, diğer günlük kaydı dosya sistemlerine kıyasla en hızlısı değildir. Ama deneyerek ince ayar sistem formatı, blok boyutu, sürücü parametreleri vb. kolay kurulum ve yapılandırma kriterlerini karşılamadıkları için testimizin amacı değildir. Bu makalenin amacının, Linux için kriptografik çözümlerin güvenli veri ambarlarını basit, verimli ve ucuz bir şekilde oluşturmayı nasıl mümkün kıldığını göstermek olduğunu hatırlayın.

Kurulum

LUKS, FUSE ve EncFS, Fedora ile birlikte sunulur, bu nedenle ekstra çaba gerekmez. Ancak CryptoFS'nin ayrıca indirilmesi gerekecek.

CryptoFS'yi kaynaktan derlemek oldukça basittir. Arşivi paketinden çıkarın, son dizinde yapılandırma komut dosyasını çalıştırın, ardından çizimde gösterildiği gibi make'yi çalıştırın. Yapılandırma dosyası dört parametre içerir: şifreleme şifresi, mesaj özeti algoritması, blok boyutu ve şifreleme tuz sayısı.


CryptoFS kurulum süreci basittir.

Yapılandırma, ilk ve son dizinlerin (şifreli ve şifrelenmemiş veriler için) yollarını belirtmekten oluşur. Ardından aşağıdaki şekilde görüldüğü gibi cryptofs komutunu çalıştırabilirsiniz.


CryptoFS'yi Yapılandırma.

Ardından mount komutunu çalıştırabilirsiniz, ardından monte edilen bölümü görebileceksiniz.

İlk önce FUSE çekirdek modülünü (modprobe sigortası) yüklediğinizden emin olun. EncFS, aşağıdaki çizimde görüldüğü gibi şifreli bir kap oluşturma sürecini basitleştirir.


Anahtar yükleme işlemini (her duruma özel) atlarsanız, LUKS aşağıda gösterildiği gibi kolayca yapılandırılabilir.


Karşılaştırmalar ve performans analizi

Yerel kurulum ile LUKS şifreli kurulum arasındaki performans farkları oldukça küçüktür. Özellikle kullanıcı alanı çözümleri arasındaki gözle görülür fark göz önüne alındığında. Şifreli dosya sistemlerinin performansını tek tek değerlendirmek için Iozone kullandık. Testler için 4 KB ila 16 MB arasındaki kayıtlar kullanılır, dosya boyutu 64 KB ila 512 MB arasında değişir ve sonuç KB / s olarak belirtilir.

Çözüm

En azından LUKS'un kullanıldığı yerlerde performans konusunda endişelenmenize gerek yok. Tabii ki, bazı performans kayıpları "şeffaf" veri şifrelemesinden kaynaklanmaktadır. LUKS'un kurulumu kolay ve basittir ve hem Linux hem de Windows üzerinde kullanılabilir.

Kurumsal kullanıcılar, şirket politikası nedeniyle kesinlikle kısıtlamalarla yüzleşmek zorunda kalacaklar. Genellikle açık kaynaklı çözümleri yasaklar veya bazı uygulamaları yasaklarlar. Ek olarak, bazen kodun gücü ile ilgili olarak şifreleme teknolojilerinin içe / dışa aktarımındaki kısıtlamaları dikkate almanız gerekir veya BT departmanı, LUKS, EncFS ve CryptoFS'yi unutmanıza izin veren çözüm sağlayıcıdan telefon desteği gerektirir. . Her halükarda, bu tür problemlerden endişe duymuyorsanız, LUKS harika bir çözümdür. iyi bir seçenek küçük işletme veya ev kullanıcıları için.

Ancak veri şifrelemenin her derde deva olmadığını unutmayın. Şifreleme şeffaf bir şekilde yapıldığından, kullanıcı adına çalışan herhangi bir Truva atı, şifrelenmiş verilere erişebilir.

Editörün görüşü

CryptoFS ve EncFS, kullanıcı alanı uygulamalarıdır. Daha önce açıkladığımız gibi, tasarlamaları ve uygulamaları basittir, ancak performans ve özellikler açısından bir bedeli vardır. Bu, özellikle LUKS ile karşılaştırıldığında belirgindir. Sadece gözle görülür şekilde daha hızlı olmakla kalmaz, aynı zamanda bir veya daha fazla PGP anahtarını destekler ve tüm bölümde kullanılabilir.

Kullanıcı alanı kapsayıcıları, öncelikle çok kullanıcılı bir ortamda kişisel bilgilerini korumak isteyen kullanıcılar için önemlidir. Ve bir yöneticinin bile donanım veya yazılım kaynaklarına erişememesi için verilerini kimin koruması gerekiyor? LUKS, performansına ve platformlar arası faydalarına ek olarak, GNOME ve PGP anahtar yönetim sistemleriyle iyi bir şekilde bütünleşir. Ve şifreli LUKS bölümlerinin günlük kullanım kolaylığı tek kelimeyle etkileyici. Bu arada, EncFS, uygun ortamlarda Linux altında Takılabilir Kimlik Doğrulama Modülünü (PAM) destekler.

Bu çalışmanın yazarının, ne zaman kullandığı disk bölümlerini şifreleme yöntemlerinden bahsettiğini unutmayın.

Linux

Bu kılavuzda Linux dm-crypt (cihaz eşleyici) çekirdek üzerinde 2.6 ... Bölümü şifreleyeceğiz / dev / sdc1 tarafından oluşturulan herhangi bir bölüm, disk, USB veya dosya olabilir. zavallı... Burada kullanacağız / dev / döngü0, bakmak. Cihaz eşleyici bu örnekte bölümü tanımlamak için bir etiket kullanır sdc1, ancak başka herhangi bir dize olabilir.

LUKS ile disk bölümlerini şifreleme

LÜKS ile birlikte dm-crypt disk bölümlerini şifrelemek için çok uygundur, bir bölüm için birden fazla parolaya sahip olmanıza ve bunları kolayca değiştirmenize olanak tanır. Kullanımınızın uygun olup olmadığını kontrol etmek için LÜKS, tip: cryptsetup --help eğer hakkında LÜKS hiçbir şey görünmedi, aşağıda okuyun " LUKS olmadan dm-crypt". Önce gerekirse bir bölüm oluşturun. fdisk / dev / sdc.

Şifreli bir bölüm nasıl oluşturulur

# dd if = / dev / urandom of = / dev / sdc1 # İsteğe bağlı. Sadece paranoyak için# cryptsetup -y luksFormat / dev / sdc1 # Bu, üzerindeki tüm verileri yok edecek sdc1 # cryptsetup luksOpen / dev / sdc1 sdc1 # mkfs.ext3 / dev / mapper / sdc1 # Dosya sistemi oluşturulacak ext3 # mount -t ext3 / dev / eşleyici / sdc1 / mnt # umount / mnt # cryptsetup luksClose sdc1
Montaj
# cryptsetup luksOpen / dev / sdc1 sdc1 # mount -t ext3 / dev / mapper / sdc1 / mnt
Bağlantıyı kes
# umount / mnt # cryptsetup luksClose sdc1

LUKS olmadan dm-crypt

# cryptsetup -y sdc1 / dev / sdc1 oluştur # Veya bunun gibi başka bir bölüm / dev / döngü0 # dmsetup ls # Kontrol şunları gösterecektir: sdc1 (254, 0) # mkfs.ext3 / dev / eşleyici / sdc1 # Sadece ilk kez yapılırsa!# mount -t ext3 / dev / eşleyici / sdc1 / mnt # umount / mnt / # cryptsetup sdc1'i kaldır # Şifreli bölümü ayır Bölümü yeniden bağlamak için (fs oluşturmadan) aynısını yapın. Yanlış parola girilirse mount komutu başarısız olur. Bu durumda, ekranı kaldırmanız yeterlidir. sdc1 (cryptsetup sdc1'i kaldır) ve yeniden oluşturun.

ÜcretsizBSD

Diskleri şifrelemek için birkaç popüler modül, bunlar gbde ve geli. Geli kullandığı için daha hızlı donanım ivmesi... Daha fazlası için FreeBSD el kitabı Bölüm 18.6'ya bakın Detaylı Açıklama... İş için, geli bir çekirdek modülü olarak yüklenmeli veya derleme zamanında yerleşik olmalıdır. seçenekler GEOM_ELI cihaz şifrelemesi # Veya bir çekirdek modülü olarak yükleyin:# echo "geom_eli_load =" EVET "" >> /boot/loader.conf # Veya kldload geom_eli

Şifre ve anahtarı kullanma

Yazar bu ayarları bölümlerin tipik şifrelemesi için kullanır, şifreleme için bir şifre ve bir anahtar kullanır " Ana anahtar- ana anahtar. "Şifreli bölümü monte etmek için hem bir parolaya hem de bir anahtara ihtiyacınız olacak. /root/ad1.key. "Ana anahtar"bir bölüm içinde saklanır ve görünmez. Aşağıdaki örnek, bir USB veya dosya görüntüsü için tipiktir.

Şifreli bir bölüm oluşturun

# dd if = / dev / rastgele = / root / ad1.key bs = 64 sayı = 1 # Bu anahtar, Ana anahtarı şifreler# geli init -s 4096 -K /root/ad1.key / dev / ad1 # -s 8192 ve diskler için OK# geli ek -k /root/ad1.key / dev / ad1 # DO yedeği /root/ad1.key# dd if = / dev / rastgele = / dev / ad1.eli bs = 1m # İsteğe bağlı ve uzun zaman alıyor # newfs /dev/ad1.eli # Dosya sistemi oluştur# mount /dev/ad1.eli / mnt # Şifreli bir bölüm takma
Eklemek
# geli ek -k /root/ad1.key / dev / ad1 # fsck -ny -t ffs /dev/ad1.eli # Şüpheniz varsa, dosya sistemini kontrol edin# mount /dev/ad1.eli / mnt
ayır
Çıkarma prosedürü, kapatma sırasında otomatik olarak gerçekleştirilir. # umount / mnt # geli detach /dev/ad1.eli
/ vb / fstab
Şifreli bir bölümün takılması, şu şekilde yapılandırılabilir: / vb / fstab... Açılışta şifre sorulacak. # grep geli /etc/rc.conf geli_devices = "ad1" geli_ad1_flags = "- k /root/ad1.key" # grep geli / etc / fstab /dev/ad1.eli / ana sayfa / özel ufs rw 0 0

Yalnızca parola

Bitti uygun yol bir dosyaya dayalı olarak bir flash sürücüyü veya görüntüyü şifrelemek için yalnızca parola istenir. Bu durumda, anahtar dosyalar için endişelenmenize gerek yoktur. Prosedür, anahtar dosyalarının oluşturulması dışında yukarıda açıklanana benzer. Bir dosyadan oluşturulan 1 GB'lık bir görüntüyü şifreleyelim / şifreli dosya... # dd if = / dev / zero of = / cryptedfile bs = 1M sayı = 1000 # 1GB dosya oluştur# mdconfig -at vnode -f / cryptedfile # geli init / dev / md0 # Yalnızca parola ile şifreleyin# geli ek / dev / md0 # newfs -U -m 0 /dev/md0.eli # mount /dev/md0.eli / mnt # umount /dev/md0.eli # geli detach md0.eli Artık bu görüntü monte edilebilir sadece şifreyi girerek başka bir makinede. # mdconfig -at vnode -f / cryptedfile # geli ek / dev / md0 # mount /dev/md0.eli / mnt

Bilgisayarlarında önemli verileri depolayanlar için güvenlik ve gizlilik çok önemlidir. Ev bilgisayarınız güvende, ancak bir dizüstü bilgisayar veya diğer taşınabilir cihazlarda durum çok farklı. Dizüstü bilgisayarınızı neredeyse her yerde yanınızda taşıyorsanız ve yetkisiz kişiler buna erişebiliyorsa, şu soru ortaya çıkar: verilerinizi başka birinin müdahalesinden nasıl korursunuz. Herhangi birinin veri almaya çalışabileceği fiziksel saldırılardandır. USB bellek veya dizüstü bilgisayar sabit diskini, cihazı kaldırarak veya dizüstü bilgisayar olması durumunda dışarı çekerek HDD ve başka bir işletim sistemine bağlama.

Birçok işletme ve hatta sıradan kullanıcılar müşteri bilgileri, dosyalar, iletişim bilgileri ve daha fazlası gibi gizli bilgileri korumak için linux'ta disk şifreleme kullanın. Linux işletim sistemi, bölümleri, bireysel dizinleri veya tüm sabit sürücüyü korumak için çeşitli şifreleme yöntemlerini destekler. Tüm veriler, bu yollardan herhangi birinde, otomatik olarak şifrelenir ve anında şifresi çözülür.

Dosya sistemi şifrelemesi:

  • 1.eCryptfs bir Linux şifreleme dosya sistemidir. Her dosya için kriptografik meta verileri depolar. ayrı dosya Böylece dosyalar bilgisayarlar arasında kopyalanabilir. Anahtarınız varsa, dosyanın şifresi başarıyla çözülecektir. Bu çözüm, örneğin Ubuntu'da şifreli bir ana dizini uygulamak için yaygın olarak kullanılır. ChromeOS ayrıca, kullanırken bu algoritmaları şeffaf bir şekilde yerleştirir. ağ cihazları veri depolama (NAS) için.
  • 2. EncFS- kullanıcı alanında şifreli bir dosya sistemi sağlar. Herhangi bir ek ayrıcalık olmadan çalışır ve bir dosya sistemi arabirimi sağlamak için sigorta kitaplığı ve çekirdek modülünü kullanır. EncFS ücretsiz bir yazılımdır ve GPL kapsamında lisanslanmıştır.

Cihaz düzeyinde blok şifreleme:

  • Döngü-AES- hızlı ve şeffaf dosya sistemi ve ayrıca Linux'ta takas bölümünü şifrelemek için bir paket. Programın kaynak kodu uzun süredir değiştirilmemiştir. 4.x, 3.x, 2.2, 2.0 çekirdekleriyle çalışır.
  • TrueCrypt ameliyathaneler için ücretsiz bir açık kaynaklı disk şifreleme çözümüdür. Windows sistemleri 7 / Vista / XP / Mac OS X ve Linux.
  • dm-crypt + LUKS- dm-crypt, çekirdek 2.6 ve sonraki sürümlerde şeffaf bir disk şifreleme alt sistemidir. Tüm disklerin, çıkarılabilir medyanın, bölümlerin, RAID birimlerinin, yazılımın, mantıksal birimlerin ve dosyaların şifrelenmesi desteklenir.

Bu öğreticide, Linux Unified Key Setup-on-disk-format (LUKS) algoritmasını kullanarak Linux'ta bir sabit sürücüyü şifrelemeye bakacağız.

LUKS nasıl çalışır?

LUKS (Linux Unified Key Setup bir blok cihaz şifreleme protokolüdür. Ama biz kendimizden geçtik, nasıl çalıştığını anlamak için, bu yöntemde kullanılan diğer teknolojileri anlamak için indirmemiz gerekiyor.

dm-crypt çekirdek modülü, linux diskini şifrelemek için kullanılır. Bu modül, / dev / mapper dizinindeki dosya sistemi ve kullanıcı için şeffaf şifreleme ile sanal bir blok cihazı oluşturmanıza olanak tanır. Hemen hemen tüm veriler şifreli bir fiziksel bölümde saklanır. Bir kullanıcı sanal bir cihaza veri yazmaya çalışırsa, anında şifrelenir ve diske yazılır; sanal bir cihazdan okurken ters işlem gerçekleştirilir - verilerin şifresi fiziksel diskten çözülür ve fiziksel diske aktarılır. açık form karşısında sanal disk kullanıcıya. Çoğu modern işlemci bunun için optimize edildiğinden, genellikle şifreleme için AES yöntemi kullanılır. Yalnızca bölümleri ve diskleri değil, aynı zamanda normal dosyaları da içinde bir dosya sistemi oluşturarak ve bunları bir döngü aygıtı olarak bağlayarak şifreleyebileceğinizi unutmamak önemlidir.

LUKS algoritması, şifreli medya ile çalışırken hangi eylemlerin ve hangi sırayla gerçekleştirileceğini belirler. Cryptsetup yardımcı programı, LUKS ve dm-crypt modülü ile çalışmak için kullanılır. Bunu daha fazla dikkate alacağız.

Cryptsetup yardımcı programı

Cryptsetup yardımcı programı, dm-crypt modülünü kullanarak bir Linux bölümünü şifrelemeyi kolaylaştırır. Önce onu yükleyelim.

Debian veya Ubuntu'da şöyle bir komut kullanın:

apt-get install cryptsetup

Red Hat tabanlı dağıtımlarda şöyle görünecek:

yum cryptsetup-luks yükleyin

Komutu çalıştırmak için sözdizimi aşağıdaki gibidir:

$ cryptsetup seçenekleri işlemi op_parameters

Bu yardımcı program kullanılarak yapılabilecek temel işlemleri ele alalım:

  • luksFormat- şifreli bir luks linux bölümü oluşturun
  • luksAçık- sanal bir cihaz bağlayın (bir anahtara ihtiyacınız var)
  • luksKapat- luks linux sanal cihazını kapatın
  • luksEkleAnahtarı- şifreleme anahtarı ekle
  • luksKaldırAnahtarı- şifreleme anahtarını kaldır
  • luksUUID- bölümün UUID'sini göster
  • luksDump- LUKS başlıklarının yedek bir kopyasını oluşturun

Operasyonun parametreleri operasyonun kendisine bağlıdır, genellikle ya bir eylemin gerçekleştirilmesi gereken fiziksel bir cihazdır ya da sanaldır ya da her ikisidir. Henüz her şey net değil, ancak pratikte çözeceğinizi düşünüyorum.

Linux disk şifreleme

Teori geçti, tüm araçlar hazır. Şimdi linux bölümünü şifrelemeye bakalım. Sabit sürücüyü kurmaya devam edelim. Bunun, şifrelemek üzere olduğunuz diskteki veya bölümdeki tüm verileri sileceğini lütfen unutmayın. Bu nedenle, orada önemli veriler varsa, daha güvenli bir konuma kopyalamak daha iyidir.

Bölüm oluşturma

Bu örnekte, / dev / sda6 bölümünü şifreleyeceğiz, ancak bunun yerine tüm sabit sürücüyü veya sıfırlarla dolu yalnızca bir dosyayı kullanabilirsiniz. Şifreli bir bölüm oluşturun:

cryptsetup -y -v luksFormat / dev / sda6

UYARI!
========
Bu, / dev / sda6 üzerindeki verilerin üzerine geri dönülemez şekilde yazacaktır.

Emin misin? (Büyük harf yazın evet): EVET
LUKS parolasını girin:
Parolayı doğrulayın:
Komut başarılı.

Bu komut bölümü başlatacak, başlatma anahtarını ve parolayı ayarlayacaktır. Daha sonra unutmamak için böyle bir şifre belirleyin.

/ dev / mapper içindeki dm-crypt modülünü kullanarak yeni oluşturulan bölümü açmak için aşağıdaki komutu çalıştırın, bunun için luks linux şifrelemesinin gerçekleştirildiği şifreyi girmeniz gerekir:

/ dev / sda6 için parola girin

Artık luksFormat komutuyla oluşturulan yeni sanal cihazı / dev / mapper / backup2'yi görebilirsiniz:

ls -l / dev / eşleyici / yedekleme2

Cihazın durumunu görüntülemek için şunu çalıştırın:

cryptsetup -v durum yedekleme2

/ dev / mapper / backup2 aktif.
tip: LUKS1
şifre: aes-cbc-essiv: sha256
anahtar boyutu: 256 bit
cihaz: / dev / sda6
ofset: 4096 sektör
boyut: 419426304 sektör
mod: okuma / yazma
Komut başarılı.

Ve aşağıdaki komutla, her ihtimale karşı LUKS başlıklarını yedekleyebilirsiniz:

cryptsetup luksDump / dev / sda6

Bölüm hazır diyebilirsiniz. Hepsinden iyisi, artık onu / dev dizinindeki diğer normal bölümler gibi kullanabilirsiniz. Standart yardımcı programlar kullanılarak biçimlendirilebilir, ona veri yazılabilir, dosya sistemini değiştirebilir veya kontrol edebilir, vb. Yalnızca yeniden boyutlandıramazsınız. Yani, makalenin başında belirtildiği gibi her şey tamamen şeffaftır.

Bir bölümü biçimlendirme

Önce diski biçimlendirelim. Güvenilirlik için, daha önce bu yerde bulunan tüm verileri silmek için şifreli linux bölümümüzün üzerine sıfırlarla yazacağız. Bu, rastgele bilgi miktarını artırarak şifrelemenin tehlikeye girme olasılığını azaltacaktır. Bunu yapmak için şunu çalıştırın:

dd if = / dev / sıfır = / dev / mapper / backup2

Yardımcı programın tamamlanması birkaç saat sürebilir, işlemi izleyebilmek için pv kullanın:

pv -tpreb / ​​​​dev / sıfır | dd of = / dev / mapper / backup2 bs = 128M

İşlem tamamlandığında cihazı herhangi bir dosya sistemine formatlayabiliriz. Örneğin, onu ext4 olarak biçimlendirelim:

mkfs.ext4 / dev / eşleyici / yedekleme2

Gördüğünüz gibi, tüm cryptsetup komutları fiziksel bölüme uygulanırken, disklerle çalışma komutlarının geri kalanı sanal olanımıza uygulanır.

Bölme montajı

Artık yalnızca oluşturulan dosya sistemini bağlayabilirsiniz:

$ mount / dev / mapper / backup2 / backup2

Bir bölümü devre dışı bırak

Her şey çalışıyor, ancak cihazın nasıl devre dışı bırakılacağı ve verilerin nasıl korunacağı. Bunu yapmak için şunu çalıştırın:

cryptsetup luksYedeklemeyi kapat2

yeniden monte

LUKS linux kullanarak şifreli bölümle tekrar çalışabilmek için tekrar açmanız gerekir:

cryptsetup luksOpen / dev / sda6 yedekleme2

Şimdi monte edebiliriz:

mount / dev / mapper / backup2 / backup2

luks dosya sistemini kontrol edin

Luks linux ile bir bölüm açtıktan sonra, bu bölüm sistem tarafından diğerleri gibi ele alındığından, fsck yardımcı programını kullanabilirsiniz:

sudo umount / yedekleme2

$ fsck -vy / dev / mapper / backup2

$ mount / dev / mapper / backup2 / backu2

luks parolasını değiştir

Linux disk şifreleme, belirli bir parola ile gerçekleştirilir, ancak bunu değiştirebilirsiniz. Dahası, sekiz adede kadar farklı parola oluşturabilirsiniz. Aşağıdaki komutları çalıştırarak değiştirmek için. İlk olarak, LUKS başlıklarını yedekleyelim:

cryptsetup luksDump / dev / sda6

O zaman oluşturalım yeni anahtar:

cryptsetup luksAddKey / dev / sda6

Herhangi bir parola girin:

Anahtar yuvası için yeni parola girin:
Parolayı doğrulayın:

Ve eskisini kaldırın:

cryptsetup luksRemoveKey / dev / sda6

Şimdi eski şifreyi girmeniz gerekecek.

sonuçlar

Hepsi bu, artık Linux'ta bir bölümü nasıl şifreleyeceğinizi biliyorsunuz ve bunların nasıl çalıştığını da anlıyorsunuz. Ek olarak, Linux'ta LUKS algoritmasını kullanan disk şifreleme, kurulu sistemin eksiksiz bir şekilde şifrelenmesi için geniş fırsatlar sunar.

Artıları:

  • LUKS tüm blok cihazını şifreler ve bu nedenle içeriği korumak için çok uygundur taşınabilir aletler, gibi cep telefonları, çıkarılabilir medya veya sabit sürücüler dizüstü bilgisayarlar.
  • Yedeklerinizi korumak için NAS sunucularında kullanabilirsiniz
  • AES-NI'ye (Gelişmiş Şifreleme Standardı) sahip Intel ve AMD işlemciler, Linux çekirdeğinde 2.6.32'den başlayarak dm-crypt tabanlı şifreleme sürecini hızlandırabilen bir dizi komuta sahiptir.
  • Ayrıca, dizüstü bilgisayarınızın uyku modunu veya hazırda bekletme işlevini tamamen güvenli bir şekilde kullanabilmesi için takas bölümü ile çalışır.

Günümüzde önemli verileri net bir şekilde saklamak her zamankinden daha tehlikeli hale geldi. Ve hatta devlet gözetimi nedeniyle değil (isterlerse hata bulacakları bir şey bulurlar vb.), ancak bu verileri çalmak isteyenler yüzünden. Prensip olarak, bilgileri korumak için birçok yöntem vardır, ancak makalede anlatılacak olan kriptografik araçlardır.


Diğer bazı işletim sistemlerinden farklı olarak, Linux'un birçok aracı vardır. kriptografik koruma bilgi - posta yazışmalarının şifrelenmesinden dosyaların şifrelenmesine ve cihazları engellemeye kadar. Dosya sistemleri, dosyalar ve blok cihazları düzeyinde şifreleme ile ilgileniyoruz. İlk olarak, farkın ne olduğunu bulmaya değer. Dosya sistemi düzeyinde şifreleme, temel alınan dosya sistemi (tabii ki dosya sisteminin kendisi şifrelemeyi desteklemediği sürece) ve kullanıcı arasında bir katman olduğunu varsayar.

Bu tür şifrelemenin avantajı, anahtarların tüm kullanıcılar için farklı olmasıdır. Dezavantajı, dosya adlarının şifrelenmesini etkinleştirirseniz, geçerli adın uzunluğunun azalmasına ek olarak, kullanıcının dosyayı diskte farklı bir konuma kaydedebilmesi ve bu da avantajı otomatik olarak etkisiz hale getirmesidir. Ve bir şey daha - isim şifreleme etkin olsa bile, zaman damgaları aynı kalacak. Blok cihazlarının şifrelenmesi, dosya sistemi altında daha düşük bir seviyede gerçekleşir. Bu durumda, dosya sisteminin kendisi, elbette, şifreli bir birimde olduğunu bilmiyor.

Bu yöntemin avantajları, öncekinin dezavantajlarının tam tersidir. Dezavantajı ise her boot/mount işleminizde bir şifre girmeniz gerekmesidir. İkinci dezavantaj, çalışma zamanında bir saldırganın kripto para birimindeki dosyalara erişmesidir.
teiner, her şey - gittiğini yaz. Bu tam olarak çevrimdışı saldırılara karşı korumadır. Ayrıca, bir kripto konteyneri buluta kaydetme durumlarının büyük çoğunluğunda, onu tamamen sıfırdan yüklemeniz gerekecektir.

Makale, aşağıdaki kripto koruma yöntemlerinin nasıl yapılandırılacağını açıklayacaktır:
dm-crypt / LUKS- Cihaz eşleyici ve CryptoAPI çekirdeği kullanılarak bir kripto konteynerinin oluşturulması;
eCryptf'ler- dosya sistemi düzeyinde şifreleme;
EncFS- yukarıda açıklanana benzer, ancak çekirdek modüllerinin yüklenmesini gerektirmez.

DM-CRYPT / LUKS
İki tür dm-crypt yapılandırması vardır - düz ve LUKS. Aradaki fark, LUKS kullanılması durumunda, kriptotomun başında, birkaç anahtarı kullanmanıza ve değiştirmenize izin veren meta veriler olmasıdır. Aynı zamanda, bazı durumlarda böyle bir başlığın varlığı kendi içinde taviz verir - ancak bu gibi çoğu durumda, yüksek derecede entropiye sahip bir alan da taviz verir. Bir anahtar dosyası ve bir parola ile düz dm-crypt kurulumu Sırasıyla LUKS kapsayıcısında bulunan bir anahtar dosyası kullanılarak şifrelenmiş bir düz dm-crypt birimi kombinasyonunun nasıl kurulacağını görelim. Başlangıç ​​olarak, bölümlerin tam olarak nasıl yerleştirileceğine karar vermeye değer. Üç ana seçenek vardır:
sadece bir kripto hacmi;
önce bir kripto hacmi, ardından bunun üzerine LVM;
önce kripto birimi, ardından RAID, ardından LVM.

Ve her türlü kombinasyon. İkinci seçeneği deneyelim. İlk adım, anahtar sözcükle birlikte kullanılacak anahtar dosyasını tutmak için bir LUKS kapsayıcısı oluşturmaktır. Bu durumda, düz dm-crypt ile şifrelenmiş bir birimin kriptanalizi olasılığı azalır:

# dd if = / dev / zero of = / root / key.luks bs = 512 sayı = 2057

# cryptsetup --align-payload = 1 luksFormat /root/key.luks

# cryptsetup luksOpen /root/key.luks kriptokey

# dd if = / dev / urandom of = / dev / mapper / cryptokey

İlk komut kapsayıcı dosyasını hazırlar, ikincisi bu kapsayıcıyı oluşturur, üçüncüsü bağlanır, dördüncüsü anahtar bilgileri üretir. LUKS meta veri boyutunun 4096 512 baytlık bloklar değil, yalnızca 2056 olması için –align-payload = 1 seçeneğinin gerekli olduğunu belirtmekte fayda var. Böylece, gerçek anahtar bilgisi için 512 bayt bırakılır.
Sonra bir kriptotom oluşturmaya geçiyoruz. Bu noktada dilerseniz, varsa kriptanalizi zorlaştırmak için diski sözde rastgele verilerle de doldurabilirsiniz. Sonra bir kriptotom oluşturabilirsiniz. Bunun için komut aşağıdaki gibidir (elbette diğer durumlarda tanımlayıcılar farklılık gösterebilir, bu yüzden dikkatli olmanız gerekir):

# cryptsetup --cipher = serpent-xts-plain64 --offset = 0 - anahtar dosyası = / dev / mapper / kriptokey --key-size = 512 open --type = düz / dev / disk / by-id / ata -VBOX_HARDDISK_VB05eadebe-f25e8d59 kripto0


Gerekirse, şifreleme gerektiren diğer cihazlarda aynı komutu tekrarlayın. Ardından kriptotomlar üzerinde LVM ve FS oluşturacağız:

Aşağıdaki içeriğe sahip bir / etc / initramfs-tools / hooks / cryptokeys dosyası oluşturalım (betiğin hizmet kısmı atlanmıştır):

Ve / etc / initramfs-tools / scripts / local-top / cryptokeys dosyası (yine servis bölümü
atlandı):

# <...>

modprobe - b dm_crypt

süre! (/ sbin / cryptsetup luksOpen / etc / kripto / anahtar. luks cryptokey

/ dev / disk / by - id / ata - VBOX_HARDDISK_VB05eadebe - f25e8d59 crypto0

&& / sbin / cryptsetup düzOpen - anahtar - dosya = / dev / eşleyici / şifre anahtarı

/ dev / disk / by - id / ata - VBOX_HARDDISK_VBc2414841 - cfeccde5 crypto1

&& / sbin / cryptsetup luksKripto anahtarını kapat

); yapmak

echo “Tekrar deneyin. ... ... "

tamamlamak

Bu iki dosya yürütülebilir olmalıdır. Sonra initrd'yi yaratırız:

# update-initramfs -u -k all -v

Bir sonraki yeniden başlatmada, LUKS kapsayıcısı için bir parola girmeniz istenecektir. Düz dm-crypt kullanılması durumunda, başka bir olasılık daha vardır - aşağıdaki gibi bir şey yapmanıza izin veren ortak bir alt katman gizli hacimler TrueCrypt. Örnek vermek daha kolay:

# cryptsetup --cipher = serpent-xts-plain64 --offset = 0 - boyut = 2097152 --shared open --type = düz / dev / disk / by-id / ata-VBOX_HARDDISK_VBcda8398f-f1f1deec kripto

# cryptsetup --cipher = serpent-xts-plain64 --offset = 2097152 - boyut = 2097152 --shared open --type = düz / dev / disk / by-id / ata-VBOX_HARDDISK_VBcda8398f-f1f1deec crypto_shared

Boyut ve ofset, 512 baytlık bloklarda belirtilir.


Gelişmiş LUKS özellikleri
LUKS kapsayıcılarının gelişmiş kullanımlarına da bir göz atalım. Bunlar, anahtarların değiştirilmesini içerir. Bu, önemli bir değişiklik politikasından ödün verirken veya oluştururken gereklidir. Bunu yapmanın ilk adımı, kapsayıcı başlığını yedeklemektir. Düştüm
tamam, anahtarı değiştirdikten sonra yok edilebilir. Bunu elbette şifrelenmemiş bir bölümde yapıyoruz:

Son olarak, sisteme yeni bir anahtar ekleyin:

LUKS birimlerini kurtarma prosedürünü de ele alalım. En kolay seçenek, elbette, başlığın bir kopyası olduğunda. Bu durumda, geri yüklemek için yalnızca bir komut gerekir:

En uzun sürekli hat ana anahtar olacaktır. Şifrelenmemiş bir birimdeki bir dosyaya kopyalanmalı ve ardından ikili forma dönüştürülmelidir (bundan önce, bu dosya numara
satır sonu karakterleri):

ENCFS
EncFS'nin oturum açma sırasında otomatik olarak bağlanacak şekilde nasıl yapılandırılacağını görelim. Öncelikle gerekli paketleri kuralım:

Uzman modunda yapılandırıldığında, bir dizi soru sorulacak: şifre türü (yalnızca AES ve Blowfish kullanılabilir), anahtar boyutu, blok boyutu, dosya adlarının nasıl şifreleneceği - blok şifreleme (uzunluk dahil dosya adını tamamen gizler) , akış (mümkün olan en yakın uzunlukla şifreler, bu bazen adlar çok uzunsa ve bir blok şifre kullanırken izin verilen maksimum uzunluğu aşma olasılığı yeterince yüksekse uygundur) veya hiç olmayacak ... sonunda, bir parola istenecek, oturum açmak için kullanılan parolayla eşleşmelidir, aksi takdirde otomatik kablolama çalışmaz.

Ardından, /etc/security/pam_encfs.conf dosyasını düzenlemeniz gerekir:

Ve /etc/fuse.conf dosyası:

Ve kullanıcıyı sigorta grubuna ekleyin:

$ sudo usermod - a - G sigortası $ USER

Oturumu kapattıktan ve oturum açtıktan sonra, özel dizin kişisel veriler için bir depolama alanı olarak kullanılabilir. Bununla birlikte, denetimin bazı (oldukça ciddi) güvenlik sorunları ortaya çıkardığını belirtmekte fayda var. bu sistem gerçekten önemli verileri depolamak için kullanılması kesinlikle önerilmez.

ECRYPTFS'ler
ECryptFS'nin ev dizinlerini korumak için Ubuntu'da varsayılan olduğu bilinmektedir. Nasıl çalıştığını görelim - şifreli dizini manuel olarak oluşturalım. Paketleri yükleyin:

eCryptFS'nin oluşturulması

Ve FS'yi monte edeceğiz (ilk montaj sırasında gerekli tüm meta veriler oluşturulur):

$ sudo mount - t ecryptfs / home / rom /. sır / ev / rom / sır

Bir parola istenecek (sadece bir kez, yeniden giriş uygulanmadı, bu da uzun olması gerektiği için çok iyi bir çözüm değil gibi görünüyor), ardından şifre türü (AES, Blowfish, 3DES, Twofish, CAST6 ve CAST5), size anahtar, şifreli dizindeki şifrelenmemiş dosyalara izin verilip verilmeyeceği, dosya adlarının şifrelenip şifrelenmeyeceği sorulur ... ve son olarak imzayı belirli bir dosyaya gerçekten bağlamak ve kaydetmek isteyip istemediğimiz sorulur. Soru, ilk bakışta göründüğü kadar aptalca değil: Bu yazılımda, imza yoksa, doğru bir şifreyi yanlış olandan ayırt etmenin bir yolu yoktur.

Kullanıcının ana dizinini şifreleme

İlk başlatma sırasında birkaç işlemi sonlandırmanız gerekebilir. Şifrelemeden sonra, hemen bir kullanıcı olarak oturum açmalısınız ve şifreleme için oluşturulan ve sırayla bir kullanıcı şifresi ile korunan bir parola yazmanız veya yazdırmanız istenecektir. Bu, anormal bir durum durumunda kurtarma için gereklidir.


Parola uyarısını hatırla

Nasıl geri yükleneceğini görelim. Parolanın kaydedilmediğini ve kurtarma işleminin Canlı CD'den yapıldığını varsayalım. FS'nin monte edildiği varsayılır. home / .ecryptfs / rom / .ecryptfs dizinine gidin ve şu komutu yazın:

dm-doğrula
dm-verify modülü, blok cihazların bütünlüğünü doğrulamak için tasarlanmıştır. Doğrulama, "yaprakların" blokların karma toplamları olduğu ve "dalların" "yaprak" kümelerinin karma toplamlarının olduğu bir karma ağacı kullanılarak gerçekleştirilir. Bu nedenle, bir blok aygıtı doğrulamak için (bir bölüm veya disk olsun), yalnızca bir sağlama toplamının kontrol edilmesi yeterlidir.
Bu mekanizma (dijital imza ile birlikte) bazı Android cihazlarda sistem bölümlerinin değiştirilmesine karşı koruma sağlamak için ve ayrıca Google Chromium OS'de kullanılır.

ÇÖZÜM
Linux, bilgilerin kriptografik olarak korunması için epeyce araç içerir. Açıklanan üç araçtan en az biri tüm modern Linux dağıtımlarında mevcuttur. Ama ne seçmelisiniz?
dm-crypt / LUKSşifrelenmiş bir birimin hızlı bir şekilde bağlantısını kesmenin mümkün olduğu durumlarda ve ne zaman kullanılmalıdır? yedekler ya gerekli değildir ya da başka bir şekilde sınıflandırılmıştır. Bu durumda, bu çözüm etkili olmaktan daha fazlasıdır, özellikle bir dizi keyfi yuvalama ve türle (örneğin, AES-Twofish-AES) şifreleyebileceğinizi düşünürsek, bu gerçek bir cennettir.
paranoyak için.
eCryptFSşifrelenmiş verileri bir yere kaydetmeniz gerektiğinde uygundur - örneğin bulutta. Oldukça güvenilir şifreleme sağlar (varsayılan 128 bit sürümde, şifreleme gücünü iki bit azaltma olasılığı olmasına rağmen) ve son kullanıcı için şeffaftır.
EncFS aynı - daha eski eserlere dayanan yaklaşık on yıl önce yaşlı bir adam. Potansiyel güvenlik açıkları nedeniyle şu anda kullanılması önerilmemektedir, ancak bulutlardaki hassas olmayan verileri korumak için platformlar arası bir araç olarak kullanılabilir.

Bu tür araçları kullanmanız gerekiyorsa, korumanın kapsamlı olması gerektiğini her zaman hatırlamalısınız.

: - Rusça

Sayfanın aktif gelişimi tamamlandı

Ekleyeceğiniz bir şey varsa, bölümleri yeni bilgilerle tamamlayın. Yazıdaki yazım ve hatalarımız kolaylıkla düzeltilebilir, bunu maile bildirmenize gerek yoktur, lütfen bu sayfanın stilini takip edin ve bölüm ayırıcıları (çeşitli kalınlıklarda gri çizgiler) kullanın.

Debian'da verileri şifreleme

Birçoğuna verilerinizi şifrelemenize gerek yok gibi görünüyor. Ancak, içinde Gündelik Yaşam"bir flash sürücü kayboldu" veya "bir dizüstü bilgisayar onarım için teslim edildi" vb. durumlarla sık sık karşılaşıyoruz. Verileriniz şifrelenmişse, bunun için endişelenmenize gerek yoktur: hiç kimse bunları internette yayınlamaz veya başka bir şekilde kullanmaz.

cryptsetup ile şifreleme

Düzenlemek gerekli bileşenler:

# apt-get install cryptsetup

Standart sözdizimi

/ dev / sda2... Komutu girelim:

# cryptsetup sda2_crypt / dev / sda2 oluştur

Bu komut diskimize şifreli bir bağlantı oluşturacaktır. katalogda / dev / haritacı istenen ada sahip yeni bir cihaz görünecektir: / dev / eşleştirici / sda2_crypt, buna atıfta bulunarak şifreli disk erişimi kullanıyoruz. LUKS söz konusu olduğunda, ad / dev / eşleştirici / sda2_crypt

Diskte zaten bir dosya sistemi varsa ve verileri buna kaydetmek istiyorsak, daha sonraki kullanımları için bunları şifrelemek gerekir:

# dd if = / dev / sda2 / = / dev / mapper / sda2_crypt

yaratılırsa yeni disk boş bir bölümde biçimlendirebilirsiniz:

# mkfs.ext3 / dev / eşleyici / sda2_crypt

Daha sonra bu diski herhangi bir yere monte etmek mümkün olacak:

# mount / dev / mapper / sda2_crypt / path / to / mount / point

Veri bütünlüğünü kontrol edin (her zamanki gibi, yalnızca monte edilmemiş durumda kullanmak daha iyidir):

# fsck.ext3 / dev / eşleyici / sda2_crypt

Hatta artık şifreleme kullanmak istemiyorsak, şifreyi tekrar çözelim:

# dd if = / dev / mapper / sda2_crypt of = / dev / sda2

LUKS sözdizimi

Yukarıdaki adımlar LUKS standardına göre yapılabilir.

Bölümü başlatalım:

cryptsetup luksFormat / dev / sda2

Sisteme bağlanıyoruz:

cryptsetup luksOpen / dev / sda2 sda2_crypt

Biçimlendiriyoruz:

mkfs.ext4 -v -L VERİ / dev / eşleyici / sda2_crypt

Monte ediyoruz:

mount / dev / mapper / sda2_crypt / mnt / data

Sistem hakkında bölüm manuel olarak devre dışı bırakılabilir

cryptsetup luksKapat sda2_crypt

Başlangıç ​​bağlantısı

Bu amaçla dosya kullanılır. kripto sekmesi.

Diskimiz için içine yazacağız Sonraki satır:

nano / etc / crypttab # eşleyici adı cihaz anahtar parametreleri / seçenekleri # Standart sözdizimi ile sda2_crypt / dev / sda2 yok aes-cbc-plain: sha256 # ve \ veya LUKS standart sda2_crypt / dev / sda2 yok luks

Varsayılan olarak, kullanıcı tarafından girilen parola ile şifreleme kullanılır. Böylece, bilgisayarınızı her başlattığınızda, sistem her şifrelenmiş bölüme bağlanmak için bir parolanız olduğunda size soracaktır. Bu bölümler fstab'da yazılmamış olsa bile.

Manuel olarak monte etmek istiyorsak, seçeneği ekleyin noauto"parametreler / seçenekler" alanında.

/ etc / crypttab'dan gelen verileri kullanarak şifreli bir bölümü manuel olarak monte etme

cryptdisks_start msda2_crypt

Ve önceden monte edilmiş bir fs'den kapatma.

cryptdisks_stop sda2_crypt

fs'yi bağlı bir şifreli bölüme otomatik olarak monte etmek için, bir satır ekleyin. / vb / fstab

/ dev / mapper / sda2_crypt / mnt / data ext4 varsayılanları 0 0

LUKS'ta anahtarlarla çalışma

LUKS bölümü, her biri kendi yuvasına uyan 8 farklı anahtarı destekler.

Kullanılan anahtarların listesine bakın

cryptsetup luksDump / dev / sda2

LUKS 2 tür anahtar kullanabilir - parolalar ve dosyalar.

Anahtar kelime ekleyebilirsiniz

cryptsetup luksAddKey / dev / sda2

Bir anahtar dosyası (2048 bit) ekleyebilir ve buna erişim haklarını ayarlayabilirsiniz.

dd if = / dev / urandom of = / root / ext2.key bs = 512 sayı = 4 cryptsetup luksAddKey / dev / sda2 /root/ext2.key chmod 400 /root/sda2.key cryptsetup -d /root/sda2.key luksOpen / dev / sda2 sda2_crypt

Anahtarı kullanarak başlangıçta bağlanmak için / etc / crypttab dosyasını düzenleyin

nano / etc / crypttab sda2_crypt / dev / sda2 /root/sda2.key luks

Bir bölümden bir parolayı veya anahtarı kaldırabilirsiniz

cryptsetup luksKillSlot / dev / sda2 1

"Yabancı" dağıtımda acil durum montajı

Hiç kimse sorunlardan korunmaz ve bazen acil durum LiveCD diskinden şifreli bölüme erişmeniz gerekir.

Önyükliyoruz, bölümü sisteme bağlıyoruz ve fs'yi monte ediyoruz:

cryptsetup luksOpen / dev / sda2 sda2_crypt mount -t ext4 / dev / mapper / sda2_crypt / mnt / yedekleme

İşten sonra, fs'nin bağlantısını keseceğiz ve şifreli bölümü sistemden ayıracağız.

umount / mnt / yedekleme cryptsetup luksClose sda2_crypt

Kapatma hata mesajları

Kök bölüm şifrelenmişse, kapatıldıktan sonra bir mesaj görüntülenecektir.

erken kripto disklerini durdurmak ... başarısız oldu

Bu teknik bir hatadır. Kapatma sırasında, her zaman önce dosya sistemleri kaldırılır ve ancak o zaman bölümün bağlantısı kaldırılır. Sonuç olarak, kök bağlantısız bölümde bulunan cryptsetup yardımcı programının artık çalıştırılamayacağı ortaya çıktı, bu da INIT'in bize anlattığı şey. Bu sorun koltuk değneği olmadan çözülemez. bunun için cryptsetup'ı şuraya aktarma seçeneklerini göz önünde bulundurmalısınız. RAM diski

Kök bölümü içeren yazılım RAID kullanıldığında durum benzerdir. sekiz)

loop-aes modülü ile şifreleme

Bir sabit sürücünün bir bölümünü şifreleme, bir parola kullanarak flash sürücü

Bunda nasılşifreleme yöntemi açıklanmıştır AES256, diğer yöntemler de aynı şekilde uygulanabilir (yöntem adı uygun olanla değiştirilerek). Aşağıdaki paketlere ihtiyacımız var:

# apt-get install loop-aes-utils loop-aes-modules-`uname -r`

Not: gerekli loop-aes-modüllerinin depoda olmadığı bir çekirdek kullanıyorsanız, modülleri aşağıdaki komutlarla kurabilirsiniz:

# apt-get install module-assistant loop-aes-source # module-asistant a-i loop-aes

İlk aşama

İlk aşamada, diski şifreleme kullanarak onunla çalışmaya hazırlıyoruz.

Şifrelemek istediğimiz diskin (veya flash sürücünün) bölümünü seçin, örneğin / dev / sda2... Komutu girelim:

# Lostup -e AES256 -T / dev / loop0 / dev / sda2

Bu komutu yürüttükten sonra cihaza gelen tüm çağrılar / dev / döngü0şifrelenecek ve şifrelenmiş biçimde cihaza yönlendirilecektir / dev / sda2... Artık depolama cihazına giden hem şifreli hem de şifresiz kanallarımız var. Veriler, Lostup yürütülürken belirttiğiniz parola kullanılarak şifrelenir.

Şimdi örneğin cihazı biçimlendirebiliriz:

# mkfs.ext3 / dev / loop0

Onu monte edebiliriz:

# mount / dev / loop0 / path / to / mount

şifrelemeyi kapatabiliriz:

# Lostup -d / dev / loop0

ve en önemlisi, bölümü şifreleyebiliriz veri kaybı yok:

# dd if = / dev / sda2 / = / dev / loop0

ve şifrelemenin bizim yöntemimiz olmadığına karar verirsek şifresini çözmenin yanı sıra:

# dd if = / dev / loop0 of = / dev / sda2

Ve en iyi yanı, dosya sistemi bütünlük kontrollerini yapabilmemizdir:

# fsck.ext3 / dev / loop0

Bu özellik, tüm bölüm şifreleme yöntemlerinde mevcut değildir.

Günlük kullanım

Zaten bir bölüm kaydınız varsa / dev / sda2 senin içinde / vb / fstab, o zaman sadece seçenekler eklemeniz gerekir ve değilse, aşağıdakine benzer bir şey yazın:

/ dev / sda2 / yol / to / mount ext3 döngüsü, şifreleme = AES256 0 0

Şimdi, işletim sistemi önyüklendiğinde, sizden mount parolası istenecektir.

İndirme işleminin bir şifre talebiyle kesintiye uğramasını istemiyorsanız, seçenekler ekleyebilirsiniz. noauto,kullanıcı kaydetmek / vb / fstab:

/ dev / sda2 / yol / to / mount ext3 döngüsü, şifreleme = AES256, noauto, kullanıcı 0 0

Elbette, manuel olarak (veya bir komut dosyasından) bağlayabilirsiniz:

# mount / dev / sda2 / yol / to / mount -o döngüsü, şifreleme = AES256

Birden çok dosya sistemini bağlama

Bazen aynı anda birkaç veri bölümünü şifrelemek istersiniz, ancak her biri için bir şifre denizi girmemek için binmek... Örneğin, evden işe taşıdığınız bir USB flash sürücünüz, taşınabilir bir sabit sürücünüz vb. Veya sadece birkaç bölüm / sabit sürücü.

Diyelim ki şifreli bir bölümümüz var / dev / sda2, her açılışta dizine bağladığımız / mnt1... Yeni bir sabit sürücü ortaya çıktı / dev / sdb1 ve dizine otomatik olarak bağlanmasını istiyoruz mnt2 ilkini monte ederken. elbette oluşturabilirsiniz ortak sistem gibi bir şey üzerinde LVM, ancak daha basit bir yoldan gidebilirsiniz:

reçete etmek fstab kabaca şu satır:

/ dev / sda2 / mnt1 ext3 noatime, exec, döngü, şifreleme = AES256 0 0 / dev / sdb1 / mnt2 ext3 noatime, exec, döngü, şifreleme = AES256, cleartextkey = / mnt1 / key.txt 0 0

Önyükleme sırasında sistem, noktaları aşağıdaki bölümde açıklandığı şekilde bağlar. fstab Bu nedenle, ilk bölüm monte edilmemişse, ikinci bölümün bağlama anahtarı kullanılamayacak ve ikinci bölüm de bağlanmayacaktır.

Şifre şu şekilde saklanır: düz / metin bu kesinlikle çok hoş değil, ancak şifreli bir bölümde saklanıyor (bağlanamaz). Bunun yerine kullanılabilir gpg-key, ancak bu fazla güvenlik sağlamayacaktır (eğer anahtarı çalabilirlerse, o zaman bu anahtarın ne olacağı çok fazla fark etmeyecektir), şifreleme seçeneği ile gpg-anahtar açıklanmıştır adam zavallı, burada sadece bir giriş örneği vereceğim fstab:

/ dev / sda2 / mnt1 ext3 noatime, exec, döngü, şifreleme = AES256 0 0 / dev / sdb1 / mnt2 ext3 noatime, exec, döngü, şifreleme = AES256, gpgkey = / mnt1 / key.gpg 0 0

Notlar (düzenle)

Desteklenen şifreleme algoritmaları hakkında daha fazla bilgi için bkz. adam zavallı, orada diğer program seçeneklerinin açıklamasını da görebilirsiniz. zavallı.

AES modüllerini kurmakta sorun yaşıyorsanız paketle birlikte gelen belgeleri okuyun. loop-aes-source.

GRUB ve şifreli kök disk

Kök bölümü şifreli bir diske kurarken, GRUB ana menüde krakozyabry gösterebilir. Bunun nedeni, /usr/share/grub/unicode.pf2 standart yazı tipinin bulunmamasıdır. Yazı tipini kopyala

cp /usr/share/grub/unicode.pf2 / boot / grub /

Ayarı belirtme

nano / etc / varsayılan / grub GRUB_FONT = / önyükleme / grub / unicode.pf2

Ayarı uygulayın:

güncelleme grubu