- vừa được xem lúc

Lỗi bảo mật khi làm CI/CD trên AWS mà các bạn không để ý

0 0 11

Người đăng: Quân Huỳnh

Theo Viblo Asia

Khi ta xây dựng luồng CI/CD với các dịch vụ ở trên AWS. Ví dụ là EC2, ta thường SSH lên con EC2 và thực thi các câu lệnh. Hoặc là khi ta làm việc với AWS S3 ta thường dùng câu lệnh AWS CLI để tải tệp tin từ S3 xuống, để AWS CLI hoạt động được ta phải cấu hình AWS KEY, và mình thấy các bạn thường để thẳng trong tệp tin CI/CD. Nhìn thì không có gì sai nhưng nó là lỗi bảo mật rất quang trọng.

Vấn đề

Ví dụ các bạn xem tệp tin buildspec.yaml của CodeBuild sau:

image.png

Trong đoạn code của buildspec.yaml trên có rất nhiều lỗi bảo mật:

  • Thứ nhất là AWS Key để thẳng trong tệp tin
  • Thứ hai là thông tin DB để ở dạng plain text
  • Thứ ba là bạn dùng scp để chuyển tệp tin cấu hình password của DB ra ngoài internet
  • Thứ tư là trong tệp tin này bạn có thể để lộ SSH Key, IP và user của Server

Mình nghĩ khá nhiều bạn mới thường sẽ mắc một trong các lỗi trên.

Giải pháp

Để tăng thêm độ bảo mật cho tệp tin buildspec.yaml ta có thể dùng các cách sau:

  • Thứ nhất dùng IAM Role gắn vào CodeBuild thay vì để AWS Key vào tệp tin buildspec.yaml. Nếu bạn sử dụng GitlabCI hoặc Jenkins thì dùng AWS STS
  • Thứ hai là dùng Parameter Store hoặc AWS Secrets Manager để chứa thông tin DB
  • Thứ ba và tư thì thay vì dùng scp và ssh ta nên sử dụng AWS Systems Manager Run Command

DevOps VN

Theo dõi kênh tiktok của DevOps VN

image.png

Bình luận

Bài viết tương tự

- vừa được xem lúc

Đề thi interview DevOps ở Châu Âu

Well. Chào mọi người, mình là Rice - một DevOps Engineers ở đâu đó tại Châu Âu.

0 0 66

- vừa được xem lúc

In calculus, love also means zero.

Mình nhớ hồi năm 2 đại học, thầy giáo môn calculus, trong một giây phút ngẫu hứng, đã đưa ra cái definition này. Lúc đấy mình cũng không nghĩ gì nhiều.

0 0 52

- vừa được xem lúc

Chuyện thay đổi

Thay đổi là một thứ gì đó luôn luôn đáng sợ. Cách đây vài tháng mình có duyên đi làm cho một banking solution tên là X.

0 0 31

- vừa được xem lúc

Pet vs Cattle - Thú cưng và gia súc

Khái niệm. Pets vs Cattle là một khái niệm cơ bản của DevOps. Bài viết này sẽ nói về sự phát triển của các mô hình dịch vụ từ cốt lõi Pets and Cattle. 1.

0 0 22

- vừa được xem lúc

Git workflow được Google và Facebook sử dụng có gì hay ho

Với developer thì Git hẳn là công cụ rất quen thuộc và không thể thiếu rồi. Thế nhưng có mấy ai thực sự hiểu được Git.

0 0 66

- vừa được xem lúc

Kubernetes - Học cách sử dụng Kubernetes Namespace cơ bản

Namespace trong Kubernetes là gì. Tại sao nên sử dụng namespace.

0 0 96