From eeba6b5ca05055b7d453576b2c333caaef077082 Mon Sep 17 00:00:00 2001 From: Efe Date: Sun, 28 Feb 2021 04:49:28 +0300 Subject: [PATCH 1/2] VeraCrypt rehberi eklendi --- src/cihaz_guvenligi/luks_usb.md | 105 +++++++++++++++++++++++- src/cihaz_guvenligi/luks_usb/vera1.PNG | Bin 0 -> 169522 bytes src/cihaz_guvenligi/luks_usb/vera10.PNG | Bin 0 -> 20974 bytes src/cihaz_guvenligi/luks_usb/vera11.PNG | Bin 0 -> 313932 bytes src/cihaz_guvenligi/luks_usb/vera12.PNG | Bin 0 -> 299251 bytes src/cihaz_guvenligi/luks_usb/vera13.PNG | Bin 0 -> 277828 bytes src/cihaz_guvenligi/luks_usb/vera14.PNG | Bin 0 -> 312045 bytes src/cihaz_guvenligi/luks_usb/vera15.PNG | Bin 0 -> 292144 bytes src/cihaz_guvenligi/luks_usb/vera16.PNG | Bin 0 -> 298538 bytes src/cihaz_guvenligi/luks_usb/vera17.PNG | Bin 0 -> 251602 bytes src/cihaz_guvenligi/luks_usb/vera18.PNG | Bin 0 -> 266936 bytes src/cihaz_guvenligi/luks_usb/vera19.PNG | Bin 0 -> 277393 bytes src/cihaz_guvenligi/luks_usb/vera22.PNG | Bin 0 -> 44174 bytes src/cihaz_guvenligi/luks_usb/vera23.PNG | Bin 0 -> 24759 bytes src/cihaz_guvenligi/luks_usb/vera24.PNG | Bin 0 -> 22907 bytes src/cihaz_guvenligi/luks_usb/vera27.PNG | Bin 0 -> 41797 bytes src/cihaz_guvenligi/luks_usb/vera28.PNG | Bin 0 -> 10845 bytes src/cihaz_guvenligi/luks_usb/vera29.PNG | Bin 0 -> 35687 bytes src/cihaz_guvenligi/luks_usb/vera4.PNG | Bin 0 -> 73183 bytes src/cihaz_guvenligi/luks_usb/vera5.PNG | Bin 0 -> 123954 bytes src/cihaz_guvenligi/luks_usb/vera6.PNG | Bin 0 -> 293563 bytes src/cihaz_guvenligi/luks_usb/vera7.PNG | Bin 0 -> 303428 bytes src/cihaz_guvenligi/luks_usb/vera8.PNG | Bin 0 -> 311679 bytes src/cihaz_guvenligi/luks_usb/vera9.PNG | Bin 0 -> 27814 bytes 24 files changed, 101 insertions(+), 4 deletions(-) create mode 100755 src/cihaz_guvenligi/luks_usb/vera1.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera10.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera11.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera12.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera13.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera14.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera15.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera16.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera17.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera18.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera19.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera22.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera23.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera24.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera27.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera28.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera29.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera4.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera5.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera6.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera7.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera8.PNG create mode 100755 src/cihaz_guvenligi/luks_usb/vera9.PNG diff --git a/src/cihaz_guvenligi/luks_usb.md b/src/cihaz_guvenligi/luks_usb.md index 19ed1a2..38b69bc 100644 --- a/src/cihaz_guvenligi/luks_usb.md +++ b/src/cihaz_guvenligi/luks_usb.md @@ -50,7 +50,7 @@ sda 8:0 0 223,6G 0 disk ├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 731M 0 part /boot └─sda6 8:6 0 222,4G 0 part - └─sda6_crypt 253:0 0 222,3G 0 crypt + └─sda6_crypt 253:0 0 222,3G 0 crypt ├─vgxubuntu-root 253:1 0 221,4G 0 lvm / └─vgxubuntu-swap_1 253:2 0 976M 0 lvm [SWAP] sdb 8:16 1 7,3G 0 disk @@ -103,9 +103,106 @@ Gnome Disks kullanmak istemiyor veya kullanamıyor iseniz aynı işlemleri uçbi [Buraya katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) -### Veracrypt +### Veracrypt ile Şifrelenmiş Dosya Oluşturma + +[Veracrypt](https://en.wikipedia.org/wiki/VeraCrypt), Truecrypt yazılımının devamı olan özgür bir şifreleme aracıdır. [Truecrypt esrarlı ortadan kayboluşu](https://en.wikipedia.org/wiki/TrueCrypt#End_of_life_and_license_version_3.1) ardından özgür bir yazılım olarak hayatına başlayan Veracrypt, tam disk şifreleme, dosya, dizin ve dosya sistemi şifrelemede ender olan bir özellik olarak [inkar edilebilir şifreleme](https://en.wikipedia.org/wiki/Deniable_encryption) imkanı sunmakta. + +Bununla birlikte, eğer Windows kullanıcısıysanız tam disk şifrelemek için mülk bir yazılım olan BitLocker yerine VeraCrypt kullanabilirsiniz. Tam disk şifreleme özelliği GNU/Linux ve macOS sistemlerde kullanılamamakta, ancak diğer özellikler tüm platformlarda rahatlıkla kullanılabilmektedir. İnkar edilebilir şifreleme özelliği ise kendi başına bir rehber gerektirmekte. + +Bu rehberde VeraCrypt GUI ile Ubuntu 20.04 sistemde şifrelenmiş dosya oluşturma anlatılacak. Ancak hiçbir işletim sisteminde uygulayacağımız adımlar arasında bir fark yok. [Bu adresten](https://www.veracrypt.fr/en/Downloads.html) işletim sisteminize uygun olan dosyayı indirerek başlayabilirsiniz. + +![alt-text](luks_usb/vera1.PNG) + +Sayfayı biraz aşağı kaydırarak diğer GNU/Linux dağıtımları için yer alan kurulum paketlerini görebilirsiniz. `apt` ve `yum` üzerinden çekilerek kurulan programlar bazen güncel sürüm olmadığı veya programların güncel sürümleri geç geldiği için güvenliğimizi riske atmamak adına en güncel sürümleri VeraCrypt'in web sitesinden takip edebiliriz. İndirme işlemini gerçekleştirdikten sonra kurulum paketinin bulunduğu dizinde Terminal açarak + +`sudo dpkg -i veracypt-1.24-Update7-Ubuntu-20.04-amd64.deb && sudo apt install -f` + +yazıp kurulumu gerçekleştirebilirsiniz. Eğer Terminal ekranına aşina değilseniz dosya yöneticiniz üzerinden, indirdiğiniz VeraCrypt paketine gelip çift tık yaparak **Yazılım Kur** programıyla kurulum işlemini gerçekleştirebilirsiniz. + +![alt-text](luks_usb/vera4.PNG) + +**Not:** Lisans kısmında **Sahipli/Proprietary** yazmasının sebebi; TrueCrypt projesinin son sürümünün [özgür olmayan bir açık kaynak lisansına sahip olması](https://en.wikipedia.org/wiki/TrueCrypt#License_and_source_model) (TrueCrypt License 3.0) ve VeraCrypt ekibinin bu projenin üzerine geliştirme yapmasından kaynaklanıyor. Ancak VeraCrypt projesinin kaynak kodları; TrueCrypt License 3.0 ve özgür yazılım lisanslarından biri olan Apache License v2.0 ile [karma lisanslanmıştır](https://github.com/veracrypt/VeraCrypt/blob/master/License.txt). + +Kurulumun ardından programı başlattığınızda karşınıza şu ekran çıkacak: + +![alt-text](luks_usb/vera5.PNG) + +İlk defa bir şifreleme yapacağımız için **Create Volume** butonuna tıklıyoruz. Ardından çıkan ekranda şifreli bir dosya oluşturacağımız için **Create an encrypted file container** seçeneğini işaretliyoruz. + +![alt-text](luks_usb/vera6.PNG) + +Sonraki ekrana geçtiğimizde Volume Type ekranında **Standard VeraCrypt volume** seçeneğini işaretliyoruz. **Hidden VeraCrypt Volume** [için katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik). + +![alt-text](luks_usb/vera7.PNG) + +Ardından, şifrelemek istediğimiz dosyanın bulunduğu dizine gelmeniz gerekiyor. Sadece bu işlem için oluşturduğunuz veya gözden çıkardığınız herhangi bir dosya seçmelisiniz (.jpg, .deb, .png veya Terminal üzerinden `touch` ile oluşturduğunuz bir dosya olabilir). Bu kısımda; önceden indirmiş olduğum, Resimler dizinindeki **gnu_love.png** dosyasını kullandım. Dosyanın boyutunun şu an bir önemi yok. Daha sonra biçimlendirmeden önce boyutunu belirleyeceğiz. Bu dosyanın tek amacı, VeraCrypt aracılığıyla parola ve anahtar dosya (keyfile) kullandığınızda sisteminize USB gibi bağlanarak oluşturduğunuz dosya ve dizinleri bu alana aktarmaktır. + +![alt-text](luks_usb/vera8.PNG) + +![alt-text](luks_usb/vera9.PNG) + +**Kaydet/Save** butonuna bastıktan sonra karşınıza şöyle bir ekran gelecek, **Yerine Koy/Replace**'e basıp devam edebilirsiniz, artık .png sadece uzantı isminden ibaret: + +![alt-text](luks_usb/vera10.PNG) + +![alt-text](luks_usb/vera11.PNG) + +Sonraki adımda şifrelemek için kullanmak istediğimiz algoritma ve özüt algoritma (Hash Algorithm) soruluyor. Bu adımda kullanmak istediğiniz şifreleme algoritmasıyla ilgili kısa bilgiler de görebilirsiniz. AES ve SHA-512 ihtiyaçlarımızı karşılamak için şu anda yeterli. + +![alt-text](luks_usb/vera12.PNG) + +Sonrasında ihtiyaç duyduğumuz alan miktarını belirliyoruz. Sistem faaliyetlerini zora sokmayacak ve gerek duyulduğunda başka bir cihaza veya ortama daha rahat aktarabileceğimiz bir alan miktarı belirleyebiliriz. Cihazda 37.5 GiB (Gigabyte) boş alan varmış. Örnek amaçlı 5 MiB (Megabyte) bir alan ayırıyorum. Ancak sayı girdiğiniz bölgenin yanındaki butondan ihtiyacınıza göre MiB veya GiB seçebilirsiniz. + +![alt-text](luks_usb/vera13.PNG) + +İhtiyaç duyduğumuz alan miktarını belirledikten sonra artık bu dosyayı kullanabilmek için parola belirlemeniz lazım. Kolay hatırlanabilir ve entropi değeri yüksek bir parola oluşturmak için [Zarola/Diceware](https://zarola.oyd.org.tr/) kullanabilirsiniz. Daha fazla güvenlik sağlamak isterseniz [PIM](https://security.stackexchange.com/a/181728) ve keyfile/anahtardosya da belirleyebilirsiniz. + +![alt-text](luks_usb/vera14.PNG) + +Ve biçimlendirme adımına geçebiliriz. İhtiyaçlarınıza göre veya başka cihazlarda da kullanabilmeniz için biçimlendirme seçeneklerinden birini seçmelisiniz. Bu dosyayı GNU/Linux sistemlerde kullanmayı planladığım ve öncesinde az bir alan belirlediğim için FAT biçimlendirme metodu benim için en uygun seçenek olarak görünüyor. Ayrıca sizde **Quick Format/Hızlı Biçimlendirme** seçeneği açık görünüyorsa bunu seçmemeniz tavsiye edilir. Çünkü bu seçenek belirlediğimiz alanın tamamının şifrelenmesinin önüne geçiyor. + +![alt-text](luks_usb/vera15.PNG) + +Bu adımda artık biçimlendirmeden önceki son hazırlığımızı yapıyoruz. İmleci VeraCrypt penceresinin üzerinde rastgele yerlere götürerek mor renkli barı doldurmaya çalışmalıyız. Bu eylemin amacı ise - açıklamada da belirtildiği üzere - şifreleme anahtarlarının kriptografik gücünü artırmak. + +![alt-text](luks_usb/vera16.PNG) + +Bar dolduktan sonra, ilk aşamalarda seçmiş olduğumuz dosyanın (benim seçtiğim gnu_love.png dosyası) **gerçekten başka bir şey için kullanmadığınızdan son kez emin olmanız lazım**. Bunun için karşınıza son bir uyarı çıkacak. Artık her şeyin doğruluğundan eminseniz çıkan uyarıda **Evet/Yes** seçeneğine tıklayarak VeraCrypt alanınızı oluşturabilirsiniz. + +![alt-text](luks_usb/vera17.PNG) + +![alt-text](luks_usb/vera18.PNG) + +Başka bir işlem yapmak isteyip istemediğinizi soran son bir ekranın ardından artık bu pencereyi kapatabiliriz. + +![alt-text](luks_usb/vera19.PNG) + +Oluşturduğumuz dosyayı artık VeraCrypt aracılığıyla sistemimize bağlayabiliriz. Bunun için herhangi bir slotu seçili bırakıp **Select File** ile biçimlendirmiş olduğumuz dosyayı bulup seçmemiz gerekiyor. Ardından **Mount** ile sistemimize bağlayabiliriz. + +![alt-text](luks_usb/vera22.PNG) + +Karşımıza çıkan ekranda parolamızı girip onayladıktan sonra (belirlediğimiz alanın büyüklüğüne ve seçtiğimiz şifreleme algoritmalarının yeteneklerine göre) bir süre bekliyoruz. + +![alt-text](luks_usb/vera23.PNG) + +Ve artık sistemimize bağlanmış bir yeni dizin var. + +![alt-text](luks_usb/vera24.PNG) + +Slotun üstüne çift tıklayıp veya dosya yöneticisinde Diğer Konumlar sekmesi üzerinden VeraCrypt tarafından bize atanan dizine (`/media/veracrypt1`) ulaşabiliriz. Artık korumak istediğimiz verileri ve dosyaları buraya taşıyabiliriz. Önceden hazırlamış olduğum **gizlibilgi** isimli metin dosyasını bu dizinin içine taşıyorum. Taşıdıktan sonra VeraCrypt üzerinden **Unmount** yapıyorum ve artık sistemde (`/media/veracrypt1` dizininde) herhangi bir bağlı dizin görünmeyecektir. + +**UYARI:** Erişim için kullandığınız dosya artık sizin VeraCrypt alanınız. Bu yüzden, bu dosyanın silinmesi veya bozulması durumlarında kaydettiğiniz bilgileri hiçbir şekilde geri elde edemeyebilirsiniz. + +![alt-text](luks_usb/vera29.PNG) +![alt-text](luks_usb/vera27.PNG) + +Oluşturduğumuz alanı tekrar VeraCrypt üzerinden sisteme bağladığımızda karşımıza yine aynı dizin ve dosyalar çıkacaktır. Tekrar **gizlibilgi** metin dosyasına baktığımda karşılaştığım şey, taşımadan önce oluşturduğum şeklinden farksız. + +![alt-text](luks_usb/vera28.PNG) + + +Artık oluşturduğunuz alanda istediğiniz gibi değişiklik yapabilir, erişim için kullandığınız dosyayı harici belleklere aktarabilir veya yedekleyebilirsiniz. -[Veracrypt](https://en.wikipedia.org/wiki/VeraCrypt), Truecrypt yazılımının devamı olan özgür bir şifreleme aracıdır. [Truecrypt esrarlı ortadan kayboluşu](https://en.wikipedia.org/wiki/TrueCrypt#End_of_life_and_license_version_3.1) ardından özgür bir yazılım olarak hayatına başlayan Veracrypt, tam disk şifreleme, dosya, dizin ve dosya sistemi şifrelemede ender olan bir özellik olarak [inkar edilebilir şifreleme](https://en.wikipedia.org/wiki/Deniable_encryption) imkanı sunmakta. Bu bakımdan kendi başına bir rehber gerektirmekte. [Buraya katkı verebilirsiniz](https://git.oyd.org.tr/oyd/guvenlik) @@ -115,7 +212,7 @@ USB belleğinizin tamamını şifrelemek çoğu zaman bu belleğe güvenli şeki ### LUKS ile kısmi şifreleme -USB belleğinizi iki ayrı bölüme ayırarak bir kısmını LUKS ile şifreleyip bir kısmını açık bırakmak mümkündür. Bu belleğinizin bir kısmını olağan dosya aktarımları için kullanılabilir kılarken aynı aygıtı güvenli şekilde veri bulundurmak için de kullanabileceğiniz anlamına gelir. +USB belleğinizi iki ayrı bölüme ayırarak bir kısmını LUKS ile şifreleyip bir kısmını açık bırakmak mümkündür. Bu belleğinizin bir kısmını olağan dosya aktarımları için kullanılabilir kılarken aynı aygıtı güvenli şekilde veri bulundurmak için de kullanabileceğiniz anlamına gelir. **NOT:**Şifresiz bölümün birinci bölümde olması gereklidir. Aksi halde Microsoft Windows cihazlar aygıtı tanımayacaktır. diff --git a/src/cihaz_guvenligi/luks_usb/vera1.PNG b/src/cihaz_guvenligi/luks_usb/vera1.PNG new file mode 100755 index 0000000000000000000000000000000000000000..61d05dbb2bfa3376e2cabd43e47139477183b195 GIT binary patch literal 169522 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