PrivacyIdea adlı bir grup, bir HMAC-SHA1 meydan okumaya cevap rutini eklemek için küçük bir paket yarattı ; bu, Ubuntu'nun sizi Yubikey'e geçme mücadelesi için sorgulaması ve ardından LUKS biriminin kilidini açmak için yanıtı kullanması anlamına geliyor. Çoğu kısım için, bu talimatları izliyorum , bazı yorumlar ekledim. Süreci yapmak gerçekten çok kolaydır.
Bunu Ubuntu 14.04, 16.04 ve 18.04'te test ettim; bir Yubikey Neo kullanarak. 14.04'ten sonra herhangi bir Yubikey, firmware 2.0+ ve Ubuntu'nun herhangi bir sürümüyle çalışmalıdır. Ayrıca Ubuntu 19.04'ü bir Yubikey 5C ile test ettim, bazı ek çalışmalara ihtiyaç vardı, ancak çalışmak için yapılabilir. Bunun birlikte çalıştığı diğer donanım HMAC-SHA1 sorun yanıtlama aygıtları da olabilir, ancak var olanların farkında değilim. Her zaman olduğu gibi, devam etmeden önce verilerinizin yedeğini aldığınızdan emin olun - burada herhangi bir sorun olmamalıdır, ancak bunun her zaman bilgisayarınızdaki her şeyi yok etme olasılığı vardır. Bu talimatların garantisi yoktur.
Güncelleme: Ubuntu 16.04’ten bu yana gerekli paketler ana depolardadır ve PPA gerekli değildir.
Sorularınız varsa bir yorum ekleyin!
0. Önkoşullar
Bunun çalışması için LUKS tam disk şifrelemesini kurmuş ve çalışıyor olmalıdır. Ubuntu'yu kurarken uygun seçeneği seçerek bunu yapabilirsiniz. Maksimum güvenlik için, kurulum sırasında seçilmiş çok güçlü bir parolanız olmalıdır. Parolanız çizilmeye kadar değilse, devam etmeden önce daha iyi bir değerle değiştirmelisiniz ( burada daha ayrıntılı talimatlar ).
Aşağıdaki yöntem, varolan parolaların yerini almayacak, bunun yerine LUKS yuvalarından birine başka bir parola ekleyecektir. Bu nedenle, eğer Yubikey'nizi kaybederseniz, bilgisayarınızı mevcut herhangi bir parola kullanarak kilidini açabilirsiniz - Bir not almanızı ve güvenli bir yere saklamanızı öneririm - bu işlem sırasında ona birkaç kez de ihtiyacınız olacak. Yeni Yubikey meydan okuma parolanızın hala oldukça güçlü olması gerekir, ancak Ubuntu'yu kurarken kullandığınız parola uzun olması gerekmez.
1. PrivacyIdea PPA ekleyin ve paketi kurun
Ubuntu'da 14.04
Bir terminal açın ve aşağıdaki komutu çalıştırın:
sudo add-apt-repository ppa:privacyidea/privacyidea
İstendiğinde Enter tuşuna basın, sonra çalıştırın:
sudo apt-get update
Ardından paketi şu şekilde yükleyin:
sudo apt-get install yubikey-luks
Ubuntu'da 16.04, 18.04
Bir PPA'ya gerek yoktur, paketi aşağıdaki şekilde kurabilirsiniz:
sudo apt-get install yubikey-luks
Ubuntu'da 19.04
Paketi Ubuntu 19.04 kaynağından nasıl oluşturacağınız için bu cevaba bakın yubikey-luks
.
2. Yubikey yazılımını yükleyin
Yubikey'in HMAC-SHA1 işlevini başka bir şey için kullanıyorsanız, bu bölümü atlayabilirsiniz. O kadar, ikinci Yubikey yuvasına herhangi bir yapılandırma silecektir yok bu Yubikey ile diğer amaçlar için HMAC-SHA1 kullanıyorsanız bu adımı gerçekleştirin.
Ya, gerekli yazılım yükleyerek Ubuntu ile işinize Yubikey kurmak gerekir Yubico PPA dan Ubuntu veya 16.04 ve sonraki sürümlerdeki ana Ubuntu deposundan Ubuntu .
Ubuntu'da 14.04
Daha önce yapmadıysanız, PPA'yı ekleyin ve paketi ile birlikte kurun:
sudo add-apt-repository ppa:yubico/stable
sudo apt-get update
sudo apt-get install yubikey-personalization
Ubuntu'da 16.04, 18.04 (ve sonrası)
sudo apt-get install yubikey-personalization
3. HMAC-SHA1 için Yubikey Yuvasını Başlat
Şimdi Yubikey'in ikinci yuvasını bir HMAC-SHA1 yapılandırmasıyla programlamamız gerekiyor. Bu, varsayılan olarak boş olan önceki yuva yapılandırmanızı siler. Yine, başka bir şey için HMAC-SHA1 kullanıyorsanız, bu komutu vermeyin - yapılandırmanızı siler. Bu LUKS kurulumu için, diğer kullanımlarınızda olduğu gibi, Yubikey içindeki aynı gizli anahtarı güvenle kullanabilirsiniz. (Örneğin, LUKS + Yubikey kullanan başka bir bilgisayarla).
ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible
Terminal, yapılan değişikliklerle ilgili bazı bilgileri gösterecektir. Bunu not etmeniz gerekmez, ancak bir meydan okuma yapıldığında cevabı hesaplamak için HMAC-SHA1 algoritmasında Yubikey'in kullandığı gizli anahtarı gösterecektir.
4. Yubikey'i LUKS Yuvasına Kaydedin
Şimdi, YUBikey'in yanıtını şifre çözme anahtarlarından biri olarak eklemek için LUKS yapılandırmasını düzenleyeceğiz.
Belirlememiz gereken bölüm, makinenizi başlatmak için BIOS veya UEFI kullanmanıza bağlı olarak değişir. BIOS için, şifreli birim /dev/sda5
varsayılan olarak, UEFI için ise bulunur /dev/sda3
. Sen açarak kontrol edebilirsiniz disks
yarar ve bölünme yolunu teyit - bu ya olmalı sda3
ya sda5
. NOT: NVMe diskli daha yeni bilgisayarlarda, yol böyle bir şey olacaktır /dev/nvme0n1p3
.
Bunu bir terminalde çalıştırın:
sudo yubikey-luks-enroll -d /dev/sda3 -s 7
Bu LUKS konfigürasyonunun 7 numaralı slotuna yazacak, kurulum programındaki talimatları izleyecektir (çalıştırdığınız versiyona bağlı olarak biraz değişebilir).
O zaman hepiniz bitirdiniz! Bilgisayarınızı yeniden başlatabiliyor olmalısınız ve Yubikey'iniz takılıysa, meydan okuma şifrenizi yazabilir ve LUKS bölümünün kilidini açmak ve sistemi başlatmak için Yubikey'i ikinci bir faktör olarak kullanabilirsiniz. Sabit sürücünün şifresini çözdükten sonra Yubikey'i kaldırabilirsiniz.
Yubikey'nizi kaybederseniz, sabit sürücünün şifresini çözmek için hala orijinal (umarım çok uzun) parolanızı girebilir ve ardından yeni bir Yubikey kaydetmek için bu prosedürü tekrar uygulayabilirsiniz.
Şifreleme zorluğu şifresini değiştirme
Şifrenin daha sonraki bir tarihte değiştirilmesi oldukça basittir, sadece gizli anahtarı sıfırlamak için bu komutu kullanın. Gizli anahtarı sıfırlamak tamamen gerekli değildir, ancak zarar vermez. Ayı bu önceki gizli anahtarı yok edecektir akılda, yok bu Yubikey ile başka bir şey için HMAC-SHA1 kullanıyorsanız bunu yapmak. (Örneğin, LUKS + Yubikey kullanan başka bir bilgisayarla).
ykpersonalize -2 -ochal-resp -ochal-hmac -ohmac-lt64 -oserial-api-visible
Ardından, bu komutla Slot 7'yi temizlemeyi seçmemeniz haricinde, LUKS anahtar yuvasına yeni bir şifre kaydetmek için yukarıdaki 4. Adım'a benzer :
sudo yubikey-luks-enroll -d /dev/sda3 -s 7 -c
İstendiğinde Enter any remaining passphrase
, Yubikey meydan okuma parolanızı değil, yedek parolanızı kullanın. Sonra iki kez yeni bir Yubikey meydan okuma parolası girin , ardından nihayet yedek parolayı son bir defa girmeniz gerekir.
Artık eski Yubikey meydan okuma parolanız kaldırıldı ve yalnızca yeniniz sabit sürücünün şifresini çözecek. Önceki yedek parolanız hala aynı olacaktır. Adım 0'daki bağlantıları izleyerek bu parolayı değiştirebilirsiniz .
Güvenlik uygulamaları hakkında not
Bir Yubikey eklemek sisteminize belirli bir güvenlik düzeyi ekleyecektir - birisi hem meydan okuma şifresini bilmek zorundadır hem de Yubikey'inizin sabit sürücünüzün kilidini açmasını sağlamalıdır (veya şimdi yedek olarak kullandığınız ilk şifrenizi bulmak) . Bununla birlikte, eğer bir saldırganın meydan okuma parolanızı bilmesi durumunda (örneğin, siz yazarken "omuzda sörf" yaparak) ve kısa bir süre için Yubikey'e erişebilirse, saldırganın sabit sürücünün şifresini çözmesi teknik olarak mümkündür. Tehdit parolasını kullanarak Yubikey'den yanıt alabilir ve saklayabilir ve ardından Yubikey'siz herhangi bir zamanda sabit sürücünün şifresini çözmek için kullanabilir. Veya, eğer bir saldırgan ya da bir kötü amaçlı yazılım parçası parolanızı biliyorsa ve Yubikey'inize bağlı bir makinede kod çalıştırabilirse, sorunu da çözebilir ve yanıtı saklayabilir. Bu nedenle, meydan okuma parolanıza girerken dikkatli olmanız ve her zaman Yubikey'in güvenli bir yerde olmasını sağlamanız çok önemlidir. Ayrıca, yalnızca, yalnızca güvendiğiniz bir makineye takmanız gerekir. Yubikey'inizin izini kaybederseniz ve birisinin şifre çözme anahtarını öğrenmek için kullanmış olduğundan şüpheleniyorsanız, Yubikey'in içindeki gizli anahtarı sıfırlamak ve yeni bir meydan okuma şifresi seçmek için 2. ve 3. adımları tekrarlayın. Bir rakip, parolalarınızdan birini öğrenmeyi başardıysa (ya Yubikey’den gelen HMAC-SHA1 yanıtı ya da yedeğiniz) LUKS ana anahtarının yedeğini alabilir ve sabit sürücünüzün şifresini çözmek için kullanabilirsiniz. ileride parolayı değiştirirsiniz. ve her zaman Yubikey'in güvenli bir yerde olmasını sağlamak için. Ayrıca, yalnızca, yalnızca güvendiğiniz bir makineye takmanız gerekir. Yubikey'inizin izini kaybederseniz ve birisinin şifre çözme anahtarını öğrenmek için kullanmış olduğundan şüpheleniyorsanız, Yubikey'in içindeki gizli anahtarı sıfırlamak ve yeni bir meydan okuma şifresi seçmek için 2. ve 3. adımları tekrarlayın. Bir rakip, parolalarınızdan birini öğrenmeyi başardıysa (ya Yubikey’den gelen HMAC-SHA1 yanıtı ya da yedeğiniz) LUKS ana anahtarının yedeğini alabilir ve sabit sürücünüzün şifresini çözmek için kullanabilirsiniz. ileride parolayı değiştirirsiniz. ve her zaman Yubikey'in güvenli bir yerde olmasını sağlamak için. Ayrıca, yalnızca, yalnızca güvendiğiniz bir makineye takmanız gerekir. Yubikey'inizin izini kaybederseniz ve birisinin şifre çözme anahtarını öğrenmek için kullanmış olduğundan şüpheleniyorsanız, Yubikey'in içindeki gizli anahtarı sıfırlamak ve yeni bir meydan okuma şifresi seçmek için 2. ve 3. adımları tekrarlayın. Bir rakip, parolalarınızdan birini öğrenmeyi başardıysa (ya Yubikey’den gelen HMAC-SHA1 yanıtı ya da yedeğiniz) LUKS ana anahtarının yedeğini alabilir ve sabit sürücünüzün şifresini çözmek için kullanabilirsiniz. ileride parolayı değiştirirsiniz. Yubikey'in içindeki gizli anahtarı sıfırlamak için 2. ve 3. adımları tekrarlayın ve yeni bir mücadele şifresi seçin. Bir rakip, parolalarınızdan birini öğrenmeyi başardıysa (ya Yubikey’den gelen HMAC-SHA1 yanıtı ya da yedeğiniz) LUKS ana anahtarının yedeğini alabilir ve sabit sürücünüzün şifresini çözmek için kullanabilirsiniz. ileride parolayı değiştirirsiniz. Yubikey'in içindeki gizli anahtarı sıfırlamak için 2. ve 3. adımları tekrarlayın ve yeni bir mücadele şifresi seçin. Bir rakip parolalarınızdan birini öğrenmeyi başardıysa (ya Yubikey’den gelen HMAC-SHA1 yanıtı ya da yedeğiniz) LUKS ana anahtarının yedeğini alabilir ve sabit sürücünüzün şifresini çözmek için kullanabilir ileride parolayı değiştirirsiniz.Cryptsetup için man sayfası bunu açıklar, luksHeaderBackup bölümüne bakın. Bunun olduğundan şüpheleniyorsanız, verilerinizi korumak için tamamen yeni bir LUKS birimi oluşturmanız gerekir.