Tiếng Việt

Công cụ dành cho nhà phát triển · Chạy Docker sang trình chuyển đổi soạn thảo Docker

--privileged, --cap-add và --device: ý nghĩa của chúng trong tệp Soạn thư

· Tại sao nó quan trọng

docker soạn bảo vệ

Sơ đồ trừu tượng minh họa --privileged, --cap-add và --device: ý nghĩa của chúng trong tệp soạn thảo
Hình minh họa vector ToolAcre gốc

Một lá cờ sẽ tắt phần lớn sự cô lập của Docker. Bài đăng này giải thích những gì --privileged thực sự cấp, các lựa chọn thay thế hẹp hơn và cách chúng trông như thế nào trong đặc quyền:, cap_add: và thiết bị: sau khi chuyển đổi.

Diễn đàn cho biết hãy thêm --privileged — vùng chứa hiện đã hoạt động và sự cô lập khiến vùng chứa trở nên hấp dẫn phần lớn đã không còn nữa

Diễn đàn cho biết hãy thêm --privileged — vùng chứa hiện đã hoạt động và sự cô lập khiến vùng chứa trở nên hấp dẫn phần lớn đã không còn nữa. Bằng chứng: --privileged trở thành sự thật đặc quyền mà không cần chứng thực về an toàn. Tái tạo đặc quyền tối thiểu bằng chữ dùng một lần. Ghép nối từng lần xuất hiện nguồn với các thiết bị có khả năng đặc quyền; dự trữ quyền giam giữ máy chủ và quyền truy cập để xem xét điểm đến.

Sự cố bảo mật cũng tiết lộ rằng Một ranh giới sự cố bảo mật riêng biệt là --device được nhận dạng nhưng được cảnh báo và bỏ qua vì phụ thuộc vào máy chủ. Bằng chứng: --device được nhận dạng nhưng bị cảnh báo và bị bỏ qua vì phụ thuộc vào máy chủ. Ràng buộc đặc quyền tối thiểu này là điểm dừng. Kiểm tra các thiết bị có khả năng đặc quyền mà không có hành vi sản xuất, sau đó ghi lại quá trình kiểm tra máy chủ để biết khả năng giam giữ và quyền truy cập của máy chủ.

Công việc --privileged thực hiện — tất cả các khả năng, quyền truy cập vào tất cả các thiết bị cũng như khả năng giam giữ an toàn và AppArmor thoải mái

Công việc --privileged thực hiện — tất cả các khả năng, quyền truy cập vào tất cả các thiết bị cũng như khả năng giam giữ an toàn và AppArmor thoải mái. Bằng chứng: hiệu ứng giam giữ vật chủ không thể được liệt kê từ văn bản lệnh. Theo dõi các mã thông báo đặc quyền ít nhất vào các thiết bị có khả năng đặc quyền. Tách các giá trị được sắp xếp khỏi các trường giá trị cuối cùng; việc giam giữ và truy cập máy chủ là bên ngoài bộ sưu tập.

Một ranh giới cơ chế bảo mật liên quan là Một ranh giới ngữ pháp bảo mật riêng biệt là quyền truy cập Zigbee được yêu cầu không thể được suy ra từ lệnh đặc quyền trước đây. Bằng chứng: quyền truy cập Zigbee được yêu cầu không thể được suy ra từ lệnh đặc quyền trước đây. Sử dụng thực tế đặc quyền tối thiểu này để dự đoán một thành viên hoặc đại lượng vô hướng trong các thiết bị có khả năng đặc quyền. Kiểm tra các cảnh báo trước khi quyết định bất cứ điều gì về việc giam giữ và truy cập vật chủ.

Thay vào đó, các khả năng — cap_add: với NET_ADMIN, SYS_TIME hoặc các phiên bản khác làm phiên bản thu hẹp và cap_drop: ALL làm đường cơ sở

