Dosya korumalı nasıl yapılır?


24

Önemli verileri içeren bazı dosyalar nasıl korunur? Örneğin, önemli olan bazı dosyalarım olduğunu varsayalım, bu tür dosyaları Ubuntu'da daha korumalı yapmak için herhangi bir yöntem veya strateji var mı? Hatta birileri açmaya çalıştığında bazı dosyaların şifre sormasını bile istiyorum. Güvenlik politikası açısından Ubuntu sürümünü etkiler mi? Herhangi bir şifreleme algoritmasını harici olarak kullanabilir miyim? Saygılarımızla.


koruyucu derken ne demek istiyorsun? Dosyayı değiştirmeyi veya silmeyi zorlaştırmak mı istiyorsunuz?
Zanna

koruyucu olarak hiç kimse iznim olmadan erişemez veya herhangi bir değişikliği silmek kolay değildir. VEYA zor yoldan açmak için bazı şifre gerekir.
Avani badheka 12:16

basitçe chown rootve demek istiyorsun chmod go-rwx?
njzk2

Parola istemek için, otomatik sayı içermeyen şifreli bir disk veya disk görüntü dosyası kullanın.
Joshua,

Yanıtlar:


32

Sahip olduğunuz en iyi yöntem chattr +i {file}. Bu, değişmez niteliği ayarlar ve daha sonra bir dosya, kök dahil hiç kimse tarafından oluşturulan, değiştirilemez, silinemez, yeniden adlandırılamaz ya da hardlink yapılamaz.

Dosyayı düzenleyebilecek tek kişi root'tur. (S) değişmez bit'i kaldırarak bunu geri almak zorundadır: chattr -i {file}ve sonra dosya ile ne yapabilirse yapabilir. + İ ayarlarının tekrar yapılması dosyayı herhangi bir değişiklikten kilitler.

Bu, dosyanın saklandığı bölümü biçimlendirmeyi engellemez. Dosyanın çalınmasını önleyecektir.


İsterseniz, bunu tam bir montaj noktasında bile yapabilirsiniz:

chattr +i -R /discworld

bütün "diskworld" ve içindeki her şeyi değiştirilemez hale getirirdi ( chattr -i -R /discworldgeri almak için;))



Ben sadece kök tarafından yapılabilir değiştirmek, silmek, yeniden adlandırmak istiyorum. Kök değişemezse bile, benim durumumda istemediğim sadece herkes için okunacak.
Avani badheka 12:16

@Avanibadheka kökü düzenlemeden önce chattr -i komutunu ve ardından kilitlemek için chattr + i komutunu tekrar yapabilir.
Rinzwind

1
Ayrıca kalıcı olarak (yeniden başlatılana kadar) HERHANGİ bir değişmez bit'i sistemden değiştirme özelliğini kaldırabilirsiniz.
rackandboneman 12:16

Kopyalanamıyor bile mi? Yani kedi dosyası> çıktı veya dd çalışmıyor?
Konerak

1
Değişmez bir dosya kopyalanabilir (ayarlanmadıkça chmod a-r). Örnek test için terminal günlüğüme bakın .
Ruslan

18

Özel bir şey yapmadan, diğer herkesin sahibinden başka izinlerini kaldırarak dosyayı okumasını, değiştirmesini veya silmesini zorlaştırabilirsiniz. Kök dosyanın sahibi olun ve yalnızca kök dizininin erişebileceği bir dizine yerleştirin

sudo mkdir /home/secret     #this directory will be owned by root, no need to chown
sudo chmod 700 /home/secret

sudo mv file /home/secretDosyanızı buraya taşıyın ve yapın

sudo chown root: /home/secret/file
sudo chmod 600 /home/secret/file

chmodve chownbirden fazla argüman almak: chmod 600 file1 file2veyachmod 600 file*

bunun dışında şifreleme kullanmak ...


3
Sekizli yerine karakter izni kullanıyorsanız, anlaşılması belki daha kolaydır. Bu nedenle, grup ve diğerlerinin okuma, yazma ve izinlerini kaldırmak, örneğin "chmod go-rwx" olur. Chmod man sayfasına bakınız.
jamesqf

