Tự động khởi động và bảo vệ máy chủ Linux bằng hệ thống tệp được mã hóa


16

Tôi đang thiết lập một số máy chủ Ubuntu mới và tôi muốn bảo mật dữ liệu trên chúng để chống trộm. Mô hình mối đe dọa là những kẻ tấn công mong muốn phần cứng hoặc những kẻ tấn công ngây thơ mong muốn dữ liệu.


Xin lưu ý phần này.

Mô hình mối đe dọa không bao gồm những kẻ tấn công thông minh mong muốn dữ liệu; Tôi đoán họ sẽ làm một hoặc nhiều điều sau đây:

  1. Nối một UPS vào cáp nguồn để giữ cho máy hoạt động liên tục.

  2. Chèn một cặp cầu nối Ethernet giữa máy tính và điểm kết thúc mạng sẽ kết nối lưu lượng qua mạng không dây đủ phạm vi mà máy chủ sẽ duy trì kết nối mạng.

  3. Mở hộp và sử dụng đầu dò trên bus bộ nhớ để lấy những thứ thú vị.

  4. Sử dụng các thiết bị TEMPEST để thăm dò những gì máy chủ đang làm.

  5. Sử dụng các phương tiện hợp pháp (như lệnh của tòa án) để buộc tôi tiết lộ dữ liệu

  6. Vân vân.


Vì vậy, những gì tôi muốn là có một số, hoặc lý tưởng nhất là tất cả dữ liệu trên đĩa trên một phân vùng được mã hóa, với vật liệu chính cần thiết để truy cập nó trên phương tiện truyền thông bên ngoài. Hai phương pháp tôi có thể nghĩ ra để lưu trữ tài liệu chính là:

  1. Lưu trữ nó trên một máy chủ từ xa có thể truy cập qua mạng và cấu hình đủ mạng để truy xuất nó trong quá trình khởi động. Truy xuất sẽ chỉ được phép đối với địa chỉ IP được gán cho máy chủ được bảo mật (do đó không cho phép truy cập vào dữ liệu được mã hóa nếu nó được khởi động trên kết nối mạng khác) và có thể bị quản trị viên vô hiệu hóa nếu máy bị phát hiện bị đánh cắp.

  2. Lưu trữ nó trên một thiết bị lưu trữ USB được chế tạo theo cách nào đó khó bị đánh cắp hơn đáng kể so với chính máy chủ lưu trữ. Việc đặt nó ở xa máy chủ, chẳng hạn như ở cuối cáp USB dài 5 mét dẫn vào một góc khác của căn phòng, hoặc thậm chí một phòng khác, có lẽ sẽ làm giảm đáng kể khả năng kẻ tấn công lấy nó. Bảo vệ nó theo một cách nào đó, chẳng hạn như bằng cách xâu chuỗi nó vào một thứ gì đó bất động, hoặc thậm chí đặt nó vào một nơi an toàn, sẽ còn hiệu quả hơn nữa.

Vì vậy, các tùy chọn của tôi để thiết lập này là gì? Như tôi đã nói trước đây, tôi muốn có tất cả mọi thứ (ngoài có lẽ là một phân vùng khởi động nhỏ không chứa / etc) được mã hóa, do đó tôi không phải lo lắng về việc tôi sẽ đặt các tệp ở đâu hoặc chúng ở đâu ' Đang vô tình hạ cánh.

Chúng tôi đang chạy Ubuntu 9.04, nếu nó có sự khác biệt.


1
Mô hình mối đe dọa của bạn mặc đồng phục có ba chữ cái trên đó? :)
Sven

Họ không mặc đồng phục. :-) Nhưng nghiêm túc, không; bất kỳ cơ quan chính phủ nào, bí mật hay không, có khả năng đủ thông minh để lấy tất cả phần cứng, không chỉ những gì họ có thể lấy một cách nhanh chóng.
Curt J. Sampson

1
Câu hỏi của bạn dường như mâu thuẫn với chính nó. Trước tiên, bạn nói "Tôi muốn bảo mật dữ liệu trên chúng chống trộm", sau đó bạn nói "không bao gồm những kẻ tấn công thông minh mong muốn dữ liệu". Bạn có quan tâm đến dữ liệu hay không?
Zoredache

1
Tôi quan tâm đến nó có. Nếu bạn có thể, với chi phí tương tự, bảo vệ nó trước những kẻ tấn công thông minh cũng như những kẻ câm, thật tuyệt, tôi sẽ làm điều đó. Nếu không, ít nhất tôi sẽ tránh được tình trạng ai đó mua một ổ đĩa đã sử dụng tại cửa hàng tái chế và phát hiện ra tất cả dữ liệu của khách hàng của tôi trên đó.
Curt J. Sampson

+1 để thực sự suy nghĩ thông qua mô hình mối đe dọa, điều mà nhiều người có câu hỏi tương tự quên làm.
sleske

Câu trả lời:


8

Tôi biết một biến thể thông minh của Lựa chọn 1 có tên là Mandos.

