Bất kỳ giải pháp nào không bao gồm mã hóa ở phía máy khách với các khóa do chủ sở hữu nắm giữ sẽ không đáp ứng yêu cầu đã nêu đầu tiên (bảo vệ / bảo mật IP) - bất kỳ hack nào của phía máy chủ đều tiết lộ dữ liệu không được mã hóa. Điều này loại trừ các hệ thống đồng bộ hóa trên đám mây như Dropbox sở hữu các khóa.
Để tránh lưu trữ các khóa mã hóa quan trọng trên máy chủ của trang web, cũng có khả năng bị hack tại một số điểm, đây là những gì tôi sẽ làm:
- Máy chủ sao lưu nội bộ trên trang web riêng của khách hàng - có khóa mã hóa và khóa SSH cho cả hai máy chủ khác
- Máy chủ lưu trữ trang web - có thể là máy chủ web
- Máy chủ hoặc dịch vụ sao lưu đám mây
Bước 1: Máy chủ (1) lấy bản sao lưu từ (2), vì vậy hầu hết các bản hack của máy chủ trang web sẽ không thỏa hiệp các bản sao lưu. Mã hóa diễn ra vào thời điểm này.
- Tôi sẽ sử dụng rsnapshot qua SSH bằng cách sử dụng đăng nhập dựa trên khóa, vì điều này có yêu cầu tối thiểu trên máy chủ web và máy chủ sao lưu trong nhà - trừ khi bạn có DB lớn để sao lưu băng thông rất hiệu quả và lưu trữ nhiều phiên bản của trang web, và cũng xử lý thanh trừng các bản sao lưu cũ.
- Mã hóa có thể được thực hiện bằng bất kỳ tệp nào thành công cụ tệp như GPG, sao chép cây rsnapshot sang cây khác - hoặc bạn có thể sử dụng bản sao cho bước 2, tiết kiệm dung lượng đĩa.
- "Kéo" từ máy chủ dự phòng rất quan trọng - nếu máy chủ chính (2) có mật khẩu / khóa cho máy chủ dự phòng, tin tặc có thể và đôi khi sẽ xóa các bản sao lưu sau khi hack máy chủ chính (xem bên dưới). Các bản hack thực sự tiên tiến có thể cài đặt các tệp nhị phân SSH bị tấn công, sau đó có thể xâm phạm máy chủ dự phòng, nhưng điều đó ít có khả năng đối với hầu hết các công ty.
Bước 2: máy chủ (1) đẩy các bản sao lưu được mã hóa lên (3) để có bản sao lưu ngoại vi. Nếu các bản sao lưu được mã hóa ở bước 1, bạn chỉ có thể sử dụng máy nhân bản rsync của cây rsnapshot cục bộ cho hệ thống từ xa.
- Sao chép sẽ là một lựa chọn tốt để trực tiếp mã hóa và sao lưu cây rsnapshot không được mã hóa vào máy chủ từ xa. Các tính năng của trùng lặp hơi khác so với rsnapshot, sử dụng kho lưu trữ tar được mã hóa GPG, nhưng nó cung cấp mã hóa dự phòng trên máy chủ từ xa và chỉ yêu cầu SSH trên máy chủ đó (hoặc có thể sử dụng Amazon S3). Sao chép không hỗ trợ các liên kết cứng , vì vậy nếu điều này là bắt buộc (ví dụ: để sao lưu toàn bộ máy chủ), tốt nhất là nếu tập lệnh chuyển đổi cây rsnapshot (hỗ trợ các liên kết cứng) thành tệp tar (có thể chỉ là các tệp có> 1 liên kết cứng, sẽ khá nhỏ) để sao chép có thể sao lưu tệp tar.
- Vì máy chủ từ xa chỉ là máy chủ SSH, có thể là rsync, nên nó có thể là máy chủ web (nhưng từ một nhà cung cấp dịch vụ lưu trữ khác và ở một phần khác của quốc gia) hoặc dịch vụ đám mây cung cấp rsync và / hoặc SSH - xem câu trả lời này về sao lưu rsync lên đám mây cho đề xuất của bqbackup và rsync.net, mặc dù tôi không đồng ý với thiết lập sao lưu được đề cập.
- Bạn có thể sử dụng Amazon S3 làm máy chủ từ xa với tính trùng lặp, điều này sẽ cung cấp cho bạn tính khả dụng thực sự tốt mặc dù có lẽ sẽ tốn nhiều chi phí hơn cho các bản sao lưu lớn.
- Các tùy chọn khác cho sao lưu được mã hóa từ xa là Boxbackup (chưa hoàn thiện, một số tính năng hay) và Tarsnap (dịch vụ đám mây thương mại dựa trên Amazon S3 với giao diện dòng lệnh đơn giản, chống trùng lặp tốt và mã hóa rất kỹ lưỡng).
- JungleDisk có thể là một lựa chọn nhưng tôi chưa từng có trải nghiệm tuyệt vời với họ trong quá khứ và mã hóa của họ có một số vấn đề (từ tác giả Tarsnap).
Bảo mật của tất cả các máy chủ khác nhau rất quan trọng, do đó, điều này cần được điều chỉnh để đáp ứng hồ sơ bảo mật của máy khách, tức là phân tích các mối đe dọa, rủi ro, vectơ tấn công, v.v. Ubuntu Server không phải là một khởi đầu tồi vì nó có cập nhật bảo mật thường xuyên cho 5 năm, nhưng cần chú ý đến bảo mật trên tất cả các máy chủ.
Thiết lập này cung cấp 2 bản sao lưu độc lập, một trong số đó có thể là dịch vụ lưu trữ đám mây khả dụng cao, hoạt động ở chế độ kéo để hầu hết các cuộc tấn công trên trang web không thể phá hủy các bản sao lưu cùng một lúc và nó sử dụng các công cụ nguồn mở đã được chứng minh tốt đòi hỏi nhiều quản trị.
- Sao lưu độc lập là rất quan trọng, bởi vì tin tặc đôi khi thực sự xóa tất cả các bản sao lưu cùng lúc với việc hack trang web - trong trường hợp gần đây nhất, tin tặc đã phá hủy 4800 trang web, bao gồm các bản sao lưu bằng cách hack môi trường lưu trữ web thay vì các trang web. Xem thêm câu trả lời này và cái này .
- Việc khôi phục rất dễ dàng với rsnapshot - có một tệp trong mỗi cây chụp nhanh cho mỗi tệp được sao lưu, vì vậy chỉ cần tìm các tệp có công cụ Linux và rsync hoặc quay lại trang web. Nếu vì lý do nào đó, máy chủ sao lưu tại chỗ không khả dụng, chỉ cần sử dụng bản sao để khôi phục chúng từ máy chủ sao lưu đám mây - hoặc bạn có thể sử dụng các công cụ tiêu chuẩn như GPG, rdiff và tar để khôi phục các bản sao lưu.
Vì thiết lập này sử dụng SSH và rsync tiêu chuẩn, nên dễ dàng hơn để chọn nhà cung cấp phù hợp với bảo đảm thời gian hoạt động phù hợp, bảo mật mạnh mẽ, v.v. Bạn không cần phải ký hợp đồng dài và nếu dịch vụ sao lưu có thảm họa thất bại, bạn vẫn có một bản sao lưu cục bộ và có thể chuyển sang một dịch vụ sao lưu khác khá dễ dàng.