Cách dễ nhất để mã hóa một dir là gì? (trên Ubuntu)


13

Cách dễ nhất để mã hóa một thư mục trên hệ thống dựa trên Ubuntu là gì?

Giả sử tôi có một máy tính xách tay đang chạy Ubuntu 10.04 và trên đó tôi có một số tài liệu cần được giữ an toàn (nếu tôi mất máy tính xách tay).

Chúng ta hãy nói tất cả các tài liệu nằm trong một thư mục được gọi là ~ / work /, và không có gì bí mật nằm ngoài thư mục này. Vì vậy, không cần phải mã hóa toàn bộ thư mục nhà.

Sẽ có một cách để khóa / mở khóa thư mục này từ dòng lệnh.

Dường như có một số cách khác nhau để làm điều này:

  • đồ điện tử
  • cryptsetup
  • truecrypt (tuy nhiên không phải là nguồn mở được OSI phê duyệt)

Nhưng phương pháp dễ nhất và đáng tin cậy nhất là gì?

Cảm ơn Johan


Cập nhật : Câu hỏi liên quan, nhưng không giống nhau Cách nào dễ nhất để mã hóa tất cả các tệp của tôi trong Ubuntu 10.04?


2
Ai quan tâm nếu Truecrypt không được OSI chấp thuận? OSI được phê duyệt không bằng phần mềm tốt hơn. Truecrypt là tốt nhất xung quanh và thậm chí đã cản trở FBI trong một số trường hợp.
TheLQ

3
Phần mềm sử dụng giấy phép được OSI phê duyệt cho cảm giác an toàn hơn.
Johan

Câu trả lời:


10

Có ba phương pháp: thiết lập một ổ đĩa được mã hóa trên một phân vùng ( dm-crypt, được cấu hình với cryptsetup), thiết lập một tệp là một ổ đĩa được mã hóa (truecrypt), thiết lập một thư mục trong đó mỗi tệp được mã hóa riêng ( ecryptfshoặc encfs).

Thiết lập một khối lượng được mã hóa sẽ bảo mật hơn một chút, vì siêu dữ liệu (kích thước, thời gian sửa đổi) của các tệp của bạn là vô hình. Mặt khác, nó kém linh hoạt hơn (bạn phải quyết định kích thước của khối lượng được mã hóa trước). Câu hỏi thường gặp về ecryptfs liệt kê một số khác biệt giữa hai cách tiếp cận.

Nếu bạn chọn mã hóa tệp theo tệp, tôi biết hai tùy chọn: ecryptfsencfs. Cái trước sử dụng trình điều khiển trong kernel trong khi cái sau sử dụng FUSE. Điều này có thể cung cấp cho ecryptfsmột lợi thế tốc độ; nó mang lại encfslợi thế linh hoạt vì không cần phải làm root. Một lợi ích có thể ecryptfslà một khi bạn đã thực hiện thiết lập ban đầu, bạn có thể sử dụng mật khẩu đăng nhập của mình làm mật khẩu hệ thống tập tin nhờ vào pam_ecryptfsmô-đun.

Đối với việc sử dụng của riêng tôi trong một tình huống tương tự, tôi đã chọn encfs, vì tôi không thấy bất kỳ lợi ích bảo mật thực tế nào đối với các giải pháp khác nên tính dễ sử dụng là yếu tố quyết định. Hiệu suất không phải là một vấn đề. Quy trình công việc rất đơn giản (lần chạy đầu tiên encfstạo hệ thống tập tin):

aptitude install encfs
encfs ~/.work.encrypted ~/work
... work ...
fusermount -u ~/work

Tôi khuyên bạn cũng nên mã hóa không gian hoán đổi của mình và bất kỳ nơi nào có thể ghi các tệp bí mật tạm thời, chẳng hạn như /tmp/var/spool/cups(nếu bạn in các tệp bí mật). Sử dụng cryptsetupđể mã hóa phân vùng trao đổi của bạn. Cách dễ nhất để xử lý /tmplà giữ nó trong bộ nhớ bằng cách gắn nó vàotmpfs (điều này có thể mang lại lợi ích hiệu suất nhẹ trong mọi trường hợp).


Tôi đã không nghĩ về / tmp, nhưng tmpfs giải quyết vấn đề này một cách tốt đẹp. Chỉ cần thực sự tắt máy: s.
Johan

1
Cảm ơn đã giảng dạy encfs! Cái này thật tuyệt!
dùng39559

1

Tôi độc quyền sử dụng TrueCrypt cho những thứ như vậy. Có chấp thuận OSI hay không, tôi thấy nó không bao giờ làm tôi thất vọng và tôi cần mã hóa nhiều lần.