Nó sử dụng kết hợp một cặp khóa GPG, Avahi, SSL và IPv6 được thêm vào đĩa RAM ban đầu của bạn để lấy lại mật khẩu khóa mật khẩu gốc của nó. Nếu máy chủ Mandos không có trên mạng LAN thì máy chủ của bạn là cục gạch được mã hóa hoặc máy chủ Mandos đã không thấy nhịp tim từ phần mềm máy khách Mandos trong một khoảng thời gian nhất định, nó sẽ bỏ qua các yêu cầu trong tương lai cho cặp khóa đó và máy chủ là một viên gạch được mã hóa vào lần tới khi nó khởi động.

Trang chủ Mandos

Mandos README


1
Ý tưởng thú vị. Tôi cho rằng bạn sẽ PXE khởi động máy khách để không bị khóa công khai / riêng tư trên ổ đĩa cứng. Tuy nhiên, bạn có thể rình mò khóa dây và sau đó sử dụng nó, kết hợp với việc đánh hơi việc truyền khóa mã hóa hàng loạt của máy tính để giải mã ổ đĩa. Toàn bộ "máy chủ sẽ không phát chìa khóa nếu nó không nghe thấy nhịp tim trong cửa sổ thời gian xxx" nghe có vẻ như là một cách gọn gàng để đưa con người vào vòng lặp. Dự án gọn gàng. Không quá khó để đánh bại nếu bạn có quyền truy cập vật lý, nhưng gọn gàng.
Evan Anderson

2
Evan, bạn muốn đọc FAQ trong Mandos README, tôi nghĩ ....
Curt J. Sampson

Hừm. Tôi không rõ tại sao Mandos chỉ chạy trên một mạng LAN. Có phải vì nó không thể thiết lập địa chỉ IP và tuyến đường để sử dụng internet?
Curt J. Sampson

1
Curt, Mandos sử dụng địa chỉ liên kết cục bộ ipv6 để liên lạc giới hạn trong phạm vi địa phương. Tuy nhiên, điều đó có nghĩa là nó không cần bất kỳ cấu hình bên ngoài (dhcp) hoặc xung đột với các máy chủ khác trên cùng mạng LAN. vi.wikipedia.org/wiki/ từ
Haakon

1
Là đồng tác giả của Mandos, tôi chỉ có thể đồng ý với Haakon. Thực sự có một cách để Mandos sử dụng các địa chỉ IPv4 toàn cầu bằng cách sử dụng kernel ip=mandos=connectcác tham số, hãy xem thư này: mail.fukt.bsnet.se/pipermail/mandos-dev/2009-F/2/ trộm nhưng lưu ý rằng điều này hơi dễ vỡ như khách hàng sẽ chỉ cố gắng kết nối với máy chủ được chỉ định một lần và không thể phục hồi nếu không. Cấu hình được khuyến nghị là thông qua mạng LAN. Tôi cũng có thể đề cập rằng Mandos có sẵn trong Ubuntu kể từ 9.04 (và cả trong bản thử nghiệm Debian)
Teddy

6

Nếu bạn chỉ muốn bảo vệ chống lại những kẻ tấn công phi kỹ thuật, tôi nghĩ rằng đặt cược tốt nhất của bạn là bảo mật vật lý tốt hơn.

Suy nghĩ của tôi là như vậy:

Nếu bạn đang tìm kiếm một đôi giày không cần sự tương tác của con người để nhập vật liệu chính thì bạn sẽ không đưa ra bất kỳ giải pháp nào an toàn trước hành vi trộm cắp thông thường của một kẻ săn trộm với bất kỳ kỹ năng kỹ thuật nào (hoặc, một cách thích hợp hơn, khả năng thanh toán cho người có kỹ năng kỹ thuật).

Đặt vật liệu chính vào thứ gì đó như ổ USB sẽ không mang lại sự bảo mật thực sự. Kẻ tấn công chỉ có thể đọc chìa khóa của ổ ngón tay cái. Ổ ngón tay cái không thể biết máy tính mà nó đã được cắm vào là máy tính của máy chủ hay máy tính xách tay của kẻ tấn công. Tất cả những kẻ tấn công phải làm là đảm bảo họ lấy tất cả mọi thứ, hoặc trong trường hợp khóa USB của bạn ở đầu cáp USB dài 15 feet bị mắc kẹt trong két sắt, chỉ cần cắm cáp extendo vào PC của họ và đọc chìa khóa.

Nếu bạn định chuyển khóa qua mạng, bạn có thể sẽ "mã hóa" nó. Tất cả những gì kẻ tấn công phải làm là nghe lén quá trình khóa, đánh cắp máy chủ và sau đó thiết kế ngược lại bất kỳ "mã hóa" nào bạn đã làm khi bạn gửi khóa qua mạng. Theo định nghĩa, máy tính của máy chủ nhận được khóa "được mã hóa" từ khắp mạng phải có khả năng "giải mã" khóa đó để sử dụng nó. Vì vậy, thực sự, bạn không mã hóa khóa-- bạn chỉ đang mã hóa nó.

