Kullanıcı girişinde şifrelenmiş sürücüyü güvenli bir şekilde otomatik olarak


18

Şifrelenmiş / giriş dizini oturum açtığımda benim için otomatik olarak bağlanıyor. Disk Yardımcı Programı ile biçimlendirdiğim ve şifrelediğim ikinci bir dahili sabit diskim var. Şifrelenmiş / ana dizinim gibi, giriş yaptığımda otomatik olarak monte edilmesini istiyorum. Bunu nasıl yaparım?

Burada çok benzer birkaç soru var, ancak cevaplar durumum için geçerli değil. Sorumu burada kapatmak / birleştirmek ve aşağıdaki ikinci soruyu düzenlemek en iyisi olabilir, ancak bence bu durum terk edilmiş olabilir (ve bu nedenle asla kabul edilmiş olarak işaretlenmemelidir).

Bu çözüm güvenli bir yöntem değildir, şifrelemeyi atlatır.
Bufstab , önyükleme sırasında ek bir parola girilmesini gerektiren düzenleme gerektirir . Montaj / ev gibi otomatik değildir.
Bu soru çok benzer, ancak şifreli bir sürücü için geçerli değildir. Çözüm ihtiyaçlarım için işe yaramaz.
İşte bir ama NTFS sürücüler için, benimki ext4.

Bir çözüm gerektiriyorsa ikinci sürücüyü yeniden biçimlendirebilir ve yeniden şifreleyebilirim. Tüm verileri başka bir yerde yedekledim.


Şifreleme için hangi FS'yi kullanıyorsunuz? LUKS veya ecrytpfs?
papatya

@AaronLewis Sürücüyü biçimlendirmek için sadece Ubuntu'nun Disk İzlencesi'ni kullanıyorum, ardından 'bu sürücüyü şifrele' kutusunu işaretliyorum. Tahmin etmek zorunda kalsaydım ecryptfs ile giderdim, çünkü bu / home varsayılan olarak nasıl şifrelenir. Yapması çok kolay olduğu için hiç bakmadım.
Tom Brossman

Yanıtlar:


5

Artık yukarıdaki çözümlere ihtiyacınız yok.

Ön şartlar:

Not: bu yöntem şifreli bir sürücüyü manuel olarak monte etmekten daha az güvenlidir. Birisi bilgisayarınıza fiziksel olarak erişebiliyorsa, kök parolanızla dikkatsizseniz veya bilgisayarınızda birden çok kullanıcı / konuk hesabı varsa, bu yöntem güvenli değildir ; oturumu kapattığınızda ancak sistemi kapatmazsanız ikincil sürücü takılı kalır, böylece içeriği diğer kullanıcılar tarafından görülebilir.

Bölüm 1: İkincil sürücüyü şifreleyin.

  1. Unity tire alanına "diskler" yazın ve enter tuşuna basın.
  2. "Aygıtlar" ın altında şifrelemek istediğiniz sabit sürücüyü tıklayın.
  3. "Birimler" in altındaki dişli / diğer işlemler düğmesini tıklayın.
  4. "Birimi Biçimlendir" i tıklayın. Tür için "Şifreli, Linux sistemleriyle uyumlu" seçeneğini belirleyin. Sürücünüzü adlandırın ve güçlü bir geçiş ifadesi verin.
  5. "Biçimlendir" i tıklayın

Bölüm 2: HDD'yi otomatik olarak sistem başlangıcına monte edin.

  1. "Diskler" uygulamasını açık tutun ve dişliyi tıklayın.
  2. "Şifreleme Seçeneklerini Düzenle" yi tıklayın.
  3. "Otomatik Şifreleme Seçenekleri" açılacak ve aşağıdaki menü soluk görüntülenecektir. Otomatik şifreleme seçeneklerini kapatın.
  4. Diski biçimlendirdiğiniz andan itibaren geçiş deyimini girin. "Tamam" ı tıklayın.

Artık bilgisayarınız önyüklendiğinde otomatik olarak bağlanacak şifreli bir sabit sürücünüz var.