12

Belgeleri korumanın oldukça güvenli bir yolu şifrelemedir (orijinali yok etmeniz ve şifreli sürümü doğru saklamanız şartıyla).

İzinler (diğer cevaplar önerdiği gibi) (bkz atlatılabilir bu ).

Bu nedenle, dosyayı doğru şekilde şifrelemenizi öneririm. İşte nasıl:

(Bir grafik arayüz yöntemi için bu cevabın sonuna bakınız)

gpgYüklediğinizden emin olun .

Örneğin, bir dosyayı şifrelemek Important_File.txtiçin

$ gpg -c Important_File.txt

Şimdi şifreyi girin (bu daha sonra okunması gerektiğinde kullanılacaktır).

Şimdi .gpg, örneğin asıl adı ve bir uzantısı olan bir dosya alacaksınız Important_File.txt.gpg.

Orijinal dosyayı çıkarın ve .gpgsürümü saklayın . Güvenli shredyardımcı programı kullanmıyorsanız (SSD sürücülerinde veya SD kartlarda çalışmayacak) , orijinal dosyayı diskten almak kolay olabilir :

$ shred Important_File.txt

Şimdi sadece bizde var Important_File.txt.gpg.

Ne zaman okumalısın, basitçe

$ gpg Important_File.txt.gpg

Ardından ilk komutta ayarladığınız şifreyi girin. Orijinali alacaksın Important_File.txt.

NOT : Bu yalnızca şifrelenmiş dosyanın içeriğinin.gpg herhangi biri tarafından okunmasını önler (şifreleme kullanarak), ancak herkes onu kaldırabilir, kopyalayabilir veya taşıyabilir ! Temel koruma için bu , şifrelenmiş diğer cevapların izni yöntemleri kullanmak .gpgdosyası.

Grafiksel Arayüz (GUI) yöntemi

Seahorse uygulamasını yükleyin.

Ardından bunu Dosyalar uygulamasından yapabilirsiniz:

GNOME Dosyalarının şifrelemesinin ekran görüntüsü


1
"Belgeleri korumanın tek güvenli yolu şifrelemedir" Ben katılmıyorum. Şifreleme işlemi güvenli kılan şey güvenli değildir. Bundan sonra sosyal kısmıdır. Yerleşik dosyanın yanında "bu şifre: 11212324234" olan bir benioku oluşturursanız, güvenli olmasını istemediğiniz her şeyi şifreleyebilirsiniz.
Rinzwind

1
@Rinzwind Düzenlendi. Her neyse, bu aptallık düzeyinde, hiçbir şey güvende değil.
UniversallyUniqueID

Beklenti içinde yükseldi ;-)
Rinzwind 12:16

Tozunu sildiğinizde ( rmveya dosya yöneticisinden sildiğinizde) , orijinal şifrelenmemiş dosyayı almanın kolay olabileceğini unutmayın . Kurtarılamaz hale getirmek için üzerine yazmak gerek, örneğin kullanma shred. Bu aynı zamanda SSD'lerde ve flaş sürücülerde de işe yaramaz ...
Byte Commander

@ByteCommander Teşekkürler, cevaba ekledim.
UniversallyUniqueID

9

Sadece çok katı bir izin 600 belirleyin, böylece yalnızca sahibi okuyabilir ve yazabilir (yürütme izinlerine ihtiyacınız varsa, bu 700 olacaktır).

Ayrıca grafiksel yapabilir - sadece sağ, dosyasını tıklayın seçmek Properties > Permissions > Setve ayarlamak tüm amaowner hiçbir şey alanını.

Resmi örnek olarak görün:

fotoğraf


Hey, cevabınız GUI ile nasıl yapıldığını gösteren bir ekran görüntüsünden faydalanacağını düşünüyorum.
grooveplex

Yapıldı, teşekkürler :) (ama sistemim İtalyanca ...)
dadexix86

@Zanna iyi gözlem (cevabı değiştirdim)
dadexix86

8

Sistemdeki tek kullanıcı sizseniz ve hiç kimse izniniz olmadan bilgisayarınıza makul bir şekilde erişemiyorsa, Zanna'nın cevabına göre bu komutu kullanarak erişimi engelleyebilirsiniz :