Cuối cùng, bạn cần có một trí thông minh (nhân tạo?) Để nhập khóa vào máy chủ. Một người có thể nói rằng "Tôi biết rằng tôi không tiết lộ chìa khóa cho bất kỳ ai trừ máy tính của máy chủ và tôi biết rằng nó đã không bị đánh cắp." Một con người có thể làm điều này. Một ổ USB không thể. Nếu bạn tìm thấy một trí thông minh khác có thể làm điều đó thì tôi nghĩ bạn sẽ có thứ gì đó có thể bán được. > cười <

Tôi nghĩ, rất có thể, tôi sẽ mất chìa khóa và phá hủy dữ liệu của bạn trong khi không đạt được bất kỳ sự bảo mật nào. Thay cho chiến lược của bạn bằng các trò chơi mã hóa, tôi nghĩ rằng bạn tốt hơn nên có bảo mật vật lý mạnh hơn.

Biên tập:

Tôi nghĩ rằng chúng ta đang làm việc từ các định nghĩa khác nhau của thuật ngữ "mô hình mối đe dọa", có lẽ.

Nếu mô hình mối đe dọa của bạn là hành vi trộm cắp phần cứng, thì giải pháp đề xuất của bạn lại: mã hóa ổ đĩa, như tôi thấy, không làm gì về việc chống lại mối đe dọa. Giải pháp đề xuất của bạn trông giống như một biện pháp đối phó chống trộm dữ liệu, không phải trộm cắp phần cứng.

Nếu bạn muốn ngăn chặn phần cứng bị đánh cắp, bạn cần phải khóa nó xuống, khóa nó lại, bọc nó trong bê tông, v.v.

Tôi đã nói những gì tôi muốn nói lại: đánh cắp dữ liệu, vì vậy tôi sẽ không nói về điều đó một lần nữa, ngoại trừ nói: Nếu bạn sẽ đặt chìa khóa vào một thiết bị vật lý và bạn không thể bảo vệ máy tính của máy chủ không bị đánh cắp thì bạn cũng không thể bảo vệ thiết bị chính khỏi bị đánh cắp.

Tôi đoán giải pháp "giá rẻ" tốt nhất của bạn là xử lý một số loại trao đổi khóa dựa trên mạng. Tôi sẽ đặt một hoặc nhiều người vào vòng lặp để xác thực "giải phóng" khóa trong trường hợp khởi động lại. Nó sẽ gây ra thời gian chết cho đến khi con người "giải phóng" chìa khóa, nhưng ít nhất nó sẽ cho bạn cơ hội tìm hiểu tại sao một "phát hành" khóa được yêu cầu và quyết định có nên làm như vậy hay không.


Đây là một bổ sung tốt cho phân tích bảo mật, vì vậy tôi đã đưa ra một bản nâng cấp, nhưng nó không phải là câu trả lời cho câu hỏi của tôi vì bạn đang sử dụng một mô hình mối đe dọa khác. Lưu ý những gì tôi đã nói trong câu hỏi về việc tôi là ai và không bảo vệ.
Curt J. Sampson

1
Để bảo mật vật lý tốt hơn, trước tiên tôi muốn xem xét các lựa chọn ít tốn kém hơn. Trong môi trường hiện tại của chúng tôi, chúng tôi sẽ tốn rất nhiều hàng ngàn đô la để cài đặt thứ gì đó không thể nhanh chóng bị đánh bại bởi một ai đó với một cặp dao cắt.
Curt J. Sampson

Re-đọc bài viết này, tôi không chắc chắn rằng bạn đang rõ ràng là mô hình mối đe dọa của tôi không phải là trộm cắp phần cứng cho mỗi gia nhập , mà về cơ bản chỉ là một sự bất tiện, nhưng hành vi trộm cắp đồng thời dữ liệu mà đi cùng với nó. Đó là chính xác lý do tại sao giải pháp đề xuất của tôi là một biện pháp đối phó chống trộm dữ liệu, thay vì trộm cắp phần cứng.
Curt J. Sampson

Thật thú vị khi xem một bình luận về một câu hỏi gần 8 tuổi. Nếu giải pháp của bạn hiệu quả với bạn, tôi chắc chắn rất vui vì điều đó.
Evan Anderson

Tôi chỉ nghĩ rằng "Tôi không nên hoại tử", sau đó tôi thấy những bình luận cuối cùng này. Tôi nghĩ mô hình mối đe dọa của Curt giống như của tôi ... để bảo vệ dữ liệu trước ai đó ăn cắp phần cứng. Một số ý kiến ​​về điều này và các bài đăng tương tự đã nói rằng mọi người chỉ có thể "nghe lén" về quy trình chính và tìm ra nó sau. Chỉ có một quá trình thực sự tồi tệ có thể bị phá vỡ bởi bất kỳ loại phát lại. Ngoài ra ... "tất cả những gì kẻ tấn công phải làm là" ... "kỹ sư đảo ngược bất kỳ mã hóa nào bạn đã làm" ... Chúng ta đang nói về ai? Cơ hội mà một tên trộm thông thường sẽ có khả năng như vậy ... hoặc thậm chí mong muốn làm điều đó là gì?
darron
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.