1

Cách nhanh chóng và dễ dàng là để tarcompressrồi bcrypt.

tar cfj safe-archive.tar.bz2 Thư mục / 
bcrypt safe-archive.tar.bz2 
# sẽ yêu cầu bạn nhập mật khẩu 8 char hai lần để khóa nó.
# Nhưng, hãy nhớ xóa Thư mục của bạn sau này,
Thư mục rm -rf / 
# Và, tôi hy vọng bạn không quên mật khẩu, hoặc dữ liệu của bạn đã biến mất!

Làm cho safe-archive.tar.bz2.bfe- mà bạn có thể đổi tên nếu bạn cảm thấy hoang tưởng về nó.

Để mở gói mã hóa,

bcrypt safe-archive.tar.bz2.bf3 # Hoặc, bất cứ điều gì bạn gọi nó
tar xfj safe-archive.tar.bz2 
# Và, thư mục của bạn đã trở lại!

Nếu bạn đã sẵn sàng để có được nhiều thứ lộn xộn hơn, tôi sẽ đề xuất truecryptvà tạo khối lượng mã hóa.
Nhưng, tôi không nghĩ rằng điều đó là cần thiết cho dữ liệu thông thường (như không liên quan đến an ninh quốc gia, nói).

ps: lưu ý rằng tôi không đề xuất bcrypt là yếu hoặc không có khả năng bảo mật quốc gia dưới bất kỳ hình thức nào.


Trả lời các ý kiến ​​về câu trả lời của tôi ở trên.
Tôi đã cố gắng đưa ra một câu trả lời đơn giản - và, tôi đồng ý rằng lựa chọn không đề xuất Truecrypt của tôi là tùy chọn đầu tiên có thể không phù hợp với một số người ở đây.

Câu hỏi yêu cầu một cách dễ dàng để mã hóa một thư mục.
Biện pháp bảo mật của tôi ở đây dựa trên hai điều,

  1. Bạn muốn bảo mật cái gì
  2. Bạn muốn bảo vệ nó từ ai

Tôi đánh giá đây là mức độ 'hoang tưởng' của bạn.

Bây giờ, không cần nói Truecrypt (hoặc các phương thức tương tự khác) đắt hơn,
tất cả những gì tôi muốn nói là, một chuỗi bcrypt chạy trong tmpfs là đủ để sử dụng hàng ngày của bạn ngày hôm nay
(có lẽ, trong khoảng một thập kỷ, tôi sẽ không đoán, nhưng nó thực sự là bây giờ).
Và, tôi cũng cho rằng giá trị của dữ liệu được bảo mật ở đây sẽ không thể so sánh được với nỗ lực 'phục hồi' của lớp mona-lisa.

Sau đó, câu hỏi đơn giản - bạn có mong đợi ai đó thử lấy máy tính xách tay tắt nguồn của mình và thử khôi phục dữ liệu từ không gian RAM lạnh không?
Nếu bạn làm như vậy, có lẽ bạn nên xem xét lại phần cứng phần mềm của mình ngay từ đầu, kiểm tra xem ISP bạn kết nối với ai, ai có thể nghe thấy tiếng bấm phím của bạn, v.v.

ps: Tôi thích Truecrypt và sử dụng nó. Việc tuân thủ OSI, hoặc thiếu nó, không thực sự quan trọng. Và, tôi không dàn dựng bcryptvà kế hoạch đề xuất ở đây để cạnh tranh với nó.


2
Trong khi tôi đưa ra câu trả lời +1, đối với sự hoang tưởng thực sự giữa chúng tôi ... tùy thuộc vào giá trị dữ liệu của bạn, đây có thể là một ý tưởng tồi. Người dùng phải nhận ra rằng phương pháp này rõ ràng để lại các tệp của thư mục đã xóa trên đĩa nơi chúng có khả năng được phục hồi bởi "kẻ xấu". Chỉ cần nhìn xung quanh SU để "khôi phục các tệp đã xóa trong Linux" để xem mức độ an toàn của nó ...
hotei

@hotei, vâng, Truecryptsẽ giải quyết các biến chứng như vậy. Một mẹo khác là sử dụng tmpfsmount trên RAM để làm việc với thư mục được mã hóa - sao chép bfevào ramdisk, làm việc với nó ở đó, mã hóa lại và lưu kho lưu trữ được mã hóa trở lại hệ thống tệp.
nik

2
Tôi sẽ đi một bước xa hơn @hotei và nói rằng điều này thực sự không có chất lượng như mã hóa vì nó rất dễ phục hồi các tệp (có toàn bộ thị trường dành riêng cho phục hồi tệp). Mã hóa cần phải được mã hóa. Đây chỉ là một cảm giác sai lầm về mã hóa
TheLQ

