docker-compose.yml - các bí mật của docker-compose

Tại sao Docker-compose.yml lại là một điểm yếu về bảo mật?

Nếu bạn nghĩ rằng của bạn docker-compose.yml Hãy nghĩ lại, chúng chỉ là chất kết dính cơ sở hạ tầng. Những tập tin này thường vô tình trở thành nơi lưu trữ các bí mật, thông tin đăng nhập được mã hóa cứng, mã thông báo API và các biến môi trường được đưa vào hệ thống kiểm soát phiên bản. Sau khi được đồng bộ hóa với GitHub hoặc bất kỳ kho lưu trữ nào, những bí mật đó có thể tồn tại mãi mãi trong đó. commit lịch sử.

Các nhà phát triển thường đối xử với docker-compose.yml coi nó như một tập tin không nhạy cảm, bỏ qua cách nó có thể đóng vai trò như một... tấn công vectorMột lỗ hổng nhỏ ở đây có thể dẫn đến việc truy cập vào các dịch vụ riêng tư, API nội bộ hoặc toàn bộ cơ sở hạ tầng. Đây chính là những loại bí mật của docker-compose mà kẻ tấn công thường nhắm đến.

Các cách phổ biến khiến thông tin bí mật của docker-compose bị rò rỉ Docker-Compose.yml

Dưới đây là một số lỗi thường gặp mà các lập trình viên hay mắc phải:

1. Mã hóa trực tiếp thông tin đăng nhập

Mật khẩu trong này docker-compose.yml Giờ đây nó đã trở thành một phần của lịch sử Git của bạn. Tệ hơn nữa, nó thậm chí có thể được sử dụng trong môi trường sản xuất. Đây là một trong những hình thức trực tiếp nhất của việc tiết lộ bí mật từ docker-compose. tiếp xúc.

2. Sao chép và dán từ các cấu hình được chia sẻ hoặc StackOverflow

Các hành vi xấu lan truyền rất nhanh. Việc sao chép các mẫu không an toàn và sử dụng chúng nguyên trạng dẫn đến việc các thông tin bí mật bị lộ ra ở mọi môi trường, từ môi trường phát triển đến môi trường sản xuất.

3. Lắp .NS các tập tin trực tiếp mà không cần bảo mật chúng

env_file: – .env

.NS Các tệp thường chứa khóa API hoặc thông tin xác thực, và các nhà phát triển thường quên thêm chúng vào. .gitignoreĐiều này làm cho các thông tin bí mật trở nên hiển thị nếu kho lưu trữ là công khai hoặc được chia sẻ. Chúng gián tiếp trở thành các thông tin bí mật của Docker Compose khi được tham chiếu.

Tác động thực sự của các bí mật Docker-Compose trong CI/CD

In CI/CD pipelines, những bí mật bị lộ từ một docker-compose.yml có thể:

  • Kích hoạt các bản dựng trái phép
  • Quyền truy cập bị hạn chế đối với các dịch vụ dàn dựng hoặc sản xuất.
  • Chèn mã độc vào hệ thống triển khai
  • Mở ra các lối đi bí mật thông qua sự di chuyển ngang.

Kẻ tấn công đang quét thông tin công khai Repit GitHub tìm kiếm docker-compose.yml Các tập tin được tạo ra bằng cách sử dụng GitHub dorks hoặc các công cụ tự động. Một khi tìm thấy các bí mật, chúng có thể giả mạo trình chạy CI, lạm dụng tín dụng đám mây, hoặc tệ hơn, triển khai phần mềm tống tiền trong chuỗi cung ứng. Những bí mật của Docker Compose này đại diện cho một mối đe dọa nghiêm trọng và thường xuyên xảy ra. lỗ hổng bị bỏ qua.

Phát hiện và quản lý bí mật một cách an toàn

Sử dụng các công cụ quét:

  • TruffleHog, rò rỉ, hoặc là Xygeni có thể phát hiện các bí mật trong kho lưu trữ của bạn, bao gồm cả những bí mật cũ. commits.
  • Chạy các bản quét trong CI của bạn pipeline Chặn các yêu cầu kéo (PR) chứa thông tin bí mật.

Thay thế các thông tin bí mật trực tiếp bằng biến môi trường:

dịch vụ:

ứng dụng:

hình ảnh: ứng dụng của tôi

Môi trường:

Mật khẩu cơ sở dữ liệu: ${DB_PASSWORD}

Sử dụng trình quản lý bí mật để chèn DB_PASSWORD trong quá trình chạy, giữ nó ra khỏi... docker-compose.ymlCách tiếp cận này giúp giảm thiểu rủi ro liên quan đến các bí mật của Docker Compose.

Tích hợp các trình quản lý bí mật:

Các công cụ như Vault, AWS Secrets Manager hoặc Doppler xử lý bí mật một cách an toàn và cung cấp các chính sách xoay vòng bí mật.

Các biện pháp tốt nhất dành cho nhà phát triển trong DevSecOps để tránh lộ thông tin bí mật của Docker-Compose.

  • Đừng bao giờ mã hóa bí mật. in docker-compose.yml.
  • Thêm .NS đến .gitignore, luôn luôn.
  • Sử dụng công cụ quét bí mật trong môi trường phát triển cục bộ của bạn và CI/CD pipeline.
  • Xem lại các tệp soạn thảo như một phần trong danh sách kiểm tra quan hệ công chúng về an ninh của bạn.
  • Tự động xoay vòng bí mậtđặc biệt là đối với mã thông báo và thông tin xác thực dịch vụ.
  • Kiểm toán bên thứ ba soạn thảo ví dụ trước khi sao chép chúng vào mã nguồn của bạn.
  • Hãy coi mọi dữ liệu nhạy cảm trong các tệp này như những bí mật của Docker Compose và quản lý chúng một cách phù hợp.

trên màn hình Docker-Compose.yml Đây có thể là điểm mù bảo mật lớn nhất của bạn.

trên màn hình docker-compose.yml Đây không chỉ đơn thuần là tệp cấu hình; nó là một phần của bề mặt tấn công của ứng dụng. Hãy coi nó như mã nguồn. Những bí mật ẩn giấu bên trong các tệp này tiềm ẩn rủi ro thực sự, đặc biệt khi được đồng bộ hóa với hệ thống quản lý phiên bản và tích hợp vào hệ thống. CI/CD.

Các công cụ như Xygeni giúp phát hiện và quản lý các bí mật của Docker Compose trên nhiều cơ sở mã khác nhau. pipelinegiúp giảm nguy cơ bị tấn công vào chuỗi cung ứng. Tích hợp nó vào quy trình làm việc của bạn để có được cái nhìn tổng quan và kiểm soát tốt hơn về những gì bạn đang làm. docker-compose.yml có thể đang bị lộ.

sca-tools-software-composition-analysis-tools
Ưu tiên, khắc phục và bảo mật các rủi ro phần mềm của bạn
Đăng ký tài khoản miễn phí ngay.
Không cần thẻ tín dụng.

Bảo mật quá trình phát triển và phân phối phần mềm của bạn.

với bộ sản phẩm Xygeni