Aqua Security 실무 스터디 가이드

데이터 엔지니어 · AI 엔지니어를 위한 핵심 요약

container-security cwpp runtime v2026.03

1. Aqua Security란?

Aqua Security는 컨테이너, 쿠버네티스, 서버리스 워크로드를 위한 클라우드 네이티브 보안 플랫폼(CWPP)입니다. 이미지 스캐닝, 런타임 보호, 규정 준수 및 정책 관리 기능을 하나의 플랫폼에서 제공합니다.

🔍 이미지 스캐닝

컨테이너 이미지의 취약점, 악성코드, 시크릿 노출을 빌드 타임에 탐지합니다. 50+ 취약점 DB와 연동.

🛡️ 런타임 보호

실시간 프로세스, 파일, 네트워크 모니터링을 통해 비정상 행위를 차단하고, 드리프트 방지 및 무결성 보호.

📋 규정 준수 & 정책

CIS Benchmark, PCI DSS, SOC2 등 자동화된 규정 준수 검사와 커스텀 정책 엔진으로 거버넌스 강화.

2. 왜 써야 하는가?

기존 오픈소스 도구 대비 통합 관리, 정책 엔진, 런타임 탐지에서 강점을 가집니다.

기능 Aqua Security Trivy Sysdig Secure Prisma Cloud
이미지 스캔 ✅ 고급 (SBOM, 라이선스) ✅ 기본 ✅ 고급 ✅ 고급
런타임 보호 ✅ 드리프트, 네트워크, 파일 ❌ ✅ 드리프트 ✅ 풀스택
정책 엔진 ✅ Rego 기반 고급 ❌ ✅ Falco 기반 ✅ 자체 정책
규정 준수 ✅ CIS, PCI, SOC2 ✅ CIS (기본) ✅ CIS, PCI ✅ 광범위
멀티 클라우드 ✅ AKS, EKS, GKE, 온프레미스 ❌ (CLI 전용) ✅ ✅

💡 추천 포인트 — Aqua는 특히 런타임 드리프트 방지와 통합 정책 관리가 필요한 엔터프라이즈 환경에 적합합니다.

3. 핵심 개념

Aqua 플랫폼은 크게 네 가지 컴포넌트로 구성됩니다.

┌─────────────────────────────────────────────────────────┐ │ Aqua Console (Web UI) │ │ 정책 관리 · 대시보드 · 규정 준수 · 리포트 │ └────────────┬────────────────────┬──────────────────────┘ │ │ ▼ ▼ ┌─────────────────────┐ ┌──────────────────────────┐ │ Aqua Gateway │ │ Aqua Scanner (Stateless)│ │ (프록시/로드밸런서) │ │ 이미지 취약점 스캔 │ └────────┬────────────┘ └──────────┬───────────────┘ │ │ ▼ ▼ ┌──────────────────────────────────────────────┐ │ Aqua Enforcer (노드 에이전트) │ │ 런타임 보호 · 드리프트 방지 · 네트워크 제어 │ └──────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ Kubernetes / Docker / 서버리스 워크로드 │ └──────────────────────────────────────────────┘

4. 퀵스타트

4.1 설치 (CLI)

Aqua CLI aquactl을 통해 플랫폼을 설치하거나 이미지를 스캔할 수 있습니다.

# macOS (Homebrew)
brew install aquasecurity/tap/aquactl

# Linux (curl)
curl -sL https://aquasecurity.github.io/aquactl/install.sh | bash

# 설치 확인
aquactl version

4.2 설정

환경 변수 또는 설정 파일로 Aqua Console 주소와 인증 토큰을 지정합니다.

# 환경 변수 설정
export AQUA_CONSOLE_URL=https://console.aquasec.example.com
export AQUA_API_TOKEN=your_api_token_here

# 또는 설정 파일 (~/.aqua/config.yaml)
cat <<EOF > ~/.aqua/config.yaml
console_url: "https://console.aquasec.example.com"
api_token: "your_api_token_here"
EOF

4.3 첫 예제 (Python SDK)

Aqua Python SDK를 사용하여 이미지 취약점을 조회합니다.

# 설치
pip install aqua-sdk

# 예제: 이미지 스캔 결과 가져오기
from aqua_sdk import AquaClient

client = AquaClient(
    console_url="https://console.aquasec.example.com",
    api_token="your_api_token_here"
)

# 특정 이미지의 취약점 리스트
vulns = client.get_image_vulnerabilities(
    registry="docker.io",
    repository="library/nginx",
    tag="latest"
)

for v in vulns[:5]:
    print(f"{v['name']} ({v['severity']}) - {v['description'][:60]}...")

⚠️ 주의 — API 토큰은 읽기 전용 권한으로 발급하고, 코드에 하드코딩하지 마세요. 환경 변수 또는 시크릿 매니저를 사용하세요.

5. 핵심 설정 레퍼런스

설정 항목 환경 변수 설명 기본값
Console URL AQUA_CONSOLE_URL Aqua Console의 엔드포인트 https://console.aquasec.com
API 토큰 AQUA_API_TOKEN REST API 인증 토큰 -
스캔 타임아웃 AQUA_SCAN_TIMEOUT 이미지 스캔 최대 대기 시간 (초) 300
로그 레벨 AQUA_LOG_LEVEL debug, info, warn, error info
게이트웨이 주소 AQUA_GATEWAY_URL Enforcer → Gateway 연결 주소 https://gateway.aquasec.com
정책 파일 경로 AQUA_POLICY_FILE 커스텀 Rego 정책 파일 위치 /etc/aqua/policies/

6. 실무 팁 & 트러블슈팅

자주 겪는 문제

문제 원인 해결책
이미지 스캔 실패 (timeout) 대형 이미지, 네트워크 지연 AQUA_SCAN_TIMEOUT 증가, 또는 레지스트리 미러 사용
Enforcer 연결 끊김 Gateway URL 오류, 인증서 문제 Gateway 주소 확인, TLS 인증서 체인 검증
취약점 DB 업데이트 안 됨 스캐너가 인터넷에 연결 불가 에어갭 환경은 오프라인 DB 번들 사용
정책 위반 알림 과다 기본 정책이 너무 엄격함 Rego 정책을 조정하거나 예외 목록 추가

💡 실무 팁 — CI/CD 파이프라인에 aquactl scan image를 통합하여 빌드 타임에 취약점을 게이트하세요. 실패 조건을 --severity high로 설정하면 효율적입니다.

# CI/CD 예제 (GitHub Actions)
- name: Aqua Scan
  run: |
    aquactl scan image \
      --registry docker.io \
      --repository myapp \
      --tag ${{ github.sha }} \
      --severity high \
      --fail-on发现

7. 참고 자료