1
Birinin bunun için bir kullanımı olacağından emin olsam da, sorulan soruya bir cevap değil, ikincil bağlantının sistem başlangıcının aksine kullanıcı oturum açmasında gerçekleşmesi gerektiğini belirtir. Bu, ilk olarak "Artık yukarıdaki çözümlere ihtiyacınız yok" iddiasını uygunsuz hale getiriyor ve yazarı da cevabı buna göre yeniden düzenlemeye davet ediyorum.
mc0e

2
Sanırım burada yanılıyorsun. Yani, ikincil bağlama kullanıcı oturumunda gerçekleşir (yalnızca bahsettiğim işlemin gerçekleştirildiği hesapta) ve elden bir saniye önce gerçekleşmez. Eşim aynı bilgisayarda Ubuntu hesabında oturum açtığında sürücü takılı değil. Bağlamaya çalışırsa, şifreleme anahtarını ister. Ben devam ediyorum, yukarıdaki cevaplara ihtiyacınız yok.
deneme

1
Kabul ettim, bu şimdiye kadar makinedeki tek kullanıcı olduğum için en basit yol. Herkes için çalışmaz, ancak bir Ubuntu yüklemeniz varsa ve birincil / yönetici kullanıcıysanız, bu yol. Gerçekten şimdiye kadar bir yerde büyük bir "Bu işi tam olarak şifreli / ev gibi yap" onay kutusu olmalı, bu basit bir kullanım örneğidir.
Tom Brossman

@tryion LUKS bölümünün kilidi sistem başlangıcında açılır ancak bağlanmaz. Böylece bilgisayar açılır açılmaz şifrelenmemiş bir bölüm kadar erişilebilir. Parola açık metin olarak içinde saklanır /etc/crypttab. Bu bölüme erişmek için kullanıcı şifresi gerekmez. Dolayısıyla bu ayar hiç şifrelemeye eşdeğer değildir ve sorunun cevabı değildir.
Victor

Belirli bir kullanıcının şifresini çözmek için libsecret kullanarak başka bir yerde saklamak için seçenekler var mı ve GUI olmayan / başsız kullanıcılar için bunun için bir klips kılavuzu var.
MrMesees

10

Bu cevabı birkaç yıl önce yazdığımda, çözümü uygulamanın en iyi yolu buydu. Şimdi bunun yerine mount.ecryptfs_private kullanarak bir sonraki cevaba bakmanızı öneririm .

Ayrıca ikinci bir eCryptfs birimini otomatik olarak bağlamanın bir yolunu arıyordum. Aşağıdaki komut dosyası koleksiyonu ve yapılandırma değişiklikleri, oturum açma işleminizde GUI'ye veya CLI'ya güvenli bir şekilde ve otomatik olarak bağlanır.

Oluşturma sürecinde olan daha iyi bir çözüm var (ancak kullanıcı girişinde otomatik montaj için oldukça hazır olmadığını düşünüyorum, çünkü bu komut dosyası sınırlı bir raf ömrüne sahip olacaktır.):

ecryptfs çok küçük sabit disk üzerinde - şifreleme bağlantıları nasıl eklenir?

Komut dosyalarının güvenliği, giriş dizininizin eCryptfs ile şifrelenmesine bağlıdır, böylece parolanızı açmak için parola içeren komut dosyası ve dosyalar şifrelenir. Giriş yaptıktan sonra bilgisayarınızı bir kök kabuk açık olarak açık bırakırsanız, parolalara erişmek mümkün olacaktır, ancak sudo NOPASSWD kullanımı, parola girişi gerektirmeden veya parolayı kullanıcı tarafından okunabilir bir dosyada bırakmadan bölümün güvenli bir şekilde monte edilmesini sağlar.

Bu komut dosyalarının bilinen bir eksikliği, ikinci biriminizin oturumdan çıkarılmayacağıdır, çünkü çok kullanıcılı sistemler için özellikle uygun değildir.

Benim çözümüm, gerçek montajı gerçekleştiren ve diğeri için bir sarıcı görevi gören birkaç kabuk komut dosyası ile uygulanır.