Thay vào đó, các khả năng — cap_add: với NET_ADMIN, SYS_TIME hoặc các khả năng khác làm phiên bản thu hẹp và cap_drop: ALL làm đường cơ sở. Bằng chứng: --cap-add và --cap-drop trở thành danh sách được sắp xếp rõ ràng. Đánh giá tuần tự hóa đặc quyền tối thiểu từ mô hình của nó. Trích dẫn trong khả năng đặc quyền của thiết bị bảo vệ các loại nhưng không cung cấp bằng chứng hoạt động cho việc giam giữ và truy cập máy chủ.

Quan sát tuần tự hóa bảo mật thứ hai là Ranh giới đầu ra bảo mật riêng biệt là khóa đặc quyền hiển thị hỗ trợ việc xem xét trong khi các cảnh báo vẫn duy trì các khoảng trống. Bằng chứng: khóa đặc quyền hiển thị hỗ trợ việc xem xét trong khi các cảnh báo vẫn giữ nguyên các khoảng trống. Đầu ra có đặc quyền tối thiểu này sẽ tách cài đặt khỏi ngữ cảnh không có sẵn. Giữ cho các thiết bị có khả năng đặc quyền có thể xem xét được và kiểm tra việc giam giữ cũng như quyền truy cập của máy chủ một cách độc lập.

--device được nhận dạng nhưng không được chuyển đổi một cách có chủ ý; thêm danh sách thiết bị dành riêng cho máy chủ theo cách thủ công

Thay vào đó, thiết bị — --device /dev/ttyUSB0 trở thành thiết bị: lý do thực sự thông thường mà mọi người tìm đến --privileged. Bằng chứng: --device được nhận dạng nhưng bị cảnh báo và bị bỏ qua vì phụ thuộc vào máy chủ; --device được nhận dạng nhưng không được chuyển đổi một cách có chủ ý; thêm danh sách thiết bị dành riêng cho máy chủ theo cách thủ công. Dừng lại ở ngoại lệ đặc quyền ít nhất thay vì đoán. Bất kỳ sự bổ sung nào gần các thiết bị có khả năng đặc quyền đều cần có lý do dành riêng cho việc triển khai gắn liền với việc giam giữ và truy cập máy chủ.

Một hạn chế ngoại lệ về bảo mật khác là đối với phần bảo mật này, hãy giữ lệnh gốc cho phần bảo mật này và các cảnh báo cho phần bảo mật này bên cạnh tệp ứng cử viên này. Bằng chứng: kho lưu trữ không cung cấp thời gian chạy rộng hơn hoặc bằng chứng lịch sử. Giữ lệnh đặc quyền tối thiểu ban đầu bên cạnh các cảnh báo. Việc so sánh cho thấy các thiết bị có khả năng đặc quyền nào và quyết định truy cập và giam giữ máy chủ nào vẫn được thực hiện thủ công.

Việc chỉnh sửa loại bỏ đặc quyền cần có sự đánh giá của người vận hành vì trình chuyển đổi này không thể suy ra các thiết bị hoặc khả năng cần thiết

Ví dụ đã hoạt động: loại bỏ đặc quyền của lệnh cầu Zigbee — thay thế --privileged bằng mục nhập thiết bị và một khả năng duy nhất. Bằng chứng: quyền truy cập Zigbee được yêu cầu không thể được suy ra từ lệnh đặc quyền trước đây; Việc chỉnh sửa loại bỏ đặc quyền cần có sự đánh giá của người vận hành vì trình chuyển đổi này không thể suy ra các thiết bị hoặc khả năng cần thiết. Xây dựng ví dụ về đặc quyền tối thiểu từ tên tổng hợp. Làm cho mọi mục của thiết bị có khả năng đặc quyền đều có thể theo dõi được mà không làm lộ thông tin chi tiết về quyền truy cập và giới hạn máy chủ sản xuất.

Mẫu ví dụ bảo mật tương tự chứng minh rằng đối với phần bảo mật này, hãy giữ lệnh gốc cho phần bảo mật này và các cảnh báo cho phần bảo mật này bên cạnh tệp ứng cử viên này. Thực tế đặc quyền tối thiểu được ghép nối sẽ hiển thị trong các thiết bị có khả năng đặc quyền. Ghi lại dòng đó và tránh các giả định về việc giam giữ và truy cập máy chủ.

