Bạn thuê một VPS, cài phần mềm và nhận quyền quản trị. Đương nhiên, bạn gọi đó là “máy chủ của tôi”. Hóa đơn cũng viết như thế. Có điều, chiếc máy tính thật vẫn thuộc về người khác. Chi tiết nhỏ này quyết định quyền riêng tư của bạn nhiều hơn hẳn chữ “riêng” trong lời chào hàng.
Máy chủ riêng ảo là một máy tính được tạo bằng phần mềm, chạy trên máy vật lý do nhà cung cấp kiểm soát. Bạn quản lý những gì diễn ra bên trong môi trường mình thuê. Nhà cung cấp quản lý toàn bộ hệ thống giúp môi trường ấy tồn tại. Đó là hai tầng kiểm soát khác nhau.
Bạn có root. Họ có cả chiếc máy.
Root là tài khoản quản trị bên trong máy chủ của bạn. Nó cho phép cài chương trình, quản lý người dùng và thay đổi cài đặt. Nó không trao cho bạn quyền kiểm soát máy vật lý của nhà cung cấp. Bạn quản lý căn hộ. Bạn chưa mua cả tòa nhà.
Với cách triển khai VPS thông thường, người có đủ quyền trên hạ tầng máy chủ có thể sao chép ổ đĩa ảo và đọc nội dung chưa được mã hóa mà không cần đăng nhập vào VPS của bạn. Mật khẩu máy chủ của bạn không tham gia vào việc này. Họ tiếp cận dữ liệu từ bên ngoài hệ thống kiểm tra mật khẩu ấy.
Đây vốn là một phần của công việc quản trị. Chẳng hạn, Libguestfs cung cấp công cụ kiểm tra và sửa nội dung ảnh đĩa máy ảo. Chúng hữu ích cho việc bảo trì chính đáng. Chúng cũng chỉ ra một điều hơi khó chịu: quyền truy cập hệ thống lưu trữ bên dưới khác hẳn quyền đăng nhập mà bạn kiểm soát.
“Chúng tôi không xem đâu” — câu này gánh hơi nhiều
Nhà cung cấp có thể có quy định nghiêm ngặt, giới hạn quyền của nhân viên và giám sát tốt. Tất cả đều quan trọng. Nhưng “nhân viên bị cấm đọc tệp của bạn” và “hệ thống ngăn nhân viên đọc tệp của bạn” là hai lời hứa khác nhau. Một chính sách bảo mật nghe yên tâm không khiến ổ đĩa đang đọc được bỗng trở nên không thể đọc.
Rủi ro cũng không chỉ đến từ một nhân viên tò mò. Kẻ chiếm được hệ thống quản lý của nhà cung cấp có thể có những quyền mà bạn chưa từng cấp cho hắn. Bạn có thể bảo vệ mọi tài khoản bên trong VPS mà vẫn phải phụ thuộc vào độ an toàn của các tài khoản bên ngoài nó.
Chẳng cần đến âm mưu nào. Bạn đang tin vào con người, quy trình và hạ tầng của bên vận hành. Hoàn toàn hợp lý, nếu ngay từ đầu đó là thỏa thuận bạn chấp nhận. Hơi kém vui nếu bạn tưởng chữ “riêng” có nghĩa là không ai khác xem được.
Ổ khóa của bạn. Chìa dự phòng của người quản lý kho.
Hãy tưởng tượng bạn thuê một gian kho. Bạn lắp ổ khóa xịn, xếp đồ ngay ngắn rồi ra về, yên tâm rằng mình đã làm đủ trách nhiệm. Người quản lý kho vẫn có cách vào trong. Bạn hỏi thì ông ấy giải thích: tự ý vào khi chưa được phép là trái quy định công ty.
Hay quá. Bạn hỏi ai mở được cửa. Ông ấy chỉ nói rằng mình không được tự ý vào.
Người quản lý kho có thể hoàn toàn đáng tin. Chìa khóa dự phòng đâu vì thế mà biến mất. Bạn vẫn cần biết ai dùng được nó, điều gì ngăn người khác lấy được nó, và liệu có ai báo cho bạn nếu nó được sử dụng. “Cứ tin chúng tôi” là một lời đề nghị. Nó không khóa được cửa.
Website vẫn chạy ngon lành trong lúc ai đó đọc bản sao
Sao chép thông tin không đòi hỏi bản gốc phải biến mất. Phần mềm ảo hóa có thể chụp lại trạng thái ổ đĩa của máy chủ đang chạy; tài liệu libvirt mô tả đây là một tính năng thông thường. Sau đó, người ta có thể xem xét bản sao riêng. Website hoạt động tốt và biểu đồ thời gian hoạt động xanh rì không cho bạn biết ai đã xem dữ liệu.
Đó có thể là thư từ với khách hàng, hóa đơn, mã nguồn, tài liệu chưa công bố hoặc cơ sở dữ liệu. Cũng có thể là thông tin truy cập của bot giao dịch. Vấn đề rộng hơn tiền mã hóa, cũng rộng hơn chuyện cất mật khẩu ở đâu: người khác có thể nhìn vào chính môi trường nơi bạn làm việc.
Máy chạy ổn định. Tuyệt vời. Còn quyền riêng tư thì phải nói chuyện riêng.
Điều gì thực sự ngăn bên vận hành xem dữ liệu?
Đây là câu nên hỏi trước khi coi VPS như chiếc máy riêng của mình. Khả năng truy cập bị giới hạn bởi việc nhân viên tuân thủ nội quy, hay bởi một rào cản kỹ thuật mà bên vận hành không thể dễ dàng vượt qua? Ai kiểm soát rào cản ấy?
Có những kiến trúc được thiết kế để giảm mức độ phải tin vào máy chủ vật lý. Chẳng hạn, máy ảo bảo mật (confidential VM) dùng cơ chế bảo vệ bằng phần cứng để cách ly các tác vụ đang chạy khỏi tầng hạ tầng bên dưới. Mức bảo vệ phụ thuộc vào cấu hình, bao gồm cách xử lý ổ đĩa và khóa mã hóa. Chỉ ba chữ VPS không hứa hẹn bất cứ điều nào trong số đó.
Thuê năng lực tính toán là việc hữu ích. Sai lầm là tưởng quyền quản trị khiến bạn thành người duy nhất có quyền kiểm soát chiếc máy của người khác. Nhà cung cấp vẫn vận hành máy ấy. Họ có xem được bên trong hay không là điều cần làm rõ, chứ không phải điều nên mặc nhiên tin.