Có một hệ thống tệp chỉ ghi được mã hóa cho Linux không?


14

Tôi đang tìm kiếm một hệ thống tệp được mã hóa cho Linux có thể được gắn ở chế độ chỉ ghi, điều đó có nghĩa là bạn sẽ có thể gắn kết mà không cần cung cấp mật khẩu, nhưng vẫn có thể ghi / chắp thêm các tệp, nhưng bạn cũng không nên có thể đọc các tệp bạn đã viết hoặc đọc các tệp đã có trên hệ thống tệp. Quyền truy cập vào các tệp chỉ nên được cung cấp khi hệ thống tệp được gắn thông qua mật khẩu. Mục đích của việc này là để ghi các tệp nhật ký hoặc dữ liệu tương tự chỉ được ghi, nhưng không bao giờ được sửa đổi, mà không có các tệp bị lộ. Quyền truy cập tệp không trợ giúp ở đây vì tôi muốn dữ liệu không thể truy cập được ngay cả khi hệ thống bị xâm phạm hoàn toàn.

Có một thứ như vậy tồn tại trên Linux? Hoặc nếu không, điều gì sẽ là sự thay thế tốt nhất để tạo các tệp nhật ký được mã hóa?

Cách giải quyết hiện tại của tôi chỉ đơn giản là chuyển dữ liệu qua gpg --encrypt, hoạt động, nhưng rất cồng kềnh, vì bạn không thể dễ dàng truy cập vào toàn bộ hệ thống tệp, bạn phải chuyển từng tệp qua gpg --decryptthủ công.


3
Tôi tin rằng bạn có thể làm những gì bạn muốn thông qua syslog. Điều đó phân tách việc tạo ra các thông điệp tường trình khỏi hệ thống lưu trữ chúng, vì vậy các ứng dụng tạo tin nhắn không có quyền truy cập vào nơi chúng được lưu trữ. Các nhật ký thậm chí có thể (và thường xuyên là) trên một máy chủ riêng biệt.
mpez0

Tôi muốn tiến thêm một bước và có thể không thể truy cập dữ liệu, không chỉ với quá trình tạo ra nó, mà thậm chí không phải root. Đây là những gì mã hóa khóa công khai với gpg, nhưng tôi đang tìm cách để thực hiện nó ở cấp hệ thống tệp.
Grumbel

Câu trả lời:


4

... Tôi muốn dữ liệu không thể truy cập được ngay cả khi hệ thống bị xâm phạm hoàn toàn.

Điều này là không thể. Nếu hệ thống bị xâm phạm hoàn toàn thì "theo định nghĩa" mọi thứ trên đó đều có thể truy cập được - bao gồm các khóa mã hóa.

Mã hóa là vô ích trong việc bảo vệ chống lại sự thỏa hiệp của hệ thống, trong khi hệ thống đang chạy, NẾU các khóa để mã hóa / giải mã dữ liệu nằm trên cùng một hệ thống với dữ liệu được mã hóa. Ví dụ: nếu bạn có hệ thống tệp LUKS được gắn kết và ai đó có quyền truy cập root vào hệ thống của bạn, bạn có thể rút các khóa từ RAM - vì họ phải sống trong RAM để giải mã hệ thống tệp. Trong tình huống của bạn, nếu bạn đang gõ cụm mật khẩu của mình mỗi lần mã hóa tệp, bạn sẽ được bảo vệ (giả sử keylogger không có trên hệ thống của bạn), nếu không, bạn đang ở trong tình huống tương tự và ai đó xâm phạm hệ thống của bạn có thể thấy rằng khóa và hoàn tác tất cả mã hóa của bạn.

Bạn cần gửi dữ liệu bạn muốn bảo vệ bên ngoài hệ thống + KHÔNG ghi dữ liệu vào phương tiện trung gian trên hệ thống đó nếu bạn hoàn toàn không muốn root để truy cập vào hệ thống. rsyslogrõ ràng hỗ trợ điều này liên quan đến việc ghi nhật ký và bạn có thể mã hóa kết nối giữa nguồn và phần chìm bằng OpenVPN stunnelhoặc tương tự. Tôi chắc chắn có các tùy chọn chuyển khoản "một chiều" khác ngoài kia.



"bởi vì họ phải sống trong RAM để giải mã hệ thống tập tin" điều này có thể đúng với LUKS, nhưng không phải nói chung: tiền điện tử bất đối xứng được thiết kế cho mục đích chính xác đó (ai đó giữ khóa công khai có thể mã hóa, nhưng không giải mã được)
Clément

3

Nghe có vẻ như bạn đang đi sai hướng. Nếu bạn muốn một tệp mà bạn có thể ghi vào nhưng không đọc được thì quyền truy cập tệp là thứ bạn đang tìm kiếm.


$ touch log
$ chmod 222 log
$ echo test > log
$ cat log
cat: log: Permission denied

Tất nhiên, tệp này có thể nằm trên một hệ thống tệp được mã hóa.


Bạn có thể gắn hệ thống tập tin với một ô nhất định, không cho phép người dùng thay đổi quyền.
số

Và chỉ chủ sở hữu của tệp (hoặc siêu người dùng) có thể thay đổi quyền.
khỉ đột

Tôi nghĩ OP đang cố gắng tự bảo vệ mình ngay cả trước kẻ tấn công đang root.
Clément

1
umask 0477 && touch file && echo test > file && cat file

cũng có thể hữu ích Bất kỳ tệp nào được tạo trong quy trình hiện tại sẽ có chế độ 0200.

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.