2
@nik: Không chỉ là phương thức trong câu trả lời của bạn không an toàn như hotei đã giải thích, nó cũng dễ bị lỗi (nếu bạn quên xóa các tệp được giải mã thì sao?). Ngay cả đề xuất sử dụng của bạn tmpfscũng rất rủi ro: nếu bạn quên mã hóa lại các tập tin và mất các sửa đổi thì sao? Điều gì xảy ra nếu máy tính gặp sự cố (bạn sẽ mất tất cả các sửa đổi của mình)? Nó cũng phức tạp không cần thiết. Có nhiều cách thực tế để giải quyết vấn đề này bằng các công cụ thích hợp, chỉ cần sử dụng một trong số chúng.
Gilles 'SO- ngừng trở nên xấu xa'

1
@nik Có một cuộc triển lãm tại một trường đại học gần đó cho thấy ngay cả sau một giờ RAM bị tắt, bạn vẫn có thể tạo ra một bức ảnh về Mona Lisa đã được tải vào bộ nhớ. Trừ khi bạn khởi động lại máy ngay sau đó, thật dễ dàng để khôi phục dữ liệu từ RAM. Truecrypt, IIRC, mã hóa RAM của nó.
chữ sốxp

1

Nếu bạn chỉ lo lắng về việc mất máy tính xách tay của mình, Ubuntu ecryptfsđã thiết lập cho bạn.

Chỉ cần chọn "thư mục nhà được mã hóa" khi bạn tạo tài khoản người dùng và cung cấp cho nó một mật khẩu tốt. Điều này sẽ bảo vệ bất cứ điều gì trong thư mục nhà của bạn.

Vâng, nó sẽ mã hóa nhiều hơn ~/work, nhưng nó liền mạch.

Đối với việc /tmpsử dụng tmpfs.

Ưu điểm:

  • Bạn không cần phải làm gì khác, Ubuntu làm mọi thứ cho bạn.
  • Bạn bè của bạn có thể sử dụng máy tính của bạn khi đang di chuyển, họ sẽ chỉ cần mật khẩu nếu họ muốn truy cập các tệp của bạn.

Con:

  • Có những nơi khác mà bạn tạo dữ liệu rò rỉ - câu trả lời của Gilles là đầy đủ nhất (+1 cho anh ta).

Vì vậy, nếu bạn không nghĩ rằng một số chuyên gia pháp y sẽ cố gắng lấy dữ liệu từ những thứ bạn đã in, điều này là đủ tốt.

ecryptfscũng có thể mã hóa trao đổi, nhưng tôi khuyên bạn chỉ nên tắt trao đổi trừ khi điều đó xảy ra với bạn rằng bạn đã hết RAM. Cuộc sống tốt hơn mà không cần trao đổi. (hoặc chỉ chạy ecryptfs-setup-swapvà làm theo hướng dẫn để thay đổi fstab)


Cảnh báo : Trong mọi trường hợp, trừ khi bạn vừa có máy tính xách tay này, đã có rất nhiều nội dung được ghi vào đĩa cứng của bạn. Tôi tìm thấy một loạt các thứ trong tôi và không có gì sẽ xóa nó ra. Bạn cần tạo một bản sao lưu vào ổ đĩa hoặc phân vùng khác, ghi đè hệ thống tệp hiện tại của bạn bằng số không và khôi phục các tệp của bạn (tất nhiên, chỉ khôi phục các tệp nhạy cảm sau khi mã hóa được thiết lập).


1

Cách dễ nhất, nhanh nhất để thiết lập tính năng này là cài đặt ecryptfs-utilscryptkeeper :

sudo apt-get install ecryptfs-utils cryptkeeper

Sau đó, một khi hoàn thành, nhìn vào systray của bạn. Bạn sẽ thấy một biểu tượng của hai phím. Nhấp vào nó và chọn Thư mục được mã hóa mới. Nhập tên và nhấp vào nút Chuyển tiếp (lẻ ở phía dưới bên trái, không phải). Sau đó, nhập mật khẩu bạn muốn, xác nhận lại và nhấp vào Chuyển tiếp lần nữa, rồi OK.

Điều này sẽ gắn thư mục được mã hóa và bạn có thể sao chép các tập tin vào nó. Khi hoàn tất, nếu bạn đăng xuất hoặc bỏ chọn thư mục được gắn (nhấp vào biểu tượng Phím trong systray để làm như vậy), nó sẽ yêu cầu lại mật khẩu trước khi bạn truy xuất lại.

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.