Đọc YAML đã được chuyển đổi dưới dạng đánh giá - đặc quyền: true nổi bật theo cách khác biệt mà cờ trong dòng shell không làm được

Đọc YAML đã được chuyển đổi dưới dạng đánh giá - đặc quyền: true nổi bật theo cách khác biệt theo cách mà cờ trong dòng shell không làm được. Chuyển hệ quả đặc quyền tối thiểu thành một sự khác biệt về khả năng đặc quyền có thể quan sát được của các thiết bị. Docker sở hữu khả năng giam giữ và truy cập máy chủ sau này.

Việc triển khai hậu quả bảo mật cũng cho thấy một ranh giới hiệu ứng bảo mật riêng biệt là --privileged trở thành đặc quyền thực sự mà không cần chứng thực về an toàn. Phân chia trách nhiệm đặc quyền tối thiểu: chuyển đổi ghi các thiết bị có khả năng đặc quyền, kho lưu trữ xóa bí mật và người vận hành xác thực quyền truy cập và giam giữ máy chủ.

Điều này không bao gồm những gì — quyền truy cập GPU, hồ sơ seccomp tùy chỉnh và bối cảnh bảo mật Kubernetes

Điều này không bao gồm những gì — quyền truy cập GPU, hồ sơ seccomp tùy chỉnh và bối cảnh bảo mật Kubernetes. Bằng chứng: GPU hồ sơ đặt trước và tùy chỉnh không được tạo. Giới hạn phạm vi đặc quyền tối thiểu đối với các nhánh thiết bị có khả năng đặc quyền được hiển thị ở đây. Các biểu mẫu và mặc định lân cận không thể trả lời các câu hỏi về quyền truy cập và giam giữ máy chủ.

Một giới hạn phạm vi bảo mật nữa theo sau Một ranh giới giới hạn bảo mật riêng biệt là các hiệu ứng giam giữ máy chủ không thể được liệt kê từ văn bản lệnh. Hãy coi ranh giới đặc quyền ít nhất này như một sự loại trừ. Ưu tiên các thiết bị có khả năng đặc quyền chính xác hơn là phỏng đoán về khả năng giam giữ và truy cập của máy chủ.

Đặc quyền hiển thị khi được ánh xạ, nhưng quyền truy cập vào thiết bị không được hỗ trợ vẫn là cảnh báo thay vì khóa được tạo

Bài học rút ra: đặc quyền phải rõ ràng và tối thiểu — và trình chuyển đổi hiển thị nó dưới dạng các khóa mà bạn có thể đặt câu hỏi. Bằng chứng: đặc quyền tối thiểu đòi hỏi sự thiết kế của con người ngoài việc chuyển đổi; Đặc quyền hiển thị khi được ánh xạ, nhưng quyền truy cập vào thiết bị không được hỗ trợ vẫn là cảnh báo thay vì khóa được tạo. Kiểm tra đặc quyền tối thiểu như tùy chọn nguồn, trường mô hình, dòng thiết bị có khả năng đặc quyền và cảnh báo. Loại bỏ các bí mật trước khi kiểm tra sự giam giữ và truy cập của máy chủ.

Cuối cùng, nguồn lấy đi bảo mật xác nhận giữ lệnh ban đầu cho phần bảo mật này và cảnh báo bên cạnh phần bảo mật này cho tệp ứng viên này rằng kết luận lấy đi bảo mật sẽ cải thiện khả năng kiểm tra cho phần bảo mật này mà không hứa hẹn lớp vỏ tương đương cho phân tích cú pháp phần bảo mật này vẫn nằm ngoài đảm bảo mang đi bảo mật. Đóng đặc quyền tối thiểu trong phạm vi hẹp: các thiết bị có khả năng đặc quyền là một ứng cử viên; việc giam giữ và truy cập máy chủ cũng như tính tương đương của shell không được đảm bảo.