sudo chown root:root /my/secret/file.txt
sudo chmod 600 /my/secret/file.txt

Bu durumda, dosya sadece rootkullanıcı tarafından okunabilir ve / veya yazılabilir . Hiç kimse izniniz olmadan bilgisayarınızı başlatamazsa veya sabit sürücünüzü kaldıramazsa, bu "yeterince güvenli" olarak kabul edilir. rootBu durumda kullanıcıyı kullanıyoruz , çünkü rootkullanıcı izinleri olmasa bile her zaman dosyaları okuyabilir. Kök kullanıcıyı kullanarak, yalnızca bir kullanıcının erişebileceğini zorlarız.

Dosyayı herhangi bir şekilde, şekilde veya biçimde ideğiştirilemez olarak işaretlemek istiyorsanız , dosyayı değişmez olarak işaretlemek için niteliği kullanabilirsiniz . Bu durumda, dosyanın izinleri kilitlenir ve hiçbir koşulda değiştirilemez. Böylece, dosyayı değiştirilemez hale getirmek ve dosyayı silme ve izin değişikliklerinden korumak için aşağıdaki komutu yapabilirsiniz:

sudo chattr +i /my/secret/file.txt

Bunu değiştirmek isterseniz , dosyayı geçici olarak açmak için +ia ile değiştirin -i. Daha ayrıntılı bir görünüm için Rinzwind'in cevabına bakınız .

Şimdi, başkalarının bilgisayarınıza erişimi varsa (uzaktan sudoerişim veya herhangi bir fiziksel erişim şekli), bu anında dağılıyor. Saldırgan, rootdosyanızı okumak, bir Canlı USB eklemek veya sadece sabit sürücünüzü çekmek için güç kullanabilir.

Bu nedenle dosyayı şifrelememiz gerekiyor. Ben kişisel olarak "dosya kapları" nı kullanmayı tercih ediyorum, böylece daha fazla yapışabiliyor ve gerektiği gibi büyüyebiliyorsunuz. chattr +idosyanın yanlışlıkla silinmemesi veya değiştirilmemesi için hala önerilir. Son olarak, şifreli bir görüntü kullanıyorsanız, disk monte edildiğinde başkalarının çok sınırlı bir dosya alt kümesine erişmesine izin vererek izinleri ayarlayabilirsiniz, bu da onu bir sunucu için iyidir. Bu kılavuz başlangıçta burada mevcuttu ve burada kullanılmak üzere uyarlandı.

Öncelikle, kullanımınız için bir disk görüntüsü oluşturmak istiyorsunuz. Bu örnekte, 5 GB yapacağız.

dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img

Ardından, resminizi şifreli hale getirmemiz gerekiyor:

sudo cryptsetup luksFormat ~/NSA-Data-Dump-20161012.img

Tercih ettiğiniz şifreleme şifrenizi girmek için bir seçeneğiniz olacak. Bu yapıldıktan sonra, ham blok cihazını göstermeliyiz:

sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device

Şimdi şifresi çözülmüş bir dosya kapsayıcımız var, ancak dosya sistemi yok ve işe yaramaz kadar iyi. Bunu düzeltelim:

sudo mkfs.ext4 /dev/mapper/my-secret-device

Şimdi, yeni bölümümüzü kuracak bir yere ihtiyacımız var. Bu durumda, onu koyacağım /crypt. Ben 1000 kullanıcısıyım, bu yüzden bölümümü yalnızca ondan (/ kökünden) okumasını / yazmasını sağlayacak şekilde ayarlayacağım.

sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000

Artık, dosya aracımı gezinmek için kullanabilirim /cryptve hassas dosyalarımın tümünü orada depolayabilirim. İşim bittiğinde, bölümümü ayırmam ve yeniden şifrelemem gerekecek.

sudo umount /crypt
sudo cryptsetup luksClose my-secret-device

Şimdi, görüntü dosyamda uygun bölümleri ayarlayacağım, böylece sadece ben ve kök erişebilir ve artık değiştirilemez.

chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img

