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

Soạn các tệp mang bí mật: giữ mật khẩu ngoài các khối môi trường

· Tại sao nó quan trọng

docker soạn bí mật

Sơ đồ trừu tượng minh họa các tệp soạn thảo mang theo bí mật: giữ mật khẩu nằm ngoài các khối môi trường
Hình minh họa vector ToolAcre gốc

Lệnh chạy docker với -e DB_PASSWORD=... sẽ trở thành tệp YAML có cùng mật khẩu ở dạng văn bản thuần túy. Bài đăng này giải thích lý do tại sao điều đó lại quan trọng, cách di chuyển các bí mật ra ngoài và tại sao bản thân quá trình chuyển đổi không nên rời khỏi máy của bạn.

Mật khẩu khác biệt — tệp Soạn thảo đã chuyển đổi sắp được đẩy với các giá trị -e được sao chép nguyên văn

Mật khẩu khác biệt — tệp Soạn thư đã chuyển đổi sắp được đẩy với các giá trị -e được sao chép nguyên văn. Bằng chứng: mật khẩu -e theo nghĩa đen xuất hiện nguyên văn trong đầu ra môi trường. Tái tạo vị trí bí mật bằng các 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 biến theo nghĩa đen và xử lý trình duyệt; dự trữ lưu trữ thông tin xác thực và các tệp để xem xét đích.

Sự cố bí mật cũng tiết lộ rằng Một ranh giới sự cố bí mật riêng biệt là bản thân thư viện chuyển đổi này chỉ thực hiện xử lý chuỗi cục bộ. Bằng chứng: bản thân thư viện chuyển đổi này chỉ thực hiện xử lý chuỗi cục bộ. Ràng buộc vị trí bí mật này là một điểm dừng. Kiểm tra các biến theo nghĩa đen và quá trình xử lý của trình duyệt mà không có hành vi sản xuất, sau đó ghi lại quá trình kiểm tra máy chủ để lưu trữ thông tin xác thực và các tệp.

Nội dung cuối cùng trong tệp Soạn thư — mật khẩu, mã thông báo, tên máy chủ nội bộ và đường dẫn mô tả cơ sở hạ tầng của bạn

Nội dung cuối cùng sẽ xuất hiện trong tệp Soạn thư — mật khẩu, mã thông báo, tên máy chủ nội bộ và đường dẫn mô tả cơ sở hạ tầng của bạn. Bằng chứng: việc gắn tên máy chủ vào mạng và tham chiếu hình ảnh có thể tiết lộ cơ sở hạ tầng. Theo dõi mã thông báo vị trí bí mật thành các biến theo nghĩa đen và quá trình xử lý trình duyệt. Tách các giá trị được sắp xếp khỏi các trường giá trị cuối cùng; bộ lưu trữ thông tin xác thực và các tệp nằm ngoài bộ sưu tập.

Một ranh giới cơ chế bí mật liên quan là ranh giới ngữ pháp bí mật riêng biệt là các tham chiếu env_file được phát ra nhưng không có . Bằng chứng: tham chiếu env_file được phát ra nhưng không. Sử dụng thực tế vị trí bí mật này để dự đoán một thành viên hoặc đại lượng vô hướng trong các biến theo nghĩa đen và quá trình xử lý trình duyệt. Kiểm tra các cảnh báo trước khi quyết định bất cứ điều gì về tệp và lưu trữ thông tin xác thực.

Trình chuyển đổi từ xa có thể tiết lộ các giá trị được dán; kho lưu trữ này chỉ chứng minh đường dẫn chuyển đổi cục bộ của riêng nó

