개요#

KT Cloud TechUp 사이버보안 훈련에서 레드팀(4개 팀)이 72시간 동안 PlayBall 플랫폼을 대상으로 침투테스트를 수행했다. 인프라 영역에서 발견된 취약점에 대해 28건의 보완 조치를 수행했다.

항목내용
기간2026-04-02 ~ 04 (72시간)
대상goormgb.space (Dev), staging.playball.one (Staging)
레드팀4개 팀 (5팀, 1팀, 4팀, 7팀)
인프라 조치28건 완료

주요 공격 성공 사례#

공격심각도설명
Kiali/kafka-ui 장악CRITICAL무인증 관리도구 외부 노출 → 클러스터 정보 탈취
EKS API 서버 외부 노출HIGH0.0.0.0/0 공개 → 누구나 API 접근 가능
Rate Limiting 미적용HIGH10회 연속 로그인 성공, Brute Force 가능
ALB 직접 접근HIGHCloudFront/WAF 우회하여 ALB에 직접 요청

발견된 인프라 취약점#

CRITICAL#

ID취약점조치
C-10Kiali prod 무인증 쓰기 접근Admin Tools IP Whitelist (#25)
C-11kafka-ui 무인증, readOnly:falseAdmin Tools IP Whitelist (#25)

HIGH#

ID취약점조치
H-02K8s API 서버 외부 노출 (0.0.0.0/0)EKS Control Plane 접근 제한 (#4)
H-03K8s 내부 서비스 DNS 노출NetworkPolicy default-deny (#13)
H-05Actuator 전체 노출내부 경로 차단 AuthorizationPolicy (#24)
H-06내부 라우트 + K8s URI 노출Actuator 제거로 해소 (#24)
H-08서버 리소스 정보 노출Actuator 제거로 해소 (#24)
H-09Thread Pool 무제한 DoSKyverno Require Resource Limits (#17)
H-10IP 블랙리스트 우회 (ALB 직접 접근)CloudFront 전환 + ALB SG 제한 (#1, #2, #3)
H-11SQLi 앱 레벨 필터 우회 가능성Istio WAF EnvoyFilter (#21)
H-12OS Command Injection 의심Istio WAF EnvoyFilter (#21)

MEDIUM#

ID취약점조치
M-01Staging ALB 직접 노출 (CDN 미적용)CloudFront 전환 (#1)
M-02Swagger UI 외부 노출404 처리 완료
M-05Admin 엔드포인트 존재 확인JWT AuthorizationPolicy (#23)
M-07Actuator RBAC 불일치내부 경로 차단 (#24)
M-08Gateway 라우트 수 노출Actuator 제거로 해소 (#24)
M-12Origin 미검증 + Rate Limiting 미설정Rate Limiting (#22)

인프라 보완 조치 (28건)#

네트워크 / 접근 제어#

#조치대응 취약점
1Staging API → CloudFront 전환M-01, H-10ALB 직접 노출CloudFront Alias
2Prod API → CloudFront 전환M-01, H-10ALB 직접 / Cloudflare 단일CloudFront Distribution
3Staging ALB SG 제한H-10, M-01443 ← 0.0.0.0/0CloudFront PL + 팀원 IP만
4EKS Control Plane 접근 제한H-02public_access 0.0.0.0/0bastion SG + 팀원 IP, private_access=true
25Admin Tools IP WhitelistC-10, C-11무인증 외부 접근팀 IP 외 DENY (kiali/kafka-ui/grafana 등)

Istio Service Mesh 보안#

#조치대응 취약점
14mTLS STRICT일반 암호화PERMISSIVE 혼합Mesh-wide STRICT
21WAF (EnvoyFilter + Lua)H-11, H-12L7 탐지 없음10종 탐지 (SQLi/XSS/CmdInj 등) + 자동 IP 블랙리스트
22Rate Limiting (Local + Global)M-12제한 없음/auth 10/s, /payment 5/s, /signup 3/s
23JWT RequestAuthentication + AuthZM-05앱만 JWT 검증Istio 엣지 JWKS 검증 (미인증 → 401)
24내부 경로 차단H-05, H-06, H-08, M-07/actuator, /metrics 접근 가능DENY 정책 적용

IAM / 권한 관리#

#조치대응 취약점
5Node IMDSv2 강제SSRF 대비IMDSv1 허용IMDSv2 전용
11IAM IRSA 최소 권한C-02장기 Access KeyOIDC 기반 SA별 IAM Role, 정적 키 폐기
12SSO Permission Set 분리권한 최소화Admin-Full 단일DevOps/Developer/Security/ReadOnly 4종

Kubernetes 정책 (Kyverno)#

#조치대응 취약점효과
13NetworkPolicy default-denyH-03네임스페이스 간 측면 이동 차단
15Disallow PrivilegedPod 격리privileged=true 차단
16Disallow :latest Tag버전 추적image:latest 사용 금지
17Require Resource LimitsH-09CPU/Memory limits 필수
18Require ArgoCD ManagementGitOps 강제라벨 없는 리소스 차단
19Protect Critical NamespacesC-10, C-11kube-system/argocd/istio-system 무단 변경 차단
20Policy Reporter위반 가시화위반 수집 + Discord 알림

감사 / 모니터링#

#조치효과
6EKS Control Plane 로깅api/audit/authenticator/scheduler 전부 CloudWatch
7CloudTrail Multi-Region + Log Validation감사 증적 강화
8감사 로그 S3 보안 정책AES256 + Versioning + Lifecycle
9보안 이벤트 실시간 알람EventBridge → Lambda → Discord
10S3 감사 이벤트 요약 알람S3 API 감시 → Discord

데이터 보호#

#조치대응 취약점
26RDS 암호화 + Deletion ProtectionC-05기본값storage_encrypted=true, deletion_protection=true
27RDS 자격증명 Secrets Manager 이관C-05.env 평문Secrets Manager + External Secrets

조치 결과#

인프라 조치 전후 비교#

항목조치 전조치 후
EKS API0.0.0.0/0 공개bastion + 팀원 IP만
ALB 접근직접 노출CloudFront 경유만 허용
관리도구 (Kiali, kafka-ui)무인증 외부 접근IP Whitelist + 인증
내부 통신mTLS PERMISSIVEmTLS STRICT
L7 공격 방어없음WAF 10종 탐지 + 자동 IP 차단
Rate Limiting없음경로별 제한 (/auth 10/s 등)
IAM 키 관리장기 Access KeyIRSA (OIDC 기반 임시 자격증명)
DB 크리덴셜.env 평문Secrets Manager
감사 로그미구성CloudTrail + EventBridge → Discord 실시간 알림
Pod 보안 정책없음Kyverno 6종 정책 + Policy Reporter