重要なデータを含むファイルを保護するにはどうすればよいですか?たとえば、重要なファイルがある場合、これらの種類のファイルをUbuntuでさらに保護する方法や戦略はありますか?誰かがそれを開こうとするたびに、いくつかのファイルにパスワードを要求させたいとさえ思います。セキュリティポリシーの面でUbuntuのバージョンに影響しますか?外部で暗号化アルゴリズムを使用できますか?よろしく。
chown root
とchmod go-rwx
?
重要なデータを含むファイルを保護するにはどうすればよいですか?たとえば、重要なファイルがある場合、これらの種類のファイルをUbuntuでさらに保護する方法や戦略はありますか?誰かがそれを開こうとするたびに、いくつかのファイルにパスワードを要求させたいとさえ思います。セキュリティポリシーの面でUbuntuのバージョンに影響しますか?外部で暗号化アルゴリズムを使用できますか?よろしく。
chown root
とchmod go-rwx
?
回答:
最適な方法はですchattr +i {file}
。これにより不変属性が設定され、rootを含む誰もがファイルを変更、削除、名前変更、またはハードリンクを作成できなくなります。
ファイルを編集できるのはrootのみです。(S)不変のビットを削除することでこれを元に戻さchattr -i {file}
なければなりません:そしてファイルで何でもできます。+ iを再度設定すると、ファイルは変更されなくなります。
ただし、ファイルが保存されているパーティションのフォーマットは妨げられません。ファイルの盗難を防ぎます。
必要に応じて、完全なマウントポイントでこれを行うこともできます。
chattr +i -R /discworld
「discworld」全体とその中のすべてを不変にします(chattr -i -R /discworld
元に戻すには;))
特別なことを何もせずに、所有者以外のすべてのユーザーのアクセス許可を削除することにより、他のユーザーがファイルを読み取り、変更、または削除することを困難にすることができます。rootをファイルの所有者にし、rootのみがアクセスできるディレクトリ内に配置します...
sudo mkdir /home/secret #this directory will be owned by root, no need to chown
sudo chmod 700 /home/secret
sudo mv file /home/secret
そこにファイルを移動()して
sudo chown root: /home/secret/file
sudo chmod 600 /home/secret/file
chmod
そしてchown
、複数の引数を取る:chmod 600 file1 file2
またはchmod 600 file*
それ以外は、暗号化を使用...
文書を保護するための非常に安全な方法は暗号化です(元の文書を破棄し、暗号化されたバージョンを適切に保存する場合)。
許可(他の回答で示唆されている)は回避できます(これを参照)。
したがって、ファイルを適切に暗号化することをお勧めします。方法は次のとおりです。
(グラフィカルインターフェイスメソッドについては、この回答の最後を参照してください)
gpg
インストール済みであることを確認してください。
たとえば、という名前のファイルを暗号化するにはImportant_File.txt
、次を使用します。
$ gpg -c Important_File.txt
ここでパスワードを入力します(これは後で読む必要があるときに使用されます)。
これ.gpg
で、たとえば、元の名前と拡張子を持つファイルが取得されますImportant_File.txt.gpg
。
元のファイルを削除し、.gpg
バージョンを保持します。セキュアshred
ユーティリティを使用しない場合、ディスクから元のファイルを取得するのは簡単かもしれません(SSDドライブまたはSDカードではまだ機能しません)。
$ shred Important_File.txt
今Important_File.txt.gpg
、私たちは私たちと一緒にいます。
読む必要があるときはいつでも、
$ gpg Important_File.txt.gpg
次に、最初のコマンドで設定したパスワードを入力します。オリジナルを取得しImportant_File.txt
ます。
注:これは、暗号化されたファイルの内容が
.gpg
だれにも読まれないように(暗号化を使用して)保護するだけですが、だれでもそれを削除、コピー、または移動できます!以下からの基本的な保護のためにそれ、暗号化された上の他の回答の許可メソッドを使用し.gpg
たファイルを。
グラフィカルインターフェイス(GUI)メソッド
Seahorseアプリケーションをインストールします。
次に、ファイルアプリケーションからこれを実行できます。
rm
またはファイルマネージャーから削除する)と、元の暗号化されていないファイルを簡単に取得できることに注意してください。たとえば、を使用して、回復不能にするには上書きする必要がありますshred
。これはしかしSSDは、フラッシュドライブにも役に立たないのです...
所有者のみが読み取りと書き込みを行えるように、非常に厳しいアクセス許可を600に設定するだけです(実行アクセス許可が必要な場合は、700になります)。
あなたはまた、グラフィカルにそれを行うことができます-単に右、ファイルをクリックして選択Properties > Permissions > Set
し、セットのすべてが、owner
何にもフィールド。
例として図を参照してください。
あなたがシステム上の単一のユーザーであり、誰もあなたの許可なしにあなたのコンピューターに合理的にアクセスできない場合、Zannaの答えに従って、このコマンドを使用してアクセスをブロックすることができます:
sudo chown root:root /my/secret/file.txt
sudo chmod 600 /my/secret/file.txt
この場合、ファイルはユーザーのみが読み書きできroot
ます。これは、だれもあなたの許可なしにコンピュータを起動できないか、ハードドライブを持ち上げることができない場合、「十分に安全」と見なされます。私たちは、使用しているroot
ので、この場合には、ユーザーをroot
ユーザーが常にファイルを読み込むことができ、彼らが権限を持っていない場合でも、。ルートユーザーを使用することにより、1人のユーザーのみがアクセスできるように強制します。
何らかの方法、形状、またはフォームでファイルを変更不可としてマークする場合は、i
属性を使用してファイルを不変としてマークできます。この場合、ファイルの権限はロックされており、いかなる状況でも変更されない可能性があります。これにより、次のコマンドを実行してファイルを変更不可にし、削除や権限の変更からファイルを保護できます。
sudo chattr +i /my/secret/file.txt
あなたはそれを変更したい場合は、交換する+i
とし-i
、一時的にファイルのロックを解除します。より詳細なビューについては、Rinzwindの回答を参照してください。
これで、他の人があなたのコンピューターにアクセスできる場合(リモートsudo
アクセスまたは何らかの形の物理的アクセス)、これは即座にバラバラになります。攻撃者は、root
電源を使用してファイルを読み取ったり、ライブUSBを挿入したり、ハードドライブを引っ張ったりすることができます。
したがって、ファイルを暗号化する必要があります。個人的には「ファイルコンテナ」を使用することを好みます。そうすれば、さらにファイルを使い続けて、必要に応じて成長させることができます。chattr +i
ファイルが誤って削除(または変更)されないように、引き続きお勧めします。最後に、暗号化されたイメージを使用している場合、アクセス許可を設定して、ディスクがマウントされているときに他のユーザーが非常に限られたファイルのサブセットにアクセスできるようにすることができます。このガイドはもともとここから入手でき、ここでの使用に適しています。
まず、使用するディスクイメージを作成します。この例では、5 GBにします。
dd if=/dev/zero bs=1M count=5000 of=~/NSA-Data-Dump-20161012.img
次に、画像を暗号化する必要があります。
sudo cryptsetup luksFormat ~/NSA-Data-Dump-20161012.img
ここで、希望する暗号化パスワードを入力する選択肢があります。これが完了したら、rawブロックデバイスを公開する必要があります。
sudo cryptsetup luksOpen ~/NSA-Data-Dump-20161012.img my-secret-device
現時点では、復号化されたファイルコンテナーがありますが、ファイルシステムはなく、役に立たないほど優れています。それを修正しましょう:
sudo mkfs.ext4 /dev/mapper/my-secret-device
次に、新しいパーティションをマウントする場所が必要です。この場合は、に配置します/crypt
。私はユーザー1000であるため、自分(およびルート)からの読み取り/書き込みのみを許可するようにパーティションを設定します。
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
これで、ファイルツールを使用して移動し/crypt
、すべての機密ファイルをそこに保存できます。完了したら、パーティションをアンマウントして再暗号化する必要があります。
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
次に、イメージファイルに適切なパーティションを設定して、自分とrootだけがアクセスできるようにし、それ以上変更できないようにします。
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/NSA-Data-Dump-20161012.img
このファイルを読み取り用に開きたいときはいつでも、次の2つのコマンドを実行するだけでよく、簡単にエイリアスを作成できます。
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
暗号化されたデータはで利用可能で/crypt
あり、読み取り専用のままであり、自分とrootのみがアクセスできます。
ファイルを変更する場合は、アクセス許可を変更してからマウントする必要があります。
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
ここで、ユーザーが自分のシステムにrootを持っている場合、暗号化されたパーティションを変更/破壊して使用できなくなるため、ここで注意する必要があります。また、ドライブからデータを盗むこともできますが、それは開いているときだけです。ただし、明示的に開かない限り、データを盗んだり、データの存在を確認したりすることはできません。したがって、暗号化されたボリュームを開くときに、rootユーザーがオンラインにならないようにシステムが十分に安全であることを確認するのはあなたの義務です。
TL; DR:
ボールトを作成します。
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
金庫を満たします:
sudo mkdir /crypt
sudo mount /dev/mapper/my-secret-device /crypt -o umask=0700,gid=1000,uid=1000
ボールトをロックします。
sudo umount /crypt
sudo cryptsetup luksClose my-secret-device
ボールトをフリーズします。
chmod 400 ~/NSA-Data-Dump-20161012.img
sudo chattr +i ~/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
cryptsetup
...任意のパスワードを入力しログインする何かを
ディレクトリ暗号化にはencfsを使用できます。
基本的に、2つのディレクトリを作成する必要があります。1つは暗号化されたデータを保存し、もう1つはそのデータにアクセスします。
mkdir ~/.encrypted
mkdir ~/private
次に実行します(ディレクトリを「マウント」するたびにこの行を実行する必要があります):
encfs ~/.encrypted/ ~/private/
それについて詳しく知らない限り、を押しENTERて標準設定に進みます(最初に尋ねただけです)。
次に、パスワードを入力すると、パスワードがマウントされます。
あなたのデータには安全にユーザーのみがアクセスします~/private/
(ほとんど無視できます~/.encrypted
)
アンマウントするには:
sudo umount ~/private/
または
fusermount -u ~/private/
そのような単純な。
暗号キーパーを使用してデータを暗号化できます。暗号キーパーは本当に優れたアプリケーションであり、ファイルにセキュリティを提供できます。以下でインストールできます:
sudo apt-get update
sudo apt-get install cryptkeeper
通常.
、ファイル名の前に置くとフォルダが隠されるので、名前で始まるフォルダを暗号化することをお勧めします。ちょっとしたトリックですが、動作します。
フォルダを再表示するには、Ctrl+ hまたはvise-versaを使用します。
ls
確実に機能しません。
ls
は、使用することができます-a
すべての(すなわち隠さ含む)のファイルを表示するようにスイッチを。