Bu dizin önceden monte edilmişse doğrulayan sarmalayıcı komut dosyasıdır, eğer değilse o zaman sudo kullanarak montaj komut dosyasını çağırır:

/ Home / JohnF / komut / automount_ecryptfs

#!/bin/bash

MOUNT_POINT=/home/johnf/slow

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  sudo /home/johnf/scripts/mount_other_ecryptfs
fi

Bu komut dosyası aşağıdaki gibi / home / johnf / scripts / mount_other_ecryptfs öğesini çağırır.

Bu komut dosyasının, dosya adı şifrelemesinin etkin olduğunu varsaydığını unutmayın; yoksa, algılamayı işlemek için betiği değiştirmeniz gerekir (ecryptfs-recover-private dosyasına bakın) veya ecryptfs_fnek_sig bağlama seçeneğini kaldırabilirsiniz.

/ Home / johnf / scripts / mount_other_ecryptfs komut dosyası aşağıdadır:

#!/bin/bash

ENCRYPTED_VOLUME=/vol0/.ecryptfs/johnf/.Private/
MOUNT_POINT=/home/johnf/slow
PASSFILE=/home/johnf/scripts/ecryptfs_passphrase
MOUNT_PASSWORD=secret_passphrase
ECRYPTFS_SIG=`head -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`
ECRYPTFS_FNEK_SIG=`tail -1 ${ENCRYPTED_VOLUME}//../.ecryptfs/Private.sig`

printf "%s" $MOUNT_PASSWORD | ecryptfs-insert-wrapped-passphrase-into-keyring ${ENCRYPTED_VOLUME}/../.ecryptfs/wrapped-passphrase
mount -t ecryptfs -o key=passphrase:passfile=${PASSFILE},ecryptfs_sig=${ECRYPTFS_SIG},ecryptfs_fnek_sig=${ECRYPTFS_FNEK_SIG},ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n ${ENCRYPTED_VOLUME} ${MOUNT_POINT}

Ayrıca içinde şifrenizle bir dosya oluşturmanız gerekecektir, bu dosya eCryptfs mount komutu tarafından kullanılacaktır:

/ Home / JohnF / komut / ecryptfs_passphrase:

passwd=secret_passphrase

Birkaç dosyadaki izinleri değiştirmeniz gerekir:

chmod +x /home/johnf/scripts/automount_ecryptfs
sudo chown root:root /home/johnf/scripts/mount_other_ecryptfs /home/johnf/scripts/ecryptfs_passphrase
sudo chmod a=x /home/johnf/scripts/mount_other_ecryptfs
sudo chmod 400 /home/johnf/scripts/ecryptfs_passphrase

Komut dosyalarını oluşturmadan önce, sudo parolanızı girmeden sudo kullanarak bağlama komut dosyasının yürütülmesine izin vermek için bir sudoers yapılandırması oluşturmanız gerekir.

Aşağıdakileri / etc / sudoers (veya /etc/sudoers.d içindeki bir dosyaya) ekleyin. Johnf yerine kullanıcı adınızı koymak isteyeceksiniz. Montaj komut dosyasına mutlak bir yol kullanmak gerekir.

johnf   ALL = NOPASSWD: /home/johnf/scripts/mount_other_ecryptfs

Son adım, oturum açıldığında automount_ecryptfs komut dosyasını çağırmaktır.

Ubuntu Unity'de (ve muhtemelen gnome'da) / home / johnf / scripts / automount_ecryptfs'yi çağıran yeni bir başlangıç ​​programı oluşturmak için Başlangıç ​​Uygulamaları uygulamasını kullanın.

Oturum açma sırasında ikinci eCryptfs birimini otomatik olarak bir bash kabuğuna bağlamak için ~ / .bashrc dosyanızı değiştirmek istersiniz. Aşağıdakileri ekleyin:

/home/johnf/scripts/automount_ecryptfs

Bu yapılandırma uygulandığında artık ikinci eCryptfs biriminizi otomatik olarak bağlamanız gerekir.


Vay be, harika cevap! Oy verildi ve kabul edildi. Henüz test edemiyorum ama bu çok eksiksiz görünüyor.
Tom Brossman

