Bảo mật Microservices trên Azure
Microservices mang lại tốc độ. Tuy nhiên, chúng cũng tạo ra những rủi ro mới. Mỗi dịch vụ đều tạo thêm một điểm truy cập mới cho kẻ tấn công. Điều này khiến các hệ thống phân tán trở nên khó bảo vệ hơn so với các hệ thống nguyên khối (monoliths).
Hãy thực hiện các bước sau để bảo mật các microservices trên Azure của bạn.
Ngăn chặn các cuộc tấn công Injection Kẻ tấn công nhắm vào các endpoint API của bạn.
- Kiểm tra (validate) mọi dữ liệu đầu vào.
- Sử dụng một API gateway.
- Sử dụng parameterized queries để ngăn chặn SQL injection.
- Quét các endpoint bằng các công cụ như OWASP ZAP để phát hiện lỗ hổng sớm.
Khắc phục kiểm soát truy cập Kiểm soát truy cập bị lỗi dẫn đến rò rỉ dữ liệu.
- Cấp cho mỗi dịch vụ một danh tính riêng.
- Sử dụng OAuth 2.0 để kiểm soát truy cập.
- Tuân thủ nguyên tắc đặc quyền tối thiểu (principle of least privilege).
- Sử dụng Azure Active Directory để quản lý các vai trò (roles).
- Sử dụng Azure Policy để thực thi các quy tắc bảo mật.
Bảo vệ dữ liệu đang truyền tải Dữ liệu di chuyển giữa các dịch vụ luôn gặp rủi ro.
- Áp dụng TLS cho tất cả các hoạt động giao tiếp giữa các dịch vụ.
- Lưu trữ các khóa mã hóa của bạn trong Azure Key Vault.
Quản lý lưu lượng và các cuộc tấn công DDoS Sự gia tăng đột biến về lưu lượng có thể làm sập hệ thống của bạn.
- Sử dụng giới hạn tốc độ (rate limiting) và điều tiết lưu lượng (traffic shaping).
- Bật Azure DDoS Protection.
- Sử dụng Azure Autoscale để xử lý các đợt tăng đột biến về lưu lượng.
- Theo dõi các mô hình lưu lượng bằng Azure Monitor để phát hiện các điểm bất thường.
Sử dụng đúng các công cụ Azure Azure có các công cụ chuyên dụng cho các ứng dụng được container hóa.
- Sử dụng các chính sách mạng (network policies) của AKS và RBAC.
- Sử dụng Azure API Management để tập trung hóa việc xác thực và giới hạn tốc độ.
- Sử dụng Application Gateway WAF để chặn SQL injection và XSS.
- Sử dụng Azure Security Center để tìm và khắc phục các lỗ hổng.
Cải thiện quy trình phát triển của bạn Bảo mật bắt đầu ngay từ giai đoạn phát triển.
- Quét các image trong Azure Container Registry trước khi bạn triển khai.
- Chạy các container với quyền hạn tối thiểu.
- Sử dụng DevSecOps để đưa các bước kiểm tra bảo mật vào pipeline CI/CD của bạn.
- Định nghĩa hạ tầng dưới dạng mã (infrastructure as code).
Source: https://dev.to/lavkeshdwivedi/securing-azure-microservices-2ggo
Optional learning community: https://t.me/GyaanSetuAi