DevSecOps
Bảo mật không còn là giai đoạn cuối cùng, mà phải được tích hợp xuyên suốt vòng đời phát triển phần mềm. Khóa học DevSecOps giúp học viên tiếp cận tư duy “Shift Left Security”, đưa các công cụ kiểm thử và bảo mật vào từng bước của CI/CD pipeline. Với 70% thời lượng thực hành, học viên sẽ trực tiếp xây dựng pipeline an toàn trên GitLab, Docker, Kubernetes và AWS, đồng thời áp dụng các công cụ như Trivy, SonarQube, Gitleaks, Checkov và Falco. Đây là hành trang cần thiết để triển khai phần mềm nhanh chóng nhưng vẫn đảm bảo an toàn trong môi trường cloud native.
Tổng quan
1. Yêu cầu đầu vào:
- Có kiến thức Linux cơ bản
- Sử dụng được Git ở mức cơ bản
- Hiểu Docker và container ở mức nền tảng
- Có kiến thức Kubernetes cơ bản
- Đã từng làm việc hoặc có khái niệm về CI/CD pipeline
2. Công nghệ sử dụng:
Platform
- GitLab
- Docker
- Kubernetes
- Terraform
- Amazon Web Services
- EKS
Security Tools
- Trivy
- SonarQube
- Gitleaks
- OWASP ZAP
- Checkov
- Falco
- kube-bench
3. Mục tiêu khóa học
Khóa học trang bị cho học viên tư duy và kỹ năng triển khai DevSecOps trong quy trình phát triển phần mềm hiện đại. Trọng tâm của khóa học là tích hợp bảo mật vào từng giai đoạn của CI/CD pipeline, từ quản lý mã nguồn, kiểm tra secret, phân tích mã nguồn, kiểm tra dependency, scan container image, kiểm tra Infrastructure as Code đến giám sát runtime trên Kubernetes.
Sau khi hoàn thành khóa học, học viên có thể:
- Hiểu kiến trúc DevSecOps và vai trò của bảo mật trong DevOps hiện đại
- Áp dụng tư duy Shift Left Security vào quy trình phát triển phần mềm
- Tích hợp security gate vào CI/CD pipeline
- Phát hiện secret leakage, lỗ hổng mã nguồn và dependency không an toàn
- Scan container image và xây dựng Dockerfile an toàn hơn
- Hardening Docker và Kubernetes workload
- Kiểm tra cấu hình Terraform và phát hiện sai lệch bảo mật trong hạ tầng
- Thiết kế secure GitOps workflow cho môi trường Kubernetes
- Triển khai DevSecOps pipeline trên AWS/EKS
- Xây dựng quy trình triển khai phần mềm có kiểm soát, có báo cáo bảo mật và phù hợp với môi trường doanh nghiệp
4. Nội dung chi tiết theo module
Module 01 – Tổng quan DevSecOps và Secure SDLC
Lý thuyết
- DevOps và DevSecOps
- Tư duy Shift Left Security
- Secure Software Development Lifecycle
- OWASP Top 10 và các nhóm rủi ro phổ biến
- Vai trò của security trong CI/CD
- Tổng quan toolchain DevSecOps
- Security gate trong quy trình phát hành phần mềm
Thực hành
- Khởi tạo môi trường lab DevSecOps
- Làm quen với GitLab project và CI/CD pipeline mẫu
- Phân tích một quy trình CI/CD chưa có kiểm soát bảo mật
- Xác định các điểm có thể tích hợp security scanning
Module 02 – Git Security và Secret Management
Lý thuyết
- Rủi ro bảo mật trong Git repository
- Secret leakage và credential exposure
- Protected branch và merge request control trong GitLab
- Quy tắc quản lý token, key và credential
- Secret scanning trong source code
- Quy trình xử lý khi phát hiện secret bị lộ
Thực hành
- Cấu hình protected branch trong GitLab
- Thiết lập merge request approval cơ bản
- Scan secret bằng Gitleaks
- Mô phỏng tình huống lộ credential trong repository
- Làm sạch secret khỏi repository và thiết lập quy trình phòng ngừa
Module 03 – Secure CI/CD Pipeline
Lý thuyết
- Kiến trúc GitLab CI/CD
- Runner security và nguyên tắc phân quyền runner
- Artifact security
- Environment variable và secret trong pipeline
- Supply chain attack trong CI/CD
- Best practices khi thiết kế pipeline an toàn
Thực hành
- Xây dựng GitLab CI/CD pipeline cơ bản
- Tách các stage build, test, scan và deploy
- Quản lý biến môi trường an toàn trong GitLab
- Kiểm soát artifact và log nhạy cảm
- Bổ sung security stage vào pipeline
Module 04 – SAST và Dependency Security
Lý thuyết
- Static Application Security Testing
- Lỗ hổng bảo mật trong source code
- Dependency vulnerabilities
- CVE và quy trình quản lý lỗ hổng
- SBOM, tức danh mục thành phần phần mềm
- Vai trò của SonarQube và Trivy trong kiểm tra mã nguồn, dependency
Thực hành
- Tích hợp SonarQube vào CI pipeline
- Scan source code để phát hiện lỗi bảo mật
- Kiểm tra dependency vulnerability bằng Trivy
- Xuất báo cáo lỗ hổng
- Thiết lập điều kiện fail pipeline khi có lỗi nghiêm trọng
Module 05 – Docker Security
Lý thuyết
- Container attack surface
- Nguyên tắc viết Dockerfile an toàn
- Rootless container
- Image scanning
- Base image và rủi ro từ image không được cập nhật
- Best practices khi build và publish container image
Thực hành
- Phân tích Dockerfile chưa an toàn
- Tối ưu Dockerfile theo hướng giảm rủi ro
- Scan container image bằng Trivy
- So sánh lỗ hổng giữa các base image
- Cấu hình pipeline để kiểm tra image trước khi push registry
Module 06 – Kubernetes Security
Lý thuyết
- Kubernetes security model
- RBAC và nguyên tắc least privilege
- NetworkPolicy
- Pod Security
- Secret management trong Kubernetes
- Security context cho workload
- Kiểm tra cấu hình cluster bằng kube-bench
Thực hành
- Cấu hình RBAC cho service account
- Thiết lập NetworkPolicy cho ứng dụng mẫu
- Cấu hình security context cho Pod
- Kiểm tra Kubernetes cluster bằng kube-bench
- Phân tích và xử lý một số cấu hình Kubernetes chưa an toàn
Module 07 – Runtime Security và Monitoring
Lý thuyết
- Runtime attack detection
- Kubernetes audit logging
- Falco và cơ chế phát hiện hành vi bất thường
- Security monitoring trong môi trường container
- Incident detection và phản ứng ban đầu
- Log, alert và truy vết sự kiện bảo mật
Thực hành
- Cài đặt Falco trên Kubernetes
- Quan sát các rule phát hiện hành vi bất thường
- Mô phỏng một số hành vi rủi ro trong container
- Thu thập log và cảnh báo bảo mật
- Xây dựng quy trình xử lý cảnh báo ở mức cơ bản
Module 08 – Terraform và IaC Security
Lý thuyết
- Infrastructure as Code security
- Rủi ro bảo mật trong Terraform
- Misconfiguration trong cloud infrastructure
- Policy as Code
- Kiểm tra IaC trước khi triển khai
- Vai trò của Checkov trong DevSecOps pipeline
Thực hành
- Viết Terraform cấu hình hạ tầng mẫu
- Scan Terraform bằng Checkov
- Phân tích lỗi misconfiguration
- Sửa cấu hình Terraform theo khuyến nghị bảo mật
- Tích hợp IaC scanning vào GitLab CI/CD
Module 09 – GitOps Security và Cloud Security
Lý thuyết
- GitOps security
- Bảo mật Argo CD
- Secure deployment workflow
- AWS IAM security
- Phân quyền truy cập trong môi trường cloud
- Zero Trust overview
- Kiểm soát thay đổi khi triển khai lên Kubernetes
Thực hành
- Thiết kế workflow triển khai an toàn theo mô hình GitOps
- Kiểm tra cấu hình bảo mật Argo CD ở mức cơ bản
- Cấu hình IAM policy theo nguyên tắc least privilege
- Triển khai ứng dụng lên EKS thông qua pipeline
- Kiểm tra security gate trước khi deployment
Module 10 – Final Project: Secure DevSecOps Pipeline
Nội dung dự án
Học viên xây dựng một hệ thống DevSecOps hoàn chỉnh, mô phỏng quy trình phát triển và triển khai phần mềm trong môi trường doanh nghiệp.
Hệ thống bao gồm:
- GitLab CI/CD
- SAST scanning
- Secret scanning
- Dependency scanning
- Docker image scanning
- Terraform scanning
- Kubernetes deployment
- GitOps workflow
- Runtime monitoring
Deliverables
- Source code của ứng dụng mẫu
- File cấu hình GitLab CI/CD pipeline
- Dockerfile đã được tối ưu bảo mật
- Terraform code và kết quả IaC scanning
- Kubernetes manifest hoặc Helm chart
- Security report tổng hợp
- Architecture diagram
- Demo deployment trên Kubernetes hoặc EKS
5. Hệ thống lab đề xuất
Local Environment
- Ubuntu 22.04
- Docker
- Kind hoặc Minikube
- GitLab CE
- Trivy
- Gitleaks
- SonarQube
- Checkov
- Falco
Cloud Environment
- AWS Free Tier
- EKS
- Terraform
- Container registry
- IAM user hoặc role phục vụ triển khai lab
6. Project cuối khóa
Project cuối khóa yêu cầu học viên thiết kế và triển khai một secure deployment pipeline từ source code đến Kubernetes. Pipeline cần có khả năng kiểm tra mã nguồn, phát hiện secret, scan dependency, scan container image, kiểm tra Terraform, triển khai ứng dụng và giám sát runtime.
Trọng tâm của project không chỉ là triển khai được ứng dụng, mà còn chứng minh được năng lực kiểm soát rủi ro bảo mật trong toàn bộ vòng đời phát triển phần mềm. Học viên cần trình bày được kiến trúc, các security gate, báo cáo lỗ hổng, cách xử lý lỗi nghiêm trọng và quy trình đưa ứng dụng lên môi trường Kubernetes một cách an toàn.
7. Kết quả sau khóa học
Sau khóa học, học viên có khả năng xây dựng và vận hành DevSecOps pipeline ở mức thực hành chuyên nghiệp. Học viên hiểu cách đưa bảo mật vào quy trình CI/CD mà không tách rời khỏi hoạt động phát triển và triển khai phần mềm.
Học viên có thể:
- Thiết kế CI/CD pipeline có tích hợp security scanning
- Phát hiện và xử lý secret leakage trong Git repository
- Kiểm tra source code, dependency, container image và IaC
- Hardening Docker và Kubernetes workload
- Triển khai ứng dụng an toàn lên Kubernetes hoặc AWS/EKS
- Tổ chức security gate trong quy trình phát hành phần mềm
- Áp dụng DevSecOps vào môi trường DevOps, SRE và cloud native thực tế