mount.ecryptfs_privateŞimdi yazarı ecryptfs-mount-privateonun için de bir sarıcı komut dosyası olan kullanımını tavsiye ediyor mount.ecryptfs_private. thesimplecomputer.info/… ecryptfs ve LUKS'un göreli değerleri için okunmaya değer olabilir.
mc0e

9

@ Johnf'un cevabına dayanarak bunun yerine mount.ecryptfs_private kullanılıyor:

  • /home/bob/Ubuntu'nun normal şifrelenmiş ev dizisi sihirini kullanarak şifrelenmiş (örn. SSD'de).
  • şifrelenmiş /media/hdd/bob_extra/(örn. bir HDD üzerinde) /home/bob/extra. Bu, girişte olduğu gibi ana sayfadaki gibi otomatikleştirilmelidir.
  • her ikisi için de aynı anahtarları / kimlik bilgilerini kullanın.

oluştur

mkdir /media/hdd/bob_extra
cp /home/bob/.ecryptfs/Private.sig /home/bob/.ecryptfs/extra.sig
echo "/media/hdd/bob_extra /home/bob/extra ecryptfs none 0 0" > /home/bob/.ecryptfs/extra.conf

Dene

mount.ecryptfs_private extra

koşarken mount, görmelisin:

...
/media/hdd/bob_extra on /home/bob/extra type ecryptfs (ecryptfs_check_dev_ruid,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs,ecryptfs_sig=12345678abcdef,ecryptfs_fnek_sig=abcdef12345678)

bağlantısını kesmek için:

sudo umount /media/hdd/bob_extra

kurulum automount

Oluşturmak /home/bob/bin/automount_ecryptfs.extra , eğer daha önce monte edilmemişse monte eder.

#!/bin/bash

MOUNT_POINT=/home/bob/extra

grep -q $MOUNT_POINT /proc/mounts
if [ $? -eq 1 ]; then
  mount.ecryptfs_private extra
fi

Yürütülebilir hale getirin ( chmod +x) ve ardından/home/bob/.bashrc :

...
/home/bob/bin/automount_ecryptfs.extra

Ardından Gnome'un Başlangıç ​​Uygulamalarına da ekleyin.


+1 Cevabınız için teşekkürler. Paylaşılan bir sürücüye birden fazla SSD ve sembol bağlantısı ile çok daha karmaşık bir kurulum var, bu yüzden bunu test edemeyeceğim. Umarım birden fazla HDD'yi şifrelemek bir gün şifrelemek / ev yapmak kadar basit olacaktır.
Tom Brossman

Bakın ecryptfs-mount-privatehangisi daha benzer. Örneğin, kullanıcının anahtarlığındaki bir anahtarı otomatik olarak kullanabilir.
mc0e

Bu yanıt, bir eCryptfs özel dizinini kurmakla ilgilidir. Soru, Diskler yardımcı programıyla oluşturulmuş bir LUKS bölümünün kurulmasıyla ilgiliydi .
Victor

1

Şifrelenmiş giriş dizininizde bir komut dosyası oluşturun ~/scripts/mount_storage.sh::

#!/bin/bash

sudo cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file ~/keys/storage_keyfile
sudo mount /dev/mapper/storage /storage

"Başlangıç ​​Uygulamaları" na ekleyin:

sh ~/scripts/mount_storage.sh

Şuraya ekle /etc/sudoers:

%sudo   ALL= NOPASSWD: /sbin/cryptsetup open --type luks UUID=12e26119-0ee2-4eb4-bd40-d8a3547ecf0c storage --key-file *
%sudo   ALL= NOPASSWD: /bin/mount /dev/mapper/storage /storage

Şunu oluşturmanız gerekir: /storage bağlama noktası ve yukarıdaki senaryoda UUID'sini değiştirmek için (bunu bulmak blkid).


Bir USB takıldığında böyle bir komut dosyasını çalıştırmanın kolay bir yolu var mı?
naught101

Bunu kendim denemedim, bu yüzden kesin olarak söyleyemem ama nedenini anlamıyorum. Belirli bir USB aygıtını hedefleyen ve yukarıdaki komut dosyasını çalıştıran bir udev kuralı oluşturmanız gerekir. Bu yazı, örneğin bir başlangıç ​​noktası olabilir.
Raul Laasner