Tại sao các trình chuyển đổi trực tuyến lại tiềm ẩn rủi ro — việc dán docker run vào một biểu mẫu đăng lên máy chủ sẽ gửi mọi bí mật trong đó cho bên thứ ba. Bằng chứng: gửi văn bản lệnh từ xa sẽ tiết lộ tất cả các giá trị được bao gồm; Trình chuyển đổi từ xa có thể tiết lộ các giá trị được dán; kho lưu trữ này chỉ chứng minh đường dẫn chuyển đổi cục bộ của riêng nó. Đánh giá việc tuần tự hóa vị trí bí mật từ mô hình của nó. Trích dẫn bằng các biến theo nghĩa đen và quá trình xử lý trình duyệt sẽ bảo vệ các loại nhưng không cung cấp bằng chứng hoạt động cho các tệp và lưu trữ thông tin xác thực.

Quan sát tuần tự hóa bí mật thứ hai là giữ cho phần bí mật này lệnh ban đầu cho phần bí mật này và cảnh báo bên cạnh cho phần bí mật này, tệp ứng cử viên mà kết quả tuần tự hóa bí mật tách biệt được biểu thị cho cấu hình phần bí mật này khỏi bối cảnh vắng mặt đối với siêu dữ liệu hình ảnh của phần bí mật này nằm ngoài quá trình chuyển đổi tuần tự hóa bí mật. 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ử. Đầu ra vị trí bí mật này tách cài đặt khỏi ngữ cảnh không có sẵn. Giữ các biến theo nghĩa đen và quá trình xử lý trình duyệt có thể xem xét được, đồng thời kiểm tra các tệp và bộ nhớ thông tin xác thực một cách độc lập.

Thư viện chuyển đổi của ToolAcre không thực hiện yêu cầu nào, trong khi trang xung quanh vẫn có thể tải tài nguyên trang web được tiết lộ

Cách hoạt động của trình chuyển đổi của ToolAcre — chuyển đổi chạy trong trình duyệt, không có gì được tải lên và bảng điều khiển mạng hiển thị chuyển đổi đó. Bằng chứng: bản thân thư viện chuyển đổi này chỉ thực hiện xử lý chuỗi cục bộ; Thư viện chuyển đổi của ToolAcre không thực hiện yêu cầu nào, trong khi trang xung quanh vẫn có thể tải tài nguyên trang web được tiết lộ. Dừng lại ở ngoại lệ vị trí bí mật thay vì đoán. Bất kỳ bổ sung nào gần các biến theo nghĩa đen và quá trình xử lý trình duyệt đều cần một lý do dành riêng cho việc triển khai gắn liền với các tệp và bộ nhớ thông tin xác thực.

Một ràng buộc ngoại lệ bí mật khác là đối với phần bí mật này, hãy giữ lệnh gốc cho phần bí mật này và cảnh báo cho phần bí mật này bên cạnh tệp ứng cử viên này. Giữ lệnh đặt bí mật ban đầu bên cạnh các cảnh báo. Việc so sánh cho thấy những biến theo nghĩa đen và quá trình xử lý trình duyệt chứa gì cũng như quyết định về tệp và lưu trữ thông tin xác thực nào vẫn được thực hiện thủ công.

Di chuyển các bí mật ra khỏi tệp - nội suy ${VAR} từ một .env, env_file và các bí mật dựa trên tệp bị bỏ qua git: dành cho các hình ảnh hỗ trợ chúng

Di chuyển các bí mật ra khỏi tệp — nội suy ${VAR} từ một .env, env_file và các bí mật dựa trên tệp bị bỏ qua git: dành cho các hình ảnh hỗ trợ chúng. Xây dựng ví dụ về vị trí bí mật từ tên tổng hợp. Làm cho mọi biến theo nghĩa đen và mục xử lý trình duyệt có thể theo dõi được mà không làm lộ thông tin chi tiết về tệp và lưu trữ thông tin xác thực sản xuất.

