Giới thiệu dự án
Theo báo cáo thường niên của Cloud Native Computing Foundation (CNCF), hơn 85% doanh nghiệp toàn cầu đã chuyển dịch hạ tầng sang kiến trúc Microservices chạy trên nền tảng điều phối container Kubernetes (K8s). Tuy nhiên, có tới 44% tổ chức thừa nhận từng gặp sự cố bảo mật nghiêm trọng trên cụm container do cấu hình sai (misconfigurations) hoặc thiếu quy chuẩn kiểm soát rủi ro hệ thống.
Vấn đề cốt lõi (problem statement) nằm ở sự phức tạp khi triển khai, vận hành và quản lý hàng chục tham số bảo mật phân tán trên các thành phần Control Plane (kube-apiserver, kube-scheduler, kube-controller-manager, etcd) và Worker Nodes (kubelet, kube-proxy, container runtime). Việc rà soát và cấu hình thủ công từng node không chỉ tốn nhiều nhân lực, dễ sai sót mà còn tạo ra sự bất đồng nhất cấu hình giữa các môi trường On-premise, Local (Minikube) và Managed Public Cloud (như Azure Kubernetes Service - AKS).
Đồ án/Khóa luận tốt nghiệp kỹ sư ngành An toàn Thông tin với đề tài "Triển khai giải pháp bảo mật cho hệ thống Kubernetes và Azure Kubernetes Service sử dụng CIS Benchmark" (Thực hiện bởi sinh viên Bùi Quốc Huy - 19520588 và Ngô Đức Trí - 19521044, dưới sự hướng dẫn của ThS. Trần Thị Dung, Trường Đại học Công nghệ Thông tin - ĐHQG-HCM) tập trung giải quyết triệt để bài toán trên.
Mục tiêu cụ thể của dự án:
- Nghiên cứu toàn diện các tiêu chuẩn bảo mật chuyên sâu từ tổ chức Center for Internet Security (CIS Benchmark) áp dụng cho hệ thống Kubernetes và Azure Kubernetes Service (AKS).
- Xây dựng môi trường thử nghiệm ứng dụng web thương mại điện tử theo kiến trúc Microservices hoàn chỉnh (Frontend ReactJS/Flask, Backend Services: Order, Product, User đi kèm các cơ sở dữ liệu MySQL độc lập).
- Thiết kế và phát triển bộ công cụ tự động hóa quá trình rà soát (benchmark scan) và khắc phục lỗ hổng (remediation hardening) dựa trên Ansible Playbooks, kèm theo giao diện Web Dashboard trực quan viết bằng Python Flask.
- Tích hợp quy trình kiểm tra cấu hình an toàn vào chu trình CI/CD tự động (GitLab CI/CD và Azure DevOps Pipelines), đảm bảo mọi node trong cụm K8s/AKS luôn duy trì tính tuân thủ bảo mật liên tục.
Kết quả kỳ vọng định lượng bao gồm: 100% các tiêu chí bảo mật thuộc CIS Benchmark Level 1 được quét và áp dụng tự động; giảm hơn 85% thời gian rà soát và cấu hình hệ thống so với phương pháp thủ công; cung cấp báo cáo định dạng HTML trực quan giúp quản trị viên nắm bắt lỗ hổng trong vòng dưới 3 phút.
Phạm vi nghiên cứu tập trung vào hệ thống Kubernetes triển khai cục bộ qua Minikube v1.23+ và hạ tầng điện toán đám mây Microsoft Azure Kubernetes Service (AKS). Giới hạn của đề tài là chỉ can thiệp vào các thành phần mà người dùng có quyền quản trị; đối với AKS, tầng Control Plane do Microsoft trực tiếp quản trị nên các chính sách hardening sẽ tập trung vào Worker Nodes, Network Policies, Pod Security và Azure IAM integration.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi xây dựng giải pháp, việc phân tích các công cụ và phương pháp quản trị bảo mật K8s hiện nay là vô cùng quan trọng:
| Tiêu chí so sánh |
Cấu hình thủ công qua CLI |
Công cụ quét chuyên biệt (kube-bench / CIS-CAT) |
Giải pháp đề xuất (Ansible + Web Dashboard) |
| Cơ chế hoạt động |
Chỉnh sửa file manifest/systemd trực tiếp |
Chạy CLI scan trực tiếp trên node |
Quản lý tập trung qua SSH (Agentless) |
| Khả năng tự động sửa đổi |
Không (phụ thuộc 100% con người) |
Chỉ phát hiện, không tự động cấu hình |
Tự động quét và áp dụng Remediation |
| Giao diện quản trị |
Không (dòng lệnh) |
Không / Giao diện thương mại đắt đỏ |
Web UI Python Flask trực quan, miễn phí |
| Độ phủ môi trường |
Mọi môi trường |
Yêu cầu quyền can thiệp sâu |
Hỗ trợ cả Minikube và Cloud AKS |
| Nguy cơ lỗi con người |
Rất cao (>35%) |
Thấp trong khâu quét, cao khi tự sửa |
Rất thấp, đảm bảo tính Idempotent |
Phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must-have: Khả năng kết nối Agentless qua giao thức SSH tới các node (cả Public và Private Node trên AKS); thực thi kiểm tra các khuyến nghị CIS Benchmark Level 1; tự động chỉnh sửa cờ tham số của API Server, Kubelet và phân quyền file hệ thống; xuất báo cáo trạng thái PASS/FAIL chi tiết.
- Should-have: Giao diện Web thao tác không cần dòng lệnh; khả năng tùy chọn từng tiêu chuẩn CIS để thực thi theo nhu cầu của quản trị viên; hỗ trợ triển khai mẫu ứng dụng Microservices đa dịch vụ để kiểm chứng độ ổn định.
- Could-have: Tích hợp quy trình vào Azure Pipelines / GitLab CI/CD; tự động hóa việc cấu hình các tiêu chí nâng cao (CIS Level 2).
- Won't-have (giai đoạn này): Can thiệp sâu vào các tài nguyên Control Plane khép kín thuộc quyền quản lý độc quyền của hạ tầng PaaS Azure AKS.
Thiết kế hệ thống
Kiến trúc giải pháp được xây dựng theo mô hình module hóa cao, tách biệt giữa tầng điều khiển (Management Node / Web Server) và tầng hạ tầng được bảo vệ (Target Clusters):
flowchart TD
subgraph Management_Layer [Tầng Quản Trị & Điều Khiển]
Admin[Quản Trị Viên / DevSecOps] -->|Truy cập HTTP/HTTPS| WebUI[Flask Web Dashboard :5000]
WebUI -->|Gọi API / Thực thi| AnsibleEngine[Ansible Automation Core]
AnsibleEngine -->|Đọc cấu hình| Inventory[Ansible Inventory & Roles]
AnsibleEngine -->|Quét & Hardening| Playbooks[CIS Benchmark Playbooks]
end
subgraph CI_CD_Layer [Tầng Tự Động Hóa Triển Khai]
GitRepo[Source Repository] -->|Trigger Commit| Pipeline[Azure Pipelines / GitLab CI]
Pipeline -->|Build & Push Image| ACR[Container Registry]
Pipeline -->|Deploy YAML Manifests| AKS_Cluster
end
subgraph Target_Clusters [Cụm Hạ Tầng Mục Tiêu]
subgraph Minikube_Cluster [Môi trường Cục bộ Minikube]
MiniMaster[Master Node / Control Plane]
MiniWorker[Worker Node]
end
subgraph AKS_Cluster [Môi trường Cloud AKS]
AKSMaster[Azure Managed Control Plane]
AKSWorker1[AKS Worker Node VMSS 1]
AKSWorker2[AKS Worker Node VMSS 2]
end
end
AnsibleEngine -.->|SSH / Port 22| MiniMaster
AnsibleEngine -.->|SSH / Port 22| MiniWorker
AnsibleEngine -.->|SSH qua JumpHost / Private IP| AKSWorker1
AnsibleEngine -.->|SSH qua JumpHost / Private IP| AKSWorker2
Chi tiết công nghệ sử dụng trong hệ thống:
- Ngôn ngữ & Web Framework: Python v3.8+, Flask v2.2.x, Jinja2 Template Engine.
- Công cụ Quản lý Cấu hình: Ansible Core v2.12+, cấu trúc phân cấp Ansible Roles.
- Nền tảng Container & Điều phối: Docker Community Edition v20.10+, Kubernetes v1.23+, Minikube v1.28+.
- Dịch vụ Đám mây & CLI: Microsoft Azure Cloud, Azure Kubernetes Service (AKS), Azure CLI (
az-cli v2.40+).
- Cơ sở dữ liệu & Ứng dụng mẫu: MySQL v8.0, Microservices Stack (ReactJS v18.x, Flask RESTful APIs, Docker Compose v2.x).
- Bộ tiêu chuẩn bảo mật: CIS Kubernetes Benchmark v1.6.0/v1.7.0 và CIS Azure Kubernetes Service Benchmark.
Hệ thống tuân thủ nghiêm ngặt các nguyên tắc bảo mật: không lưu mật khẩu dạng plaintext trong mã nguồn; sử dụng cơ chế xác thực khóa SSH Key-pair (RSA 4096-bit) để giao tiếp với các node; phân quyền truy cập thông qua Azure Active Directory (AAD) và Role-Based Access Control (RBAC) trên K8s.
Methodology
Dự án áp dụng phương pháp luận kết hợp giữa mô hình Agile lặp và quy trình kiểm thử liên tục (Continuous Testing). Toàn bộ lộ trình kéo dài 17 tuần (từ 05/09/2022 đến 30/12/2022) được chia thành 4 giai đoạn chính:
[Tuần 1 - 2: Nghiên cứu CIS & K8s/AKS]
└──> [Tuần 3 - 6: Dựng Lab Minikube, AKS & Hardening Thủ Công]
└──> [Tuần 7 - 12: Phát Triển Ansible Roles, Web UI & Tooling]
└──> [Tuần 13 - 17: Tích Hợp CI/CD, Đánh Giá Hiệu Năng & Báo Cáo]
Bảng quản trị rủi ro triển khai:
| Rủi ro kỹ thuật |
Mức độ |
Biện pháp giảm thiểu |
| Cấu hình bảo mật làm gián đoạn Microservices đang chạy |
Cao |
Kiểm thử toàn bộ playbook trên Minikube trước; phân loại cấu hình theo Level 1 (không ảnh hưởng hiệu năng) và Level 2 |
| Không kết nối SSH được vào Private Node trên AKS |
Trung bình |
Cấu hình Bastion Host (JumpHost) trong cùng Virtual Network (VNet) của Azure |
| Ansible ghi đè sai thông số hệ thống cốt lõi |
Cao |
Sử dụng module lineinfile và blockinfile có backup tự động trước khi thay đổi file cấu hình |
Implementation và kết quả
Development process
Cấu trúc mã nguồn của hệ thống tự động hóa được tổ chức theo chuẩn Ansible Role hiện đại. Cấu trúc thư mục đóng gói toàn bộ quy trình kiểm tra và cấu hình:
roles/cis_benchmark/
├── defaults/ # Chứa các biến mặc định có độ ưu tiên thấp
│ └── main.yml
├── vars/ # Biến cục bộ điều khiển luồng thực thi
│ └── main.yml
├── tasks/ # Tập hợp các task kiểm tra và cấu hình
│ ├── main.yml # File điều phối chính
│ ├── section1/ # Control Plane Components (API Server, Controller, Scheduler)
│ ├── section2/ # etcd Configuration
│ ├── section3/ # Control Plane Configuration Files
│ ├── section4/ # Worker Nodes (Kubelet, Kube-proxy)
│ └── section5/ # Kubernetes Policies & RBAC
├── templates/ # Template HTML báo cáo Jinja2 (.j2)
└── handlers/ # Restart dịch vụ khi có cấu hình thay đổi
└── main.yml
Để minh họa phương pháp triển khai, dưới đây là đoạn mã Ansible Playbook dùng để kiểm tra tiêu chuẩn CIS 1.2.19 (Đảm bảo tham số --profiling của Kube-apiserver được gán giá trị false nhằm ngăn ngừa việc lộ dữ liệu nội bộ):
# tasks/section1/cis_1_2_19.yml
---
- name: "CIS 1.2.19: Kiểm tra cờ profiling trên kube-apiserver"
shell: |
grep -E -- '--profiling=false' /etc/kubernetes/manifests/kube-apiserver.yaml
register: apiserver_profiling_check
failed_when: false
changed_when: false
- name: "Đánh giá trạng thái tiêu chuẩn CIS 1.2.19"
set_fact:
cis_1_2_19_status: "{{ 'PASS' if apiserver_profiling_check.rc == 0 else 'FAIL' }}"
- name: "Tự động khắc phục (Remediation) CIS 1.2.19 nếu chưa đạt"
lineinfile:
path: /etc/kubernetes/manifests/kube-apiserver.yaml
regexp: '^\s*-\s*--profiling=.*'
line: ' - --profiling=false'
insertafter: '^\s*-\s*kube-apiserver'
backup: yes
when:
- auto_remediation | default(false)
- cis_1_2_19_status == 'FAIL'
notify: Restart Kubelet
Đối với ứng dụng Microservices mẫu, dịch vụ Frontend và các dịch vụ xử lý đơn hàng (orderapp) được container hóa và khai báo thông qua Kubernetes Deployment Manifest:
# deployment-frontend.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend-deployment
labels:
app: frontend-microservice
spec:
replicas: 2
selector:
matchLabels:
app: frontend-microservice
template:
metadata:
labels:
app: frontend-microservice
spec:
containers:
- name: frontend-container
image: myacrregistry.azurecr.io/frontend-app:v1.0.0
ports:
- containerPort: 80
resources:
limits:
cpu: "500m"
memory: "512Mi"
requests:
cpu: "250m"
memory: "256Mi"
Giao tiếp giữa giao diện Web Python Flask và Ansible Core được thực hiện thông qua module subprocess hoặc ansible-runner. Flask nhận tham số lựa chọn từ form người dùng (IP Node, SSH Key, Target Benchmark level), khởi tạo file inventory động và kích hoạt ansible-playbook -i dynamic_hosts site.yml.
Testing và validation
Quá trình kiểm thử được thực hiện trên 2 kịch bản độc lập với các thông số đo lường chi tiết:
- Kịch bản 1 (Minikube): 1 Control-plane node, 1 Worker node chạy hệ điều hành Ubuntu 20.04 LTS, Kubernetes v1.23.
- Kịch bản 2 (AKS): 1 Cụm AKS với Agent Pool gồm 2 Worker Nodes (VM Type:
Standard_DS2_v2), tích hợp Azure Container Registry (ACR).
Kết quả kiểm thử tính năng và thời gian thực thi:
| Hạng mục kiểm thử |
Phương pháp thủ công (CLI) |
Giải pháp tự động hóa (Ansible + Web) |
Tỷ lệ cải thiện (%) |
| Thời gian quét hệ thống (Minikube) |
~25 phút |
42 giây |
Nhanh hơn 97.2% |
| Thời gian quét hệ thống (AKS 2 Nodes) |
~35 phút |
1 phút 15 giây |
Nhanh hơn 96.4% |
| Thời gian thực thi Hardening (Remediation) |
~60 phút |
2 phút 30 giây |
Giảm 95.8% thời gian |
| Tỷ lệ bao phủ tiêu chí CIS Benchmark |
Rải rác, khó kiểm soát |
100% các mục tiêu khả thi (Level 1) |
Tăng tính toàn vẹn |
| Khả năng sinh báo cáo trực quan |
Viết tay / Tổng hợp thủ công |
Xuất file HTML/JSON tự động |
Tức thì (Real-time) |
Tiến trình tuân thủ trước và sau Hardening trên cụm Minikube:
[Trước khi chạy công cụ]: [████░░░░░░░░░░░░░░░░] 22% Tuân thủ (Nhiều cờ bảo mật chưa bật)
[Sau khi chạy Remediation]: [████████████████████] 98% Tuân thủ (Các tiêu chí Level 1 đạt PASS)
Ứng dụng Microservices chạy thử nghiệm vẫn duy trì hoạt động ổn định với 100% thời gian phản hồi API hợp lệ trong suốt quá trình áp dụng cấu hình tự động (không ghi nhận hiện tượng rớt pod ngoài ý muốn).
Kết quả đạt được
Đề tài đã hoàn thành xuất sắc các mục tiêu đề ra ban đầu:
- Xây dựng thành công bộ playbook tự động hóa hỗ trợ đầy đủ các nhóm kiểm tra của CIS Benchmark (Section 1: Control Plane, Section 2: etcd, Section 3: Control Plane Configuration Files, Section 4: Worker Nodes, Section 5: Policies & RBAC).
- Phát triển giao diện Web bằng Flask trực quan, cho phép người dùng chỉ cần nhập địa chỉ IP, SSH credentials và bấm nút để khởi động toàn bộ tiến trình quét/vá lỗi.
- Đã thiết lập hoàn chỉnh chu trình CI/CD qua Azure Pipelines, hỗ trợ tự động build Docker Image, push lên Azure Container Registry và triển khai tự động lên cụm AKS với các file cấu hình YAML chuẩn hóa.
- So sánh chi tiết sự khác biệt về quyền hạn và khả năng bảo mật giữa mô hình Kubernetes tự dựng (Minikube) và mô hình Managed Service (AKS).
Đổi mới và đóng góp
- Khả năng "Scan-to-Remediate" khép kín: Khác với các công cụ nguồn mở phổ biến như
kube-bench (chỉ dừng lại ở mức quét và đưa ra báo cáo cảnh báo), giải pháp trong đồ án cung cấp cơ chế tự động hóa 2 chiều: vừa phát hiện lỗi cấu hình vừa trực tiếp sửa chữa các file cấu hình hệ thống một cách an toàn thông qua tính năng idempotent của Ansible.
- Cơ chế quản trị Agentless thích ứng hạ tầng lai: Bằng việc tận dụng giao thức SSH qua Ansible, hệ thống không yêu cầu cài đặt bất kỳ phần mềm nền nào trên các node K8s, giúp giảm thiểu tối đa "dấu vết tài nguyên" (resource footprint) và tránh mở thêm lỗ hổng bảo mật mới từ chính công cụ giám sát.
- Đơn giản hóa quản trị an toàn thông tin: Đóng gói các khuyến nghị kỹ thuật phức tạp dài hàng trăm trang của CIS Benchmark thành một giao diện đồ họa Web Dashboard thân thiện, giúp các quản trị viên không chuyên về an ninh mạng vẫn có thể vận hành và bảo vệ hệ thống của mình theo tiêu chuẩn quốc tế.
- Hiệu quả thực tiễn cao: Tiết kiệm hơn 95% thời gian thao tác cho đội ngũ SysAdmin/DevOps, loại bỏ hoàn toàn các sai sót đánh máy khi can thiệp vào các file cấu hình manifest nhạy cảm.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
Giải pháp đặc biệt phù hợp cho các doanh nghiệp vừa và nhỏ (SMEs), các công ty công nghệ đang trong quá trình chuyển dịch ứng dụng từ Monolithic sang Microservices trên nền tảng Cloud (Azure AKS) nhưng chưa có đội ngũ chuyên trách về DevSecOps.
Hướng dẫn triển khai nhanh (Deployment Blueprint)
Yêu cầu hệ thống:
- Management Node: Ubuntu 20.04 LTS+, Python 3.8+, Ansible 2.12+, bộ nhớ RAM tối thiểu 2GB.
- Target Cluster: Cụm K8s hoặc AKS đã mở cổng 22 (SSH) từ Management Node.
Các bước vận hành:
- Clone mã nguồn công cụ quản trị về Management Node.
- Cài đặt các module phụ thuộc:
pip install -r requirements.txt.
- Khởi chạy ứng dụng Web Dashboard:
python app.py.
- Mở trình duyệt truy cập
http://<MANAGEMENT_IP>:5000.
- Điền thông tin IP các Master/Worker Nodes, chọn Private Key xác thực SSH.
- Chọn kịch bản (Kiểm tra hoặc Tự động cấu hình) và bấm Bắt đầu.
- Xem tiến trình trực tiếp và tải báo cáo HTML chi tiết sau khi hoàn thành.
sequenceDiagram
autonumber
actor Admin as Quản Trị Viên
participant Web as Web Dashboard (Flask)
participant Engine as Ansible Core Engine
participant Target as K8s / AKS Nodes
Admin->>Web: Nhập thông tin cụm & Chọn cấu hình CIS
Web->>Engine: Tạo dynamic inventory & Trigger Playbook
Engine->>Target: Thiết lập kết nối SSH bảo mật
Engine->>Target: Quét trạng thái tham số (Audit Commands)
Target-->>Engine: Trả về kết quả thực thi
Engine->>Target: Ghi đè cấu hình chuẩn (Remediation) nếu được bật
Target-->>Engine: Xác nhận cấu hình hoàn tất
Engine->>Web: Tổng hợp log & Tạo báo cáo HTML
Web-->>Admin: Hiển thị kết quả trực quan (PASS/FAIL)
Hạn chế và hướng phát triển
Hạn chế kỹ thuật
- Giới hạn trên nền tảng Managed PaaS: Trên Azure Kubernetes Service (AKS), người dùng không có quyền truy cập root vào Control Plane (kube-apiserver, etcd) do Microsoft quản lý. Do đó, các tiêu chuẩn thuộc Section 1 và Section 2 chỉ áp dụng được trên Minikube hoặc K8s tự quản trị (Self-hosted).
- Phạm vi bảo mật: Đề tài mới tập trung vào tầng cấu hình tĩnh (Static Hardening) theo CIS Benchmark; chưa tích hợp các công cụ giám sát hành vi tại thời gian thực (Runtime Security) như Falco hay quét lỗ hổng ảnh container (Container Image Vulnerability Scanning) như Trivy/Clair.
Hướng phát triển tương lai
- Mở rộng khả năng tự động hóa sang các nhà cung cấp đám mây khác như Amazon EKS (AWS) và Google Kubernetes Engine (GKE).
- Đóng gói toàn bộ công cụ quản lý thành một Kubernetes Operator hoặc Helm Chart để triển khai trực tiếp vào cụm K8s dưới dạng một Cloud-Native Security Scanner.
- Tích hợp tính năng cảnh báo qua Telegram/Slack Bot và phân tích bất thường cấu hình bằng AI/Machine Learning.
Đối tượng hưởng lợi
- Sinh viên & Giảng viên ngành ATTT/CNTT: Tài liệu tham khảo toàn diện, có tính thực chứng cao về cách thức bảo mật cụm Kubernetes thực tế và quy trình chuẩn hóa CIS Benchmark.
- Kỹ sư DevOps / DevSecOps: Sở hữu ngay bộ công cụ playbook Ansible tái sử dụng được, giúp đẩy nhanh quá trình hardening cụm K8s/AKS từ vài giờ xuống còn vài phút.
- Doanh nghiệp triển khai Microservices: Giảm thiểu nguy cơ bị tấn công mạng do sai sót cấu hình, đáp ứng các tiêu chuẩn tuân thủ an toàn thông tin (như ISO 27001, SOC 2, PCI-DSS) với chi phí đầu tư tối thiểu.
- Cộng đồng nghiên cứu An toàn Điện toán Đám mây: Cung cấp dữ liệu thực nghiệm so sánh chi tiết giữa môi trường Local Cluster và Managed Public Cloud.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật cốt lõi để triển khai giải pháp này là gì?
Hệ thống chỉ yêu cầu máy quản trị (Management Node) cài đặt Python 3.8+ và Ansible. Đối với các node đích trong cụm K8s hoặc AKS, chỉ cần mở cổng dịch vụ SSH (Port 22 TCP) và có tài khoản với quyền sudo để áp dụng các thay đổi cấu hình.
2. Khi chạy tự động cấu hình (Remediation), các Pod Microservices có bị downtime không?
Phần lớn các tiêu chí trong CIS Benchmark Level 1 chỉ điều chỉnh cờ tham số bảo mật và phân quyền file hệ thống. Tuy nhiên, việc thay đổi cấu hình API Server hoặc Kubelet có thể khiến các daemon này khởi động lại trong vài giây. Do Kubernetes có cơ chế tự phục hồi và triển khai nhiều replica, dịch vụ Microservices vẫn duy trì tính sẵn sàng nếu được cấu hình tối thiểu từ 2 bản sao (replicas) trở lên.
3. Làm thế nào để Ansible kết nối SSH tới các Worker Node nằm trong Private Subnet của AKS?
Quản trị viên có thể triển khai một Bastion Host (JumpHost) trong cùng mạng ảo Azure Virtual Network (VNet), sau đó cấu hình Ansible ProxyJump thông qua file ansible.cfg hoặc file Inventory để truy cập an toàn vào các private IP nội bộ.
4. Giải pháp này khác gì so với việc dùng trực tiếp công cụ kube-bench?
kube-bench là công cụ chỉ đọc (read-only scanner), chỉ liệt kê lỗi mà không thể can thiệp sửa chữa. Giải pháp trong đồ án kết hợp cả khả năng quét lẫn bộ kịch bản tự động vá lỗi (Remediation) qua Ansible và cung cấp giao diện Web thao tác không cần dòng lệnh.
5. Chi phí triển khai và bảo trì hệ thống như thế nào?
Giải pháp sử dụng 100% công nghệ mã nguồn mở (Python, Flask, Ansible, Minikube, chuẩn CIS công khai), do đó không phát sinh chi phí bản quyền phần mềm. Chi phí duy nhất phụ thuộc vào hạ tầng tài nguyên đám mây Azure (AKS cluster nodes) mà doanh nghiệp lựa chọn theo biểu phí sử dụng thực tế (Pay-as-you-go).
Kết luận
Khóa luận tốt nghiệp "Triển khai giải pháp bảo mật cho hệ thống Kubernetes và Azure Kubernetes Service sử dụng CIS Benchmark" đã giải quyết thành công một trong những thách thức hàng đầu của kỷ nguyên điện toán đám mây: tự động hóa bảo mật hạ tầng container.
Bằng cách kết hợp linh hoạt giữa tiêu chuẩn quốc tế CIS Benchmark, công nghệ quản lý cấu hình agentless Ansible và giao diện Web trực quan, đề tài đã mang lại một giải pháp toàn diện giúp doanh nghiệp nâng cao mức độ an toàn thông tin, tiết kiệm tới 95% thời gian vận hành và giảm thiểu rủi ro sai sót con người. Đây là nền tảng vững chắc để tiếp tục mở rộng các giải pháp DevSecOps tự động hóa trong các hệ thống hạ tầng phân tán hiện đại.