0

Korkarım bu popüler bir cevap olmayacak ...

Şifrelemenin kendisinin güvenliğini engellemeden, şifrelenmiş bölümleri otomatik olarak monte etmek mümkün olmayacaktır.

" Otomatik " in ne anlama geldiğini düşünün ve otomatik olarak verilerinizi de göreceklerini anlayın .


Sübjektif olarak 'Güvenli' kullandım, sorudan kaldırabilirim. Oturum açtığımda fotoğrafların olduğu şifreli sürücünün / home gibi bağlanmasını istiyorum. Bunun teorik olarak mümkün olduğunu biliyorum, çünkü Déjà Dup için hedef olarak üçüncü (aynı zamanda şifreli) bir sürücüm var. Bu sürücü yalnızca yedekleme yardımcı programı başlatıldığında monte edilir. Tam otomatik, her defasında girmemek için anahtarı kaydettim. Giriş ekranında şifremi girdikten sonra tüm anahtarlarımın otomatik olarak ele alınmasından memnunum. Bunun nasıl yapılacağı hakkında bir fikrin var mı? Teşekkürler.
Tom Brossman

3
Bu bağlamda otomatik olarak, oturum açma parolanızı girdikten sonra bağlanması gerektiği anlamına gelir. Giriş şifreniz şifrelenmiş bölümünüzün anahtarı veya daha sıklıkla anahtarın anahtarı olabilir. Bu makul güvenlidir (iyi bir giriş şifresi vererek).
Javier Rivera

Başka bir bilgisayara otomatik olarak monte edilmeyecektir, bu yüzden çoğumuzun bazı diskleri şifrelemesinin nedeni budur. Benim durumumda, yedekleme yapmak için kullandığım bir disk. Paylaşılan bir alanda çalışıyorum ve çok fazla bilgiye sahip birinizin diskime / bilgisayarıma fiziksel erişimle yaptığım her şeyi atlatabileceğini biliyorum: Sadece dosyalarıma erişilebilirliği azaltmak istiyorum, böylece herkes yapabilir yapma.
Ramon Suarez

Otomatik bir işlem yaparak, bilgisayarınızı çalan birinin şifrelenmiş ekstra HD anahtarınıza erişmesi mümkün olabilir mi ?? (ve tabii ki bu HD'ye
bağlanın

Kolay, açık senaryo: Verileri yedeklemek için ofisteki bir sunucuya bir USB sürücü takıyorum. Sunucuya Kötü Bir Şey Olması Durumunda Site Dışı Yedeklemeler Sağlamak İçin USB Sürücüsünü Eve Götürüyorum. Birisi arabama girer ve eve giderken mağazadayken USB diskini alır. Şimdi 1) sunucunun nerede olduğunu bilmeli ve 2) diski şifresini çözmek için ofise girmelidirler. Bu bölüm "sadece evde bilgisayarlarına takın" dan çok daha zor.
Ernie

0

Aşağıdaki gibi ilerlemek güvenli olmalıdır. Parola istenmesi, takılı olsa bile diğer kullanıcıların birime erişmesini engeller.

Diskleri açın, sürücüyü seçin ve LUKS birimine tıklayın. Dişli çarkları tıklayın ve "Kullanıcı Oturumu Varsayılanları" nı seçin. "Sistem başlangıcında kilidi aç" ve "Kilidi açmak için ek yetkilendirme iste" seçeneğini belirleyin: resim açıklamasını buraya girin

2. Disk birimine tıklayın (LUKS biriminin altında). Dişli çarkları tıklayın ve "Kullanıcı Oturumu Varsayılanları" nı seçin. "Sistem başlangıcında bağla" ve "Kullanıcı arayüzünde göster" i seçin: resim açıklamasını buraya girin

Birimi monte etmek için ek kimlik doğrulaması talep etmeyi de seçebilirsiniz, ancak bu durumda montaj söz konusu kullanıcı için otomatik olmayacaktır.

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.