1. Security Group Review Dashboard 소개
Security Group의 적정성 검토, 어떻게 하고 계시나요?
ISMS의 '2.10.1 보안시스템 운영' 항목은 보안시스템에 설정된 정책의 타당성 여부를 주기적으로 검토하도록 요구하고 있습니다. 이에 따라 기업의 보안담당자는 정해진 주기마다 방화벽 정책을 검토하는데요.
레거시 한 방화벽의 정책을 검토하는 것도 쉽지 않지만, 더 큰 문제는 AWS의 Security Group을 검토할 때 발생합니다. 담당자들이 흔히 겪는 어려움은 다음과 같습니다.
- SG가 어떤 리소스에 attach되어 있는지, 미사용하고 있는지 한눈에 보기 어렵다
- 출발지/목적지를 IP가 아닌 SG를 참조하는 경우, 심지어 2차, 3차로 참조되는 경우 정책 흐름 파악이 복잡하다
- 출발지 IP 혹은 서비스 범위가 과도하게 넓은 룰을 일괄적으로 조회하기 어렵다
- 순환 참조나 정책 충돌이 발생했는지 확인하기 힘들다
이처럼 AWS 콘솔이나 CLI만으로는 실무에서 검토하고 싶은 정보들을 한 번에 확인하기 어렵습니다. 이런 불편함을 해소하고 업무 생산성과 SG의 보안 수준을 함께 높이기 위해, Claude Code를 활용해 “Security Group Review Dashboard”(이하 SG 대시보드)를 개발했습니다.


SG 대시보드는 리소스가 어떤 SG에 연결되어 있고, 각 SG 간 참조 관계를 시각적으로 표현하여 한눈에 파악할 수 있도록 하는 것을 목표로 합니다. 이와 함께 보안 리스크, 순환 참조, 정책 충돌 여부 등도 한 번에 점검할 수 있도록 개발했습니다. 다음은 SG 대시보드에서 제공하는 기능입니다.
- 멀티어카운트 지원
- 필터를 활용해 특정 어카운트 조회
- 필터를 활용해 특정 VPC 조회
- 특정 객체 검색 기능
- SG 간 참조 표시
- 순환 참조 규칙 표시
- 충돌 규칙 표시
- 보안 위험 규칙 표시
- 미사용 SG 숨김
- 미사용 SG 목록 json/csv 추출
- SG를 참조하는 EC2 / RDS / LB / VPC Endpoint 표시
- 객체 클릭 시 세부정보 출력
- 대시보드 객체가 수천개가 되어도 느려지지 않도록 성능 최적화
2. SG 대시보드 작동 원리
처음에는 Steampipe로 데이터를 쿼리하고 Powerpipe로 시각화하려 했지만, Powerpipe로는 관계도 기반의 대시보드를 표현하기에 한계가 있어서 HTML + JavaScript를 활용해 프론트엔드를 구성했습니다. SG 대시보드를 실행하기 위해 필요한 준비물은 네 가지입니다. 이 중에서 3번과 4번을 ClaudeCode를 활용해 개발했습니다.
- AWS CLI를 실행 가능한 로컬 환경
- steampipe 설치
- 데이터 추출용 파이썬 스크립트
- 대시보드 구성용 html
전체 흐름은 단순합니다. 별도 인프라를 구성할 필요 없이 로컬 환경에서 바로 실행할 수 있도록 설계했습니다. 만약 대시보드 객체가 수십만 개를 넘는 경우, 간단한 웹서버를 구동시켜 대시보드에 접속하는 방식도 가능합니다.
데이터 추출용 파이썬 스크립트 실행 → 스크립트가 steampipe로 쿼리 호출 → 쿼리로 얻은 데이터를 기반으로 대시보드 구성
3. 개발 후기
그동안 SG의 복잡성 때문에 적정성 검토를 충분히 하지 못한 점이 늘 마음에 걸렸습니다. 특히 1인 보안 담당자로서 모든 AWS 계정의 Security Group을 수동으로 검토하는 것은 큰 부담이었습니다. SG 대시보드를 통해 이제는 검토가 필요한 SG를 명확히 식별할 수 있고, SG 간 관계를 시각적으로 한눈에 파악할 수 있게 되어 업무 부담이 크게 줄었습니다.
또 ClaudeCode를 활용해 2.5일 만에 오직 자연어만으로 이런 도구를 만들 수 있는 것도 참 놀랍습니다. AI 서비스가 상용화되기 전에는 아이디어가 있어도 개발 능력이 따라주지 않아 구현하지 못하는 경우가 왕왕 있었는데요. 이제는 아이디어만 있다면 업무에 필요한 자동화 도구를 자체적으로 개발할 수 있는 세상이 되었음을 체감합니다. 생성형 AI를 기존에도 잘 활용하고 있었지만, 이제는 업무에 뗄레야 뗄 수 없는 팀원이 되었네요.
'AWS' 카테고리의 다른 글
| boto3를 활용한 EC2 IMDS v1 취약점 점검 및 조치 (0) | 2023.11.13 |
|---|---|
| AWS Private subnet에 ALB 구성 (0) | 2023.03.16 |
| AWS Bastion Host 및 NAT Gateway 구성 (0) | 2023.03.16 |
| AWS ALB를 통한 이중화 구성 (0) | 2023.03.16 |
| AWS EFS 파일시스템 구성 (0) | 2023.03.16 |