For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sử dụng Checkov để quét bảo mật cho hạ tầng

Hướng dẫn cài đặt và sử dụng Checkov để quét bảo mật cho hạ tầng dạng mã (Infrastructure as Code – IaC), đặc biệt là Terraform, Kubernetes YAML, CloudFormation, v.v.


🧩 BƯỚC 1: Cài đặt Checkov

✅ Cách 1: Dùng pip (Python >= 3.7)

pip install checkov

Nếu dùng pipx thì có thể cài riêng môi trường:

pipx install checkov

✅ Cách 2: Dùng Docker

Không cần cài Python:

docker run --rm -v $(pwd):/iac bridgecrew/checkov -d /iac

📁 BƯỚC 2: Chuẩn bị file để quét

Bạn có thể test với một file Terraform ví dụ như sau (main.tf):

resource "aws_s3_bucket" "mybucket" {
  bucket = "my-unsecure-bucket"

  acl    = "public-read"  # Lỗi bảo mật!
}

Hoặc với Kubernetes YAML (nginx.yaml):


🚀 BƯỚC 3: Chạy Checkov để quét mã

🔹 Với Terraform:

🔹 Với Kubernetes YAML:

🔹 Quét nhiều loại IaC:


📝 BƯỚC 4: Đọc kết quả

Checkov sẽ in ra các rule phát hiện lỗi:

Bạn sẽ thấy:

  • Check ID (CKV_AWS_20)

  • Mô tả lỗi

  • Severity (LOW/MEDIUM/HIGH/CRITICAL)

  • Dòng mã cụ thể


📤 BƯỚC 5: Xuất kết quả (tuỳ chọn)

Checkov hỗ trợ nhiều định dạng output:

Format
Flag sử dụng

JSON

--output json

JUnit XML

--output junitxml

GitHub SARIF

--output sarif

CycloneDX

--output cyclonedx

Ví dụ:


⚙️ BƯỚC 6: Một số tùy chọn hữu ích

Option
Tác dụng

--quiet

Chỉ in kết quả lỗi

--skip-check CKV_AWS_20

Bỏ qua 1 check cụ thể

--check CKV_AWS_20

Chạy 1 check cụ thể

--compact

Hiển thị gọn hơn

--soft-fail

Không exit code 1 nếu có lỗi (hữu ích cho CI)

--config-file .checkov.yaml

Cấu hình checkov qua file


🔧 BƯỚC 7: Tạo rule tùy chỉnh (advanced)

Tạo file YAML như sau để viết policy riêng:

Sau đó chạy:


Last updated