Làm thế nào để mã hóa và giải mã tốt nhất một thư mục thông qua dòng lệnh hoặc tập lệnh?


8

Tôi có một thư mục các tệp văn bản dưới sự kiểm soát phiên bản bazaar và giữ một bản sao (một nhánh, thực sự) trên mỗi máy của tôi. Tôi muốn mã hóa và giải mã thư mục thông qua dòng lệnh.

Lý tưởng nhất là tôi cũng có thể chạy script khi đăng xuất để kiểm tra xem thư mục có được mã hóa hay không và mã hóa nó nếu không, tất cả đều không có sự can thiệp của người dùng. Tôi không, tuy nhiên, muốn thư mục được giải mã khi đăng nhập. (Tôi muốn tập lệnh như một người bảo vệ chống quên quên mã hóa thủ công. Điều này đặc biệt quan trọng đối với netbook.)

Tôi đang chạy ubuntu 10.04.1và hai phiên bản của crunchbang linux, một phiên bản bắt nguồn từ ubuntu 9.04một trong những ảnh chụp cuối tháng 6 của repos Debian Squeeze.

Cách tốt nhất để làm việc này là gì?

(Tôi đã cố gắn thẻ với encryptiondirectories, nhưng thiếu đại diện để tạo thẻ.)

Câu trả lời:


5

Bạn có quyền truy cập quản trị vào các máy? Người ta có thể sử dụng một thiết bị loopback được mã hóa. Thí dụ:

tạo một tập tin container cho fs được mã hóa:

dd if=/dev/urandom of=container bs=1024k count=100 

liên kết tập tin container với thiết bị loopback 0:

losetup container /dev/loop0

tạo thiết bị được mã hóa (-y yêu cầu cụm mật khẩu hai lần; chia dòng theo \):

cryptsetup -c serpent-xts-essiv:sha256 -b 512 \
   -y create container /dev/loop0 

tạo hệ thống tập tin ext2 trên thiết bị được mã hóa (có thể sử dụng mọi thứ thực sự):

mkfs.ext2 /dev/mapper/container

gắn hệ thống tập tin được mã hóa vào thư mục mật mã:

mount /dev/mapper/container crypt

Để tham khảo:

man cryptsetup && man losetup

Ngoài ra, hãy đọc các thực tiễn tốt nhất về mật mã, để biết thông tin về cách chọn mật mã và độ dài khóa để sử dụng, v.v.


4

Có vẻ như những gì bạn theo đuổi không phải là một cách để mã hóa và giải mã các thư mục, mà là một cách để làm việc với lưu trữ được mã hóa một cách minh bạch. Lưu ý rằng lược đồ bạn đề xuất, với giải mã và mã hóa hàng loạt thực tế, không an toàn lắm: nó sẽ không bị mã hóa nếu bạn không đăng xuất bình thường (mất điện, sập hệ thống, đánh cắp máy tính xách tay ...); và nó để lại dấu vết của dữ liệu bí mật của bạn mà kẻ tấn công xác định có thể tìm thấy (dữ liệu từ các tệp bị xóa vẫn còn trên đĩa, rất khó tìm).

Các hệ thống Linux hiện tại cung cấp một số cách để đạt được mã hóa minh bạch. Bạn có thể mã hóa toàn bộ khối lượng bằng dm-crypt hoặc một trong những giải pháp thay thế của nó. Có một số công cụ có sẵn để mã hóa một cây thư mục cụ thể, bao gồm ecryptfs (hoạt động ở cấp kernel) và encfs (hoạt động hoàn toàn trong vùng người dùng thông qua cầu chì). (Ba cái tôi đề cập có sẵn trong Debian lenny và nên được cung cấp bởi tất cả các bản phân phối của bạn.)

Bạn có thể thiết lập các thư mục được mã hóa sẽ được gắn kết khi bạn đăng nhập thông qua PAM ( libpam-mountgói; tùy chọn được đề xuất cho ecryptfs) hoặc thông qua các tập lệnh hồ sơ của bạn (tùy chọn được đề xuất cho encfs). Lưu ý rằng không có vấn đề gì với việc quên mã hóa thủ công do vì không có gì được ghi không được mã hóa vào đĩa.

Để bảo vệ tốt nhất, bạn nên mã hóa không chỉ các tệp bí mật của mình mà còn các nơi khác nơi dữ liệu bí mật có thể được lưu trữ bởi các chương trình. Ít nhất, bạn nên mã hóa phân vùng trao đổi của bạn. Các địa điểm khác để xem bao gồm /tmp(giải quyết tốt nhất bằng cách thực hiện tmpfs), /var/spool/cupsnếu bạn in các tài liệu bí mật và các tệp ứng dụng trong thư mục chính của bạn như bộ đệm / lịch sử web (ví dụ ~/.mozilla).


3

Làm thế nào về việc sử dụng gpgdir ? Điều này nên có kịch bản để đăng nhập và đăng xuất. Bạn cũng có thể chọn các thư mục con được cho là được mã hóa ( .bash_rcví dụ: bạn có thể muốn tệp như được giải mã).

Một lựa chọn khác có thể là Truecrypt . Bạn có thể tạo một thùng chứa cho dữ liệu của mình và mã hóa / giải mã nó thông qua các tập lệnh shell.


2

Bạn cũng có thể sử dụng ecryptfs, đây là tiêu chuẩn trên Ubuntu và các bản phân phối có nguồn gốc của nó. Đó là những gì được sử dụng khi quá trình cài đặt hỏi bạn có muốn mã hóa thư mục chính của bạn không (http://www.linuxjournal.com/article/9400). Ưu điểm của ecryptfs là bạn không cần một phân vùng riêng hoặc tệp được gắn loopback để sử dụng nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.