Ne zaman bu dosyayı okumak için açmak istediğimde, kolayca takma yapabileceğim bu iki komutu çalıştırmam gerekiyor:

sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro

Şifrelenmiş verilerim adresinde /crypterişilebilir olacak ve salt okunur ve sadece bana ve root erişimine açık kalacak.

Dosyayı değiştirmek istersem, izinleri değiştirmem ve sonra bağlamam gerekir:

sudo chattr -i ~/NSA-Data-Dump-20161012.img
chmod 700 ~/NSA-Data-Dump-20161012.img
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro

Şimdi, burada dikkatli olmanız gerekiyor, çünkü eğer bir kullanıcı sisteminde kök kullanıyorsa, şifrelenmiş bölümünüzü değiştirebilir / tahrip edebilir, onu işe yaramaz hale getirebilir. Ayrıca sürücüden veri çalabilirler, ancak yalnızca açıkken. Bununla birlikte, verileri çalamazlar ve açıkça siz açmadan verilerin var olduğunu göremezler. Bu nedenle, şifrelenmiş birimini açarken, çevrimiçi olarak herhangi bir kök kullanıcının bulunmaması için sisteminizin güvenli olduğundan emin olmak sizin görevinizdir.


TL; DR :

  1. Kasa yap:

    dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
    sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
    sudo mkfs.ext4 /dev/mapper/my-secret-device
    
  2. Kasayı doldurun:

    sudo mkdir /crypt
    sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
    
  3. Kasayı kilitle:

    sudo umount /crypt
    sudo cryptsetup luksClose my-secret-device
    
  4. Kasayı dondur:

    chmod 400 ~/NSA-Data-Dump-20161012.img
    sudo chattr +i ~/NSA-Data-Dump-20161012.img
    
  5. Kasayı açın:

    sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
    sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000,ro
    

Elbette root erişimi olan bir kullanıcı da cryptsetupgirilen şifreleri kaydeden bir şeyle yer değiştirebilir ...
Hagen von Eitzen

@HagenvonEitzen Evet, peki, bilgisayarlarda "gerçekten güvenli" gibi bir şey yok. Çizgiyi çizdiğin bir nokta var.
Kaz Wolfe

7

Dizin şifrelemesi için encfs kullanabilirsiniz .

Temel olarak, şifrelenmiş verilerin depolanacağı 1 ve bu verilere erişebileceğiniz 1 dizin oluşturmanız gerekir:

mkdir ~/.encrypted
mkdir ~/private

Ardından çalıştır (dizini 'eklemek' istediğiniz zaman bu satırı çalıştırmanız gerekir):

encfs ~/.encrypted/ ~/private/

Hakkında daha fazla bilgi sahibi değilseniz, sadece ENTERstandart ayarlara gitmek için basın (sadece ilk defa sorulur).

Ardından şifrenizi girin ve bağlanın.

Verilerinize yalnızca kullanıcı tarafından güvenli bir şekilde erişilir ~/private/(hemen hemen yok sayabilirsiniz ~/.encrypted).

Çıkarmak için:

sudo umount ~/private/

veya

fusermount -u ~/private/

Bu kadar basit.


3

Verileri , gerçekten çok iyi bir uygulamadır ve dosyanız için güvenlik sağlayan cryptkeeper kullanarak şifreleyebilirsiniz . Bunu ile yükleyebilirsiniz:

sudo apt-get update
sudo apt-get install cryptkeeper

Genelde klasörü baştan başlayarak adla şifrelemenizi öneririm . çünkü dosya adının gizlemeden önce koyması. Bu küçük bir numara ama işe yarıyor.

Klasörü göstermek için, Ctrl+ hveya tersini kullanın.


1
Tuşa basma Ctrl + h hangi uygulama için geçerlidir? lsKesinlikle işe yaramayacak .
Melebius

Ctrl-H en azından Nautilus için çalışıyor (ve bunun için Nemo gibi). Diğer dosya yöneticilerine gelince, söyleyemem. Kullanırken ls, -atüm (yani gizli dosyalar dahil) dosyaları göstermek için düğmeyi kullanabilirsiniz .
s3lph
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.