Playball Logo

Command Palette

Search for a command to run...

목차 열기

침투 테스트 조치 결과

Playball은 고객정보와 주요 서비스 경로를 안전하게 운영하기 위해 2026-04-01부터 2026-04-04까지 모의해킹을 수행했고, 확인된 취약점에 대해 인프라·플랫폼 조치를 반영했습니다.


주요 전후 비교

영역
외부 진입 경로Staging은 직접 노출된 DNS와 넓은 ALB 인바운드 범위가 남아 있었고, Prod도 외부 진입 경로 정리가 더 필요했습니다.Staging·Prod API를 CloudFront 기준으로 정리하고 ALB 인바운드를 허용 범위로 제한했습니다.
감사·추적 체계감사 로그와 보안 이벤트는 운영 중이었지만 추적 범위, 저장소 보호, 전파 경로 정리가 더 필요했습니다.EKS Control Plane 로그, CloudTrail, 감사 로그 S3 보호, 보안 이벤트·감사 이벤트 전파 경로를 운영 기준에 맞춰 보강했습니다.
권한·시크릿 관리정적 키 제거, 사람 접근 권한 분리, DB 자격증명 관리 기준을 더 명확히 정리할 필요가 있었습니다.IRSA 최소 권한, SSO Permission Set 분리, RDS 자격증명 Secrets Manager 이관을 반영했습니다.
클러스터 정책네트워크 격리, 서비스 간 암호화, 배포 정책 강제가 일관된 기준으로 묶여 있지 않았습니다.NetworkPolicy, mTLS STRICT, Kyverno 정책, Policy Reporter를 적용했습니다.
Gateway 보호요청 필터링, 속도 제한, 내부 경로 차단, 관리 도구 접근 제한이 개별적으로 흩어져 있었습니다.EnvoyFilter + Lua WAF, Local / Global Rate Limit, JWT 인증, 내부 경로 차단, Admin Tools IP 제한을 적용했습니다.

적용 범위

영역반영 내용
Edge / IngressStaging·Prod API의 CloudFront 전환, ALB Security Group 제한
EKS 제어면Control Plane API 접근 제한, IMDSv2 강제, Control Plane 로깅 활성화
감사 / 추적CloudTrail Multi-Region, Log Validation, 감사 로그 S3 보호, 보안 이벤트·감사 이벤트 전파 경로 정리
권한 / 시크릿IRSA 최소 권한, SSO Permission Set 환경 분리, RDS 자격증명 Secrets Manager 이관
운영 알람 / 복구성 점검CloudWatch 운영 알람, RDS PITR·PostgreSQL 데이터베이스 보조 백업 점검 경로
클러스터 정책NetworkPolicy default-deny, mTLS STRICT, Kyverno 정책, Policy Reporter
Gateway 보호EnvoyFilter + Lua WAF, Local / Global Rate Limit, JWT RequestAuthentication + AuthZ, 내부 경로 차단, Admin Tools IP Whitelist
데이터 보호RDS 암호화, Deletion Protection, 백업 기간 및 로그 설정 강화

인프라·플랫폼 조치 현황

Edge / Ingress

조치관련 카테고리적용 내용
Staging API → CloudFront 전환외부 진입 경로api.staging.playball.one을 CloudFront Alias로 전환하고 AAAA 레코드를 제거했습니다.
Prod API → CloudFront 전환외부 진입 경로api.playball.one 외부 진입점을 CloudFront Distribution Alias 기준으로 정리했습니다.
Staging ALB Security Group 제한Ingress 제한0.0.0.0/0 인바운드를 제거하고 CloudFront Managed Prefix List와 허용 IP만 유지했습니다.

EKS 제어면 / 감사

