Hướng dẫn mã hóa file backup (tar.gz) bằng OpenSSL – có sẵn trên hầu hết Linux – không cần cài thêm công cụ.
Ôn tập: Tạo và giải nén tar.gz
# Nén thư mục todays_backup
tar -czf todays_backup.tar.gz todays_backup
# Giải nén
tar -xzf todays_backup.tar.gz
Mã hóa khi nén (Encrypt on the fly)
# tar -czf - todays_backup | openssl enc -aes-256-cbc -salt -pbkdf2 -k "yourpassword" -out todays_backup.enc
tar -czf -: Nén ra stdout.openssl enc -aes-256-cbc: Mã hóa AES-256-CBC (mạnh hơn DES3 cũ).-salt: Dùng salt ngẫu nhiên (an toàn hơn).-pbkdf2: Dùng PBKDF2 dẫn xuất khóa từ mật khẩu (OpenSSL 1.1.1+).-k "yourpassword": Mật khẩu. Không dùng mật khẩu yếu!-out todays_backup.enc: File đầu ra.
Cảnh báo: Mật khẩu hiện rõ trong history/process list. An toàn hơn: dùng -k file:/path/to/passfile hoặc biến môi trường -pass env:PASS_VAR.
Giải mã và giải nén
# openssl enc -d -aes-256-cbc -pbkdf2 -k "yourpassword" -in todays_backup.enc | tar -xzf -
-d: Decrypt.-in: File đầu vào.| tar -xzf -: Pipe stdout giải mã vào tar giải nén.
So sánh: DES3 (bài gốc) vs AES-256-CBC (khuyến khích)
| Thuật toán | Trạng thái | Lưu ý |
|---|---|---|
| DES3 (3DES) | Đã lỗi thời, chậm, block size 64-bit (Sweet32) | Bài gốc dùng openssl des3 |
| AES-256-CBC | Tiêu chuẩn hiện tại, nhanh (AES-NI), an toàn | Khuyến khích |
| AES-256-GCM | Authenticated Encryption (AEAD), tốt nhất | Cần OpenSSL 1.1.1+, thêm -md sha256 |
Phiên bản AES-GCM (hiện đại nhất)
# Mã hóa
tar -czf - todays_backup | openssl enc -aes-256-gcm -salt -pbkdf2 -k "yourpassword" -out todays_backup.enc
# Giải mã (cần -md sha256 nếu OpenSSL mới)
openssl enc -d -aes-256-gcm -pbkdf2 -md sha256 -k "yourpassword" -in todays_backup.enc | tar -xzf -
Lưu ý bảo mật quan trọng
- Mất mật khẩu = MẤT DỮ LIỆU VĨNH VIỄN. Không có backdoor.
- Lưu mật khẩu trong trình quản lý mật khẩu (Bitwarden, KeePassXC, 1Password).
- Test giải mã ngay sau khi tạo backup.
- Backup mật khẩu riêng biệt (in giấy, USB offline).
- File
.enccó thể copy qua mạng, lưu cloud, USB an toàn.
Công cụ thay thế chuyên dụng backup mã hóa
- restic: Backup deduplicated, mã hóa AES-256, nhiều backend (S3, B2, SFTP, local).
- borgbackup: Deduplication, compression, encryption, mountable.
- duplicity: Cũ, dùng GnuPG, hỗ trợ nhiều backend.
- age + tar: Công cụ mã hóa file hiện đại, đơn giản hơn GPG.