Mẫu ví dụ bí mật tương tự chứng minh rằng ranh giới của ví dụ bí mật riêng biệt là việc chuyển đổi cục bộ sẽ loại bỏ một đường truyền mà không đảm bảo an toàn cho bản rõ. Bằng chứng: chuyển đổi cục bộ loại bỏ một đường truyền mà không đảm bảo an toàn cho bản rõ. Thực tế về vị trí bí mật được ghép nối sẽ hiển thị trong các biến theo nghĩa đen và quá trình xử lý trình duyệt. Ghi lại dòng đó và tránh các giả định về tệp và lưu trữ thông tin xác thực.

Ví dụ đã hoạt động: chuyển đổi lệnh MariaDB — YAML thô với bí mật, sau đó là phiên bản đã được làm sạch với .env và .gitignore

Ví dụ đã hoạt động: chuyển đổi lệnh MariaDB — YAML thô với bí mật, sau đó là phiên bản đã được làm sạch với .env và .gitignore. Bằng chứng: mật khẩu giảng dạy phải được thay thế thủ công trước khi lưu. Chuyển hệ quả của vị trí bí mật thành một biến theo nghĩa đen có thể quan sát được và sự khác biệt trong quá trình xử lý trình duyệt. Docker sở hữu bản án lưu trữ thông tin xác thực và tệp sau này.

Việc triển khai hệ quả bí mật cũng cho thấy Một ranh giới hiệu ứng bí mật riêng biệt là mật khẩu -e theo nghĩa đen xuất hiện nguyên văn trong đầu ra môi trường. Phân chia trách nhiệm về vị trí bí mật: chuyển đổi ghi các biến theo nghĩa đen và xử lý trình duyệt, kho lưu trữ xóa bí mật và người vận hành xác thực tệp và lưu trữ thông tin xác thực.

Điều này không bao gồm những gì - người quản lý bí mật, kho lưu trữ được mã hóa và nội dung thời gian chạy, khác nhau tùy theo nền tảng

Điều này không bao gồm những gì - người quản lý bí mật, kho lưu trữ được mã hóa và nội dung thời gian chạy, khác nhau tùy theo nền tảng. Bằng chứng: người quản lý bí mật và phân phối được mã hóa khác nhau tùy theo nền tảng. Giới hạn phạm vi vị trí bí mật đối với các biến theo nghĩa đen và các nhánh xử lý trình duyệt đượ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ề tệp và lưu trữ thông tin xác thực.

Một giới hạn phạm vi bí mật nữa theo sau Một ranh giới giới hạn bí mật riêng biệt là việc gắn kết tên máy chủ và các tham chiếu hình ảnh có thể tiết lộ cơ sở hạ tầng. Hãy coi ranh giới vị trí bí mật này như một sự loại trừ. Ưu tiên các biến theo nghĩa đen chính xác và quá trình xử lý của trình duyệt hơn là các phỏng đoán về tệp và bộ nhớ thông tin xác thực.

Bài học rút ra: chuyển đổi cục bộ, sau đó tiết lộ các bí mật — trình chuyển đổi cung cấp cho bạn YAML mà không bị lộ

Bài học rút ra: chuyển đổi cục bộ, sau đó tiết lộ các bí mật bên ngoài — trình chuyển đổi cung cấp cho bạn YAML mà không bị lộ. Kiểm tra vị trí bí mật dưới dạng tùy chọn nguồn, trường mô hình, biến theo nghĩa đen, dòng xử lý trình duyệt và cảnh báo. Xóa bí mật trước khi kiểm tra bộ nhớ và tệp thông tin xác thực.

Cuối cùng, nguồn lấy bí mật xác nhận Một ranh giới quyết định bí mật riêng biệt là việc gửi văn bản lệnh từ xa sẽ tiết lộ tất cả các giá trị được bao gồm. Bằng chứng: gửi văn bản lệnh từ xa sẽ tiết lộ tất cả các giá trị được bao gồm. Đóng vị trí bí mật trong phạm vi hẹp: các biến theo nghĩa đen và xử lý trình duyệt là một ứng cử viên; bộ nhớ và tệp thông tin xác thực cũng như tính tương đương của shell không được đảm bảo.