Nếu bạn đang ở trong thế giới của DevOps, thì bạn sẽ biết rằng việc tuân thủ sẽ không thành công trong một tổ chức không xây dựng mã bảo mật và mã tuân thủ, bao gồm các chức năng mã hóa đầu cuối (E2EE) trong các hoạt động DevOps của họ . Thay vì coi việc tuân thủ PCI-DSS hoặc các quy định khác yêu cầu E2EE như một mối quan tâm hay gánh nặng, Infos, IT Ops và các nhà phát triển nên chấp nhận thách thức của E2EE và giải quyết vấn đề này. Bằng chứng cho thấy rằng khi được triển khai chính xác, DevSecOps thực sự có thể cải thiện bảo mật và làm cho các mục tiêu tuân thủ dễ dàng đạt được hơn.
Nhưng, làm thế nào các nhóm có nghĩa vụ mở rộng quy mô và tự động hóa việc cung cấp chứng chỉ SSL/TLS để đảm bảo mã hóa đầu cuối thực sự được thực hiện trong các ứng dụng phân tán? Và, và tại sao điều này lại quan trọng?
Trường hợp mã hóa đầu cuối
Ngày nay, hầu hết các tổ chức vẫn dựa vào bộ cân bằng tải và tường lửa ứng dụng web (WAF) để bảo vệ thông tin liên lạc trong các ứng dụng của họ. Điều này có nghĩa là có hàng chục số điểm của các kết nối máy - máy khác nhau cần phối hợp với nhau để cung cấp một dịch vụ hoặc ứng dụng nhất định cho người dùng cuối. Cần xem xét rằng những kẻ tấn công tinh vi có thể xâm nhập các lớp bảo vệ bên ngoài và sau đó xoay vòng để có quyền truy cập vào dữ liệu văn bản.
Trong thời đại của các ứng dụng phân tán được triển khai trong môi trường sản xuất động, các tổ chức cần cải thiện tư thế bảo mật bằng cách không chỉ bảo vệ các góc độ với các bộ cân bằng tải và WAF, mà còn luôn bảo mật tất cả các liên lạc giữa các dịch vụ sâu trong các ứng dụng.
Mã hóa đầu cuối và tiêu chuẩn PCI-DSS
Tiêu chuẩn bảo mật dữ liệu công nghiệp thẻ thanh toán (PCI DSS) là một tiêu chuẩn kỹ thuật nhằm bảo vệ chi tiết thẻ ghi nợ và thẻ tín dụng, còn được gọi là dữ liệu chủ thẻ. Đối với bất cứ ai chỉ tìm hiểu về PCI-DSS, thì đây là một con mồi tốt. Mục tiêu của tiêu chuẩn PCI-DSS là ngăn chặn gian lận thẻ thanh toán, bằng cách bảo mật dữ liệu chủ thẻ trong các tổ chức chấp nhận thanh toán thẻ hoặc có liên quan đến việc xử lý dữ liệu chủ thẻ.
Nhiều tổ chức chỉ ra tiêu chuẩn PCI-DSS 4.1 là hướng dẫn của họ để mã hóa dữ liệu chủ thẻ. Tiêu chuẩn 4.1 nêu rõ, sử dụng các giao thức bảo mật và mật mã mạnh để bảo vệ dữ liệu chủ thẻ nhạy cảm trong quá trình truyền qua các mạng công cộng, mạng mở. Một người sẽ kết luận rằng việc chấm dứt HTTPS tại bộ cân bằng tải hoặc máy chủ web là đủ để truyền thông giữa trình duyệt của người dùng và ứng dụng web được xác thực và mã hóa. Điều này có lẽ là có nhưng cũng có lẽ là không.
Tìm hiểu sâu hơn về tiêu chuẩn PCI-DSS, yêu cầu 6.5.4, xác minh rằng các giao tiếp không an toàn được giải quyết bằng các kỹ thuật mã hóa xác thực và mã hóa chính xác tất cả các thông tin liên lạc nhạy cảm. Điều thú vị ở đây là hướng dẫn này không nói rõ chỉ được mã hóa nếu chúng xảy ra trên các mạng công cộng. Vậy, điều này có nghĩa gì trong một thế giới nơi các ứng dụng phân tán xử lý dữ liệu chủ thẻ chạy trong môi trường sản xuất động trên đám mây và được đóng gói bằng cách sử dụng các container chạy microservice?
Một lập luận nổi bật là yêu cầu PCI-DSS 6.5.4 cho thấy rằng tất cả các giao tiếp giữa máy với máy nên được mã hóa, điều đó có nghĩa là chứng chỉ SSL/TLS (còn được gọi là X.509) cần được sử dụng để mã hóa tất cả mạng nội bộ (và cả bên ngoài) truyền thông ứng dụng, không chỉ là gồm các liên lạc đi qua các mạng công cộng mở. Các ứng dụng được xây dựng bằng quy trình làm việc DevOps cũng không ngoại lệ.
Giải pháp cho việc triển khai mã hóa đầu cuối trong công cụ DevOps
Các nhà cung cấp bảo mật và nguồn mở đã bắt đầu giải quyết vấn đề này, đặc biệt là liên quan đến các ứng dụng phân tán, hiện tại thường được sử dụng trong thực tế DevOps.
- Istio, một lưới dịch vụ độc lập nguồn mở, đang làm việc để hỗ trợ mã hóa đầu cuối thực sự.
- Jetstack, một công ty có trụ sở tại Anh đã tạo ra trình quản lý chứng chỉ, bộ điều khiển quản lý chứng chỉ nguồn mở cho Kubernetes, giúp phát hành chứng chỉ từ Let’s Encrypt, HashiCorp Vault và các nguồn khác thông qua các plugin. Trình quản lý chứng chỉ tự động hóa việc quản lý vòng đời khóa và chứng chỉ cho khối lượng công việc Kubernetes, bộ điều khiển vào và ra.
- Venafi đang tích cực làm việc với Jetstack để tích hợp với trình quản lý chứng chỉ. Sử dụng sức mạnh của Nền tảng Venafi, Jetstack sẽ đạt được một thành công khác nhưng trước tiên: cho phép các quản trị viên bảo mật xác thực và kiểm tra trạng thái chứng chỉ hiện tại được sử dụng trong Kubernetes.
DevOps không chỉ là một triết lý hay một phương pháp công nghệ. Nó có thể là một cách để có được sự bảo mật và tuân thủ và tính sẵn sàng, được đưa vào ứng dụng ngay từ khi ra đời. Khi chúng tôi nhận ra rằng các chiến thuật DevOps giải quyết các vấn đề tuân thủ thực sự giống như các chiến thuật được áp dụng để phát triển ngay từ đầu, các giải pháp bắt đầu tự ngăn chặn. Để các doanh nghiệp cải thiện khả năng bảo mật, đạt được sự tuân thủ và làm như vậy với tốc độ mà DevOps chạy, họ nên tự động hóa lập trình khóa và chứng chỉ từ bên trong các công cụ DevOps. Điều này có nghĩa là cả trong việc lập kế hoạch cũng như xây dựng các giai đoạn, cho dù các đội đang sử dụng Kubernetes, Chef, HashiCorp Terraform và Vault hay các công cụ khác.
Các nhóm DevOps đã sử dụng các công cụ lập trình, tự động để khởi tạo cơ sở hạ tầng được xác định bằng phần mềm từ trong các đường ống CI/CD, việc có thêm một thành phần lập trình để chuẩn hóa và tự động hóa việc cấp và cấp chứng chỉ rõ ràng là bước tiếp theo thông minh, có thể mở rộng, hợp lý bảo mật và tuân thủ cho các ứng dụng phân tán.