Prowler란? — 오픈소스 AWS 보안 점검 도구 입문
CSPM 도구 중 오픈소스 점유율 1위.
한 줄 정의
Prowler는 AWS, Azure, GCP 등 클라우드 환경의 보안 설정을 자동으로 점검해주는 오픈소스 CSPM(Cloud Security Posture Management) 도구다. 쉽게 말하면 "내 클라우드 계정이 보안 기준을 지키고 있는지" 를 자동으로 검사해주는 CLI 도구다.
GitHub Stars 10k+, 오픈소스 CSPM 중 점유율 1위. 현재 Python으로 작성되어 있고 활발하게 유지보수되고 있다.
왜 필요한가
클라우드 환경은 설정 하나 잘못 건드리면 바로 보안 사고로 이어진다. 가장 흔한 케이스들이다.
- S3 버킷이 public으로 열려 있음
- IAM 계정에 MFA가 없음
- 보안 그룹이
0.0.0.0/0으로 전체 오픈 - root 계정이 일상적으로 사용됨
- CloudTrail 로깅이 꺼져 있음
이런 설정 오류들을 사람이 수동으로 하나씩 확인하는 건 현실적으로 불가능하다. 리소스가 수백 개만 넘어도 전수 점검이 어렵고, 새로 생긴 리소스는 빠지기 쉽다. Prowler는 이 과정을 자동화한다.
무엇을 점검하는가
Prowler가 점검하는 항목은 크게 두 가지 축으로 나뉜다.
보안 베스트 프랙티스 — AWS가 권고하는 보안 설정 기준을 따른다. CIS AWS Foundations Benchmark가 대표적이다.
컴플라이언스 프레임워크 — 각국 규제 및 국제 표준을 기준으로 점검한다. 지원하는 프레임워크 목록이 상당히 길다.
- CIS AWS Foundations Benchmark
- AWS Foundational Security Best Practices (FSBP)
- NIST 800-53
- ISO 27001
- SOC 2
- PCI DSS
- GDPR
- KISA(한국 정보보호 기준) 도 지원
한국 환경에서 쓸 때 KISA 기준 점검이 된다는 게 특히 유용하다.
기본 사용법
설치는 pip 한 줄이다.
pip install prowler
AWS 자격증명이 설정된 상태에서 아래 명령을 실행하면 전체 점검이 시작된다.
prowler aws
특정 서비스만 점검하고 싶다면:
prowler aws --service s3 iam ec2
특정 컴플라이언스 프레임워크 기준으로 점검:
prowler aws --compliance cis_1.5_aws
점검이 끝나면 output/ 디렉토리에 결과 파일이 생성된다. JSON, CSV, HTML 세 가지 포맷을 지원한다. HTML 리포트를 열면 Pass/Fail 항목이 정리된 대시보드 형태로 볼 수 있다.
결과는 어떻게 생겼나
각 점검 항목은 아래 형태로 출력된다.
FAIL on s3_bucket_public_access:
Bucket "my-data-bucket" has public access enabled
Region: ap-northeast-2
Severity: HIGH
Remediation: Enable S3 Block Public Access settings
- Status: PASS / FAIL / MUTED
- Severity: CRITICAL / HIGH / MEDIUM / LOW / INFORMATIONAL
- Remediation: 수정 방법 안내
FAIL이 나온 항목에 대해 어떻게 고쳐야 하는지 가이드가 같이 제공된다.
Prowler V5에서 달라진 것
최근 V5가 나오면서 기능이 많이 추가됐다.
Prowler Fixer — --fixer 플래그를 사용하면 FAIL 항목을 자동으로 수정(Remediation)해준다. 직접 check_id_fixer.py를 작성해서 커스텀 Fixer를 만들 수도 있다.
Prowler Studio — AI 기능이 추가됐다. Prowler Lighthouse는 RAG 기반 멀티에이전트 챗봇으로 자연어로 점검 결과를 질의할 수 있고, Prowler Cloud MCP는 IDE(Cursor 등)와 연동된다. 다만 Lighthouse와 Cloud MCP는 Google API 또는 OpenAI API 키가 필요하다.
보안 대응 IaC 스니펫 — 수정 조치를 IaC 코드로 바로 제공한다.
CLI vs Cloud
Prowler는 두 가지 방식으로 쓸 수 있다.
Prowler CLI — 오픈소스, 로컬에서 실행, 무료. 이 글에서 설명한 것이 이쪽이다. 자격증명이 있는 환경에서 터미널에서 직접 실행한다.
Prowler Cloud — SaaS 버전. 대시보드, 지속적 모니터링, 팀 협업 기능이 있다. 유료다.
대부분의 개인 사용자나 소규모 팀은 CLI로 충분하다.
주의할 점
Prowler를 실행하려면 점검 대상 AWS 계정에 대한 읽기 권한이 필요하다. 최소 권한 원칙에 따라 전용 IAM 역할을 만들어서 쓰는 게 좋다. Prowler 공식 문서에 필요한 IAM 정책이 정리되어 있다.
점검 결과 파일에 계정 ID, 리소스 이름, 리전 같은 정보가 포함된다. 외부에 공유하거나 LLM에 넣을 때는 민감정보 처리에 주의해야 한다.
다음 글에서는 Prowler 점검 결과를 Claude Desktop MCP와 연동해서 자연어로 분석하고, Cloud Custodian으로 자동 조치까지 이어지는 파이프라인을 만든 과정을 다룰 예정이다.
공식 문서: docs.prowler.com
GitHub: github.com/prowler-cloud/prowler