GNU/Linux >> Linux の 問題 >  >> Linux

7-Zipを使用したアーカイブの暗号化と復号化

7-Zipは、無料のオープンソースのクロスプラットフォーム圧縮および暗号化ユーティリティであり、商用環境であっても、登録や使用するための支払いは必要ありません。 GNULPGLおよびその他のライセンスの下でライセンスされています。 7-Zipは、1999年以来存在しているため、旅行のどこかで少なくとも聞いたことがあると思われます。その多くの機能を気に入っていただけると思います。特に、この小さな宝石を紹介できることをうれしく思います。使用したことがなく、バックアップ用の暗号化ソリューションを探しています。

[お楽しみいただけます:tarコマンドを使いこなす:Linuxでバックアップを管理するためのヒント]

転送または保存するときのファイルとアーカイブには、使用中、実行中、および保存中の3つの脆弱性ポイントがあります。この記事では、AES-256暗号化を使用して、実行中および保存中のファイルアーカイブを保護する方法に焦点を当てています。うまくいけば、誰もが毎日バックアップを実行し、アーカイブとストレージの3-2-1ルールに従います。ただし、そうする場合でも、保管のためにアーカイブを暗号化する必要があります。暗号化、特にAES-256暗号化は、悪意のある攻撃者の所有物に侵入された場合でも、ファイルやアーカイブを詮索好きな目から保護するのに役立ちます。

これらのバックアップファイルサイズを最小限に抑えたい場合は、7-Zipも優れた圧縮ツールであることを忘れないでください。ただし、この記事では、圧縮ではなく暗号化に焦点を当てています。アーカイブのさまざまな圧縮レベルを取得するために使用できるスイッチと構成がいくつかあります。圧縮設定の詳細については、マニュアルページを確認してください。

7-Zipの暗号化および圧縮機能は優れていますが、バックアップ機能は脆弱です。 7-Zipのマニュアルページに、次の警告があります。

バックアップと制限

7-zipはファイルの所有者/グループを保存しないため、Linux/Unixでのバックアップ目的で7-Zip形式を使用しないでください。 Linux / Unixでは、ディレクトリをバックアップするには、tarを使用する必要があります。

インストール

7-Zipは基本製品ではないため、インストールする必要があります。メインの7-Zipパッケージとともに7-Zipプラグインとドキュメントのスイート全体を取得するには、次のコマンドを使用します。

# dnf install -y p7zip*

*を使用します 7-Zipに関連するすべてのパッケージをダウンロードします。これにより、 p7zipがインストールされます 、p7zip-プラグイン 、および p7zip-doc EPELリポジトリから。

暗号化

.7zを使用して暗号化されたファイル フォーマットはデフォルトでAES-256暗号化で暗号化されます。その暗号化レベルを取得するために追加の設定は必要ありません。 すべき データとヘッダーの暗号化をオンにして(-mhe =on)、パスワード(キー)を入力する前にアーカイブファイル内のファイルリストを誰も見ることができないようにします。次の例は、tarballを暗号化するための私の標準的な例です。特別な圧縮スイッチは提供していませんが、ヘッダー暗号化をオンにしており、アーカイブごとに常に強力なパスワード(暗号化キー)を提供しています。一般的に、これは私のアーカイブと暗号化コマンドです:

$ tar -cf directory.tar <directory>

$ 7z a -p -mhe=on directory.tar.7z directory.tar

これは、archiveという名前のディレクトリのインタラクティブバージョンです。

$ tar -cf archive.tar archive

$ 7z a -p -mhe=on archive.tar.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz (806E9),ASM,AES-NI)

Creating archive: archive.tar.7z

Items to compress: 1


Enter password (will not be echoed):
Verify password (will not be echoed) :
    
Files read from disk: 1
Archive size: 166 bytes (1 KiB)
Everything is Ok

$ ls
archive archive.tar archive.tar.7z 

7-Zipユーティリティに関するすべてのドキュメントが最新であるとは限りません。私の提案は常にに相談することです 最新の情報を提供するページ。マニュアルページは、入手可能な最も正確で役立つドキュメントだと思います。

7z形式

この情報は、7-ZipWebサイトからの抜粋です。

7z は新しいアーカイブ形式であり、高い圧縮率を提供します。

7zの主な機能 フォーマット:

  • オープンアーキテクチャ
  • 高い圧縮率
  • 強力なAES-256暗号化
  • 圧縮、変換、または暗号化の方法を使用する機能
  • 最大16000000000GBのサイズのファイルをサポート
  • Unicodeファイル名
  • ソリッド圧縮
  • アーカイブヘッダーの圧縮

7z オープンアーキテクチャであるため、新しい圧縮方法をサポートできます。

復号化

まず、圧縮され暗号化された7zファイルからアーカイブを復号化し、暗号化パスワードを入力します。

$ 7z x archive.tar.7z 

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,1 CPU Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz (806E9),ASM,AES-NI)

Scanning the drive for archives:
1 file, 440 bytes (1 KiB)

Extracting archive: archive.tar.7z

Enter password (will not be echoed):
--
Path = archive.tar.7z
Type = 7z
Physical Size = 440
Headers Size = 200
Method = LZMA2:12k 7zAES
Solid = -
Blocks = 1

Everything is Ok

Size:       10240
Compressed: 440

$ ls

archive.tar archive.tar.7z

次に、通常の方法でタールファイルを解凍します。

$ tar xvf archive.tar
archive/
archive/file1.txt
archive/file2.txt
archive/file3.txt
archive/file4.txt
archive/file5.txt
archive/file3.old.txt

ディレクトリとファイルは、適切な権限でそのままです。これですべてです。 7-Zipのシンプルさ、速度、圧縮、暗号化により、アーカイブにこれらの機能を必要とするシステム管理者にとっては必須です。

[セキュリティについて考えていますか?ハイブリッドクラウドのセキュリティを強化し、ビジネスを保護するためのこの無料ガイドをご覧ください。 ]

まとめ

7-Zipは無料のオープンソースユーティリティであり、使用するのに料金や登録は必要ありません。 Windows、Linux、およびMacシステムで動作するため、すべてのプラットフォームでカバーする必要があります。暗号化と復号化のプロセスをテストして、暗号化と復号化の後にtarファイルを抽出できることを確認してください。 tarファイルのいずれかから何かを復元する必要があるときに、tarファイルに問題が発生していることを知りたくないことは確かです。


Linux
  1. Linux cpio の例:cpio アーカイブ (および tar アーカイブ) を作成および抽出する方法

  2. 標準の Linux ツールで 7z ファイルを抽出しますか?

  3. AES-256 暗号化を使用した Linux 上の 7-zip ファイル

  1. Linuxlogrotateコマンドを使用してログをローテーションおよびアーカイブします

  2. btrfs によるパーティショニングと subvol 戦略

  3. Linux での ZFS RAID および LUKS 暗号化

  1. アーカイブを作成および抽出するためのLinuxでの10のtarコマンドの例

  2. mtime - と + で違いを見つける

  3. スペースを含む AWK およびファイル名。