조치관련 카테고리적용 내용
EKS Control Plane API 접근 제한Control Plane 접근Public access CIDR을 bastion과 허용 IP로 제한하고 private access를 함께 사용합니다.
Node IMDSv2 강제노드 메타데이터 보호Launch Template 기준으로 IMDSv2 전용과 hop limit 2를 적용했습니다.
EKS Control Plane 로깅감사 로그api, audit, authenticator, controllerManager, scheduler 로그를 CloudWatch Logs로 수집합니다.
CloudTrail Multi-Region + Log Validation감사 추적Multi-Region Trail, Log File Validation, Management/Data Events, Insights를 활성화했습니다.
감사 로그 S3 보안 정책감사 저장소 보호AES256, Versioning, Public Access Block, HTTPS 강제와 CloudTrail 400일·개인정보처리시스템 접속기록 2년 보관 기준을 반영했습니다.
보안 이벤트 실시간 알람보안 이벤트 알림CloudTrail 기반 보안 이벤트를 EventBridge → Lambda → Discord 경로로 전파하고, 시크릿 변경 이벤트도 함께 추적합니다.
S3 감사 이벤트 요약 알람감사 이벤트 요약감사 버킷, 백업 버킷, observability 저장소, AI audit, ClickHouse 관련 S3 API 이벤트를 수집하고 observability 삭제 이벤트는 요약 전파합니다.

권한 / 시크릿

조치관련 카테고리적용 내용
IAM IRSA 최소 권한워크로드 권한OIDC AssumeRole 기반으로 서비스 계정별 Role을 분리하고 정적 Access Key를 제거했습니다.
SSO Permission Set 환경별 분리운영자 권한DevOps, Developer, Security, ReadOnly를 staging / prod 기준으로 분리했습니다.
RDS 암호화 + Deletion Protection데이터 보호스토리지 암호화, public 접근 차단, prod deletion protection, Multi-AZ, 백업 기간을 적용했습니다.
RDS 자격증명 Secrets Manager 이관시크릿 관리DB 접속 정보를 Secrets Manager와 External Secrets 기준으로 관리합니다.

운영 알람 / 복구성 점검

조치관련 카테고리적용 내용
운영 알람 / RDS 백업 점검운영 알람 / 백업 복구성CloudWatch Alarm → SNS → Lambda → Discord 경로와 일일 RDS PITR·PostgreSQL 데이터베이스 보조 백업 점검 경로를 운영합니다.

클러스터 정책 / 메시 보안

조치관련 카테고리적용 내용
NetworkPolicy default-deny + namespace isolation네트워크 격리기본 차단 정책과 네임스페이스 간 허용 매트릭스를 적용했습니다.
Istio mTLS STRICT mode서비스 간 통신Mesh-wide STRICT와 예외 포트를 함께 운영합니다.
Kyverno: Disallow Privileged배포 정책privileged=true 리소스 생성을 제한합니다.
Kyverno: Disallow :latest Tag배포 정책:latest 또는 태그 미지정 이미지를 제한합니다.
Kyverno: Require Resource Limits배포 정책모든 컨테이너와 initContainer에 CPU / 메모리 limits를 요구합니다.
Kyverno: Require ArgoCD Management배포 정책app.kubernetes.io/instance 라벨과 수동 예외 주석 기준을 적용했습니다.
Kyverno: Protect Critical Namespaces배포 정책kube-system, argocd, istio-system 수정·삭제를 제한합니다.
Policy Reporter정책 가시화Kyverno 정책 위반 현황을 대시보드로 확인합니다.

Gateway / 서비스 보호

조치관련 카테고리적용 내용
Istio WAF (EnvoyFilter + Lua)요청 필터링SQLi, XSS, Path Traversal, Command Injection, SSRF, Log4Shell, Bot Scanner 등 10개 범주를 검사하고 차단합니다.
Istio Rate Limiting (Local + Global)요청 제한전역, IP, 경로별 제한을 적용하고 Rate Limit 위반 시 429를 반환합니다.
JWT RequestAuthentication + AuthZ엣지 인증Istio 엣지에서 JWT를 검증하고 보호 경로와 공개 경로를 분리합니다.
AuthZ: 내부 경로 차단내부 경로 보호metrics, health, ready, actuator, prometheus 계열 경로를 차단합니다.
Admin Tools IP Whitelist관리 도구 접근kafka-ui, cloudbeaver, grafana, redisinsight, policy-reporter 접근을 허용 IP 기준으로 제한합니다.

운영 보완

조치관련 카테고리적용 내용
EKS NodeGroup Spot 다양화가용성앱·모니터링 노드 그룹의 인스턴스 타입을 다변화했습니다.